python/dd
3,6c3,5
< grammar not LR(0) because of U#38{frozenset({(P#16, '@'), (P#14, '@'), (P#16, '+')}) to={'+': U#61, '@': R#start#0}}:
< grammar is LR(1): 4 syms, 9 rules, 24 rulePos 26 ustates
< arithExpr test 0 --- 2 ---
< run 2 ==2
---
> grammar not LR(0) because of S#38{frozenset({(P#16, '@'), (P#16, '+'), (P#14, '@')}) to={'+': S#61, '@': R#start#0}}:
> grammar is LR(1): 4 syms, 9 rules, 24 rulePos 26 states
> arithExpr test 0 input 2 ------>>>
9,10c8
< arithExpr test 1 --- 1 + 2 * 0 ---
< run 1 + 2 * 0 ==2
---
> arithExpr test 1 input 1 + 2 * 0 ------>>>
17,18c15
< arithExpr test 2 --- 2 * ( 1 * 2 + 0 ) ---
< run 2 * ( 1 * 2 + 0 ) ==2
---
> arithExpr test 2 input 2 * ( 1 * 2 + 0 ) ------>>>
29,32c26,29
< arithExpr test 3 --- 1 + 2 ( ---
< error run: bad lah=( expected ['+', '*', '@'] at U#59{frozenset({(P#36, '+'), (P#36, '*'), (P#36, '@')}) to={'+': R#i#8, '*': R#i#8, '@': R#i#8}}
< arithExpr test 4 --- 1 + 2 + ---
< error run: bad lah=@ expected [Y#p#11, Y#i#12, '(', '0', '1', '2'] at U#61{frozenset({(P#17, '+'), (P#17, '@')}) to={Y#p#11: U#62, Y#i#12: U#60, '(': U#42, '0': U#57, '1': U#58, '2': U#59}}
---
> arithExpr test 3 input 1 + 2 ( ------>>>
> error run: bad lah=( expected ['*', '@', '+'] at S#59{frozenset({(P#36, '*'), (P#36, '@'), (P#36, '+')}) to={'*': R#i#8, '@': R#i#8, '+': R#i#8}}
> arithExpr test 4 input 1 + 2 + ------>>>
> error run: bad lah=@ expected [Y#p#11, Y#i#12, '(', '0', '1', '2'] at S#61{frozenset({(P#17, '@'), (P#17, '+')}) to={Y#p#11: S#62, Y#i#12: S#60, '(': S#42, '0': S#57, '1': S#58, '2': S#59}}
35,38c32,34
< grammar not LR(0) because of U#65{frozenset({(P#23, '@')}) to={Y#s#17: U#66, Y#p#18: U#67, Y#i#19: U#104, '(': U#74, Y#epm#20: U#100, Y#pm#21: U#95, '+': U#97, '-': U#98, '0': R#epm#10, '1': R#epm#10, '2': R#epm#10}}:
< grammar is LR(1): 7 syms, 16 rules, 42 rulePos 42 ustates
< arithExprPM test 0 --- 2 ---
< run 2 ==2
---
> grammar not LR(0) because of S#37{frozenset({(P#23, '@')}) to={Y#s#17: S#38, Y#p#18: S#39, Y#i#19: S#76, '(': S#46, Y#epm#20: S#72, Y#pm#21: S#66, '+': S#68, '-': S#69, '1': R#epm#10, '2': R#epm#10, '0': R#epm#10}}:
> grammar is LR(1): 7 syms, 16 rules, 42 rulePos 42 states
> arithExprPM test 0 input 2 ------>>>
42,43c38
< arithExprPM test 1 --- 1 + 2 * 0 ---
< run 1 + 2 * 0 ==2
---
> arithExprPM test 1 input 1 + 2 * 0 ------>>>
53,54c48
< arithExprPM test 2 --- 2 * ( 1 * 2 + 0 ) ---
< run 2 * ( 1 * 2 + 0 ) ==2
---
> arithExprPM test 2 input 2 * ( 1 * 2 + 0 ) ------>>>
69,74c63,67
< arithExprPM test 3 --- 1 + 2 ( ---
< error run: bad lah=( expected ['0', '2', '/', '@', '1', '*', '+', '-'] at U#73{frozenset({(P#64, '0'), (P#64, '2'), (P#64, '/'), (P#64, '@'), (P#64, '1'), (P#64, '*'), (P#64, '+'), (P#64, '-')}) to={'0': R#d#15, '2': R#d#15, '/': R#d#15, '@': R#d#15, '1': R#d#15, '*': R#d#15, '+': R#d#15, '-': R#d#15}}
< arithExprPM test 4 --- 1 + 2 + ---
< error run: bad lah=@ expected ['0', '-', '1', '+', '(', '2'] at U#88{frozenset({(P#56, '0'), (P#56, '-'), (P#56, '1'), (P#56, '+'), (P#56, '('), (P#56, '2')}) to={'0': R#pm#11, '-': R#pm#11, '1': R#pm#11, '+': R#pm#11, '(': R#pm#11, '2': R#pm#11}}
< arithExprPM test 5 --- 1 0 / - - 1 1 + + - 1 2 / ( 1 - - 2 / + 0 ) ---
< run 1 0 / - - 1 1 + + - 1 2 / ( 1 - - 2 / + 0 ) ==2
---
> arithExprPM test 3 input 1 + 2 ( ------>>>
> error run: bad lah=( expected ['2', '1', '-', '+', '@', '/', '0', '*'] at S#45{frozenset({(P#64, '2'), (P#64, '1'), (P#64, '-'), (P#64, '+'), (P#64, '@'), (P#64, '/'), (P#64, '0'), (P#64, '*')}) to={'2': R#d#15, '1': R#d#15, '-': R#d#15, '+': R#d#15, '@': R#d#15, '/': R#d#15, '0': R#d#15, '*': R#d#15}}
> arithExprPM test 4 input 1 + 2 + ------>>>
> error run: bad lah=@ expected ['(', '0', '+', '2', '1', '-'] at S#58{frozenset({(P#56, '('), (P#56, '0'), (P#56, '+'), (P#56, '2'), (P#56, '1'), (P#56, '-')}) to={'(': R#pm#11, '0': R#pm#11, '+': R#pm#11, '2': R#pm#11, '1': R#pm#11, '-': R#pm#11}}
> arithExprPM test 5 input 1 0 / - - 1 1 + + - 1 2 / ( 1 - - 2 / + 0 ) ------>>>
106,107c99
< lrK mismatch [a]=R#AA#3 != p=P#20{R#AB#4 0 next=None}
< grammar not LR(1), because of lrK mismatch [a]=R#AA#3 != p=P#20{R#AB#4 0 next=None}: 4 syms, 5 rules, 12 rulePos 2 ustates
---
> grammar not LR(1), because of lrK mismatch [a]=R#AA#3 != p=P#20{R#AB#4 0 next=None}: 4 syms, 5 rules, 12 rulePos 2 states
109,111c101,102
< grammar is LR(2): 4 syms, 5 rules, 12 rulePos 8 ustates
< LR(2)? test 0 --- a a ---
< run a a ==2
---
> grammar is LR(2): 4 syms, 5 rules, 12 rulePos 8 states
> LR(2)? test 0 input a a ------>>>
116,117c107
< LR(2)? test 1 --- a b ---
< run a b ==2
---
> LR(2)? test 1 input a b ------>>>
122,125c112,115
< LR(2)? test 2 --- a c ---
< error run: bad lah=ac expected [Y#S#6, Y#AA#7, 'aa', Y#AB#8, 'ab'] at U#21{frozenset({(P#9, '@@')}) to={Y#S#6: U#22, Y#AA#7: U#23, 'aa': R#AA#3, Y#AB#8: U#26, 'ab': R#AB#4}}
< LR(2)? test 3 --- b a ---
< error run: bad lah=ba expected [Y#S#6, Y#AA#7, 'aa', Y#AB#8, 'ab'] at U#21{frozenset({(P#9, '@@')}) to={Y#S#6: U#22, Y#AA#7: U#23, 'aa': R#AA#3, Y#AB#8: U#26, 'ab': R#AB#4}}
---
> LR(2)? test 2 input a c ------>>>
> error run: bad lah=ac expected [Y#S#6, Y#AA#7, 'aa', Y#AB#8, 'ab'] at S#21{frozenset({(P#9, '@@')}) to={Y#S#6: S#22, Y#AA#7: S#23, 'aa': R#AA#3, Y#AB#8: S#26, 'ab': R#AB#4}}
> LR(2)? test 3 input b a ------>>>
> error run: bad lah=ba expected [Y#S#6, Y#AA#7, 'aa', Y#AB#8, 'ab'] at S#21{frozenset({(P#9, '@@')}) to={Y#S#6: S#22, Y#AA#7: S#23, 'aa': R#AA#3, Y#AB#8: S#26, 'ab': R#AB#4}}
128,130c118,119
< grammar is LR(0): 7 syms, 7 rules, 18 rulePos 12 ustates
< knuth(1) test 0 --- a b c d e ---
< run a b c d e ==2
---
> grammar is LR(0): 7 syms, 7 rules, 18 rulePos 12 states
> knuth(1) test 0 input a b c d e ------>>>
138,143c127,132
< knuth(1) test 1 --- a b x d e ---
< error run: bad lah=x expected ['c'] at U#41{frozenset({(P#23, 'e')}) to={'c': U#42}}
< knuth(1) test 2 --- a b ---
< error run: bad lah=@ expected ['c'] at U#41{frozenset({(P#23, 'e')}) to={'c': U#42}}
< knuth(1) test 3 --- a b c d e f ---
< error run: bad lah=f expected ['@'] at U#40{frozenset({(P#31, '@')}) to={'@': R#E#6}}
---
> knuth(1) test 1 input a b x d e ------>>>
> error run: bad lah=x expected ['c'] at S#30{frozenset({(P#23, 'e')}) to={'c': S#31}}
> knuth(1) test 2 input a b ------>>>
> error run: bad lah=@ expected ['c'] at S#30{frozenset({(P#23, 'e')}) to={'c': S#31}}
> knuth(1) test 3 input a b c d e f ------>>>
> error run: bad lah=f expected ['@'] at S#29{frozenset({(P#31, '@')}) to={'@': R#E#6}}
146,147c135
< lrK mismatch [b]={(P#14, 'b'), (P#18, 'b')} != p=P#18{R#A#3 1 next=None}
< grammar not LR(1), because of lrK mismatch [b]={(P#14, 'b'), (P#18, 'b')} != p=P#18{R#A#3 1 next=None}: 3 syms, 4 rules, 12 rulePos 9 ustates
---
> grammar not LR(1), because of lrK mismatch [b]->R#A#3 cannot add (P#14, 'b'): 3 syms, 4 rules, 12 rulePos 9 states
149,150c137
< lrK mismatch [bb]->R#A#3 cannot add (P#14, 'bb')
< grammar not LR(2), because of lrK mismatch [bb]->R#A#3 cannot add (P#14, 'bb'): 3 syms, 4 rules, 12 rulePos 12 ustates
---
> grammar not LR(2), because of lrK mismatch [bb]->R#A#3 cannot add (P#14, 'bb'): 3 syms, 4 rules, 12 rulePos 12 states
152,153c139
< lrK mismatch [bbb]={(P#14, 'bbb'), (P#18, 'bbb')} != p=P#18{R#A#3 1 next=None}
< grammar not LR(3), because of lrK mismatch [bbb]={(P#14, 'bbb'), (P#18, 'bbb')} != p=P#18{R#A#3 1 next=None}: 3 syms, 4 rules, 12 rulePos 15 ustates
---
> grammar not LR(3), because of lrK mismatch [bbb]={(P#14, 'bbb'), (P#18, 'bbb')} != p=P#18{R#A#3 1 next=None}: 3 syms, 4 rules, 12 rulePos 15 states
155,156c141
< lrK mismatch [bbbb]->R#A#3 cannot add (P#14, 'bbbb')
< grammar not LR(4), because of lrK mismatch [bbbb]->R#A#3 cannot add (P#14, 'bbbb'): 3 syms, 4 rules, 12 rulePos 18 ustates
---
> grammar not LR(4), because of lrK mismatch [bbbb]={(P#14, 'bbbb'), (P#18, 'bbbb')} != p=P#18{R#A#3 1 next=None}: 3 syms, 4 rules, 12 rulePos 18 states
158,159c143
< lrK mismatch [bbbbb]->R#A#3 cannot add (P#14, 'bbbbb')
< grammar not LR(5), because of lrK mismatch [bbbbb]->R#A#3 cannot add (P#14, 'bbbbb'): 3 syms, 4 rules, 12 rulePos 21 ustates
---
> grammar not LR(5), because of lrK mismatch [bbbbb]={(P#14, 'bbbbb'), (P#18, 'bbbbb')} != p=P#18{R#A#3 1 next=None}: 3 syms, 4 rules, 12 rulePos 21 states
161,162c145
< lrK mismatch [bbbbbb]={(P#14, 'bbbbbb'), (P#18, 'bbbbbb')} != p=P#18{R#A#3 1 next=None}
< grammar not LR(6), because of lrK mismatch [bbbbbb]={(P#14, 'bbbbbb'), (P#18, 'bbbbbb')} != p=P#18{R#A#3 1 next=None}: 3 syms, 4 rules, 12 rulePos 24 ustates
---
> grammar not LR(6), because of lrK mismatch [bbbbbb]={(P#14, 'bbbbbb'), (P#18, 'bbbbbb')} != p=P#18{R#A#3 1 next=None}: 3 syms, 4 rules, 12 rulePos 24 states
164,165c147
< lrK mismatch [bbbbbbb]={(P#14, 'bbbbbbb'), (P#18, 'bbbbbbb')} != p=P#18{R#A#3 1 next=None}
< grammar not LR(7), because of lrK mismatch [bbbbbbb]={(P#14, 'bbbbbbb'), (P#18, 'bbbbbbb')} != p=P#18{R#A#3 1 next=None}: 3 syms, 4 rules, 12 rulePos 27 ustates
---
> grammar not LR(7), because of lrK mismatch [bbbbbbb]->R#A#3 cannot add (P#14, 'bbbbbbb'): 3 syms, 4 rules, 12 rulePos 27 states
167,168c149
< lrK mismatch [bbbbbbbb]={(P#14, 'bbbbbbbb'), (P#18, 'bbbbbbbb')} != p=P#18{R#A#3 1 next=None}
< grammar not LR(8), because of lrK mismatch [bbbbbbbb]={(P#14, 'bbbbbbbb'), (P#18, 'bbbbbbbb')} != p=P#18{R#A#3 1 next=None}: 3 syms, 4 rules, 12 rulePos 30 ustates
---
> grammar not LR(8), because of lrK mismatch [bbbbbbbb]={(P#14, 'bbbbbbbb'), (P#18, 'bbbbbbbb')} != p=P#18{R#A#3 1 next=None}: 3 syms, 4 rules, 12 rulePos 30 states
170,171c151
< lrK mismatch [bbbbbbbbb]={(P#14, 'bbbbbbbbb'), (P#18, 'bbbbbbbbb')} != p=P#18{R#A#3 1 next=None}
< grammar not LR(9), because of lrK mismatch [bbbbbbbbb]={(P#14, 'bbbbbbbbb'), (P#18, 'bbbbbbbbb')} != p=P#18{R#A#3 1 next=None}: 3 syms, 4 rules, 12 rulePos 33 ustates
---
> grammar not LR(9), because of lrK mismatch [bbbbbbbbb]={(P#14, 'bbbbbbbbb'), (P#18, 'bbbbbbbbb')} != p=P#18{R#A#3 1 next=None}: 3 syms, 4 rules, 12 rulePos 33 states
173,174c153
< lrK mismatch [bbbbbbbbbb]={(P#14, 'bbbbbbbbbb'), (P#18, 'bbbbbbbbbb')} != p=P#18{R#A#3 1 next=None}
< grammar not LR(10), because of lrK mismatch [bbbbbbbbbb]={(P#14, 'bbbbbbbbbb'), (P#18, 'bbbbbbbbbb')} != p=P#18{R#A#3 1 next=None}: 3 syms, 4 rules, 12 rulePos 36 ustates
---
> grammar not LR(10), because of lrK mismatch [bbbbbbbbbb]->R#A#3 cannot add (P#14, 'bbbbbbbbbb'): 3 syms, 4 rules, 12 rulePos 36 states
176,177c155
< lrK mismatch [bbbbbbbbbbb]->R#A#3 cannot add (P#14, 'bbbbbbbbbbb')
< grammar not LR(11), because of lrK mismatch [bbbbbbbbbbb]->R#A#3 cannot add (P#14, 'bbbbbbbbbbb'): 3 syms, 4 rules, 12 rulePos 39 ustates
---
> grammar not LR(11), because of lrK mismatch [bbbbbbbbbbb]={(P#14, 'bbbbbbbbbbb'), (P#18, 'bbbbbbbbbbb')} != p=P#18{R#A#3 1 next=None}: 3 syms, 4 rules, 12 rulePos 39 states
179,180c157
< lrK mismatch [bbbbbbbbbbbb]->R#A#3 cannot add (P#14, 'bbbbbbbbbbbb')
< grammar not LR(12), because of lrK mismatch [bbbbbbbbbbbb]->R#A#3 cannot add (P#14, 'bbbbbbbbbbbb'): 3 syms, 4 rules, 12 rulePos 42 ustates
---
> grammar not LR(12), because of lrK mismatch [bbbbbbbbbbbb]->R#A#3 cannot add (P#14, 'bbbbbbbbbbbb'): 3 syms, 4 rules, 12 rulePos 42 states
182,183c159
< lrK mismatch [bbbbbbbbbbbbb]->R#A#3 cannot add (P#14, 'bbbbbbbbbbbbb')
< grammar not LR(13), because of lrK mismatch [bbbbbbbbbbbbb]->R#A#3 cannot add (P#14, 'bbbbbbbbbbbbb'): 3 syms, 4 rules, 12 rulePos 45 ustates
---
> grammar not LR(13), because of lrK mismatch [bbbbbbbbbbbbb]->R#A#3 cannot add (P#14, 'bbbbbbbbbbbbb'): 3 syms, 4 rules, 12 rulePos 45 states
185,186c161
< lrK mismatch [bbbbbbbbbbbbbb]={(P#14, 'bbbbbbbbbbbbbb'), (P#18, 'bbbbbbbbbbbbbb')} != p=P#18{R#A#3 1 next=None}
< grammar not LR(14), because of lrK mismatch [bbbbbbbbbbbbbb]={(P#14, 'bbbbbbbbbbbbbb'), (P#18, 'bbbbbbbbbbbbbb')} != p=P#18{R#A#3 1 next=None}: 3 syms, 4 rules, 12 rulePos 48 ustates
---
> grammar not LR(14), because of lrK mismatch [bbbbbbbbbbbbbb]={(P#14, 'bbbbbbbbbbbbbb'), (P#18, 'bbbbbbbbbbbbbb')} != p=P#18{R#A#3 1 next=None}: 3 syms, 4 rules, 12 rulePos 48 states
188,189c163
< lrK mismatch [bbbbbbbbbbbbbbb]->R#A#3 cannot add (P#14, 'bbbbbbbbbbbbbbb')
< grammar not LR(15), because of lrK mismatch [bbbbbbbbbbbbbbb]->R#A#3 cannot add (P#14, 'bbbbbbbbbbbbbbb'): 3 syms, 4 rules, 12 rulePos 51 ustates
---
> grammar not LR(15), because of lrK mismatch [bbbbbbbbbbbbbbb]={(P#14, 'bbbbbbbbbbbbbbb'), (P#18, 'bbbbbbbbbbbbbbb')} != p=P#18{R#A#3 1 next=None}: 3 syms, 4 rules, 12 rulePos 51 states
191,192c165
< lrK mismatch [bbbbbbbbbbbbbbbb]->R#A#3 cannot add (P#14, 'bbbbbbbbbbbbbbbb')
< grammar not LR(16), because of lrK mismatch [bbbbbbbbbbbbbbbb]->R#A#3 cannot add (P#14, 'bbbbbbbbbbbbbbbb'): 3 syms, 4 rules, 12 rulePos 54 ustates
---
> grammar not LR(16), because of lrK mismatch [bbbbbbbbbbbbbbbb]={(P#14, 'bbbbbbbbbbbbbbbb'), (P#18, 'bbbbbbbbbbbbbbbb')} != p=P#18{R#A#3 1 next=None}: 3 syms, 4 rules, 12 rulePos 54 states
194,195c167
< lrK mismatch [bbbbbbbbbbbbbbbbb]->R#A#3 cannot add (P#14, 'bbbbbbbbbbbbbbbbb')
< grammar not LR(17), because of lrK mismatch [bbbbbbbbbbbbbbbbb]->R#A#3 cannot add (P#14, 'bbbbbbbbbbbbbbbbb'): 3 syms, 4 rules, 12 rulePos 57 ustates
---
> grammar not LR(17), because of lrK mismatch [bbbbbbbbbbbbbbbbb]={(P#14, 'bbbbbbbbbbbbbbbbb'), (P#18, 'bbbbbbbbbbbbbbbbb')} != p=P#18{R#A#3 1 next=None}: 3 syms, 4 rules, 12 rulePos 57 states
197,198c169
< lrK mismatch [bbbbbbbbbbbbbbbbbb]={(P#14, 'bbbbbbbbbbbbbbbbbb'), (P#18, 'bbbbbbbbbbbbbbbbbb')} != p=P#18{R#A#3 1 next=None}
< grammar not LR(18), because of lrK mismatch [bbbbbbbbbbbbbbbbbb]={(P#14, 'bbbbbbbbbbbbbbbbbb'), (P#18, 'bbbbbbbbbbbbbbbbbb')} != p=P#18{R#A#3 1 next=None}: 3 syms, 4 rules, 12 rulePos 60 ustates
---
> grammar not LR(18), because of lrK mismatch [bbbbbbbbbbbbbbbbbb]->R#A#3 cannot add (P#14, 'bbbbbbbbbbbbbbbbbb'): 3 syms, 4 rules, 12 rulePos 60 states
200,201c171
< lrK mismatch [bbbbbbbbbbbbbbbbbbb]={(P#14, 'bbbbbbbbbbbbbbbbbbb'), (P#18, 'bbbbbbbbbbbbbbbbbbb')} != p=P#18{R#A#3 1 next=None}
< grammar not LR(19), because of lrK mismatch [bbbbbbbbbbbbbbbbbbb]={(P#14, 'bbbbbbbbbbbbbbbbbbb'), (P#18, 'bbbbbbbbbbbbbbbbbbb')} != p=P#18{R#A#3 1 next=None}: 3 syms, 4 rules, 12 rulePos 63 ustates
---
> grammar not LR(19), because of lrK mismatch [bbbbbbbbbbbbbbbbbbb]={(P#14, 'bbbbbbbbbbbbbbbbbbb'), (P#18, 'bbbbbbbbbbbbbbbbbbb')} != p=P#18{R#A#3 1 next=None}: 3 syms, 4 rules, 12 rulePos 63 states
203,204c173
< lrK mismatch [bbbbbbbbbbbbbbbbbbbb]={(P#14, 'bbbbbbbbbbbbbbbbbbbb'), (P#18, 'bbbbbbbbbbbbbbbbbbbb')} != p=P#18{R#A#3 1 next=None}
< grammar not LR(20), because of lrK mismatch [bbbbbbbbbbbbbbbbbbbb]={(P#14, 'bbbbbbbbbbbbbbbbbbbb'), (P#18, 'bbbbbbbbbbbbbbbbbbbb')} != p=P#18{R#A#3 1 next=None}: 3 syms, 4 rules, 12 rulePos 66 ustates
---
> grammar not LR(20), because of lrK mismatch [bbbbbbbbbbbbbbbbbbbb]->R#A#3 cannot add (P#14, 'bbbbbbbbbbbbbbbbbbbb'): 3 syms, 4 rules, 12 rulePos 66 states
206,207c175
< lrK mismatch [bbbbbbbbbbbbbbbbbbbbb]->R#A#3 cannot add (P#14, 'bbbbbbbbbbbbbbbbbbbbb')
< grammar not LR(21), because of lrK mismatch [bbbbbbbbbbbbbbbbbbbbb]->R#A#3 cannot add (P#14, 'bbbbbbbbbbbbbbbbbbbbb'): 3 syms, 4 rules, 12 rulePos 69 ustates
---
> grammar not LR(21), because of lrK mismatch [bbbbbbbbbbbbbbbbbbbbb]={(P#14, 'bbbbbbbbbbbbbbbbbbbbb'), (P#18, 'bbbbbbbbbbbbbbbbbbbbb')} != p=P#18{R#A#3 1 next=None}: 3 syms, 4 rules, 12 rulePos 69 states
211,213c179,180
< grammar is LR(0): 3 syms, 4 rules, 12 rulePos 8 ustates
< knuth(7) lr(0) test 0 --- a b b b c ---
< run a b b b c ==2
---
> grammar is LR(0): 3 syms, 4 rules, 12 rulePos 8 states
> knuth(7) lr(0) test 0 input a b b b c ------>>>
220,221c187
< knuth(7) lr(0) test 1 --- a b c ---
< run a b c ==2
---
> knuth(7) lr(0) test 1 input a b c ------>>>
226,229c192,195
< knuth(7) lr(0) test 2 --- a b b c ---
< error run: bad lah=c expected ['b'] at U#23{frozenset({(P#15, 'b'), (P#15, 'c')}) to={'b': U#24}}
< knuth(7) lr(0) test 3 --- a b b b b b b b c e ---
< error run: bad lah=e expected ['@'] at U#25{frozenset({(P#12, '@')}) to={'@': R#S#1}}
---
> knuth(7) lr(0) test 2 input a b b c ------>>>
> error run: bad lah=c expected ['b'] at S#24{frozenset({(P#15, 'b'), (P#15, 'c')}) to={'b': S#25}}
> knuth(7) lr(0) test 3 input a b b b b b b b c e ------>>>
> error run: bad lah=e expected ['@'] at S#23{frozenset({(P#12, '@')}) to={'@': R#S#1}}
232,233c198
< lrK mismatch [c]=R#D#6 != p=P#21{R#B#3 0 next=None}
< grammar not LR(1), because of lrK mismatch [c]=R#D#6 != p=P#21{R#B#3 0 next=None}: 5 syms, 8 rules, 17 rulePos 2 ustates
---
> grammar not LR(1), because of lrK mismatch [d]={(P#29, 'c'), (P#29, 'e')} != p=P#21{R#B#3 0 next=None}: 5 syms, 8 rules, 17 rulePos 2 states
235,236c200
< lrK mismatch [dc]={(P#29, 'ce')} != p=P#21{R#B#3 0 next=None}
< grammar not LR(2), because of lrK mismatch [dc]={(P#29, 'ce')} != p=P#21{R#B#3 0 next=None}: 5 syms, 8 rules, 17 rulePos 2 ustates
---
> grammar not LR(2), because of lrK mismatch [dc]={(P#29, 'ce')} != p=P#21{R#B#3 0 next=None}: 5 syms, 8 rules, 17 rulePos 2 states
238,240c202,203
< grammar is LR(3): 5 syms, 8 rules, 17 rulePos 21 ustates
< knuth(16x) lr(3) test 0 --- ---
< run ==2
---
> grammar is LR(3): 5 syms, 8 rules, 17 rulePos 21 states
> knuth(16x) lr(3) test 0 input ------>>>
244,245c207
< knuth(16x) lr(3) test 1 --- c ---
< run c ==2
---
> knuth(16x) lr(3) test 1 input c ------>>>
250,251c212
< knuth(16x) lr(3) test 2 --- c e ---
< run c e ==2
---
> knuth(16x) lr(3) test 2 input c e ------>>>
257,258c218
< knuth(16x) lr(3) test 3 --- c e d ---
< run c e d ==2
---
> knuth(16x) lr(3) test 3 input c e d ------>>>
266,269c226,228
< grammar not LR(0) because of U#37{frozenset({(P#12, '@')}) to={Y#S#9: U#38, '@': R#S#1, 'a': U#39, 'b': U#43}}:
< grammar is LR(1): 4 syms, 8 rules, 25 rulePos 18 ustates
< knuth(24) test 0 --- ---
< run ==2
---
> grammar not LR(0) because of S#19{frozenset({(P#12, '@')}) to={Y#S#9: S#20, '@': R#S#1, 'a': S#21, 'b': S#25}}:
> grammar is LR(1): 4 syms, 8 rules, 25 rulePos 18 states
> knuth(24) test 0 input ------>>>
272,273c231
< knuth(24) test 1 --- a b ---
< run a b ==2
---
> knuth(24) test 1 input a b ------>>>
279,280c237
< knuth(24) test 2 --- b a ---
< run b a ==2
---
> knuth(24) test 2 input b a ------>>>
286,289c243,245
< knuth(24) test 3 --- a b b ---
< error run: bad lah=@ expected [Y#B#11, 'a', 'b'] at U#43{frozenset({(P#21, '@')}) to={Y#B#11: U#44, 'a': R#B#6, 'b': U#47}}
< knuth(24) test 4 --- a a b b ---
< run a a b b ==2
---
> knuth(24) test 3 input a b b ------>>>
> error run: bad lah=@ expected [Y#B#11, 'a', 'b'] at S#25{frozenset({(P#21, '@')}) to={Y#B#11: S#26, 'a': R#B#6, 'b': S#29}}
> knuth(24) test 4 input a a b b ------>>>
298,299c254
< knuth(24) test 5 --- a b a b ---
< run a b a b ==2
---
> knuth(24) test 5 input a b a b ------>>>
308,309c263
< knuth(24) test 6 --- b a a b ---
< run b a a b ==2
---
> knuth(24) test 6 input b a a b ------>>>