Sha256: d860b6f760ded58dc747af36efb28f8c51156732af3897af79af03c4eb16dc7e

Contents?: true

Size: 1.18 KB

Versions: 1

Compression:

Stored size: 1.18 KB

Contents

# frozen_string_literal: true
# 已完成

module Antlr4ruby

  class TerminalNode
    attr_accessor :symbol, :parent

    def initialize(symbol)
      super()
      @symbol = symbol
    end

    # @!override
    def get_child(i)
      nil
    end

    # @!override
    def get_symbol
      @symbol
    end

    def get_parent
      @parent
    end

    # @!override
    def set_parent(parent)
      @parent = parent
    end

    # @!override
    def get_payload
      @symbol
    end

    # @!override
    def get_source_interval
      unless @symbol
        return (-1)..(-2)
      end
      token_index = self.symbol.get_token_index
      token_index..token_index
    end

    # @override
    def get_child_count
      0
    end

    # @override
    def accept(visitor)
      visitor.visit_terminal(self)
    end

    # @override
    def get_text
      self.symbol.get_text
    end

    # @override
    def to_string_tree(recognizer: nil, rule_names: [])
      self.to_s
    end

    # @override
    def to_s
      if @symbol.get_type == Token::EOF
        return '<EOF>'
      end
      self.symbol.get_text
    end

  end
end



Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
antlr4ruby-0.1.0 lib/antlr4ruby/tree/terminal_node.rb