Class: Antlr4ruby::RangeTransition

Inherits:
Transition show all
Defined in:
lib/antlr4ruby/atn/transition/range_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, from, to) ⇒ RangeTransition

Returns a new instance of RangeTransition.



7
8
9
10
# File 'lib/antlr4ruby/atn/transition/range_transition.rb', line 7

def initialize(target, from, to)
  super(target)
  @from, @to = from, to
end

Instance Attribute Details

#fromObject (readonly)

Returns the value of attribute from.



5
6
7
# File 'lib/antlr4ruby/atn/transition/range_transition.rb', line 5

def from
  @from
end

#toObject (readonly)

Returns the value of attribute to.



5
6
7
# File 'lib/antlr4ruby/atn/transition/range_transition.rb', line 5

def to
  @to
end

Instance Method Details

#get_serialization_typeObject



12
13
14
# File 'lib/antlr4ruby/atn/transition/range_transition.rb', line 12

def get_serialization_type
  RANGE
end

#labelObject



16
17
18
# File 'lib/antlr4ruby/atn/transition/range_transition.rb', line 16

def label
  RangeSet.new([from..to])
end

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

Returns:

  • (Boolean)


20
21
22
# File 'lib/antlr4ruby/atn/transition/range_transition.rb', line 20

def matches?(symbol, min_vocab_symbol, max_vocab_symbol)
  symbol >= from && symbol <= to
end

#to_sObject



24
25
26
# File 'lib/antlr4ruby/atn/transition/range_transition.rb', line 24

def to_s
  "'#{from}..#{to}'"
end