Class: RangeTransition

Inherits:
Transition show all
Defined in:
lib/antlr4/atn/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

#isEpsilon, #ruleIndex, #serializationType, #target

Instance Method Summary collapse

Methods inherited from Transition

serializationNames, serializationTypes, serializationTypes=

Constructor Details

#initialize(_target, _start, _stop) ⇒ RangeTransition

Returns a new instance of RangeTransition.



128
129
130
131
132
133
# File 'lib/antlr4/atn/Transition.rb', line 128

def initialize(_target, _start, _stop)
    super(_target)
    self.serializationType = Transition::RANGE
    self.start = _start
    self.stop = _stop
end

Instance Attribute Details

#startObject

Returns the value of attribute start.



127
128
129
# File 'lib/antlr4/atn/Transition.rb', line 127

def start
  @start
end

#stopObject

Returns the value of attribute stop.



127
128
129
# File 'lib/antlr4/atn/Transition.rb', line 127

def stop
  @stop
end

Instance Method Details

#labelObject



135
136
137
138
139
# File 'lib/antlr4/atn/Transition.rb', line 135

def label()
    s = IntervalSet.new()
    s.addRange(self.start..self.stop)
    return s
end

#matches(symbol, minVocabSymbol, maxVocabSymbol) ⇒ Object



141
142
143
# File 'lib/antlr4/atn/Transition.rb', line 141

def matches( symbol, minVocabSymbol,  maxVocabSymbol)
    symbol >= self.start and symbol <= self.stop
end

#to_sObject



145
146
147
# File 'lib/antlr4/atn/Transition.rb', line 145

def to_s
    return "'#{self.start.chr}'..'#{self.stop.chr}'"
end