class Token

Attributes

kind[RW]
pos[RW]
val[RW]

Public Class Methods

create(str) click to toggle source

def accept visitor end

# File lib/token.rb, line 44
def self.create str
  Token.new [:id,str,[0,0]]
end
new(tab) click to toggle source
# File lib/token.rb, line 3
def initialize tab
  @kind,@val,@pos=*tab
end

Public Instance Methods

clone() click to toggle source
# File lib/token.rb, line 56
def clone
  Token.new([@kind,@val,@pos])
end
is_a?(kind) click to toggle source
# File lib/token.rb, line 7
def is_a? kind
  case kind
  when Symbol
    return @kind==kind
  when Array
    for sym in kind
      return true if @kind==sym
    end
    return false
  else
    raise "wrong type during lookahead"
  end
end
is_not_a?(kind) click to toggle source
# File lib/token.rb, line 26
def is_not_a? kind
  case kind
  when Symbol
    return @kind!=kind
  when Array
    ret=true
    for sym in kind
      ret=false if @kind==sym
    end
    return ret
  else
    raise "wrong type during lookahead"
  end
end
not_a?(kind) click to toggle source
# File lib/token.rb, line 21
def not_a? kind
  result=self.is_a? kind
  !result
end
to_s() click to toggle source

def inspect

"(#{@kind.to_s.ljust(15,' ')},'#{@val}',#{@pos})"

end

# File lib/token.rb, line 52
def to_s
  val
end