Parser Table

Grammar

forinit_optional_7 ::= *empty* all script: for , , : end
| forinit all script: for id = id , , : end
eofunc ::= eob all script: def id ( ) : end
| empty all script: def id ( ) : empty
forupdate ::= assignment all script: for , , id = id : end
| expr all script: for , , id : end
expr_optional_8 ::= *empty* all script: for , , : end
| expr all script: for , id , : end
block ::= instr_star_5 all script: 
arg_star_11 ::= *empty* all script: id ( ) nl
| arg_star_11_sub all script: id ( id ) nl
parameter_star_3_sub ::= parameter all script: def id ( id ) : empty
| parameter_star_3_sub , parameter all script: def id ( id , id ) : empty
expr_optional_6 ::= *empty* all script: return nl
| expr all script: return id nl
arg_star_11_sub ::= arg all script: id ( id ) nl
| arg_star_11_sub , arg all script: id ( id , id ) nl
instr_star_5 ::= *empty* all script: 
| instr_star_5 instr all script: print id nl
func ::= def type_optional_2 id ( parameter_star_3 ) : block eofunc all script: def id ( ) : empty
constant ::= _boolean all script: print _boolean nl
| integer all script: print integer nl
| string all script: print string nl
eob ::= end all script: if id : end
| return_instr all script: if id : return nl
| break eoln all script: if id : break nl
| continue eoln all script: if id : continue nl
arg ::= expr all script: id ( id ) nl
| id : expr all script: id ( id : id ) nl
script ::= func_star_0 block return_instr_optional_1 all script: 
forinit ::= decl all script: for var id = id , , : end
| assignment all script: for id = id , , : end
decl ::= var type_optional_10 id = expr all script: var id = id nl
type_optional_10 ::= *empty* all script: var id = id nl
| type all script: var type id = id nl
forupdate_optional_9 ::= *empty* all script: for , , : end
| forupdate all script: for , , id : end
parameter_star_3 ::= *empty* all script: def id ( ) : empty
| parameter_star_3_sub all script: def id ( id ) : empty
expr ::= constant all script: print _boolean nl
| id all script: print id nl
| + expr all script: print + id nl
| - expr all script: print - id nl
| expr + expr all script: print id + id nl
| expr - expr all script: print id - id nl
| expr * expr all script: print id * id nl
| expr / expr all script: print id / id nl
| expr % expr all script: print id % id nl
| expr == expr all script: print id == id nl
| expr != expr all script: print id != id nl
| expr < expr all script: print id < id nl
| expr <= expr all script: print id <= id nl
| expr > expr all script: print id > id nl
| expr >= expr all script: print id >= id nl
| ( expr ) all script: print ( id ) nl
| funcall all script: print id ( ) nl
| scan all script: print scan nl
type_optional_2 ::= *empty* all script: def id ( ) : empty
| type all script: def type id ( ) : empty
return_instr ::= return expr_optional_6 eoln all script: return nl
func_star_0 ::= *empty* all script: 
| func_star_0 func all script: def id ( ) : empty
return_instr_optional_1 ::= *empty* all script: 
| return_instr all script: return nl
funcall ::= id ( arg_star_11 ) all script: id ( ) nl
else_cont ::= eob all script: if id : end
| elif expr : block else_cont all script: if id : elif id : end
| else : block eob all script: if id : else : end
parameter ::= type_optional_4 id all script: def id ( id ) : empty
type_optional_4 ::= *empty* all script: def id ( id ) : empty
| type all script: def id ( type id ) : empty
-root-0 ::= script  all script: 
instr ::= decl eoln all script: var id = id nl
| assignment eoln all script: id = id nl
| if expr : block else_cont all script: if id : end
| for forinit_optional_7 , expr_optional_8 , forupdate_optional_9 : block eob all script: for , , : end
| funcall eoln all script: id ( ) nl
| print expr eoln all script: print id nl
eoln ::= nl all script: return nl
| ; all script: return ;
assignment ::= id = expr all script: id = id nl

Non Terminals

Non terminalEpsilonFirstResultLastResultFollowResult
forinit_optional_7true
First(forinit)
var
id
Last(forinit)
integer
string
_boolean
)
id
scan
comma
comma
eofuncfalse
First(eob)
empty
break
empty
end
return
continue
Last(eob)
empty
empty
nl
;
end
Follow(func)
var
def
print
__eof__
_if
id
_for
_return
forupdatefalse
First(expr)
First(assignment)
integer
string
+
(
_boolean
-
id
scan
Last(expr)
Last(assignment)
integer
string
)
_boolean
id
scan
Follow(forupdate_optional_9)
colon
expr_optional_8true
First(expr)
integer
string
+
(
_boolean
-
id
scan
Last(expr)
integer
string
)
_boolean
id
scan
comma
comma
blocktrue
First(instr_star_5)
var
print
if
id
for
Last(instr_star_5)
nl
;
end
Follow(script)
First(return_instr_optional_1)
First(eob)
First(eofunc)
First(else_cont)
_break
_else
empty
__eof__
elif
end
_continue
_return
arg_star_11true
First(arg_star_11_sub)
integer
string
+
(
_boolean
-
id
scan
Last(arg_star_11_sub)
integer
string
)
_boolean
id
scan
rpar
rpar
parameter_star_3_subfalse
First(parameter)
type
id
Last(parameter)
id
Follow(parameter_star_3)
comma
rpar
comma
expr_optional_6true
First(expr)
integer
string
+
(
_boolean
-
id
scan
Last(expr)
integer
string
)
_boolean
id
scan
First(eoln)
semicolon
nl
arg_star_11_subfalse
First(arg)
integer
string
+
(
_boolean
-
id
scan
Last(arg)
integer
string
_boolean
)
id
scan
Follow(arg_star_11)
comma
rpar
comma
instr_star_5true
First(instr)
var
print
if
id
for
Last(instr)
;
nl
end
Follow(block)
First(instr)
_break
_else
_if
__eof__
id
_for
elif
_continue
var
empty
print
end
_return
funcfalse
def
def
Last(eofunc)
empty
;
nl
end
Follow(func_star_0)
var
print
def
_if
__eof__
id
_for
_return
constantfalse
integer
string
_boolean
integer
string
_boolean
integer
string
_boolean
integer
string
_boolean
Follow(expr)
star
gt
mod
slash
le
plus
ge
colon
semicolon
nl
lt
eq
ne
comma
rpar
minus
eobfalse
First(return_instr)
break
end
continue
break
end
return
continue
Last(return_instr)
Last(eoln)
end
;
nl
end
Follow(eofunc)
Follow(else_cont)
Follow(instr)
_break
_else
__eof__
_if
id
_for
elif
_continue
var
empty
def
print
end
_return
argfalse
First(expr)
id
integer
string
+
(
_boolean
-
id
scan
Last(expr)
integer
string
)
_boolean
id
scan
Follow(arg_star_11_sub)
comma
rpar
scripttrue
First(return_instr_optional_1)
First(block)
First(func_star_0)
var
def
print
if
id
for
return
Last(return_instr_optional_1)
Last(block)
Last(func_star_0)
empty
;
nl
end
__eof__
__eof__
forinitfalse
First(decl)
First(assignment)
var
id
Last(decl)
Last(assignment)
integer
string
_boolean
)
id
scan
Follow(forinit_optional_7)
comma
declfalse
var
var
Last(expr)
integer
string
_boolean
)
id
scan
Follow(forinit)
First(eoln)
semicolon
nl
comma
type_optional_10true
type
type
type
type
id
id
forupdate_optional_9true
First(forupdate)
integer
string
+
(
_boolean
-
id
scan
Last(forupdate)
integer
string
_boolean
)
id
scan
colon
colon
parameter_star_3true
First(parameter_star_3_sub)
type
id
Last(parameter_star_3_sub)
id
rpar
rpar
exprfalse
First(constant)
First(funcall)
+
(
-
id
scan
integer
string
+
(
_boolean
-
id
scan
Last(constant)
Last(funcall)
)
id
scan
integer
string
_boolean
)
id
scan
Follow(forupdate)
Follow(expr_optional_8)
Follow(arg)
Follow(expr_optional_6)
Follow(decl)
Follow(assignment)
First(eoln)
star
gt
slash
mod
le
plus
colon
ge
eq
lt
ne
rpar
minus
star
gt
mod
slash
le
plus
ge
colon
semicolon
nl
lt
eq
ne
comma
rpar
minus
type_optional_2true
type
type
type
type
id
id
return_instrfalse
return
return
Last(eoln)
;
nl
Follow(return_instr_optional_1)
Follow(eob)
_break
_else
__eof__
_if
id
_for
elif
_continue
var
empty
def
print
end
_return
func_star_0true
First(func)
def
Last(func)
empty
nl
;
end
Follow(script)
First(return_instr_optional_1)
First(block)
First(func)
var
def
print
__eof__
_if
id
_for
_return
return_instr_optional_1true
First(return_instr)
return
Last(return_instr)
nl
;
Follow(script)
__eof__
funcallfalse
id
id
)
)
Follow(expr)
First(eoln)
star
gt
mod
slash
le
plus
ge
colon
nl
semicolon
lt
eq
ne
rpar
comma
minus
else_contfalse
First(eob)
else
elif
break
else
end
elif
continue
return
Last(eob)
nl
;
end
Follow(instr)
_break
_else
_if
__eof__
id
_for
elif
_continue
var
empty
print
end
_return
type_optional_4true
type
type
type
type
id
id
parameterfalse
First(type_optional_4)
id
type
id
id
id
Follow(parameter_star_3_sub)
comma
rpar
-root-0false
First(script)
var
print
def
if
id
for
return
instrfalse
First(funcall)
First(decl)
First(assignment)
print
if
for
var
print
if
id
for
Last(eob)
Last(else_cont)
Last(eoln)
nl
;
end
Follow(instr_star_5)
_break
_else
_if
__eof__
id
_for
elif
_continue
var
empty
print
end
_return
eolnfalse
;
nl
nl
;
;
nl
nl
;
Follow(eob)
Follow(instr)
Follow(return_instr)
_break
_else
__eof__
_if
id
_for
elif
_continue
var
empty
def
print
end
_return
assignmentfalse
id
id
Last(expr)
integer
string
_boolean
)
id
scan
Follow(forupdate)
Follow(forinit)
First(eoln)
colon
semicolon
nl
comma

Start States

Non terminalStart State
scriptstate0

States

state0 - state 0:

Compatible versions : DEFAULT

Kernel itemsActions Gotoes
-root-0 ::= • script 
var: reduce by func_star_0 ::= ɛ
print: reduce by func_star_0 ::= ɛ
def: reduce by func_star_0 ::= ɛ
__eof__: reduce by func_star_0 ::= ɛ
_if: reduce by func_star_0 ::= ɛ
id: reduce by func_star_0 ::= ɛ
_for: reduce by func_star_0 ::= ɛ
_return: reduce by func_star_0 ::= ɛ
branch: reduce by func_star_0 ::= ɛ
script:state1
func_star_0:state3

state1 - state 0:

Compatible versions : DEFAULT

Kernel itemsActions
-root-0 ::= script • 
__eof__: accept
branch: exit exit

