Module parser :: Class LALRtable
[show private | hide private]
[frames | no frames]

Class LALRtable

LRtable --+    
          |    
 LALRtable1 --+
              |
             LALRtable


Class for construction of LALR tables
Method Summary
  AfterDotTer(self, item, items, path)
returns FIRST of strings after the dot concatenated with lookahead
  goto(self, items, s)
goto(I,X) where I is a set of kernel items and X a grammar symbol is the closure of the set of all items (A -> sX.r,a) such that (A -> s.Xr,a) is in I
  items(self)
An LALR(1) kernel item of a grammar G is a production of G with a dot at some position of the right hand side (except the first) and a list of terminals: is coded as a dictionary with key (rule_number,dot_position) and value a set of terminals.
  make_action_goto(self)
collection of LR(0) items
  NextToDot(self, item)
returns symbol next to the dot or empty string
    Inherited from LALRtable1
  AfterDot(self, item, items)
returns FIRST of strings after the dot concatenated with lookahead
  closure(self, items)
The closure of a set of LR(1) items I is the set of items construted from I by the two rules:
  core_merge(self, c, j)
  dotatend(self, item, c, i)
  get_union(self, c, j)
  print_items(self, c)
Print LALR(1) items
    Inherited from LRtable
  __init__(self, cfgr, operators, noconflicts, expect)
  add_action(self, i, a, action, j)
Set (action,j) for state i and symbol a or raise conflict error.
  resolve_shift_reduce(self, i, a, s, r)
Operators precedence resolution or standard option: shift
  rules_precedence(self)
Rule precedence obtained as the precedende of the right most terminal.

Instance Variable Summary
    Inherited from LRtable
  gr: a context-free grammar
  Log: Log report for LR table construction
  operators: operators

Method Details

AfterDotTer(self, item, items, path)

returns FIRST of strings after the dot concatenated with lookahead

goto(self, items, s)

goto(I,X) where I is a set of kernel items and X a grammar symbol is the closure of the set of all items (A -> sX.r,a) such that (A -> s.Xr,a) is in I
Overrides:
parser.LALRtable1.goto

items(self)

An LALR(1) kernel item of a grammar G is a production of G with a dot at some position of the right hand side (except the first) and a list of terminals: is coded as a dictionary with key (rule_number,dot_position) and value a set of terminals.
Overrides:
parser.LALRtable1.items

make_action_goto(self)

collection of LR(0) items
Overrides:
parser.LALRtable1.make_action_goto

NextToDot(self, item)

returns symbol next to the dot or empty string
Overrides:
parser.LALRtable1.NextToDot

Generated by Epydoc 2.1 on Mon Mar 29 22:42:43 2004 http://epydoc.sf.net