class Lexr::Token

class Token Token dynamically generates sub classes when Token.new is called The sub classes are descendant from Lexr::Token::Sub

Public Class Methods

method_missing(sym, *args) click to toggle source
# File libs/lexer.rb, line 193
    def self.method_missing(sym, *args)
            self.new(args.first, sym)
end
new(value,kind=nil) click to toggle source
# File libs/lexer.rb, line 181
def self.new(value,kind=nil)
  obj_name=kind.to_s.capitalize
  begin
    #    self::Sub.new(value,kind,opts)
    obj=self.const_get(obj_name)
    obj.new(value)
  rescue NameError
    self.const_set(obj_name,Class.new(Token::Sub))
    retry
  end
end