Parser Table

Grammar

script ::= func_star_0 block return_instr_optional_1 all script: 
assignment ::= id = expr all script: id = id nl
arg_star_11 ::= *empty* all script: id ( ) nl
| arg_star_11_sub all script: id ( id ) nl
forupdate_optional_9 ::= *empty* all script: for , , : end
| forupdate all script: for , , id : end
forinit_optional_7 ::= *empty* all script: for , , : end
| forinit all script: for id = id , , : end
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
parameter_star_3 ::= *empty* all script: def id ( ) : empty
| parameter_star_3_sub all script: def id ( id ) : empty
expr_optional_6 ::= *empty* all script: return nl
| expr all script: return id nl
funcall ::= id ( arg_star_11 ) all script: id ( ) nl
parameter ::= type_optional_4 id all script: def id ( id ) : empty
type_optional_10 ::= *empty* all script: var id = id nl
| type all script: var type id = id nl
forinit ::= decl all script: for var id = id , , : end
| assignment all script: for id = id , , : end
type_optional_4 ::= *empty* all script: def id ( id ) : empty
| type all script: def id ( type id ) : empty
parameter_star_3_sub ::= parameter all script: def id ( id ) : empty
| parameter_star_3_sub , parameter all script: def id ( 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
eoln ::= nl all script: return nl
| ; all script: return ;
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
expr_optional_8 ::= *empty* all script: for , , : end
| expr all script: for , id , : end
type_optional_2 ::= *empty* all script: def id ( ) : empty
| type all script: def type id ( ) : empty
forupdate ::= assignment all script: for , , id = id : end
| expr all script: for , , id : end
arg ::= expr all script: id ( id ) nl
| id : expr all script: id ( id : id ) nl
eofunc ::= eob all script: def id ( ) : end
| empty all script: def id ( ) : empty
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
return_instr_optional_1 ::= *empty* all script: 
| return_instr all script: return nl
decl ::= var type_optional_10 id = expr all script: var id = id 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
func_star_0 ::= *empty* all script: 
| func_star_0 func all script: def id ( ) : empty
block ::= instr_star_5 all script: 
-root-0 ::= script  all script: 
return_instr ::= return expr_optional_6 eoln all script: return nl
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

Non Terminals

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

Start States

Non terminalStart State
scriptstate0

States

state0 - state 0:

Compatible versions : DEFAULT

Kernel itemsActions Gotoes
-root-0 ::= • script 
print: reduce by func_star_0 ::= ɛ
_if: reduce by func_star_0 ::= ɛ
def: reduce by func_star_0 ::= ɛ
_return: reduce by func_star_0 ::= ɛ
var: reduce by func_star_0 ::= ɛ
__eof__: reduce by func_star_0 ::= ɛ
_for: reduce by func_star_0 ::= ɛ
id: 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
script ::= func_star_0 • block return_instr_optional_1
func_star_0 ::= func_star_0 • func
print: reduce by instr_star_5 ::= ɛ
_if: reduce by instr_star_5 ::= ɛ
def: shift to state4
_return: reduce by instr_star_5 ::= ɛ
var: reduce by instr_star_5 ::= ɛ
__eof__: reduce by instr_star_5 ::= ɛ
_for: reduce by instr_star_5 ::= ɛ
id: reduce by instr_star_5 ::= ɛ
branch: reduce by instr_star_5 ::= ɛ
func:state135
block:state136
instr_star_5:state77

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:state10
parameter_star_3:state11
type_optional_4:state133
parameter_star_3_sub:state130

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 ( 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

state11 - state 0: def id (

Compatible versions : DEFAULT

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

state12 - state 0: def id ( )

Compatible versions : DEFAULT

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

state13 - state 0: def id ( ) :

Compatible versions : DEFAULT

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

state14 - state 0: def id ( ) :

Compatible versions : DEFAULT

Kernel itemsActions Gotoes
func ::= def type_optional_2 id ( parameter_star_3 ) : block • eofunc
end: shift to state15
_break: shift to state16
_return: shift to state20
empty: shift to state71
_continue: shift to state72
eob:state74
eofunc:state75
return_instr:state76

state15 - state 0: if id : end

Compatible versions : DEFAULT

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

state16 - state 0: if id : break

Compatible versions : DEFAULT

Kernel itemsActions Gotoes
eob ::= break • eoln
nl: shift to state17
semicolon: shift to state18
eoln:state19

state17 - state 0: return nl

Compatible versions : DEFAULT

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

state18 - state 0: return ;

Compatible versions : DEFAULT

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

state19 - state 0: if id : break nl

Compatible versions : DEFAULT

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

state20 - state 0: return

Compatible versions : DEFAULT

Kernel itemsActions Gotoes
return_instr ::= return • expr_optional_6 eoln
nl: reduce by expr_optional_6 ::= ɛ
_boolean: shift to state21
scan: shift to state22
integer: shift to state23
minus: shift to state24
semicolon: reduce by expr_optional_6 ::= ɛ
lpar: shift to state25
plus: shift to state26
string: shift to state27
id: shift to state28
funcall:state32
constant:state33
expr_optional_6:state68
expr:state70

state21 - state 0: if _boolean

Compatible versions : DEFAULT

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

state22 - state 0: if scan

Compatible versions : DEFAULT

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

state23 - state 0: if integer

Compatible versions : DEFAULT

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

state24 - state 0: if -

Compatible versions : DEFAULT

Kernel itemsActions Gotoes
expr ::= - • expr
_boolean: shift to state21
scan: shift to state22
minus: shift to state24
integer: shift to state23
lpar: shift to state25
plus: shift to state26
string: shift to state27
id: shift to state28
funcall:state32
constant:state33
expr:state67

state25 - state 0: if (

Compatible versions : DEFAULT

Kernel itemsActions Gotoes
expr ::= ( • expr )
_boolean: shift to state21
scan: shift to state22
minus: shift to state24
integer: shift to state23
lpar: shift to state25
plus: shift to state26
string: shift to state27
id: shift to state28
funcall:state32
constant:state33
expr:state65

state26 - state 0: if +

Compatible versions : DEFAULT

Kernel itemsActions Gotoes
expr ::= + • expr
_boolean: shift to state21
scan: shift to state22
minus: shift to state24
integer: shift to state23
lpar: shift to state25
plus: shift to state26
string: shift to state27
id: shift to state28
funcall:state32
constant:state33
expr:state64

state27 - state 0: if string

Compatible versions : DEFAULT

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

state28 - state 0: if id

Compatible versions : DEFAULT

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

state29 - state 0: id (

Compatible versions : DEFAULT

Kernel itemsActions Gotoes
funcall ::= id ( • arg_star_11 )
rpar: reduce by arg_star_11 ::= ɛ
_boolean: shift to state21
scan: shift to state22
integer: shift to state23
minus: shift to state24
lpar: shift to state25
plus: shift to state26
string: shift to state27
id: shift to state30
funcall:state32
arg_star_11:state57
arg:state59
constant:state33
expr:state63
arg_star_11_sub:state60

state30 - state 0: id ( id

Compatible versions : DEFAULT

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

state31 - state 0: id ( id :

Compatible versions : DEFAULT

Kernel itemsActions Gotoes
arg ::= id : • expr
_boolean: shift to state21
scan: shift to state22
minus: shift to state24
integer: shift to state23
lpar: shift to state25
plus: shift to state26
string: shift to state27
id: shift to state28
funcall:state32
constant:state33
expr:state34

state32 - state 0: if id ( )

Compatible versions : DEFAULT

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

state33 - state 0: if _boolean

Compatible versions : DEFAULT

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

state34 - state 0: id ( 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
arg ::= id : expr •
expr ::= expr • * expr
expr ::= expr • <= expr
ge: shift to state45
minus: shift to state41
le: shift to state51
slash: shift to state55
star: shift to state53
gt: shift to state35
rpar: reduce by arg ::= id : expr
mod: shift to state37
ne: shift to state39
eq: shift to state43
comma: reduce by arg ::= id : expr
lt: shift to state47
plus: shift to state49

state35 - state 0: if id >

Compatible versions : DEFAULT

Kernel itemsActions Gotoes
expr ::= expr > • expr
_boolean: shift to state21
scan: shift to state22
minus: shift to state24
integer: shift to state23
lpar: shift to state25
plus: shift to state26
string: shift to state27
id: shift to state28
funcall:state32
constant:state33
expr:state36

state36 - 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
ge: reduce by expr ::= expr > expr,shift to state45
minus: reduce by expr ::= expr > expr,shift to state41
le: reduce by expr ::= expr > expr,shift to state51
slash: reduce by expr ::= expr > expr,shift to state55
star: reduce by expr ::= expr > expr,shift to state53
gt: reduce by expr ::= expr > expr,shift to state35
nl: reduce by expr ::= expr > expr
rpar: reduce by expr ::= expr > expr
mod: shift to state37,reduce by expr ::= expr > expr
colon: reduce by expr ::= expr > expr
ne: reduce by expr ::= expr > expr,shift to state39
eq: reduce by expr ::= expr > expr,shift to state43
comma: reduce by expr ::= expr > expr
semicolon: reduce by expr ::= expr > expr
lt: reduce by expr ::= expr > expr,shift to state47
plus: reduce by expr ::= expr > expr,shift to state49

state37 - state 0: if id %

Compatible versions : DEFAULT

Kernel itemsActions Gotoes
expr ::= expr % • expr
_boolean: shift to state21
scan: shift to state22
minus: shift to state24
integer: shift to state23
lpar: shift to state25
plus: shift to state26
string: shift to state27
id: shift to state28
funcall:state32
constant:state33
expr:state38

state38 - 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
ge: shift to state45,reduce by expr ::= expr % expr
minus: shift to state41,reduce by expr ::= expr % expr
le: shift to state51,reduce by expr ::= expr % expr
slash: shift to state55,reduce by expr ::= expr % expr
star: shift to state53,reduce by expr ::= expr % expr
gt: shift to state35,reduce by expr ::= expr % expr
nl: reduce by expr ::= expr % expr
rpar: reduce by expr ::= expr % expr
mod: shift to state37,reduce by expr ::= expr % expr
colon: reduce by expr ::= expr % expr
ne: shift to state39,reduce by expr ::= expr % expr
eq: shift to state43,reduce by expr ::= expr % expr
comma: reduce by expr ::= expr % expr
semicolon: reduce by expr ::= expr % expr
lt: shift to state47,reduce by expr ::= expr % expr
plus: shift to state49,reduce by expr ::= expr % expr

state39 - state 0: if id !=

Compatible versions : DEFAULT

Kernel itemsActions Gotoes
expr ::= expr != • expr
_boolean: shift to state21
scan: shift to state22
minus: shift to state24
integer: shift to state23
lpar: shift to state25
plus: shift to state26
string: shift to state27
id: shift to state28
funcall:state32
constant:state33
expr:state40

state40 - 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
ge: reduce by expr ::= expr != expr,shift to state45
minus: shift to state41,reduce by expr ::= expr != expr
le: shift to state51,reduce by expr ::= expr != expr
slash: shift to state55,reduce by expr ::= expr != expr
star: shift to state53,reduce by expr ::= expr != expr
gt: shift to state35,reduce by expr ::= expr != expr
nl: reduce by expr ::= expr != expr
rpar: reduce by expr ::= expr != expr
mod: shift to state37,reduce by expr ::= expr != expr
colon: reduce by expr ::= expr != expr
ne: shift to state39,reduce by expr ::= expr != expr
eq: shift to state43,reduce by expr ::= expr != expr
comma: reduce by expr ::= expr != expr
semicolon: reduce by expr ::= expr != expr
lt: shift to state47,reduce by expr ::= expr != expr
plus: reduce by expr ::= expr != expr,shift to state49

state41 - state 0: if id -

Compatible versions : DEFAULT

Kernel itemsActions Gotoes
expr ::= expr - • expr
_boolean: shift to state21
scan: shift to state22
minus: shift to state24
integer: shift to state23
lpar: shift to state25
plus: shift to state26
string: shift to state27
id: shift to state28
funcall:state32
constant:state33
expr:state42

state42 - 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
ge: reduce by expr ::= expr - expr,shift to state45
minus: shift to state41,reduce by expr ::= expr - expr
le: shift to state51,reduce by expr ::= expr - expr
slash: reduce by expr ::= expr - expr,shift to state55
star: shift to state53,reduce by expr ::= expr - expr
gt: reduce by expr ::= expr - expr,shift to state35
nl: reduce by expr ::= expr - expr
rpar: reduce by expr ::= expr - expr
mod: shift to state37,reduce by expr ::= expr - expr
colon: reduce by expr ::= expr - expr
ne: reduce by expr ::= expr - expr,shift to state39
eq: reduce by expr ::= expr - expr,shift to state43
comma: reduce by expr ::= expr - expr
semicolon: reduce by expr ::= expr - expr
lt: shift to state47,reduce by expr ::= expr - expr
plus: reduce by expr ::= expr - expr,shift to state49

state43 - state 0: if id ==

Compatible versions : DEFAULT

Kernel itemsActions Gotoes
expr ::= expr == • expr
_boolean: shift to state21
scan: shift to state22
minus: shift to state24
integer: shift to state23
lpar: shift to state25
plus: shift to state26
string: shift to state27
id: shift to state28
funcall:state32
constant:state33
expr:state44

state44 - 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
ge: reduce by expr ::= expr == expr,shift to state45
minus: shift to state41,reduce by expr ::= expr == expr
le: reduce by expr ::= expr == expr,shift to state51
slash: reduce by expr ::= expr == expr,shift to state55
star: shift to state53,reduce by expr ::= expr == expr
gt: reduce by expr ::= expr == expr,shift to state35
nl: reduce by expr ::= expr == expr
rpar: reduce by expr ::= expr == expr
mod: shift to state37,reduce by expr ::= expr == expr
colon: reduce by expr ::= expr == expr
ne: reduce by expr ::= expr == expr,shift to state39
eq: reduce by expr ::= expr == expr,shift to state43
comma: reduce by expr ::= expr == expr
semicolon: reduce by expr ::= expr == expr
lt: shift to state47,reduce by expr ::= expr == expr
plus: reduce by expr ::= expr == expr,shift to state49

state45 - state 0: if id >=

Compatible versions : DEFAULT

Kernel itemsActions Gotoes
expr ::= expr >= • expr
_boolean: shift to state21
scan: shift to state22
minus: shift to state24
integer: shift to state23
lpar: shift to state25
plus: shift to state26
string: shift to state27
id: shift to state28
funcall:state32
constant:state33
expr:state46

state46 - 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
ge: reduce by expr ::= expr >= expr,shift to state45
minus: shift to state41,reduce by expr ::= expr >= expr
le: shift to state51,reduce by expr ::= expr >= expr
slash: shift to state55,reduce by expr ::= expr >= expr
star: shift to state53,reduce by expr ::= expr >= expr
gt: reduce by expr ::= expr >= expr,shift to state35
nl: reduce by expr ::= expr >= expr
rpar: reduce by expr ::= expr >= expr
mod: shift to state37,reduce by expr ::= expr >= expr
colon: reduce by expr ::= expr >= expr
ne: shift to state39,reduce by expr ::= expr >= expr
eq: shift to state43,reduce by expr ::= expr >= expr
comma: reduce by expr ::= expr >= expr
semicolon: reduce by expr ::= expr >= expr
lt: shift to state47,reduce by expr ::= expr >= expr
plus: reduce by expr ::= expr >= expr,shift to state49

state47 - state 0: if id <

Compatible versions : DEFAULT

Kernel itemsActions Gotoes
expr ::= expr < • expr
_boolean: shift to state21
scan: shift to state22
minus: shift to state24
integer: shift to state23
lpar: shift to state25
plus: shift to state26
string: shift to state27
id: shift to state28
funcall:state32
constant:state33
expr:state48

state48 - 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
ge: reduce by expr ::= expr < expr,shift to state45
minus: shift to state41,reduce by expr ::= expr < expr
le: shift to state51,reduce by expr ::= expr < expr
slash: shift to state55,reduce by expr ::= expr < expr
star: shift to state53,reduce by expr ::= expr < expr
gt: reduce by expr ::= expr < expr,shift to state35
nl: reduce by expr ::= expr < expr
rpar: reduce by expr ::= expr < expr
mod: shift to state37,reduce by expr ::= expr < expr
colon: reduce by expr ::= expr < expr
ne: shift to state39,reduce by expr ::= expr < expr
eq: shift to state43,reduce by expr ::= expr < expr
comma: reduce by expr ::= expr < expr
semicolon: reduce by expr ::= expr < expr
lt: shift to state47,reduce by expr ::= expr < expr
plus: reduce by expr ::= expr < expr,shift to state49

state49 - state 0: if id +

Compatible versions : DEFAULT

Kernel itemsActions Gotoes
expr ::= expr + • expr
_boolean: shift to state21
scan: shift to state22
minus: shift to state24
integer: shift to state23
lpar: shift to state25
plus: shift to state26
string: shift to state27
id: shift to state28
funcall:state32
constant:state33
expr:state50

state50 - 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
ge: reduce by expr ::= expr + expr,shift to state45
minus: shift to state41,reduce by expr ::= expr + expr
le: shift to state51,reduce by expr ::= expr + expr
slash: shift to state55,reduce by expr ::= expr + expr
star: shift to state53,reduce by expr ::= expr + expr
gt: shift to state35,reduce by expr ::= expr + expr
nl: reduce by expr ::= expr + expr
rpar: reduce by expr ::= expr + expr
mod: shift to state37,reduce by expr ::= expr + expr
colon: reduce by expr ::= expr + expr
ne: shift to state39,reduce by expr ::= expr + expr
eq: shift to state43,reduce by expr ::= expr + expr
comma: reduce by expr ::= expr + expr
semicolon: reduce by expr ::= expr + expr
lt: shift to state47,reduce by expr ::= expr + expr
plus: reduce by expr ::= expr + expr,shift to state49

state51 - state 0: if id <=

Compatible versions : DEFAULT

Kernel itemsActions Gotoes
expr ::= expr <= • expr
_boolean: shift to state21
scan: shift to state22
minus: shift to state24
integer: shift to state23
lpar: shift to state25
plus: shift to state26
string: shift to state27
id: shift to state28
funcall:state32
constant:state33
expr:state52

state52 - 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 •
ge: shift to state45,reduce by expr ::= expr <= expr
minus: shift to state41,reduce by expr ::= expr <= expr
le: shift to state51,reduce by expr ::= expr <= expr
slash: shift to state55,reduce by expr ::= expr <= expr
star: shift to state53,reduce by expr ::= expr <= expr
gt: shift to state35,reduce by expr ::= expr <= expr
nl: reduce by expr ::= expr <= expr
rpar: reduce by expr ::= expr <= expr
mod: shift to state37,reduce by expr ::= expr <= expr
colon: reduce by expr ::= expr <= expr
ne: shift to state39,reduce by expr ::= expr <= expr
eq: shift to state43,reduce by expr ::= expr <= expr
comma: reduce by expr ::= expr <= expr
semicolon: reduce by expr ::= expr <= expr
lt: shift to state47,reduce by expr ::= expr <= expr
plus: shift to state49,reduce by expr ::= expr <= expr

state53 - state 0: if id *

Compatible versions : DEFAULT

Kernel itemsActions Gotoes
expr ::= expr * • expr
_boolean: shift to state21
scan: shift to state22
minus: shift to state24
integer: shift to state23
lpar: shift to state25
plus: shift to state26
string: shift to state27
id: shift to state28
funcall:state32
constant:state33
expr:state54

state54 - 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 •
ge: reduce by expr ::= expr * expr,shift to state45
minus: reduce by expr ::= expr * expr,shift to state41
le: reduce by expr ::= expr * expr,shift to state51
slash: reduce by expr ::= expr * expr,shift to state55
star: reduce by expr ::= expr * expr,shift to state53
gt: reduce by expr ::= expr * expr,shift to state35
nl: reduce by expr ::= expr * expr
rpar: reduce by expr ::= expr * expr
mod: reduce by expr ::= expr * expr,shift to state37
colon: reduce by expr ::= expr * expr
ne: reduce by expr ::= expr * expr,shift to state39
eq: reduce by expr ::= expr * expr,shift to state43
comma: reduce by expr ::= expr * expr
semicolon: reduce by expr ::= expr * expr
lt: reduce by expr ::= expr * expr,shift to state47
plus: reduce by expr ::= expr * expr,shift to state49

state55 - state 0: if id /

Compatible versions : DEFAULT

Kernel itemsActions Gotoes
expr ::= expr / • expr
_boolean: shift to state21
scan: shift to state22
minus: shift to state24
integer: shift to state23
lpar: shift to state25
plus: shift to state26
string: shift to state27
id: shift to state28
funcall:state32
constant:state33
expr:state56

state56 - 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
ge: reduce by expr ::= expr / expr,shift to state45
minus: reduce by expr ::= expr / expr,shift to state41
le: reduce by expr ::= expr / expr,shift to state51
slash: reduce by expr ::= expr / expr,shift to state55
star: reduce by expr ::= expr / expr,shift to state53
gt: reduce by expr ::= expr / expr,shift to state35
nl: reduce by expr ::= expr / expr
rpar: reduce by expr ::= expr / expr
mod: shift to state37,reduce by expr ::= expr / expr
colon: reduce by expr ::= expr / expr
ne: reduce by expr ::= expr / expr,shift to state39
eq: reduce by expr ::= expr / expr,shift to state43
comma: reduce by expr ::= expr / expr
semicolon: reduce by expr ::= expr / expr
lt: shift to state47,reduce by expr ::= expr / expr
plus: reduce by expr ::= expr / expr,shift to state49

state57 - state 0: id (

Compatible versions : DEFAULT

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

state58 - state 0: id ( )

Compatible versions : DEFAULT

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

state59 - state 0: id ( id

Compatible versions : DEFAULT

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

state60 - state 0: id ( id

Compatible versions : DEFAULT

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

state61 - state 0: id ( id ,

Compatible versions : DEFAULT

Kernel itemsActions Gotoes
arg_star_11_sub ::= arg_star_11_sub , • arg
_boolean: shift to state21
scan: shift to state22
integer: shift to state23
minus: shift to state24
lpar: shift to state25
plus: shift to state26
string: shift to state27
id: shift to state30
funcall:state32
arg:state62
constant:state33
expr:state63

state62 - 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

state63 - 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
expr ::= expr • / expr
expr ::= expr • * expr
expr ::= expr • <= expr
arg ::= expr •
ge: shift to state45
minus: shift to state41
le: shift to state51
slash: shift to state55
star: shift to state53
gt: shift to state35
rpar: reduce by arg ::= expr
mod: shift to state37
ne: shift to state39
eq: shift to state43
comma: reduce by arg ::= expr
lt: shift to state47
plus: shift to state49

state64 - state 0: if + 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
ge: reduce by expr ::= + expr,shift to state45
minus: shift to state41,reduce by expr ::= + expr
le: shift to state51,reduce by expr ::= + expr
slash: reduce by expr ::= + expr,shift to state55
star: shift to state53,reduce by expr ::= + expr
gt: reduce by expr ::= + expr,shift to state35
nl: reduce by expr ::= + expr
rpar: reduce by expr ::= + expr
mod: shift to state37,reduce by expr ::= + expr
colon: reduce by expr ::= + expr
ne: reduce by expr ::= + expr,shift to state39
eq: reduce by expr ::= + expr,shift to state43
comma: reduce by expr ::= + expr
semicolon: reduce by expr ::= + expr
lt: shift to state47,reduce by expr ::= + expr
plus: reduce by expr ::= + expr,shift to state49

state65 - state 0: if ( 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
gt: shift to state35
rpar: shift to state66
mod: shift to state37
ne: shift to state39
minus: shift to state41
eq: shift to state43
ge: shift to state45
lt: shift to state47
plus: shift to state49
le: shift to state51
star: shift to state53
slash: shift to state55

state66 - state 0: if ( id )

Compatible versions : DEFAULT

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

state67 - state 0: if - 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
ge: reduce by expr ::= - expr,shift to state45
minus: shift to state41,reduce by expr ::= - expr
le: shift to state51,reduce by expr ::= - expr
slash: shift to state55,reduce by expr ::= - expr
star: shift to state53,reduce by expr ::= - expr
gt: shift to state35,reduce by expr ::= - expr
nl: reduce by expr ::= - expr
rpar: reduce by expr ::= - expr
mod: shift to state37,reduce by expr ::= - expr
colon: reduce by expr ::= - expr
ne: shift to state39,reduce by expr ::= - expr
eq: shift to state43,reduce by expr ::= - expr
comma: reduce by expr ::= - expr
semicolon: reduce by expr ::= - expr
lt: shift to state47,reduce by expr ::= - expr
plus: reduce by expr ::= - expr,shift to state49

state68 - state 0: return

Compatible versions : DEFAULT

Kernel itemsActions Gotoes
return_instr ::= return expr_optional_6 • eoln
nl: shift to state17
semicolon: shift to state18
eoln:state69

state69 - state 0: return nl

Compatible versions : DEFAULT

Kernel itemsActions
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
var: reduce by return_instr ::= return expr_optional_6 eoln
__eof__: reduce by return_instr ::= return expr_optional_6 eoln
_for: reduce by return_instr ::= return expr_optional_6 eoln
_continue: reduce by return_instr ::= return expr_optional_6 eoln
_else: reduce by return_instr ::= return expr_optional_6 eoln
elif: reduce by return_instr ::= return expr_optional_6 eoln
_if: reduce by return_instr ::= return expr_optional_6 eoln
def: reduce by return_instr ::= return expr_optional_6 eoln
_break: reduce by return_instr ::= return expr_optional_6 eoln
empty: reduce by return_instr ::= return expr_optional_6 eoln
id: reduce by return_instr ::= return expr_optional_6 eoln
branch: reduce by return_instr ::= return expr_optional_6 eoln

state70 - 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
ge: shift to state45
minus: shift to state41
le: shift to state51
slash: shift to state55
star: shift to state53
gt: shift to state35
nl: reduce by expr_optional_6 ::= expr
mod: shift to state37
ne: shift to state39
eq: shift to state43
lt: shift to state47
semicolon: reduce by expr_optional_6 ::= expr
plus: shift to state49

state71 - state 0: def id ( ) : empty

Compatible versions : DEFAULT

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

state72 - state 0: if id : continue

Compatible versions : DEFAULT

Kernel itemsActions Gotoes
eob ::= continue • eoln
nl: shift to state17
semicolon: shift to state18
eoln:state73

state73 - state 0: if id : continue nl

Compatible versions : DEFAULT

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

state74 - state 0: def id ( ) : end

Compatible versions : DEFAULT

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

state75 - state 0: def id ( ) : empty

Compatible versions : DEFAULT

Kernel itemsActions
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
_if: 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
var: 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
__eof__: 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
id: 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

state76 - state 0: if id : return nl

Compatible versions : DEFAULT

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

state77 - state 0:

Compatible versions : DEFAULT

Kernel itemsActions Gotoes
block ::= instr_star_5 •
instr_star_5 ::= instr_star_5 • instr
print: shift to state93
end: reduce by block ::= instr_star_5
var: shift to state96
_return: reduce by block ::= instr_star_5
__eof__: reduce by block ::= instr_star_5
_for: shift to state102
_continue: reduce by block ::= instr_star_5
_else: reduce by block ::= instr_star_5
elif: reduce by block ::= instr_star_5
_if: shift to state78
_break: reduce by block ::= instr_star_5
empty: reduce by block ::= instr_star_5
id: shift to state122
branch: reduce by block ::= instr_star_5
funcall:state123
decl:state127
assignment:state125
instr:state129

state78 - state 0: if

Compatible versions : DEFAULT

Kernel itemsActions Gotoes
instr ::= if • expr : block else_cont
_boolean: shift to state21
scan: shift to state22
minus: shift to state24
integer: shift to state23
lpar: shift to state25
plus: shift to state26
string: shift to state27
id: shift to state28
funcall:state32
constant:state33
expr:state79

state79 - state 0: if 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
instr ::= if expr • : block else_cont
expr ::= expr • / expr
expr ::= expr • * expr
expr ::= expr • <= expr
gt: shift to state35
mod: shift to state37
colon: shift to state80
ne: shift to state39
minus: shift to state41
eq: shift to state43
ge: shift to state45
lt: shift to state47
plus: shift to state49
le: shift to state51
star: shift to state53
slash: shift to state55

state80 - state 0: if id :

Compatible versions : DEFAULT

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

state81 - state 0: if id :

Compatible versions : DEFAULT

Kernel itemsActions Gotoes
instr ::= if expr : block • else_cont
elif: shift to state82
end: shift to state15
_break: shift to state16
_return: shift to state20
_continue: shift to state72
_else: shift to state86
eob:state90
return_instr:state76
else_cont:state92

state82 - state 0: if id : elif

Compatible versions : DEFAULT

Kernel itemsActions Gotoes
else_cont ::= elif • expr : block else_cont
_boolean: shift to state21
scan: shift to state22
minus: shift to state24
integer: shift to state23
lpar: shift to state25
plus: shift to state26
string: shift to state27
id: shift to state28
funcall:state32
constant:state33
expr:state83

state83 - state 0: if id : elif 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
else_cont ::= elif expr • : block else_cont
expr ::= expr • * expr
expr ::= expr • <= expr
gt: shift to state35
mod: shift to state37
colon: shift to state84
ne: shift to state39
minus: shift to state41
eq: shift to state43
ge: shift to state45
lt: shift to state47
plus: shift to state49
le: shift to state51
star: shift to state53
slash: shift to state55

state84 - state 0: if id : elif id :

Compatible versions : DEFAULT

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

state85 - state 0: if id : elif id :

Compatible versions : DEFAULT

Kernel itemsActions Gotoes
else_cont ::= elif expr : block • else_cont
elif: shift to state82
end: shift to state15
_break: shift to state16
_return: shift to state20
_continue: shift to state72
_else: shift to state86
eob:state90
return_instr:state76
else_cont:state91

state86 - state 0: if id : else

Compatible versions : DEFAULT

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

state87 - state 0: if id : else :

Compatible versions : DEFAULT

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

state88 - state 0: if id : else :

Compatible versions : DEFAULT

Kernel itemsActions Gotoes
else_cont ::= else : block • eob
end: shift to state15
_break: shift to state16
_return: shift to state20
_continue: shift to state72
eob:state89
return_instr:state76

state89 - state 0: if id : else : end

Compatible versions : DEFAULT

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

state90 - state 0: if id : end

Compatible versions : DEFAULT

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

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

Compatible versions : DEFAULT

Kernel itemsActions
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
var: reduce by else_cont ::= elif expr : block else_cont
__eof__: reduce by else_cont ::= elif expr : block else_cont
_for: reduce by else_cont ::= elif expr : block else_cont
_continue: reduce by else_cont ::= elif expr : block else_cont
_else: reduce by else_cont ::= elif expr : block else_cont
elif: reduce by else_cont ::= elif expr : block else_cont
_if: reduce by else_cont ::= elif expr : block else_cont
_break: reduce by else_cont ::= elif expr : block else_cont
empty: reduce by else_cont ::= elif expr : block else_cont
id: reduce by else_cont ::= elif expr : block else_cont
branch: reduce by else_cont ::= elif expr : block else_cont

state92 - state 0: if id : end

Compatible versions : DEFAULT

Kernel itemsActions
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
var: reduce by instr ::= if expr : block else_cont
__eof__: reduce by instr ::= if expr : block else_cont
_for: reduce by instr ::= if expr : block else_cont
_continue: reduce by instr ::= if expr : block else_cont
_else: reduce by instr ::= if expr : block else_cont
elif: reduce by instr ::= if expr : block else_cont
_if: reduce by instr ::= if expr : block else_cont
_break: reduce by instr ::= if expr : block else_cont
empty: reduce by instr ::= if expr : block else_cont
id: reduce by instr ::= if expr : block else_cont
branch: reduce by instr ::= if expr : block else_cont

state93 - state 0: print

Compatible versions : DEFAULT

Kernel itemsActions Gotoes
instr ::= print • expr eoln
_boolean: shift to state21
scan: shift to state22
minus: shift to state24
integer: shift to state23
lpar: shift to state25
plus: shift to state26
string: shift to state27
id: shift to state28
funcall:state32
constant:state33
expr:state94

state94 - 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
expr ::= expr • / expr
instr ::= print expr • eoln
expr ::= expr • * expr
expr ::= expr • <= expr
ge: shift to state45
minus: shift to state41
le: shift to state51
slash: shift to state55
star: shift to state53
gt: shift to state35
nl: shift to state17
mod: shift to state37
ne: shift to state39
eq: shift to state43
lt: shift to state47
semicolon: shift to state18
plus: shift to state49
eoln:state95

state95 - state 0: print id nl

Compatible versions : DEFAULT

Kernel itemsActions
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
var: reduce by instr ::= print expr eoln
__eof__: reduce by instr ::= print expr eoln
_for: reduce by instr ::= print expr eoln
_continue: reduce by instr ::= print expr eoln
_else: reduce by instr ::= print expr eoln
elif: reduce by instr ::= print expr eoln
_if: reduce by instr ::= print expr eoln
_break: reduce by instr ::= print expr eoln
empty: reduce by instr ::= print expr eoln
id: reduce by instr ::= print expr eoln
branch: reduce by instr ::= print expr eoln

state96 - state 0: var

Compatible versions : DEFAULT

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

state97 - state 0: var type

Compatible versions : DEFAULT

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

state98 - state 0: var

Compatible versions : DEFAULT

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

state99 - state 0: var id

Compatible versions : DEFAULT

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

state100 - state 0: var id =

Compatible versions : DEFAULT

Kernel itemsActions Gotoes
decl ::= var type_optional_10 id = • expr
_boolean: shift to state21
scan: shift to state22
minus: shift to state24
integer: shift to state23
lpar: shift to state25
plus: shift to state26
string: shift to state27
id: shift to state28
funcall:state32
constant:state33
expr:state101

state101 - 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
expr ::= expr • / expr
decl ::= var type_optional_10 id = expr •
expr ::= expr • * expr
expr ::= expr • <= expr
ge: shift to state45
minus: shift to state41
le: shift to state51
slash: shift to state55
star: shift to state53
gt: shift to state35
nl: reduce by decl ::= var type_optional_10 id = expr
mod: shift to state37
ne: shift to state39
eq: shift to state43
comma: reduce by decl ::= var type_optional_10 id = expr
semicolon: reduce by decl ::= var type_optional_10 id = expr
lt: shift to state47
plus: shift to state49

state102 - 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 state96
comma: reduce by forinit_optional_7 ::= ɛ
id: shift to state103
assignment:state107
decl:state106
forinit_optional_7:state108
forinit:state121

state103 - state 0: for id

Compatible versions : DEFAULT

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

state104 - state 0: id =

Compatible versions : DEFAULT

Kernel itemsActions Gotoes
assignment ::= id = • expr
_boolean: shift to state21
scan: shift to state22
minus: shift to state24
integer: shift to state23
lpar: shift to state25
plus: shift to state26
string: shift to state27
id: shift to state28
funcall:state32
constant:state33
expr:state105

state105 - 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
assignment ::= id = expr •
expr ::= expr • / expr
expr ::= expr • * expr
expr ::= expr • <= expr
ge: shift to state45
minus: shift to state41
le: shift to state51
slash: shift to state55
star: shift to state53
gt: shift to state35
nl: reduce by assignment ::= id = expr
mod: shift to state37
ne: shift to state39
colon: reduce by assignment ::= id = expr
eq: shift to state43
comma: reduce by assignment ::= id = expr
semicolon: reduce by assignment ::= id = expr
lt: shift to state47
plus: shift to state49

state106 - state 0: for var id = id

Compatible versions : DEFAULT

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

state107 - state 0: for id = id

Compatible versions : DEFAULT

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

state108 - state 0: for

Compatible versions : DEFAULT

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

state109 - state 0: for ,

Compatible versions : DEFAULT

Kernel itemsActions Gotoes
instr ::= for forinit_optional_7 , • expr_optional_8 , forupdate_optional_9 : block eob
_boolean: shift to state21
scan: shift to state22
integer: shift to state23
minus: shift to state24
comma: reduce by expr_optional_8 ::= ɛ
lpar: shift to state25
plus: shift to state26
string: shift to state27
id: shift to state28
funcall:state32
constant:state33
expr:state110
expr_optional_8:state111

state110 - 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_optional_8 ::= expr •
expr ::= expr • / expr
expr ::= expr • * expr
expr ::= expr • <= expr
gt: shift to state35
mod: shift to state37
ne: shift to state39
eq: shift to state43
minus: shift to state41
ge: shift to state45
comma: reduce by expr_optional_8 ::= expr
lt: shift to state47
plus: shift to state49
le: shift to state51
star: shift to state53
slash: shift to state55

state111 - state 0: for ,

Compatible versions : DEFAULT

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

state112 - state 0: for , ,

Compatible versions : DEFAULT

Kernel itemsActions Gotoes
instr ::= for forinit_optional_7 , expr_optional_8 , • forupdate_optional_9 : block eob
_boolean: shift to state21
scan: shift to state22
colon: reduce by forupdate_optional_9 ::= ɛ
minus: shift to state24
integer: shift to state23
lpar: shift to state25
plus: shift to state26
string: shift to state27
id: shift to state113
funcall:state32
forupdate:state114
assignment:state115
forupdate_optional_9:state116
constant:state33
expr:state120

state113 - state 0: for , , id

Compatible versions : DEFAULT

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

state114 - state 0: for , , id

Compatible versions : DEFAULT

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

state115 - state 0: for , , id = id

Compatible versions : DEFAULT

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

state116 - state 0: for , ,

Compatible versions : DEFAULT

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

state117 - state 0: for , , :

Compatible versions : DEFAULT

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

state118 - state 0: for , , :

Compatible versions : DEFAULT

Kernel itemsActions Gotoes
instr ::= for forinit_optional_7 , expr_optional_8 , forupdate_optional_9 : block • eob
end: shift to state15
_break: shift to state16
_return: shift to state20
_continue: shift to state72
eob:state119
return_instr:state76

state119 - state 0: for , , : end

Compatible versions : DEFAULT

Kernel itemsActions
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
var: 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
_for: 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
_else: 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
_if: reduce by 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
empty: 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
branch: reduce by instr ::= for forinit_optional_7 , expr_optional_8 , forupdate_optional_9 : block eob

state120 - state 0: for , , id

Compatible versions : DEFAULT

Kernel itemsActions
expr ::= expr • != expr
expr ::= expr • % expr
expr ::= expr • >= expr
forupdate ::= 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
gt: shift to state35
mod: shift to state37
colon: reduce by forupdate ::= expr
ne: shift to state39
minus: shift to state41
eq: shift to state43
ge: shift to state45
lt: shift to state47
plus: shift to state49
le: shift to state51
star: shift to state53
slash: shift to state55

state121 - state 0: for id = id

Compatible versions : DEFAULT

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

state122 - state 0: id

Compatible versions : DEFAULT

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

state123 - state 0: id ( )

Compatible versions : DEFAULT

Kernel itemsActions Gotoes
instr ::= funcall • eoln
nl: shift to state17
semicolon: shift to state18
eoln:state124

state124 - state 0: id ( ) nl

Compatible versions : DEFAULT

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

state125 - state 0: id = id

Compatible versions : DEFAULT

Kernel itemsActions Gotoes
instr ::= assignment • eoln
nl: shift to state17
semicolon: shift to state18
eoln:state126

state126 - state 0: id = id nl

Compatible versions : DEFAULT

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

state127 - state 0: var id = id

Compatible versions : DEFAULT

Kernel itemsActions Gotoes
instr ::= decl • eoln
nl: shift to state17
semicolon: shift to state18
eoln:state128

state128 - state 0: var id = id nl

Compatible versions : DEFAULT

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

state129 - state 0: print id nl

Compatible versions : DEFAULT

Kernel itemsActions
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
var: reduce by instr_star_5 ::= instr_star_5 instr
__eof__: reduce by instr_star_5 ::= instr_star_5 instr
_for: reduce by instr_star_5 ::= instr_star_5 instr
_continue: reduce by instr_star_5 ::= instr_star_5 instr
_else: reduce by instr_star_5 ::= instr_star_5 instr
elif: reduce by instr_star_5 ::= instr_star_5 instr
_if: reduce by instr_star_5 ::= instr_star_5 instr
_break: reduce by instr_star_5 ::= instr_star_5 instr
empty: reduce by instr_star_5 ::= instr_star_5 instr
id: reduce by instr_star_5 ::= instr_star_5 instr
branch: reduce by instr_star_5 ::= instr_star_5 instr

state130 - state 0: def id ( id

Compatible versions : DEFAULT

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

state131 - 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:state132
type_optional_4:state133

state132 - state 0: def id ( id , id

Compatible versions : DEFAULT

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

state133 - state 0: def id (

Compatible versions : DEFAULT

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

state134 - state 0: def id ( id

Compatible versions : DEFAULT

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

state135 - state 0: def id ( ) : empty

Compatible versions : DEFAULT

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

state136 - state 0:

Compatible versions : DEFAULT

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

state137 - 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

state138 - 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

Valid XHTML 1.1