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,
lib/packcr/generated/node/eof_node.rb,
lib/packcr/generated/node/rule_node.rb,
lib/packcr/generated/node/error_node.rb,
lib/packcr/generated/node/action_node.rb,
lib/packcr/generated/node/expand_node.rb,
lib/packcr/generated/node/string_node.rb,
lib/packcr/generated/node/capture_node.rb,
lib/packcr/generated/node/quantity_node.rb,
lib/packcr/generated/node/sequence_node.rb,
lib/packcr/generated/node/alternate_node.rb,
lib/packcr/generated/node/charclass_node.rb,
lib/packcr/generated/node/predicate_node.rb,
lib/packcr/generated/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
# File 'lib/packcr/node.rb', line 23

def link_references(ctx); end

#nodesObject



36
37
38
# File 'lib/packcr/node.rb', line 36

def nodes
  []
end

#reversible?(_gen) ⇒ Boolean

Returns:

  • (Boolean)


40
41
42
# File 'lib/packcr/node.rb', line 40

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

Returns:

  • (Boolean)


44
45
46
# File 'lib/packcr/node.rb', line 44

def sequence?
  false
end

#setup(ctx, rule) ⇒ Object



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

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

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

#setup_rule(rule) ⇒ Object



25
# File 'lib/packcr/node.rb', line 25

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