mirror of
https://github.com/freebsd/freebsd-src
synced 2024-10-04 23:50:27 +00:00
byacc: readd tests in the import
This commit is contained in:
parent
0b234d7a89
commit
85a764b2c5
4
test/README
Normal file
4
test/README
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
-- $Id: README,v 1.1 2004/03/28 19:10:48 tom Exp $
|
||||||
|
|
||||||
|
The files in this directory are input (.y) and output (.output, .tab.c, .tab.h)
|
||||||
|
examples.
|
30
test/btyacc/big_b.error
Normal file
30
test/btyacc/big_b.error
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
Usage: YACC [options] filename
|
||||||
|
|
||||||
|
Options:
|
||||||
|
-b file_prefix set filename prefix (default "y.")
|
||||||
|
-B create a backtracking parser
|
||||||
|
-d write definitions (.tab.h)
|
||||||
|
-h print this help-message
|
||||||
|
-H defines_file write definitions to defines_file
|
||||||
|
-i write interface (y.tab.i)
|
||||||
|
-g write a graphical description
|
||||||
|
-l suppress #line directives
|
||||||
|
-L enable position processing, e.g., "%locations"
|
||||||
|
-o output_file (default ".tab.c")
|
||||||
|
-p symbol_prefix set symbol prefix (default "yy")
|
||||||
|
-P create a reentrant parser, e.g., "%pure-parser"
|
||||||
|
-r produce separate code and table files (y.code.c)
|
||||||
|
-s suppress #define's for quoted names in %token lines
|
||||||
|
-t add debugging support
|
||||||
|
-v write description (y.output)
|
||||||
|
-V show version information and exit
|
||||||
|
|
||||||
|
Long options:
|
||||||
|
--defines -H
|
||||||
|
--file-prefix -b
|
||||||
|
--graph -g
|
||||||
|
--help -h
|
||||||
|
--name-prefix -p
|
||||||
|
--no-lines -l
|
||||||
|
--output -o
|
||||||
|
--version -V
|
0
test/btyacc/big_b.output
Normal file
0
test/btyacc/big_b.output
Normal file
30
test/btyacc/big_l.error
Normal file
30
test/btyacc/big_l.error
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
Usage: YACC [options] filename
|
||||||
|
|
||||||
|
Options:
|
||||||
|
-b file_prefix set filename prefix (default "y.")
|
||||||
|
-B create a backtracking parser
|
||||||
|
-d write definitions (.tab.h)
|
||||||
|
-h print this help-message
|
||||||
|
-H defines_file write definitions to defines_file
|
||||||
|
-i write interface (y.tab.i)
|
||||||
|
-g write a graphical description
|
||||||
|
-l suppress #line directives
|
||||||
|
-L enable position processing, e.g., "%locations"
|
||||||
|
-o output_file (default ".tab.c")
|
||||||
|
-p symbol_prefix set symbol prefix (default "yy")
|
||||||
|
-P create a reentrant parser, e.g., "%pure-parser"
|
||||||
|
-r produce separate code and table files (y.code.c)
|
||||||
|
-s suppress #define's for quoted names in %token lines
|
||||||
|
-t add debugging support
|
||||||
|
-v write description (y.output)
|
||||||
|
-V show version information and exit
|
||||||
|
|
||||||
|
Long options:
|
||||||
|
--defines -H
|
||||||
|
--file-prefix -b
|
||||||
|
--graph -g
|
||||||
|
--help -h
|
||||||
|
--name-prefix -p
|
||||||
|
--no-lines -l
|
||||||
|
--output -o
|
||||||
|
--version -V
|
0
test/btyacc/big_l.output
Normal file
0
test/btyacc/big_l.output
Normal file
1
test/btyacc/btyacc_calc1.error
Normal file
1
test/btyacc/btyacc_calc1.error
Normal file
|
@ -0,0 +1 @@
|
||||||
|
YACC: 17 shift/reduce conflicts, 27 reduce/reduce conflicts.
|
949
test/btyacc/btyacc_calc1.output
Normal file
949
test/btyacc/btyacc_calc1.output
Normal file
|
@ -0,0 +1,949 @@
|
||||||
|
0 $accept : lines $end
|
||||||
|
|
||||||
|
1 lines :
|
||||||
|
2 | lines line '\n'
|
||||||
|
3 | lines error '\n'
|
||||||
|
|
||||||
|
4 line : dexp
|
||||||
|
5 | vexp
|
||||||
|
6 | DREG '=' dexp
|
||||||
|
7 | VREG '=' vexp
|
||||||
|
|
||||||
|
8 dexp : CONST
|
||||||
|
9 | DREG
|
||||||
|
10 | dexp '+' dexp
|
||||||
|
11 | dexp '-' dexp
|
||||||
|
12 | dexp '*' dexp
|
||||||
|
13 | dexp '/' dexp
|
||||||
|
14 | '-' dexp
|
||||||
|
15 | '(' dexp ')'
|
||||||
|
|
||||||
|
16 vexp : dexp
|
||||||
|
17 | '(' dexp ',' dexp ')'
|
||||||
|
18 | VREG
|
||||||
|
19 | vexp '+' vexp
|
||||||
|
20 | dexp '+' vexp
|
||||||
|
21 | vexp '-' vexp
|
||||||
|
22 | dexp '-' vexp
|
||||||
|
23 | vexp '*' vexp
|
||||||
|
24 | dexp '*' vexp
|
||||||
|
25 | vexp '/' vexp
|
||||||
|
26 | dexp '/' vexp
|
||||||
|
27 | '-' vexp
|
||||||
|
28 | '(' vexp ')'
|
||||||
|
|
||||||
|
state 0
|
||||||
|
$accept : . lines $end (0)
|
||||||
|
lines : . (1)
|
||||||
|
|
||||||
|
. reduce 1
|
||||||
|
|
||||||
|
lines goto 1
|
||||||
|
|
||||||
|
|
||||||
|
state 1
|
||||||
|
$accept : lines . $end (0)
|
||||||
|
lines : lines . line '\n' (2)
|
||||||
|
lines : lines . error '\n' (3)
|
||||||
|
|
||||||
|
$end accept
|
||||||
|
error shift 2
|
||||||
|
DREG shift 3
|
||||||
|
VREG shift 4
|
||||||
|
CONST shift 5
|
||||||
|
'-' shift 6
|
||||||
|
'(' shift 7
|
||||||
|
. error
|
||||||
|
|
||||||
|
dexp goto 8
|
||||||
|
vexp goto 9
|
||||||
|
line goto 10
|
||||||
|
|
||||||
|
|
||||||
|
state 2
|
||||||
|
lines : lines error . '\n' (3)
|
||||||
|
|
||||||
|
'\n' shift 11
|
||||||
|
. error
|
||||||
|
|
||||||
|
|
||||||
|
state 3
|
||||||
|
line : DREG . '=' dexp (6)
|
||||||
|
dexp : DREG . (9)
|
||||||
|
|
||||||
|
'=' shift 12
|
||||||
|
'+' reduce 9
|
||||||
|
'-' reduce 9
|
||||||
|
'*' reduce 9
|
||||||
|
'/' reduce 9
|
||||||
|
'\n' reduce 9
|
||||||
|
|
||||||
|
|
||||||
|
state 4
|
||||||
|
line : VREG . '=' vexp (7)
|
||||||
|
vexp : VREG . (18)
|
||||||
|
|
||||||
|
'=' shift 13
|
||||||
|
'+' reduce 18
|
||||||
|
'-' reduce 18
|
||||||
|
'*' reduce 18
|
||||||
|
'/' reduce 18
|
||||||
|
'\n' reduce 18
|
||||||
|
|
||||||
|
|
||||||
|
state 5
|
||||||
|
dexp : CONST . (8)
|
||||||
|
|
||||||
|
. reduce 8
|
||||||
|
|
||||||
|
|
||||||
|
state 6
|
||||||
|
dexp : '-' . dexp (14)
|
||||||
|
vexp : '-' . vexp (27)
|
||||||
|
|
||||||
|
DREG shift 14
|
||||||
|
VREG shift 15
|
||||||
|
CONST shift 5
|
||||||
|
'-' shift 6
|
||||||
|
'(' shift 7
|
||||||
|
. error
|
||||||
|
|
||||||
|
dexp goto 16
|
||||||
|
vexp goto 17
|
||||||
|
|
||||||
|
|
||||||
|
state 7
|
||||||
|
dexp : '(' . dexp ')' (15)
|
||||||
|
vexp : '(' . dexp ',' dexp ')' (17)
|
||||||
|
vexp : '(' . vexp ')' (28)
|
||||||
|
|
||||||
|
DREG shift 14
|
||||||
|
VREG shift 15
|
||||||
|
CONST shift 5
|
||||||
|
'-' shift 6
|
||||||
|
'(' shift 7
|
||||||
|
. error
|
||||||
|
|
||||||
|
dexp goto 18
|
||||||
|
vexp goto 19
|
||||||
|
|
||||||
|
|
||||||
|
8: shift/reduce conflict (shift 20, reduce 16) on '+'
|
||||||
|
8: shift/reduce conflict (shift 21, reduce 16) on '-'
|
||||||
|
8: shift/reduce conflict (shift 22, reduce 16) on '*'
|
||||||
|
8: shift/reduce conflict (shift 23, reduce 16) on '/'
|
||||||
|
8: reduce/reduce conflict (reduce 4, reduce 16) on '\n'
|
||||||
|
state 8
|
||||||
|
line : dexp . (4)
|
||||||
|
dexp : dexp . '+' dexp (10)
|
||||||
|
dexp : dexp . '-' dexp (11)
|
||||||
|
dexp : dexp . '*' dexp (12)
|
||||||
|
dexp : dexp . '/' dexp (13)
|
||||||
|
vexp : dexp . (16)
|
||||||
|
vexp : dexp . '+' vexp (20)
|
||||||
|
vexp : dexp . '-' vexp (22)
|
||||||
|
vexp : dexp . '*' vexp (24)
|
||||||
|
vexp : dexp . '/' vexp (26)
|
||||||
|
|
||||||
|
'+' [trial] shift 20
|
||||||
|
'-' [trial] shift 21
|
||||||
|
'*' [trial] shift 22
|
||||||
|
'/' [trial] shift 23
|
||||||
|
'+' [trial] reduce 16
|
||||||
|
'-' [trial] reduce 16
|
||||||
|
'*' [trial] reduce 16
|
||||||
|
'/' [trial] reduce 16
|
||||||
|
'\n' [trial] reduce 4
|
||||||
|
'\n' [trial] reduce 16
|
||||||
|
|
||||||
|
|
||||||
|
state 9
|
||||||
|
line : vexp . (5)
|
||||||
|
vexp : vexp . '+' vexp (19)
|
||||||
|
vexp : vexp . '-' vexp (21)
|
||||||
|
vexp : vexp . '*' vexp (23)
|
||||||
|
vexp : vexp . '/' vexp (25)
|
||||||
|
|
||||||
|
'+' shift 24
|
||||||
|
'-' shift 25
|
||||||
|
'*' shift 26
|
||||||
|
'/' shift 27
|
||||||
|
'\n' reduce 5
|
||||||
|
|
||||||
|
|
||||||
|
state 10
|
||||||
|
lines : lines line . '\n' (2)
|
||||||
|
|
||||||
|
'\n' shift 28
|
||||||
|
. error
|
||||||
|
|
||||||
|
|
||||||
|
state 11
|
||||||
|
lines : lines error '\n' . (3)
|
||||||
|
|
||||||
|
. reduce 3
|
||||||
|
|
||||||
|
|
||||||
|
state 12
|
||||||
|
line : DREG '=' . dexp (6)
|
||||||
|
|
||||||
|
DREG shift 14
|
||||||
|
CONST shift 5
|
||||||
|
'-' shift 29
|
||||||
|
'(' shift 30
|
||||||
|
. error
|
||||||
|
|
||||||
|
dexp goto 31
|
||||||
|
|
||||||
|
|
||||||
|
state 13
|
||||||
|
line : VREG '=' . vexp (7)
|
||||||
|
|
||||||
|
DREG shift 14
|
||||||
|
VREG shift 15
|
||||||
|
CONST shift 5
|
||||||
|
'-' shift 6
|
||||||
|
'(' shift 7
|
||||||
|
. error
|
||||||
|
|
||||||
|
dexp goto 32
|
||||||
|
vexp goto 33
|
||||||
|
|
||||||
|
|
||||||
|
state 14
|
||||||
|
dexp : DREG . (9)
|
||||||
|
|
||||||
|
. reduce 9
|
||||||
|
|
||||||
|
|
||||||
|
state 15
|
||||||
|
vexp : VREG . (18)
|
||||||
|
|
||||||
|
. reduce 18
|
||||||
|
|
||||||
|
|
||||||
|
16: reduce/reduce conflict (reduce 14, reduce 16) on '+'
|
||||||
|
16: reduce/reduce conflict (reduce 14, reduce 16) on '-'
|
||||||
|
16: reduce/reduce conflict (reduce 14, reduce 16) on '*'
|
||||||
|
16: reduce/reduce conflict (reduce 14, reduce 16) on '/'
|
||||||
|
16: reduce/reduce conflict (reduce 14, reduce 16) on '\n'
|
||||||
|
16: reduce/reduce conflict (reduce 14, reduce 16) on ')'
|
||||||
|
state 16
|
||||||
|
dexp : dexp . '+' dexp (10)
|
||||||
|
dexp : dexp . '-' dexp (11)
|
||||||
|
dexp : dexp . '*' dexp (12)
|
||||||
|
dexp : dexp . '/' dexp (13)
|
||||||
|
dexp : '-' dexp . (14)
|
||||||
|
vexp : dexp . (16)
|
||||||
|
vexp : dexp . '+' vexp (20)
|
||||||
|
vexp : dexp . '-' vexp (22)
|
||||||
|
vexp : dexp . '*' vexp (24)
|
||||||
|
vexp : dexp . '/' vexp (26)
|
||||||
|
|
||||||
|
'+' [trial] reduce 14
|
||||||
|
'+' [trial] reduce 16
|
||||||
|
'-' [trial] reduce 14
|
||||||
|
'-' [trial] reduce 16
|
||||||
|
'*' [trial] reduce 14
|
||||||
|
'*' [trial] reduce 16
|
||||||
|
'/' [trial] reduce 14
|
||||||
|
'/' [trial] reduce 16
|
||||||
|
'\n' [trial] reduce 14
|
||||||
|
'\n' [trial] reduce 16
|
||||||
|
')' [trial] reduce 14
|
||||||
|
')' [trial] reduce 16
|
||||||
|
',' reduce 14
|
||||||
|
|
||||||
|
|
||||||
|
state 17
|
||||||
|
vexp : vexp . '+' vexp (19)
|
||||||
|
vexp : vexp . '-' vexp (21)
|
||||||
|
vexp : vexp . '*' vexp (23)
|
||||||
|
vexp : vexp . '/' vexp (25)
|
||||||
|
vexp : '-' vexp . (27)
|
||||||
|
|
||||||
|
. reduce 27
|
||||||
|
|
||||||
|
|
||||||
|
18: shift/reduce conflict (shift 20, reduce 16) on '+'
|
||||||
|
18: shift/reduce conflict (shift 21, reduce 16) on '-'
|
||||||
|
18: shift/reduce conflict (shift 22, reduce 16) on '*'
|
||||||
|
18: shift/reduce conflict (shift 23, reduce 16) on '/'
|
||||||
|
18: shift/reduce conflict (shift 34, reduce 16) on ')'
|
||||||
|
state 18
|
||||||
|
dexp : dexp . '+' dexp (10)
|
||||||
|
dexp : dexp . '-' dexp (11)
|
||||||
|
dexp : dexp . '*' dexp (12)
|
||||||
|
dexp : dexp . '/' dexp (13)
|
||||||
|
dexp : '(' dexp . ')' (15)
|
||||||
|
vexp : dexp . (16)
|
||||||
|
vexp : '(' dexp . ',' dexp ')' (17)
|
||||||
|
vexp : dexp . '+' vexp (20)
|
||||||
|
vexp : dexp . '-' vexp (22)
|
||||||
|
vexp : dexp . '*' vexp (24)
|
||||||
|
vexp : dexp . '/' vexp (26)
|
||||||
|
|
||||||
|
'+' [trial] shift 20
|
||||||
|
'-' [trial] shift 21
|
||||||
|
'*' [trial] shift 22
|
||||||
|
'/' [trial] shift 23
|
||||||
|
')' [trial] shift 34
|
||||||
|
',' shift 35
|
||||||
|
'+' [trial] reduce 16
|
||||||
|
'-' [trial] reduce 16
|
||||||
|
'*' [trial] reduce 16
|
||||||
|
'/' [trial] reduce 16
|
||||||
|
')' [trial] reduce 16
|
||||||
|
|
||||||
|
|
||||||
|
state 19
|
||||||
|
vexp : vexp . '+' vexp (19)
|
||||||
|
vexp : vexp . '-' vexp (21)
|
||||||
|
vexp : vexp . '*' vexp (23)
|
||||||
|
vexp : vexp . '/' vexp (25)
|
||||||
|
vexp : '(' vexp . ')' (28)
|
||||||
|
|
||||||
|
'+' shift 24
|
||||||
|
'-' shift 25
|
||||||
|
'*' shift 26
|
||||||
|
'/' shift 27
|
||||||
|
')' shift 36
|
||||||
|
. error
|
||||||
|
|
||||||
|
|
||||||
|
state 20
|
||||||
|
dexp : dexp '+' . dexp (10)
|
||||||
|
vexp : dexp '+' . vexp (20)
|
||||||
|
|
||||||
|
DREG shift 14
|
||||||
|
VREG shift 15
|
||||||
|
CONST shift 5
|
||||||
|
'-' shift 6
|
||||||
|
'(' shift 7
|
||||||
|
. error
|
||||||
|
|
||||||
|
dexp goto 37
|
||||||
|
vexp goto 38
|
||||||
|
|
||||||
|
|
||||||
|
state 21
|
||||||
|
dexp : dexp '-' . dexp (11)
|
||||||
|
vexp : dexp '-' . vexp (22)
|
||||||
|
|
||||||
|
DREG shift 14
|
||||||
|
VREG shift 15
|
||||||
|
CONST shift 5
|
||||||
|
'-' shift 6
|
||||||
|
'(' shift 7
|
||||||
|
. error
|
||||||
|
|
||||||
|
dexp goto 39
|
||||||
|
vexp goto 40
|
||||||
|
|
||||||
|
|
||||||
|
state 22
|
||||||
|
dexp : dexp '*' . dexp (12)
|
||||||
|
vexp : dexp '*' . vexp (24)
|
||||||
|
|
||||||
|
DREG shift 14
|
||||||
|
VREG shift 15
|
||||||
|
CONST shift 5
|
||||||
|
'-' shift 6
|
||||||
|
'(' shift 7
|
||||||
|
. error
|
||||||
|
|
||||||
|
dexp goto 41
|
||||||
|
vexp goto 42
|
||||||
|
|
||||||
|
|
||||||
|
state 23
|
||||||
|
dexp : dexp '/' . dexp (13)
|
||||||
|
vexp : dexp '/' . vexp (26)
|
||||||
|
|
||||||
|
DREG shift 14
|
||||||
|
VREG shift 15
|
||||||
|
CONST shift 5
|
||||||
|
'-' shift 6
|
||||||
|
'(' shift 7
|
||||||
|
. error
|
||||||
|
|
||||||
|
dexp goto 43
|
||||||
|
vexp goto 44
|
||||||
|
|
||||||
|
|
||||||
|
state 24
|
||||||
|
vexp : vexp '+' . vexp (19)
|
||||||
|
|
||||||
|
DREG shift 14
|
||||||
|
VREG shift 15
|
||||||
|
CONST shift 5
|
||||||
|
'-' shift 6
|
||||||
|
'(' shift 7
|
||||||
|
. error
|
||||||
|
|
||||||
|
dexp goto 32
|
||||||
|
vexp goto 45
|
||||||
|
|
||||||
|
|
||||||
|
state 25
|
||||||
|
vexp : vexp '-' . vexp (21)
|
||||||
|
|
||||||
|
DREG shift 14
|
||||||
|
VREG shift 15
|
||||||
|
CONST shift 5
|
||||||
|
'-' shift 6
|
||||||
|
'(' shift 7
|
||||||
|
. error
|
||||||
|
|
||||||
|
dexp goto 32
|
||||||
|
vexp goto 46
|
||||||
|
|
||||||
|
|
||||||
|
state 26
|
||||||
|
vexp : vexp '*' . vexp (23)
|
||||||
|
|
||||||
|
DREG shift 14
|
||||||
|
VREG shift 15
|
||||||
|
CONST shift 5
|
||||||
|
'-' shift 6
|
||||||
|
'(' shift 7
|
||||||
|
. error
|
||||||
|
|
||||||
|
dexp goto 32
|
||||||
|
vexp goto 47
|
||||||
|
|
||||||
|
|
||||||
|
state 27
|
||||||
|
vexp : vexp '/' . vexp (25)
|
||||||
|
|
||||||
|
DREG shift 14
|
||||||
|
VREG shift 15
|
||||||
|
CONST shift 5
|
||||||
|
'-' shift 6
|
||||||
|
'(' shift 7
|
||||||
|
. error
|
||||||
|
|
||||||
|
dexp goto 32
|
||||||
|
vexp goto 48
|
||||||
|
|
||||||
|
|
||||||
|
state 28
|
||||||
|
lines : lines line '\n' . (2)
|
||||||
|
|
||||||
|
. reduce 2
|
||||||
|
|
||||||
|
|
||||||
|
state 29
|
||||||
|
dexp : '-' . dexp (14)
|
||||||
|
|
||||||
|
DREG shift 14
|
||||||
|
CONST shift 5
|
||||||
|
'-' shift 29
|
||||||
|
'(' shift 30
|
||||||
|
. error
|
||||||
|
|
||||||
|
dexp goto 49
|
||||||
|
|
||||||
|
|
||||||
|
state 30
|
||||||
|
dexp : '(' . dexp ')' (15)
|
||||||
|
|
||||||
|
DREG shift 14
|
||||||
|
CONST shift 5
|
||||||
|
'-' shift 29
|
||||||
|
'(' shift 30
|
||||||
|
. error
|
||||||
|
|
||||||
|
dexp goto 50
|
||||||
|
|
||||||
|
|
||||||
|
state 31
|
||||||
|
line : DREG '=' dexp . (6)
|
||||||
|
dexp : dexp . '+' dexp (10)
|
||||||
|
dexp : dexp . '-' dexp (11)
|
||||||
|
dexp : dexp . '*' dexp (12)
|
||||||
|
dexp : dexp . '/' dexp (13)
|
||||||
|
|
||||||
|
'+' shift 51
|
||||||
|
'-' shift 52
|
||||||
|
'*' shift 53
|
||||||
|
'/' shift 54
|
||||||
|
'\n' reduce 6
|
||||||
|
|
||||||
|
|
||||||
|
32: shift/reduce conflict (shift 20, reduce 16) on '+'
|
||||||
|
32: shift/reduce conflict (shift 21, reduce 16) on '-'
|
||||||
|
32: shift/reduce conflict (shift 22, reduce 16) on '*'
|
||||||
|
32: shift/reduce conflict (shift 23, reduce 16) on '/'
|
||||||
|
state 32
|
||||||
|
dexp : dexp . '+' dexp (10)
|
||||||
|
dexp : dexp . '-' dexp (11)
|
||||||
|
dexp : dexp . '*' dexp (12)
|
||||||
|
dexp : dexp . '/' dexp (13)
|
||||||
|
vexp : dexp . (16)
|
||||||
|
vexp : dexp . '+' vexp (20)
|
||||||
|
vexp : dexp . '-' vexp (22)
|
||||||
|
vexp : dexp . '*' vexp (24)
|
||||||
|
vexp : dexp . '/' vexp (26)
|
||||||
|
|
||||||
|
'+' [trial] shift 20
|
||||||
|
'-' [trial] shift 21
|
||||||
|
'*' [trial] shift 22
|
||||||
|
'/' [trial] shift 23
|
||||||
|
'+' [trial] reduce 16
|
||||||
|
'-' [trial] reduce 16
|
||||||
|
'*' [trial] reduce 16
|
||||||
|
'/' [trial] reduce 16
|
||||||
|
'\n' reduce 16
|
||||||
|
')' reduce 16
|
||||||
|
|
||||||
|
|
||||||
|
state 33
|
||||||
|
line : VREG '=' vexp . (7)
|
||||||
|
vexp : vexp . '+' vexp (19)
|
||||||
|
vexp : vexp . '-' vexp (21)
|
||||||
|
vexp : vexp . '*' vexp (23)
|
||||||
|
vexp : vexp . '/' vexp (25)
|
||||||
|
|
||||||
|
'+' shift 24
|
||||||
|
'-' shift 25
|
||||||
|
'*' shift 26
|
||||||
|
'/' shift 27
|
||||||
|
'\n' reduce 7
|
||||||
|
|
||||||
|
|
||||||
|
state 34
|
||||||
|
dexp : '(' dexp ')' . (15)
|
||||||
|
|
||||||
|
. reduce 15
|
||||||
|
|
||||||
|
|
||||||
|
state 35
|
||||||
|
vexp : '(' dexp ',' . dexp ')' (17)
|
||||||
|
|
||||||
|
DREG shift 14
|
||||||
|
CONST shift 5
|
||||||
|
'-' shift 29
|
||||||
|
'(' shift 30
|
||||||
|
. error
|
||||||
|
|
||||||
|
dexp goto 55
|
||||||
|
|
||||||
|
|
||||||
|
state 36
|
||||||
|
vexp : '(' vexp ')' . (28)
|
||||||
|
|
||||||
|
. reduce 28
|
||||||
|
|
||||||
|
|
||||||
|
37: reduce/reduce conflict (reduce 10, reduce 16) on '+'
|
||||||
|
37: reduce/reduce conflict (reduce 10, reduce 16) on '-'
|
||||||
|
37: shift/reduce conflict (shift 22, reduce 16) on '*'
|
||||||
|
37: shift/reduce conflict (shift 23, reduce 16) on '/'
|
||||||
|
37: reduce/reduce conflict (reduce 10, reduce 16) on '\n'
|
||||||
|
37: reduce/reduce conflict (reduce 10, reduce 16) on ')'
|
||||||
|
state 37
|
||||||
|
dexp : dexp . '+' dexp (10)
|
||||||
|
dexp : dexp '+' dexp . (10)
|
||||||
|
dexp : dexp . '-' dexp (11)
|
||||||
|
dexp : dexp . '*' dexp (12)
|
||||||
|
dexp : dexp . '/' dexp (13)
|
||||||
|
vexp : dexp . (16)
|
||||||
|
vexp : dexp . '+' vexp (20)
|
||||||
|
vexp : dexp . '-' vexp (22)
|
||||||
|
vexp : dexp . '*' vexp (24)
|
||||||
|
vexp : dexp . '/' vexp (26)
|
||||||
|
|
||||||
|
'*' [trial] shift 22
|
||||||
|
'/' [trial] shift 23
|
||||||
|
'+' [trial] reduce 10
|
||||||
|
'+' [trial] reduce 16
|
||||||
|
'-' [trial] reduce 10
|
||||||
|
'-' [trial] reduce 16
|
||||||
|
'*' [trial] reduce 16
|
||||||
|
'/' [trial] reduce 16
|
||||||
|
'\n' [trial] reduce 10
|
||||||
|
'\n' [trial] reduce 16
|
||||||
|
')' [trial] reduce 10
|
||||||
|
')' [trial] reduce 16
|
||||||
|
',' reduce 10
|
||||||
|
|
||||||
|
|
||||||
|
state 38
|
||||||
|
vexp : vexp . '+' vexp (19)
|
||||||
|
vexp : dexp '+' vexp . (20)
|
||||||
|
vexp : vexp . '-' vexp (21)
|
||||||
|
vexp : vexp . '*' vexp (23)
|
||||||
|
vexp : vexp . '/' vexp (25)
|
||||||
|
|
||||||
|
'*' shift 26
|
||||||
|
'/' shift 27
|
||||||
|
'+' reduce 20
|
||||||
|
'-' reduce 20
|
||||||
|
'\n' reduce 20
|
||||||
|
')' reduce 20
|
||||||
|
|
||||||
|
|
||||||
|
39: reduce/reduce conflict (reduce 11, reduce 16) on '+'
|
||||||
|
39: reduce/reduce conflict (reduce 11, reduce 16) on '-'
|
||||||
|
39: shift/reduce conflict (shift 22, reduce 16) on '*'
|
||||||
|
39: shift/reduce conflict (shift 23, reduce 16) on '/'
|
||||||
|
39: reduce/reduce conflict (reduce 11, reduce 16) on '\n'
|
||||||
|
39: reduce/reduce conflict (reduce 11, reduce 16) on ')'
|
||||||
|
state 39
|
||||||
|
dexp : dexp . '+' dexp (10)
|
||||||
|
dexp : dexp . '-' dexp (11)
|
||||||
|
dexp : dexp '-' dexp . (11)
|
||||||
|
dexp : dexp . '*' dexp (12)
|
||||||
|
dexp : dexp . '/' dexp (13)
|
||||||
|
vexp : dexp . (16)
|
||||||
|
vexp : dexp . '+' vexp (20)
|
||||||
|
vexp : dexp . '-' vexp (22)
|
||||||
|
vexp : dexp . '*' vexp (24)
|
||||||
|
vexp : dexp . '/' vexp (26)
|
||||||
|
|
||||||
|
'*' [trial] shift 22
|
||||||
|
'/' [trial] shift 23
|
||||||
|
'+' [trial] reduce 11
|
||||||
|
'+' [trial] reduce 16
|
||||||
|
'-' [trial] reduce 11
|
||||||
|
'-' [trial] reduce 16
|
||||||
|
'*' [trial] reduce 16
|
||||||
|
'/' [trial] reduce 16
|
||||||
|
'\n' [trial] reduce 11
|
||||||
|
'\n' [trial] reduce 16
|
||||||
|
')' [trial] reduce 11
|
||||||
|
')' [trial] reduce 16
|
||||||
|
',' reduce 11
|
||||||
|
|
||||||
|
|
||||||
|
state 40
|
||||||
|
vexp : vexp . '+' vexp (19)
|
||||||
|
vexp : vexp . '-' vexp (21)
|
||||||
|
vexp : dexp '-' vexp . (22)
|
||||||
|
vexp : vexp . '*' vexp (23)
|
||||||
|
vexp : vexp . '/' vexp (25)
|
||||||
|
|
||||||
|
'*' shift 26
|
||||||
|
'/' shift 27
|
||||||
|
'+' reduce 22
|
||||||
|
'-' reduce 22
|
||||||
|
'\n' reduce 22
|
||||||
|
')' reduce 22
|
||||||
|
|
||||||
|
|
||||||
|
41: reduce/reduce conflict (reduce 12, reduce 16) on '+'
|
||||||
|
41: reduce/reduce conflict (reduce 12, reduce 16) on '-'
|
||||||
|
41: reduce/reduce conflict (reduce 12, reduce 16) on '*'
|
||||||
|
41: reduce/reduce conflict (reduce 12, reduce 16) on '/'
|
||||||
|
41: reduce/reduce conflict (reduce 12, reduce 16) on '\n'
|
||||||
|
41: reduce/reduce conflict (reduce 12, reduce 16) on ')'
|
||||||
|
state 41
|
||||||
|
dexp : dexp . '+' dexp (10)
|
||||||
|
dexp : dexp . '-' dexp (11)
|
||||||
|
dexp : dexp . '*' dexp (12)
|
||||||
|
dexp : dexp '*' dexp . (12)
|
||||||
|
dexp : dexp . '/' dexp (13)
|
||||||
|
vexp : dexp . (16)
|
||||||
|
vexp : dexp . '+' vexp (20)
|
||||||
|
vexp : dexp . '-' vexp (22)
|
||||||
|
vexp : dexp . '*' vexp (24)
|
||||||
|
vexp : dexp . '/' vexp (26)
|
||||||
|
|
||||||
|
'+' [trial] reduce 12
|
||||||
|
'+' [trial] reduce 16
|
||||||
|
'-' [trial] reduce 12
|
||||||
|
'-' [trial] reduce 16
|
||||||
|
'*' [trial] reduce 12
|
||||||
|
'*' [trial] reduce 16
|
||||||
|
'/' [trial] reduce 12
|
||||||
|
'/' [trial] reduce 16
|
||||||
|
'\n' [trial] reduce 12
|
||||||
|
'\n' [trial] reduce 16
|
||||||
|
')' [trial] reduce 12
|
||||||
|
')' [trial] reduce 16
|
||||||
|
',' reduce 12
|
||||||
|
|
||||||
|
|
||||||
|
state 42
|
||||||
|
vexp : vexp . '+' vexp (19)
|
||||||
|
vexp : vexp . '-' vexp (21)
|
||||||
|
vexp : vexp . '*' vexp (23)
|
||||||
|
vexp : dexp '*' vexp . (24)
|
||||||
|
vexp : vexp . '/' vexp (25)
|
||||||
|
|
||||||
|
. reduce 24
|
||||||
|
|
||||||
|
|
||||||
|
43: reduce/reduce conflict (reduce 13, reduce 16) on '+'
|
||||||
|
43: reduce/reduce conflict (reduce 13, reduce 16) on '-'
|
||||||
|
43: reduce/reduce conflict (reduce 13, reduce 16) on '*'
|
||||||
|
43: reduce/reduce conflict (reduce 13, reduce 16) on '/'
|
||||||
|
43: reduce/reduce conflict (reduce 13, reduce 16) on '\n'
|
||||||
|
43: reduce/reduce conflict (reduce 13, reduce 16) on ')'
|
||||||
|
state 43
|
||||||
|
dexp : dexp . '+' dexp (10)
|
||||||
|
dexp : dexp . '-' dexp (11)
|
||||||
|
dexp : dexp . '*' dexp (12)
|
||||||
|
dexp : dexp . '/' dexp (13)
|
||||||
|
dexp : dexp '/' dexp . (13)
|
||||||
|
vexp : dexp . (16)
|
||||||
|
vexp : dexp . '+' vexp (20)
|
||||||
|
vexp : dexp . '-' vexp (22)
|
||||||
|
vexp : dexp . '*' vexp (24)
|
||||||
|
vexp : dexp . '/' vexp (26)
|
||||||
|
|
||||||
|
'+' [trial] reduce 13
|
||||||
|
'+' [trial] reduce 16
|
||||||
|
'-' [trial] reduce 13
|
||||||
|
'-' [trial] reduce 16
|
||||||
|
'*' [trial] reduce 13
|
||||||
|
'*' [trial] reduce 16
|
||||||
|
'/' [trial] reduce 13
|
||||||
|
'/' [trial] reduce 16
|
||||||
|
'\n' [trial] reduce 13
|
||||||
|
'\n' [trial] reduce 16
|
||||||
|
')' [trial] reduce 13
|
||||||
|
')' [trial] reduce 16
|
||||||
|
',' reduce 13
|
||||||
|
|
||||||
|
|
||||||
|
state 44
|
||||||
|
vexp : vexp . '+' vexp (19)
|
||||||
|
vexp : vexp . '-' vexp (21)
|
||||||
|
vexp : vexp . '*' vexp (23)
|
||||||
|
vexp : vexp . '/' vexp (25)
|
||||||
|
vexp : dexp '/' vexp . (26)
|
||||||
|
|
||||||
|
. reduce 26
|
||||||
|
|
||||||
|
|
||||||
|
state 45
|
||||||
|
vexp : vexp . '+' vexp (19)
|
||||||
|
vexp : vexp '+' vexp . (19)
|
||||||
|
vexp : vexp . '-' vexp (21)
|
||||||
|
vexp : vexp . '*' vexp (23)
|
||||||
|
vexp : vexp . '/' vexp (25)
|
||||||
|
|
||||||
|
'*' shift 26
|
||||||
|
'/' shift 27
|
||||||
|
'+' reduce 19
|
||||||
|
'-' reduce 19
|
||||||
|
'\n' reduce 19
|
||||||
|
')' reduce 19
|
||||||
|
|
||||||
|
|
||||||
|
state 46
|
||||||
|
vexp : vexp . '+' vexp (19)
|
||||||
|
vexp : vexp . '-' vexp (21)
|
||||||
|
vexp : vexp '-' vexp . (21)
|
||||||
|
vexp : vexp . '*' vexp (23)
|
||||||
|
vexp : vexp . '/' vexp (25)
|
||||||
|
|
||||||
|
'*' shift 26
|
||||||
|
'/' shift 27
|
||||||
|
'+' reduce 21
|
||||||
|
'-' reduce 21
|
||||||
|
'\n' reduce 21
|
||||||
|
')' reduce 21
|
||||||
|
|
||||||
|
|
||||||
|
state 47
|
||||||
|
vexp : vexp . '+' vexp (19)
|
||||||
|
vexp : vexp . '-' vexp (21)
|
||||||
|
vexp : vexp . '*' vexp (23)
|
||||||
|
vexp : vexp '*' vexp . (23)
|
||||||
|
vexp : vexp . '/' vexp (25)
|
||||||
|
|
||||||
|
. reduce 23
|
||||||
|
|
||||||
|
|
||||||
|
state 48
|
||||||
|
vexp : vexp . '+' vexp (19)
|
||||||
|
vexp : vexp . '-' vexp (21)
|
||||||
|
vexp : vexp . '*' vexp (23)
|
||||||
|
vexp : vexp . '/' vexp (25)
|
||||||
|
vexp : vexp '/' vexp . (25)
|
||||||
|
|
||||||
|
. reduce 25
|
||||||
|
|
||||||
|
|
||||||
|
state 49
|
||||||
|
dexp : dexp . '+' dexp (10)
|
||||||
|
dexp : dexp . '-' dexp (11)
|
||||||
|
dexp : dexp . '*' dexp (12)
|
||||||
|
dexp : dexp . '/' dexp (13)
|
||||||
|
dexp : '-' dexp . (14)
|
||||||
|
|
||||||
|
. reduce 14
|
||||||
|
|
||||||
|
|
||||||
|
state 50
|
||||||
|
dexp : dexp . '+' dexp (10)
|
||||||
|
dexp : dexp . '-' dexp (11)
|
||||||
|
dexp : dexp . '*' dexp (12)
|
||||||
|
dexp : dexp . '/' dexp (13)
|
||||||
|
dexp : '(' dexp . ')' (15)
|
||||||
|
|
||||||
|
'+' shift 51
|
||||||
|
'-' shift 52
|
||||||
|
'*' shift 53
|
||||||
|
'/' shift 54
|
||||||
|
')' shift 34
|
||||||
|
. error
|
||||||
|
|
||||||
|
|
||||||
|
state 51
|
||||||
|
dexp : dexp '+' . dexp (10)
|
||||||
|
|
||||||
|
DREG shift 14
|
||||||
|
CONST shift 5
|
||||||
|
'-' shift 29
|
||||||
|
'(' shift 30
|
||||||
|
. error
|
||||||
|
|
||||||
|
dexp goto 56
|
||||||
|
|
||||||
|
|
||||||
|
state 52
|
||||||
|
dexp : dexp '-' . dexp (11)
|
||||||
|
|
||||||
|
DREG shift 14
|
||||||
|
CONST shift 5
|
||||||
|
'-' shift 29
|
||||||
|
'(' shift 30
|
||||||
|
. error
|
||||||
|
|
||||||
|
dexp goto 57
|
||||||
|
|
||||||
|
|
||||||
|
state 53
|
||||||
|
dexp : dexp '*' . dexp (12)
|
||||||
|
|
||||||
|
DREG shift 14
|
||||||
|
CONST shift 5
|
||||||
|
'-' shift 29
|
||||||
|
'(' shift 30
|
||||||
|
. error
|
||||||
|
|
||||||
|
dexp goto 58
|
||||||
|
|
||||||
|
|
||||||
|
state 54
|
||||||
|
dexp : dexp '/' . dexp (13)
|
||||||
|
|
||||||
|
DREG shift 14
|
||||||
|
CONST shift 5
|
||||||
|
'-' shift 29
|
||||||
|
'(' shift 30
|
||||||
|
. error
|
||||||
|
|
||||||
|
dexp goto 59
|
||||||
|
|
||||||
|
|
||||||
|
state 55
|
||||||
|
dexp : dexp . '+' dexp (10)
|
||||||
|
dexp : dexp . '-' dexp (11)
|
||||||
|
dexp : dexp . '*' dexp (12)
|
||||||
|
dexp : dexp . '/' dexp (13)
|
||||||
|
vexp : '(' dexp ',' dexp . ')' (17)
|
||||||
|
|
||||||
|
'+' shift 51
|
||||||
|
'-' shift 52
|
||||||
|
'*' shift 53
|
||||||
|
'/' shift 54
|
||||||
|
')' shift 60
|
||||||
|
. error
|
||||||
|
|
||||||
|
|
||||||
|
state 56
|
||||||
|
dexp : dexp . '+' dexp (10)
|
||||||
|
dexp : dexp '+' dexp . (10)
|
||||||
|
dexp : dexp . '-' dexp (11)
|
||||||
|
dexp : dexp . '*' dexp (12)
|
||||||
|
dexp : dexp . '/' dexp (13)
|
||||||
|
|
||||||
|
'*' shift 53
|
||||||
|
'/' shift 54
|
||||||
|
'+' reduce 10
|
||||||
|
'-' reduce 10
|
||||||
|
'\n' reduce 10
|
||||||
|
')' reduce 10
|
||||||
|
|
||||||
|
|
||||||
|
state 57
|
||||||
|
dexp : dexp . '+' dexp (10)
|
||||||
|
dexp : dexp . '-' dexp (11)
|
||||||
|
dexp : dexp '-' dexp . (11)
|
||||||
|
dexp : dexp . '*' dexp (12)
|
||||||
|
dexp : dexp . '/' dexp (13)
|
||||||
|
|
||||||
|
'*' shift 53
|
||||||
|
'/' shift 54
|
||||||
|
'+' reduce 11
|
||||||
|
'-' reduce 11
|
||||||
|
'\n' reduce 11
|
||||||
|
')' reduce 11
|
||||||
|
|
||||||
|
|
||||||
|
state 58
|
||||||
|
dexp : dexp . '+' dexp (10)
|
||||||
|
dexp : dexp . '-' dexp (11)
|
||||||
|
dexp : dexp . '*' dexp (12)
|
||||||
|
dexp : dexp '*' dexp . (12)
|
||||||
|
dexp : dexp . '/' dexp (13)
|
||||||
|
|
||||||
|
. reduce 12
|
||||||
|
|
||||||
|
|
||||||
|
state 59
|
||||||
|
dexp : dexp . '+' dexp (10)
|
||||||
|
dexp : dexp . '-' dexp (11)
|
||||||
|
dexp : dexp . '*' dexp (12)
|
||||||
|
dexp : dexp . '/' dexp (13)
|
||||||
|
dexp : dexp '/' dexp . (13)
|
||||||
|
|
||||||
|
. reduce 13
|
||||||
|
|
||||||
|
|
||||||
|
state 60
|
||||||
|
vexp : '(' dexp ',' dexp ')' . (17)
|
||||||
|
|
||||||
|
. reduce 17
|
||||||
|
|
||||||
|
|
||||||
|
State 8 contains 4 shift/reduce conflicts, 1 reduce/reduce conflict.
|
||||||
|
State 16 contains 6 reduce/reduce conflicts.
|
||||||
|
State 18 contains 5 shift/reduce conflicts.
|
||||||
|
State 32 contains 4 shift/reduce conflicts.
|
||||||
|
State 37 contains 2 shift/reduce conflicts, 4 reduce/reduce conflicts.
|
||||||
|
State 39 contains 2 shift/reduce conflicts, 4 reduce/reduce conflicts.
|
||||||
|
State 41 contains 6 reduce/reduce conflicts.
|
||||||
|
State 43 contains 6 reduce/reduce conflicts.
|
||||||
|
|
||||||
|
|
||||||
|
15 terminals, 5 nonterminals
|
||||||
|
29 grammar rules, 61 states
|
||||||
|
|
||||||
|
grammar parser grammar
|
||||||
|
symbol# value# symbol
|
||||||
|
0 0 $end
|
||||||
|
1 256 error
|
||||||
|
2 257 DREG
|
||||||
|
3 258 VREG
|
||||||
|
4 259 CONST
|
||||||
|
5 43 '+'
|
||||||
|
6 45 '-'
|
||||||
|
7 42 '*'
|
||||||
|
8 47 '/'
|
||||||
|
9 260 UMINUS
|
||||||
|
10 10 '\n'
|
||||||
|
11 61 '='
|
||||||
|
12 40 '('
|
||||||
|
13 41 ')'
|
||||||
|
14 44 ','
|
||||||
|
15 261 $accept
|
||||||
|
16 262 lines
|
||||||
|
17 263 dexp
|
||||||
|
18 264 vexp
|
||||||
|
19 265 line
|
1803
test/btyacc/btyacc_calc1.tab.c
Normal file
1803
test/btyacc/btyacc_calc1.tab.c
Normal file
File diff suppressed because it is too large
Load diff
22
test/btyacc/btyacc_calc1.tab.h
Normal file
22
test/btyacc/btyacc_calc1.tab.h
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
#ifndef _calc1__defines_h_
|
||||||
|
#define _calc1__defines_h_
|
||||||
|
|
||||||
|
#define DREG 257
|
||||||
|
#define VREG 258
|
||||||
|
#define CONST 259
|
||||||
|
#define UMINUS 260
|
||||||
|
#ifdef YYSTYPE
|
||||||
|
#undef YYSTYPE_IS_DECLARED
|
||||||
|
#define YYSTYPE_IS_DECLARED 1
|
||||||
|
#endif
|
||||||
|
#ifndef YYSTYPE_IS_DECLARED
|
||||||
|
#define YYSTYPE_IS_DECLARED 1
|
||||||
|
typedef union YYSTYPE
|
||||||
|
{
|
||||||
|
int ival;
|
||||||
|
double dval;
|
||||||
|
INTERVAL vval;
|
||||||
|
} YYSTYPE;
|
||||||
|
#endif /* !YYSTYPE_IS_DECLARED */
|
||||||
|
|
||||||
|
#endif /* _calc1__defines_h_ */
|
1
test/btyacc/btyacc_demo.error
Normal file
1
test/btyacc/btyacc_demo.error
Normal file
|
@ -0,0 +1 @@
|
||||||
|
YACC: 12 shift/reduce conflicts.
|
1298
test/btyacc/btyacc_demo.output
Normal file
1298
test/btyacc/btyacc_demo.output
Normal file
File diff suppressed because it is too large
Load diff
2400
test/btyacc/btyacc_demo.tab.c
Normal file
2400
test/btyacc/btyacc_demo.tab.c
Normal file
File diff suppressed because it is too large
Load diff
51
test/btyacc/btyacc_demo.tab.h
Normal file
51
test/btyacc/btyacc_demo.tab.h
Normal file
|
@ -0,0 +1,51 @@
|
||||||
|
#ifndef _demo__defines_h_
|
||||||
|
#define _demo__defines_h_
|
||||||
|
|
||||||
|
#define PREFIX 257
|
||||||
|
#define POSTFIX 258
|
||||||
|
#define ID 259
|
||||||
|
#define CONSTANT 260
|
||||||
|
#define EXTERN 261
|
||||||
|
#define REGISTER 262
|
||||||
|
#define STATIC 263
|
||||||
|
#define CONST 264
|
||||||
|
#define VOLATILE 265
|
||||||
|
#define IF 266
|
||||||
|
#define THEN 267
|
||||||
|
#define ELSE 268
|
||||||
|
#define CLCL 269
|
||||||
|
#ifdef YYSTYPE
|
||||||
|
#undef YYSTYPE_IS_DECLARED
|
||||||
|
#define YYSTYPE_IS_DECLARED 1
|
||||||
|
#endif
|
||||||
|
#ifndef YYSTYPE_IS_DECLARED
|
||||||
|
#define YYSTYPE_IS_DECLARED 1
|
||||||
|
typedef union YYSTYPE {
|
||||||
|
Scope *scope;
|
||||||
|
Expr *expr;
|
||||||
|
Expr_List *elist;
|
||||||
|
Type *type;
|
||||||
|
Decl *decl;
|
||||||
|
Decl_List *dlist;
|
||||||
|
Code *code;
|
||||||
|
char *id;
|
||||||
|
} YYSTYPE;
|
||||||
|
#endif /* !YYSTYPE_IS_DECLARED */
|
||||||
|
extern YYSTYPE demo_lval;
|
||||||
|
|
||||||
|
#if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
|
||||||
|
/* Default: YYLTYPE is the text position type. */
|
||||||
|
typedef struct YYLTYPE
|
||||||
|
{
|
||||||
|
int first_line;
|
||||||
|
int first_column;
|
||||||
|
int last_line;
|
||||||
|
int last_column;
|
||||||
|
unsigned source;
|
||||||
|
} YYLTYPE;
|
||||||
|
#define YYLTYPE_IS_DECLARED 1
|
||||||
|
#endif
|
||||||
|
#define YYRHSLOC(rhs, k) ((rhs)[k])
|
||||||
|
extern YYLTYPE demo_lloc;
|
||||||
|
|
||||||
|
#endif /* _demo__defines_h_ */
|
0
test/btyacc/btyacc_destroy1.error
Normal file
0
test/btyacc/btyacc_destroy1.error
Normal file
247
test/btyacc/btyacc_destroy1.output
Normal file
247
test/btyacc/btyacc_destroy1.output
Normal file
|
@ -0,0 +1,247 @@
|
||||||
|
0 $accept : declaration $end
|
||||||
|
|
||||||
|
1 declaration : class type namelist '(' class ',' type ')'
|
||||||
|
2 | type locnamelist '(' class ')'
|
||||||
|
|
||||||
|
3 class : GLOBAL
|
||||||
|
4 | LOCAL
|
||||||
|
|
||||||
|
5 type : REAL
|
||||||
|
6 | INTEGER
|
||||||
|
|
||||||
|
7 namelist : namelist NAME
|
||||||
|
8 | NAME
|
||||||
|
|
||||||
|
9 locnamelist : namelist '(' LOCAL ',' type ')'
|
||||||
|
|
||||||
|
state 0
|
||||||
|
$accept : . declaration $end (0)
|
||||||
|
|
||||||
|
GLOBAL shift 1
|
||||||
|
LOCAL shift 2
|
||||||
|
REAL shift 3
|
||||||
|
INTEGER shift 4
|
||||||
|
. error
|
||||||
|
|
||||||
|
declaration goto 5
|
||||||
|
class goto 6
|
||||||
|
type goto 7
|
||||||
|
|
||||||
|
|
||||||
|
state 1
|
||||||
|
class : GLOBAL . (3)
|
||||||
|
|
||||||
|
. reduce 3
|
||||||
|
|
||||||
|
|
||||||
|
state 2
|
||||||
|
class : LOCAL . (4)
|
||||||
|
|
||||||
|
. reduce 4
|
||||||
|
|
||||||
|
|
||||||
|
state 3
|
||||||
|
type : REAL . (5)
|
||||||
|
|
||||||
|
. reduce 5
|
||||||
|
|
||||||
|
|
||||||
|
state 4
|
||||||
|
type : INTEGER . (6)
|
||||||
|
|
||||||
|
. reduce 6
|
||||||
|
|
||||||
|
|
||||||
|
state 5
|
||||||
|
$accept : declaration . $end (0)
|
||||||
|
|
||||||
|
$end accept
|
||||||
|
|
||||||
|
|
||||||
|
state 6
|
||||||
|
declaration : class . type namelist '(' class ',' type ')' (1)
|
||||||
|
|
||||||
|
REAL shift 3
|
||||||
|
INTEGER shift 4
|
||||||
|
. error
|
||||||
|
|
||||||
|
type goto 8
|
||||||
|
|
||||||
|
|
||||||
|
state 7
|
||||||
|
declaration : type . locnamelist '(' class ')' (2)
|
||||||
|
|
||||||
|
NAME shift 9
|
||||||
|
. error
|
||||||
|
|
||||||
|
locnamelist goto 10
|
||||||
|
namelist goto 11
|
||||||
|
|
||||||
|
|
||||||
|
state 8
|
||||||
|
declaration : class type . namelist '(' class ',' type ')' (1)
|
||||||
|
|
||||||
|
NAME shift 9
|
||||||
|
. error
|
||||||
|
|
||||||
|
namelist goto 12
|
||||||
|
|
||||||
|
|
||||||
|
state 9
|
||||||
|
namelist : NAME . (8)
|
||||||
|
|
||||||
|
. reduce 8
|
||||||
|
|
||||||
|
|
||||||
|
state 10
|
||||||
|
declaration : type locnamelist . '(' class ')' (2)
|
||||||
|
|
||||||
|
'(' shift 13
|
||||||
|
. error
|
||||||
|
|
||||||
|
|
||||||
|
state 11
|
||||||
|
namelist : namelist . NAME (7)
|
||||||
|
locnamelist : namelist . '(' LOCAL ',' type ')' (9)
|
||||||
|
|
||||||
|
NAME shift 14
|
||||||
|
'(' shift 15
|
||||||
|
. error
|
||||||
|
|
||||||
|
|
||||||
|
state 12
|
||||||
|
declaration : class type namelist . '(' class ',' type ')' (1)
|
||||||
|
namelist : namelist . NAME (7)
|
||||||
|
|
||||||
|
NAME shift 14
|
||||||
|
'(' shift 16
|
||||||
|
. error
|
||||||
|
|
||||||
|
|
||||||
|
state 13
|
||||||
|
declaration : type locnamelist '(' . class ')' (2)
|
||||||
|
|
||||||
|
GLOBAL shift 1
|
||||||
|
LOCAL shift 2
|
||||||
|
. error
|
||||||
|
|
||||||
|
class goto 17
|
||||||
|
|
||||||
|
|
||||||
|
state 14
|
||||||
|
namelist : namelist NAME . (7)
|
||||||
|
|
||||||
|
. reduce 7
|
||||||
|
|
||||||
|
|
||||||
|
state 15
|
||||||
|
locnamelist : namelist '(' . LOCAL ',' type ')' (9)
|
||||||
|
|
||||||
|
LOCAL shift 18
|
||||||
|
. error
|
||||||
|
|
||||||
|
|
||||||
|
state 16
|
||||||
|
declaration : class type namelist '(' . class ',' type ')' (1)
|
||||||
|
|
||||||
|
GLOBAL shift 1
|
||||||
|
LOCAL shift 2
|
||||||
|
. error
|
||||||
|
|
||||||
|
class goto 19
|
||||||
|
|
||||||
|
|
||||||
|
state 17
|
||||||
|
declaration : type locnamelist '(' class . ')' (2)
|
||||||
|
|
||||||
|
')' shift 20
|
||||||
|
. error
|
||||||
|
|
||||||
|
|
||||||
|
state 18
|
||||||
|
locnamelist : namelist '(' LOCAL . ',' type ')' (9)
|
||||||
|
|
||||||
|
',' shift 21
|
||||||
|
. error
|
||||||
|
|
||||||
|
|
||||||
|
state 19
|
||||||
|
declaration : class type namelist '(' class . ',' type ')' (1)
|
||||||
|
|
||||||
|
',' shift 22
|
||||||
|
. error
|
||||||
|
|
||||||
|
|
||||||
|
state 20
|
||||||
|
declaration : type locnamelist '(' class ')' . (2)
|
||||||
|
|
||||||
|
. reduce 2
|
||||||
|
|
||||||
|
|
||||||
|
state 21
|
||||||
|
locnamelist : namelist '(' LOCAL ',' . type ')' (9)
|
||||||
|
|
||||||
|
REAL shift 3
|
||||||
|
INTEGER shift 4
|
||||||
|
. error
|
||||||
|
|
||||||
|
type goto 23
|
||||||
|
|
||||||
|
|
||||||
|
state 22
|
||||||
|
declaration : class type namelist '(' class ',' . type ')' (1)
|
||||||
|
|
||||||
|
REAL shift 3
|
||||||
|
INTEGER shift 4
|
||||||
|
. error
|
||||||
|
|
||||||
|
type goto 24
|
||||||
|
|
||||||
|
|
||||||
|
state 23
|
||||||
|
locnamelist : namelist '(' LOCAL ',' type . ')' (9)
|
||||||
|
|
||||||
|
')' shift 25
|
||||||
|
. error
|
||||||
|
|
||||||
|
|
||||||
|
state 24
|
||||||
|
declaration : class type namelist '(' class ',' type . ')' (1)
|
||||||
|
|
||||||
|
')' shift 26
|
||||||
|
. error
|
||||||
|
|
||||||
|
|
||||||
|
state 25
|
||||||
|
locnamelist : namelist '(' LOCAL ',' type ')' . (9)
|
||||||
|
|
||||||
|
. reduce 9
|
||||||
|
|
||||||
|
|
||||||
|
state 26
|
||||||
|
declaration : class type namelist '(' class ',' type ')' . (1)
|
||||||
|
|
||||||
|
. reduce 1
|
||||||
|
|
||||||
|
|
||||||
|
10 terminals, 6 nonterminals
|
||||||
|
10 grammar rules, 27 states
|
||||||
|
|
||||||
|
grammar parser grammar
|
||||||
|
symbol# value# symbol
|
||||||
|
0 0 $end
|
||||||
|
1 256 error
|
||||||
|
2 257 GLOBAL
|
||||||
|
3 258 LOCAL
|
||||||
|
4 259 REAL
|
||||||
|
5 260 INTEGER
|
||||||
|
6 261 NAME
|
||||||
|
7 40 '('
|
||||||
|
8 44 ','
|
||||||
|
9 41 ')'
|
||||||
|
10 262 $accept
|
||||||
|
11 263 declaration
|
||||||
|
12 264 locnamelist
|
||||||
|
13 265 class
|
||||||
|
14 266 type
|
||||||
|
15 267 namelist
|
1477
test/btyacc/btyacc_destroy1.tab.c
Normal file
1477
test/btyacc/btyacc_destroy1.tab.c
Normal file
File diff suppressed because it is too large
Load diff
25
test/btyacc/btyacc_destroy1.tab.h
Normal file
25
test/btyacc/btyacc_destroy1.tab.h
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
#ifndef _destroy1__defines_h_
|
||||||
|
#define _destroy1__defines_h_
|
||||||
|
|
||||||
|
#define GLOBAL 257
|
||||||
|
#define LOCAL 258
|
||||||
|
#define REAL 259
|
||||||
|
#define INTEGER 260
|
||||||
|
#define NAME 261
|
||||||
|
#ifdef YYSTYPE
|
||||||
|
#undef YYSTYPE_IS_DECLARED
|
||||||
|
#define YYSTYPE_IS_DECLARED 1
|
||||||
|
#endif
|
||||||
|
#ifndef YYSTYPE_IS_DECLARED
|
||||||
|
#define YYSTYPE_IS_DECLARED 1
|
||||||
|
typedef union YYSTYPE
|
||||||
|
{
|
||||||
|
class cval;
|
||||||
|
type tval;
|
||||||
|
namelist * nlist;
|
||||||
|
name id;
|
||||||
|
} YYSTYPE;
|
||||||
|
#endif /* !YYSTYPE_IS_DECLARED */
|
||||||
|
extern YYSTYPE destroy1_lval;
|
||||||
|
|
||||||
|
#endif /* _destroy1__defines_h_ */
|
0
test/btyacc/btyacc_destroy2.error
Normal file
0
test/btyacc/btyacc_destroy2.error
Normal file
247
test/btyacc/btyacc_destroy2.output
Normal file
247
test/btyacc/btyacc_destroy2.output
Normal file
|
@ -0,0 +1,247 @@
|
||||||
|
0 $accept : declaration $end
|
||||||
|
|
||||||
|
1 declaration : class type namelist '(' class ',' type ')'
|
||||||
|
2 | type locnamelist '(' class ')'
|
||||||
|
|
||||||
|
3 class : GLOBAL
|
||||||
|
4 | LOCAL
|
||||||
|
|
||||||
|
5 type : REAL
|
||||||
|
6 | INTEGER
|
||||||
|
|
||||||
|
7 namelist : namelist NAME
|
||||||
|
8 | NAME
|
||||||
|
|
||||||
|
9 locnamelist : namelist '(' LOCAL ',' type ')'
|
||||||
|
|
||||||
|
state 0
|
||||||
|
$accept : . declaration $end (0)
|
||||||
|
|
||||||
|
GLOBAL shift 1
|
||||||
|
LOCAL shift 2
|
||||||
|
REAL shift 3
|
||||||
|
INTEGER shift 4
|
||||||
|
. error
|
||||||
|
|
||||||
|
declaration goto 5
|
||||||
|
class goto 6
|
||||||
|
type goto 7
|
||||||
|
|
||||||
|
|
||||||
|
state 1
|
||||||
|
class : GLOBAL . (3)
|
||||||
|
|
||||||
|
. reduce 3
|
||||||
|
|
||||||
|
|
||||||
|
state 2
|
||||||
|
class : LOCAL . (4)
|
||||||
|
|
||||||
|
. reduce 4
|
||||||
|
|
||||||
|
|
||||||
|
state 3
|
||||||
|
type : REAL . (5)
|
||||||
|
|
||||||
|
. reduce 5
|
||||||
|
|
||||||
|
|
||||||
|
state 4
|
||||||
|
type : INTEGER . (6)
|
||||||
|
|
||||||
|
. reduce 6
|
||||||
|
|
||||||
|
|
||||||
|
state 5
|
||||||
|
$accept : declaration . $end (0)
|
||||||
|
|
||||||
|
$end accept
|
||||||
|
|
||||||
|
|
||||||
|
state 6
|
||||||
|
declaration : class . type namelist '(' class ',' type ')' (1)
|
||||||
|
|
||||||
|
REAL shift 3
|
||||||
|
INTEGER shift 4
|
||||||
|
. error
|
||||||
|
|
||||||
|
type goto 8
|
||||||
|
|
||||||
|
|
||||||
|
state 7
|
||||||
|
declaration : type . locnamelist '(' class ')' (2)
|
||||||
|
|
||||||
|
NAME shift 9
|
||||||
|
. error
|
||||||
|
|
||||||
|
locnamelist goto 10
|
||||||
|
namelist goto 11
|
||||||
|
|
||||||
|
|
||||||
|
state 8
|
||||||
|
declaration : class type . namelist '(' class ',' type ')' (1)
|
||||||
|
|
||||||
|
NAME shift 9
|
||||||
|
. error
|
||||||
|
|
||||||
|
namelist goto 12
|
||||||
|
|
||||||
|
|
||||||
|
state 9
|
||||||
|
namelist : NAME . (8)
|
||||||
|
|
||||||
|
. reduce 8
|
||||||
|
|
||||||
|
|
||||||
|
state 10
|
||||||
|
declaration : type locnamelist . '(' class ')' (2)
|
||||||
|
|
||||||
|
'(' shift 13
|
||||||
|
. error
|
||||||
|
|
||||||
|
|
||||||
|
state 11
|
||||||
|
namelist : namelist . NAME (7)
|
||||||
|
locnamelist : namelist . '(' LOCAL ',' type ')' (9)
|
||||||
|
|
||||||
|
NAME shift 14
|
||||||
|
'(' shift 15
|
||||||
|
. error
|
||||||
|
|
||||||
|
|
||||||
|
state 12
|
||||||
|
declaration : class type namelist . '(' class ',' type ')' (1)
|
||||||
|
namelist : namelist . NAME (7)
|
||||||
|
|
||||||
|
NAME shift 14
|
||||||
|
'(' shift 16
|
||||||
|
. error
|
||||||
|
|
||||||
|
|
||||||
|
state 13
|
||||||
|
declaration : type locnamelist '(' . class ')' (2)
|
||||||
|
|
||||||
|
GLOBAL shift 1
|
||||||
|
LOCAL shift 2
|
||||||
|
. error
|
||||||
|
|
||||||
|
class goto 17
|
||||||
|
|
||||||
|
|
||||||
|
state 14
|
||||||
|
namelist : namelist NAME . (7)
|
||||||
|
|
||||||
|
. reduce 7
|
||||||
|
|
||||||
|
|
||||||
|
state 15
|
||||||
|
locnamelist : namelist '(' . LOCAL ',' type ')' (9)
|
||||||
|
|
||||||
|
LOCAL shift 18
|
||||||
|
. error
|
||||||
|
|
||||||
|
|
||||||
|
state 16
|
||||||
|
declaration : class type namelist '(' . class ',' type ')' (1)
|
||||||
|
|
||||||
|
GLOBAL shift 1
|
||||||
|
LOCAL shift 2
|
||||||
|
. error
|
||||||
|
|
||||||
|
class goto 19
|
||||||
|
|
||||||
|
|
||||||
|
state 17
|
||||||
|
declaration : type locnamelist '(' class . ')' (2)
|
||||||
|
|
||||||
|
')' shift 20
|
||||||
|
. error
|
||||||
|
|
||||||
|
|
||||||
|
state 18
|
||||||
|
locnamelist : namelist '(' LOCAL . ',' type ')' (9)
|
||||||
|
|
||||||
|
',' shift 21
|
||||||
|
. error
|
||||||
|
|
||||||
|
|
||||||
|
state 19
|
||||||
|
declaration : class type namelist '(' class . ',' type ')' (1)
|
||||||
|
|
||||||
|
',' shift 22
|
||||||
|
. error
|
||||||
|
|
||||||
|
|
||||||
|
state 20
|
||||||
|
declaration : type locnamelist '(' class ')' . (2)
|
||||||
|
|
||||||
|
. reduce 2
|
||||||
|
|
||||||
|
|
||||||
|
state 21
|
||||||
|
locnamelist : namelist '(' LOCAL ',' . type ')' (9)
|
||||||
|
|
||||||
|
REAL shift 3
|
||||||
|
INTEGER shift 4
|
||||||
|
. error
|
||||||
|
|
||||||
|
type goto 23
|
||||||
|
|
||||||
|
|
||||||
|
state 22
|
||||||
|
declaration : class type namelist '(' class ',' . type ')' (1)
|
||||||
|
|
||||||
|
REAL shift 3
|
||||||
|
INTEGER shift 4
|
||||||
|
. error
|
||||||
|
|
||||||
|
type goto 24
|
||||||
|
|
||||||
|
|
||||||
|
state 23
|
||||||
|
locnamelist : namelist '(' LOCAL ',' type . ')' (9)
|
||||||
|
|
||||||
|
')' shift 25
|
||||||
|
. error
|
||||||
|
|
||||||
|
|
||||||
|
state 24
|
||||||
|
declaration : class type namelist '(' class ',' type . ')' (1)
|
||||||
|
|
||||||
|
')' shift 26
|
||||||
|
. error
|
||||||
|
|
||||||
|
|
||||||
|
state 25
|
||||||
|
locnamelist : namelist '(' LOCAL ',' type ')' . (9)
|
||||||
|
|
||||||
|
. reduce 9
|
||||||
|
|
||||||
|
|
||||||
|
state 26
|
||||||
|
declaration : class type namelist '(' class ',' type ')' . (1)
|
||||||
|
|
||||||
|
. reduce 1
|
||||||
|
|
||||||
|
|
||||||
|
10 terminals, 6 nonterminals
|
||||||
|
10 grammar rules, 27 states
|
||||||
|
|
||||||
|
grammar parser grammar
|
||||||
|
symbol# value# symbol
|
||||||
|
0 0 $end
|
||||||
|
1 256 error
|
||||||
|
2 257 GLOBAL
|
||||||
|
3 258 LOCAL
|
||||||
|
4 259 REAL
|
||||||
|
5 260 INTEGER
|
||||||
|
6 261 NAME
|
||||||
|
7 40 '('
|
||||||
|
8 44 ','
|
||||||
|
9 41 ')'
|
||||||
|
10 262 $accept
|
||||||
|
11 263 declaration
|
||||||
|
12 264 locnamelist
|
||||||
|
13 265 class
|
||||||
|
14 266 type
|
||||||
|
15 267 namelist
|
1477
test/btyacc/btyacc_destroy2.tab.c
Normal file
1477
test/btyacc/btyacc_destroy2.tab.c
Normal file
File diff suppressed because it is too large
Load diff
25
test/btyacc/btyacc_destroy2.tab.h
Normal file
25
test/btyacc/btyacc_destroy2.tab.h
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
#ifndef _destroy2__defines_h_
|
||||||
|
#define _destroy2__defines_h_
|
||||||
|
|
||||||
|
#define GLOBAL 257
|
||||||
|
#define LOCAL 258
|
||||||
|
#define REAL 259
|
||||||
|
#define INTEGER 260
|
||||||
|
#define NAME 261
|
||||||
|
#ifdef YYSTYPE
|
||||||
|
#undef YYSTYPE_IS_DECLARED
|
||||||
|
#define YYSTYPE_IS_DECLARED 1
|
||||||
|
#endif
|
||||||
|
#ifndef YYSTYPE_IS_DECLARED
|
||||||
|
#define YYSTYPE_IS_DECLARED 1
|
||||||
|
typedef union YYSTYPE
|
||||||
|
{
|
||||||
|
class cval;
|
||||||
|
type tval;
|
||||||
|
namelist * nlist;
|
||||||
|
name id;
|
||||||
|
} YYSTYPE;
|
||||||
|
#endif /* !YYSTYPE_IS_DECLARED */
|
||||||
|
extern YYSTYPE destroy2_lval;
|
||||||
|
|
||||||
|
#endif /* _destroy2__defines_h_ */
|
0
test/btyacc/btyacc_destroy3.error
Normal file
0
test/btyacc/btyacc_destroy3.error
Normal file
247
test/btyacc/btyacc_destroy3.output
Normal file
247
test/btyacc/btyacc_destroy3.output
Normal file
|
@ -0,0 +1,247 @@
|
||||||
|
0 $accept : declaration $end
|
||||||
|
|
||||||
|
1 declaration : class type namelist '(' class ',' type ')'
|
||||||
|
2 | type locnamelist '(' class ')'
|
||||||
|
|
||||||
|
3 class : GLOBAL
|
||||||
|
4 | LOCAL
|
||||||
|
|
||||||
|
5 type : REAL
|
||||||
|
6 | INTEGER
|
||||||
|
|
||||||
|
7 namelist : namelist NAME
|
||||||
|
8 | NAME
|
||||||
|
|
||||||
|
9 locnamelist : namelist '(' LOCAL ',' type ')'
|
||||||
|
|
||||||
|
state 0
|
||||||
|
$accept : . declaration $end (0)
|
||||||
|
|
||||||
|
GLOBAL shift 1
|
||||||
|
LOCAL shift 2
|
||||||
|
REAL shift 3
|
||||||
|
INTEGER shift 4
|
||||||
|
. error
|
||||||
|
|
||||||
|
declaration goto 5
|
||||||
|
class goto 6
|
||||||
|
type goto 7
|
||||||
|
|
||||||
|
|
||||||
|
state 1
|
||||||
|
class : GLOBAL . (3)
|
||||||
|
|
||||||
|
. reduce 3
|
||||||
|
|
||||||
|
|
||||||
|
state 2
|
||||||
|
class : LOCAL . (4)
|
||||||
|
|
||||||
|
. reduce 4
|
||||||
|
|
||||||
|
|
||||||
|
state 3
|
||||||
|
type : REAL . (5)
|
||||||
|
|
||||||
|
. reduce 5
|
||||||
|
|
||||||
|
|
||||||
|
state 4
|
||||||
|
type : INTEGER . (6)
|
||||||
|
|
||||||
|
. reduce 6
|
||||||
|
|
||||||
|
|
||||||
|
state 5
|
||||||
|
$accept : declaration . $end (0)
|
||||||
|
|
||||||
|
$end accept
|
||||||
|
|
||||||
|
|
||||||
|
state 6
|
||||||
|
declaration : class . type namelist '(' class ',' type ')' (1)
|
||||||
|
|
||||||
|
REAL shift 3
|
||||||
|
INTEGER shift 4
|
||||||
|
. error
|
||||||
|
|
||||||
|
type goto 8
|
||||||
|
|
||||||
|
|
||||||
|
state 7
|
||||||
|
declaration : type . locnamelist '(' class ')' (2)
|
||||||
|
|
||||||
|
NAME shift 9
|
||||||
|
. error
|
||||||
|
|
||||||
|
locnamelist goto 10
|
||||||
|
namelist goto 11
|
||||||
|
|
||||||
|
|
||||||
|
state 8
|
||||||
|
declaration : class type . namelist '(' class ',' type ')' (1)
|
||||||
|
|
||||||
|
NAME shift 9
|
||||||
|
. error
|
||||||
|
|
||||||
|
namelist goto 12
|
||||||
|
|
||||||
|
|
||||||
|
state 9
|
||||||
|
namelist : NAME . (8)
|
||||||
|
|
||||||
|
. reduce 8
|
||||||
|
|
||||||
|
|
||||||
|
state 10
|
||||||
|
declaration : type locnamelist . '(' class ')' (2)
|
||||||
|
|
||||||
|
'(' shift 13
|
||||||
|
. error
|
||||||
|
|
||||||
|
|
||||||
|
state 11
|
||||||
|
namelist : namelist . NAME (7)
|
||||||
|
locnamelist : namelist . '(' LOCAL ',' type ')' (9)
|
||||||
|
|
||||||
|
NAME shift 14
|
||||||
|
'(' shift 15
|
||||||
|
. error
|
||||||
|
|
||||||
|
|
||||||
|
state 12
|
||||||
|
declaration : class type namelist . '(' class ',' type ')' (1)
|
||||||
|
namelist : namelist . NAME (7)
|
||||||
|
|
||||||
|
NAME shift 14
|
||||||
|
'(' shift 16
|
||||||
|
. error
|
||||||
|
|
||||||
|
|
||||||
|
state 13
|
||||||
|
declaration : type locnamelist '(' . class ')' (2)
|
||||||
|
|
||||||
|
GLOBAL shift 1
|
||||||
|
LOCAL shift 2
|
||||||
|
. error
|
||||||
|
|
||||||
|
class goto 17
|
||||||
|
|
||||||
|
|
||||||
|
state 14
|
||||||
|
namelist : namelist NAME . (7)
|
||||||
|
|
||||||
|
. reduce 7
|
||||||
|
|
||||||
|
|
||||||
|
state 15
|
||||||
|
locnamelist : namelist '(' . LOCAL ',' type ')' (9)
|
||||||
|
|
||||||
|
LOCAL shift 18
|
||||||
|
. error
|
||||||
|
|
||||||
|
|
||||||
|
state 16
|
||||||
|
declaration : class type namelist '(' . class ',' type ')' (1)
|
||||||
|
|
||||||
|
GLOBAL shift 1
|
||||||
|
LOCAL shift 2
|
||||||
|
. error
|
||||||
|
|
||||||
|
class goto 19
|
||||||
|
|
||||||
|
|
||||||
|
state 17
|
||||||
|
declaration : type locnamelist '(' class . ')' (2)
|
||||||
|
|
||||||
|
')' shift 20
|
||||||
|
. error
|
||||||
|
|
||||||
|
|
||||||
|
state 18
|
||||||
|
locnamelist : namelist '(' LOCAL . ',' type ')' (9)
|
||||||
|
|
||||||
|
',' shift 21
|
||||||
|
. error
|
||||||
|
|
||||||
|
|
||||||
|
state 19
|
||||||
|
declaration : class type namelist '(' class . ',' type ')' (1)
|
||||||
|
|
||||||
|
',' shift 22
|
||||||
|
. error
|
||||||
|
|
||||||
|
|
||||||
|
state 20
|
||||||
|
declaration : type locnamelist '(' class ')' . (2)
|
||||||
|
|
||||||
|
. reduce 2
|
||||||
|
|
||||||
|
|
||||||
|
state 21
|
||||||
|
locnamelist : namelist '(' LOCAL ',' . type ')' (9)
|
||||||
|
|
||||||
|
REAL shift 3
|
||||||
|
INTEGER shift 4
|
||||||
|
. error
|
||||||
|
|
||||||
|
type goto 23
|
||||||
|
|
||||||
|
|
||||||
|
state 22
|
||||||
|
declaration : class type namelist '(' class ',' . type ')' (1)
|
||||||
|
|
||||||
|
REAL shift 3
|
||||||
|
INTEGER shift 4
|
||||||
|
. error
|
||||||
|
|
||||||
|
type goto 24
|
||||||
|
|
||||||
|
|
||||||
|
state 23
|
||||||
|
locnamelist : namelist '(' LOCAL ',' type . ')' (9)
|
||||||
|
|
||||||
|
')' shift 25
|
||||||
|
. error
|
||||||
|
|
||||||
|
|
||||||
|
state 24
|
||||||
|
declaration : class type namelist '(' class ',' type . ')' (1)
|
||||||
|
|
||||||
|
')' shift 26
|
||||||
|
. error
|
||||||
|
|
||||||
|
|
||||||
|
state 25
|
||||||
|
locnamelist : namelist '(' LOCAL ',' type ')' . (9)
|
||||||
|
|
||||||
|
. reduce 9
|
||||||
|
|
||||||
|
|
||||||
|
state 26
|
||||||
|
declaration : class type namelist '(' class ',' type ')' . (1)
|
||||||
|
|
||||||
|
. reduce 1
|
||||||
|
|
||||||
|
|
||||||
|
10 terminals, 6 nonterminals
|
||||||
|
10 grammar rules, 27 states
|
||||||
|
|
||||||
|
grammar parser grammar
|
||||||
|
symbol# value# symbol
|
||||||
|
0 0 $end
|
||||||
|
1 256 error
|
||||||
|
2 257 GLOBAL
|
||||||
|
3 258 LOCAL
|
||||||
|
4 259 REAL
|
||||||
|
5 260 INTEGER
|
||||||
|
6 261 NAME
|
||||||
|
7 40 '('
|
||||||
|
8 44 ','
|
||||||
|
9 41 ')'
|
||||||
|
10 262 $accept
|
||||||
|
11 263 declaration
|
||||||
|
12 264 locnamelist
|
||||||
|
13 265 class
|
||||||
|
14 266 type
|
||||||
|
15 267 namelist
|
1477
test/btyacc/btyacc_destroy3.tab.c
Normal file
1477
test/btyacc/btyacc_destroy3.tab.c
Normal file
File diff suppressed because it is too large
Load diff
25
test/btyacc/btyacc_destroy3.tab.h
Normal file
25
test/btyacc/btyacc_destroy3.tab.h
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
#ifndef _destroy3__defines_h_
|
||||||
|
#define _destroy3__defines_h_
|
||||||
|
|
||||||
|
#define GLOBAL 257
|
||||||
|
#define LOCAL 258
|
||||||
|
#define REAL 259
|
||||||
|
#define INTEGER 260
|
||||||
|
#define NAME 261
|
||||||
|
#ifdef YYSTYPE
|
||||||
|
#undef YYSTYPE_IS_DECLARED
|
||||||
|
#define YYSTYPE_IS_DECLARED 1
|
||||||
|
#endif
|
||||||
|
#ifndef YYSTYPE_IS_DECLARED
|
||||||
|
#define YYSTYPE_IS_DECLARED 1
|
||||||
|
typedef union YYSTYPE
|
||||||
|
{
|
||||||
|
class cval;
|
||||||
|
type tval;
|
||||||
|
namelist * nlist;
|
||||||
|
name id;
|
||||||
|
} YYSTYPE;
|
||||||
|
#endif /* !YYSTYPE_IS_DECLARED */
|
||||||
|
extern YYSTYPE destroy3_lval;
|
||||||
|
|
||||||
|
#endif /* _destroy3__defines_h_ */
|
0
test/btyacc/calc.error
Normal file
0
test/btyacc/calc.error
Normal file
485
test/btyacc/calc.output
Normal file
485
test/btyacc/calc.output
Normal file
|
@ -0,0 +1,485 @@
|
||||||
|
0 $accept : list $end
|
||||||
|
|
||||||
|
1 list :
|
||||||
|
2 | list stat '\n'
|
||||||
|
3 | list error '\n'
|
||||||
|
|
||||||
|
4 stat : expr
|
||||||
|
5 | LETTER '=' expr
|
||||||
|
|
||||||
|
6 expr : '(' expr ')'
|
||||||
|
7 | expr '+' expr
|
||||||
|
8 | expr '-' expr
|
||||||
|
9 | expr '*' expr
|
||||||
|
10 | expr '/' expr
|
||||||
|
11 | expr '%' expr
|
||||||
|
12 | expr '&' expr
|
||||||
|
13 | expr '|' expr
|
||||||
|
14 | '-' expr
|
||||||
|
15 | LETTER
|
||||||
|
16 | number
|
||||||
|
|
||||||
|
17 number : DIGIT
|
||||||
|
18 | number DIGIT
|
||||||
|
|
||||||
|
state 0
|
||||||
|
$accept : . list $end (0)
|
||||||
|
list : . (1)
|
||||||
|
|
||||||
|
. reduce 1
|
||||||
|
|
||||||
|
list goto 1
|
||||||
|
|
||||||
|
|
||||||
|
state 1
|
||||||
|
$accept : list . $end (0)
|
||||||
|
list : list . stat '\n' (2)
|
||||||
|
list : list . error '\n' (3)
|
||||||
|
|
||||||
|
$end accept
|
||||||
|
error shift 2
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 4
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
stat goto 7
|
||||||
|
expr goto 8
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 2
|
||||||
|
list : list error . '\n' (3)
|
||||||
|
|
||||||
|
'\n' shift 10
|
||||||
|
. error
|
||||||
|
|
||||||
|
|
||||||
|
state 3
|
||||||
|
number : DIGIT . (17)
|
||||||
|
|
||||||
|
. reduce 17
|
||||||
|
|
||||||
|
|
||||||
|
state 4
|
||||||
|
stat : LETTER . '=' expr (5)
|
||||||
|
expr : LETTER . (15)
|
||||||
|
|
||||||
|
'=' shift 11
|
||||||
|
'|' reduce 15
|
||||||
|
'&' reduce 15
|
||||||
|
'+' reduce 15
|
||||||
|
'-' reduce 15
|
||||||
|
'*' reduce 15
|
||||||
|
'/' reduce 15
|
||||||
|
'%' reduce 15
|
||||||
|
'\n' reduce 15
|
||||||
|
|
||||||
|
|
||||||
|
state 5
|
||||||
|
expr : '-' . expr (14)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 13
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 6
|
||||||
|
expr : '(' . expr ')' (6)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 14
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 7
|
||||||
|
list : list stat . '\n' (2)
|
||||||
|
|
||||||
|
'\n' shift 15
|
||||||
|
. error
|
||||||
|
|
||||||
|
|
||||||
|
state 8
|
||||||
|
stat : expr . (4)
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
|
||||||
|
'|' shift 16
|
||||||
|
'&' shift 17
|
||||||
|
'+' shift 18
|
||||||
|
'-' shift 19
|
||||||
|
'*' shift 20
|
||||||
|
'/' shift 21
|
||||||
|
'%' shift 22
|
||||||
|
'\n' reduce 4
|
||||||
|
|
||||||
|
|
||||||
|
state 9
|
||||||
|
expr : number . (16)
|
||||||
|
number : number . DIGIT (18)
|
||||||
|
|
||||||
|
DIGIT shift 23
|
||||||
|
'|' reduce 16
|
||||||
|
'&' reduce 16
|
||||||
|
'+' reduce 16
|
||||||
|
'-' reduce 16
|
||||||
|
'*' reduce 16
|
||||||
|
'/' reduce 16
|
||||||
|
'%' reduce 16
|
||||||
|
'\n' reduce 16
|
||||||
|
')' reduce 16
|
||||||
|
|
||||||
|
|
||||||
|
state 10
|
||||||
|
list : list error '\n' . (3)
|
||||||
|
|
||||||
|
. reduce 3
|
||||||
|
|
||||||
|
|
||||||
|
state 11
|
||||||
|
stat : LETTER '=' . expr (5)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 24
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 12
|
||||||
|
expr : LETTER . (15)
|
||||||
|
|
||||||
|
. reduce 15
|
||||||
|
|
||||||
|
|
||||||
|
state 13
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
expr : '-' expr . (14)
|
||||||
|
|
||||||
|
. reduce 14
|
||||||
|
|
||||||
|
|
||||||
|
state 14
|
||||||
|
expr : '(' expr . ')' (6)
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
|
||||||
|
'|' shift 16
|
||||||
|
'&' shift 17
|
||||||
|
'+' shift 18
|
||||||
|
'-' shift 19
|
||||||
|
'*' shift 20
|
||||||
|
'/' shift 21
|
||||||
|
'%' shift 22
|
||||||
|
')' shift 25
|
||||||
|
. error
|
||||||
|
|
||||||
|
|
||||||
|
state 15
|
||||||
|
list : list stat '\n' . (2)
|
||||||
|
|
||||||
|
. reduce 2
|
||||||
|
|
||||||
|
|
||||||
|
state 16
|
||||||
|
expr : expr '|' . expr (13)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 26
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 17
|
||||||
|
expr : expr '&' . expr (12)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 27
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 18
|
||||||
|
expr : expr '+' . expr (7)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 28
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 19
|
||||||
|
expr : expr '-' . expr (8)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 29
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 20
|
||||||
|
expr : expr '*' . expr (9)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 30
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 21
|
||||||
|
expr : expr '/' . expr (10)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 31
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 22
|
||||||
|
expr : expr '%' . expr (11)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 32
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 23
|
||||||
|
number : number DIGIT . (18)
|
||||||
|
|
||||||
|
. reduce 18
|
||||||
|
|
||||||
|
|
||||||
|
state 24
|
||||||
|
stat : LETTER '=' expr . (5)
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
|
||||||
|
'|' shift 16
|
||||||
|
'&' shift 17
|
||||||
|
'+' shift 18
|
||||||
|
'-' shift 19
|
||||||
|
'*' shift 20
|
||||||
|
'/' shift 21
|
||||||
|
'%' shift 22
|
||||||
|
'\n' reduce 5
|
||||||
|
|
||||||
|
|
||||||
|
state 25
|
||||||
|
expr : '(' expr ')' . (6)
|
||||||
|
|
||||||
|
. reduce 6
|
||||||
|
|
||||||
|
|
||||||
|
state 26
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
expr : expr '|' expr . (13)
|
||||||
|
|
||||||
|
'&' shift 17
|
||||||
|
'+' shift 18
|
||||||
|
'-' shift 19
|
||||||
|
'*' shift 20
|
||||||
|
'/' shift 21
|
||||||
|
'%' shift 22
|
||||||
|
'|' reduce 13
|
||||||
|
'\n' reduce 13
|
||||||
|
')' reduce 13
|
||||||
|
|
||||||
|
|
||||||
|
state 27
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr '&' expr . (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
|
||||||
|
'+' shift 18
|
||||||
|
'-' shift 19
|
||||||
|
'*' shift 20
|
||||||
|
'/' shift 21
|
||||||
|
'%' shift 22
|
||||||
|
'|' reduce 12
|
||||||
|
'&' reduce 12
|
||||||
|
'\n' reduce 12
|
||||||
|
')' reduce 12
|
||||||
|
|
||||||
|
|
||||||
|
state 28
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr '+' expr . (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
|
||||||
|
'*' shift 20
|
||||||
|
'/' shift 21
|
||||||
|
'%' shift 22
|
||||||
|
'|' reduce 7
|
||||||
|
'&' reduce 7
|
||||||
|
'+' reduce 7
|
||||||
|
'-' reduce 7
|
||||||
|
'\n' reduce 7
|
||||||
|
')' reduce 7
|
||||||
|
|
||||||
|
|
||||||
|
state 29
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr '-' expr . (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
|
||||||
|
'*' shift 20
|
||||||
|
'/' shift 21
|
||||||
|
'%' shift 22
|
||||||
|
'|' reduce 8
|
||||||
|
'&' reduce 8
|
||||||
|
'+' reduce 8
|
||||||
|
'-' reduce 8
|
||||||
|
'\n' reduce 8
|
||||||
|
')' reduce 8
|
||||||
|
|
||||||
|
|
||||||
|
state 30
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr '*' expr . (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
|
||||||
|
. reduce 9
|
||||||
|
|
||||||
|
|
||||||
|
state 31
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr '/' expr . (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
|
||||||
|
. reduce 10
|
||||||
|
|
||||||
|
|
||||||
|
state 32
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr '%' expr . (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
|
||||||
|
. reduce 11
|
||||||
|
|
||||||
|
|
||||||
|
16 terminals, 5 nonterminals
|
||||||
|
19 grammar rules, 33 states
|
||||||
|
|
||||||
|
grammar parser grammar
|
||||||
|
symbol# value# symbol
|
||||||
|
0 0 $end
|
||||||
|
1 256 error
|
||||||
|
2 257 DIGIT
|
||||||
|
3 258 LETTER
|
||||||
|
4 124 '|'
|
||||||
|
5 38 '&'
|
||||||
|
6 43 '+'
|
||||||
|
7 45 '-'
|
||||||
|
8 42 '*'
|
||||||
|
9 47 '/'
|
||||||
|
10 37 '%'
|
||||||
|
11 259 UMINUS
|
||||||
|
12 10 '\n'
|
||||||
|
13 61 '='
|
||||||
|
14 40 '('
|
||||||
|
15 41 ')'
|
||||||
|
16 260 $accept
|
||||||
|
17 261 list
|
||||||
|
18 262 stat
|
||||||
|
19 263 expr
|
||||||
|
20 264 number
|
1489
test/btyacc/calc.tab.c
Normal file
1489
test/btyacc/calc.tab.c
Normal file
File diff suppressed because it is too large
Load diff
8
test/btyacc/calc.tab.h
Normal file
8
test/btyacc/calc.tab.h
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
#ifndef _calc__defines_h_
|
||||||
|
#define _calc__defines_h_
|
||||||
|
|
||||||
|
#define DIGIT 257
|
||||||
|
#define LETTER 258
|
||||||
|
#define UMINUS 259
|
||||||
|
|
||||||
|
#endif /* _calc__defines_h_ */
|
2
test/btyacc/calc1.error
Normal file
2
test/btyacc/calc1.error
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
YACC: 2 rules never reduced
|
||||||
|
YACC: 18 shift/reduce conflicts, 26 reduce/reduce conflicts.
|
900
test/btyacc/calc1.output
Normal file
900
test/btyacc/calc1.output
Normal file
|
@ -0,0 +1,900 @@
|
||||||
|
0 $accept : line $end
|
||||||
|
|
||||||
|
1 lines :
|
||||||
|
2 | lines line
|
||||||
|
|
||||||
|
3 line : dexp '\n'
|
||||||
|
4 | vexp '\n'
|
||||||
|
5 | DREG '=' dexp '\n'
|
||||||
|
6 | VREG '=' vexp '\n'
|
||||||
|
7 | error '\n'
|
||||||
|
|
||||||
|
8 dexp : CONST
|
||||||
|
9 | DREG
|
||||||
|
10 | dexp '+' dexp
|
||||||
|
11 | dexp '-' dexp
|
||||||
|
12 | dexp '*' dexp
|
||||||
|
13 | dexp '/' dexp
|
||||||
|
14 | '-' dexp
|
||||||
|
15 | '(' dexp ')'
|
||||||
|
|
||||||
|
16 vexp : dexp
|
||||||
|
17 | '(' dexp ',' dexp ')'
|
||||||
|
18 | VREG
|
||||||
|
19 | vexp '+' vexp
|
||||||
|
20 | dexp '+' vexp
|
||||||
|
21 | vexp '-' vexp
|
||||||
|
22 | dexp '-' vexp
|
||||||
|
23 | vexp '*' vexp
|
||||||
|
24 | dexp '*' vexp
|
||||||
|
25 | vexp '/' vexp
|
||||||
|
26 | dexp '/' vexp
|
||||||
|
27 | '-' vexp
|
||||||
|
28 | '(' vexp ')'
|
||||||
|
|
||||||
|
state 0
|
||||||
|
$accept : . line $end (0)
|
||||||
|
|
||||||
|
error shift 1
|
||||||
|
DREG shift 2
|
||||||
|
VREG shift 3
|
||||||
|
CONST shift 4
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
line goto 7
|
||||||
|
dexp goto 8
|
||||||
|
vexp goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 1
|
||||||
|
line : error . '\n' (7)
|
||||||
|
|
||||||
|
'\n' shift 10
|
||||||
|
. error
|
||||||
|
|
||||||
|
|
||||||
|
state 2
|
||||||
|
line : DREG . '=' dexp '\n' (5)
|
||||||
|
dexp : DREG . (9)
|
||||||
|
|
||||||
|
'=' shift 11
|
||||||
|
'+' reduce 9
|
||||||
|
'-' reduce 9
|
||||||
|
'*' reduce 9
|
||||||
|
'/' reduce 9
|
||||||
|
'\n' reduce 9
|
||||||
|
|
||||||
|
|
||||||
|
state 3
|
||||||
|
line : VREG . '=' vexp '\n' (6)
|
||||||
|
vexp : VREG . (18)
|
||||||
|
|
||||||
|
'=' shift 12
|
||||||
|
'+' reduce 18
|
||||||
|
'-' reduce 18
|
||||||
|
'*' reduce 18
|
||||||
|
'/' reduce 18
|
||||||
|
'\n' reduce 18
|
||||||
|
|
||||||
|
|
||||||
|
state 4
|
||||||
|
dexp : CONST . (8)
|
||||||
|
|
||||||
|
. reduce 8
|
||||||
|
|
||||||
|
|
||||||
|
state 5
|
||||||
|
dexp : '-' . dexp (14)
|
||||||
|
vexp : '-' . vexp (27)
|
||||||
|
|
||||||
|
DREG shift 13
|
||||||
|
VREG shift 14
|
||||||
|
CONST shift 4
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
dexp goto 15
|
||||||
|
vexp goto 16
|
||||||
|
|
||||||
|
|
||||||
|
state 6
|
||||||
|
dexp : '(' . dexp ')' (15)
|
||||||
|
vexp : '(' . dexp ',' dexp ')' (17)
|
||||||
|
vexp : '(' . vexp ')' (28)
|
||||||
|
|
||||||
|
DREG shift 13
|
||||||
|
VREG shift 14
|
||||||
|
CONST shift 4
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
dexp goto 17
|
||||||
|
vexp goto 18
|
||||||
|
|
||||||
|
|
||||||
|
state 7
|
||||||
|
$accept : line . $end (0)
|
||||||
|
|
||||||
|
$end accept
|
||||||
|
|
||||||
|
|
||||||
|
8: shift/reduce conflict (shift 19, reduce 16) on '+'
|
||||||
|
8: shift/reduce conflict (shift 20, reduce 16) on '-'
|
||||||
|
8: shift/reduce conflict (shift 21, reduce 16) on '*'
|
||||||
|
8: shift/reduce conflict (shift 22, reduce 16) on '/'
|
||||||
|
8: shift/reduce conflict (shift 23, reduce 16) on '\n'
|
||||||
|
state 8
|
||||||
|
line : dexp . '\n' (3)
|
||||||
|
dexp : dexp . '+' dexp (10)
|
||||||
|
dexp : dexp . '-' dexp (11)
|
||||||
|
dexp : dexp . '*' dexp (12)
|
||||||
|
dexp : dexp . '/' dexp (13)
|
||||||
|
vexp : dexp . (16)
|
||||||
|
vexp : dexp . '+' vexp (20)
|
||||||
|
vexp : dexp . '-' vexp (22)
|
||||||
|
vexp : dexp . '*' vexp (24)
|
||||||
|
vexp : dexp . '/' vexp (26)
|
||||||
|
|
||||||
|
'+' shift 19
|
||||||
|
'-' shift 20
|
||||||
|
'*' shift 21
|
||||||
|
'/' shift 22
|
||||||
|
'\n' shift 23
|
||||||
|
|
||||||
|
|
||||||
|
state 9
|
||||||
|
line : vexp . '\n' (4)
|
||||||
|
vexp : vexp . '+' vexp (19)
|
||||||
|
vexp : vexp . '-' vexp (21)
|
||||||
|
vexp : vexp . '*' vexp (23)
|
||||||
|
vexp : vexp . '/' vexp (25)
|
||||||
|
|
||||||
|
'+' shift 24
|
||||||
|
'-' shift 25
|
||||||
|
'*' shift 26
|
||||||
|
'/' shift 27
|
||||||
|
'\n' shift 28
|
||||||
|
. error
|
||||||
|
|
||||||
|
|
||||||
|
state 10
|
||||||
|
line : error '\n' . (7)
|
||||||
|
|
||||||
|
. reduce 7
|
||||||
|
|
||||||
|
|
||||||
|
state 11
|
||||||
|
line : DREG '=' . dexp '\n' (5)
|
||||||
|
|
||||||
|
DREG shift 13
|
||||||
|
CONST shift 4
|
||||||
|
'-' shift 29
|
||||||
|
'(' shift 30
|
||||||
|
. error
|
||||||
|
|
||||||
|
dexp goto 31
|
||||||
|
|
||||||
|
|
||||||
|
state 12
|
||||||
|
line : VREG '=' . vexp '\n' (6)
|
||||||
|
|
||||||
|
DREG shift 13
|
||||||
|
VREG shift 14
|
||||||
|
CONST shift 4
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
dexp goto 32
|
||||||
|
vexp goto 33
|
||||||
|
|
||||||
|
|
||||||
|
state 13
|
||||||
|
dexp : DREG . (9)
|
||||||
|
|
||||||
|
. reduce 9
|
||||||
|
|
||||||
|
|
||||||
|
state 14
|
||||||
|
vexp : VREG . (18)
|
||||||
|
|
||||||
|
. reduce 18
|
||||||
|
|
||||||
|
|
||||||
|
15: reduce/reduce conflict (reduce 14, reduce 16) on '+'
|
||||||
|
15: reduce/reduce conflict (reduce 14, reduce 16) on '-'
|
||||||
|
15: reduce/reduce conflict (reduce 14, reduce 16) on '*'
|
||||||
|
15: reduce/reduce conflict (reduce 14, reduce 16) on '/'
|
||||||
|
15: reduce/reduce conflict (reduce 14, reduce 16) on '\n'
|
||||||
|
15: reduce/reduce conflict (reduce 14, reduce 16) on ')'
|
||||||
|
state 15
|
||||||
|
dexp : dexp . '+' dexp (10)
|
||||||
|
dexp : dexp . '-' dexp (11)
|
||||||
|
dexp : dexp . '*' dexp (12)
|
||||||
|
dexp : dexp . '/' dexp (13)
|
||||||
|
dexp : '-' dexp . (14)
|
||||||
|
vexp : dexp . (16)
|
||||||
|
vexp : dexp . '+' vexp (20)
|
||||||
|
vexp : dexp . '-' vexp (22)
|
||||||
|
vexp : dexp . '*' vexp (24)
|
||||||
|
vexp : dexp . '/' vexp (26)
|
||||||
|
|
||||||
|
. reduce 14
|
||||||
|
|
||||||
|
|
||||||
|
state 16
|
||||||
|
vexp : vexp . '+' vexp (19)
|
||||||
|
vexp : vexp . '-' vexp (21)
|
||||||
|
vexp : vexp . '*' vexp (23)
|
||||||
|
vexp : vexp . '/' vexp (25)
|
||||||
|
vexp : '-' vexp . (27)
|
||||||
|
|
||||||
|
. reduce 27
|
||||||
|
|
||||||
|
|
||||||
|
17: shift/reduce conflict (shift 19, reduce 16) on '+'
|
||||||
|
17: shift/reduce conflict (shift 20, reduce 16) on '-'
|
||||||
|
17: shift/reduce conflict (shift 21, reduce 16) on '*'
|
||||||
|
17: shift/reduce conflict (shift 22, reduce 16) on '/'
|
||||||
|
17: shift/reduce conflict (shift 34, reduce 16) on ')'
|
||||||
|
state 17
|
||||||
|
dexp : dexp . '+' dexp (10)
|
||||||
|
dexp : dexp . '-' dexp (11)
|
||||||
|
dexp : dexp . '*' dexp (12)
|
||||||
|
dexp : dexp . '/' dexp (13)
|
||||||
|
dexp : '(' dexp . ')' (15)
|
||||||
|
vexp : dexp . (16)
|
||||||
|
vexp : '(' dexp . ',' dexp ')' (17)
|
||||||
|
vexp : dexp . '+' vexp (20)
|
||||||
|
vexp : dexp . '-' vexp (22)
|
||||||
|
vexp : dexp . '*' vexp (24)
|
||||||
|
vexp : dexp . '/' vexp (26)
|
||||||
|
|
||||||
|
'+' shift 19
|
||||||
|
'-' shift 20
|
||||||
|
'*' shift 21
|
||||||
|
'/' shift 22
|
||||||
|
')' shift 34
|
||||||
|
',' shift 35
|
||||||
|
|
||||||
|
|
||||||
|
state 18
|
||||||
|
vexp : vexp . '+' vexp (19)
|
||||||
|
vexp : vexp . '-' vexp (21)
|
||||||
|
vexp : vexp . '*' vexp (23)
|
||||||
|
vexp : vexp . '/' vexp (25)
|
||||||
|
vexp : '(' vexp . ')' (28)
|
||||||
|
|
||||||
|
'+' shift 24
|
||||||
|
'-' shift 25
|
||||||
|
'*' shift 26
|
||||||
|
'/' shift 27
|
||||||
|
')' shift 36
|
||||||
|
. error
|
||||||
|
|
||||||
|
|
||||||
|
state 19
|
||||||
|
dexp : dexp '+' . dexp (10)
|
||||||
|
vexp : dexp '+' . vexp (20)
|
||||||
|
|
||||||
|
DREG shift 13
|
||||||
|
VREG shift 14
|
||||||
|
CONST shift 4
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
dexp goto 37
|
||||||
|
vexp goto 38
|
||||||
|
|
||||||
|
|
||||||
|
state 20
|
||||||
|
dexp : dexp '-' . dexp (11)
|
||||||
|
vexp : dexp '-' . vexp (22)
|
||||||
|
|
||||||
|
DREG shift 13
|
||||||
|
VREG shift 14
|
||||||
|
CONST shift 4
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
dexp goto 39
|
||||||
|
vexp goto 40
|
||||||
|
|
||||||
|
|
||||||
|
state 21
|
||||||
|
dexp : dexp '*' . dexp (12)
|
||||||
|
vexp : dexp '*' . vexp (24)
|
||||||
|
|
||||||
|
DREG shift 13
|
||||||
|
VREG shift 14
|
||||||
|
CONST shift 4
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
dexp goto 41
|
||||||
|
vexp goto 42
|
||||||
|
|
||||||
|
|
||||||
|
state 22
|
||||||
|
dexp : dexp '/' . dexp (13)
|
||||||
|
vexp : dexp '/' . vexp (26)
|
||||||
|
|
||||||
|
DREG shift 13
|
||||||
|
VREG shift 14
|
||||||
|
CONST shift 4
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
dexp goto 43
|
||||||
|
vexp goto 44
|
||||||
|
|
||||||
|
|
||||||
|
state 23
|
||||||
|
line : dexp '\n' . (3)
|
||||||
|
|
||||||
|
. reduce 3
|
||||||
|
|
||||||
|
|
||||||
|
state 24
|
||||||
|
vexp : vexp '+' . vexp (19)
|
||||||
|
|
||||||
|
DREG shift 13
|
||||||
|
VREG shift 14
|
||||||
|
CONST shift 4
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
dexp goto 32
|
||||||
|
vexp goto 45
|
||||||
|
|
||||||
|
|
||||||
|
state 25
|
||||||
|
vexp : vexp '-' . vexp (21)
|
||||||
|
|
||||||
|
DREG shift 13
|
||||||
|
VREG shift 14
|
||||||
|
CONST shift 4
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
dexp goto 32
|
||||||
|
vexp goto 46
|
||||||
|
|
||||||
|
|
||||||
|
state 26
|
||||||
|
vexp : vexp '*' . vexp (23)
|
||||||
|
|
||||||
|
DREG shift 13
|
||||||
|
VREG shift 14
|
||||||
|
CONST shift 4
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
dexp goto 32
|
||||||
|
vexp goto 47
|
||||||
|
|
||||||
|
|
||||||
|
state 27
|
||||||
|
vexp : vexp '/' . vexp (25)
|
||||||
|
|
||||||
|
DREG shift 13
|
||||||
|
VREG shift 14
|
||||||
|
CONST shift 4
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
dexp goto 32
|
||||||
|
vexp goto 48
|
||||||
|
|
||||||
|
|
||||||
|
state 28
|
||||||
|
line : vexp '\n' . (4)
|
||||||
|
|
||||||
|
. reduce 4
|
||||||
|
|
||||||
|
|
||||||
|
state 29
|
||||||
|
dexp : '-' . dexp (14)
|
||||||
|
|
||||||
|
DREG shift 13
|
||||||
|
CONST shift 4
|
||||||
|
'-' shift 29
|
||||||
|
'(' shift 30
|
||||||
|
. error
|
||||||
|
|
||||||
|
dexp goto 49
|
||||||
|
|
||||||
|
|
||||||
|
state 30
|
||||||
|
dexp : '(' . dexp ')' (15)
|
||||||
|
|
||||||
|
DREG shift 13
|
||||||
|
CONST shift 4
|
||||||
|
'-' shift 29
|
||||||
|
'(' shift 30
|
||||||
|
. error
|
||||||
|
|
||||||
|
dexp goto 50
|
||||||
|
|
||||||
|
|
||||||
|
state 31
|
||||||
|
line : DREG '=' dexp . '\n' (5)
|
||||||
|
dexp : dexp . '+' dexp (10)
|
||||||
|
dexp : dexp . '-' dexp (11)
|
||||||
|
dexp : dexp . '*' dexp (12)
|
||||||
|
dexp : dexp . '/' dexp (13)
|
||||||
|
|
||||||
|
'+' shift 51
|
||||||
|
'-' shift 52
|
||||||
|
'*' shift 53
|
||||||
|
'/' shift 54
|
||||||
|
'\n' shift 55
|
||||||
|
. error
|
||||||
|
|
||||||
|
|
||||||
|
32: shift/reduce conflict (shift 19, reduce 16) on '+'
|
||||||
|
32: shift/reduce conflict (shift 20, reduce 16) on '-'
|
||||||
|
32: shift/reduce conflict (shift 21, reduce 16) on '*'
|
||||||
|
32: shift/reduce conflict (shift 22, reduce 16) on '/'
|
||||||
|
state 32
|
||||||
|
dexp : dexp . '+' dexp (10)
|
||||||
|
dexp : dexp . '-' dexp (11)
|
||||||
|
dexp : dexp . '*' dexp (12)
|
||||||
|
dexp : dexp . '/' dexp (13)
|
||||||
|
vexp : dexp . (16)
|
||||||
|
vexp : dexp . '+' vexp (20)
|
||||||
|
vexp : dexp . '-' vexp (22)
|
||||||
|
vexp : dexp . '*' vexp (24)
|
||||||
|
vexp : dexp . '/' vexp (26)
|
||||||
|
|
||||||
|
'+' shift 19
|
||||||
|
'-' shift 20
|
||||||
|
'*' shift 21
|
||||||
|
'/' shift 22
|
||||||
|
'\n' reduce 16
|
||||||
|
')' reduce 16
|
||||||
|
|
||||||
|
|
||||||
|
state 33
|
||||||
|
line : VREG '=' vexp . '\n' (6)
|
||||||
|
vexp : vexp . '+' vexp (19)
|
||||||
|
vexp : vexp . '-' vexp (21)
|
||||||
|
vexp : vexp . '*' vexp (23)
|
||||||
|
vexp : vexp . '/' vexp (25)
|
||||||
|
|
||||||
|
'+' shift 24
|
||||||
|
'-' shift 25
|
||||||
|
'*' shift 26
|
||||||
|
'/' shift 27
|
||||||
|
'\n' shift 56
|
||||||
|
. error
|
||||||
|
|
||||||
|
|
||||||
|
state 34
|
||||||
|
dexp : '(' dexp ')' . (15)
|
||||||
|
|
||||||
|
. reduce 15
|
||||||
|
|
||||||
|
|
||||||
|
state 35
|
||||||
|
vexp : '(' dexp ',' . dexp ')' (17)
|
||||||
|
|
||||||
|
DREG shift 13
|
||||||
|
CONST shift 4
|
||||||
|
'-' shift 29
|
||||||
|
'(' shift 30
|
||||||
|
. error
|
||||||
|
|
||||||
|
dexp goto 57
|
||||||
|
|
||||||
|
|
||||||
|
state 36
|
||||||
|
vexp : '(' vexp ')' . (28)
|
||||||
|
|
||||||
|
. reduce 28
|
||||||
|
|
||||||
|
|
||||||
|
37: reduce/reduce conflict (reduce 10, reduce 16) on '+'
|
||||||
|
37: reduce/reduce conflict (reduce 10, reduce 16) on '-'
|
||||||
|
37: shift/reduce conflict (shift 21, reduce 16) on '*'
|
||||||
|
37: shift/reduce conflict (shift 22, reduce 16) on '/'
|
||||||
|
37: reduce/reduce conflict (reduce 10, reduce 16) on '\n'
|
||||||
|
37: reduce/reduce conflict (reduce 10, reduce 16) on ')'
|
||||||
|
state 37
|
||||||
|
dexp : dexp . '+' dexp (10)
|
||||||
|
dexp : dexp '+' dexp . (10)
|
||||||
|
dexp : dexp . '-' dexp (11)
|
||||||
|
dexp : dexp . '*' dexp (12)
|
||||||
|
dexp : dexp . '/' dexp (13)
|
||||||
|
vexp : dexp . (16)
|
||||||
|
vexp : dexp . '+' vexp (20)
|
||||||
|
vexp : dexp . '-' vexp (22)
|
||||||
|
vexp : dexp . '*' vexp (24)
|
||||||
|
vexp : dexp . '/' vexp (26)
|
||||||
|
|
||||||
|
'*' shift 21
|
||||||
|
'/' shift 22
|
||||||
|
'+' reduce 10
|
||||||
|
'-' reduce 10
|
||||||
|
'\n' reduce 10
|
||||||
|
')' reduce 10
|
||||||
|
',' reduce 10
|
||||||
|
|
||||||
|
|
||||||
|
state 38
|
||||||
|
vexp : vexp . '+' vexp (19)
|
||||||
|
vexp : dexp '+' vexp . (20)
|
||||||
|
vexp : vexp . '-' vexp (21)
|
||||||
|
vexp : vexp . '*' vexp (23)
|
||||||
|
vexp : vexp . '/' vexp (25)
|
||||||
|
|
||||||
|
'*' shift 26
|
||||||
|
'/' shift 27
|
||||||
|
'+' reduce 20
|
||||||
|
'-' reduce 20
|
||||||
|
'\n' reduce 20
|
||||||
|
')' reduce 20
|
||||||
|
|
||||||
|
|
||||||
|
39: reduce/reduce conflict (reduce 11, reduce 16) on '+'
|
||||||
|
39: reduce/reduce conflict (reduce 11, reduce 16) on '-'
|
||||||
|
39: shift/reduce conflict (shift 21, reduce 16) on '*'
|
||||||
|
39: shift/reduce conflict (shift 22, reduce 16) on '/'
|
||||||
|
39: reduce/reduce conflict (reduce 11, reduce 16) on '\n'
|
||||||
|
39: reduce/reduce conflict (reduce 11, reduce 16) on ')'
|
||||||
|
state 39
|
||||||
|
dexp : dexp . '+' dexp (10)
|
||||||
|
dexp : dexp . '-' dexp (11)
|
||||||
|
dexp : dexp '-' dexp . (11)
|
||||||
|
dexp : dexp . '*' dexp (12)
|
||||||
|
dexp : dexp . '/' dexp (13)
|
||||||
|
vexp : dexp . (16)
|
||||||
|
vexp : dexp . '+' vexp (20)
|
||||||
|
vexp : dexp . '-' vexp (22)
|
||||||
|
vexp : dexp . '*' vexp (24)
|
||||||
|
vexp : dexp . '/' vexp (26)
|
||||||
|
|
||||||
|
'*' shift 21
|
||||||
|
'/' shift 22
|
||||||
|
'+' reduce 11
|
||||||
|
'-' reduce 11
|
||||||
|
'\n' reduce 11
|
||||||
|
')' reduce 11
|
||||||
|
',' reduce 11
|
||||||
|
|
||||||
|
|
||||||
|
state 40
|
||||||
|
vexp : vexp . '+' vexp (19)
|
||||||
|
vexp : vexp . '-' vexp (21)
|
||||||
|
vexp : dexp '-' vexp . (22)
|
||||||
|
vexp : vexp . '*' vexp (23)
|
||||||
|
vexp : vexp . '/' vexp (25)
|
||||||
|
|
||||||
|
'*' shift 26
|
||||||
|
'/' shift 27
|
||||||
|
'+' reduce 22
|
||||||
|
'-' reduce 22
|
||||||
|
'\n' reduce 22
|
||||||
|
')' reduce 22
|
||||||
|
|
||||||
|
|
||||||
|
41: reduce/reduce conflict (reduce 12, reduce 16) on '+'
|
||||||
|
41: reduce/reduce conflict (reduce 12, reduce 16) on '-'
|
||||||
|
41: reduce/reduce conflict (reduce 12, reduce 16) on '*'
|
||||||
|
41: reduce/reduce conflict (reduce 12, reduce 16) on '/'
|
||||||
|
41: reduce/reduce conflict (reduce 12, reduce 16) on '\n'
|
||||||
|
41: reduce/reduce conflict (reduce 12, reduce 16) on ')'
|
||||||
|
state 41
|
||||||
|
dexp : dexp . '+' dexp (10)
|
||||||
|
dexp : dexp . '-' dexp (11)
|
||||||
|
dexp : dexp . '*' dexp (12)
|
||||||
|
dexp : dexp '*' dexp . (12)
|
||||||
|
dexp : dexp . '/' dexp (13)
|
||||||
|
vexp : dexp . (16)
|
||||||
|
vexp : dexp . '+' vexp (20)
|
||||||
|
vexp : dexp . '-' vexp (22)
|
||||||
|
vexp : dexp . '*' vexp (24)
|
||||||
|
vexp : dexp . '/' vexp (26)
|
||||||
|
|
||||||
|
. reduce 12
|
||||||
|
|
||||||
|
|
||||||
|
state 42
|
||||||
|
vexp : vexp . '+' vexp (19)
|
||||||
|
vexp : vexp . '-' vexp (21)
|
||||||
|
vexp : vexp . '*' vexp (23)
|
||||||
|
vexp : dexp '*' vexp . (24)
|
||||||
|
vexp : vexp . '/' vexp (25)
|
||||||
|
|
||||||
|
. reduce 24
|
||||||
|
|
||||||
|
|
||||||
|
43: reduce/reduce conflict (reduce 13, reduce 16) on '+'
|
||||||
|
43: reduce/reduce conflict (reduce 13, reduce 16) on '-'
|
||||||
|
43: reduce/reduce conflict (reduce 13, reduce 16) on '*'
|
||||||
|
43: reduce/reduce conflict (reduce 13, reduce 16) on '/'
|
||||||
|
43: reduce/reduce conflict (reduce 13, reduce 16) on '\n'
|
||||||
|
43: reduce/reduce conflict (reduce 13, reduce 16) on ')'
|
||||||
|
state 43
|
||||||
|
dexp : dexp . '+' dexp (10)
|
||||||
|
dexp : dexp . '-' dexp (11)
|
||||||
|
dexp : dexp . '*' dexp (12)
|
||||||
|
dexp : dexp . '/' dexp (13)
|
||||||
|
dexp : dexp '/' dexp . (13)
|
||||||
|
vexp : dexp . (16)
|
||||||
|
vexp : dexp . '+' vexp (20)
|
||||||
|
vexp : dexp . '-' vexp (22)
|
||||||
|
vexp : dexp . '*' vexp (24)
|
||||||
|
vexp : dexp . '/' vexp (26)
|
||||||
|
|
||||||
|
. reduce 13
|
||||||
|
|
||||||
|
|
||||||
|
state 44
|
||||||
|
vexp : vexp . '+' vexp (19)
|
||||||
|
vexp : vexp . '-' vexp (21)
|
||||||
|
vexp : vexp . '*' vexp (23)
|
||||||
|
vexp : vexp . '/' vexp (25)
|
||||||
|
vexp : dexp '/' vexp . (26)
|
||||||
|
|
||||||
|
. reduce 26
|
||||||
|
|
||||||
|
|
||||||
|
state 45
|
||||||
|
vexp : vexp . '+' vexp (19)
|
||||||
|
vexp : vexp '+' vexp . (19)
|
||||||
|
vexp : vexp . '-' vexp (21)
|
||||||
|
vexp : vexp . '*' vexp (23)
|
||||||
|
vexp : vexp . '/' vexp (25)
|
||||||
|
|
||||||
|
'*' shift 26
|
||||||
|
'/' shift 27
|
||||||
|
'+' reduce 19
|
||||||
|
'-' reduce 19
|
||||||
|
'\n' reduce 19
|
||||||
|
')' reduce 19
|
||||||
|
|
||||||
|
|
||||||
|
state 46
|
||||||
|
vexp : vexp . '+' vexp (19)
|
||||||
|
vexp : vexp . '-' vexp (21)
|
||||||
|
vexp : vexp '-' vexp . (21)
|
||||||
|
vexp : vexp . '*' vexp (23)
|
||||||
|
vexp : vexp . '/' vexp (25)
|
||||||
|
|
||||||
|
'*' shift 26
|
||||||
|
'/' shift 27
|
||||||
|
'+' reduce 21
|
||||||
|
'-' reduce 21
|
||||||
|
'\n' reduce 21
|
||||||
|
')' reduce 21
|
||||||
|
|
||||||
|
|
||||||
|
state 47
|
||||||
|
vexp : vexp . '+' vexp (19)
|
||||||
|
vexp : vexp . '-' vexp (21)
|
||||||
|
vexp : vexp . '*' vexp (23)
|
||||||
|
vexp : vexp '*' vexp . (23)
|
||||||
|
vexp : vexp . '/' vexp (25)
|
||||||
|
|
||||||
|
. reduce 23
|
||||||
|
|
||||||
|
|
||||||
|
state 48
|
||||||
|
vexp : vexp . '+' vexp (19)
|
||||||
|
vexp : vexp . '-' vexp (21)
|
||||||
|
vexp : vexp . '*' vexp (23)
|
||||||
|
vexp : vexp . '/' vexp (25)
|
||||||
|
vexp : vexp '/' vexp . (25)
|
||||||
|
|
||||||
|
. reduce 25
|
||||||
|
|
||||||
|
|
||||||
|
state 49
|
||||||
|
dexp : dexp . '+' dexp (10)
|
||||||
|
dexp : dexp . '-' dexp (11)
|
||||||
|
dexp : dexp . '*' dexp (12)
|
||||||
|
dexp : dexp . '/' dexp (13)
|
||||||
|
dexp : '-' dexp . (14)
|
||||||
|
|
||||||
|
. reduce 14
|
||||||
|
|
||||||
|
|
||||||
|
state 50
|
||||||
|
dexp : dexp . '+' dexp (10)
|
||||||
|
dexp : dexp . '-' dexp (11)
|
||||||
|
dexp : dexp . '*' dexp (12)
|
||||||
|
dexp : dexp . '/' dexp (13)
|
||||||
|
dexp : '(' dexp . ')' (15)
|
||||||
|
|
||||||
|
'+' shift 51
|
||||||
|
'-' shift 52
|
||||||
|
'*' shift 53
|
||||||
|
'/' shift 54
|
||||||
|
')' shift 34
|
||||||
|
. error
|
||||||
|
|
||||||
|
|
||||||
|
state 51
|
||||||
|
dexp : dexp '+' . dexp (10)
|
||||||
|
|
||||||
|
DREG shift 13
|
||||||
|
CONST shift 4
|
||||||
|
'-' shift 29
|
||||||
|
'(' shift 30
|
||||||
|
. error
|
||||||
|
|
||||||
|
dexp goto 58
|
||||||
|
|
||||||
|
|
||||||
|
state 52
|
||||||
|
dexp : dexp '-' . dexp (11)
|
||||||
|
|
||||||
|
DREG shift 13
|
||||||
|
CONST shift 4
|
||||||
|
'-' shift 29
|
||||||
|
'(' shift 30
|
||||||
|
. error
|
||||||
|
|
||||||
|
dexp goto 59
|
||||||
|
|
||||||
|
|
||||||
|
state 53
|
||||||
|
dexp : dexp '*' . dexp (12)
|
||||||
|
|
||||||
|
DREG shift 13
|
||||||
|
CONST shift 4
|
||||||
|
'-' shift 29
|
||||||
|
'(' shift 30
|
||||||
|
. error
|
||||||
|
|
||||||
|
dexp goto 60
|
||||||
|
|
||||||
|
|
||||||
|
state 54
|
||||||
|
dexp : dexp '/' . dexp (13)
|
||||||
|
|
||||||
|
DREG shift 13
|
||||||
|
CONST shift 4
|
||||||
|
'-' shift 29
|
||||||
|
'(' shift 30
|
||||||
|
. error
|
||||||
|
|
||||||
|
dexp goto 61
|
||||||
|
|
||||||
|
|
||||||
|
state 55
|
||||||
|
line : DREG '=' dexp '\n' . (5)
|
||||||
|
|
||||||
|
. reduce 5
|
||||||
|
|
||||||
|
|
||||||
|
state 56
|
||||||
|
line : VREG '=' vexp '\n' . (6)
|
||||||
|
|
||||||
|
. reduce 6
|
||||||
|
|
||||||
|
|
||||||
|
state 57
|
||||||
|
dexp : dexp . '+' dexp (10)
|
||||||
|
dexp : dexp . '-' dexp (11)
|
||||||
|
dexp : dexp . '*' dexp (12)
|
||||||
|
dexp : dexp . '/' dexp (13)
|
||||||
|
vexp : '(' dexp ',' dexp . ')' (17)
|
||||||
|
|
||||||
|
'+' shift 51
|
||||||
|
'-' shift 52
|
||||||
|
'*' shift 53
|
||||||
|
'/' shift 54
|
||||||
|
')' shift 62
|
||||||
|
. error
|
||||||
|
|
||||||
|
|
||||||
|
state 58
|
||||||
|
dexp : dexp . '+' dexp (10)
|
||||||
|
dexp : dexp '+' dexp . (10)
|
||||||
|
dexp : dexp . '-' dexp (11)
|
||||||
|
dexp : dexp . '*' dexp (12)
|
||||||
|
dexp : dexp . '/' dexp (13)
|
||||||
|
|
||||||
|
'*' shift 53
|
||||||
|
'/' shift 54
|
||||||
|
'+' reduce 10
|
||||||
|
'-' reduce 10
|
||||||
|
'\n' reduce 10
|
||||||
|
')' reduce 10
|
||||||
|
|
||||||
|
|
||||||
|
state 59
|
||||||
|
dexp : dexp . '+' dexp (10)
|
||||||
|
dexp : dexp . '-' dexp (11)
|
||||||
|
dexp : dexp '-' dexp . (11)
|
||||||
|
dexp : dexp . '*' dexp (12)
|
||||||
|
dexp : dexp . '/' dexp (13)
|
||||||
|
|
||||||
|
'*' shift 53
|
||||||
|
'/' shift 54
|
||||||
|
'+' reduce 11
|
||||||
|
'-' reduce 11
|
||||||
|
'\n' reduce 11
|
||||||
|
')' reduce 11
|
||||||
|
|
||||||
|
|
||||||
|
state 60
|
||||||
|
dexp : dexp . '+' dexp (10)
|
||||||
|
dexp : dexp . '-' dexp (11)
|
||||||
|
dexp : dexp . '*' dexp (12)
|
||||||
|
dexp : dexp '*' dexp . (12)
|
||||||
|
dexp : dexp . '/' dexp (13)
|
||||||
|
|
||||||
|
. reduce 12
|
||||||
|
|
||||||
|
|
||||||
|
state 61
|
||||||
|
dexp : dexp . '+' dexp (10)
|
||||||
|
dexp : dexp . '-' dexp (11)
|
||||||
|
dexp : dexp . '*' dexp (12)
|
||||||
|
dexp : dexp . '/' dexp (13)
|
||||||
|
dexp : dexp '/' dexp . (13)
|
||||||
|
|
||||||
|
. reduce 13
|
||||||
|
|
||||||
|
|
||||||
|
state 62
|
||||||
|
vexp : '(' dexp ',' dexp ')' . (17)
|
||||||
|
|
||||||
|
. reduce 17
|
||||||
|
|
||||||
|
|
||||||
|
Rules never reduced:
|
||||||
|
lines : (1)
|
||||||
|
lines : lines line (2)
|
||||||
|
|
||||||
|
|
||||||
|
State 8 contains 5 shift/reduce conflicts.
|
||||||
|
State 15 contains 6 reduce/reduce conflicts.
|
||||||
|
State 17 contains 5 shift/reduce conflicts.
|
||||||
|
State 32 contains 4 shift/reduce conflicts.
|
||||||
|
State 37 contains 2 shift/reduce conflicts, 4 reduce/reduce conflicts.
|
||||||
|
State 39 contains 2 shift/reduce conflicts, 4 reduce/reduce conflicts.
|
||||||
|
State 41 contains 6 reduce/reduce conflicts.
|
||||||
|
State 43 contains 6 reduce/reduce conflicts.
|
||||||
|
|
||||||
|
|
||||||
|
15 terminals, 5 nonterminals
|
||||||
|
29 grammar rules, 63 states
|
||||||
|
|
||||||
|
grammar parser grammar
|
||||||
|
symbol# value# symbol
|
||||||
|
0 0 $end
|
||||||
|
1 256 error
|
||||||
|
2 257 DREG
|
||||||
|
3 258 VREG
|
||||||
|
4 259 CONST
|
||||||
|
5 43 '+'
|
||||||
|
6 45 '-'
|
||||||
|
7 42 '*'
|
||||||
|
8 47 '/'
|
||||||
|
9 260 UMINUS
|
||||||
|
10 10 '\n'
|
||||||
|
11 61 '='
|
||||||
|
12 40 '('
|
||||||
|
13 41 ')'
|
||||||
|
14 44 ','
|
||||||
|
15 261 $accept
|
||||||
|
16 262 line
|
||||||
|
17 263 dexp
|
||||||
|
18 264 vexp
|
||||||
|
19 265 lines
|
1746
test/btyacc/calc1.tab.c
Normal file
1746
test/btyacc/calc1.tab.c
Normal file
File diff suppressed because it is too large
Load diff
23
test/btyacc/calc1.tab.h
Normal file
23
test/btyacc/calc1.tab.h
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
#ifndef _calc1__defines_h_
|
||||||
|
#define _calc1__defines_h_
|
||||||
|
|
||||||
|
#define DREG 257
|
||||||
|
#define VREG 258
|
||||||
|
#define CONST 259
|
||||||
|
#define UMINUS 260
|
||||||
|
#ifdef YYSTYPE
|
||||||
|
#undef YYSTYPE_IS_DECLARED
|
||||||
|
#define YYSTYPE_IS_DECLARED 1
|
||||||
|
#endif
|
||||||
|
#ifndef YYSTYPE_IS_DECLARED
|
||||||
|
#define YYSTYPE_IS_DECLARED 1
|
||||||
|
typedef union YYSTYPE
|
||||||
|
{
|
||||||
|
int ival;
|
||||||
|
double dval;
|
||||||
|
INTERVAL vval;
|
||||||
|
} YYSTYPE;
|
||||||
|
#endif /* !YYSTYPE_IS_DECLARED */
|
||||||
|
extern YYSTYPE calc1_lval;
|
||||||
|
|
||||||
|
#endif /* _calc1__defines_h_ */
|
0
test/btyacc/calc2.error
Normal file
0
test/btyacc/calc2.error
Normal file
485
test/btyacc/calc2.output
Normal file
485
test/btyacc/calc2.output
Normal file
|
@ -0,0 +1,485 @@
|
||||||
|
0 $accept : list $end
|
||||||
|
|
||||||
|
1 list :
|
||||||
|
2 | list stat '\n'
|
||||||
|
3 | list error '\n'
|
||||||
|
|
||||||
|
4 stat : expr
|
||||||
|
5 | LETTER '=' expr
|
||||||
|
|
||||||
|
6 expr : '(' expr ')'
|
||||||
|
7 | expr '+' expr
|
||||||
|
8 | expr '-' expr
|
||||||
|
9 | expr '*' expr
|
||||||
|
10 | expr '/' expr
|
||||||
|
11 | expr '%' expr
|
||||||
|
12 | expr '&' expr
|
||||||
|
13 | expr '|' expr
|
||||||
|
14 | '-' expr
|
||||||
|
15 | LETTER
|
||||||
|
16 | number
|
||||||
|
|
||||||
|
17 number : DIGIT
|
||||||
|
18 | number DIGIT
|
||||||
|
|
||||||
|
state 0
|
||||||
|
$accept : . list $end (0)
|
||||||
|
list : . (1)
|
||||||
|
|
||||||
|
. reduce 1
|
||||||
|
|
||||||
|
list goto 1
|
||||||
|
|
||||||
|
|
||||||
|
state 1
|
||||||
|
$accept : list . $end (0)
|
||||||
|
list : list . stat '\n' (2)
|
||||||
|
list : list . error '\n' (3)
|
||||||
|
|
||||||
|
$end accept
|
||||||
|
error shift 2
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 4
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
stat goto 7
|
||||||
|
expr goto 8
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 2
|
||||||
|
list : list error . '\n' (3)
|
||||||
|
|
||||||
|
'\n' shift 10
|
||||||
|
. error
|
||||||
|
|
||||||
|
|
||||||
|
state 3
|
||||||
|
number : DIGIT . (17)
|
||||||
|
|
||||||
|
. reduce 17
|
||||||
|
|
||||||
|
|
||||||
|
state 4
|
||||||
|
stat : LETTER . '=' expr (5)
|
||||||
|
expr : LETTER . (15)
|
||||||
|
|
||||||
|
'=' shift 11
|
||||||
|
'|' reduce 15
|
||||||
|
'&' reduce 15
|
||||||
|
'+' reduce 15
|
||||||
|
'-' reduce 15
|
||||||
|
'*' reduce 15
|
||||||
|
'/' reduce 15
|
||||||
|
'%' reduce 15
|
||||||
|
'\n' reduce 15
|
||||||
|
|
||||||
|
|
||||||
|
state 5
|
||||||
|
expr : '-' . expr (14)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 13
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 6
|
||||||
|
expr : '(' . expr ')' (6)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 14
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 7
|
||||||
|
list : list stat . '\n' (2)
|
||||||
|
|
||||||
|
'\n' shift 15
|
||||||
|
. error
|
||||||
|
|
||||||
|
|
||||||
|
state 8
|
||||||
|
stat : expr . (4)
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
|
||||||
|
'|' shift 16
|
||||||
|
'&' shift 17
|
||||||
|
'+' shift 18
|
||||||
|
'-' shift 19
|
||||||
|
'*' shift 20
|
||||||
|
'/' shift 21
|
||||||
|
'%' shift 22
|
||||||
|
'\n' reduce 4
|
||||||
|
|
||||||
|
|
||||||
|
state 9
|
||||||
|
expr : number . (16)
|
||||||
|
number : number . DIGIT (18)
|
||||||
|
|
||||||
|
DIGIT shift 23
|
||||||
|
'|' reduce 16
|
||||||
|
'&' reduce 16
|
||||||
|
'+' reduce 16
|
||||||
|
'-' reduce 16
|
||||||
|
'*' reduce 16
|
||||||
|
'/' reduce 16
|
||||||
|
'%' reduce 16
|
||||||
|
'\n' reduce 16
|
||||||
|
')' reduce 16
|
||||||
|
|
||||||
|
|
||||||
|
state 10
|
||||||
|
list : list error '\n' . (3)
|
||||||
|
|
||||||
|
. reduce 3
|
||||||
|
|
||||||
|
|
||||||
|
state 11
|
||||||
|
stat : LETTER '=' . expr (5)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 24
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 12
|
||||||
|
expr : LETTER . (15)
|
||||||
|
|
||||||
|
. reduce 15
|
||||||
|
|
||||||
|
|
||||||
|
state 13
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
expr : '-' expr . (14)
|
||||||
|
|
||||||
|
. reduce 14
|
||||||
|
|
||||||
|
|
||||||
|
state 14
|
||||||
|
expr : '(' expr . ')' (6)
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
|
||||||
|
'|' shift 16
|
||||||
|
'&' shift 17
|
||||||
|
'+' shift 18
|
||||||
|
'-' shift 19
|
||||||
|
'*' shift 20
|
||||||
|
'/' shift 21
|
||||||
|
'%' shift 22
|
||||||
|
')' shift 25
|
||||||
|
. error
|
||||||
|
|
||||||
|
|
||||||
|
state 15
|
||||||
|
list : list stat '\n' . (2)
|
||||||
|
|
||||||
|
. reduce 2
|
||||||
|
|
||||||
|
|
||||||
|
state 16
|
||||||
|
expr : expr '|' . expr (13)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 26
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 17
|
||||||
|
expr : expr '&' . expr (12)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 27
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 18
|
||||||
|
expr : expr '+' . expr (7)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 28
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 19
|
||||||
|
expr : expr '-' . expr (8)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 29
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 20
|
||||||
|
expr : expr '*' . expr (9)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 30
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 21
|
||||||
|
expr : expr '/' . expr (10)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 31
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 22
|
||||||
|
expr : expr '%' . expr (11)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 32
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 23
|
||||||
|
number : number DIGIT . (18)
|
||||||
|
|
||||||
|
. reduce 18
|
||||||
|
|
||||||
|
|
||||||
|
state 24
|
||||||
|
stat : LETTER '=' expr . (5)
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
|
||||||
|
'|' shift 16
|
||||||
|
'&' shift 17
|
||||||
|
'+' shift 18
|
||||||
|
'-' shift 19
|
||||||
|
'*' shift 20
|
||||||
|
'/' shift 21
|
||||||
|
'%' shift 22
|
||||||
|
'\n' reduce 5
|
||||||
|
|
||||||
|
|
||||||
|
state 25
|
||||||
|
expr : '(' expr ')' . (6)
|
||||||
|
|
||||||
|
. reduce 6
|
||||||
|
|
||||||
|
|
||||||
|
state 26
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
expr : expr '|' expr . (13)
|
||||||
|
|
||||||
|
'&' shift 17
|
||||||
|
'+' shift 18
|
||||||
|
'-' shift 19
|
||||||
|
'*' shift 20
|
||||||
|
'/' shift 21
|
||||||
|
'%' shift 22
|
||||||
|
'|' reduce 13
|
||||||
|
'\n' reduce 13
|
||||||
|
')' reduce 13
|
||||||
|
|
||||||
|
|
||||||
|
state 27
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr '&' expr . (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
|
||||||
|
'+' shift 18
|
||||||
|
'-' shift 19
|
||||||
|
'*' shift 20
|
||||||
|
'/' shift 21
|
||||||
|
'%' shift 22
|
||||||
|
'|' reduce 12
|
||||||
|
'&' reduce 12
|
||||||
|
'\n' reduce 12
|
||||||
|
')' reduce 12
|
||||||
|
|
||||||
|
|
||||||
|
state 28
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr '+' expr . (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
|
||||||
|
'*' shift 20
|
||||||
|
'/' shift 21
|
||||||
|
'%' shift 22
|
||||||
|
'|' reduce 7
|
||||||
|
'&' reduce 7
|
||||||
|
'+' reduce 7
|
||||||
|
'-' reduce 7
|
||||||
|
'\n' reduce 7
|
||||||
|
')' reduce 7
|
||||||
|
|
||||||
|
|
||||||
|
state 29
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr '-' expr . (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
|
||||||
|
'*' shift 20
|
||||||
|
'/' shift 21
|
||||||
|
'%' shift 22
|
||||||
|
'|' reduce 8
|
||||||
|
'&' reduce 8
|
||||||
|
'+' reduce 8
|
||||||
|
'-' reduce 8
|
||||||
|
'\n' reduce 8
|
||||||
|
')' reduce 8
|
||||||
|
|
||||||
|
|
||||||
|
state 30
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr '*' expr . (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
|
||||||
|
. reduce 9
|
||||||
|
|
||||||
|
|
||||||
|
state 31
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr '/' expr . (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
|
||||||
|
. reduce 10
|
||||||
|
|
||||||
|
|
||||||
|
state 32
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr '%' expr . (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
|
||||||
|
. reduce 11
|
||||||
|
|
||||||
|
|
||||||
|
16 terminals, 5 nonterminals
|
||||||
|
19 grammar rules, 33 states
|
||||||
|
|
||||||
|
grammar parser grammar
|
||||||
|
symbol# value# symbol
|
||||||
|
0 0 $end
|
||||||
|
1 256 error
|
||||||
|
2 257 DIGIT
|
||||||
|
3 258 LETTER
|
||||||
|
4 124 '|'
|
||||||
|
5 38 '&'
|
||||||
|
6 43 '+'
|
||||||
|
7 45 '-'
|
||||||
|
8 42 '*'
|
||||||
|
9 47 '/'
|
||||||
|
10 37 '%'
|
||||||
|
11 259 UMINUS
|
||||||
|
12 10 '\n'
|
||||||
|
13 61 '='
|
||||||
|
14 40 '('
|
||||||
|
15 41 ')'
|
||||||
|
16 260 $accept
|
||||||
|
17 261 list
|
||||||
|
18 262 stat
|
||||||
|
19 263 expr
|
||||||
|
20 264 number
|
1502
test/btyacc/calc2.tab.c
Normal file
1502
test/btyacc/calc2.tab.c
Normal file
File diff suppressed because it is too large
Load diff
8
test/btyacc/calc2.tab.h
Normal file
8
test/btyacc/calc2.tab.h
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
#ifndef _calc2__defines_h_
|
||||||
|
#define _calc2__defines_h_
|
||||||
|
|
||||||
|
#define DIGIT 257
|
||||||
|
#define LETTER 258
|
||||||
|
#define UMINUS 259
|
||||||
|
|
||||||
|
#endif /* _calc2__defines_h_ */
|
0
test/btyacc/calc3.error
Normal file
0
test/btyacc/calc3.error
Normal file
485
test/btyacc/calc3.output
Normal file
485
test/btyacc/calc3.output
Normal file
|
@ -0,0 +1,485 @@
|
||||||
|
0 $accept : list $end
|
||||||
|
|
||||||
|
1 list :
|
||||||
|
2 | list stat '\n'
|
||||||
|
3 | list error '\n'
|
||||||
|
|
||||||
|
4 stat : expr
|
||||||
|
5 | LETTER '=' expr
|
||||||
|
|
||||||
|
6 expr : '(' expr ')'
|
||||||
|
7 | expr '+' expr
|
||||||
|
8 | expr '-' expr
|
||||||
|
9 | expr '*' expr
|
||||||
|
10 | expr '/' expr
|
||||||
|
11 | expr '%' expr
|
||||||
|
12 | expr '&' expr
|
||||||
|
13 | expr '|' expr
|
||||||
|
14 | '-' expr
|
||||||
|
15 | LETTER
|
||||||
|
16 | number
|
||||||
|
|
||||||
|
17 number : DIGIT
|
||||||
|
18 | number DIGIT
|
||||||
|
|
||||||
|
state 0
|
||||||
|
$accept : . list $end (0)
|
||||||
|
list : . (1)
|
||||||
|
|
||||||
|
. reduce 1
|
||||||
|
|
||||||
|
list goto 1
|
||||||
|
|
||||||
|
|
||||||
|
state 1
|
||||||
|
$accept : list . $end (0)
|
||||||
|
list : list . stat '\n' (2)
|
||||||
|
list : list . error '\n' (3)
|
||||||
|
|
||||||
|
$end accept
|
||||||
|
error shift 2
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 4
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
stat goto 7
|
||||||
|
expr goto 8
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 2
|
||||||
|
list : list error . '\n' (3)
|
||||||
|
|
||||||
|
'\n' shift 10
|
||||||
|
. error
|
||||||
|
|
||||||
|
|
||||||
|
state 3
|
||||||
|
number : DIGIT . (17)
|
||||||
|
|
||||||
|
. reduce 17
|
||||||
|
|
||||||
|
|
||||||
|
state 4
|
||||||
|
stat : LETTER . '=' expr (5)
|
||||||
|
expr : LETTER . (15)
|
||||||
|
|
||||||
|
'=' shift 11
|
||||||
|
'|' reduce 15
|
||||||
|
'&' reduce 15
|
||||||
|
'+' reduce 15
|
||||||
|
'-' reduce 15
|
||||||
|
'*' reduce 15
|
||||||
|
'/' reduce 15
|
||||||
|
'%' reduce 15
|
||||||
|
'\n' reduce 15
|
||||||
|
|
||||||
|
|
||||||
|
state 5
|
||||||
|
expr : '-' . expr (14)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 13
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 6
|
||||||
|
expr : '(' . expr ')' (6)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 14
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 7
|
||||||
|
list : list stat . '\n' (2)
|
||||||
|
|
||||||
|
'\n' shift 15
|
||||||
|
. error
|
||||||
|
|
||||||
|
|
||||||
|
state 8
|
||||||
|
stat : expr . (4)
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
|
||||||
|
'|' shift 16
|
||||||
|
'&' shift 17
|
||||||
|
'+' shift 18
|
||||||
|
'-' shift 19
|
||||||
|
'*' shift 20
|
||||||
|
'/' shift 21
|
||||||
|
'%' shift 22
|
||||||
|
'\n' reduce 4
|
||||||
|
|
||||||
|
|
||||||
|
state 9
|
||||||
|
expr : number . (16)
|
||||||
|
number : number . DIGIT (18)
|
||||||
|
|
||||||
|
DIGIT shift 23
|
||||||
|
'|' reduce 16
|
||||||
|
'&' reduce 16
|
||||||
|
'+' reduce 16
|
||||||
|
'-' reduce 16
|
||||||
|
'*' reduce 16
|
||||||
|
'/' reduce 16
|
||||||
|
'%' reduce 16
|
||||||
|
'\n' reduce 16
|
||||||
|
')' reduce 16
|
||||||
|
|
||||||
|
|
||||||
|
state 10
|
||||||
|
list : list error '\n' . (3)
|
||||||
|
|
||||||
|
. reduce 3
|
||||||
|
|
||||||
|
|
||||||
|
state 11
|
||||||
|
stat : LETTER '=' . expr (5)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 24
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 12
|
||||||
|
expr : LETTER . (15)
|
||||||
|
|
||||||
|
. reduce 15
|
||||||
|
|
||||||
|
|
||||||
|
state 13
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
expr : '-' expr . (14)
|
||||||
|
|
||||||
|
. reduce 14
|
||||||
|
|
||||||
|
|
||||||
|
state 14
|
||||||
|
expr : '(' expr . ')' (6)
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
|
||||||
|
'|' shift 16
|
||||||
|
'&' shift 17
|
||||||
|
'+' shift 18
|
||||||
|
'-' shift 19
|
||||||
|
'*' shift 20
|
||||||
|
'/' shift 21
|
||||||
|
'%' shift 22
|
||||||
|
')' shift 25
|
||||||
|
. error
|
||||||
|
|
||||||
|
|
||||||
|
state 15
|
||||||
|
list : list stat '\n' . (2)
|
||||||
|
|
||||||
|
. reduce 2
|
||||||
|
|
||||||
|
|
||||||
|
state 16
|
||||||
|
expr : expr '|' . expr (13)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 26
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 17
|
||||||
|
expr : expr '&' . expr (12)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 27
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 18
|
||||||
|
expr : expr '+' . expr (7)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 28
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 19
|
||||||
|
expr : expr '-' . expr (8)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 29
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 20
|
||||||
|
expr : expr '*' . expr (9)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 30
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 21
|
||||||
|
expr : expr '/' . expr (10)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 31
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 22
|
||||||
|
expr : expr '%' . expr (11)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 32
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 23
|
||||||
|
number : number DIGIT . (18)
|
||||||
|
|
||||||
|
. reduce 18
|
||||||
|
|
||||||
|
|
||||||
|
state 24
|
||||||
|
stat : LETTER '=' expr . (5)
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
|
||||||
|
'|' shift 16
|
||||||
|
'&' shift 17
|
||||||
|
'+' shift 18
|
||||||
|
'-' shift 19
|
||||||
|
'*' shift 20
|
||||||
|
'/' shift 21
|
||||||
|
'%' shift 22
|
||||||
|
'\n' reduce 5
|
||||||
|
|
||||||
|
|
||||||
|
state 25
|
||||||
|
expr : '(' expr ')' . (6)
|
||||||
|
|
||||||
|
. reduce 6
|
||||||
|
|
||||||
|
|
||||||
|
state 26
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
expr : expr '|' expr . (13)
|
||||||
|
|
||||||
|
'&' shift 17
|
||||||
|
'+' shift 18
|
||||||
|
'-' shift 19
|
||||||
|
'*' shift 20
|
||||||
|
'/' shift 21
|
||||||
|
'%' shift 22
|
||||||
|
'|' reduce 13
|
||||||
|
'\n' reduce 13
|
||||||
|
')' reduce 13
|
||||||
|
|
||||||
|
|
||||||
|
state 27
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr '&' expr . (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
|
||||||
|
'+' shift 18
|
||||||
|
'-' shift 19
|
||||||
|
'*' shift 20
|
||||||
|
'/' shift 21
|
||||||
|
'%' shift 22
|
||||||
|
'|' reduce 12
|
||||||
|
'&' reduce 12
|
||||||
|
'\n' reduce 12
|
||||||
|
')' reduce 12
|
||||||
|
|
||||||
|
|
||||||
|
state 28
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr '+' expr . (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
|
||||||
|
'*' shift 20
|
||||||
|
'/' shift 21
|
||||||
|
'%' shift 22
|
||||||
|
'|' reduce 7
|
||||||
|
'&' reduce 7
|
||||||
|
'+' reduce 7
|
||||||
|
'-' reduce 7
|
||||||
|
'\n' reduce 7
|
||||||
|
')' reduce 7
|
||||||
|
|
||||||
|
|
||||||
|
state 29
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr '-' expr . (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
|
||||||
|
'*' shift 20
|
||||||
|
'/' shift 21
|
||||||
|
'%' shift 22
|
||||||
|
'|' reduce 8
|
||||||
|
'&' reduce 8
|
||||||
|
'+' reduce 8
|
||||||
|
'-' reduce 8
|
||||||
|
'\n' reduce 8
|
||||||
|
')' reduce 8
|
||||||
|
|
||||||
|
|
||||||
|
state 30
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr '*' expr . (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
|
||||||
|
. reduce 9
|
||||||
|
|
||||||
|
|
||||||
|
state 31
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr '/' expr . (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
|
||||||
|
. reduce 10
|
||||||
|
|
||||||
|
|
||||||
|
state 32
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr '%' expr . (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
|
||||||
|
. reduce 11
|
||||||
|
|
||||||
|
|
||||||
|
16 terminals, 5 nonterminals
|
||||||
|
19 grammar rules, 33 states
|
||||||
|
|
||||||
|
grammar parser grammar
|
||||||
|
symbol# value# symbol
|
||||||
|
0 0 $end
|
||||||
|
1 256 error
|
||||||
|
2 257 DIGIT
|
||||||
|
3 258 LETTER
|
||||||
|
4 124 '|'
|
||||||
|
5 38 '&'
|
||||||
|
6 43 '+'
|
||||||
|
7 45 '-'
|
||||||
|
8 42 '*'
|
||||||
|
9 47 '/'
|
||||||
|
10 37 '%'
|
||||||
|
11 259 UMINUS
|
||||||
|
12 10 '\n'
|
||||||
|
13 61 '='
|
||||||
|
14 40 '('
|
||||||
|
15 41 ')'
|
||||||
|
16 260 $accept
|
||||||
|
17 261 list
|
||||||
|
18 262 stat
|
||||||
|
19 263 expr
|
||||||
|
20 264 number
|
1516
test/btyacc/calc3.tab.c
Normal file
1516
test/btyacc/calc3.tab.c
Normal file
File diff suppressed because it is too large
Load diff
8
test/btyacc/calc3.tab.h
Normal file
8
test/btyacc/calc3.tab.h
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
#ifndef _calc3__defines_h_
|
||||||
|
#define _calc3__defines_h_
|
||||||
|
|
||||||
|
#define DIGIT 257
|
||||||
|
#define LETTER 258
|
||||||
|
#define UMINUS 259
|
||||||
|
|
||||||
|
#endif /* _calc3__defines_h_ */
|
0
test/btyacc/calc_code_all.error
Normal file
0
test/btyacc/calc_code_all.error
Normal file
485
test/btyacc/calc_code_all.output
Normal file
485
test/btyacc/calc_code_all.output
Normal file
|
@ -0,0 +1,485 @@
|
||||||
|
0 $accept : list $end
|
||||||
|
|
||||||
|
1 list :
|
||||||
|
2 | list stat '\n'
|
||||||
|
3 | list error '\n'
|
||||||
|
|
||||||
|
4 stat : expr
|
||||||
|
5 | LETTER '=' expr
|
||||||
|
|
||||||
|
6 expr : '(' expr ')'
|
||||||
|
7 | expr '+' expr
|
||||||
|
8 | expr '-' expr
|
||||||
|
9 | expr '*' expr
|
||||||
|
10 | expr '/' expr
|
||||||
|
11 | expr '%' expr
|
||||||
|
12 | expr '&' expr
|
||||||
|
13 | expr '|' expr
|
||||||
|
14 | '-' expr
|
||||||
|
15 | LETTER
|
||||||
|
16 | number
|
||||||
|
|
||||||
|
17 number : DIGIT
|
||||||
|
18 | number DIGIT
|
||||||
|
|
||||||
|
state 0
|
||||||
|
$accept : . list $end (0)
|
||||||
|
list : . (1)
|
||||||
|
|
||||||
|
. reduce 1
|
||||||
|
|
||||||
|
list goto 1
|
||||||
|
|
||||||
|
|
||||||
|
state 1
|
||||||
|
$accept : list . $end (0)
|
||||||
|
list : list . stat '\n' (2)
|
||||||
|
list : list . error '\n' (3)
|
||||||
|
|
||||||
|
$end accept
|
||||||
|
error shift 2
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 4
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
stat goto 7
|
||||||
|
expr goto 8
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 2
|
||||||
|
list : list error . '\n' (3)
|
||||||
|
|
||||||
|
'\n' shift 10
|
||||||
|
. error
|
||||||
|
|
||||||
|
|
||||||
|
state 3
|
||||||
|
number : DIGIT . (17)
|
||||||
|
|
||||||
|
. reduce 17
|
||||||
|
|
||||||
|
|
||||||
|
state 4
|
||||||
|
stat : LETTER . '=' expr (5)
|
||||||
|
expr : LETTER . (15)
|
||||||
|
|
||||||
|
'=' shift 11
|
||||||
|
'|' reduce 15
|
||||||
|
'&' reduce 15
|
||||||
|
'+' reduce 15
|
||||||
|
'-' reduce 15
|
||||||
|
'*' reduce 15
|
||||||
|
'/' reduce 15
|
||||||
|
'%' reduce 15
|
||||||
|
'\n' reduce 15
|
||||||
|
|
||||||
|
|
||||||
|
state 5
|
||||||
|
expr : '-' . expr (14)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 13
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 6
|
||||||
|
expr : '(' . expr ')' (6)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 14
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 7
|
||||||
|
list : list stat . '\n' (2)
|
||||||
|
|
||||||
|
'\n' shift 15
|
||||||
|
. error
|
||||||
|
|
||||||
|
|
||||||
|
state 8
|
||||||
|
stat : expr . (4)
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
|
||||||
|
'|' shift 16
|
||||||
|
'&' shift 17
|
||||||
|
'+' shift 18
|
||||||
|
'-' shift 19
|
||||||
|
'*' shift 20
|
||||||
|
'/' shift 21
|
||||||
|
'%' shift 22
|
||||||
|
'\n' reduce 4
|
||||||
|
|
||||||
|
|
||||||
|
state 9
|
||||||
|
expr : number . (16)
|
||||||
|
number : number . DIGIT (18)
|
||||||
|
|
||||||
|
DIGIT shift 23
|
||||||
|
'|' reduce 16
|
||||||
|
'&' reduce 16
|
||||||
|
'+' reduce 16
|
||||||
|
'-' reduce 16
|
||||||
|
'*' reduce 16
|
||||||
|
'/' reduce 16
|
||||||
|
'%' reduce 16
|
||||||
|
'\n' reduce 16
|
||||||
|
')' reduce 16
|
||||||
|
|
||||||
|
|
||||||
|
state 10
|
||||||
|
list : list error '\n' . (3)
|
||||||
|
|
||||||
|
. reduce 3
|
||||||
|
|
||||||
|
|
||||||
|
state 11
|
||||||
|
stat : LETTER '=' . expr (5)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 24
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 12
|
||||||
|
expr : LETTER . (15)
|
||||||
|
|
||||||
|
. reduce 15
|
||||||
|
|
||||||
|
|
||||||
|
state 13
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
expr : '-' expr . (14)
|
||||||
|
|
||||||
|
. reduce 14
|
||||||
|
|
||||||
|
|
||||||
|
state 14
|
||||||
|
expr : '(' expr . ')' (6)
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
|
||||||
|
'|' shift 16
|
||||||
|
'&' shift 17
|
||||||
|
'+' shift 18
|
||||||
|
'-' shift 19
|
||||||
|
'*' shift 20
|
||||||
|
'/' shift 21
|
||||||
|
'%' shift 22
|
||||||
|
')' shift 25
|
||||||
|
. error
|
||||||
|
|
||||||
|
|
||||||
|
state 15
|
||||||
|
list : list stat '\n' . (2)
|
||||||
|
|
||||||
|
. reduce 2
|
||||||
|
|
||||||
|
|
||||||
|
state 16
|
||||||
|
expr : expr '|' . expr (13)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 26
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 17
|
||||||
|
expr : expr '&' . expr (12)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 27
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 18
|
||||||
|
expr : expr '+' . expr (7)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 28
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 19
|
||||||
|
expr : expr '-' . expr (8)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 29
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 20
|
||||||
|
expr : expr '*' . expr (9)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 30
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 21
|
||||||
|
expr : expr '/' . expr (10)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 31
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 22
|
||||||
|
expr : expr '%' . expr (11)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 32
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 23
|
||||||
|
number : number DIGIT . (18)
|
||||||
|
|
||||||
|
. reduce 18
|
||||||
|
|
||||||
|
|
||||||
|
state 24
|
||||||
|
stat : LETTER '=' expr . (5)
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
|
||||||
|
'|' shift 16
|
||||||
|
'&' shift 17
|
||||||
|
'+' shift 18
|
||||||
|
'-' shift 19
|
||||||
|
'*' shift 20
|
||||||
|
'/' shift 21
|
||||||
|
'%' shift 22
|
||||||
|
'\n' reduce 5
|
||||||
|
|
||||||
|
|
||||||
|
state 25
|
||||||
|
expr : '(' expr ')' . (6)
|
||||||
|
|
||||||
|
. reduce 6
|
||||||
|
|
||||||
|
|
||||||
|
state 26
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
expr : expr '|' expr . (13)
|
||||||
|
|
||||||
|
'&' shift 17
|
||||||
|
'+' shift 18
|
||||||
|
'-' shift 19
|
||||||
|
'*' shift 20
|
||||||
|
'/' shift 21
|
||||||
|
'%' shift 22
|
||||||
|
'|' reduce 13
|
||||||
|
'\n' reduce 13
|
||||||
|
')' reduce 13
|
||||||
|
|
||||||
|
|
||||||
|
state 27
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr '&' expr . (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
|
||||||
|
'+' shift 18
|
||||||
|
'-' shift 19
|
||||||
|
'*' shift 20
|
||||||
|
'/' shift 21
|
||||||
|
'%' shift 22
|
||||||
|
'|' reduce 12
|
||||||
|
'&' reduce 12
|
||||||
|
'\n' reduce 12
|
||||||
|
')' reduce 12
|
||||||
|
|
||||||
|
|
||||||
|
state 28
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr '+' expr . (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
|
||||||
|
'*' shift 20
|
||||||
|
'/' shift 21
|
||||||
|
'%' shift 22
|
||||||
|
'|' reduce 7
|
||||||
|
'&' reduce 7
|
||||||
|
'+' reduce 7
|
||||||
|
'-' reduce 7
|
||||||
|
'\n' reduce 7
|
||||||
|
')' reduce 7
|
||||||
|
|
||||||
|
|
||||||
|
state 29
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr '-' expr . (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
|
||||||
|
'*' shift 20
|
||||||
|
'/' shift 21
|
||||||
|
'%' shift 22
|
||||||
|
'|' reduce 8
|
||||||
|
'&' reduce 8
|
||||||
|
'+' reduce 8
|
||||||
|
'-' reduce 8
|
||||||
|
'\n' reduce 8
|
||||||
|
')' reduce 8
|
||||||
|
|
||||||
|
|
||||||
|
state 30
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr '*' expr . (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
|
||||||
|
. reduce 9
|
||||||
|
|
||||||
|
|
||||||
|
state 31
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr '/' expr . (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
|
||||||
|
. reduce 10
|
||||||
|
|
||||||
|
|
||||||
|
state 32
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr '%' expr . (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
|
||||||
|
. reduce 11
|
||||||
|
|
||||||
|
|
||||||
|
16 terminals, 5 nonterminals
|
||||||
|
19 grammar rules, 33 states
|
||||||
|
|
||||||
|
grammar parser grammar
|
||||||
|
symbol# value# symbol
|
||||||
|
0 0 $end
|
||||||
|
1 256 error
|
||||||
|
2 257 DIGIT
|
||||||
|
3 258 LETTER
|
||||||
|
4 124 '|'
|
||||||
|
5 38 '&'
|
||||||
|
6 43 '+'
|
||||||
|
7 45 '-'
|
||||||
|
8 42 '*'
|
||||||
|
9 47 '/'
|
||||||
|
10 37 '%'
|
||||||
|
11 259 UMINUS
|
||||||
|
12 10 '\n'
|
||||||
|
13 61 '='
|
||||||
|
14 40 '('
|
||||||
|
15 41 ')'
|
||||||
|
16 260 $accept
|
||||||
|
17 261 list
|
||||||
|
18 262 stat
|
||||||
|
19 263 expr
|
||||||
|
20 264 number
|
1517
test/btyacc/calc_code_all.tab.c
Normal file
1517
test/btyacc/calc_code_all.tab.c
Normal file
File diff suppressed because it is too large
Load diff
18
test/btyacc/calc_code_all.tab.h
Normal file
18
test/btyacc/calc_code_all.tab.h
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
#ifndef _calc_code_all__defines_h_
|
||||||
|
#define _calc_code_all__defines_h_
|
||||||
|
|
||||||
|
/* %code "requires" block start */
|
||||||
|
#line 3 "calc_code_all.y"
|
||||||
|
/* CODE-REQUIRES */
|
||||||
|
/* %code "requires" block end */
|
||||||
|
#define DIGIT 257
|
||||||
|
#define LETTER 258
|
||||||
|
#define UMINUS 259
|
||||||
|
/* %code "provides" block start */
|
||||||
|
#line 4 "calc_code_all.y"
|
||||||
|
/* CODE-PROVIDES */
|
||||||
|
#line 6 "calc_code_all.y"
|
||||||
|
/* CODE-PROVIDES2 */
|
||||||
|
/* %code "provides" block end */
|
||||||
|
|
||||||
|
#endif /* _calc_code_all__defines_h_ */
|
0
test/btyacc/calc_code_default.error
Normal file
0
test/btyacc/calc_code_default.error
Normal file
485
test/btyacc/calc_code_default.output
Normal file
485
test/btyacc/calc_code_default.output
Normal file
|
@ -0,0 +1,485 @@
|
||||||
|
0 $accept : list $end
|
||||||
|
|
||||||
|
1 list :
|
||||||
|
2 | list stat '\n'
|
||||||
|
3 | list error '\n'
|
||||||
|
|
||||||
|
4 stat : expr
|
||||||
|
5 | LETTER '=' expr
|
||||||
|
|
||||||
|
6 expr : '(' expr ')'
|
||||||
|
7 | expr '+' expr
|
||||||
|
8 | expr '-' expr
|
||||||
|
9 | expr '*' expr
|
||||||
|
10 | expr '/' expr
|
||||||
|
11 | expr '%' expr
|
||||||
|
12 | expr '&' expr
|
||||||
|
13 | expr '|' expr
|
||||||
|
14 | '-' expr
|
||||||
|
15 | LETTER
|
||||||
|
16 | number
|
||||||
|
|
||||||
|
17 number : DIGIT
|
||||||
|
18 | number DIGIT
|
||||||
|
|
||||||
|
state 0
|
||||||
|
$accept : . list $end (0)
|
||||||
|
list : . (1)
|
||||||
|
|
||||||
|
. reduce 1
|
||||||
|
|
||||||
|
list goto 1
|
||||||
|
|
||||||
|
|
||||||
|
state 1
|
||||||
|
$accept : list . $end (0)
|
||||||
|
list : list . stat '\n' (2)
|
||||||
|
list : list . error '\n' (3)
|
||||||
|
|
||||||
|
$end accept
|
||||||
|
error shift 2
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 4
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
stat goto 7
|
||||||
|
expr goto 8
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 2
|
||||||
|
list : list error . '\n' (3)
|
||||||
|
|
||||||
|
'\n' shift 10
|
||||||
|
. error
|
||||||
|
|
||||||
|
|
||||||
|
state 3
|
||||||
|
number : DIGIT . (17)
|
||||||
|
|
||||||
|
. reduce 17
|
||||||
|
|
||||||
|
|
||||||
|
state 4
|
||||||
|
stat : LETTER . '=' expr (5)
|
||||||
|
expr : LETTER . (15)
|
||||||
|
|
||||||
|
'=' shift 11
|
||||||
|
'|' reduce 15
|
||||||
|
'&' reduce 15
|
||||||
|
'+' reduce 15
|
||||||
|
'-' reduce 15
|
||||||
|
'*' reduce 15
|
||||||
|
'/' reduce 15
|
||||||
|
'%' reduce 15
|
||||||
|
'\n' reduce 15
|
||||||
|
|
||||||
|
|
||||||
|
state 5
|
||||||
|
expr : '-' . expr (14)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 13
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 6
|
||||||
|
expr : '(' . expr ')' (6)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 14
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 7
|
||||||
|
list : list stat . '\n' (2)
|
||||||
|
|
||||||
|
'\n' shift 15
|
||||||
|
. error
|
||||||
|
|
||||||
|
|
||||||
|
state 8
|
||||||
|
stat : expr . (4)
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
|
||||||
|
'|' shift 16
|
||||||
|
'&' shift 17
|
||||||
|
'+' shift 18
|
||||||
|
'-' shift 19
|
||||||
|
'*' shift 20
|
||||||
|
'/' shift 21
|
||||||
|
'%' shift 22
|
||||||
|
'\n' reduce 4
|
||||||
|
|
||||||
|
|
||||||
|
state 9
|
||||||
|
expr : number . (16)
|
||||||
|
number : number . DIGIT (18)
|
||||||
|
|
||||||
|
DIGIT shift 23
|
||||||
|
'|' reduce 16
|
||||||
|
'&' reduce 16
|
||||||
|
'+' reduce 16
|
||||||
|
'-' reduce 16
|
||||||
|
'*' reduce 16
|
||||||
|
'/' reduce 16
|
||||||
|
'%' reduce 16
|
||||||
|
'\n' reduce 16
|
||||||
|
')' reduce 16
|
||||||
|
|
||||||
|
|
||||||
|
state 10
|
||||||
|
list : list error '\n' . (3)
|
||||||
|
|
||||||
|
. reduce 3
|
||||||
|
|
||||||
|
|
||||||
|
state 11
|
||||||
|
stat : LETTER '=' . expr (5)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 24
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 12
|
||||||
|
expr : LETTER . (15)
|
||||||
|
|
||||||
|
. reduce 15
|
||||||
|
|
||||||
|
|
||||||
|
state 13
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
expr : '-' expr . (14)
|
||||||
|
|
||||||
|
. reduce 14
|
||||||
|
|
||||||
|
|
||||||
|
state 14
|
||||||
|
expr : '(' expr . ')' (6)
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
|
||||||
|
'|' shift 16
|
||||||
|
'&' shift 17
|
||||||
|
'+' shift 18
|
||||||
|
'-' shift 19
|
||||||
|
'*' shift 20
|
||||||
|
'/' shift 21
|
||||||
|
'%' shift 22
|
||||||
|
')' shift 25
|
||||||
|
. error
|
||||||
|
|
||||||
|
|
||||||
|
state 15
|
||||||
|
list : list stat '\n' . (2)
|
||||||
|
|
||||||
|
. reduce 2
|
||||||
|
|
||||||
|
|
||||||
|
state 16
|
||||||
|
expr : expr '|' . expr (13)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 26
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 17
|
||||||
|
expr : expr '&' . expr (12)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 27
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 18
|
||||||
|
expr : expr '+' . expr (7)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 28
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 19
|
||||||
|
expr : expr '-' . expr (8)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 29
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 20
|
||||||
|
expr : expr '*' . expr (9)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 30
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 21
|
||||||
|
expr : expr '/' . expr (10)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 31
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 22
|
||||||
|
expr : expr '%' . expr (11)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 32
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 23
|
||||||
|
number : number DIGIT . (18)
|
||||||
|
|
||||||
|
. reduce 18
|
||||||
|
|
||||||
|
|
||||||
|
state 24
|
||||||
|
stat : LETTER '=' expr . (5)
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
|
||||||
|
'|' shift 16
|
||||||
|
'&' shift 17
|
||||||
|
'+' shift 18
|
||||||
|
'-' shift 19
|
||||||
|
'*' shift 20
|
||||||
|
'/' shift 21
|
||||||
|
'%' shift 22
|
||||||
|
'\n' reduce 5
|
||||||
|
|
||||||
|
|
||||||
|
state 25
|
||||||
|
expr : '(' expr ')' . (6)
|
||||||
|
|
||||||
|
. reduce 6
|
||||||
|
|
||||||
|
|
||||||
|
state 26
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
expr : expr '|' expr . (13)
|
||||||
|
|
||||||
|
'&' shift 17
|
||||||
|
'+' shift 18
|
||||||
|
'-' shift 19
|
||||||
|
'*' shift 20
|
||||||
|
'/' shift 21
|
||||||
|
'%' shift 22
|
||||||
|
'|' reduce 13
|
||||||
|
'\n' reduce 13
|
||||||
|
')' reduce 13
|
||||||
|
|
||||||
|
|
||||||
|
state 27
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr '&' expr . (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
|
||||||
|
'+' shift 18
|
||||||
|
'-' shift 19
|
||||||
|
'*' shift 20
|
||||||
|
'/' shift 21
|
||||||
|
'%' shift 22
|
||||||
|
'|' reduce 12
|
||||||
|
'&' reduce 12
|
||||||
|
'\n' reduce 12
|
||||||
|
')' reduce 12
|
||||||
|
|
||||||
|
|
||||||
|
state 28
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr '+' expr . (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
|
||||||
|
'*' shift 20
|
||||||
|
'/' shift 21
|
||||||
|
'%' shift 22
|
||||||
|
'|' reduce 7
|
||||||
|
'&' reduce 7
|
||||||
|
'+' reduce 7
|
||||||
|
'-' reduce 7
|
||||||
|
'\n' reduce 7
|
||||||
|
')' reduce 7
|
||||||
|
|
||||||
|
|
||||||
|
state 29
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr '-' expr . (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
|
||||||
|
'*' shift 20
|
||||||
|
'/' shift 21
|
||||||
|
'%' shift 22
|
||||||
|
'|' reduce 8
|
||||||
|
'&' reduce 8
|
||||||
|
'+' reduce 8
|
||||||
|
'-' reduce 8
|
||||||
|
'\n' reduce 8
|
||||||
|
')' reduce 8
|
||||||
|
|
||||||
|
|
||||||
|
state 30
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr '*' expr . (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
|
||||||
|
. reduce 9
|
||||||
|
|
||||||
|
|
||||||
|
state 31
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr '/' expr . (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
|
||||||
|
. reduce 10
|
||||||
|
|
||||||
|
|
||||||
|
state 32
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr '%' expr . (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
|
||||||
|
. reduce 11
|
||||||
|
|
||||||
|
|
||||||
|
16 terminals, 5 nonterminals
|
||||||
|
19 grammar rules, 33 states
|
||||||
|
|
||||||
|
grammar parser grammar
|
||||||
|
symbol# value# symbol
|
||||||
|
0 0 $end
|
||||||
|
1 256 error
|
||||||
|
2 257 DIGIT
|
||||||
|
3 258 LETTER
|
||||||
|
4 124 '|'
|
||||||
|
5 38 '&'
|
||||||
|
6 43 '+'
|
||||||
|
7 45 '-'
|
||||||
|
8 42 '*'
|
||||||
|
9 47 '/'
|
||||||
|
10 37 '%'
|
||||||
|
11 259 UMINUS
|
||||||
|
12 10 '\n'
|
||||||
|
13 61 '='
|
||||||
|
14 40 '('
|
||||||
|
15 41 ')'
|
||||||
|
16 260 $accept
|
||||||
|
17 261 list
|
||||||
|
18 262 stat
|
||||||
|
19 263 expr
|
||||||
|
20 264 number
|
1497
test/btyacc/calc_code_default.tab.c
Normal file
1497
test/btyacc/calc_code_default.tab.c
Normal file
File diff suppressed because it is too large
Load diff
8
test/btyacc/calc_code_default.tab.h
Normal file
8
test/btyacc/calc_code_default.tab.h
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
#ifndef _calc_code_default__defines_h_
|
||||||
|
#define _calc_code_default__defines_h_
|
||||||
|
|
||||||
|
#define DIGIT 257
|
||||||
|
#define LETTER 258
|
||||||
|
#define UMINUS 259
|
||||||
|
|
||||||
|
#endif /* _calc_code_default__defines_h_ */
|
0
test/btyacc/calc_code_imports.error
Normal file
0
test/btyacc/calc_code_imports.error
Normal file
485
test/btyacc/calc_code_imports.output
Normal file
485
test/btyacc/calc_code_imports.output
Normal file
|
@ -0,0 +1,485 @@
|
||||||
|
0 $accept : list $end
|
||||||
|
|
||||||
|
1 list :
|
||||||
|
2 | list stat '\n'
|
||||||
|
3 | list error '\n'
|
||||||
|
|
||||||
|
4 stat : expr
|
||||||
|
5 | LETTER '=' expr
|
||||||
|
|
||||||
|
6 expr : '(' expr ')'
|
||||||
|
7 | expr '+' expr
|
||||||
|
8 | expr '-' expr
|
||||||
|
9 | expr '*' expr
|
||||||
|
10 | expr '/' expr
|
||||||
|
11 | expr '%' expr
|
||||||
|
12 | expr '&' expr
|
||||||
|
13 | expr '|' expr
|
||||||
|
14 | '-' expr
|
||||||
|
15 | LETTER
|
||||||
|
16 | number
|
||||||
|
|
||||||
|
17 number : DIGIT
|
||||||
|
18 | number DIGIT
|
||||||
|
|
||||||
|
state 0
|
||||||
|
$accept : . list $end (0)
|
||||||
|
list : . (1)
|
||||||
|
|
||||||
|
. reduce 1
|
||||||
|
|
||||||
|
list goto 1
|
||||||
|
|
||||||
|
|
||||||
|
state 1
|
||||||
|
$accept : list . $end (0)
|
||||||
|
list : list . stat '\n' (2)
|
||||||
|
list : list . error '\n' (3)
|
||||||
|
|
||||||
|
$end accept
|
||||||
|
error shift 2
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 4
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
stat goto 7
|
||||||
|
expr goto 8
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 2
|
||||||
|
list : list error . '\n' (3)
|
||||||
|
|
||||||
|
'\n' shift 10
|
||||||
|
. error
|
||||||
|
|
||||||
|
|
||||||
|
state 3
|
||||||
|
number : DIGIT . (17)
|
||||||
|
|
||||||
|
. reduce 17
|
||||||
|
|
||||||
|
|
||||||
|
state 4
|
||||||
|
stat : LETTER . '=' expr (5)
|
||||||
|
expr : LETTER . (15)
|
||||||
|
|
||||||
|
'=' shift 11
|
||||||
|
'|' reduce 15
|
||||||
|
'&' reduce 15
|
||||||
|
'+' reduce 15
|
||||||
|
'-' reduce 15
|
||||||
|
'*' reduce 15
|
||||||
|
'/' reduce 15
|
||||||
|
'%' reduce 15
|
||||||
|
'\n' reduce 15
|
||||||
|
|
||||||
|
|
||||||
|
state 5
|
||||||
|
expr : '-' . expr (14)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 13
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 6
|
||||||
|
expr : '(' . expr ')' (6)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 14
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 7
|
||||||
|
list : list stat . '\n' (2)
|
||||||
|
|
||||||
|
'\n' shift 15
|
||||||
|
. error
|
||||||
|
|
||||||
|
|
||||||
|
state 8
|
||||||
|
stat : expr . (4)
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
|
||||||
|
'|' shift 16
|
||||||
|
'&' shift 17
|
||||||
|
'+' shift 18
|
||||||
|
'-' shift 19
|
||||||
|
'*' shift 20
|
||||||
|
'/' shift 21
|
||||||
|
'%' shift 22
|
||||||
|
'\n' reduce 4
|
||||||
|
|
||||||
|
|
||||||
|
state 9
|
||||||
|
expr : number . (16)
|
||||||
|
number : number . DIGIT (18)
|
||||||
|
|
||||||
|
DIGIT shift 23
|
||||||
|
'|' reduce 16
|
||||||
|
'&' reduce 16
|
||||||
|
'+' reduce 16
|
||||||
|
'-' reduce 16
|
||||||
|
'*' reduce 16
|
||||||
|
'/' reduce 16
|
||||||
|
'%' reduce 16
|
||||||
|
'\n' reduce 16
|
||||||
|
')' reduce 16
|
||||||
|
|
||||||
|
|
||||||
|
state 10
|
||||||
|
list : list error '\n' . (3)
|
||||||
|
|
||||||
|
. reduce 3
|
||||||
|
|
||||||
|
|
||||||
|
state 11
|
||||||
|
stat : LETTER '=' . expr (5)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 24
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 12
|
||||||
|
expr : LETTER . (15)
|
||||||
|
|
||||||
|
. reduce 15
|
||||||
|
|
||||||
|
|
||||||
|
state 13
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
expr : '-' expr . (14)
|
||||||
|
|
||||||
|
. reduce 14
|
||||||
|
|
||||||
|
|
||||||
|
state 14
|
||||||
|
expr : '(' expr . ')' (6)
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
|
||||||
|
'|' shift 16
|
||||||
|
'&' shift 17
|
||||||
|
'+' shift 18
|
||||||
|
'-' shift 19
|
||||||
|
'*' shift 20
|
||||||
|
'/' shift 21
|
||||||
|
'%' shift 22
|
||||||
|
')' shift 25
|
||||||
|
. error
|
||||||
|
|
||||||
|
|
||||||
|
state 15
|
||||||
|
list : list stat '\n' . (2)
|
||||||
|
|
||||||
|
. reduce 2
|
||||||
|
|
||||||
|
|
||||||
|
state 16
|
||||||
|
expr : expr '|' . expr (13)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 26
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 17
|
||||||
|
expr : expr '&' . expr (12)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 27
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 18
|
||||||
|
expr : expr '+' . expr (7)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 28
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 19
|
||||||
|
expr : expr '-' . expr (8)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 29
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 20
|
||||||
|
expr : expr '*' . expr (9)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 30
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 21
|
||||||
|
expr : expr '/' . expr (10)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 31
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 22
|
||||||
|
expr : expr '%' . expr (11)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 32
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 23
|
||||||
|
number : number DIGIT . (18)
|
||||||
|
|
||||||
|
. reduce 18
|
||||||
|
|
||||||
|
|
||||||
|
state 24
|
||||||
|
stat : LETTER '=' expr . (5)
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
|
||||||
|
'|' shift 16
|
||||||
|
'&' shift 17
|
||||||
|
'+' shift 18
|
||||||
|
'-' shift 19
|
||||||
|
'*' shift 20
|
||||||
|
'/' shift 21
|
||||||
|
'%' shift 22
|
||||||
|
'\n' reduce 5
|
||||||
|
|
||||||
|
|
||||||
|
state 25
|
||||||
|
expr : '(' expr ')' . (6)
|
||||||
|
|
||||||
|
. reduce 6
|
||||||
|
|
||||||
|
|
||||||
|
state 26
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
expr : expr '|' expr . (13)
|
||||||
|
|
||||||
|
'&' shift 17
|
||||||
|
'+' shift 18
|
||||||
|
'-' shift 19
|
||||||
|
'*' shift 20
|
||||||
|
'/' shift 21
|
||||||
|
'%' shift 22
|
||||||
|
'|' reduce 13
|
||||||
|
'\n' reduce 13
|
||||||
|
')' reduce 13
|
||||||
|
|
||||||
|
|
||||||
|
state 27
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr '&' expr . (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
|
||||||
|
'+' shift 18
|
||||||
|
'-' shift 19
|
||||||
|
'*' shift 20
|
||||||
|
'/' shift 21
|
||||||
|
'%' shift 22
|
||||||
|
'|' reduce 12
|
||||||
|
'&' reduce 12
|
||||||
|
'\n' reduce 12
|
||||||
|
')' reduce 12
|
||||||
|
|
||||||
|
|
||||||
|
state 28
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr '+' expr . (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
|
||||||
|
'*' shift 20
|
||||||
|
'/' shift 21
|
||||||
|
'%' shift 22
|
||||||
|
'|' reduce 7
|
||||||
|
'&' reduce 7
|
||||||
|
'+' reduce 7
|
||||||
|
'-' reduce 7
|
||||||
|
'\n' reduce 7
|
||||||
|
')' reduce 7
|
||||||
|
|
||||||
|
|
||||||
|
state 29
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr '-' expr . (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
|
||||||
|
'*' shift 20
|
||||||
|
'/' shift 21
|
||||||
|
'%' shift 22
|
||||||
|
'|' reduce 8
|
||||||
|
'&' reduce 8
|
||||||
|
'+' reduce 8
|
||||||
|
'-' reduce 8
|
||||||
|
'\n' reduce 8
|
||||||
|
')' reduce 8
|
||||||
|
|
||||||
|
|
||||||
|
state 30
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr '*' expr . (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
|
||||||
|
. reduce 9
|
||||||
|
|
||||||
|
|
||||||
|
state 31
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr '/' expr . (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
|
||||||
|
. reduce 10
|
||||||
|
|
||||||
|
|
||||||
|
state 32
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr '%' expr . (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
|
||||||
|
. reduce 11
|
||||||
|
|
||||||
|
|
||||||
|
16 terminals, 5 nonterminals
|
||||||
|
19 grammar rules, 33 states
|
||||||
|
|
||||||
|
grammar parser grammar
|
||||||
|
symbol# value# symbol
|
||||||
|
0 0 $end
|
||||||
|
1 256 error
|
||||||
|
2 257 DIGIT
|
||||||
|
3 258 LETTER
|
||||||
|
4 124 '|'
|
||||||
|
5 38 '&'
|
||||||
|
6 43 '+'
|
||||||
|
7 45 '-'
|
||||||
|
8 42 '*'
|
||||||
|
9 47 '/'
|
||||||
|
10 37 '%'
|
||||||
|
11 259 UMINUS
|
||||||
|
12 10 '\n'
|
||||||
|
13 61 '='
|
||||||
|
14 40 '('
|
||||||
|
15 41 ')'
|
||||||
|
16 260 $accept
|
||||||
|
17 261 list
|
||||||
|
18 262 stat
|
||||||
|
19 263 expr
|
||||||
|
20 264 number
|
1489
test/btyacc/calc_code_imports.tab.c
Normal file
1489
test/btyacc/calc_code_imports.tab.c
Normal file
File diff suppressed because it is too large
Load diff
8
test/btyacc/calc_code_imports.tab.h
Normal file
8
test/btyacc/calc_code_imports.tab.h
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
#ifndef _calc_code_imports__defines_h_
|
||||||
|
#define _calc_code_imports__defines_h_
|
||||||
|
|
||||||
|
#define DIGIT 257
|
||||||
|
#define LETTER 258
|
||||||
|
#define UMINUS 259
|
||||||
|
|
||||||
|
#endif /* _calc_code_imports__defines_h_ */
|
0
test/btyacc/calc_code_provides.error
Normal file
0
test/btyacc/calc_code_provides.error
Normal file
485
test/btyacc/calc_code_provides.output
Normal file
485
test/btyacc/calc_code_provides.output
Normal file
|
@ -0,0 +1,485 @@
|
||||||
|
0 $accept : list $end
|
||||||
|
|
||||||
|
1 list :
|
||||||
|
2 | list stat '\n'
|
||||||
|
3 | list error '\n'
|
||||||
|
|
||||||
|
4 stat : expr
|
||||||
|
5 | LETTER '=' expr
|
||||||
|
|
||||||
|
6 expr : '(' expr ')'
|
||||||
|
7 | expr '+' expr
|
||||||
|
8 | expr '-' expr
|
||||||
|
9 | expr '*' expr
|
||||||
|
10 | expr '/' expr
|
||||||
|
11 | expr '%' expr
|
||||||
|
12 | expr '&' expr
|
||||||
|
13 | expr '|' expr
|
||||||
|
14 | '-' expr
|
||||||
|
15 | LETTER
|
||||||
|
16 | number
|
||||||
|
|
||||||
|
17 number : DIGIT
|
||||||
|
18 | number DIGIT
|
||||||
|
|
||||||
|
state 0
|
||||||
|
$accept : . list $end (0)
|
||||||
|
list : . (1)
|
||||||
|
|
||||||
|
. reduce 1
|
||||||
|
|
||||||
|
list goto 1
|
||||||
|
|
||||||
|
|
||||||
|
state 1
|
||||||
|
$accept : list . $end (0)
|
||||||
|
list : list . stat '\n' (2)
|
||||||
|
list : list . error '\n' (3)
|
||||||
|
|
||||||
|
$end accept
|
||||||
|
error shift 2
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 4
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
stat goto 7
|
||||||
|
expr goto 8
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 2
|
||||||
|
list : list error . '\n' (3)
|
||||||
|
|
||||||
|
'\n' shift 10
|
||||||
|
. error
|
||||||
|
|
||||||
|
|
||||||
|
state 3
|
||||||
|
number : DIGIT . (17)
|
||||||
|
|
||||||
|
. reduce 17
|
||||||
|
|
||||||
|
|
||||||
|
state 4
|
||||||
|
stat : LETTER . '=' expr (5)
|
||||||
|
expr : LETTER . (15)
|
||||||
|
|
||||||
|
'=' shift 11
|
||||||
|
'|' reduce 15
|
||||||
|
'&' reduce 15
|
||||||
|
'+' reduce 15
|
||||||
|
'-' reduce 15
|
||||||
|
'*' reduce 15
|
||||||
|
'/' reduce 15
|
||||||
|
'%' reduce 15
|
||||||
|
'\n' reduce 15
|
||||||
|
|
||||||
|
|
||||||
|
state 5
|
||||||
|
expr : '-' . expr (14)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 13
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 6
|
||||||
|
expr : '(' . expr ')' (6)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 14
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 7
|
||||||
|
list : list stat . '\n' (2)
|
||||||
|
|
||||||
|
'\n' shift 15
|
||||||
|
. error
|
||||||
|
|
||||||
|
|
||||||
|
state 8
|
||||||
|
stat : expr . (4)
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
|
||||||
|
'|' shift 16
|
||||||
|
'&' shift 17
|
||||||
|
'+' shift 18
|
||||||
|
'-' shift 19
|
||||||
|
'*' shift 20
|
||||||
|
'/' shift 21
|
||||||
|
'%' shift 22
|
||||||
|
'\n' reduce 4
|
||||||
|
|
||||||
|
|
||||||
|
state 9
|
||||||
|
expr : number . (16)
|
||||||
|
number : number . DIGIT (18)
|
||||||
|
|
||||||
|
DIGIT shift 23
|
||||||
|
'|' reduce 16
|
||||||
|
'&' reduce 16
|
||||||
|
'+' reduce 16
|
||||||
|
'-' reduce 16
|
||||||
|
'*' reduce 16
|
||||||
|
'/' reduce 16
|
||||||
|
'%' reduce 16
|
||||||
|
'\n' reduce 16
|
||||||
|
')' reduce 16
|
||||||
|
|
||||||
|
|
||||||
|
state 10
|
||||||
|
list : list error '\n' . (3)
|
||||||
|
|
||||||
|
. reduce 3
|
||||||
|
|
||||||
|
|
||||||
|
state 11
|
||||||
|
stat : LETTER '=' . expr (5)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 24
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 12
|
||||||
|
expr : LETTER . (15)
|
||||||
|
|
||||||
|
. reduce 15
|
||||||
|
|
||||||
|
|
||||||
|
state 13
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
expr : '-' expr . (14)
|
||||||
|
|
||||||
|
. reduce 14
|
||||||
|
|
||||||
|
|
||||||
|
state 14
|
||||||
|
expr : '(' expr . ')' (6)
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
|
||||||
|
'|' shift 16
|
||||||
|
'&' shift 17
|
||||||
|
'+' shift 18
|
||||||
|
'-' shift 19
|
||||||
|
'*' shift 20
|
||||||
|
'/' shift 21
|
||||||
|
'%' shift 22
|
||||||
|
')' shift 25
|
||||||
|
. error
|
||||||
|
|
||||||
|
|
||||||
|
state 15
|
||||||
|
list : list stat '\n' . (2)
|
||||||
|
|
||||||
|
. reduce 2
|
||||||
|
|
||||||
|
|
||||||
|
state 16
|
||||||
|
expr : expr '|' . expr (13)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 26
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 17
|
||||||
|
expr : expr '&' . expr (12)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 27
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 18
|
||||||
|
expr : expr '+' . expr (7)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 28
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 19
|
||||||
|
expr : expr '-' . expr (8)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 29
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 20
|
||||||
|
expr : expr '*' . expr (9)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 30
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 21
|
||||||
|
expr : expr '/' . expr (10)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 31
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 22
|
||||||
|
expr : expr '%' . expr (11)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 32
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 23
|
||||||
|
number : number DIGIT . (18)
|
||||||
|
|
||||||
|
. reduce 18
|
||||||
|
|
||||||
|
|
||||||
|
state 24
|
||||||
|
stat : LETTER '=' expr . (5)
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
|
||||||
|
'|' shift 16
|
||||||
|
'&' shift 17
|
||||||
|
'+' shift 18
|
||||||
|
'-' shift 19
|
||||||
|
'*' shift 20
|
||||||
|
'/' shift 21
|
||||||
|
'%' shift 22
|
||||||
|
'\n' reduce 5
|
||||||
|
|
||||||
|
|
||||||
|
state 25
|
||||||
|
expr : '(' expr ')' . (6)
|
||||||
|
|
||||||
|
. reduce 6
|
||||||
|
|
||||||
|
|
||||||
|
state 26
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
expr : expr '|' expr . (13)
|
||||||
|
|
||||||
|
'&' shift 17
|
||||||
|
'+' shift 18
|
||||||
|
'-' shift 19
|
||||||
|
'*' shift 20
|
||||||
|
'/' shift 21
|
||||||
|
'%' shift 22
|
||||||
|
'|' reduce 13
|
||||||
|
'\n' reduce 13
|
||||||
|
')' reduce 13
|
||||||
|
|
||||||
|
|
||||||
|
state 27
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr '&' expr . (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
|
||||||
|
'+' shift 18
|
||||||
|
'-' shift 19
|
||||||
|
'*' shift 20
|
||||||
|
'/' shift 21
|
||||||
|
'%' shift 22
|
||||||
|
'|' reduce 12
|
||||||
|
'&' reduce 12
|
||||||
|
'\n' reduce 12
|
||||||
|
')' reduce 12
|
||||||
|
|
||||||
|
|
||||||
|
state 28
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr '+' expr . (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
|
||||||
|
'*' shift 20
|
||||||
|
'/' shift 21
|
||||||
|
'%' shift 22
|
||||||
|
'|' reduce 7
|
||||||
|
'&' reduce 7
|
||||||
|
'+' reduce 7
|
||||||
|
'-' reduce 7
|
||||||
|
'\n' reduce 7
|
||||||
|
')' reduce 7
|
||||||
|
|
||||||
|
|
||||||
|
state 29
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr '-' expr . (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
|
||||||
|
'*' shift 20
|
||||||
|
'/' shift 21
|
||||||
|
'%' shift 22
|
||||||
|
'|' reduce 8
|
||||||
|
'&' reduce 8
|
||||||
|
'+' reduce 8
|
||||||
|
'-' reduce 8
|
||||||
|
'\n' reduce 8
|
||||||
|
')' reduce 8
|
||||||
|
|
||||||
|
|
||||||
|
state 30
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr '*' expr . (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
|
||||||
|
. reduce 9
|
||||||
|
|
||||||
|
|
||||||
|
state 31
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr '/' expr . (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
|
||||||
|
. reduce 10
|
||||||
|
|
||||||
|
|
||||||
|
state 32
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr '%' expr . (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
|
||||||
|
. reduce 11
|
||||||
|
|
||||||
|
|
||||||
|
16 terminals, 5 nonterminals
|
||||||
|
19 grammar rules, 33 states
|
||||||
|
|
||||||
|
grammar parser grammar
|
||||||
|
symbol# value# symbol
|
||||||
|
0 0 $end
|
||||||
|
1 256 error
|
||||||
|
2 257 DIGIT
|
||||||
|
3 258 LETTER
|
||||||
|
4 124 '|'
|
||||||
|
5 38 '&'
|
||||||
|
6 43 '+'
|
||||||
|
7 45 '-'
|
||||||
|
8 42 '*'
|
||||||
|
9 47 '/'
|
||||||
|
10 37 '%'
|
||||||
|
11 259 UMINUS
|
||||||
|
12 10 '\n'
|
||||||
|
13 61 '='
|
||||||
|
14 40 '('
|
||||||
|
15 41 ')'
|
||||||
|
16 260 $accept
|
||||||
|
17 261 list
|
||||||
|
18 262 stat
|
||||||
|
19 263 expr
|
||||||
|
20 264 number
|
1497
test/btyacc/calc_code_provides.tab.c
Normal file
1497
test/btyacc/calc_code_provides.tab.c
Normal file
File diff suppressed because it is too large
Load diff
14
test/btyacc/calc_code_provides.tab.h
Normal file
14
test/btyacc/calc_code_provides.tab.h
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
#ifndef _calc_code_provides__defines_h_
|
||||||
|
#define _calc_code_provides__defines_h_
|
||||||
|
|
||||||
|
#define DIGIT 257
|
||||||
|
#define LETTER 258
|
||||||
|
#define UMINUS 259
|
||||||
|
/* %code "provides" block start */
|
||||||
|
#line 1 "calc_code_provides.y"
|
||||||
|
/* CODE-PROVIDES */
|
||||||
|
#line 2 "calc_code_provides.y"
|
||||||
|
/* CODE-PROVIDES2 */
|
||||||
|
/* %code "provides" block end */
|
||||||
|
|
||||||
|
#endif /* _calc_code_provides__defines_h_ */
|
0
test/btyacc/calc_code_requires.error
Normal file
0
test/btyacc/calc_code_requires.error
Normal file
485
test/btyacc/calc_code_requires.output
Normal file
485
test/btyacc/calc_code_requires.output
Normal file
|
@ -0,0 +1,485 @@
|
||||||
|
0 $accept : list $end
|
||||||
|
|
||||||
|
1 list :
|
||||||
|
2 | list stat '\n'
|
||||||
|
3 | list error '\n'
|
||||||
|
|
||||||
|
4 stat : expr
|
||||||
|
5 | LETTER '=' expr
|
||||||
|
|
||||||
|
6 expr : '(' expr ')'
|
||||||
|
7 | expr '+' expr
|
||||||
|
8 | expr '-' expr
|
||||||
|
9 | expr '*' expr
|
||||||
|
10 | expr '/' expr
|
||||||
|
11 | expr '%' expr
|
||||||
|
12 | expr '&' expr
|
||||||
|
13 | expr '|' expr
|
||||||
|
14 | '-' expr
|
||||||
|
15 | LETTER
|
||||||
|
16 | number
|
||||||
|
|
||||||
|
17 number : DIGIT
|
||||||
|
18 | number DIGIT
|
||||||
|
|
||||||
|
state 0
|
||||||
|
$accept : . list $end (0)
|
||||||
|
list : . (1)
|
||||||
|
|
||||||
|
. reduce 1
|
||||||
|
|
||||||
|
list goto 1
|
||||||
|
|
||||||
|
|
||||||
|
state 1
|
||||||
|
$accept : list . $end (0)
|
||||||
|
list : list . stat '\n' (2)
|
||||||
|
list : list . error '\n' (3)
|
||||||
|
|
||||||
|
$end accept
|
||||||
|
error shift 2
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 4
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
stat goto 7
|
||||||
|
expr goto 8
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 2
|
||||||
|
list : list error . '\n' (3)
|
||||||
|
|
||||||
|
'\n' shift 10
|
||||||
|
. error
|
||||||
|
|
||||||
|
|
||||||
|
state 3
|
||||||
|
number : DIGIT . (17)
|
||||||
|
|
||||||
|
. reduce 17
|
||||||
|
|
||||||
|
|
||||||
|
state 4
|
||||||
|
stat : LETTER . '=' expr (5)
|
||||||
|
expr : LETTER . (15)
|
||||||
|
|
||||||
|
'=' shift 11
|
||||||
|
'|' reduce 15
|
||||||
|
'&' reduce 15
|
||||||
|
'+' reduce 15
|
||||||
|
'-' reduce 15
|
||||||
|
'*' reduce 15
|
||||||
|
'/' reduce 15
|
||||||
|
'%' reduce 15
|
||||||
|
'\n' reduce 15
|
||||||
|
|
||||||
|
|
||||||
|
state 5
|
||||||
|
expr : '-' . expr (14)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 13
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 6
|
||||||
|
expr : '(' . expr ')' (6)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 14
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 7
|
||||||
|
list : list stat . '\n' (2)
|
||||||
|
|
||||||
|
'\n' shift 15
|
||||||
|
. error
|
||||||
|
|
||||||
|
|
||||||
|
state 8
|
||||||
|
stat : expr . (4)
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
|
||||||
|
'|' shift 16
|
||||||
|
'&' shift 17
|
||||||
|
'+' shift 18
|
||||||
|
'-' shift 19
|
||||||
|
'*' shift 20
|
||||||
|
'/' shift 21
|
||||||
|
'%' shift 22
|
||||||
|
'\n' reduce 4
|
||||||
|
|
||||||
|
|
||||||
|
state 9
|
||||||
|
expr : number . (16)
|
||||||
|
number : number . DIGIT (18)
|
||||||
|
|
||||||
|
DIGIT shift 23
|
||||||
|
'|' reduce 16
|
||||||
|
'&' reduce 16
|
||||||
|
'+' reduce 16
|
||||||
|
'-' reduce 16
|
||||||
|
'*' reduce 16
|
||||||
|
'/' reduce 16
|
||||||
|
'%' reduce 16
|
||||||
|
'\n' reduce 16
|
||||||
|
')' reduce 16
|
||||||
|
|
||||||
|
|
||||||
|
state 10
|
||||||
|
list : list error '\n' . (3)
|
||||||
|
|
||||||
|
. reduce 3
|
||||||
|
|
||||||
|
|
||||||
|
state 11
|
||||||
|
stat : LETTER '=' . expr (5)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 24
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 12
|
||||||
|
expr : LETTER . (15)
|
||||||
|
|
||||||
|
. reduce 15
|
||||||
|
|
||||||
|
|
||||||
|
state 13
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
expr : '-' expr . (14)
|
||||||
|
|
||||||
|
. reduce 14
|
||||||
|
|
||||||
|
|
||||||
|
state 14
|
||||||
|
expr : '(' expr . ')' (6)
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
|
||||||
|
'|' shift 16
|
||||||
|
'&' shift 17
|
||||||
|
'+' shift 18
|
||||||
|
'-' shift 19
|
||||||
|
'*' shift 20
|
||||||
|
'/' shift 21
|
||||||
|
'%' shift 22
|
||||||
|
')' shift 25
|
||||||
|
. error
|
||||||
|
|
||||||
|
|
||||||
|
state 15
|
||||||
|
list : list stat '\n' . (2)
|
||||||
|
|
||||||
|
. reduce 2
|
||||||
|
|
||||||
|
|
||||||
|
state 16
|
||||||
|
expr : expr '|' . expr (13)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 26
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 17
|
||||||
|
expr : expr '&' . expr (12)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 27
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 18
|
||||||
|
expr : expr '+' . expr (7)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 28
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 19
|
||||||
|
expr : expr '-' . expr (8)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 29
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 20
|
||||||
|
expr : expr '*' . expr (9)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 30
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 21
|
||||||
|
expr : expr '/' . expr (10)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 31
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 22
|
||||||
|
expr : expr '%' . expr (11)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 32
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 23
|
||||||
|
number : number DIGIT . (18)
|
||||||
|
|
||||||
|
. reduce 18
|
||||||
|
|
||||||
|
|
||||||
|
state 24
|
||||||
|
stat : LETTER '=' expr . (5)
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
|
||||||
|
'|' shift 16
|
||||||
|
'&' shift 17
|
||||||
|
'+' shift 18
|
||||||
|
'-' shift 19
|
||||||
|
'*' shift 20
|
||||||
|
'/' shift 21
|
||||||
|
'%' shift 22
|
||||||
|
'\n' reduce 5
|
||||||
|
|
||||||
|
|
||||||
|
state 25
|
||||||
|
expr : '(' expr ')' . (6)
|
||||||
|
|
||||||
|
. reduce 6
|
||||||
|
|
||||||
|
|
||||||
|
state 26
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
expr : expr '|' expr . (13)
|
||||||
|
|
||||||
|
'&' shift 17
|
||||||
|
'+' shift 18
|
||||||
|
'-' shift 19
|
||||||
|
'*' shift 20
|
||||||
|
'/' shift 21
|
||||||
|
'%' shift 22
|
||||||
|
'|' reduce 13
|
||||||
|
'\n' reduce 13
|
||||||
|
')' reduce 13
|
||||||
|
|
||||||
|
|
||||||
|
state 27
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr '&' expr . (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
|
||||||
|
'+' shift 18
|
||||||
|
'-' shift 19
|
||||||
|
'*' shift 20
|
||||||
|
'/' shift 21
|
||||||
|
'%' shift 22
|
||||||
|
'|' reduce 12
|
||||||
|
'&' reduce 12
|
||||||
|
'\n' reduce 12
|
||||||
|
')' reduce 12
|
||||||
|
|
||||||
|
|
||||||
|
state 28
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr '+' expr . (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
|
||||||
|
'*' shift 20
|
||||||
|
'/' shift 21
|
||||||
|
'%' shift 22
|
||||||
|
'|' reduce 7
|
||||||
|
'&' reduce 7
|
||||||
|
'+' reduce 7
|
||||||
|
'-' reduce 7
|
||||||
|
'\n' reduce 7
|
||||||
|
')' reduce 7
|
||||||
|
|
||||||
|
|
||||||
|
state 29
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr '-' expr . (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
|
||||||
|
'*' shift 20
|
||||||
|
'/' shift 21
|
||||||
|
'%' shift 22
|
||||||
|
'|' reduce 8
|
||||||
|
'&' reduce 8
|
||||||
|
'+' reduce 8
|
||||||
|
'-' reduce 8
|
||||||
|
'\n' reduce 8
|
||||||
|
')' reduce 8
|
||||||
|
|
||||||
|
|
||||||
|
state 30
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr '*' expr . (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
|
||||||
|
. reduce 9
|
||||||
|
|
||||||
|
|
||||||
|
state 31
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr '/' expr . (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
|
||||||
|
. reduce 10
|
||||||
|
|
||||||
|
|
||||||
|
state 32
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr '%' expr . (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
|
||||||
|
. reduce 11
|
||||||
|
|
||||||
|
|
||||||
|
16 terminals, 5 nonterminals
|
||||||
|
19 grammar rules, 33 states
|
||||||
|
|
||||||
|
grammar parser grammar
|
||||||
|
symbol# value# symbol
|
||||||
|
0 0 $end
|
||||||
|
1 256 error
|
||||||
|
2 257 DIGIT
|
||||||
|
3 258 LETTER
|
||||||
|
4 124 '|'
|
||||||
|
5 38 '&'
|
||||||
|
6 43 '+'
|
||||||
|
7 45 '-'
|
||||||
|
8 42 '*'
|
||||||
|
9 47 '/'
|
||||||
|
10 37 '%'
|
||||||
|
11 259 UMINUS
|
||||||
|
12 10 '\n'
|
||||||
|
13 61 '='
|
||||||
|
14 40 '('
|
||||||
|
15 41 ')'
|
||||||
|
16 260 $accept
|
||||||
|
17 261 list
|
||||||
|
18 262 stat
|
||||||
|
19 263 expr
|
||||||
|
20 264 number
|
1497
test/btyacc/calc_code_requires.tab.c
Normal file
1497
test/btyacc/calc_code_requires.tab.c
Normal file
File diff suppressed because it is too large
Load diff
14
test/btyacc/calc_code_requires.tab.h
Normal file
14
test/btyacc/calc_code_requires.tab.h
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
#ifndef _calc_code_requires__defines_h_
|
||||||
|
#define _calc_code_requires__defines_h_
|
||||||
|
|
||||||
|
/* %code "requires" block start */
|
||||||
|
#line 1 "calc_code_requires.y"
|
||||||
|
/* CODE-REQUIRES */
|
||||||
|
#line 2 "calc_code_requires.y"
|
||||||
|
/* CODE-REQUIRES2 */
|
||||||
|
/* %code "requires" block end */
|
||||||
|
#define DIGIT 257
|
||||||
|
#define LETTER 258
|
||||||
|
#define UMINUS 259
|
||||||
|
|
||||||
|
#endif /* _calc_code_requires__defines_h_ */
|
0
test/btyacc/calc_code_top.error
Normal file
0
test/btyacc/calc_code_top.error
Normal file
485
test/btyacc/calc_code_top.output
Normal file
485
test/btyacc/calc_code_top.output
Normal file
|
@ -0,0 +1,485 @@
|
||||||
|
0 $accept : list $end
|
||||||
|
|
||||||
|
1 list :
|
||||||
|
2 | list stat '\n'
|
||||||
|
3 | list error '\n'
|
||||||
|
|
||||||
|
4 stat : expr
|
||||||
|
5 | LETTER '=' expr
|
||||||
|
|
||||||
|
6 expr : '(' expr ')'
|
||||||
|
7 | expr '+' expr
|
||||||
|
8 | expr '-' expr
|
||||||
|
9 | expr '*' expr
|
||||||
|
10 | expr '/' expr
|
||||||
|
11 | expr '%' expr
|
||||||
|
12 | expr '&' expr
|
||||||
|
13 | expr '|' expr
|
||||||
|
14 | '-' expr
|
||||||
|
15 | LETTER
|
||||||
|
16 | number
|
||||||
|
|
||||||
|
17 number : DIGIT
|
||||||
|
18 | number DIGIT
|
||||||
|
|
||||||
|
state 0
|
||||||
|
$accept : . list $end (0)
|
||||||
|
list : . (1)
|
||||||
|
|
||||||
|
. reduce 1
|
||||||
|
|
||||||
|
list goto 1
|
||||||
|
|
||||||
|
|
||||||
|
state 1
|
||||||
|
$accept : list . $end (0)
|
||||||
|
list : list . stat '\n' (2)
|
||||||
|
list : list . error '\n' (3)
|
||||||
|
|
||||||
|
$end accept
|
||||||
|
error shift 2
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 4
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
stat goto 7
|
||||||
|
expr goto 8
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 2
|
||||||
|
list : list error . '\n' (3)
|
||||||
|
|
||||||
|
'\n' shift 10
|
||||||
|
. error
|
||||||
|
|
||||||
|
|
||||||
|
state 3
|
||||||
|
number : DIGIT . (17)
|
||||||
|
|
||||||
|
. reduce 17
|
||||||
|
|
||||||
|
|
||||||
|
state 4
|
||||||
|
stat : LETTER . '=' expr (5)
|
||||||
|
expr : LETTER . (15)
|
||||||
|
|
||||||
|
'=' shift 11
|
||||||
|
'|' reduce 15
|
||||||
|
'&' reduce 15
|
||||||
|
'+' reduce 15
|
||||||
|
'-' reduce 15
|
||||||
|
'*' reduce 15
|
||||||
|
'/' reduce 15
|
||||||
|
'%' reduce 15
|
||||||
|
'\n' reduce 15
|
||||||
|
|
||||||
|
|
||||||
|
state 5
|
||||||
|
expr : '-' . expr (14)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 13
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 6
|
||||||
|
expr : '(' . expr ')' (6)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 14
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 7
|
||||||
|
list : list stat . '\n' (2)
|
||||||
|
|
||||||
|
'\n' shift 15
|
||||||
|
. error
|
||||||
|
|
||||||
|
|
||||||
|
state 8
|
||||||
|
stat : expr . (4)
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
|
||||||
|
'|' shift 16
|
||||||
|
'&' shift 17
|
||||||
|
'+' shift 18
|
||||||
|
'-' shift 19
|
||||||
|
'*' shift 20
|
||||||
|
'/' shift 21
|
||||||
|
'%' shift 22
|
||||||
|
'\n' reduce 4
|
||||||
|
|
||||||
|
|
||||||
|
state 9
|
||||||
|
expr : number . (16)
|
||||||
|
number : number . DIGIT (18)
|
||||||
|
|
||||||
|
DIGIT shift 23
|
||||||
|
'|' reduce 16
|
||||||
|
'&' reduce 16
|
||||||
|
'+' reduce 16
|
||||||
|
'-' reduce 16
|
||||||
|
'*' reduce 16
|
||||||
|
'/' reduce 16
|
||||||
|
'%' reduce 16
|
||||||
|
'\n' reduce 16
|
||||||
|
')' reduce 16
|
||||||
|
|
||||||
|
|
||||||
|
state 10
|
||||||
|
list : list error '\n' . (3)
|
||||||
|
|
||||||
|
. reduce 3
|
||||||
|
|
||||||
|
|
||||||
|
state 11
|
||||||
|
stat : LETTER '=' . expr (5)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 24
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 12
|
||||||
|
expr : LETTER . (15)
|
||||||
|
|
||||||
|
. reduce 15
|
||||||
|
|
||||||
|
|
||||||
|
state 13
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
expr : '-' expr . (14)
|
||||||
|
|
||||||
|
. reduce 14
|
||||||
|
|
||||||
|
|
||||||
|
state 14
|
||||||
|
expr : '(' expr . ')' (6)
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
|
||||||
|
'|' shift 16
|
||||||
|
'&' shift 17
|
||||||
|
'+' shift 18
|
||||||
|
'-' shift 19
|
||||||
|
'*' shift 20
|
||||||
|
'/' shift 21
|
||||||
|
'%' shift 22
|
||||||
|
')' shift 25
|
||||||
|
. error
|
||||||
|
|
||||||
|
|
||||||
|
state 15
|
||||||
|
list : list stat '\n' . (2)
|
||||||
|
|
||||||
|
. reduce 2
|
||||||
|
|
||||||
|
|
||||||
|
state 16
|
||||||
|
expr : expr '|' . expr (13)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 26
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 17
|
||||||
|
expr : expr '&' . expr (12)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 27
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 18
|
||||||
|
expr : expr '+' . expr (7)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 28
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 19
|
||||||
|
expr : expr '-' . expr (8)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 29
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 20
|
||||||
|
expr : expr '*' . expr (9)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 30
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 21
|
||||||
|
expr : expr '/' . expr (10)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 31
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 22
|
||||||
|
expr : expr '%' . expr (11)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 32
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 23
|
||||||
|
number : number DIGIT . (18)
|
||||||
|
|
||||||
|
. reduce 18
|
||||||
|
|
||||||
|
|
||||||
|
state 24
|
||||||
|
stat : LETTER '=' expr . (5)
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
|
||||||
|
'|' shift 16
|
||||||
|
'&' shift 17
|
||||||
|
'+' shift 18
|
||||||
|
'-' shift 19
|
||||||
|
'*' shift 20
|
||||||
|
'/' shift 21
|
||||||
|
'%' shift 22
|
||||||
|
'\n' reduce 5
|
||||||
|
|
||||||
|
|
||||||
|
state 25
|
||||||
|
expr : '(' expr ')' . (6)
|
||||||
|
|
||||||
|
. reduce 6
|
||||||
|
|
||||||
|
|
||||||
|
state 26
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
expr : expr '|' expr . (13)
|
||||||
|
|
||||||
|
'&' shift 17
|
||||||
|
'+' shift 18
|
||||||
|
'-' shift 19
|
||||||
|
'*' shift 20
|
||||||
|
'/' shift 21
|
||||||
|
'%' shift 22
|
||||||
|
'|' reduce 13
|
||||||
|
'\n' reduce 13
|
||||||
|
')' reduce 13
|
||||||
|
|
||||||
|
|
||||||
|
state 27
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr '&' expr . (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
|
||||||
|
'+' shift 18
|
||||||
|
'-' shift 19
|
||||||
|
'*' shift 20
|
||||||
|
'/' shift 21
|
||||||
|
'%' shift 22
|
||||||
|
'|' reduce 12
|
||||||
|
'&' reduce 12
|
||||||
|
'\n' reduce 12
|
||||||
|
')' reduce 12
|
||||||
|
|
||||||
|
|
||||||
|
state 28
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr '+' expr . (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
|
||||||
|
'*' shift 20
|
||||||
|
'/' shift 21
|
||||||
|
'%' shift 22
|
||||||
|
'|' reduce 7
|
||||||
|
'&' reduce 7
|
||||||
|
'+' reduce 7
|
||||||
|
'-' reduce 7
|
||||||
|
'\n' reduce 7
|
||||||
|
')' reduce 7
|
||||||
|
|
||||||
|
|
||||||
|
state 29
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr '-' expr . (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
|
||||||
|
'*' shift 20
|
||||||
|
'/' shift 21
|
||||||
|
'%' shift 22
|
||||||
|
'|' reduce 8
|
||||||
|
'&' reduce 8
|
||||||
|
'+' reduce 8
|
||||||
|
'-' reduce 8
|
||||||
|
'\n' reduce 8
|
||||||
|
')' reduce 8
|
||||||
|
|
||||||
|
|
||||||
|
state 30
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr '*' expr . (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
|
||||||
|
. reduce 9
|
||||||
|
|
||||||
|
|
||||||
|
state 31
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr '/' expr . (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
|
||||||
|
. reduce 10
|
||||||
|
|
||||||
|
|
||||||
|
state 32
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr '%' expr . (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
|
||||||
|
. reduce 11
|
||||||
|
|
||||||
|
|
||||||
|
16 terminals, 5 nonterminals
|
||||||
|
19 grammar rules, 33 states
|
||||||
|
|
||||||
|
grammar parser grammar
|
||||||
|
symbol# value# symbol
|
||||||
|
0 0 $end
|
||||||
|
1 256 error
|
||||||
|
2 257 DIGIT
|
||||||
|
3 258 LETTER
|
||||||
|
4 124 '|'
|
||||||
|
5 38 '&'
|
||||||
|
6 43 '+'
|
||||||
|
7 45 '-'
|
||||||
|
8 42 '*'
|
||||||
|
9 47 '/'
|
||||||
|
10 37 '%'
|
||||||
|
11 259 UMINUS
|
||||||
|
12 10 '\n'
|
||||||
|
13 61 '='
|
||||||
|
14 40 '('
|
||||||
|
15 41 ')'
|
||||||
|
16 260 $accept
|
||||||
|
17 261 list
|
||||||
|
18 262 stat
|
||||||
|
19 263 expr
|
||||||
|
20 264 number
|
1497
test/btyacc/calc_code_top.tab.c
Normal file
1497
test/btyacc/calc_code_top.tab.c
Normal file
File diff suppressed because it is too large
Load diff
8
test/btyacc/calc_code_top.tab.h
Normal file
8
test/btyacc/calc_code_top.tab.h
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
#ifndef _calc_code_top__defines_h_
|
||||||
|
#define _calc_code_top__defines_h_
|
||||||
|
|
||||||
|
#define DIGIT 257
|
||||||
|
#define LETTER 258
|
||||||
|
#define UMINUS 259
|
||||||
|
|
||||||
|
#endif /* _calc_code_top__defines_h_ */
|
1362
test/btyacc/code_calc.code.c
Normal file
1362
test/btyacc/code_calc.code.c
Normal file
File diff suppressed because it is too large
Load diff
0
test/btyacc/code_calc.error
Normal file
0
test/btyacc/code_calc.error
Normal file
485
test/btyacc/code_calc.output
Normal file
485
test/btyacc/code_calc.output
Normal file
|
@ -0,0 +1,485 @@
|
||||||
|
0 $accept : list $end
|
||||||
|
|
||||||
|
1 list :
|
||||||
|
2 | list stat '\n'
|
||||||
|
3 | list error '\n'
|
||||||
|
|
||||||
|
4 stat : expr
|
||||||
|
5 | LETTER '=' expr
|
||||||
|
|
||||||
|
6 expr : '(' expr ')'
|
||||||
|
7 | expr '+' expr
|
||||||
|
8 | expr '-' expr
|
||||||
|
9 | expr '*' expr
|
||||||
|
10 | expr '/' expr
|
||||||
|
11 | expr '%' expr
|
||||||
|
12 | expr '&' expr
|
||||||
|
13 | expr '|' expr
|
||||||
|
14 | '-' expr
|
||||||
|
15 | LETTER
|
||||||
|
16 | number
|
||||||
|
|
||||||
|
17 number : DIGIT
|
||||||
|
18 | number DIGIT
|
||||||
|
|
||||||
|
state 0
|
||||||
|
$accept : . list $end (0)
|
||||||
|
list : . (1)
|
||||||
|
|
||||||
|
. reduce 1
|
||||||
|
|
||||||
|
list goto 1
|
||||||
|
|
||||||
|
|
||||||
|
state 1
|
||||||
|
$accept : list . $end (0)
|
||||||
|
list : list . stat '\n' (2)
|
||||||
|
list : list . error '\n' (3)
|
||||||
|
|
||||||
|
$end accept
|
||||||
|
error shift 2
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 4
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
stat goto 7
|
||||||
|
expr goto 8
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 2
|
||||||
|
list : list error . '\n' (3)
|
||||||
|
|
||||||
|
'\n' shift 10
|
||||||
|
. error
|
||||||
|
|
||||||
|
|
||||||
|
state 3
|
||||||
|
number : DIGIT . (17)
|
||||||
|
|
||||||
|
. reduce 17
|
||||||
|
|
||||||
|
|
||||||
|
state 4
|
||||||
|
stat : LETTER . '=' expr (5)
|
||||||
|
expr : LETTER . (15)
|
||||||
|
|
||||||
|
'=' shift 11
|
||||||
|
'|' reduce 15
|
||||||
|
'&' reduce 15
|
||||||
|
'+' reduce 15
|
||||||
|
'-' reduce 15
|
||||||
|
'*' reduce 15
|
||||||
|
'/' reduce 15
|
||||||
|
'%' reduce 15
|
||||||
|
'\n' reduce 15
|
||||||
|
|
||||||
|
|
||||||
|
state 5
|
||||||
|
expr : '-' . expr (14)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 13
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 6
|
||||||
|
expr : '(' . expr ')' (6)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 14
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 7
|
||||||
|
list : list stat . '\n' (2)
|
||||||
|
|
||||||
|
'\n' shift 15
|
||||||
|
. error
|
||||||
|
|
||||||
|
|
||||||
|
state 8
|
||||||
|
stat : expr . (4)
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
|
||||||
|
'|' shift 16
|
||||||
|
'&' shift 17
|
||||||
|
'+' shift 18
|
||||||
|
'-' shift 19
|
||||||
|
'*' shift 20
|
||||||
|
'/' shift 21
|
||||||
|
'%' shift 22
|
||||||
|
'\n' reduce 4
|
||||||
|
|
||||||
|
|
||||||
|
state 9
|
||||||
|
expr : number . (16)
|
||||||
|
number : number . DIGIT (18)
|
||||||
|
|
||||||
|
DIGIT shift 23
|
||||||
|
'|' reduce 16
|
||||||
|
'&' reduce 16
|
||||||
|
'+' reduce 16
|
||||||
|
'-' reduce 16
|
||||||
|
'*' reduce 16
|
||||||
|
'/' reduce 16
|
||||||
|
'%' reduce 16
|
||||||
|
'\n' reduce 16
|
||||||
|
')' reduce 16
|
||||||
|
|
||||||
|
|
||||||
|
state 10
|
||||||
|
list : list error '\n' . (3)
|
||||||
|
|
||||||
|
. reduce 3
|
||||||
|
|
||||||
|
|
||||||
|
state 11
|
||||||
|
stat : LETTER '=' . expr (5)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 24
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 12
|
||||||
|
expr : LETTER . (15)
|
||||||
|
|
||||||
|
. reduce 15
|
||||||
|
|
||||||
|
|
||||||
|
state 13
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
expr : '-' expr . (14)
|
||||||
|
|
||||||
|
. reduce 14
|
||||||
|
|
||||||
|
|
||||||
|
state 14
|
||||||
|
expr : '(' expr . ')' (6)
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
|
||||||
|
'|' shift 16
|
||||||
|
'&' shift 17
|
||||||
|
'+' shift 18
|
||||||
|
'-' shift 19
|
||||||
|
'*' shift 20
|
||||||
|
'/' shift 21
|
||||||
|
'%' shift 22
|
||||||
|
')' shift 25
|
||||||
|
. error
|
||||||
|
|
||||||
|
|
||||||
|
state 15
|
||||||
|
list : list stat '\n' . (2)
|
||||||
|
|
||||||
|
. reduce 2
|
||||||
|
|
||||||
|
|
||||||
|
state 16
|
||||||
|
expr : expr '|' . expr (13)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 26
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 17
|
||||||
|
expr : expr '&' . expr (12)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 27
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 18
|
||||||
|
expr : expr '+' . expr (7)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 28
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 19
|
||||||
|
expr : expr '-' . expr (8)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 29
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 20
|
||||||
|
expr : expr '*' . expr (9)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 30
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 21
|
||||||
|
expr : expr '/' . expr (10)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 31
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 22
|
||||||
|
expr : expr '%' . expr (11)
|
||||||
|
|
||||||
|
DIGIT shift 3
|
||||||
|
LETTER shift 12
|
||||||
|
'-' shift 5
|
||||||
|
'(' shift 6
|
||||||
|
. error
|
||||||
|
|
||||||
|
expr goto 32
|
||||||
|
number goto 9
|
||||||
|
|
||||||
|
|
||||||
|
state 23
|
||||||
|
number : number DIGIT . (18)
|
||||||
|
|
||||||
|
. reduce 18
|
||||||
|
|
||||||
|
|
||||||
|
state 24
|
||||||
|
stat : LETTER '=' expr . (5)
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
|
||||||
|
'|' shift 16
|
||||||
|
'&' shift 17
|
||||||
|
'+' shift 18
|
||||||
|
'-' shift 19
|
||||||
|
'*' shift 20
|
||||||
|
'/' shift 21
|
||||||
|
'%' shift 22
|
||||||
|
'\n' reduce 5
|
||||||
|
|
||||||
|
|
||||||
|
state 25
|
||||||
|
expr : '(' expr ')' . (6)
|
||||||
|
|
||||||
|
. reduce 6
|
||||||
|
|
||||||
|
|
||||||
|
state 26
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
expr : expr '|' expr . (13)
|
||||||
|
|
||||||
|
'&' shift 17
|
||||||
|
'+' shift 18
|
||||||
|
'-' shift 19
|
||||||
|
'*' shift 20
|
||||||
|
'/' shift 21
|
||||||
|
'%' shift 22
|
||||||
|
'|' reduce 13
|
||||||
|
'\n' reduce 13
|
||||||
|
')' reduce 13
|
||||||
|
|
||||||
|
|
||||||
|
state 27
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr '&' expr . (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
|
||||||
|
'+' shift 18
|
||||||
|
'-' shift 19
|
||||||
|
'*' shift 20
|
||||||
|
'/' shift 21
|
||||||
|
'%' shift 22
|
||||||
|
'|' reduce 12
|
||||||
|
'&' reduce 12
|
||||||
|
'\n' reduce 12
|
||||||
|
')' reduce 12
|
||||||
|
|
||||||
|
|
||||||
|
state 28
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr '+' expr . (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
|
||||||
|
'*' shift 20
|
||||||
|
'/' shift 21
|
||||||
|
'%' shift 22
|
||||||
|
'|' reduce 7
|
||||||
|
'&' reduce 7
|
||||||
|
'+' reduce 7
|
||||||
|
'-' reduce 7
|
||||||
|
'\n' reduce 7
|
||||||
|
')' reduce 7
|
||||||
|
|
||||||
|
|
||||||
|
state 29
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr '-' expr . (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
|
||||||
|
'*' shift 20
|
||||||
|
'/' shift 21
|
||||||
|
'%' shift 22
|
||||||
|
'|' reduce 8
|
||||||
|
'&' reduce 8
|
||||||
|
'+' reduce 8
|
||||||
|
'-' reduce 8
|
||||||
|
'\n' reduce 8
|
||||||
|
')' reduce 8
|
||||||
|
|
||||||
|
|
||||||
|
state 30
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr '*' expr . (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
|
||||||
|
. reduce 9
|
||||||
|
|
||||||
|
|
||||||
|
state 31
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr '/' expr . (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
|
||||||
|
. reduce 10
|
||||||
|
|
||||||
|
|
||||||
|
state 32
|
||||||
|
expr : expr . '+' expr (7)
|
||||||
|
expr : expr . '-' expr (8)
|
||||||
|
expr : expr . '*' expr (9)
|
||||||
|
expr : expr . '/' expr (10)
|
||||||
|
expr : expr . '%' expr (11)
|
||||||
|
expr : expr '%' expr . (11)
|
||||||
|
expr : expr . '&' expr (12)
|
||||||
|
expr : expr . '|' expr (13)
|
||||||
|
|
||||||
|
. reduce 11
|
||||||
|
|
||||||
|
|
||||||
|
16 terminals, 5 nonterminals
|
||||||
|
19 grammar rules, 33 states
|
||||||
|
|
||||||
|
grammar parser grammar
|
||||||
|
symbol# value# symbol
|
||||||
|
0 0 $end
|
||||||
|
1 256 error
|
||||||
|
2 257 DIGIT
|
||||||
|
3 258 LETTER
|
||||||
|
4 124 '|'
|
||||||
|
5 38 '&'
|
||||||
|
6 43 '+'
|
||||||
|
7 45 '-'
|
||||||
|
8 42 '*'
|
||||||
|
9 47 '/'
|
||||||
|
10 37 '%'
|
||||||
|
11 259 UMINUS
|
||||||
|
12 10 '\n'
|
||||||
|
13 61 '='
|
||||||
|
14 40 '('
|
||||||
|
15 41 ')'
|
||||||
|
16 260 $accept
|
||||||
|
17 261 list
|
||||||
|
18 262 stat
|
||||||
|
19 263 expr
|
||||||
|
20 264 number
|
165
test/btyacc/code_calc.tab.c
Normal file
165
test/btyacc/code_calc.tab.c
Normal file
|
@ -0,0 +1,165 @@
|
||||||
|
#undef YYBTYACC
|
||||||
|
#define YYBTYACC 0
|
||||||
|
#define YYDEBUGSTR YYPREFIX "debug"
|
||||||
|
typedef int YYINT;
|
||||||
|
const YYINT calc_lhs[] = { -1,
|
||||||
|
0, 0, 0, 1, 1, 2, 2, 2, 2, 2,
|
||||||
|
2, 2, 2, 2, 2, 2, 3, 3,
|
||||||
|
};
|
||||||
|
const YYINT calc_len[] = { 2,
|
||||||
|
0, 3, 3, 1, 3, 3, 3, 3, 3, 3,
|
||||||
|
3, 3, 3, 2, 1, 1, 1, 2,
|
||||||
|
};
|
||||||
|
const YYINT calc_defred[] = { 1,
|
||||||
|
0, 0, 17, 0, 0, 0, 0, 0, 0, 3,
|
||||||
|
0, 15, 14, 0, 2, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 18, 0, 6, 0, 0, 0, 0, 9,
|
||||||
|
10, 11,
|
||||||
|
};
|
||||||
|
#if defined(YYDESTRUCT_CALL) || defined(YYSTYPE_TOSTRING)
|
||||||
|
const YYINT calc_stos[] = { 0,
|
||||||
|
261, 256, 257, 258, 45, 40, 262, 263, 264, 10,
|
||||||
|
61, 258, 263, 263, 10, 124, 38, 43, 45, 42,
|
||||||
|
47, 37, 257, 263, 41, 263, 263, 263, 263, 263,
|
||||||
|
263, 263,
|
||||||
|
};
|
||||||
|
#endif /* YYDESTRUCT_CALL || YYSTYPE_TOSTRING */
|
||||||
|
const YYINT calc_dgoto[] = { 1,
|
||||||
|
7, 8, 9,
|
||||||
|
};
|
||||||
|
const YYINT calc_sindex[] = { 0,
|
||||||
|
-40, -7, 0, -55, -38, -38, 1, -29, -247, 0,
|
||||||
|
-38, 0, 0, 22, 0, -38, -38, -38, -38, -38,
|
||||||
|
-38, -38, 0, -29, 0, 51, 60, -20, -20, 0,
|
||||||
|
0, 0,
|
||||||
|
};
|
||||||
|
const YYINT calc_rindex[] = { 0,
|
||||||
|
0, 0, 0, 2, 0, 0, 0, 9, -9, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 10, 0, -6, 14, 5, 13, 0,
|
||||||
|
0, 0,
|
||||||
|
};
|
||||||
|
#if YYBTYACC
|
||||||
|
const YYINT calc_cindex[] = { 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0,
|
||||||
|
};
|
||||||
|
#endif
|
||||||
|
const YYINT calc_gindex[] = { 0,
|
||||||
|
0, 65, 0,
|
||||||
|
};
|
||||||
|
const YYINT calc_table[] = { 6,
|
||||||
|
16, 6, 10, 13, 5, 11, 5, 22, 17, 23,
|
||||||
|
15, 15, 20, 18, 7, 19, 22, 21, 4, 5,
|
||||||
|
0, 20, 8, 12, 0, 0, 21, 16, 16, 0,
|
||||||
|
0, 16, 16, 16, 13, 16, 0, 16, 15, 15,
|
||||||
|
0, 0, 7, 15, 15, 7, 15, 7, 15, 7,
|
||||||
|
8, 12, 0, 8, 12, 8, 0, 8, 22, 17,
|
||||||
|
0, 0, 25, 20, 18, 0, 19, 0, 21, 13,
|
||||||
|
14, 0, 0, 0, 0, 24, 0, 0, 0, 0,
|
||||||
|
26, 27, 28, 29, 30, 31, 32, 22, 17, 0,
|
||||||
|
0, 0, 20, 18, 16, 19, 22, 21, 0, 0,
|
||||||
|
0, 20, 18, 0, 19, 0, 21, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 16, 0, 0, 13, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 15, 0, 0, 7, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 8, 12, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 16, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 2, 3, 4, 3, 12,
|
||||||
|
};
|
||||||
|
const YYINT calc_check[] = { 40,
|
||||||
|
10, 40, 10, 10, 45, 61, 45, 37, 38, 257,
|
||||||
|
10, 10, 42, 43, 10, 45, 37, 47, 10, 10,
|
||||||
|
-1, 42, 10, 10, -1, -1, 47, 37, 38, -1,
|
||||||
|
-1, 41, 42, 43, 41, 45, -1, 47, 37, 38,
|
||||||
|
-1, -1, 38, 42, 43, 41, 45, 43, 47, 45,
|
||||||
|
38, 38, -1, 41, 41, 43, -1, 45, 37, 38,
|
||||||
|
-1, -1, 41, 42, 43, -1, 45, -1, 47, 5,
|
||||||
|
6, -1, -1, -1, -1, 11, -1, -1, -1, -1,
|
||||||
|
16, 17, 18, 19, 20, 21, 22, 37, 38, -1,
|
||||||
|
-1, -1, 42, 43, 124, 45, 37, 47, -1, -1,
|
||||||
|
-1, 42, 43, -1, 45, -1, 47, -1, -1, -1,
|
||||||
|
-1, -1, -1, -1, 124, -1, -1, 124, -1, -1,
|
||||||
|
-1, -1, -1, -1, -1, 124, -1, -1, 124, -1,
|
||||||
|
-1, -1, -1, -1, -1, -1, 124, 124, -1, -1,
|
||||||
|
-1, -1, -1, -1, -1, 124, -1, -1, -1, -1,
|
||||||
|
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||||
|
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||||
|
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||||
|
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||||
|
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||||
|
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||||
|
-1, -1, -1, -1, -1, 256, 257, 258, 257, 258,
|
||||||
|
};
|
||||||
|
#if YYBTYACC
|
||||||
|
const YYINT calc_ctable[] = { -1,
|
||||||
|
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||||
|
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||||
|
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||||
|
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||||
|
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||||
|
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||||
|
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||||
|
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||||
|
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||||
|
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||||
|
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||||
|
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||||
|
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||||
|
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||||
|
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||||
|
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||||
|
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||||
|
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||||
|
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||||
|
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||||
|
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||||
|
-1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||||
|
};
|
||||||
|
#endif
|
||||||
|
#ifndef YYDEBUG
|
||||||
|
#define YYDEBUG 0
|
||||||
|
#endif
|
||||||
|
const char *const calc_name[] = {
|
||||||
|
|
||||||
|
"$end",0,0,0,0,0,0,0,0,0,"'\\n'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,"'%'","'&'",0,"'('","')'","'*'","'+'",0,"'-'",0,"'/'",0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,"'='",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"'|'",0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,"error","DIGIT","LETTER","UMINUS","$accept","list","stat","expr","number",
|
||||||
|
"illegal-symbol",
|
||||||
|
};
|
||||||
|
#if YYDEBUG
|
||||||
|
const char *const calc_rule[] = {
|
||||||
|
"$accept : list",
|
||||||
|
"list :",
|
||||||
|
"list : list stat '\\n'",
|
||||||
|
"list : list error '\\n'",
|
||||||
|
"stat : expr",
|
||||||
|
"stat : LETTER '=' expr",
|
||||||
|
"expr : '(' expr ')'",
|
||||||
|
"expr : expr '+' expr",
|
||||||
|
"expr : expr '-' expr",
|
||||||
|
"expr : expr '*' expr",
|
||||||
|
"expr : expr '/' expr",
|
||||||
|
"expr : expr '%' expr",
|
||||||
|
"expr : expr '&' expr",
|
||||||
|
"expr : expr '|' expr",
|
||||||
|
"expr : '-' expr",
|
||||||
|
"expr : LETTER",
|
||||||
|
"expr : number",
|
||||||
|
"number : DIGIT",
|
||||||
|
"number : number DIGIT",
|
||||||
|
|
||||||
|
};
|
||||||
|
#endif
|
10
test/btyacc/code_calc.tab.h
Normal file
10
test/btyacc/code_calc.tab.h
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
#ifndef _calc__defines_h_
|
||||||
|
#define _calc__defines_h_
|
||||||
|
|
||||||
|
#define DIGIT 257
|
||||||
|
#define LETTER 258
|
||||||
|
#define UMINUS 259
|
||||||
|
#undef yytname
|
||||||
|
#define yytname yyname
|
||||||
|
|
||||||
|
#endif /* _calc__defines_h_ */
|
1256
test/btyacc/code_error.code.c
Normal file
1256
test/btyacc/code_error.code.c
Normal file
File diff suppressed because it is too large
Load diff
0
test/btyacc/code_error.error
Normal file
0
test/btyacc/code_error.error
Normal file
34
test/btyacc/code_error.output
Normal file
34
test/btyacc/code_error.output
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
0 $accept : S $end
|
||||||
|
|
||||||
|
1 S : error
|
||||||
|
|
||||||
|
state 0
|
||||||
|
$accept : . S $end (0)
|
||||||
|
|
||||||
|
error shift 1
|
||||||
|
. error
|
||||||
|
|
||||||
|
S goto 2
|
||||||
|
|
||||||
|
|
||||||
|
state 1
|
||||||
|
S : error . (1)
|
||||||
|
|
||||||
|
. reduce 1
|
||||||
|
|
||||||
|
|
||||||
|
state 2
|
||||||
|
$accept : S . $end (0)
|
||||||
|
|
||||||
|
$end accept
|
||||||
|
|
||||||
|
|
||||||
|
2 terminals, 2 nonterminals
|
||||||
|
2 grammar rules, 3 states
|
||||||
|
|
||||||
|
grammar parser grammar
|
||||||
|
symbol# value# symbol
|
||||||
|
0 0 $end
|
||||||
|
1 256 error
|
||||||
|
2 257 $accept
|
||||||
|
3 258 S
|
61
test/btyacc/code_error.tab.c
Normal file
61
test/btyacc/code_error.tab.c
Normal file
|
@ -0,0 +1,61 @@
|
||||||
|
#undef YYBTYACC
|
||||||
|
#define YYBTYACC 0
|
||||||
|
#define YYDEBUGSTR YYPREFIX "debug"
|
||||||
|
typedef int YYINT;
|
||||||
|
const YYINT error_lhs[] = { -1,
|
||||||
|
0,
|
||||||
|
};
|
||||||
|
const YYINT error_len[] = { 2,
|
||||||
|
1,
|
||||||
|
};
|
||||||
|
const YYINT error_defred[] = { 0,
|
||||||
|
1, 0,
|
||||||
|
};
|
||||||
|
#if defined(YYDESTRUCT_CALL) || defined(YYSTYPE_TOSTRING)
|
||||||
|
const YYINT error_stos[] = { 0,
|
||||||
|
256, 258,
|
||||||
|
};
|
||||||
|
#endif /* YYDESTRUCT_CALL || YYSTYPE_TOSTRING */
|
||||||
|
const YYINT error_dgoto[] = { 2,
|
||||||
|
};
|
||||||
|
const YYINT error_sindex[] = { -256,
|
||||||
|
0, 0,
|
||||||
|
};
|
||||||
|
const YYINT error_rindex[] = { 0,
|
||||||
|
0, 0,
|
||||||
|
};
|
||||||
|
#if YYBTYACC
|
||||||
|
const YYINT error_cindex[] = { 0,
|
||||||
|
0, 0,
|
||||||
|
};
|
||||||
|
#endif
|
||||||
|
const YYINT error_gindex[] = { 0,
|
||||||
|
};
|
||||||
|
const YYINT error_table[] = { 1,
|
||||||
|
};
|
||||||
|
const YYINT error_check[] = { 256,
|
||||||
|
};
|
||||||
|
#if YYBTYACC
|
||||||
|
const YYINT error_ctable[] = { -1,
|
||||||
|
};
|
||||||
|
#endif
|
||||||
|
#ifndef YYDEBUG
|
||||||
|
#define YYDEBUG 0
|
||||||
|
#endif
|
||||||
|
#if YYDEBUG
|
||||||
|
const char *const error_name[] = {
|
||||||
|
|
||||||
|
"$end",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"error","$accept","S","illegal-symbol",
|
||||||
|
};
|
||||||
|
const char *const error_rule[] = {
|
||||||
|
"$accept : S",
|
||||||
|
"S : error",
|
||||||
|
|
||||||
|
};
|
||||||
|
#endif
|
5
test/btyacc/code_error.tab.h
Normal file
5
test/btyacc/code_error.tab.h
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
#ifndef _error__defines_h_
|
||||||
|
#define _error__defines_h_
|
||||||
|
|
||||||
|
|
||||||
|
#endif /* _error__defines_h_ */
|
1396
test/btyacc/defines1.calc.c
Normal file
1396
test/btyacc/defines1.calc.c
Normal file
File diff suppressed because it is too large
Load diff
8
test/btyacc/defines1.calc.h
Normal file
8
test/btyacc/defines1.calc.h
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
#ifndef _yy_defines_h_
|
||||||
|
#define _yy_defines_h_
|
||||||
|
|
||||||
|
#define DIGIT 257
|
||||||
|
#define LETTER 258
|
||||||
|
#define UMINUS 259
|
||||||
|
|
||||||
|
#endif /* _yy_defines_h_ */
|
0
test/btyacc/defines1.error
Normal file
0
test/btyacc/defines1.error
Normal file
0
test/btyacc/defines1.output
Normal file
0
test/btyacc/defines1.output
Normal file
1396
test/btyacc/defines2.calc.c
Normal file
1396
test/btyacc/defines2.calc.c
Normal file
File diff suppressed because it is too large
Load diff
8
test/btyacc/defines2.calc.h
Normal file
8
test/btyacc/defines2.calc.h
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
#ifndef _yy_defines_h_
|
||||||
|
#define _yy_defines_h_
|
||||||
|
|
||||||
|
#define DIGIT 257
|
||||||
|
#define LETTER 258
|
||||||
|
#define UMINUS 259
|
||||||
|
|
||||||
|
#endif /* _yy_defines_h_ */
|
0
test/btyacc/defines2.error
Normal file
0
test/btyacc/defines2.error
Normal file
0
test/btyacc/defines2.output
Normal file
0
test/btyacc/defines2.output
Normal file
1396
test/btyacc/defines3.calc.c
Normal file
1396
test/btyacc/defines3.calc.c
Normal file
File diff suppressed because it is too large
Load diff
8
test/btyacc/defines3.calc.h
Normal file
8
test/btyacc/defines3.calc.h
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
#ifndef _yy_defines_h_
|
||||||
|
#define _yy_defines_h_
|
||||||
|
|
||||||
|
#define DIGIT 257
|
||||||
|
#define LETTER 258
|
||||||
|
#define UMINUS 259
|
||||||
|
|
||||||
|
#endif /* _yy_defines_h_ */
|
0
test/btyacc/defines3.error
Normal file
0
test/btyacc/defines3.error
Normal file
0
test/btyacc/defines3.output
Normal file
0
test/btyacc/defines3.output
Normal file
0
test/btyacc/empty.error
Normal file
0
test/btyacc/empty.error
Normal file
28
test/btyacc/empty.output
Normal file
28
test/btyacc/empty.output
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
0 $accept : start $end
|
||||||
|
|
||||||
|
1 start :
|
||||||
|
|
||||||
|
state 0
|
||||||
|
$accept : . start $end (0)
|
||||||
|
start : . (1)
|
||||||
|
|
||||||
|
. reduce 1
|
||||||
|
|
||||||
|
start goto 1
|
||||||
|
|
||||||
|
|
||||||
|
state 1
|
||||||
|
$accept : start . $end (0)
|
||||||
|
|
||||||
|
$end accept
|
||||||
|
|
||||||
|
|
||||||
|
2 terminals, 2 nonterminals
|
||||||
|
2 grammar rules, 2 states
|
||||||
|
|
||||||
|
grammar parser grammar
|
||||||
|
symbol# value# symbol
|
||||||
|
0 0 $end
|
||||||
|
1 256 error
|
||||||
|
2 257 $accept
|
||||||
|
3 258 start
|
1275
test/btyacc/empty.tab.c
Normal file
1275
test/btyacc/empty.tab.c
Normal file
File diff suppressed because it is too large
Load diff
5
test/btyacc/empty.tab.h
Normal file
5
test/btyacc/empty.tab.h
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
#ifndef _empty__defines_h_
|
||||||
|
#define _empty__defines_h_
|
||||||
|
|
||||||
|
|
||||||
|
#endif /* _empty__defines_h_ */
|
3
test/btyacc/err_inherit1.error
Normal file
3
test/btyacc/err_inherit1.error
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
YACC: e - line 64 of "./err_inherit1.y", unterminated argument list
|
||||||
|
namelist($c, $t
|
||||||
|
^
|
0
test/btyacc/err_inherit1.output
Normal file
0
test/btyacc/err_inherit1.output
Normal file
15
test/btyacc/err_inherit1.tab.c
Normal file
15
test/btyacc/err_inherit1.tab.c
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
/* original parser id follows */
|
||||||
|
/* yysccsid[] = "@(#)yaccpar 1.9 (Berkeley) 02/21/93" */
|
||||||
|
/* (use YYMAJOR/YYMINOR for ifdefs dependent on parser version) */
|
||||||
|
|
||||||
|
#define YYBYACC 1
|
||||||
|
#define YYMAJOR 2
|
||||||
|
#define YYMINOR 0
|
||||||
|
#define YYCHECK "yyyymmdd"
|
||||||
|
|
||||||
|
#define YYEMPTY (-1)
|
||||||
|
#define yyclearin (yychar = YYEMPTY)
|
||||||
|
#define yyerrok (yyerrflag = 0)
|
||||||
|
#define YYRECOVERING() (yyerrflag != 0)
|
||||||
|
#define YYENOMEM (-2)
|
||||||
|
#define YYEOF 0
|
0
test/btyacc/err_inherit1.tab.h
Normal file
0
test/btyacc/err_inherit1.tab.h
Normal file
5
test/btyacc/err_inherit2.error
Normal file
5
test/btyacc/err_inherit2.error
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
YACC: w - line 64 of "./err_inherit2.y", number of arguments of namelist doesn't agree with previous declaration
|
||||||
|
YACC: w - line 64 of "./err_inherit2.y", type of argument 1 to namelist doesn't agree with previous declaration
|
||||||
|
YACC: e - line 64 of "./err_inherit2.y", bad formal argument list
|
||||||
|
namelist($<tval>c, $t, extra): namelist NAME
|
||||||
|
^
|
0
test/btyacc/err_inherit2.output
Normal file
0
test/btyacc/err_inherit2.output
Normal file
15
test/btyacc/err_inherit2.tab.c
Normal file
15
test/btyacc/err_inherit2.tab.c
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
/* original parser id follows */
|
||||||
|
/* yysccsid[] = "@(#)yaccpar 1.9 (Berkeley) 02/21/93" */
|
||||||
|
/* (use YYMAJOR/YYMINOR for ifdefs dependent on parser version) */
|
||||||
|
|
||||||
|
#define YYBYACC 1
|
||||||
|
#define YYMAJOR 2
|
||||||
|
#define YYMINOR 0
|
||||||
|
#define YYCHECK "yyyymmdd"
|
||||||
|
|
||||||
|
#define YYEMPTY (-1)
|
||||||
|
#define yyclearin (yychar = YYEMPTY)
|
||||||
|
#define yyerrok (yyerrflag = 0)
|
||||||
|
#define YYRECOVERING() (yyerrflag != 0)
|
||||||
|
#define YYENOMEM (-2)
|
||||||
|
#define YYEOF 0
|
0
test/btyacc/err_inherit2.tab.h
Normal file
0
test/btyacc/err_inherit2.tab.h
Normal file
23
test/btyacc/err_inherit3.error
Normal file
23
test/btyacc/err_inherit3.error
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
YACC: w - line 64 of "./err_inherit3.y", number of arguments of namelist doesn't agree with previous declaration
|
||||||
|
YACC: w - line 64 of "./err_inherit3.y", wrong number of arguments for namelist
|
||||||
|
namelist: namelist($c) NAME
|
||||||
|
^
|
||||||
|
YACC: w - line 64 of "./err_inherit3.y", unknown argument $c
|
||||||
|
YACC: w - line 64 of "./err_inherit3.y", untyped argument $c
|
||||||
|
YACC: w - line 65 of "./err_inherit3.y", unknown argument $t
|
||||||
|
{ $$->s = mksymbol($<tval>t, $<cval>c, $2);
|
||||||
|
^
|
||||||
|
YACC: w - line 65 of "./err_inherit3.y", unknown argument $c
|
||||||
|
{ $$->s = mksymbol($<tval>t, $<cval>c, $2);
|
||||||
|
^
|
||||||
|
YACC: w - line 69 of "./err_inherit3.y", unknown argument $t
|
||||||
|
{ $$->s = mksymbol($t, $c, $1);
|
||||||
|
^
|
||||||
|
YACC: w - line 69 of "./err_inherit3.y", untyped argument $t
|
||||||
|
YACC: w - line 69 of "./err_inherit3.y", unknown argument $c
|
||||||
|
{ $$->s = mksymbol($t, $c, $1);
|
||||||
|
^
|
||||||
|
YACC: w - line 69 of "./err_inherit3.y", untyped argument $c
|
||||||
|
YACC: w - line 0 of "./err_inherit3.y", start symbol declaration requires arguments
|
||||||
|
YACC: 1 rule never reduced
|
||||||
|
YACC: 3 shift/reduce conflicts.
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue