class TheFox::Range::Lexer::Base

Public Class Methods

generate_nonce() click to toggle source
# File lib/thefox-ext/range/lexer/base.rb, line 111
def generate_nonce()
  rand(10 ** 3).to_s.rjust(3, '0')
end
keep_instance_id_on_dup() click to toggle source
# File lib/thefox-ext/range/lexer/base.rb, line 117
def keep_instance_id_on_dup()
  false
end
keep_nonce_on_dup() click to toggle source
# File lib/thefox-ext/range/lexer/base.rb, line 114
def keep_nonce_on_dup()
  false
end
new(symbole = nil) click to toggle source
# File lib/thefox-ext/range/lexer/base.rb, line 8
def initialize(symbole = nil)
  # puts '-> Base.initialize'

  @@instance_id += 1
  @instance_id = @@instance_id
  @nonce = Base.generate_nonce()
  @symbole = symbole
  @prev_item = nil
  @org_prev_item = nil
  @next_item = nil

  @parent_item = nil
  #@parent_scope = nil
  @children = []
end

Public Instance Methods

add_child(child) click to toggle source
# File lib/thefox-ext/range/lexer/base.rb, line 90
def add_child(child)
  @children.push(child)
end
chain(prev_item) click to toggle source
# File lib/thefox-ext/range/lexer/base.rb, line 44
def chain(prev_item)
  # puts '%s(%s).chain' % [self.inspect, opts.inspect]
  self.prev_item = prev_item
  if !prev_item.nil?
    prev_item.next_item = self
  end
end
children() click to toggle source
# File lib/thefox-ext/range/lexer/base.rb, line 87
def children()
  @children
end
dup() click to toggle source
Calls superclass method
# File lib/thefox-ext/range/lexer/base.rb, line 97
def dup()
  # puts '-> Base.dup'
  o = super()
  o.nonce = Base.generate_nonce()
  o.prev_item = nil
  o.next_item = nil
  o
end
has_children() click to toggle source
# File lib/thefox-ext/range/lexer/base.rb, line 93
def has_children()
  @children.length > 0
end
has_parent_item() click to toggle source
# File lib/thefox-ext/range/lexer/base.rb, line 83
def has_parent_item()
  !@parent_item.nil?
end
inspect() click to toggle source

:nocov:

# File lib/thefox-ext/range/lexer/base.rb, line 25
def inspect()
  'Base'
end
instance_id() click to toggle source

:nocov:

# File lib/thefox-ext/range/lexer/base.rb, line 30
def instance_id()
  @instance_id
end
instance_id=(instance_id) click to toggle source
# File lib/thefox-ext/range/lexer/base.rb, line 33
def instance_id=(instance_id)
  @instance_id = instance_id
end
next_item() click to toggle source
# File lib/thefox-ext/range/lexer/base.rb, line 70
def next_item()
  @next_item
end
next_item=(next_item) click to toggle source
# File lib/thefox-ext/range/lexer/base.rb, line 73
def next_item=(next_item)
  @next_item = next_item
end
nonce() click to toggle source
# File lib/thefox-ext/range/lexer/base.rb, line 37
def nonce()
  @nonce
end
nonce=(nonce) click to toggle source
# File lib/thefox-ext/range/lexer/base.rb, line 40
def nonce=(nonce)
  @nonce = nonce
end
org_prev_item() click to toggle source
# File lib/thefox-ext/range/lexer/base.rb, line 56
def org_prev_item()
  @org_prev_item
end
org_prev_item=(org_prev_item) click to toggle source
# File lib/thefox-ext/range/lexer/base.rb, line 59
def org_prev_item=(org_prev_item)
  @org_prev_item = org_prev_item
end
parent_item() click to toggle source
# File lib/thefox-ext/range/lexer/base.rb, line 77
def parent_item()
  @parent_item
end
parent_item=(parent_item) click to toggle source
# File lib/thefox-ext/range/lexer/base.rb, line 80
def parent_item=(parent_item)
  @parent_item = parent_item
end
prev_item() click to toggle source
# File lib/thefox-ext/range/lexer/base.rb, line 63
def prev_item()
  @prev_item
end
prev_item=(prev_item) click to toggle source
# File lib/thefox-ext/range/lexer/base.rb, line 66
def prev_item=(prev_item)
  @prev_item = prev_item
end
resolve() click to toggle source
# File lib/thefox-ext/range/lexer/base.rb, line 106
def resolve()
  puts '-> Base.resolve'
end
symbole() click to toggle source
# File lib/thefox-ext/range/lexer/base.rb, line 52
def symbole()
  @symbole
end