1382 lines
25 KiB
Plaintext
1382 lines
25 KiB
Plaintext
|
|
state 0
|
|
$accept: .compstmt $end
|
|
opt_terms: . (34)
|
|
|
|
';' shift 6
|
|
'\n' shift 7
|
|
. reduce 34 (src line 192)
|
|
|
|
compstmt goto 1
|
|
stmts goto 3
|
|
opt_terms goto 2
|
|
terms goto 4
|
|
term goto 5
|
|
|
|
state 1
|
|
$accept: compstmt.$end
|
|
|
|
$end accept
|
|
. error
|
|
|
|
|
|
state 2
|
|
compstmt: opt_terms. (1)
|
|
stmts: opt_terms.stmt
|
|
|
|
IDENT shift 10
|
|
NUMBER shift 11
|
|
STRING shift 15
|
|
'-' shift 12
|
|
'!' shift 13
|
|
'^' shift 14
|
|
'(' shift 16
|
|
. reduce 1 (src line 44)
|
|
|
|
stmt goto 8
|
|
expr goto 9
|
|
|
|
state 3
|
|
compstmt: stmts.opt_terms
|
|
stmts: stmts.terms stmt
|
|
opt_terms: . (34)
|
|
|
|
';' shift 6
|
|
'\n' shift 7
|
|
. reduce 34 (src line 192)
|
|
|
|
opt_terms goto 17
|
|
terms goto 18
|
|
term goto 5
|
|
|
|
state 4
|
|
opt_terms: terms. (35)
|
|
terms: terms.term
|
|
|
|
';' shift 6
|
|
'\n' shift 7
|
|
. reduce 35 (src line 193)
|
|
|
|
term goto 19
|
|
|
|
state 5
|
|
terms: term. (36)
|
|
|
|
. reduce 36 (src line 197)
|
|
|
|
|
|
state 6
|
|
term: ';'. (38)
|
|
|
|
. reduce 38 (src line 205)
|
|
|
|
|
|
state 7
|
|
term: '\n'. (39)
|
|
|
|
. reduce 39 (src line 208)
|
|
|
|
|
|
state 8
|
|
stmts: opt_terms stmt. (3)
|
|
|
|
. reduce 3 (src line 53)
|
|
|
|
|
|
state 9
|
|
stmt: expr.'=' expr
|
|
stmt: expr. (6)
|
|
expr: expr.'?' expr ':' expr
|
|
expr: expr.'+' expr
|
|
expr: expr.'-' expr
|
|
expr: expr.'*' expr
|
|
expr: expr.'/' expr
|
|
expr: expr.'%' expr
|
|
expr: expr.EQEQ expr
|
|
expr: expr.NEQ expr
|
|
expr: expr.'>' expr
|
|
expr: expr.GE expr
|
|
expr: expr.'<' expr
|
|
expr: expr.LE expr
|
|
expr: expr.'|' expr
|
|
expr: expr.OROR expr
|
|
expr: expr.'&' expr
|
|
expr: expr.ANDAND expr
|
|
|
|
EQEQ shift 27
|
|
NEQ shift 28
|
|
GE shift 30
|
|
LE shift 32
|
|
OROR shift 34
|
|
ANDAND shift 36
|
|
'=' shift 20
|
|
'?' shift 21
|
|
'>' shift 29
|
|
'<' shift 31
|
|
'+' shift 22
|
|
'-' shift 23
|
|
'*' shift 24
|
|
'/' shift 25
|
|
'%' shift 26
|
|
'|' shift 33
|
|
'&' shift 35
|
|
. reduce 6 (src line 76)
|
|
|
|
|
|
state 10
|
|
expr: IDENT. (7)
|
|
expr: IDENT.'(' exprs ')'
|
|
|
|
'(' shift 37
|
|
. reduce 7 (src line 81)
|
|
|
|
|
|
state 11
|
|
expr: NUMBER. (8)
|
|
|
|
. reduce 8 (src line 86)
|
|
|
|
|
|
state 12
|
|
expr: '-'.expr
|
|
|
|
IDENT shift 10
|
|
NUMBER shift 11
|
|
STRING shift 15
|
|
'-' shift 12
|
|
'!' shift 13
|
|
'^' shift 14
|
|
'(' shift 16
|
|
. error
|
|
|
|
expr goto 38
|
|
|
|
state 13
|
|
expr: '!'.expr
|
|
|
|
IDENT shift 10
|
|
NUMBER shift 11
|
|
STRING shift 15
|
|
'-' shift 12
|
|
'!' shift 13
|
|
'^' shift 14
|
|
'(' shift 16
|
|
. error
|
|
|
|
expr goto 39
|
|
|
|
state 14
|
|
expr: '^'.expr
|
|
|
|
IDENT shift 10
|
|
NUMBER shift 11
|
|
STRING shift 15
|
|
'-' shift 12
|
|
'!' shift 13
|
|
'^' shift 14
|
|
'(' shift 16
|
|
. error
|
|
|
|
expr goto 40
|
|
|
|
state 15
|
|
expr: STRING. (12)
|
|
|
|
. reduce 12 (src line 102)
|
|
|
|
|
|
state 16
|
|
expr: '('.expr ')'
|
|
|
|
IDENT shift 10
|
|
NUMBER shift 11
|
|
STRING shift 15
|
|
'-' shift 12
|
|
'!' shift 13
|
|
'^' shift 14
|
|
'(' shift 16
|
|
. error
|
|
|
|
expr goto 41
|
|
|
|
state 17
|
|
compstmt: stmts opt_terms. (2)
|
|
|
|
. reduce 2 (src line 48)
|
|
|
|
|
|
state 18
|
|
stmts: stmts terms.stmt
|
|
opt_terms: terms. (35)
|
|
terms: terms.term
|
|
|
|
IDENT shift 10
|
|
NUMBER shift 11
|
|
STRING shift 15
|
|
'-' shift 12
|
|
'!' shift 13
|
|
'^' shift 14
|
|
'(' shift 16
|
|
';' shift 6
|
|
'\n' shift 7
|
|
. reduce 35 (src line 193)
|
|
|
|
stmt goto 42
|
|
expr goto 9
|
|
term goto 19
|
|
|
|
state 19
|
|
terms: terms term. (37)
|
|
|
|
. reduce 37 (src line 200)
|
|
|
|
|
|
state 20
|
|
stmt: expr '='.expr
|
|
|
|
IDENT shift 10
|
|
NUMBER shift 11
|
|
STRING shift 15
|
|
'-' shift 12
|
|
'!' shift 13
|
|
'^' shift 14
|
|
'(' shift 16
|
|
. error
|
|
|
|
expr goto 43
|
|
|
|
state 21
|
|
expr: expr '?'.expr ':' expr
|
|
|
|
IDENT shift 10
|
|
NUMBER shift 11
|
|
STRING shift 15
|
|
'-' shift 12
|
|
'!' shift 13
|
|
'^' shift 14
|
|
'(' shift 16
|
|
. error
|
|
|
|
expr goto 44
|
|
|
|
state 22
|
|
expr: expr '+'.expr
|
|
|
|
IDENT shift 10
|
|
NUMBER shift 11
|
|
STRING shift 15
|
|
'-' shift 12
|
|
'!' shift 13
|
|
'^' shift 14
|
|
'(' shift 16
|
|
. error
|
|
|
|
expr goto 45
|
|
|
|
state 23
|
|
expr: expr '-'.expr
|
|
|
|
IDENT shift 10
|
|
NUMBER shift 11
|
|
STRING shift 15
|
|
'-' shift 12
|
|
'!' shift 13
|
|
'^' shift 14
|
|
'(' shift 16
|
|
. error
|
|
|
|
expr goto 46
|
|
|
|
state 24
|
|
expr: expr '*'.expr
|
|
|
|
IDENT shift 10
|
|
NUMBER shift 11
|
|
STRING shift 15
|
|
'-' shift 12
|
|
'!' shift 13
|
|
'^' shift 14
|
|
'(' shift 16
|
|
. error
|
|
|
|
expr goto 47
|
|
|
|
state 25
|
|
expr: expr '/'.expr
|
|
|
|
IDENT shift 10
|
|
NUMBER shift 11
|
|
STRING shift 15
|
|
'-' shift 12
|
|
'!' shift 13
|
|
'^' shift 14
|
|
'(' shift 16
|
|
. error
|
|
|
|
expr goto 48
|
|
|
|
state 26
|
|
expr: expr '%'.expr
|
|
|
|
IDENT shift 10
|
|
NUMBER shift 11
|
|
STRING shift 15
|
|
'-' shift 12
|
|
'!' shift 13
|
|
'^' shift 14
|
|
'(' shift 16
|
|
. error
|
|
|
|
expr goto 49
|
|
|
|
state 27
|
|
expr: expr EQEQ.expr
|
|
|
|
IDENT shift 10
|
|
NUMBER shift 11
|
|
STRING shift 15
|
|
'-' shift 12
|
|
'!' shift 13
|
|
'^' shift 14
|
|
'(' shift 16
|
|
. error
|
|
|
|
expr goto 50
|
|
|
|
state 28
|
|
expr: expr NEQ.expr
|
|
|
|
IDENT shift 10
|
|
NUMBER shift 11
|
|
STRING shift 15
|
|
'-' shift 12
|
|
'!' shift 13
|
|
'^' shift 14
|
|
'(' shift 16
|
|
. error
|
|
|
|
expr goto 51
|
|
|
|
state 29
|
|
expr: expr '>'.expr
|
|
|
|
IDENT shift 10
|
|
NUMBER shift 11
|
|
STRING shift 15
|
|
'-' shift 12
|
|
'!' shift 13
|
|
'^' shift 14
|
|
'(' shift 16
|
|
. error
|
|
|
|
expr goto 52
|
|
|
|
state 30
|
|
expr: expr GE.expr
|
|
|
|
IDENT shift 10
|
|
NUMBER shift 11
|
|
STRING shift 15
|
|
'-' shift 12
|
|
'!' shift 13
|
|
'^' shift 14
|
|
'(' shift 16
|
|
. error
|
|
|
|
expr goto 53
|
|
|
|
state 31
|
|
expr: expr '<'.expr
|
|
|
|
IDENT shift 10
|
|
NUMBER shift 11
|
|
STRING shift 15
|
|
'-' shift 12
|
|
'!' shift 13
|
|
'^' shift 14
|
|
'(' shift 16
|
|
. error
|
|
|
|
expr goto 54
|
|
|
|
state 32
|
|
expr: expr LE.expr
|
|
|
|
IDENT shift 10
|
|
NUMBER shift 11
|
|
STRING shift 15
|
|
'-' shift 12
|
|
'!' shift 13
|
|
'^' shift 14
|
|
'(' shift 16
|
|
. error
|
|
|
|
expr goto 55
|
|
|
|
state 33
|
|
expr: expr '|'.expr
|
|
|
|
IDENT shift 10
|
|
NUMBER shift 11
|
|
STRING shift 15
|
|
'-' shift 12
|
|
'!' shift 13
|
|
'^' shift 14
|
|
'(' shift 16
|
|
. error
|
|
|
|
expr goto 56
|
|
|
|
state 34
|
|
expr: expr OROR.expr
|
|
|
|
IDENT shift 10
|
|
NUMBER shift 11
|
|
STRING shift 15
|
|
'-' shift 12
|
|
'!' shift 13
|
|
'^' shift 14
|
|
'(' shift 16
|
|
. error
|
|
|
|
expr goto 57
|
|
|
|
state 35
|
|
expr: expr '&'.expr
|
|
|
|
IDENT shift 10
|
|
NUMBER shift 11
|
|
STRING shift 15
|
|
'-' shift 12
|
|
'!' shift 13
|
|
'^' shift 14
|
|
'(' shift 16
|
|
. error
|
|
|
|
expr goto 58
|
|
|
|
state 36
|
|
expr: expr ANDAND.expr
|
|
|
|
IDENT shift 10
|
|
NUMBER shift 11
|
|
STRING shift 15
|
|
'-' shift 12
|
|
'!' shift 13
|
|
'^' shift 14
|
|
'(' shift 16
|
|
. error
|
|
|
|
expr goto 59
|
|
|
|
state 37
|
|
expr: IDENT '('.exprs ')'
|
|
exprs: . (31)
|
|
|
|
IDENT shift 10
|
|
NUMBER shift 11
|
|
STRING shift 15
|
|
'-' shift 12
|
|
'!' shift 13
|
|
'^' shift 14
|
|
'(' shift 16
|
|
. reduce 31 (src line 179)
|
|
|
|
expr goto 61
|
|
exprs goto 60
|
|
|
|
38: shift/reduce conflict (shift 33(0), red'n 9(10)) on '|'
|
|
38: shift/reduce conflict (shift 35(0), red'n 9(10)) on '&'
|
|
state 38
|
|
expr: '-' expr. (9)
|
|
expr: expr.'?' expr ':' expr
|
|
expr: expr.'+' expr
|
|
expr: expr.'-' expr
|
|
expr: expr.'*' expr
|
|
expr: expr.'/' expr
|
|
expr: expr.'%' expr
|
|
expr: expr.EQEQ expr
|
|
expr: expr.NEQ expr
|
|
expr: expr.'>' expr
|
|
expr: expr.GE expr
|
|
expr: expr.'<' expr
|
|
expr: expr.LE expr
|
|
expr: expr.'|' expr
|
|
expr: expr.OROR expr
|
|
expr: expr.'&' expr
|
|
expr: expr.ANDAND expr
|
|
|
|
'|' shift 33
|
|
'&' shift 35
|
|
. reduce 9 (src line 90)
|
|
|
|
|
|
39: shift/reduce conflict (shift 33(0), red'n 10(10)) on '|'
|
|
39: shift/reduce conflict (shift 35(0), red'n 10(10)) on '&'
|
|
state 39
|
|
expr: '!' expr. (10)
|
|
expr: expr.'?' expr ':' expr
|
|
expr: expr.'+' expr
|
|
expr: expr.'-' expr
|
|
expr: expr.'*' expr
|
|
expr: expr.'/' expr
|
|
expr: expr.'%' expr
|
|
expr: expr.EQEQ expr
|
|
expr: expr.NEQ expr
|
|
expr: expr.'>' expr
|
|
expr: expr.GE expr
|
|
expr: expr.'<' expr
|
|
expr: expr.LE expr
|
|
expr: expr.'|' expr
|
|
expr: expr.OROR expr
|
|
expr: expr.'&' expr
|
|
expr: expr.ANDAND expr
|
|
|
|
'|' shift 33
|
|
'&' shift 35
|
|
. reduce 10 (src line 94)
|
|
|
|
|
|
40: shift/reduce conflict (shift 33(0), red'n 11(10)) on '|'
|
|
40: shift/reduce conflict (shift 35(0), red'n 11(10)) on '&'
|
|
state 40
|
|
expr: '^' expr. (11)
|
|
expr: expr.'?' expr ':' expr
|
|
expr: expr.'+' expr
|
|
expr: expr.'-' expr
|
|
expr: expr.'*' expr
|
|
expr: expr.'/' expr
|
|
expr: expr.'%' expr
|
|
expr: expr.EQEQ expr
|
|
expr: expr.NEQ expr
|
|
expr: expr.'>' expr
|
|
expr: expr.GE expr
|
|
expr: expr.'<' expr
|
|
expr: expr.LE expr
|
|
expr: expr.'|' expr
|
|
expr: expr.OROR expr
|
|
expr: expr.'&' expr
|
|
expr: expr.ANDAND expr
|
|
|
|
'|' shift 33
|
|
'&' shift 35
|
|
. reduce 11 (src line 98)
|
|
|
|
|
|
state 41
|
|
expr: expr.'?' expr ':' expr
|
|
expr: '(' expr.')'
|
|
expr: expr.'+' expr
|
|
expr: expr.'-' expr
|
|
expr: expr.'*' expr
|
|
expr: expr.'/' expr
|
|
expr: expr.'%' expr
|
|
expr: expr.EQEQ expr
|
|
expr: expr.NEQ expr
|
|
expr: expr.'>' expr
|
|
expr: expr.GE expr
|
|
expr: expr.'<' expr
|
|
expr: expr.LE expr
|
|
expr: expr.'|' expr
|
|
expr: expr.OROR expr
|
|
expr: expr.'&' expr
|
|
expr: expr.ANDAND expr
|
|
|
|
EQEQ shift 27
|
|
NEQ shift 28
|
|
GE shift 30
|
|
LE shift 32
|
|
OROR shift 34
|
|
ANDAND shift 36
|
|
'?' shift 21
|
|
'>' shift 29
|
|
'<' shift 31
|
|
'+' shift 22
|
|
'-' shift 23
|
|
'*' shift 24
|
|
'/' shift 25
|
|
'%' shift 26
|
|
')' shift 62
|
|
'|' shift 33
|
|
'&' shift 35
|
|
. error
|
|
|
|
|
|
state 42
|
|
stmts: stmts terms stmt. (4)
|
|
|
|
. reduce 4 (src line 61)
|
|
|
|
|
|
state 43
|
|
stmt: expr '=' expr. (5)
|
|
expr: expr.'?' expr ':' expr
|
|
expr: expr.'+' expr
|
|
expr: expr.'-' expr
|
|
expr: expr.'*' expr
|
|
expr: expr.'/' expr
|
|
expr: expr.'%' expr
|
|
expr: expr.EQEQ expr
|
|
expr: expr.NEQ expr
|
|
expr: expr.'>' expr
|
|
expr: expr.GE expr
|
|
expr: expr.'<' expr
|
|
expr: expr.LE expr
|
|
expr: expr.'|' expr
|
|
expr: expr.OROR expr
|
|
expr: expr.'&' expr
|
|
expr: expr.ANDAND expr
|
|
|
|
EQEQ shift 27
|
|
NEQ shift 28
|
|
GE shift 30
|
|
LE shift 32
|
|
OROR shift 34
|
|
ANDAND shift 36
|
|
'?' shift 21
|
|
'>' shift 29
|
|
'<' shift 31
|
|
'+' shift 22
|
|
'-' shift 23
|
|
'*' shift 24
|
|
'/' shift 25
|
|
'%' shift 26
|
|
'|' shift 33
|
|
'&' shift 35
|
|
. reduce 5 (src line 71)
|
|
|
|
|
|
state 44
|
|
expr: expr.'?' expr ':' expr
|
|
expr: expr '?' expr.':' expr
|
|
expr: expr.'+' expr
|
|
expr: expr.'-' expr
|
|
expr: expr.'*' expr
|
|
expr: expr.'/' expr
|
|
expr: expr.'%' expr
|
|
expr: expr.EQEQ expr
|
|
expr: expr.NEQ expr
|
|
expr: expr.'>' expr
|
|
expr: expr.GE expr
|
|
expr: expr.'<' expr
|
|
expr: expr.LE expr
|
|
expr: expr.'|' expr
|
|
expr: expr.OROR expr
|
|
expr: expr.'&' expr
|
|
expr: expr.ANDAND expr
|
|
|
|
EQEQ shift 27
|
|
NEQ shift 28
|
|
GE shift 30
|
|
LE shift 32
|
|
OROR shift 34
|
|
ANDAND shift 36
|
|
'?' shift 21
|
|
':' shift 63
|
|
'>' shift 29
|
|
'<' shift 31
|
|
'+' shift 22
|
|
'-' shift 23
|
|
'*' shift 24
|
|
'/' shift 25
|
|
'%' shift 26
|
|
'|' shift 33
|
|
'&' shift 35
|
|
. error
|
|
|
|
|
|
45: shift/reduce conflict (shift 33(0), red'n 15(8)) on '|'
|
|
45: shift/reduce conflict (shift 35(0), red'n 15(8)) on '&'
|
|
state 45
|
|
expr: expr.'?' expr ':' expr
|
|
expr: expr.'+' expr
|
|
expr: expr '+' expr. (15)
|
|
expr: expr.'-' expr
|
|
expr: expr.'*' expr
|
|
expr: expr.'/' expr
|
|
expr: expr.'%' expr
|
|
expr: expr.EQEQ expr
|
|
expr: expr.NEQ expr
|
|
expr: expr.'>' expr
|
|
expr: expr.GE expr
|
|
expr: expr.'<' expr
|
|
expr: expr.LE expr
|
|
expr: expr.'|' expr
|
|
expr: expr.OROR expr
|
|
expr: expr.'&' expr
|
|
expr: expr.ANDAND expr
|
|
|
|
'*' shift 24
|
|
'/' shift 25
|
|
'%' shift 26
|
|
'|' shift 33
|
|
'&' shift 35
|
|
. reduce 15 (src line 114)
|
|
|
|
|
|
46: shift/reduce conflict (shift 33(0), red'n 16(8)) on '|'
|
|
46: shift/reduce conflict (shift 35(0), red'n 16(8)) on '&'
|
|
state 46
|
|
expr: expr.'?' expr ':' expr
|
|
expr: expr.'+' expr
|
|
expr: expr.'-' expr
|
|
expr: expr '-' expr. (16)
|
|
expr: expr.'*' expr
|
|
expr: expr.'/' expr
|
|
expr: expr.'%' expr
|
|
expr: expr.EQEQ expr
|
|
expr: expr.NEQ expr
|
|
expr: expr.'>' expr
|
|
expr: expr.GE expr
|
|
expr: expr.'<' expr
|
|
expr: expr.LE expr
|
|
expr: expr.'|' expr
|
|
expr: expr.OROR expr
|
|
expr: expr.'&' expr
|
|
expr: expr.ANDAND expr
|
|
|
|
'*' shift 24
|
|
'/' shift 25
|
|
'%' shift 26
|
|
'|' shift 33
|
|
'&' shift 35
|
|
. reduce 16 (src line 118)
|
|
|
|
|
|
47: shift/reduce conflict (shift 33(0), red'n 17(9)) on '|'
|
|
47: shift/reduce conflict (shift 35(0), red'n 17(9)) on '&'
|
|
state 47
|
|
expr: expr.'?' expr ':' expr
|
|
expr: expr.'+' expr
|
|
expr: expr.'-' expr
|
|
expr: expr.'*' expr
|
|
expr: expr '*' expr. (17)
|
|
expr: expr.'/' expr
|
|
expr: expr.'%' expr
|
|
expr: expr.EQEQ expr
|
|
expr: expr.NEQ expr
|
|
expr: expr.'>' expr
|
|
expr: expr.GE expr
|
|
expr: expr.'<' expr
|
|
expr: expr.LE expr
|
|
expr: expr.'|' expr
|
|
expr: expr.OROR expr
|
|
expr: expr.'&' expr
|
|
expr: expr.ANDAND expr
|
|
|
|
'|' shift 33
|
|
'&' shift 35
|
|
. reduce 17 (src line 122)
|
|
|
|
|
|
48: shift/reduce conflict (shift 33(0), red'n 18(9)) on '|'
|
|
48: shift/reduce conflict (shift 35(0), red'n 18(9)) on '&'
|
|
state 48
|
|
expr: expr.'?' expr ':' expr
|
|
expr: expr.'+' expr
|
|
expr: expr.'-' expr
|
|
expr: expr.'*' expr
|
|
expr: expr.'/' expr
|
|
expr: expr '/' expr. (18)
|
|
expr: expr.'%' expr
|
|
expr: expr.EQEQ expr
|
|
expr: expr.NEQ expr
|
|
expr: expr.'>' expr
|
|
expr: expr.GE expr
|
|
expr: expr.'<' expr
|
|
expr: expr.LE expr
|
|
expr: expr.'|' expr
|
|
expr: expr.OROR expr
|
|
expr: expr.'&' expr
|
|
expr: expr.ANDAND expr
|
|
|
|
'|' shift 33
|
|
'&' shift 35
|
|
. reduce 18 (src line 126)
|
|
|
|
|
|
49: shift/reduce conflict (shift 33(0), red'n 19(9)) on '|'
|
|
49: shift/reduce conflict (shift 35(0), red'n 19(9)) on '&'
|
|
state 49
|
|
expr: expr.'?' expr ':' expr
|
|
expr: expr.'+' expr
|
|
expr: expr.'-' expr
|
|
expr: expr.'*' expr
|
|
expr: expr.'/' expr
|
|
expr: expr.'%' expr
|
|
expr: expr '%' expr. (19)
|
|
expr: expr.EQEQ expr
|
|
expr: expr.NEQ expr
|
|
expr: expr.'>' expr
|
|
expr: expr.GE expr
|
|
expr: expr.'<' expr
|
|
expr: expr.LE expr
|
|
expr: expr.'|' expr
|
|
expr: expr.OROR expr
|
|
expr: expr.'&' expr
|
|
expr: expr.ANDAND expr
|
|
|
|
'|' shift 33
|
|
'&' shift 35
|
|
. reduce 19 (src line 130)
|
|
|
|
|
|
50: shift/reduce conflict (shift 33(0), red'n 20(6)) on '|'
|
|
50: shift/reduce conflict (shift 35(0), red'n 20(6)) on '&'
|
|
state 50
|
|
expr: expr.'?' expr ':' expr
|
|
expr: expr.'+' expr
|
|
expr: expr.'-' expr
|
|
expr: expr.'*' expr
|
|
expr: expr.'/' expr
|
|
expr: expr.'%' expr
|
|
expr: expr.EQEQ expr
|
|
expr: expr EQEQ expr. (20)
|
|
expr: expr.NEQ expr
|
|
expr: expr.'>' expr
|
|
expr: expr.GE expr
|
|
expr: expr.'<' expr
|
|
expr: expr.LE expr
|
|
expr: expr.'|' expr
|
|
expr: expr.OROR expr
|
|
expr: expr.'&' expr
|
|
expr: expr.ANDAND expr
|
|
|
|
EQEQ error
|
|
NEQ error
|
|
GE shift 30
|
|
LE shift 32
|
|
'>' shift 29
|
|
'<' shift 31
|
|
'+' shift 22
|
|
'-' shift 23
|
|
'*' shift 24
|
|
'/' shift 25
|
|
'%' shift 26
|
|
'|' shift 33
|
|
'&' shift 35
|
|
. reduce 20 (src line 134)
|
|
|
|
|
|
51: shift/reduce conflict (shift 33(0), red'n 21(6)) on '|'
|
|
51: shift/reduce conflict (shift 35(0), red'n 21(6)) on '&'
|
|
state 51
|
|
expr: expr.'?' expr ':' expr
|
|
expr: expr.'+' expr
|
|
expr: expr.'-' expr
|
|
expr: expr.'*' expr
|
|
expr: expr.'/' expr
|
|
expr: expr.'%' expr
|
|
expr: expr.EQEQ expr
|
|
expr: expr.NEQ expr
|
|
expr: expr NEQ expr. (21)
|
|
expr: expr.'>' expr
|
|
expr: expr.GE expr
|
|
expr: expr.'<' expr
|
|
expr: expr.LE expr
|
|
expr: expr.'|' expr
|
|
expr: expr.OROR expr
|
|
expr: expr.'&' expr
|
|
expr: expr.ANDAND expr
|
|
|
|
EQEQ error
|
|
NEQ error
|
|
GE shift 30
|
|
LE shift 32
|
|
'>' shift 29
|
|
'<' shift 31
|
|
'+' shift 22
|
|
'-' shift 23
|
|
'*' shift 24
|
|
'/' shift 25
|
|
'%' shift 26
|
|
'|' shift 33
|
|
'&' shift 35
|
|
. reduce 21 (src line 138)
|
|
|
|
|
|
52: shift/reduce conflict (shift 33(0), red'n 22(7)) on '|'
|
|
52: shift/reduce conflict (shift 35(0), red'n 22(7)) on '&'
|
|
state 52
|
|
expr: expr.'?' expr ':' expr
|
|
expr: expr.'+' expr
|
|
expr: expr.'-' expr
|
|
expr: expr.'*' expr
|
|
expr: expr.'/' expr
|
|
expr: expr.'%' expr
|
|
expr: expr.EQEQ expr
|
|
expr: expr.NEQ expr
|
|
expr: expr.'>' expr
|
|
expr: expr '>' expr. (22)
|
|
expr: expr.GE expr
|
|
expr: expr.'<' expr
|
|
expr: expr.LE expr
|
|
expr: expr.'|' expr
|
|
expr: expr.OROR expr
|
|
expr: expr.'&' expr
|
|
expr: expr.ANDAND expr
|
|
|
|
'+' shift 22
|
|
'-' shift 23
|
|
'*' shift 24
|
|
'/' shift 25
|
|
'%' shift 26
|
|
'|' shift 33
|
|
'&' shift 35
|
|
. reduce 22 (src line 142)
|
|
|
|
|
|
53: shift/reduce conflict (shift 33(0), red'n 23(7)) on '|'
|
|
53: shift/reduce conflict (shift 35(0), red'n 23(7)) on '&'
|
|
state 53
|
|
expr: expr.'?' expr ':' expr
|
|
expr: expr.'+' expr
|
|
expr: expr.'-' expr
|
|
expr: expr.'*' expr
|
|
expr: expr.'/' expr
|
|
expr: expr.'%' expr
|
|
expr: expr.EQEQ expr
|
|
expr: expr.NEQ expr
|
|
expr: expr.'>' expr
|
|
expr: expr.GE expr
|
|
expr: expr GE expr. (23)
|
|
expr: expr.'<' expr
|
|
expr: expr.LE expr
|
|
expr: expr.'|' expr
|
|
expr: expr.OROR expr
|
|
expr: expr.'&' expr
|
|
expr: expr.ANDAND expr
|
|
|
|
'+' shift 22
|
|
'-' shift 23
|
|
'*' shift 24
|
|
'/' shift 25
|
|
'%' shift 26
|
|
'|' shift 33
|
|
'&' shift 35
|
|
. reduce 23 (src line 146)
|
|
|
|
|
|
54: shift/reduce conflict (shift 33(0), red'n 24(7)) on '|'
|
|
54: shift/reduce conflict (shift 35(0), red'n 24(7)) on '&'
|
|
state 54
|
|
expr: expr.'?' expr ':' expr
|
|
expr: expr.'+' expr
|
|
expr: expr.'-' expr
|
|
expr: expr.'*' expr
|
|
expr: expr.'/' expr
|
|
expr: expr.'%' expr
|
|
expr: expr.EQEQ expr
|
|
expr: expr.NEQ expr
|
|
expr: expr.'>' expr
|
|
expr: expr.GE expr
|
|
expr: expr.'<' expr
|
|
expr: expr '<' expr. (24)
|
|
expr: expr.LE expr
|
|
expr: expr.'|' expr
|
|
expr: expr.OROR expr
|
|
expr: expr.'&' expr
|
|
expr: expr.ANDAND expr
|
|
|
|
'+' shift 22
|
|
'-' shift 23
|
|
'*' shift 24
|
|
'/' shift 25
|
|
'%' shift 26
|
|
'|' shift 33
|
|
'&' shift 35
|
|
. reduce 24 (src line 150)
|
|
|
|
|
|
55: shift/reduce conflict (shift 33(0), red'n 25(7)) on '|'
|
|
55: shift/reduce conflict (shift 35(0), red'n 25(7)) on '&'
|
|
state 55
|
|
expr: expr.'?' expr ':' expr
|
|
expr: expr.'+' expr
|
|
expr: expr.'-' expr
|
|
expr: expr.'*' expr
|
|
expr: expr.'/' expr
|
|
expr: expr.'%' expr
|
|
expr: expr.EQEQ expr
|
|
expr: expr.NEQ expr
|
|
expr: expr.'>' expr
|
|
expr: expr.GE expr
|
|
expr: expr.'<' expr
|
|
expr: expr.LE expr
|
|
expr: expr LE expr. (25)
|
|
expr: expr.'|' expr
|
|
expr: expr.OROR expr
|
|
expr: expr.'&' expr
|
|
expr: expr.ANDAND expr
|
|
|
|
'+' shift 22
|
|
'-' shift 23
|
|
'*' shift 24
|
|
'/' shift 25
|
|
'%' shift 26
|
|
'|' shift 33
|
|
'&' shift 35
|
|
. reduce 25 (src line 154)
|
|
|
|
|
|
56: shift/reduce conflict (shift 27(6), red'n 26(0)) on EQEQ
|
|
56: shift/reduce conflict (shift 28(6), red'n 26(0)) on NEQ
|
|
56: shift/reduce conflict (shift 30(7), red'n 26(0)) on GE
|
|
56: shift/reduce conflict (shift 32(7), red'n 26(0)) on LE
|
|
56: shift/reduce conflict (shift 34(3), red'n 26(0)) on OROR
|
|
56: shift/reduce conflict (shift 36(4), red'n 26(0)) on ANDAND
|
|
56: shift/reduce conflict (shift 21(2), red'n 26(0)) on '?'
|
|
56: shift/reduce conflict (shift 29(7), red'n 26(0)) on '>'
|
|
56: shift/reduce conflict (shift 31(7), red'n 26(0)) on '<'
|
|
56: shift/reduce conflict (shift 22(8), red'n 26(0)) on '+'
|
|
56: shift/reduce conflict (shift 23(8), red'n 26(0)) on '-'
|
|
56: shift/reduce conflict (shift 24(9), red'n 26(0)) on '*'
|
|
56: shift/reduce conflict (shift 25(9), red'n 26(0)) on '/'
|
|
56: shift/reduce conflict (shift 26(9), red'n 26(0)) on '%'
|
|
56: shift/reduce conflict (shift 33(0), red'n 26(0)) on '|'
|
|
56: shift/reduce conflict (shift 35(0), red'n 26(0)) on '&'
|
|
state 56
|
|
expr: expr.'?' expr ':' expr
|
|
expr: expr.'+' expr
|
|
expr: expr.'-' expr
|
|
expr: expr.'*' expr
|
|
expr: expr.'/' expr
|
|
expr: expr.'%' expr
|
|
expr: expr.EQEQ expr
|
|
expr: expr.NEQ expr
|
|
expr: expr.'>' expr
|
|
expr: expr.GE expr
|
|
expr: expr.'<' expr
|
|
expr: expr.LE expr
|
|
expr: expr.'|' expr
|
|
expr: expr '|' expr. (26)
|
|
expr: expr.OROR expr
|
|
expr: expr.'&' expr
|
|
expr: expr.ANDAND expr
|
|
|
|
EQEQ shift 27
|
|
NEQ shift 28
|
|
GE shift 30
|
|
LE shift 32
|
|
OROR shift 34
|
|
ANDAND shift 36
|
|
'?' shift 21
|
|
'>' shift 29
|
|
'<' shift 31
|
|
'+' shift 22
|
|
'-' shift 23
|
|
'*' shift 24
|
|
'/' shift 25
|
|
'%' shift 26
|
|
'|' shift 33
|
|
'&' shift 35
|
|
. reduce 26 (src line 158)
|
|
|
|
|
|
57: shift/reduce conflict (shift 33(0), red'n 27(3)) on '|'
|
|
57: shift/reduce conflict (shift 35(0), red'n 27(3)) on '&'
|
|
state 57
|
|
expr: expr.'?' expr ':' expr
|
|
expr: expr.'+' expr
|
|
expr: expr.'-' expr
|
|
expr: expr.'*' expr
|
|
expr: expr.'/' expr
|
|
expr: expr.'%' expr
|
|
expr: expr.EQEQ expr
|
|
expr: expr.NEQ expr
|
|
expr: expr.'>' expr
|
|
expr: expr.GE expr
|
|
expr: expr.'<' expr
|
|
expr: expr.LE expr
|
|
expr: expr.'|' expr
|
|
expr: expr.OROR expr
|
|
expr: expr OROR expr. (27)
|
|
expr: expr.'&' expr
|
|
expr: expr.ANDAND expr
|
|
|
|
EQEQ shift 27
|
|
NEQ shift 28
|
|
GE shift 30
|
|
LE shift 32
|
|
ANDAND shift 36
|
|
'>' shift 29
|
|
'<' shift 31
|
|
'+' shift 22
|
|
'-' shift 23
|
|
'*' shift 24
|
|
'/' shift 25
|
|
'%' shift 26
|
|
'|' shift 33
|
|
'&' shift 35
|
|
. reduce 27 (src line 162)
|
|
|
|
|
|
58: shift/reduce conflict (shift 27(6), red'n 28(0)) on EQEQ
|
|
58: shift/reduce conflict (shift 28(6), red'n 28(0)) on NEQ
|
|
58: shift/reduce conflict (shift 30(7), red'n 28(0)) on GE
|
|
58: shift/reduce conflict (shift 32(7), red'n 28(0)) on LE
|
|
58: shift/reduce conflict (shift 34(3), red'n 28(0)) on OROR
|
|
58: shift/reduce conflict (shift 36(4), red'n 28(0)) on ANDAND
|
|
58: shift/reduce conflict (shift 21(2), red'n 28(0)) on '?'
|
|
58: shift/reduce conflict (shift 29(7), red'n 28(0)) on '>'
|
|
58: shift/reduce conflict (shift 31(7), red'n 28(0)) on '<'
|
|
58: shift/reduce conflict (shift 22(8), red'n 28(0)) on '+'
|
|
58: shift/reduce conflict (shift 23(8), red'n 28(0)) on '-'
|
|
58: shift/reduce conflict (shift 24(9), red'n 28(0)) on '*'
|
|
58: shift/reduce conflict (shift 25(9), red'n 28(0)) on '/'
|
|
58: shift/reduce conflict (shift 26(9), red'n 28(0)) on '%'
|
|
58: shift/reduce conflict (shift 33(0), red'n 28(0)) on '|'
|
|
58: shift/reduce conflict (shift 35(0), red'n 28(0)) on '&'
|
|
state 58
|
|
expr: expr.'?' expr ':' expr
|
|
expr: expr.'+' expr
|
|
expr: expr.'-' expr
|
|
expr: expr.'*' expr
|
|
expr: expr.'/' expr
|
|
expr: expr.'%' expr
|
|
expr: expr.EQEQ expr
|
|
expr: expr.NEQ expr
|
|
expr: expr.'>' expr
|
|
expr: expr.GE expr
|
|
expr: expr.'<' expr
|
|
expr: expr.LE expr
|
|
expr: expr.'|' expr
|
|
expr: expr.OROR expr
|
|
expr: expr.'&' expr
|
|
expr: expr '&' expr. (28)
|
|
expr: expr.ANDAND expr
|
|
|
|
EQEQ shift 27
|
|
NEQ shift 28
|
|
GE shift 30
|
|
LE shift 32
|
|
OROR shift 34
|
|
ANDAND shift 36
|
|
'?' shift 21
|
|
'>' shift 29
|
|
'<' shift 31
|
|
'+' shift 22
|
|
'-' shift 23
|
|
'*' shift 24
|
|
'/' shift 25
|
|
'%' shift 26
|
|
'|' shift 33
|
|
'&' shift 35
|
|
. reduce 28 (src line 166)
|
|
|
|
|
|
59: shift/reduce conflict (shift 33(0), red'n 29(4)) on '|'
|
|
59: shift/reduce conflict (shift 35(0), red'n 29(4)) on '&'
|
|
state 59
|
|
expr: expr.'?' expr ':' expr
|
|
expr: expr.'+' expr
|
|
expr: expr.'-' expr
|
|
expr: expr.'*' expr
|
|
expr: expr.'/' expr
|
|
expr: expr.'%' expr
|
|
expr: expr.EQEQ expr
|
|
expr: expr.NEQ expr
|
|
expr: expr.'>' expr
|
|
expr: expr.GE expr
|
|
expr: expr.'<' expr
|
|
expr: expr.LE expr
|
|
expr: expr.'|' expr
|
|
expr: expr.OROR expr
|
|
expr: expr.'&' expr
|
|
expr: expr.ANDAND expr
|
|
expr: expr ANDAND expr. (29)
|
|
|
|
EQEQ shift 27
|
|
NEQ shift 28
|
|
GE shift 30
|
|
LE shift 32
|
|
'>' shift 29
|
|
'<' shift 31
|
|
'+' shift 22
|
|
'-' shift 23
|
|
'*' shift 24
|
|
'/' shift 25
|
|
'%' shift 26
|
|
'|' shift 33
|
|
'&' shift 35
|
|
. reduce 29 (src line 170)
|
|
|
|
|
|
state 60
|
|
expr: IDENT '(' exprs.')'
|
|
exprs: exprs.',' expr
|
|
|
|
',' shift 65
|
|
')' shift 64
|
|
. error
|
|
|
|
|
|
state 61
|
|
expr: expr.'?' expr ':' expr
|
|
expr: expr.'+' expr
|
|
expr: expr.'-' expr
|
|
expr: expr.'*' expr
|
|
expr: expr.'/' expr
|
|
expr: expr.'%' expr
|
|
expr: expr.EQEQ expr
|
|
expr: expr.NEQ expr
|
|
expr: expr.'>' expr
|
|
expr: expr.GE expr
|
|
expr: expr.'<' expr
|
|
expr: expr.LE expr
|
|
expr: expr.'|' expr
|
|
expr: expr.OROR expr
|
|
expr: expr.'&' expr
|
|
expr: expr.ANDAND expr
|
|
exprs: expr. (32)
|
|
|
|
EQEQ shift 27
|
|
NEQ shift 28
|
|
GE shift 30
|
|
LE shift 32
|
|
OROR shift 34
|
|
ANDAND shift 36
|
|
'?' shift 21
|
|
'>' shift 29
|
|
'<' shift 31
|
|
'+' shift 22
|
|
'-' shift 23
|
|
'*' shift 24
|
|
'/' shift 25
|
|
'%' shift 26
|
|
'|' shift 33
|
|
'&' shift 35
|
|
. reduce 32 (src line 183)
|
|
|
|
|
|
state 62
|
|
expr: '(' expr ')'. (14)
|
|
|
|
. reduce 14 (src line 110)
|
|
|
|
|
|
state 63
|
|
expr: expr '?' expr ':'.expr
|
|
|
|
IDENT shift 10
|
|
NUMBER shift 11
|
|
STRING shift 15
|
|
'-' shift 12
|
|
'!' shift 13
|
|
'^' shift 14
|
|
'(' shift 16
|
|
. error
|
|
|
|
expr goto 66
|
|
|
|
state 64
|
|
expr: IDENT '(' exprs ')'. (30)
|
|
|
|
. reduce 30 (src line 174)
|
|
|
|
|
|
state 65
|
|
exprs: exprs ','.expr
|
|
|
|
IDENT shift 10
|
|
NUMBER shift 11
|
|
STRING shift 15
|
|
'-' shift 12
|
|
'!' shift 13
|
|
'^' shift 14
|
|
'(' shift 16
|
|
. error
|
|
|
|
expr goto 67
|
|
|
|
66: shift/reduce conflict (shift 33(0), red'n 13(2)) on '|'
|
|
66: shift/reduce conflict (shift 35(0), red'n 13(2)) on '&'
|
|
state 66
|
|
expr: expr.'?' expr ':' expr
|
|
expr: expr '?' expr ':' expr. (13)
|
|
expr: expr.'+' expr
|
|
expr: expr.'-' expr
|
|
expr: expr.'*' expr
|
|
expr: expr.'/' expr
|
|
expr: expr.'%' expr
|
|
expr: expr.EQEQ expr
|
|
expr: expr.NEQ expr
|
|
expr: expr.'>' expr
|
|
expr: expr.GE expr
|
|
expr: expr.'<' expr
|
|
expr: expr.LE expr
|
|
expr: expr.'|' expr
|
|
expr: expr.OROR expr
|
|
expr: expr.'&' expr
|
|
expr: expr.ANDAND expr
|
|
|
|
EQEQ shift 27
|
|
NEQ shift 28
|
|
GE shift 30
|
|
LE shift 32
|
|
OROR shift 34
|
|
ANDAND shift 36
|
|
'?' shift 21
|
|
'>' shift 29
|
|
'<' shift 31
|
|
'+' shift 22
|
|
'-' shift 23
|
|
'*' shift 24
|
|
'/' shift 25
|
|
'%' shift 26
|
|
'|' shift 33
|
|
'&' shift 35
|
|
. reduce 13 (src line 106)
|
|
|
|
|
|
state 67
|
|
expr: expr.'?' expr ':' expr
|
|
expr: expr.'+' expr
|
|
expr: expr.'-' expr
|
|
expr: expr.'*' expr
|
|
expr: expr.'/' expr
|
|
expr: expr.'%' expr
|
|
expr: expr.EQEQ expr
|
|
expr: expr.NEQ expr
|
|
expr: expr.'>' expr
|
|
expr: expr.GE expr
|
|
expr: expr.'<' expr
|
|
expr: expr.LE expr
|
|
expr: expr.'|' expr
|
|
expr: expr.OROR expr
|
|
expr: expr.'&' expr
|
|
expr: expr.ANDAND expr
|
|
exprs: exprs ',' expr. (33)
|
|
|
|
EQEQ shift 27
|
|
NEQ shift 28
|
|
GE shift 30
|
|
LE shift 32
|
|
OROR shift 34
|
|
ANDAND shift 36
|
|
'?' shift 21
|
|
'>' shift 29
|
|
'<' shift 31
|
|
'+' shift 22
|
|
'-' shift 23
|
|
'*' shift 24
|
|
'/' shift 25
|
|
'%' shift 26
|
|
'|' shift 33
|
|
'&' shift 35
|
|
. reduce 33 (src line 187)
|
|
|
|
|
|
37 terminals, 9 nonterminals
|
|
40 grammar rules, 68/2000 states
|
|
66 shift/reduce, 0 reduce/reduce conflicts reported
|
|
58 working sets used
|
|
memory: parser 38/30000
|
|
49 extra closures
|
|
439 shift entries, 5 exceptions
|
|
37 goto entries
|
|
2 entries saved by goto default
|
|
Optimizer space used: output 251/30000
|
|
251 table entries, 74 zero
|
|
maximum spread: 37, maximum offset: 65
|