Sha256: f2999e899d52d865c9080330194d7aa528b806365a173dbb3180db5041312f78

Contents?: true

Size: 760 Bytes

Versions: 13

Compression:

Stored size: 760 Bytes

Contents

module Antlr4::Runtime

  class PredicateTransition < AbstractPredicateTransition
    attr_reader :rule_index
    attr_reader :pred_index
    attr_reader :is_ctx_dependent # e.g., $i ref in pred

    def initialize(target, rule_index, pred_index, is_ctx_dependent)
      super(target)
      @rule_index = rule_index
      @pred_index = pred_index
      @is_ctx_dependent = is_ctx_dependent
    end

    def serialization_type
      PREDICATE
    end

    def epsilon?
      true
    end

    def matches(_symbol, _min_vocab_symbol, _max_vocab_symbol)
      false
    end

    def predicate
      SemanticContext::Predicate.new(@rule_index, @pred_index, @is_ctx_dependent)
    end

    def to_s
      'pred_' + @rule_index + ':' + @pred_index
    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
antlr4-runtime-0.2.12 lib/antlr4/runtime/predicate_transition.rb
antlr4-runtime-0.2.11 lib/antlr4/runtime/predicate_transition.rb
antlr4-runtime-0.2.10 lib/antlr4/runtime/predicate_transition.rb
antlr4-runtime-0.2.9 lib/antlr4/runtime/predicate_transition.rb
antlr4-runtime-0.2.8 lib/antlr4/runtime/predicate_transition.rb
antlr4-runtime-0.2.7 lib/antlr4/runtime/predicate_transition.rb
antlr4-runtime-0.2.6 lib/antlr4/runtime/predicate_transition.rb
antlr4-runtime-0.2.5 lib/antlr4/runtime/predicate_transition.rb
antlr4-runtime-0.2.4 lib/antlr4/runtime/predicate_transition.rb
antlr4-runtime-0.2.3 lib/antlr4/runtime/predicate_transition.rb
antlr4-runtime-0.2.2 lib/antlr4/runtime/predicate_transition.rb
antlr4-runtime-0.2.1 lib/antlr4/runtime/predicate_transition.rb
antlr4-runtime-0.2.0 lib/antlr4/runtime/predicate_transition.rb