Method Summary |
|
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)
|
|
goto (self,
items,
s)
goto(I,X) where I is a set of 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) in
I |
|
items (self)
An LALR(1) item of a grammar G is a
production of G with a dot at some position of the right hand
side and a list of terminals: is coded as a dictonary with key
(rule_number,dot_position) and value a set of terminals |
|
make_action_goto (self)
Make action[i,X] and goto[i,X] all pairs
(i,s) not in action and goto dictionaries are 'error' |
|
NextToDot (self,
item)
returns symbol next to the dot or empty string |
|
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. |