state2 - state 0: ␄

Compatible versions : DEFAULT

Kernel itemsActions
-root-0 ::= script  •
__eof__: accept
branch: exit exit

state3 - state 0:

Compatible versions : DEFAULT

Kernel itemsActions Gotoes
func_star_0 ::= func_star_0 • func
script ::= func_star_0 • block return_instr_optional_1
var: reduce by instr_star_5 ::= ɛ
print: reduce by instr_star_5 ::= ɛ
def: shift to state4
_if: reduce by instr_star_5 ::= ɛ
__eof__: reduce by instr_star_5 ::= ɛ
id: reduce by instr_star_5 ::= ɛ
_for: reduce by instr_star_5 ::= ɛ
_return: reduce by instr_star_5 ::= ɛ
branch: reduce by instr_star_5 ::= ɛ
block:state135
instr_star_5:state82
func:state138

state4 - state 0: def

Compatible versions : DEFAULT

Kernel itemsActions Gotoes
func ::= def • type_optional_2 id ( parameter_star_3 ) : block eofunc
type: shift to state5
id: reduce by type_optional_2 ::= ɛ
type_optional_2:state6

state5 - state 0: def type

Compatible versions : DEFAULT

Kernel itemsActions
type_optional_2 ::= type •
id: reduce by type_optional_2 ::= type

state6 - state 0: def

Compatible versions : DEFAULT

Kernel itemsActions
func ::= def type_optional_2 • id ( parameter_star_3 ) : block eofunc
id: shift to state7

state7 - state 0: def id

Compatible versions : DEFAULT

Kernel itemsActions
func ::= def type_optional_2 id • ( parameter_star_3 ) : block eofunc
lpar: shift to state8

