Sha256: a1b2d9efbef41708919ed303ea6f354a1aa685d208032a67a5ce55b6e1af2452
Contents?: true
Size: 1.07 KB
Versions: 1
Compression:
Stored size: 1.07 KB
Contents
require 'lrama/lexer/token/char' require 'lrama/lexer/token/ident' require 'lrama/lexer/token/instantiate_rule' require 'lrama/lexer/token/tag' require 'lrama/lexer/token/user_code' module Lrama class Lexer class Token attr_reader :s_value, :location attr_accessor :alias_name, :referred def initialize(s_value:, alias_name: nil, location: nil) s_value.freeze @s_value = s_value @alias_name = alias_name @location = location end def to_s "#{super} location: #{location}" end def referred_by?(string) [self.s_value, self.alias_name].compact.include?(string) end def ==(other) self.class == other.class && self.s_value == other.s_value end def first_line location.first_line end alias :line :first_line def first_column location.first_column end alias :column :first_column def last_line location.last_line end def last_column location.last_column end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
lrama-0.6.0 | lib/lrama/lexer/token.rb |