Class: Depager::LALR::Parser

Inherits:
Object
  • Object
show all
Defined in:
lib/depager/parser.rb

Overview

Parser runtime

Stack

s

state

la

look ahead

v

value

stack top->
[0, [la0, v0], s0, [la1, v1], s1, .....]

Direct Known Subclasses

AdvancedParser, Basis

Constant Summary collapse

ACC =
0x03ffffff

Instance Method Summary collapse

Instance Method Details

#acceptObject



55
# File 'lib/depager/parser.rb', line 55

def accept; end

#action_tableObject



61
# File 'lib/depager/parser.rb', line 61

def action_table; end

#defred_after_shift_tableObject



63
# File 'lib/depager/parser.rb', line 63

def defred_after_shift_table; end

#defred_tableObject



62
# File 'lib/depager/parser.rb', line 62

def defred_table; end

#errorObject



56
# File 'lib/depager/parser.rb', line 56

def error; end

#goto_tableObject



64
# File 'lib/depager/parser.rb', line 64

def goto_table; end

#int_to_nontermObject



68
# File 'lib/depager/parser.rb', line 68

def int_to_nonterm; end

#int_to_termObject



66
# File 'lib/depager/parser.rb', line 66

def int_to_term; end

#lexObject



54
# File 'lib/depager/parser.rb', line 54

def lex; end

#nonterm_to_intObject



67
# File 'lib/depager/parser.rb', line 67

def nonterm_to_int; end

#parse(f, line = "") ⇒ Object



41
42
43
44
45
46
47
48
49
50
51
52
# File 'lib/depager/parser.rb', line 41

def parse(f, line = "")
  basis.__send__ :internal_initialize, f, line, [0, nil]

  do_hook :before_parse
  lex do |sym, val|
    basis.lookahead = [term_to_int[sym] || term_to_int[false], val]
    break if driver
  end
  do_hook :after_parse

  stack[1][2..basis.parser_size]
end

#reduceObject



58
# File 'lib/depager/parser.rb', line 58

def reduce; end

#reduce_tableObject



60
# File 'lib/depager/parser.rb', line 60

def reduce_table; end

#shiftObject



57
# File 'lib/depager/parser.rb', line 57

def shift; end

#term_to_intObject



65
# File 'lib/depager/parser.rb', line 65

def term_to_int; end