class RegularExpression::AST::Group

Attributes

expressions[R]
quantifier[R]

Public Class Methods

new(expressions, quantifier: Quantifier::Once.new) click to toggle source
# File lib/regular_expression/ast.rb, line 75
def initialize(expressions, quantifier: Quantifier::Once.new)
  @expressions = expressions
  @quantifier = quantifier
end

Public Instance Methods

to_dot(parent) click to toggle source
# File lib/regular_expression/ast.rb, line 80
def to_dot(parent)
  node = parent.add_node(object_id, label: "Group")

  expressions.each { |expression| expression.to_dot(node) }
  quantifier.to_dot(node)
end
to_nfa(start, finish) click to toggle source
# File lib/regular_expression/ast.rb, line 87
def to_nfa(start, finish)
  quantifier.quantify(start, finish) do |qstart, qfinish|
    expressions.each { |expression| expression.to_nfa(qstart, qfinish) }
  end
end