Class: AtomTransition

Inherits:
Transition show all
Defined in:
lib/antlr4/atn/Transition.rb

Overview

TODO: make all transitions sets? no, should remove set edges

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

#isEpsilon, #ruleIndex, #serializationType, #target

Instance Method Summary collapse

Methods inherited from Transition

serializationNames, serializationTypes, serializationTypes=

Constructor Details

#initialize(_target, _label) ⇒ AtomTransition

Returns a new instance of AtomTransition.



70
71
72
73
74
# File 'lib/antlr4/atn/Transition.rb', line 70

def initialize(_target, _label)
    super(_target)
    @label_ = _label # The token type or character value; or, signifies special label.
    @serializationType = Transition::ATOM
end

Instance Attribute Details

#label_Object

Returns the value of attribute label_.



69
70
71
# File 'lib/antlr4/atn/Transition.rb', line 69

def label_
  @label_
end

Instance Method Details

#labelObject



76
77
78
79
80
# File 'lib/antlr4/atn/Transition.rb', line 76

def label
    s = IntervalSet.new()
    s.addOne(self.label_)
    return s
end

#matches(symbol, minVocabSymbol, maxVocabSymbol) ⇒ Object



82
83
84
# File 'lib/antlr4/atn/Transition.rb', line 82

def matches( symbol, minVocabSymbol,  maxVocabSymbol)
    return self.label_ == symbol
end

#to_sObject



86
87
88
# File 'lib/antlr4/atn/Transition.rb', line 86

def to_s
    return self.label_.to_s
end