state8 - state 0: def id (

Compatible versions : DEFAULT

Kernel itemsActions Gotoes
func ::= def type_optional_2 id ( • parameter_star_3 ) : block eofunc
type: shift to state9
rpar: reduce by parameter_star_3 ::= ɛ
id: reduce by type_optional_4 ::= ɛ
parameter:state12
type_optional_4:state10
parameter_star_3_sub:state13
parameter_star_3:state16

state9 - state 0: def id ( type

Compatible versions : DEFAULT

Kernel itemsActions
type_optional_4 ::= type •
id: reduce by type_optional_4 ::= type

state10 - state 0: def id (

Compatible versions : DEFAULT

Kernel itemsActions
parameter ::= type_optional_4 • id
id: shift to state11

state11 - state 0: def id ( id

Compatible versions : DEFAULT

Kernel itemsActions
parameter ::= type_optional_4 id •
comma: reduce by parameter ::= type_optional_4 id
rpar: reduce by parameter ::= type_optional_4 id

state12 - state 0: def id ( id

Compatible versions : DEFAULT

Kernel itemsActions
parameter_star_3_sub ::= parameter •
rpar: reduce by parameter_star_3_sub ::= parameter
comma: reduce by parameter_star_3_sub ::= parameter

state13 - state 0: def id ( id

Compatible versions : DEFAULT

Kernel itemsActions
parameter_star_3_sub ::= parameter_star_3_sub • , parameter
parameter_star_3 ::= parameter_star_3_sub •
rpar: reduce by parameter_star_3 ::= parameter_star_3_sub
comma: shift to state14

state14 - state 0: def id ( id ,

Compatible versions : DEFAULT

Kernel itemsActions Gotoes
parameter_star_3_sub ::= parameter_star_3_sub , • parameter
type: shift to state9
id: reduce by type_optional_4 ::= ɛ
parameter:state15
type_optional_4:state10

state15 - state 0: def id ( id , id

Compatible versions : DEFAULT

Kernel itemsActions
parameter_star_3_sub ::= parameter_star_3_sub , parameter •
comma: reduce by parameter_star_3_sub ::= parameter_star_3_sub , parameter
rpar: reduce by parameter_star_3_sub ::= parameter_star_3_sub , parameter

state16 - state 0: def id (

Compatible versions : DEFAULT

Kernel itemsActions
func ::= def type_optional_2 id ( parameter_star_3 • ) : block eofunc
rpar: shift to state17

state17 - state 0: def id ( )

Compatible versions : DEFAULT

Kernel itemsActions
func ::= def type_optional_2 id ( parameter_star_3 ) • : block eofunc
colon: shift to state18

state18 - state 0: def id ( ) :

Compatible versions : DEFAULT

Kernel itemsActions Gotoes
func ::= def type_optional_2 id ( parameter_star_3 ) : • block eofunc
_break: reduce by instr_star_5 ::= ɛ
var: reduce by instr_star_5 ::= ɛ
empty: reduce by instr_star_5 ::= ɛ
print: reduce by instr_star_5 ::= ɛ
_if: reduce by instr_star_5 ::= ɛ
id: reduce by instr_star_5 ::= ɛ
end: reduce by instr_star_5 ::= ɛ
_for: reduce by instr_star_5 ::= ɛ
_continue: reduce by instr_star_5 ::= ɛ
_return: reduce by instr_star_5 ::= ɛ
block:state19
instr_star_5:state82

state19 - state 0: def id ( ) :

Compatible versions : DEFAULT

Kernel itemsActions Gotoes
func ::= def type_optional_2 id ( parameter_star_3 ) : block • eofunc
_break: shift to state20
empty: shift to state24
end: shift to state25
_continue: shift to state26
_return: shift to state28
eob:state79
eofunc:state80
return_instr:state81

state20 - state 0: if id : break

Compatible versions : DEFAULT

Kernel itemsActions Gotoes
eob ::= break • eoln
nl: shift to state21
semicolon: shift to state22
eoln:state23

state21 - state 0: return nl

Compatible versions : DEFAULT

Kernel itemsActions
eoln ::= nl •
_break: reduce by eoln ::= nl
_else: reduce by eoln ::= nl
_if: reduce by eoln ::= nl
__eof__: reduce by eoln ::= nl
id: reduce by eoln ::= nl
elif: reduce by eoln ::= nl
_for: reduce by eoln ::= nl
_continue: reduce by eoln ::= nl
var: reduce by eoln ::= nl
empty: reduce by eoln ::= nl
def: reduce by eoln ::= nl
print: reduce by eoln ::= nl
end: reduce by eoln ::= nl
_return: reduce by eoln ::= nl
branch: reduce by eoln ::= nl

state22 - state 0: return ;

Compatible versions : DEFAULT

Kernel itemsActions
eoln ::= ; •
_break: reduce by eoln ::= ;
_else: reduce by eoln ::= ;
_if: reduce by eoln ::= ;
__eof__: reduce by eoln ::= ;
id: reduce by eoln ::= ;
elif: reduce by eoln ::= ;
_for: reduce by eoln ::= ;
_continue: reduce by eoln ::= ;
var: reduce by eoln ::= ;
empty: reduce by eoln ::= ;
def: reduce by eoln ::= ;
print: reduce by eoln ::= ;
end: reduce by eoln ::= ;
_return: reduce by eoln ::= ;
branch: reduce by eoln ::= ;

state23 - state 0: if id : break nl

Compatible versions : DEFAULT

Kernel itemsActions
eob ::= break eoln •
_break: reduce by eob ::= break eoln
_else: reduce by eob ::= break eoln
_if: reduce by eob ::= break eoln
__eof__: reduce by eob ::= break eoln
id: reduce by eob ::= break eoln
elif: reduce by eob ::= break eoln
_for: reduce by eob ::= break eoln
_continue: reduce by eob ::= break eoln
var: reduce by eob ::= break eoln
empty: reduce by eob ::= break eoln
def: reduce by eob ::= break eoln
print: reduce by eob ::= break eoln
end: reduce by eob ::= break eoln
_return: reduce by eob ::= break eoln
branch: reduce by eob ::= break eoln

state24 - state 0: def id ( ) : empty

Compatible versions : DEFAULT

Kernel itemsActions
eofunc ::= empty •
var: reduce by eofunc ::= empty
print: reduce by eofunc ::= empty
def: reduce by eofunc ::= empty
__eof__: reduce by eofunc ::= empty
_if: reduce by eofunc ::= empty
id: reduce by eofunc ::= empty
_for: reduce by eofunc ::= empty
_return: reduce by eofunc ::= empty
branch: reduce by eofunc ::= empty

state25 - state 0: if id : end

Compatible versions : DEFAULT

Kernel itemsActions
eob ::= end •
_break: reduce by eob ::= end
_else: reduce by eob ::= end
_if: reduce by eob ::= end
__eof__: reduce by eob ::= end
id: reduce by eob ::= end
_for: reduce by eob ::= end
elif: reduce by eob ::= end
_continue: reduce by eob ::= end
var: reduce by eob ::= end
empty: reduce by eob ::= end
def: reduce by eob ::= end
print: reduce by eob ::= end
end: reduce by eob ::= end
_return: reduce by eob ::= end
branch: reduce by eob ::= end

state26 - state 0: if id : continue

Compatible versions : DEFAULT

Kernel itemsActions Gotoes
eob ::= continue • eoln
nl: shift to state21
semicolon: shift to state22
eoln:state27

state27 - state 0: if id : continue nl

Compatible versions : DEFAULT

Kernel itemsActions
eob ::= continue eoln •
_break: reduce by eob ::= continue eoln
_else: reduce by eob ::= continue eoln
_if: reduce by eob ::= continue eoln
__eof__: reduce by eob ::= continue eoln
id: reduce by eob ::= continue eoln
elif: reduce by eob ::= continue eoln
_for: reduce by eob ::= continue eoln
_continue: reduce by eob ::= continue eoln
var: reduce by eob ::= continue eoln
empty: reduce by eob ::= continue eoln
def: reduce by eob ::= continue eoln
print: reduce by eob ::= continue eoln
end: reduce by eob ::= continue eoln
_return: reduce by eob ::= continue eoln
branch: reduce by eob ::= continue eoln

state28 - state 0: return

Compatible versions : DEFAULT

Kernel itemsActions Gotoes
return_instr ::= return • expr_optional_6 eoln
integer: shift to state29
string: shift to state30
plus: shift to state31
nl: reduce by expr_optional_6 ::= ɛ
semicolon: reduce by expr_optional_6 ::= ɛ
lpar: shift to state32
_boolean: shift to state33
minus: shift to state34
id: shift to state35
scan: shift to state39
constant:state40
expr:state76
funcall:state64
expr_optional_6:state77

state29 - state 0: print integer

Compatible versions : DEFAULT

Kernel itemsActions
constant ::= integer •
star: reduce by constant ::= integer
gt: reduce by constant ::= integer
slash: reduce by constant ::= integer
mod: reduce by constant ::= integer
le: reduce by constant ::= integer
plus: reduce by constant ::= integer
colon: reduce by constant ::= integer
ge: reduce by constant ::= integer
lt: reduce by constant ::= integer
nl: reduce by constant ::= integer
semicolon: reduce by constant ::= integer
eq: reduce by constant ::= integer
ne: reduce by constant ::= integer
rpar: reduce by constant ::= integer
comma: reduce by constant ::= integer
minus: reduce by constant ::= integer

state30 - state 0: print string

Compatible versions : DEFAULT

Kernel itemsActions
constant ::= string •
star: reduce by constant ::= string
gt: reduce by constant ::= string
mod: reduce by constant ::= string
slash: reduce by constant ::= string
le: reduce by constant ::= string
plus: reduce by constant ::= string
colon: reduce by constant ::= string
ge: reduce by constant ::= string
nl: reduce by constant ::= string
semicolon: reduce by constant ::= string
eq: reduce by constant ::= string
lt: reduce by constant ::= string
ne: reduce by constant ::= string
rpar: reduce by constant ::= string
comma: reduce by constant ::= string
minus: reduce by constant ::= string

state31 - state 0: print +

Compatible versions : DEFAULT

Kernel itemsActions Gotoes
expr ::= + • expr
integer: shift to state29
string: shift to state30
plus: shift to state31
lpar: shift to state32
_boolean: shift to state33
minus: shift to state34
id: shift to state35
scan: shift to state39
expr:state75
constant:state40
funcall:state64

state32 - state 0: print (

Compatible versions : DEFAULT

Kernel itemsActions Gotoes
expr ::= ( • expr )
integer: shift to state29
string: shift to state30
plus: shift to state31
lpar: shift to state32
_boolean: shift to state33
minus: shift to state34
id: shift to state35
scan: shift to state39
expr:state73
constant:state40
funcall:state64

state33 - state 0: print _boolean

Compatible versions : DEFAULT

Kernel itemsActions
constant ::= _boolean •
star: reduce by constant ::= _boolean
gt: reduce by constant ::= _boolean
slash: reduce by constant ::= _boolean
mod: reduce by constant ::= _boolean
le: reduce by constant ::= _boolean
plus: reduce by constant ::= _boolean
colon: reduce by constant ::= _boolean
ge: reduce by constant ::= _boolean
nl: reduce by constant ::= _boolean
semicolon: reduce by constant ::= _boolean
eq: reduce by constant ::= _boolean
lt: reduce by constant ::= _boolean
ne: reduce by constant ::= _boolean
rpar: reduce by constant ::= _boolean
comma: reduce by constant ::= _boolean
minus: reduce by constant ::= _boolean

state34 - state 0: print -

Compatible versions : DEFAULT

Kernel itemsActions Gotoes
expr ::= - • expr
integer: shift to state29
string: shift to state30
plus: shift to state31
lpar: shift to state32
_boolean: shift to state33
minus: shift to state34
id: shift to state35
scan: shift to state39
expr:state72
constant:state40
funcall:state64

state35 - state 0: print id

Compatible versions : DEFAULT

Kernel itemsActions
funcall ::= id • ( arg_star_11 )
expr ::= id •
lpar: shift to state36
star: reduce by expr ::= id
gt: reduce by expr ::= id
slash: reduce by expr ::= id
mod: reduce by expr ::= id
le: reduce by expr ::= id
plus: reduce by expr ::= id
colon: reduce by expr ::= id
ge: reduce by expr ::= id
eq: reduce by expr ::= id
nl: reduce by expr ::= id
semicolon: reduce by expr ::= id
lt: reduce by expr ::= id
ne: reduce by expr ::= id
rpar: reduce by expr ::= id
comma: reduce by expr ::= id
minus: reduce by expr ::= id

state36 - state 0: id (

Compatible versions : DEFAULT

Kernel itemsActions Gotoes
funcall ::= id ( • arg_star_11 )
integer: shift to state29
string: shift to state30
plus: shift to state31
lpar: shift to state32
rpar: reduce by arg_star_11 ::= ɛ
_boolean: shift to state33
minus: shift to state34
id: shift to state37
scan: shift to state39
constant:state40
expr:state65
funcall:state64
arg:state66
arg_star_11:state67
arg_star_11_sub:state69

state37 - state 0: id ( id

Compatible versions : DEFAULT

Kernel itemsActions
arg ::= id • : expr
funcall ::= id • ( arg_star_11 )
expr ::= id •
lpar: shift to state36
star: reduce by expr ::= id
gt: reduce by expr ::= id
slash: reduce by expr ::= id
mod: reduce by expr ::= id
le: reduce by expr ::= id
plus: reduce by expr ::= id
colon: shift to state38
ge: reduce by expr ::= id
eq: reduce by expr ::= id
lt: reduce by expr ::= id
ne: reduce by expr ::= id
comma: reduce by expr ::= id
rpar: reduce by expr ::= id
minus: reduce by expr ::= id

state38 - state 0: id ( id :

Compatible versions : DEFAULT

Kernel itemsActions Gotoes
arg ::= id : • expr
integer: shift to state29
string: shift to state30
plus: shift to state31
lpar: shift to state32
_boolean: shift to state33
minus: shift to state34
id: shift to state35
scan: shift to state39
expr:state41
constant:state40
funcall:state64

state39 - state 0: print scan

Compatible versions : DEFAULT

Kernel itemsActions
expr ::= scan •
star: reduce by expr ::= scan
gt: reduce by expr ::= scan
mod: reduce by expr ::= scan
slash: reduce by expr ::= scan
le: reduce by expr ::= scan
plus: reduce by expr ::= scan
colon: reduce by expr ::= scan
ge: reduce by expr ::= scan
eq: reduce by expr ::= scan
nl: reduce by expr ::= scan
semicolon: reduce by expr ::= scan
lt: reduce by expr ::= scan
ne: reduce by expr ::= scan
rpar: reduce by expr ::= scan
comma: reduce by expr ::= scan
minus: reduce by expr ::= scan

state40 - state 0: print _boolean

Compatible versions : DEFAULT

Kernel itemsActions
expr ::= constant •
star: reduce by expr ::= constant
gt: reduce by expr ::= constant
slash: reduce by expr ::= constant
mod: reduce by expr ::= constant
le: reduce by expr ::= constant
plus: reduce by expr ::= constant
colon: reduce by expr ::= constant
ge: reduce by expr ::= constant
eq: reduce by expr ::= constant
semicolon: reduce by expr ::= constant
nl: reduce by expr ::= constant
lt: reduce by expr ::= constant
ne: reduce by expr ::= constant
rpar: reduce by expr ::= constant
comma: reduce by expr ::= constant
minus: reduce by expr ::= constant

state41 - state 0: id ( id : id

Compatible versions : DEFAULT

Kernel itemsActions
expr ::= expr • < expr
expr ::= expr • > expr
expr ::= expr • - expr
arg ::= id : expr •
expr ::= expr • <= expr
expr ::= expr • % expr
expr ::= expr • / expr
expr ::= expr • >= expr
expr ::= expr • * expr
expr ::= expr • + expr
expr ::= expr • != expr
expr ::= expr • == expr
star: shift to state52
gt: shift to state58
mod: shift to state62
slash: shift to state60
le: shift to state42
plus: shift to state44
ge: shift to state46
lt: shift to state50
eq: shift to state48
ne: shift to state54
rpar: reduce by arg ::= id : expr
comma: reduce by arg ::= id : expr
minus: shift to state56

state42 - state 0: if id <=

Compatible versions : DEFAULT

Kernel itemsActions Gotoes
expr ::= expr <= • expr
integer: shift to state29
string: shift to state30
plus: shift to state31
lpar: shift to state32
_boolean: shift to state33
minus: shift to state34
id: shift to state35
scan: shift to state39
expr:state43
constant:state40
funcall:state64

state43 - state 0: if id <= id

Compatible versions : DEFAULT

Kernel itemsActions
expr ::= expr <= expr •
expr ::= expr • < expr
expr ::= expr • > expr
expr ::= expr • - expr
expr ::= expr • <= expr
expr ::= expr • % expr
expr ::= expr • / expr
expr ::= expr • >= expr
expr ::= expr • * expr
expr ::= expr • + expr
expr ::= expr • != expr
expr ::= expr • == expr
star: shift to state52,reduce by expr ::= expr <= expr
gt: reduce by expr ::= expr <= expr,shift to state58
mod: reduce by expr ::= expr <= expr,shift to state62
slash: shift to state60,reduce by expr ::= expr <= expr
le: shift to state42,reduce by expr ::= expr <= expr
plus: shift to state44,reduce by expr ::= expr <= expr
ge: reduce by expr ::= expr <= expr,shift to state46
colon: reduce by expr ::= expr <= expr
nl: reduce by expr ::= expr <= expr
lt: shift to state50,reduce by expr ::= expr <= expr
eq: shift to state48,reduce by expr ::= expr <= expr
semicolon: reduce by expr ::= expr <= expr
ne: reduce by expr ::= expr <= expr,shift to state54
comma: reduce by expr ::= expr <= expr
rpar: reduce by expr ::= expr <= expr
minus: shift to state56,reduce by expr ::= expr <= expr

state44 - state 0: if id +

Compatible versions : DEFAULT

Kernel itemsActions Gotoes
expr ::= expr + • expr
integer: shift to state29
string: shift to state30
plus: shift to state31
lpar: shift to state32
_boolean: shift to state33
minus: shift to state34
id: shift to state35
scan: shift to state39
expr:state45
constant:state40
funcall:state64

state45 - state 0: if id + id

Compatible versions : DEFAULT

Kernel itemsActions
expr ::= expr • < expr
expr ::= expr • > expr
expr ::= expr • - expr
expr ::= expr • <= expr
expr ::= expr • % expr
expr ::= expr • / expr
expr ::= expr • >= expr
expr ::= expr • * expr
expr ::= expr + expr •
expr ::= expr • + expr
expr ::= expr • != expr
expr ::= expr • == expr
star: shift to state52,reduce by expr ::= expr + expr
gt: reduce by expr ::= expr + expr,shift to state58
mod: reduce by expr ::= expr + expr,shift to state62
slash: shift to state60,reduce by expr ::= expr + expr
le: shift to state42,reduce by expr ::= expr + expr
plus: shift to state44,reduce by expr ::= expr + expr
ge: reduce by expr ::= expr + expr,shift to state46
colon: reduce by expr ::= expr + expr
semicolon: reduce by expr ::= expr + expr
lt: shift to state50,reduce by expr ::= expr + expr
eq: shift to state48,reduce by expr ::= expr + expr
nl: reduce by expr ::= expr + expr
ne: reduce by expr ::= expr + expr,shift to state54
comma: reduce by expr ::= expr + expr
rpar: reduce by expr ::= expr + expr
minus: shift to state56,reduce by expr ::= expr + expr

state46 - state 0: if id >=

Compatible versions : DEFAULT

Kernel itemsActions Gotoes
expr ::= expr >= • expr
integer: shift to state29
string: shift to state30
plus: shift to state31
lpar: shift to state32
_boolean: shift to state33
minus: shift to state34
id: shift to state35
scan: shift to state39
expr:state47
constant:state40
funcall:state64

state47 - state 0: if id >= id

Compatible versions : DEFAULT

Kernel itemsActions
expr ::= expr >= expr •
expr ::= expr • < expr
expr ::= expr • > expr
expr ::= expr • - expr
expr ::= expr • <= expr
expr ::= expr • % expr
expr ::= expr • / expr
expr ::= expr • >= expr
expr ::= expr • * expr
expr ::= expr • + expr
expr ::= expr • != expr
expr ::= expr • == expr
star: shift to state52,reduce by expr ::= expr >= expr
gt: reduce by expr ::= expr >= expr,shift to state58
mod: reduce by expr ::= expr >= expr,shift to state62
slash: shift to state60,reduce by expr ::= expr >= expr
le: shift to state42,reduce by expr ::= expr >= expr
plus: shift to state44,reduce by expr ::= expr >= expr
ge: reduce by expr ::= expr >= expr,shift to state46
colon: reduce by expr ::= expr >= expr
semicolon: reduce by expr ::= expr >= expr
lt: shift to state50,reduce by expr ::= expr >= expr
eq: shift to state48,reduce by expr ::= expr >= expr
nl: reduce by expr ::= expr >= expr
ne: shift to state54,reduce by expr ::= expr >= expr
comma: reduce by expr ::= expr >= expr
rpar: reduce by expr ::= expr >= expr
minus: shift to state56,reduce by expr ::= expr >= expr

state48 - state 0: if id ==

Compatible versions : DEFAULT

Kernel itemsActions Gotoes
expr ::= expr == • expr
integer: shift to state29
string: shift to state30
plus: shift to state31
lpar: shift to state32
_boolean: shift to state33
minus: shift to state34
id: shift to state35
scan: shift to state39
expr:state49
constant:state40
funcall:state64

state49 - state 0: if id == id

Compatible versions : DEFAULT

Kernel itemsActions
expr ::= expr • < expr
expr ::= expr • > expr
expr ::= expr • - expr
expr ::= expr • <= expr
expr ::= expr • % expr
expr ::= expr • / expr
expr ::= expr • >= expr
expr ::= expr • * expr
expr ::= expr • + expr
expr ::= expr • != expr
expr ::= expr • == expr
expr ::= expr == expr •
star: shift to state52,reduce by expr ::= expr == expr
gt: reduce by expr ::= expr == expr,shift to state58
mod: shift to state62,reduce by expr ::= expr == expr
slash: shift to state60,reduce by expr ::= expr == expr
le: shift to state42,reduce by expr ::= expr == expr
plus: shift to state44,reduce by expr ::= expr == expr
ge: shift to state46,reduce by expr ::= expr == expr
colon: reduce by expr ::= expr == expr
nl: reduce by expr ::= expr == expr
lt: shift to state50,reduce by expr ::= expr == expr
eq: shift to state48,reduce by expr ::= expr == expr
semicolon: reduce by expr ::= expr == expr
ne: shift to state54,reduce by expr ::= expr == expr
comma: reduce by expr ::= expr == expr
rpar: reduce by expr ::= expr == expr
minus: shift to state56,reduce by expr ::= expr == expr

state50 - state 0: if id <

Compatible versions : DEFAULT

Kernel itemsActions Gotoes
expr ::= expr < • expr
integer: shift to state29
string: shift to state30
plus: shift to state31
lpar: shift to state32
_boolean: shift to state33
minus: shift to state34
id: shift to state35
scan: shift to state39
expr:state51
constant:state40
funcall:state64

state51 - state 0: if id < id

Compatible versions : DEFAULT

Kernel itemsActions
expr ::= expr • < expr
expr ::= expr • > expr
expr ::= expr • - expr
expr ::= expr < expr •
expr ::= expr • <= expr
expr ::= expr • % expr
expr ::= expr • / expr
expr ::= expr • >= expr
expr ::= expr • * expr
expr ::= expr • + expr
expr ::= expr • != expr
expr ::= expr • == expr
star: reduce by expr ::= expr < expr,shift to state52
gt: reduce by expr ::= expr < expr,shift to state58
mod: reduce by expr ::= expr < expr,shift to state62
slash: reduce by expr ::= expr < expr,shift to state60
le: reduce by expr ::= expr < expr,shift to state42
plus: reduce by expr ::= expr < expr,shift to state44
ge: reduce by expr ::= expr < expr,shift to state46
colon: reduce by expr ::= expr < expr
semicolon: reduce by expr ::= expr < expr
lt: reduce by expr ::= expr < expr,shift to state50
eq: reduce by expr ::= expr < expr,shift to state48
nl: reduce by expr ::= expr < expr
ne: reduce by expr ::= expr < expr,shift to state54
comma: reduce by expr ::= expr < expr
rpar: reduce by expr ::= expr < expr
minus: reduce by expr ::= expr < expr,shift to state56

state52 - state 0: if id *

Compatible versions : DEFAULT

Kernel itemsActions Gotoes
expr ::= expr * • expr
integer: shift to state29
string: shift to state30
plus: shift to state31
lpar: shift to state32
_boolean: shift to state33
minus: shift to state34
id: shift to state35
scan: shift to state39
expr:state53
constant:state40
funcall:state64

state53 - state 0: if id * id

Compatible versions : DEFAULT

Kernel itemsActions
expr ::= expr • < expr
expr ::= expr • > expr
expr ::= expr * expr •
expr ::= expr • - expr
expr ::= expr • <= expr
expr ::= expr • % expr
expr ::= expr • / expr
expr ::= expr • >= expr
expr ::= expr • * expr
expr ::= expr • + expr
expr ::= expr • != expr
expr ::= expr • == expr
star: reduce by expr ::= expr * expr,shift to state52
gt: reduce by expr ::= expr * expr,shift to state58
mod: reduce by expr ::= expr * expr,shift to state62
slash: reduce by expr ::= expr * expr,shift to state60
le: reduce by expr ::= expr * expr,shift to state42
plus: shift to state44,reduce by expr ::= expr * expr
ge: reduce by expr ::= expr * expr,shift to state46
colon: reduce by expr ::= expr * expr
nl: reduce by expr ::= expr * expr
lt: reduce by expr ::= expr * expr,shift to state50
eq: reduce by expr ::= expr * expr,shift to state48
semicolon: reduce by expr ::= expr * expr
ne: reduce by expr ::= expr * expr,shift to state54
comma: reduce by expr ::= expr * expr
rpar: reduce by expr ::= expr * expr
minus: shift to state56,reduce by expr ::= expr * expr

state54 - state 0: if id !=

Compatible versions : DEFAULT

Kernel itemsActions Gotoes
expr ::= expr != • expr
integer: shift to state29
string: shift to state30
plus: shift to state31
lpar: shift to state32
_boolean: shift to state33
minus: shift to state34
id: shift to state35
scan: shift to state39
expr:state55
constant:state40
funcall:state64

state55 - state 0: if id != id

Compatible versions : DEFAULT

Kernel itemsActions
expr ::= expr • < expr
expr ::= expr • > expr
expr ::= expr • - expr
expr ::= expr • <= expr
expr ::= expr • % expr
expr ::= expr • / expr
expr ::= expr • >= expr
expr ::= expr • * expr
expr ::= expr • + expr
expr ::= expr • != expr
expr ::= expr != expr •
expr ::= expr • == expr
star: shift to state52,reduce by expr ::= expr != expr
gt: reduce by expr ::= expr != expr,shift to state58
mod: shift to state62,reduce by expr ::= expr != expr
slash: shift to state60,reduce by expr ::= expr != expr
le: shift to state42,reduce by expr ::= expr != expr
plus: shift to state44,reduce by expr ::= expr != expr
ge: reduce by expr ::= expr != expr,shift to state46
colon: reduce by expr ::= expr != expr
nl: reduce by expr ::= expr != expr
lt: shift to state50,reduce by expr ::= expr != expr
eq: shift to state48,reduce by expr ::= expr != expr
semicolon: reduce by expr ::= expr != expr
ne: shift to state54,reduce by expr ::= expr != expr
comma: reduce by expr ::= expr != expr
rpar: reduce by expr ::= expr != expr
minus: shift to state56,reduce by expr ::= expr != expr

state56 - state 0: if id -

Compatible versions : DEFAULT

Kernel itemsActions Gotoes
expr ::= expr - • expr
integer: shift to state29
string: shift to state30
plus: shift to state31
lpar: shift to state32
_boolean: shift to state33
minus: shift to state34
id: shift to state35
scan: shift to state39
expr:state57
constant:state40
funcall:state64

state57 - state 0: if id - id

Compatible versions : DEFAULT

Kernel itemsActions
expr ::= expr • < expr
expr ::= expr • > expr
expr ::= expr • - expr
expr ::= expr • <= expr
expr ::= expr • % expr
expr ::= expr • / expr
expr ::= expr • >= expr
expr ::= expr - expr •
expr ::= expr • * expr
expr ::= expr • + expr
expr ::= expr • != expr
expr ::= expr • == expr
star: shift to state52,reduce by expr ::= expr - expr
gt: reduce by expr ::= expr - expr,shift to state58
mod: reduce by expr ::= expr - expr,shift to state62
slash: shift to state60,reduce by expr ::= expr - expr
le: shift to state42,reduce by expr ::= expr - expr
plus: shift to state44,reduce by expr ::= expr - expr
ge: reduce by expr ::= expr - expr,shift to state46
colon: reduce by expr ::= expr - expr
semicolon: reduce by expr ::= expr - expr
lt: shift to state50,reduce by expr ::= expr - expr
eq: shift to state48,reduce by expr ::= expr - expr
nl: reduce by expr ::= expr - expr
ne: reduce by expr ::= expr - expr,shift to state54
rpar: reduce by expr ::= expr - expr
comma: reduce by expr ::= expr - expr
minus: shift to state56,reduce by expr ::= expr - expr

state58 - state 0: if id >

Compatible versions : DEFAULT

Kernel itemsActions Gotoes
expr ::= expr > • expr
integer: shift to state29
string: shift to state30
plus: shift to state31
lpar: shift to state32
_boolean: shift to state33
minus: shift to state34
id: shift to state35
scan: shift to state39
expr:state59
constant:state40
funcall:state64

state59 - state 0: if id > id

Compatible versions : DEFAULT

Kernel itemsActions
expr ::= expr • < expr
expr ::= expr • > expr
expr ::= expr • - expr
expr ::= expr > expr •
expr ::= expr • <= expr
expr ::= expr • % expr
expr ::= expr • / expr
expr ::= expr • >= expr
expr ::= expr • * expr
expr ::= expr • + expr
expr ::= expr • != expr
expr ::= expr • == expr
star: reduce by expr ::= expr > expr,shift to state52
gt: reduce by expr ::= expr > expr,shift to state58
mod: reduce by expr ::= expr > expr,shift to state62
slash: reduce by expr ::= expr > expr,shift to state60
le: reduce by expr ::= expr > expr,shift to state42
plus: reduce by expr ::= expr > expr,shift to state44
ge: reduce by expr ::= expr > expr,shift to state46
colon: reduce by expr ::= expr > expr
semicolon: reduce by expr ::= expr > expr
lt: reduce by expr ::= expr > expr,shift to state50
eq: reduce by expr ::= expr > expr,shift to state48
nl: reduce by expr ::= expr > expr
ne: reduce by expr ::= expr > expr,shift to state54
rpar: reduce by expr ::= expr > expr
comma: reduce by expr ::= expr > expr
minus: reduce by expr ::= expr > expr,shift to state56

state60 - state 0: if id /

Compatible versions : DEFAULT

Kernel itemsActions Gotoes
expr ::= expr / • expr
integer: shift to state29
string: shift to state30
plus: shift to state31
lpar: shift to state32
_boolean: shift to state33
minus: shift to state34
id: shift to state35
scan: shift to state39
expr:state61
constant:state40
funcall:state64

state61 - state 0: if id / id

Compatible versions : DEFAULT

Kernel itemsActions
expr ::= expr / expr •
expr ::= expr • < expr
expr ::= expr • > expr
expr ::= expr • - expr
expr ::= expr • <= expr
expr ::= expr • % expr
expr ::= expr • / expr
expr ::= expr • >= expr
expr ::= expr • * expr
expr ::= expr • + expr
expr ::= expr • != expr
expr ::= expr • == expr
star: reduce by expr ::= expr / expr,shift to state52
gt: reduce by expr ::= expr / expr,shift to state58
mod: reduce by expr ::= expr / expr,shift to state62
slash: reduce by expr ::= expr / expr,shift to state60
le: reduce by expr ::= expr / expr,shift to state42
plus: shift to state44,reduce by expr ::= expr / expr
ge: reduce by expr ::= expr / expr,shift to state46
colon: reduce by expr ::= expr / expr
nl: reduce by expr ::= expr / expr
lt: reduce by expr ::= expr / expr,shift to state50
eq: reduce by expr ::= expr / expr,shift to state48
semicolon: reduce by expr ::= expr / expr
ne: reduce by expr ::= expr / expr,shift to state54
comma: reduce by expr ::= expr / expr
rpar: reduce by expr ::= expr / expr
minus: shift to state56,reduce by expr ::= expr / expr

state62 - state 0: if id %

Compatible versions : DEFAULT

Kernel itemsActions Gotoes
expr ::= expr % • expr
integer: shift to state29
string: shift to state30
plus: shift to state31
lpar: shift to state32
_boolean: shift to state33
minus: shift to state34
id: shift to state35
scan: shift to state39
expr:state63
constant:state40
funcall:state64

state63 - state 0: if id % id

Compatible versions : DEFAULT

Kernel itemsActions
expr ::= expr % expr •
expr ::= expr • < expr
expr ::= expr • > expr
expr ::= expr • - expr
expr ::= expr • <= expr
expr ::= expr • % expr
expr ::= expr • / expr
expr ::= expr • >= expr
expr ::= expr • * expr
expr ::= expr • + expr
expr ::= expr • != expr
expr ::= expr • == expr
star: shift to state52,reduce by expr ::= expr % expr
gt: reduce by expr ::= expr % expr,shift to state58
mod: reduce by expr ::= expr % expr,shift to state62
slash: reduce by expr ::= expr % expr,shift to state60
le: shift to state42,reduce by expr ::= expr % expr
plus: shift to state44,reduce by expr ::= expr % expr
ge: reduce by expr ::= expr % expr,shift to state46
colon: reduce by expr ::= expr % expr
nl: reduce by expr ::= expr % expr
lt: reduce by expr ::= expr % expr,shift to state50
eq: reduce by expr ::= expr % expr,shift to state48
semicolon: reduce by expr ::= expr % expr
ne: reduce by expr ::= expr % expr,shift to state54
comma: reduce by expr ::= expr % expr
rpar: reduce by expr ::= expr % expr
minus: shift to state56,reduce by expr ::= expr % expr

state64 - state 0: print id ( )

Compatible versions : DEFAULT

Kernel itemsActions
expr ::= funcall •
star: reduce by expr ::= funcall
gt: reduce by expr ::= funcall
slash: reduce by expr ::= funcall
mod: reduce by expr ::= funcall
le: reduce by expr ::= funcall
plus: reduce by expr ::= funcall
colon: reduce by expr ::= funcall
ge: reduce by expr ::= funcall
lt: reduce by expr ::= funcall
eq: reduce by expr ::= funcall
semicolon: reduce by expr ::= funcall
nl: reduce by expr ::= funcall
ne: reduce by expr ::= funcall
rpar: reduce by expr ::= funcall
comma: reduce by expr ::= funcall
minus: reduce by expr ::= funcall

state65 - state 0: id ( id

Compatible versions : DEFAULT

Kernel itemsActions
expr ::= expr • > expr
expr ::= expr • < expr
expr ::= expr • - expr
expr ::= expr • >= expr
expr ::= expr • / expr
expr ::= expr • % expr
expr ::= expr • <= expr
expr ::= expr • * expr
arg ::= expr •
expr ::= expr • + expr
expr ::= expr • != expr
expr ::= expr • == expr
star: shift to state52
gt: shift to state58
slash: shift to state60
mod: shift to state62
le: shift to state42
plus: shift to state44
ge: shift to state46
lt: shift to state50
eq: shift to state48
ne: shift to state54
rpar: reduce by arg ::= expr
comma: reduce by arg ::= expr
minus: shift to state56

state66 - state 0: id ( id

Compatible versions : DEFAULT

Kernel itemsActions
arg_star_11_sub ::= arg •
comma: reduce by arg_star_11_sub ::= arg
rpar: reduce by arg_star_11_sub ::= arg

state67 - state 0: id (

Compatible versions : DEFAULT

Kernel itemsActions
funcall ::= id ( arg_star_11 • )
rpar: shift to state68

state68 - state 0: id ( )

Compatible versions : DEFAULT

Kernel itemsActions
funcall ::= id ( arg_star_11 ) •
star: reduce by funcall ::= id ( arg_star_11 )
gt: reduce by funcall ::= id ( arg_star_11 )
slash: reduce by funcall ::= id ( arg_star_11 )
mod: reduce by funcall ::= id ( arg_star_11 )
le: reduce by funcall ::= id ( arg_star_11 )
plus: reduce by funcall ::= id ( arg_star_11 )
colon: reduce by funcall ::= id ( arg_star_11 )
ge: reduce by funcall ::= id ( arg_star_11 )
nl: reduce by funcall ::= id ( arg_star_11 )
semicolon: reduce by funcall ::= id ( arg_star_11 )
eq: reduce by funcall ::= id ( arg_star_11 )
lt: reduce by funcall ::= id ( arg_star_11 )
ne: reduce by funcall ::= id ( arg_star_11 )
rpar: reduce by funcall ::= id ( arg_star_11 )
comma: reduce by funcall ::= id ( arg_star_11 )
minus: reduce by funcall ::= id ( arg_star_11 )

state69 - state 0: id ( id

Compatible versions : DEFAULT

Kernel itemsActions
arg_star_11_sub ::= arg_star_11_sub • , arg
arg_star_11 ::= arg_star_11_sub •
rpar: reduce by arg_star_11 ::= arg_star_11_sub
comma: shift to state70

state70 - state 0: id ( id ,

Compatible versions : DEFAULT

Kernel itemsActions Gotoes
arg_star_11_sub ::= arg_star_11_sub , • arg
integer: shift to state29
string: shift to state30
plus: shift to state31
lpar: shift to state32
_boolean: shift to state33
minus: shift to state34
id: shift to state37
scan: shift to state39
constant:state40
expr:state65
funcall:state64
arg:state71

state71 - state 0: id ( id , id

Compatible versions : DEFAULT

Kernel itemsActions
arg_star_11_sub ::= arg_star_11_sub , arg •
rpar: reduce by arg_star_11_sub ::= arg_star_11_sub , arg
comma: reduce by arg_star_11_sub ::= arg_star_11_sub , arg

state72 - state 0: print - id

Compatible versions : DEFAULT

Kernel itemsActions
expr ::= expr • < expr
expr ::= expr • > expr
expr ::= expr • - expr
expr ::= expr • <= expr
expr ::= expr • % expr
expr ::= expr • / expr
expr ::= expr • >= expr
expr ::= expr • * expr
expr ::= expr • + expr
expr ::= expr • != expr
expr ::= - expr •
expr ::= expr • == expr
star: shift to state52,reduce by expr ::= - expr
gt: reduce by expr ::= - expr,shift to state58
mod: reduce by expr ::= - expr,shift to state62
slash: shift to state60,reduce by expr ::= - expr
le: shift to state42,reduce by expr ::= - expr
plus: shift to state44,reduce by expr ::= - expr
ge: reduce by expr ::= - expr,shift to state46
colon: reduce by expr ::= - expr
nl: reduce by expr ::= - expr
lt: shift to state50,reduce by expr ::= - expr
eq: shift to state48,reduce by expr ::= - expr
semicolon: reduce by expr ::= - expr
ne: shift to state54,reduce by expr ::= - expr
rpar: reduce by expr ::= - expr
comma: reduce by expr ::= - expr
minus: shift to state56,reduce by expr ::= - expr

state73 - state 0: print ( id

Compatible versions : DEFAULT

Kernel itemsActions
expr ::= expr • < expr
expr ::= expr • > expr
expr ::= expr • - expr
expr ::= expr • <= expr
expr ::= expr • % expr
expr ::= expr • / expr
expr ::= expr • >= expr
expr ::= expr • * expr
expr ::= expr • + expr
expr ::= expr • != expr
expr ::= expr • == expr
expr ::= ( expr • )
le: shift to state42
plus: shift to state44
ge: shift to state46
eq: shift to state48
lt: shift to state50
star: shift to state52
ne: shift to state54
rpar: shift to state74
minus: shift to state56
gt: shift to state58
slash: shift to state60
mod: shift to state62

state74 - state 0: print ( id )

Compatible versions : DEFAULT

Kernel itemsActions
expr ::= ( expr ) •
star: reduce by expr ::= ( expr )
gt: reduce by expr ::= ( expr )
slash: reduce by expr ::= ( expr )
mod: reduce by expr ::= ( expr )
le: reduce by expr ::= ( expr )
plus: reduce by expr ::= ( expr )
colon: reduce by expr ::= ( expr )
ge: reduce by expr ::= ( expr )
semicolon: reduce by expr ::= ( expr )
nl: reduce by expr ::= ( expr )
eq: reduce by expr ::= ( expr )
lt: reduce by expr ::= ( expr )
ne: reduce by expr ::= ( expr )
comma: reduce by expr ::= ( expr )
rpar: reduce by expr ::= ( expr )
minus: reduce by expr ::= ( expr )

state75 - state 0: print + id

Compatible versions : DEFAULT

Kernel itemsActions
expr ::= expr • < expr
expr ::= expr • > expr
expr ::= expr • - expr
expr ::= expr • <= expr
expr ::= expr • % expr
expr ::= expr • / expr
expr ::= expr • >= expr
expr ::= expr • * expr
expr ::= expr • + expr
expr ::= expr • != expr
expr ::= expr • == expr
expr ::= + expr •
star: reduce by expr ::= + expr,shift to state52
gt: reduce by expr ::= + expr,shift to state58
mod: reduce by expr ::= + expr,shift to state62
slash: reduce by expr ::= + expr,shift to state60
le: reduce by expr ::= + expr,shift to state42
plus: reduce by expr ::= + expr,shift to state44
ge: reduce by expr ::= + expr,shift to state46
colon: reduce by expr ::= + expr
semicolon: reduce by expr ::= + expr
lt: reduce by expr ::= + expr,shift to state50
eq: reduce by expr ::= + expr,shift to state48
nl: reduce by expr ::= + expr
ne: reduce by expr ::= + expr,shift to state54
rpar: reduce by expr ::= + expr
comma: reduce by expr ::= + expr
minus: shift to state56,reduce by expr ::= + expr

state76 - state 0: return id

Compatible versions : DEFAULT

Kernel itemsActions
expr ::= expr • > expr
expr ::= expr • < expr
expr ::= expr • - expr
expr ::= expr • >= expr
expr ::= expr • / expr
expr ::= expr • % expr
expr ::= expr • <= expr
expr ::= expr • * expr
expr ::= expr • + expr
expr ::= expr • != expr
expr_optional_6 ::= expr •
expr ::= expr • == expr
star: shift to state52
gt: shift to state58
slash: shift to state60
mod: shift to state62
le: shift to state42
plus: shift to state44
ge: shift to state46
lt: shift to state50
eq: shift to state48
semicolon: reduce by expr_optional_6 ::= expr
nl: reduce by expr_optional_6 ::= expr
ne: shift to state54
minus: shift to state56

state77 - state 0: return

Compatible versions : DEFAULT

Kernel itemsActions Gotoes
return_instr ::= return expr_optional_6 • eoln
nl: shift to state21
semicolon: shift to state22
eoln:state78

state78 - state 0: return nl

Compatible versions : DEFAULT

Kernel itemsActions
return_instr ::= return expr_optional_6 eoln •
_break: reduce by return_instr ::= return expr_optional_6 eoln
_else: reduce by return_instr ::= return expr_optional_6 eoln
__eof__: reduce by return_instr ::= return expr_optional_6 eoln
_if: reduce by return_instr ::= return expr_optional_6 eoln
id: reduce by return_instr ::= return expr_optional_6 eoln
_for: reduce by return_instr ::= return expr_optional_6 eoln
elif: reduce by return_instr ::= return expr_optional_6 eoln
_continue: reduce by return_instr ::= return expr_optional_6 eoln
var: reduce by return_instr ::= return expr_optional_6 eoln
empty: reduce by return_instr ::= return expr_optional_6 eoln
def: reduce by return_instr ::= return expr_optional_6 eoln
print: reduce by return_instr ::= return expr_optional_6 eoln
end: reduce by return_instr ::= return expr_optional_6 eoln
_return: reduce by return_instr ::= return expr_optional_6 eoln
branch: reduce by return_instr ::= return expr_optional_6 eoln

state79 - state 0: def id ( ) : end

Compatible versions : DEFAULT

Kernel itemsActions
eofunc ::= eob •
var: reduce by eofunc ::= eob
print: reduce by eofunc ::= eob
def: reduce by eofunc ::= eob
__eof__: reduce by eofunc ::= eob
_if: reduce by eofunc ::= eob
id: reduce by eofunc ::= eob
_for: reduce by eofunc ::= eob
_return: reduce by eofunc ::= eob
branch: reduce by eofunc ::= eob

state80 - state 0: def id ( ) : empty

Compatible versions : DEFAULT

Kernel itemsActions
func ::= def type_optional_2 id ( parameter_star_3 ) : block eofunc •
var: reduce by func ::= def type_optional_2 id ( parameter_star_3 ) : block eofunc
print: reduce by func ::= def type_optional_2 id ( parameter_star_3 ) : block eofunc
def: reduce by func ::= def type_optional_2 id ( parameter_star_3 ) : block eofunc
__eof__: reduce by func ::= def type_optional_2 id ( parameter_star_3 ) : block eofunc
_if: reduce by func ::= def type_optional_2 id ( parameter_star_3 ) : block eofunc
id: reduce by func ::= def type_optional_2 id ( parameter_star_3 ) : block eofunc
_for: reduce by func ::= def type_optional_2 id ( parameter_star_3 ) : block eofunc
_return: reduce by func ::= def type_optional_2 id ( parameter_star_3 ) : block eofunc
branch: reduce by func ::= def type_optional_2 id ( parameter_star_3 ) : block eofunc

state81 - state 0: if id : return nl

Compatible versions : DEFAULT

Kernel itemsActions
eob ::= return_instr •
_break: reduce by eob ::= return_instr
_else: reduce by eob ::= return_instr
_if: reduce by eob ::= return_instr
__eof__: reduce by eob ::= return_instr
id: reduce by eob ::= return_instr
_for: reduce by eob ::= return_instr
elif: reduce by eob ::= return_instr
_continue: reduce by eob ::= return_instr
var: reduce by eob ::= return_instr
empty: reduce by eob ::= return_instr
def: reduce by eob ::= return_instr
print: reduce by eob ::= return_instr
end: reduce by eob ::= return_instr
_return: reduce by eob ::= return_instr
branch: reduce by eob ::= return_instr

state82 - state 0:

Compatible versions : DEFAULT

Kernel itemsActions Gotoes
instr_star_5 ::= instr_star_5 • instr
block ::= instr_star_5 •
_break: reduce by block ::= instr_star_5
_else: reduce by block ::= instr_star_5
_if: shift to state92
__eof__: reduce by block ::= instr_star_5
id: shift to state107
_for: shift to state110
elif: reduce by block ::= instr_star_5
_continue: reduce by block ::= instr_star_5
var: shift to state83
empty: reduce by block ::= instr_star_5
print: shift to state89
end: reduce by block ::= instr_star_5
_return: reduce by block ::= instr_star_5
branch: reduce by block ::= instr_star_5
funcall:state128
instr:state130
decl:state131
assignment:state133

state83 - state 0: var

Compatible versions : DEFAULT

Kernel itemsActions Gotoes
decl ::= var • type_optional_10 id = expr
type: shift to state84
id: reduce by type_optional_10 ::= ɛ
type_optional_10:state85

state84 - state 0: var type

Compatible versions : DEFAULT

Kernel itemsActions
type_optional_10 ::= type •
id: reduce by type_optional_10 ::= type

state85 - state 0: var

Compatible versions : DEFAULT

Kernel itemsActions
decl ::= var type_optional_10 • id = expr
id: shift to state86

state86 - state 0: var id

Compatible versions : DEFAULT

Kernel itemsActions
decl ::= var type_optional_10 id • = expr
assign: shift to state87

state87 - state 0: var id =

Compatible versions : DEFAULT

Kernel itemsActions Gotoes
decl ::= var type_optional_10 id = • expr
integer: shift to state29
string: shift to state30
plus: shift to state31
lpar: shift to state32
_boolean: shift to state33
minus: shift to state34
id: shift to state35
scan: shift to state39
expr:state88
constant:state40
funcall:state64

state88 - state 0: var id = id

Compatible versions : DEFAULT

Kernel itemsActions
expr ::= expr • < expr
expr ::= expr • > expr
expr ::= expr • - expr
expr ::= expr • <= expr
expr ::= expr • % expr
expr ::= expr • / expr
expr ::= expr • >= expr
expr ::= expr • * expr
decl ::= var type_optional_10 id = expr •
expr ::= expr • + expr
expr ::= expr • != expr
expr ::= expr • == expr
star: shift to state52
gt: shift to state58
mod: shift to state62
slash: shift to state60
le: shift to state42
plus: shift to state44
ge: shift to state46
lt: shift to state50
eq: shift to state48
nl: reduce by decl ::= var type_optional_10 id = expr
semicolon: reduce by decl ::= var type_optional_10 id = expr
ne: shift to state54
comma: reduce by decl ::= var type_optional_10 id = expr
minus: shift to state56

state89 - state 0: print

Compatible versions : DEFAULT

Kernel itemsActions Gotoes
instr ::= print • expr eoln
integer: shift to state29
string: shift to state30
plus: shift to state31
lpar: shift to state32
_boolean: shift to state33
minus: shift to state34
id: shift to state35
scan: shift to state39
expr:state90
constant:state40
funcall:state64

state90 - state 0: print id

Compatible versions : DEFAULT

Kernel itemsActions Gotoes
expr ::= expr • < expr
expr ::= expr • > expr
expr ::= expr • - expr
expr ::= expr • <= expr
expr ::= expr • % expr
expr ::= expr • / expr
expr ::= expr • >= expr
expr ::= expr • * expr
instr ::= print expr • eoln
expr ::= expr • + expr
expr ::= expr • != expr
expr ::= expr • == expr
star: shift to state52
gt: shift to state58
mod: shift to state62
slash: shift to state60
le: shift to state42
plus: shift to state44
ge: shift to state46
lt: shift to state50
semicolon: shift to state22
nl: shift to state21
eq: shift to state48
ne: shift to state54
minus: shift to state56
eoln:state91

state91 - state 0: print id nl

Compatible versions : DEFAULT

Kernel itemsActions
instr ::= print expr eoln •
_break: reduce by instr ::= print expr eoln
_else: reduce by instr ::= print expr eoln
_if: reduce by instr ::= print expr eoln
__eof__: reduce by instr ::= print expr eoln
id: reduce by instr ::= print expr eoln
_for: reduce by instr ::= print expr eoln
elif: reduce by instr ::= print expr eoln
_continue: reduce by instr ::= print expr eoln
var: reduce by instr ::= print expr eoln
empty: reduce by instr ::= print expr eoln
print: reduce by instr ::= print expr eoln
end: reduce by instr ::= print expr eoln
_return: reduce by instr ::= print expr eoln
branch: reduce by instr ::= print expr eoln

state92 - state 0: if

Compatible versions : DEFAULT

Kernel itemsActions Gotoes
instr ::= if • expr : block else_cont
integer: shift to state29
string: shift to state30
plus: shift to state31
lpar: shift to state32
_boolean: shift to state33
minus: shift to state34
id: shift to state35
scan: shift to state39
expr:state93
constant:state40
funcall:state64

state93 - state 0: if id

Compatible versions : DEFAULT

Kernel itemsActions
instr ::= if expr • : block else_cont
expr ::= expr • < expr
expr ::= expr • > expr
expr ::= expr • - expr
expr ::= expr • <= expr
expr ::= expr • % expr
expr ::= expr • / expr
expr ::= expr • >= expr
expr ::= expr • * expr
expr ::= expr • + expr
expr ::= expr • != expr
expr ::= expr • == expr
le: shift to state42
plus: shift to state44
ge: shift to state46
colon: shift to state94
eq: shift to state48
lt: shift to state50
star: shift to state52
ne: shift to state54
minus: shift to state56
gt: shift to state58
slash: shift to state60
mod: shift to state62

state94 - state 0: if id :

Compatible versions : DEFAULT

Kernel itemsActions Gotoes
instr ::= if expr : • block else_cont
_break: reduce by instr_star_5 ::= ɛ
var: reduce by instr_star_5 ::= ɛ
_else: reduce by instr_star_5 ::= ɛ
print: reduce by instr_star_5 ::= ɛ
_if: reduce by instr_star_5 ::= ɛ
id: reduce by instr_star_5 ::= ɛ
elif: reduce by instr_star_5 ::= ɛ
end: reduce by instr_star_5 ::= ɛ
_for: reduce by instr_star_5 ::= ɛ
_continue: reduce by instr_star_5 ::= ɛ
_return: reduce by instr_star_5 ::= ɛ
block:state95
instr_star_5:state82

state95 - state 0: if id :

Compatible versions : DEFAULT

Kernel itemsActions Gotoes
instr ::= if expr : block • else_cont
_break: shift to state20
_else: shift to state96
elif: shift to state100
end: shift to state25
_return: shift to state28
_continue: shift to state26
eob:state104
else_cont:state106
return_instr:state81

state96 - state 0: if id : else

Compatible versions : DEFAULT

Kernel itemsActions
else_cont ::= else • : block eob
colon: shift to state97

state97 - state 0: if id : else :

Compatible versions : DEFAULT

Kernel itemsActions Gotoes
else_cont ::= else : • block eob
_break: reduce by instr_star_5 ::= ɛ
var: reduce by instr_star_5 ::= ɛ
print: reduce by instr_star_5 ::= ɛ
_if: reduce by instr_star_5 ::= ɛ
id: reduce by instr_star_5 ::= ɛ
end: reduce by instr_star_5 ::= ɛ
_for: reduce by instr_star_5 ::= ɛ
_return: reduce by instr_star_5 ::= ɛ
_continue: reduce by instr_star_5 ::= ɛ
block:state98
instr_star_5:state82

state98 - state 0: if id : else :

Compatible versions : DEFAULT

Kernel itemsActions Gotoes
else_cont ::= else : block • eob
_break: shift to state20
end: shift to state25
_continue: shift to state26
_return: shift to state28
eob:state99
return_instr:state81

state99 - state 0: if id : else : end

Compatible versions : DEFAULT

Kernel itemsActions
else_cont ::= else : block eob •
_break: reduce by else_cont ::= else : block eob
_else: reduce by else_cont ::= else : block eob
_if: reduce by else_cont ::= else : block eob
__eof__: reduce by else_cont ::= else : block eob
id: reduce by else_cont ::= else : block eob
elif: reduce by else_cont ::= else : block eob
_for: reduce by else_cont ::= else : block eob
_continue: reduce by else_cont ::= else : block eob
var: reduce by else_cont ::= else : block eob
empty: reduce by else_cont ::= else : block eob
print: reduce by else_cont ::= else : block eob
end: reduce by else_cont ::= else : block eob
_return: reduce by else_cont ::= else : block eob
branch: reduce by else_cont ::= else : block eob

state100 - state 0: if id : elif

Compatible versions : DEFAULT

Kernel itemsActions Gotoes
else_cont ::= elif • expr : block else_cont
integer: shift to state29
string: shift to state30
plus: shift to state31
lpar: shift to state32
_boolean: shift to state33
minus: shift to state34
id: shift to state35
scan: shift to state39
expr:state101
constant:state40
funcall:state64

state101 - state 0: if id : elif id

Compatible versions : DEFAULT

Kernel itemsActions
else_cont ::= elif expr • : block else_cont
expr ::= expr • < expr
expr ::= expr • > expr
expr ::= expr • - expr
expr ::= expr • <= expr
expr ::= expr • % expr
expr ::= expr • / expr
expr ::= expr • >= expr
expr ::= expr • * expr
expr ::= expr • + expr
expr ::= expr • != expr
expr ::= expr • == expr
le: shift to state42
plus: shift to state44
ge: shift to state46
colon: shift to state102
eq: shift to state48
lt: shift to state50
star: shift to state52
ne: shift to state54
minus: shift to state56
gt: shift to state58
slash: shift to state60
mod: shift to state62

state102 - state 0: if id : elif id :

Compatible versions : DEFAULT

Kernel itemsActions Gotoes
else_cont ::= elif expr : • block else_cont
_break: reduce by instr_star_5 ::= ɛ
var: reduce by instr_star_5 ::= ɛ
_else: reduce by instr_star_5 ::= ɛ
print: reduce by instr_star_5 ::= ɛ
_if: reduce by instr_star_5 ::= ɛ
id: reduce by instr_star_5 ::= ɛ
elif: reduce by instr_star_5 ::= ɛ
end: reduce by instr_star_5 ::= ɛ
_for: reduce by instr_star_5 ::= ɛ
_continue: reduce by instr_star_5 ::= ɛ
_return: reduce by instr_star_5 ::= ɛ
block:state103
instr_star_5:state82

state103 - state 0: if id : elif id :

Compatible versions : DEFAULT

Kernel itemsActions Gotoes
else_cont ::= elif expr : block • else_cont
_break: shift to state20
_else: shift to state96
elif: shift to state100
end: shift to state25
_return: shift to state28
_continue: shift to state26
eob:state104
else_cont:state105
return_instr:state81

state104 - state 0: if id : end

Compatible versions : DEFAULT

Kernel itemsActions
else_cont ::= eob •
_break: reduce by else_cont ::= eob
_else: reduce by else_cont ::= eob
_if: reduce by else_cont ::= eob
__eof__: reduce by else_cont ::= eob
id: reduce by else_cont ::= eob
_for: reduce by else_cont ::= eob
elif: reduce by else_cont ::= eob
_continue: reduce by else_cont ::= eob
var: reduce by else_cont ::= eob
empty: reduce by else_cont ::= eob
print: reduce by else_cont ::= eob
end: reduce by else_cont ::= eob
_return: reduce by else_cont ::= eob
branch: reduce by else_cont ::= eob

state105 - state 0: if id : elif id : end

Compatible versions : DEFAULT

Kernel itemsActions
else_cont ::= elif expr : block else_cont •
_break: reduce by else_cont ::= elif expr : block else_cont
_else: reduce by else_cont ::= elif expr : block else_cont
_if: reduce by else_cont ::= elif expr : block else_cont
__eof__: reduce by else_cont ::= elif expr : block else_cont
id: reduce by else_cont ::= elif expr : block else_cont
_for: reduce by else_cont ::= elif expr : block else_cont
elif: reduce by else_cont ::= elif expr : block else_cont
_continue: reduce by else_cont ::= elif expr : block else_cont
var: reduce by else_cont ::= elif expr : block else_cont
empty: reduce by else_cont ::= elif expr : block else_cont
print: reduce by else_cont ::= elif expr : block else_cont
end: reduce by else_cont ::= elif expr : block else_cont
_return: reduce by else_cont ::= elif expr : block else_cont
branch: reduce by else_cont ::= elif expr : block else_cont

state106 - state 0: if id : end

Compatible versions : DEFAULT

Kernel itemsActions
instr ::= if expr : block else_cont •
_break: reduce by instr ::= if expr : block else_cont
_else: reduce by instr ::= if expr : block else_cont
_if: reduce by instr ::= if expr : block else_cont
__eof__: reduce by instr ::= if expr : block else_cont
id: reduce by instr ::= if expr : block else_cont
_for: reduce by instr ::= if expr : block else_cont
elif: reduce by instr ::= if expr : block else_cont
_continue: reduce by instr ::= if expr : block else_cont
var: reduce by instr ::= if expr : block else_cont
empty: reduce by instr ::= if expr : block else_cont
print: reduce by instr ::= if expr : block else_cont
end: reduce by instr ::= if expr : block else_cont
_return: reduce by instr ::= if expr : block else_cont
branch: reduce by instr ::= if expr : block else_cont

state107 - state 0: id

Compatible versions : DEFAULT

Kernel itemsActions
assignment ::= id • = expr
funcall ::= id • ( arg_star_11 )
assign: shift to state108
lpar: shift to state36

state108 - state 0: id =

Compatible versions : DEFAULT

Kernel itemsActions Gotoes
assignment ::= id = • expr
integer: shift to state29
string: shift to state30
plus: shift to state31
lpar: shift to state32
_boolean: shift to state33
minus: shift to state34
id: shift to state35
scan: shift to state39
expr:state109
constant:state40
funcall:state64

state109 - state 0: id = id

Compatible versions : DEFAULT

Kernel itemsActions
expr ::= expr • < expr
expr ::= expr • > expr
expr ::= expr • - expr
expr ::= expr • <= expr
expr ::= expr • % expr
expr ::= expr • / expr
expr ::= expr • >= expr
assignment ::= id = expr •
expr ::= expr • * expr
expr ::= expr • + expr
expr ::= expr • != expr
expr ::= expr • == expr
star: shift to state52
gt: shift to state58
mod: shift to state62
slash: shift to state60
le: shift to state42
plus: shift to state44
ge: shift to state46
colon: reduce by assignment ::= id = expr
semicolon: reduce by assignment ::= id = expr
lt: shift to state50
eq: shift to state48
nl: reduce by assignment ::= id = expr
ne: shift to state54
comma: reduce by assignment ::= id = expr
minus: shift to state56

state110 - state 0: for

Compatible versions : DEFAULT

Kernel itemsActions Gotoes
instr ::= for • forinit_optional_7 , expr_optional_8 , forupdate_optional_9 : block eob
var: shift to state83
comma: reduce by forinit_optional_7 ::= ɛ
id: shift to state111
forinit_optional_7:state112
decl:state126
forinit:state125
assignment:state127

state111 - state 0: for id

Compatible versions : DEFAULT

Kernel itemsActions
assignment ::= id • = expr
assign: shift to state108

state112 - state 0: for

Compatible versions : DEFAULT

Kernel itemsActions
instr ::= for forinit_optional_7 • , expr_optional_8 , forupdate_optional_9 : block eob
comma: shift to state113

state113 - state 0: for ,

Compatible versions : DEFAULT

Kernel itemsActions Gotoes
instr ::= for forinit_optional_7 , • expr_optional_8 , forupdate_optional_9 : block eob
integer: shift to state29
string: shift to state30
plus: shift to state31
lpar: shift to state32
comma: reduce by expr_optional_8 ::= ɛ
_boolean: shift to state33
minus: shift to state34
id: shift to state35
scan: shift to state39
constant:state40
expr:state114
funcall:state64
expr_optional_8:state115

state114 - state 0: for , id

Compatible versions : DEFAULT

Kernel itemsActions
expr ::= expr • > expr
expr ::= expr • < expr
expr ::= expr • - expr
expr ::= expr • >= expr
expr ::= expr • / expr
expr ::= expr • % expr
expr ::= expr • <= expr
expr ::= expr • * expr
expr ::= expr • + expr
expr ::= expr • != expr
expr_optional_8 ::= expr •
expr ::= expr • == expr
le: shift to state42
plus: shift to state44
ge: shift to state46
eq: shift to state48
lt: shift to state50
star: shift to state52
ne: shift to state54
comma: reduce by expr_optional_8 ::= expr
minus: shift to state56
gt: shift to state58
mod: shift to state62
slash: shift to state60

state115 - state 0: for ,

Compatible versions : DEFAULT

Kernel itemsActions
instr ::= for forinit_optional_7 , expr_optional_8 • , forupdate_optional_9 : block eob
comma: shift to state116

state116 - state 0: for , ,

Compatible versions : DEFAULT

Kernel itemsActions Gotoes
instr ::= for forinit_optional_7 , expr_optional_8 , • forupdate_optional_9 : block eob
integer: shift to state29
string: shift to state30
plus: shift to state31
colon: reduce by forupdate_optional_9 ::= ɛ
lpar: shift to state32
_boolean: shift to state33
minus: shift to state34
id: shift to state117
scan: shift to state39
expr:state118
constant:state40
funcall:state64
forupdate:state119
forupdate_optional_9:state120
assignment:state124

state117 - state 0: for , , id

Compatible versions : DEFAULT

Kernel itemsActions
assignment ::= id • = expr
funcall ::= id • ( arg_star_11 )
expr ::= id •
lpar: shift to state36
star: reduce by expr ::= id
gt: reduce by expr ::= id
slash: reduce by expr ::= id
mod: reduce by expr ::= id
le: reduce by expr ::= id
plus: reduce by expr ::= id
ge: reduce by expr ::= id
colon: reduce by expr ::= id
assign: shift to state108
lt: reduce by expr ::= id
eq: reduce by expr ::= id
ne: reduce by expr ::= id
minus: reduce by expr ::= id

state118 - state 0: for , , id

Compatible versions : DEFAULT

Kernel itemsActions
expr ::= expr • < expr
expr ::= expr • > expr
expr ::= expr • - expr
expr ::= expr • <= expr
expr ::= expr • % expr
expr ::= expr • / expr
expr ::= expr • >= expr
expr ::= expr • * expr
expr ::= expr • + expr
expr ::= expr • != expr
forupdate ::= expr •
expr ::= expr • == expr
le: shift to state42
plus: shift to state44
colon: reduce by forupdate ::= expr
ge: shift to state46
eq: shift to state48
lt: shift to state50
star: shift to state52
ne: shift to state54
minus: shift to state56
gt: shift to state58
slash: shift to state60
mod: shift to state62

state119 - state 0: for , , id

Compatible versions : DEFAULT

Kernel itemsActions
forupdate_optional_9 ::= forupdate •
colon: reduce by forupdate_optional_9 ::= forupdate

state120 - state 0: for , ,

Compatible versions : DEFAULT

Kernel itemsActions
instr ::= for forinit_optional_7 , expr_optional_8 , forupdate_optional_9 • : block eob
colon: shift to state121

state121 - state 0: for , , :

Compatible versions : DEFAULT

Kernel itemsActions Gotoes
instr ::= for forinit_optional_7 , expr_optional_8 , forupdate_optional_9 : • block eob
_break: reduce by instr_star_5 ::= ɛ
var: reduce by instr_star_5 ::= ɛ
print: reduce by instr_star_5 ::= ɛ
_if: reduce by instr_star_5 ::= ɛ
id: reduce by instr_star_5 ::= ɛ
end: reduce by instr_star_5 ::= ɛ
_for: reduce by instr_star_5 ::= ɛ
_return: reduce by instr_star_5 ::= ɛ
_continue: reduce by instr_star_5 ::= ɛ
block:state122
instr_star_5:state82

state122 - state 0: for , , :

Compatible versions : DEFAULT

Kernel itemsActions Gotoes
instr ::= for forinit_optional_7 , expr_optional_8 , forupdate_optional_9 : block • eob
_break: shift to state20
end: shift to state25
_continue: shift to state26
_return: shift to state28
eob:state123
return_instr:state81

state123 - state 0: for , , : end

Compatible versions : DEFAULT

Kernel itemsActions
instr ::= for forinit_optional_7 , expr_optional_8 , forupdate_optional_9 : block eob •
_break: reduce by instr ::= for forinit_optional_7 , expr_optional_8 , forupdate_optional_9 : block eob
_else: reduce by instr ::= for forinit_optional_7 , expr_optional_8 , forupdate_optional_9 : block eob
_if: reduce by instr ::= for forinit_optional_7 , expr_optional_8 , forupdate_optional_9 : block eob
__eof__: reduce by instr ::= for forinit_optional_7 , expr_optional_8 , forupdate_optional_9 : block eob
id: reduce by instr ::= for forinit_optional_7 , expr_optional_8 , forupdate_optional_9 : block eob
_for: reduce by instr ::= for forinit_optional_7 , expr_optional_8 , forupdate_optional_9 : block eob
elif: reduce by instr ::= for forinit_optional_7 , expr_optional_8 , forupdate_optional_9 : block eob
_continue: reduce by instr ::= for forinit_optional_7 , expr_optional_8 , forupdate_optional_9 : block eob
var: reduce by instr ::= for forinit_optional_7 , expr_optional_8 , forupdate_optional_9 : block eob
empty: reduce by instr ::= for forinit_optional_7 , expr_optional_8 , forupdate_optional_9 : block eob
print: reduce by instr ::= for forinit_optional_7 , expr_optional_8 , forupdate_optional_9 : block eob
end: reduce by instr ::= for forinit_optional_7 , expr_optional_8 , forupdate_optional_9 : block eob
_return: reduce by instr ::= for forinit_optional_7 , expr_optional_8 , forupdate_optional_9 : block eob
branch: reduce by instr ::= for forinit_optional_7 , expr_optional_8 , forupdate_optional_9 : block eob

state124 - state 0: for , , id = id

Compatible versions : DEFAULT

Kernel itemsActions
forupdate ::= assignment •
colon: reduce by forupdate ::= assignment

state125 - state 0: for id = id

Compatible versions : DEFAULT

Kernel itemsActions
forinit_optional_7 ::= forinit •
comma: reduce by forinit_optional_7 ::= forinit

state126 - state 0: for var id = id

Compatible versions : DEFAULT

Kernel itemsActions
forinit ::= decl •
comma: reduce by forinit ::= decl

state127 - state 0: for id = id

Compatible versions : DEFAULT

Kernel itemsActions
forinit ::= assignment •
comma: reduce by forinit ::= assignment

state128 - state 0: id ( )

Compatible versions : DEFAULT

Kernel itemsActions Gotoes
instr ::= funcall • eoln
nl: shift to state21
semicolon: shift to state22
eoln:state129

state129 - state 0: id ( ) nl

Compatible versions : DEFAULT

Kernel itemsActions
instr ::= funcall eoln •
_break: reduce by instr ::= funcall eoln
_else: reduce by instr ::= funcall eoln
_if: reduce by instr ::= funcall eoln
__eof__: reduce by instr ::= funcall eoln
id: reduce by instr ::= funcall eoln
elif: reduce by instr ::= funcall eoln
_for: reduce by instr ::= funcall eoln
_continue: reduce by instr ::= funcall eoln
var: reduce by instr ::= funcall eoln
empty: reduce by instr ::= funcall eoln
print: reduce by instr ::= funcall eoln
end: reduce by instr ::= funcall eoln
_return: reduce by instr ::= funcall eoln
branch: reduce by instr ::= funcall eoln

state130 - state 0: print id nl

Compatible versions : DEFAULT

Kernel itemsActions
instr_star_5 ::= instr_star_5 instr •
_break: reduce by instr_star_5 ::= instr_star_5 instr
_else: reduce by instr_star_5 ::= instr_star_5 instr
_if: reduce by instr_star_5 ::= instr_star_5 instr
__eof__: reduce by instr_star_5 ::= instr_star_5 instr
id: reduce by instr_star_5 ::= instr_star_5 instr
_for: reduce by instr_star_5 ::= instr_star_5 instr
elif: reduce by instr_star_5 ::= instr_star_5 instr
_continue: reduce by instr_star_5 ::= instr_star_5 instr
var: reduce by instr_star_5 ::= instr_star_5 instr
empty: reduce by instr_star_5 ::= instr_star_5 instr
print: reduce by instr_star_5 ::= instr_star_5 instr
end: reduce by instr_star_5 ::= instr_star_5 instr
_return: reduce by instr_star_5 ::= instr_star_5 instr
branch: reduce by instr_star_5 ::= instr_star_5 instr

state131 - state 0: var id = id

Compatible versions : DEFAULT

Kernel itemsActions Gotoes
instr ::= decl • eoln
nl: shift to state21
semicolon: shift to state22
eoln:state132

state132 - state 0: var id = id nl

Compatible versions : DEFAULT

Kernel itemsActions
instr ::= decl eoln •
_break: reduce by instr ::= decl eoln
_else: reduce by instr ::= decl eoln
_if: reduce by instr ::= decl eoln
__eof__: reduce by instr ::= decl eoln
id: reduce by instr ::= decl eoln
elif: reduce by instr ::= decl eoln
_for: reduce by instr ::= decl eoln
_continue: reduce by instr ::= decl eoln
var: reduce by instr ::= decl eoln
empty: reduce by instr ::= decl eoln
print: reduce by instr ::= decl eoln
end: reduce by instr ::= decl eoln
_return: reduce by instr ::= decl eoln
branch: reduce by instr ::= decl eoln

state133 - state 0: id = id

Compatible versions : DEFAULT

Kernel itemsActions Gotoes
instr ::= assignment • eoln
nl: shift to state21
semicolon: shift to state22
eoln:state134

state134 - state 0: id = id nl

Compatible versions : DEFAULT

Kernel itemsActions
instr ::= assignment eoln •
_break: reduce by instr ::= assignment eoln
_else: reduce by instr ::= assignment eoln
_if: reduce by instr ::= assignment eoln
__eof__: reduce by instr ::= assignment eoln
id: reduce by instr ::= assignment eoln
elif: reduce by instr ::= assignment eoln
_for: reduce by instr ::= assignment eoln
_continue: reduce by instr ::= assignment eoln
var: reduce by instr ::= assignment eoln
empty: reduce by instr ::= assignment eoln
print: reduce by instr ::= assignment eoln
end: reduce by instr ::= assignment eoln
_return: reduce by instr ::= assignment eoln
branch: reduce by instr ::= assignment eoln

state135 - state 0:

Compatible versions : DEFAULT

Kernel itemsActions Gotoes
script ::= func_star_0 block • return_instr_optional_1
__eof__: reduce by return_instr_optional_1 ::= ɛ
_return: shift to state28
branch: reduce by return_instr_optional_1 ::= ɛ
return_instr_optional_1:state136
return_instr:state137

state136 - state 0:

Compatible versions : DEFAULT

Kernel itemsActions
script ::= func_star_0 block return_instr_optional_1 •
__eof__: reduce by script ::= func_star_0 block return_instr_optional_1
branch: reduce by script ::= func_star_0 block return_instr_optional_1

state137 - state 0: return nl

Compatible versions : DEFAULT

Kernel itemsActions
return_instr_optional_1 ::= return_instr •
__eof__: reduce by return_instr_optional_1 ::= return_instr
branch: reduce by return_instr_optional_1 ::= return_instr

state138 - state 0: def id ( ) : empty

Compatible versions : DEFAULT

Kernel itemsActions
func_star_0 ::= func_star_0 func •
var: reduce by func_star_0 ::= func_star_0 func
print: reduce by func_star_0 ::= func_star_0 func
def: reduce by func_star_0 ::= func_star_0 func
__eof__: reduce by func_star_0 ::= func_star_0 func
_if: reduce by func_star_0 ::= func_star_0 func
id: reduce by func_star_0 ::= func_star_0 func
_for: reduce by func_star_0 ::= func_star_0 func
_return: reduce by func_star_0 ::= func_star_0 func
branch: reduce by func_star_0 ::= func_star_0 func

Valid XHTML 1.1