Class: Antlr4ruby::Transition Abstract

Inherits:
Object
  • Object
show all
Defined in:
lib/antlr4ruby/atn/transition/transition.rb

Overview

This class is abstract.

Constant Summary collapse

EPSILON =
1
RANGE =
2
RULE =
3
PREDICATE =
4
ATOM =
5
ACTION =
6
SET =
7
NOT_SET =
8
WILDCARD =
9
PRECEDENCE =
10
@@serialization_names =
%w[INVALID EPSILON RANGE RULE PREDICATE ATOM ACTION SET NOT_SET WILDCARD PRECEDENCE]
@@serialization_types =
{
  EpsilonTransition => EPSILON,
  RangeTransition => RANGE,
  RuleTransition => RULE,
  PredicateTransition => PREDICATE,
  AtomTransition => ATOM,
  ActionTransition => ACTION,
  SetTransition => SET,
  NotSetTransition => NOT_SET,
  WildcardTransition => WILDCARD,
  PrecedencePredicateTransition => PRECEDENCE
}

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(target) ⇒ Transition

Returns a new instance of Transition.



41
42
43
44
45
# File 'lib/antlr4ruby/atn/transition/transition.rb', line 41

def initialize(target)
  super()
  raise "target can not be nil." unless target
  @target = target
end

Instance Attribute Details

#targetObject

Returns the value of attribute target.



31
32
33
# File 'lib/antlr4ruby/atn/transition/transition.rb', line 31

def target
  @target
end

Class Method Details

.serialization_namesObject



33
34
35
# File 'lib/antlr4ruby/atn/transition/transition.rb', line 33

def self.serialization_names
  @@serialization_names
end

.serialization_typesObject



37
38
39
# File 'lib/antlr4ruby/atn/transition/transition.rb', line 37

def self.serialization_types
  @@serialization_types
end

Instance Method Details

#get_serialization_typeObject

Raises:

  • (NotImplementedError)


47
48
49
# File 'lib/antlr4ruby/atn/transition/transition.rb', line 47

def get_serialization_type
  raise NotImplementedError.new("#{self.class.name}#get_serialization_type is abstract method.")
end

#is_epsilon?Boolean

Returns:

  • (Boolean)


51
52
53
# File 'lib/antlr4ruby/atn/transition/transition.rb', line 51

def is_epsilon?
  false
end

#labelObject



55
56
57
# File 'lib/antlr4ruby/atn/transition/transition.rb', line 55

def label
  nil
end

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

Returns:

  • (Boolean)

Raises:

  • (NotImplementedError)


59
60
61
# File 'lib/antlr4ruby/atn/transition/transition.rb', line 59

def matches?(symbol, min_vocab_symbol, max_vocab_symbol)
  raise NotImplementedError.new("#{self.class.name}#matches is abstract method.")
end