class XfOOrth::Token

A class used to hold vital info extracted from the source code.

Attributes

code[R]

The code fragment in this token.

Public Class Methods

new() click to toggle source

Set up an empty token

# File lib/fOOrth/compiler/token.rb, line 13
def initialize
  @code = ''
  @tags = []
end

Public Instance Methods

add(text, tags=nil) click to toggle source

Append some text/tags to the code_fragment.
Parameters

  • text - A string of code to be appended to this token.

  • tags - An optional array of tags to be added to this token.


Possible tag values:

  • :class - This token contains a class constant..

  • :immediate - The token is executed, even in compile modes.

  • :macro - This token contains an in-line macro.

  • :numeric - This token contains a numeric literal.

  • :procedure - This token contains a procedure literal.

  • :string - This token contains a string literal.

  • :stub - This token contains a stub spec.

  • :temp - This token contains code from a temporary spec.

  • none - Nothing special here. Move along, move along.

# File lib/fOOrth/compiler/token.rb, line 32
def add(text, tags=nil)
  @code << text
  @tags.concat(tags).uniq! if tags
  self
end
has_tag?(value) click to toggle source

Does this token have the specified tag value?

# File lib/fOOrth/compiler/token.rb, line 39
def has_tag?(value)
  @tags.include?(value)
end
to_s() click to toggle source

As a string for debugging.

# File lib/fOOrth/compiler/token.rb, line 44
def to_s
  "Tags=#{@tags.inspect} Code=#{@code.inspect}"
end