Parser Table
Grammar
| id_star_1_sub | ::= |
id |
all |
script: procedure id ( id ) { } |
| | |
id_star_1_sub , id |
all |
script: procedure id ( id , id ) { } |
| instr | ::= |
funcall |
all |
script: id ( ) |
| | |
repeat ( number_optional_3 ) block |
all |
script: repeat ( ) { } |
| | |
repeatWhile ( expr ) block |
all |
script: repeatWhile ( number ) { } |
| | |
break |
all |
script: break |
| | |
if ( expr ) block |
all |
script: if ( number ) { } |
| | |
if ( expr ) block else block |
all |
script: if ( number ) { } else { } |
| | |
end |
all |
script: end |
| expr_star_4 | ::= |
*empty* |
all |
script: id ( ) |
| | |
expr_star_4_sub |
all |
script: id ( number ) |
| id_star_1 | ::= |
*empty* |
all |
script: procedure id ( ) { } |
| | |
id_star_1_sub |
all |
script: procedure id ( id ) { } |
| item | ::= |
instr |
all |
script: break |
| | |
proc |
all |
script: procedure id ( ) { } |
| number_optional_3 | ::= |
*empty* |
all |
script: repeat ( ) { } |
| | |
number |
all |
script: repeat ( number ) { } |
| -root-0 | ::= |
script ␄ |
all |
script: |
| proc | ::= |
procedure id ( id_star_1 ) block |
all |
script: procedure id ( ) { } |
| instr_star_2 | ::= |
*empty* |
all |
script: repeat ( ) { } |
| | |
instr_star_2 instr |
all |
script: repeat ( ) { break } |
| expr | ::= |
number |
all |
script: id ( number ) |
| | |
bool |
all |
script: id ( bool ) |
| | |
id |
all |
script: id ( id ) |
| | |
( expr ) |
all |
script: id ( ( number ) ) |
| | |
~ expr |
all |
script: id ( ~ number ) |
| | |
expr and expr |
all |
script: id ( number and number ) |
| | |
expr or expr |
all |
script: id ( number or number ) |
| | |
funcall |
all |
script: id ( id ( ) ) |
Non Terminals
| Non terminal | Epsilon | First | Result | Last | Result | Follow | Result |
| instr_star_2 | true |
|
| if | | repeatWhile | | repeat | | end | | break | | id | |
| |
|
| repeatWhile | | repeat | | _if | | rcurl | | end | | _break | | id | |
| expr | false |
| |
| |
| |
| item | false |
|
| procedure | | id | | end | | break | | repeatWhile | | repeat | | if | |
| |
|
| id | | __eof__ | | procedure | | _if | | repeatWhile | | repeat | | end | | _break | |
| number_optional_3 | true |
| |
| |
| |
| -root-0 | false |
|
| break | | end | | if | | repeat | | repeatWhile | | procedure | | ␄ | | id | |
| |
|
| proc | false |
| |
| |
|
| repeat | | repeatWhile | | _if | | _break | | end | | id | | procedure | | __eof__ | |
| script | true |
|
| if | | repeatWhile | | repeat | | end | | break | | id | | procedure | |
| |
| |
| expr_star_4_sub | false |
| |
| |
| |
| id_star_1 | true |
| |
| |
| |
| expr_star_4 | true |
| |
| |
| |
| instr | false |
| First(funcall) | | if | | repeatWhile | | repeat | | end | | break | |
| id | | break | | end | | repeat | | repeatWhile | | if | |
| |
|
| repeat | | repeatWhile | | _if | | _break | | end | | rcurl | | id | | procedure | | __eof__ | |
| block | false |
| |
| |
|
| __eof__ | | procedure | | id | | end | | _break | | rcurl | | _else | | _if | | repeatWhile | | repeat | |
| item_star_0 | true |
|
| repeat | | repeatWhile | | if | | break | | end | | id | | procedure | |
| |
|
| __eof__ | | procedure | | id | | _break | | end | | repeat | | repeatWhile | | _if | |
| funcall | false |
| |
| |
|
| _if | | repeat | | _break | | or | | and | | repeatWhile | | comma | | rpar | | end | | rcurl | | id | | __eof__ | | procedure | |
| id_star_1_sub | false |
| |
| |
| |
Start States
| Non terminal | Start State |
| script | state0 |
States
state0 - state 0:
Compatible versions :
DEFAULT
| Kernel items | Actions |
Gotoes |
|
|
|
|
state1 - state 0:
Compatible versions :
DEFAULT
| Kernel items | Actions |
|
|
| __eof__ | : |
accept |
| branch | : |
exit exit |
|
state2 - state 0: ␄
Compatible versions :
DEFAULT
| Kernel items | Actions |
|
|
| __eof__ | : |
accept |
| branch | : |
exit exit |
|
state3 - state 0:
Compatible versions :
DEFAULT
| Kernel items | Actions |
Gotoes |
|
|
|
|
state4 - state 0: procedure
Compatible versions :
DEFAULT
state5 - state 0: procedure id
Compatible versions :
DEFAULT
state6 - state 0: procedure id (
Compatible versions :
DEFAULT
| Kernel items | Actions |
Gotoes |
|
|
|
|
state7 - state 0: procedure id ( id
Compatible versions :
DEFAULT
state8 - state 0: procedure id ( id
Compatible versions :
DEFAULT
state9 - state 0: procedure id ( id ,
Compatible versions :
DEFAULT
state10 - state 0: procedure id ( id , id
Compatible versions :
DEFAULT
state11 - state 0: procedure id (
Compatible versions :
DEFAULT
state12 - state 0: procedure id ( )
Compatible versions :
DEFAULT
| Kernel items | Actions |
Gotoes |
|
|
|
|
state13 - state 0: repeat ( ) {
Compatible versions :
DEFAULT
| Kernel items | Actions |
Gotoes |
|
|
|
|
state14 - state 0: repeat ( ) {
Compatible versions :
DEFAULT
| Kernel items | Actions |
Gotoes |
|
|
|
|
state15 - state 0: repeat ( ) { }
Compatible versions :
DEFAULT
state16 - state 0: end
Compatible versions :
DEFAULT
state17 - state 0: break
Compatible versions :
DEFAULT
state18 - state 0: if
Compatible versions :
DEFAULT
state19 - state 0: if (
Compatible versions :
DEFAULT
| Kernel items | Actions |
Gotoes |
|
|
|
|
state20 - state 0: if ( ~
Compatible versions :
DEFAULT
| Kernel items | Actions |
Gotoes |
|
|
|
|
state21 - state 0: if ( (
Compatible versions :
DEFAULT
| Kernel items | Actions |
Gotoes |
|
|
|
|
state22 - state 0: if ( id
Compatible versions :
DEFAULT
state23 - state 0: id (
Compatible versions :
DEFAULT
| Kernel items | Actions |
Gotoes |
|
|
|
|
state24 - state 0: if ( number
Compatible versions :
DEFAULT
state25 - state 0: if ( bool
Compatible versions :
DEFAULT
state26 - state 0: if ( id ( )
Compatible versions :
DEFAULT
state27 - state 0: id ( number
Compatible versions :
DEFAULT
state28 - state 0: id ( number ,
Compatible versions :
DEFAULT
| Kernel items | Actions |
Gotoes |
|
|
|
|
state29 - state 0: id ( number , number
Compatible versions :
DEFAULT
state30 - state 0: id ( number or
Compatible versions :
DEFAULT
| Kernel items | Actions |
Gotoes |
|
|
|
|
state31 - state 0: id ( number or number
Compatible versions :
DEFAULT
state32 - state 0: id ( number and
Compatible versions :
DEFAULT
| Kernel items | Actions |
Gotoes |
|
|
|
|
state33 - state 0: id ( number and number
Compatible versions :
DEFAULT
state34 - state 0: id ( number
Compatible versions :
DEFAULT
state35 - state 0: id (
Compatible versions :
DEFAULT
state36 - state 0: id ( )
Compatible versions :
DEFAULT
state37 - state 0: if ( ( number
Compatible versions :
DEFAULT
state38 - state 0: if ( ( number )
Compatible versions :
DEFAULT
state39 - state 0: if ( ~ number
Compatible versions :
DEFAULT
state40 - state 0: if ( number
Compatible versions :
DEFAULT
state41 - state 0: if ( number )
Compatible versions :
DEFAULT
| Kernel items | Actions |
Gotoes |
|
|
|
|
state42 - state 0: if ( number ) { }
Compatible versions :
DEFAULT
state43 - state 0: if ( number ) { } else
Compatible versions :
DEFAULT
| Kernel items | Actions |
Gotoes |
|
|
|
|
state44 - state 0: if ( number ) { } else { }
Compatible versions :
DEFAULT
state45 - state 0: repeat
Compatible versions :
DEFAULT
state46 - state 0: repeat (
Compatible versions :
DEFAULT
| Kernel items | Actions |
Gotoes |
|
|
|
|
state47 - state 0: repeat ( number
Compatible versions :
DEFAULT
state48 - state 0: repeat (
Compatible versions :
DEFAULT
state49 - state 0: repeat ( )
Compatible versions :
DEFAULT
| Kernel items | Actions |
Gotoes |
|
|
|
|
state50 - state 0: repeat ( ) { }
Compatible versions :
DEFAULT
state51 - state 0: repeatWhile
Compatible versions :
DEFAULT
state52 - state 0: repeatWhile (
Compatible versions :
DEFAULT
| Kernel items | Actions |
Gotoes |
|
|
|
|
state53 - state 0: repeatWhile ( number
Compatible versions :
DEFAULT
state54 - state 0: repeatWhile ( number )
Compatible versions :
DEFAULT
| Kernel items | Actions |
Gotoes |
|
|
|
|
state55 - state 0: repeatWhile ( number ) { }
Compatible versions :
DEFAULT
state56 - state 0: id
Compatible versions :
DEFAULT
state57 - state 0: id ( )
Compatible versions :
DEFAULT
state58 - state 0: repeat ( ) { break
Compatible versions :
DEFAULT
state59 - state 0: procedure id ( ) { }
Compatible versions :
DEFAULT
state60 - state 0: procedure id ( ) { }
Compatible versions :
DEFAULT
state61 - state 0: break
Compatible versions :
DEFAULT
state62 - state 0: break
Compatible versions :
DEFAULT