Class: Antlr4ruby::AtomTransition

Inherits:
Transition show all
Defined in:
lib/antlr4ruby/atn/transition/atom_transition.rb

Constant Summary

Constants inherited from Transition

Transition::ACTION, Transition::ATOM, Transition::EPSILON, Transition::NOT_SET, Transition::PRECEDENCE, Transition::PREDICATE, Transition::RANGE, Transition::RULE, Transition::SET, Transition::WILDCARD

Instance Attribute Summary collapse

Attributes inherited from Transition

#target

Instance Method Summary collapse

Methods inherited from Transition

#is_epsilon?, serialization_names, serialization_types

Constructor Details

#initialize(target, label) ⇒ AtomTransition

Returns a new instance of AtomTransition.



8
9
10
11
# File 'lib/antlr4ruby/atn/transition/atom_transition.rb', line 8

def initialize(target, label)
  super(target)
  @atom_label = label
end

Instance Attribute Details

#atom_labelObject (readonly)

Returns the value of attribute atom_label.



6
7
8
# File 'lib/antlr4ruby/atn/transition/atom_transition.rb', line 6

def atom_label
  @atom_label
end

Instance Method Details

#get_serialization_typeObject



13
14
15
# File 'lib/antlr4ruby/atn/transition/atom_transition.rb', line 13

def get_serialization_type
  ATOM
end

#labelObject



17
18
19
# File 'lib/antlr4ruby/atn/transition/atom_transition.rb', line 17

def label
  RangeSet.new([atom_label..atom_label])
end

#matches?(symbol, min_vocab_symbol, max_vocab_symbol) ⇒ Boolean

Returns:

  • (Boolean)


21
22
23
# File 'lib/antlr4ruby/atn/transition/atom_transition.rb', line 21

def matches?(symbol, min_vocab_symbol, max_vocab_symbol)
  @atom_label == symbol
end

#to_sObject



25
26
27
# File 'lib/antlr4ruby/atn/transition/atom_transition.rb', line 25

def to_s
  "#{atom_label}"
end