def_token(token_n, super_token = Token, reading = nil, *opts)public
No documentation available.
# File lib/rdoc/parser/ruby.rb, line 274
def self.def_token(token_n, super_token = Token, reading = nil, *opts)
token_n = token_n.id2name unless String === token_n
fail AlreadyDefinedToken, token_n if const_defined?(token_n)
token_c = Class.new super_token
const_set token_n, token_c
# token_c.inspect
if reading
if TkReading2Token[reading]
fail TkReading2TokenDuplicateError, token_n, reading
end
if opts.empty?
TkReading2Token[reading] = [token_c]
else
TkReading2Token[reading] = [token_c].concat(opts)
end
end
TkSymbol2Token[token_n.intern] = token_c
if token_c <= TkOp
token_c.class_eval %{
def self.op_name; "#{reading}"; end
}
end
end