Class: Antlr4ruby::TerminalNode

Inherits:
Object
  • Object
show all
Defined in:
lib/antlr4ruby/tree/terminal_node.rb

Direct Known Subclasses

ErrorNode

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(symbol) ⇒ TerminalNode

Returns a new instance of TerminalNode.



9
10
11
12
# File 'lib/antlr4ruby/tree/terminal_node.rb', line 9

def initialize(symbol)
  super()
  @symbol = symbol
end

Instance Attribute Details

#parentObject

Returns the value of attribute parent.



7
8
9
# File 'lib/antlr4ruby/tree/terminal_node.rb', line 7

def parent
  @parent
end

#symbolObject

Returns the value of attribute symbol.



7
8
9
# File 'lib/antlr4ruby/tree/terminal_node.rb', line 7

def symbol
  @symbol
end

Instance Method Details

#accept(visitor) ⇒ Object



53
54
55
# File 'lib/antlr4ruby/tree/terminal_node.rb', line 53

def accept(visitor)
  visitor.visit_terminal(self)
end

#get_child(i) ⇒ Object



15
16
17
# File 'lib/antlr4ruby/tree/terminal_node.rb', line 15

def get_child(i)
  nil
end

#get_child_countObject



48
49
50
# File 'lib/antlr4ruby/tree/terminal_node.rb', line 48

def get_child_count
  0
end

#get_parentObject



24
25
26
# File 'lib/antlr4ruby/tree/terminal_node.rb', line 24

def get_parent
  @parent
end

#get_payloadObject



34
35
36
# File 'lib/antlr4ruby/tree/terminal_node.rb', line 34

def get_payload
  @symbol
end

#get_source_intervalObject



39
40
41
42
43
44
45
# File 'lib/antlr4ruby/tree/terminal_node.rb', line 39

def get_source_interval
  unless @symbol
    return (-1)..(-2)
  end
  token_index = self.symbol.get_token_index
  token_index..token_index
end

#get_symbolObject



20
21
22
# File 'lib/antlr4ruby/tree/terminal_node.rb', line 20

def get_symbol
  @symbol
end

#get_textObject



58
59
60
# File 'lib/antlr4ruby/tree/terminal_node.rb', line 58

def get_text
  self.symbol.get_text
end

#set_parent(parent) ⇒ Object



29
30
31
# File 'lib/antlr4ruby/tree/terminal_node.rb', line 29

def set_parent(parent)
  @parent = parent
end

#to_sObject



68
69
70
71
72
73
# File 'lib/antlr4ruby/tree/terminal_node.rb', line 68

def to_s
  if @symbol.get_type == Token::EOF
    return '<EOF>'
  end
  self.symbol.get_text
end

#to_string_tree(recognizer: nil, rule_names: []) ⇒ Object



63
64
65
# File 'lib/antlr4ruby/tree/terminal_node.rb', line 63

def to_string_tree(recognizer: nil, rule_names: [])
  self.to_s
end