Class: Packcr::Node

Inherits:
Object
  • Object
show all
Defined in:
lib/packcr/node.rb,
lib/packcr/node/eof_node.rb,
lib/packcr/node/root_node.rb,
lib/packcr/node/rule_node.rb,
lib/packcr/node/error_node.rb,
lib/packcr/node/action_node.rb,
lib/packcr/node/expand_node.rb,
lib/packcr/node/string_node.rb,
lib/packcr/node/capture_node.rb,
lib/packcr/node/quantity_node.rb,
lib/packcr/node/sequence_node.rb,
lib/packcr/node/alternate_node.rb,
lib/packcr/node/charclass_node.rb,
lib/packcr/node/predicate_node.rb,
lib/packcr/node/reference_node.rb

Defined Under Namespace

Classes: ActionNode, AlternateNode, CaptureNode, CharclassNode, EofNode, ErrorNode, ExpandNode, PredicateNode, QuantityNode, ReferenceNode, RootNode, RuleNode, SequenceNode, StringNode

Instance Method Summary collapse

Instance Method Details

#alt(expr) ⇒ Object



7
8
9
# File 'lib/packcr/node.rb', line 7

def alt(expr)
  AlternateNode.new(self).alt(expr)
end


23
24
# File 'lib/packcr/node.rb', line 23

def link_references(ctx)
end

#nodesObject



38
39
40
# File 'lib/packcr/node.rb', line 38

def nodes
  []
end

#reversible?(gen) ⇒ Boolean



42
43
44
# File 'lib/packcr/node.rb', line 42

def reversible?(gen)
  false
end

#seq(expr, cut: false) ⇒ Object



3
4
5
# File 'lib/packcr/node.rb', line 3

def seq(expr, cut: false)
  SequenceNode.new(self).seq(expr, cut: cut)
end

#sequence?Boolean



46
47
48
# File 'lib/packcr/node.rb', line 46

def sequence?
  false
end

#setup(ctx, rule) ⇒ Object



29
30
31
32
33
34
35
36
# File 'lib/packcr/node.rb', line 29

def setup(ctx, rule)
  setup_rule(rule)
  link_references(ctx)

  nodes.each do |node|
    node.setup(ctx, rule)
  end
end

#setup_rule(rule) ⇒ Object



26
27
# File 'lib/packcr/node.rb', line 26

def setup_rule(rule)
end

#verify_captures(ctx, capts) ⇒ Object



17
18
19
20
21
# File 'lib/packcr/node.rb', line 17

def verify_captures(ctx, capts)
  nodes.each do |node|
    node.verify_captures(ctx, capts)
  end
end

#verify_variables(vars) ⇒ Object



11
12
13
14
15
# File 'lib/packcr/node.rb', line 11

def verify_variables(vars)
  nodes.each do |node|
    node.verify_variables(vars)
  end
end