minix/external/bsd/byacc/dist/test/btyacc/btyacc_demo.output
Lionel Sambuc 0a6a1f1d05 NetBSD re-synchronization of the source tree
This brings our tree to NetBSD 7.0, as found on -current on the
10-10-2015.

This updates:
 - LLVM to 3.6.1
 - GCC to GCC 5.1
 - Replace minix/commands/zdump with usr.bin/zdump
 - external/bsd/libelf has moved to /external/bsd/elftoolchain/
 - Import ctwm
 - Drop sprintf from libminc

Change-Id: I149836ac18e9326be9353958bab9b266efb056f0
2016-01-13 20:32:14 +01:00

1361 lines
22 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

0 $accept : input $end
1 opt_scope :
2 | CLCL
3 | opt_scope ID CLCL
4 typename : opt_scope ID
5 $$1 :
6 input : $$1 decl_list
7 decl_list :
8 $$2 :
9 decl_list : decl_list $$2 decl
10 $$3 :
11 decl : decl_specs $$2 $$3 declarator_list ';'
12 $$4 :
13 decl : decl_specs $$2 $$3 declarator $$4 block_statement
14 decl_specs : decl_spec
15 | decl_specs $$2 decl_spec
16 cv_quals :
17 | cv_quals cv_qual
18 decl_spec : cv_qual
19 | typename
20 | EXTERN
21 | REGISTER
22 | STATIC
23 cv_qual : CONST
24 | VOLATILE
25 $$5 :
26 $$6 :
27 declarator_list : declarator_list ',' $$5 $$6 declarator
28 | declarator
29 declarator :
30 | ID
31 $$7 :
32 $$8 :
33 declarator : '(' $$7 $$8 declarator ')'
34 | '*' cv_quals $$5 $$6 declarator
35 | declarator '[' $$5 expr ']'
36 | declarator '(' $$5 formal_arg_list ')' cv_quals
37 formal_arg_list :
38 | nonempty_formal_arg_list
39 nonempty_formal_arg_list : nonempty_formal_arg_list ',' $$7 formal_arg
40 | formal_arg
41 formal_arg : decl_specs $$2 $$3 declarator
42 expr : expr '+' $$7 expr
43 | expr '-' $$7 expr
44 | expr '*' $$7 expr
45 | expr '%' $$7 expr
46 | expr '/' $$7 expr
47 | '*' $$2 expr
48 | ID
49 | CONSTANT
50 statement : decl
51 $$9 :
52 statement : $$9 expr ';'
53 $$10 :
54 $$11 :
55 statement : IF '(' $$7 expr ')' THEN $$10 statement ELSE $$11 statement
56 | IF '(' $$7 expr ')' THEN $$10 statement
57 $$12 :
58 statement : $$12 block_statement
59 statement_list :
60 | statement_list $$2 statement
61 block_statement : '{' $$2 statement_list '}'
state 0
$accept : . input $end (0)
$$1 : . (5)
. reduce 5
input goto 1
$$1 goto 2
state 1
$accept : input . $end (0)
$end accept
state 2
input : $$1 . decl_list (6)
decl_list : . (7)
. reduce 7
decl_list goto 3
state 3
input : $$1 decl_list . (6)
decl_list : decl_list . $$2 decl (9)
$$2 : . (8)
$end reduce 6
ID reduce 8
EXTERN reduce 8
REGISTER reduce 8
STATIC reduce 8
CONST reduce 8
VOLATILE reduce 8
CLCL reduce 8
$$2 goto 4
state 4
decl_list : decl_list $$2 . decl (9)
opt_scope : . (1)
EXTERN shift 5
REGISTER shift 6
STATIC shift 7
CONST shift 8
VOLATILE shift 9
CLCL shift 10
ID reduce 1
decl goto 11
decl_specs goto 12
decl_spec goto 13
typename goto 14
cv_qual goto 15
opt_scope goto 16
state 5
decl_spec : EXTERN . (20)
. reduce 20
state 6
decl_spec : REGISTER . (21)
. reduce 21
state 7
decl_spec : STATIC . (22)
. reduce 22
state 8
cv_qual : CONST . (23)
. reduce 23
state 9
cv_qual : VOLATILE . (24)
. reduce 24
state 10
opt_scope : CLCL . (2)
. reduce 2
state 11
decl_list : decl_list $$2 decl . (9)
. reduce 9
state 12
decl : decl_specs . $$2 $$3 declarator_list ';' (11)
decl : decl_specs . $$2 $$3 declarator $$4 block_statement (13)
decl_specs : decl_specs . $$2 decl_spec (15)
$$2 : . (8)
. reduce 8
$$2 goto 17
state 13
decl_specs : decl_spec . (14)
. reduce 14
state 14
decl_spec : typename . (19)
. reduce 19
state 15
decl_spec : cv_qual . (18)
. reduce 18
state 16
opt_scope : opt_scope . ID CLCL (3)
typename : opt_scope . ID (4)
ID shift 18
. error
17: reduce/reduce conflict (reduce 1, reduce 10) on ID
state 17
decl : decl_specs $$2 . $$3 declarator_list ';' (11)
decl : decl_specs $$2 . $$3 declarator $$4 block_statement (13)
decl_specs : decl_specs $$2 . decl_spec (15)
opt_scope : . (1)
$$3 : . (10)
EXTERN shift 5
REGISTER shift 6
STATIC shift 7
CONST shift 8
VOLATILE shift 9
CLCL shift 10
'*' reduce 10
'(' reduce 10
'[' reduce 10
ID [trial] reduce 1
ID [trial] reduce 10
';' reduce 10
',' reduce 10
'{' reduce 10
decl_spec goto 19
typename goto 14
cv_qual goto 15
opt_scope goto 16
$$3 goto 20
18: shift/reduce conflict (shift 21, reduce 4) on CLCL
state 18
opt_scope : opt_scope ID . CLCL (3)
typename : opt_scope ID . (4)
CLCL [trial] shift 21
'*' reduce 4
'(' reduce 4
'[' reduce 4
ID reduce 4
EXTERN reduce 4
REGISTER reduce 4
STATIC reduce 4
CONST reduce 4
VOLATILE reduce 4
CLCL [trial] reduce 4
';' reduce 4
',' reduce 4
')' reduce 4
'{' reduce 4
state 19
decl_specs : decl_specs $$2 decl_spec . (15)
. reduce 15
20: shift/reduce conflict (shift 23, reduce 29) on '('
state 20
decl : decl_specs $$2 $$3 . declarator_list ';' (11)
decl : decl_specs $$2 $$3 . declarator $$4 block_statement (13)
declarator : . (29)
'*' shift 22
'(' [trial] shift 23
ID shift 24
'(' [trial] reduce 29
'[' reduce 29
';' reduce 29
',' reduce 29
'{' reduce 29
declarator_list goto 25
declarator goto 26
state 21
opt_scope : opt_scope ID CLCL . (3)
. reduce 3
state 22
declarator : '*' . cv_quals $$5 $$6 declarator (34)
cv_quals : . (16)
. reduce 16
cv_quals goto 27
state 23
declarator : '(' . $$7 $$8 declarator ')' (33)
$$7 : . (31)
. reduce 31
$$7 goto 28
state 24
declarator : ID . (30)
. reduce 30
state 25
decl : decl_specs $$2 $$3 declarator_list . ';' (11)
declarator_list : declarator_list . ',' $$5 $$6 declarator (27)
';' shift 29
',' shift 30
. error
state 26
decl : decl_specs $$2 $$3 declarator . $$4 block_statement (13)
declarator_list : declarator . (28)
declarator : declarator . '[' $$5 expr ']' (35)
declarator : declarator . '(' $$5 formal_arg_list ')' cv_quals (36)
$$4 : . (12)
'(' shift 31
'[' shift 32
';' reduce 28
',' reduce 28
'{' reduce 12
$$4 goto 33
state 27
cv_quals : cv_quals . cv_qual (17)
declarator : '*' cv_quals . $$5 $$6 declarator (34)
$$5 : . (25)
CONST shift 8
VOLATILE shift 9
'*' reduce 25
'(' reduce 25
'[' reduce 25
ID reduce 25
';' reduce 25
',' reduce 25
')' reduce 25
'{' reduce 25
cv_qual goto 34
$$5 goto 35
state 28
declarator : '(' $$7 . $$8 declarator ')' (33)
$$8 : . (32)
. reduce 32
$$8 goto 36
state 29
decl : decl_specs $$2 $$3 declarator_list ';' . (11)
. reduce 11
state 30
declarator_list : declarator_list ',' . $$5 $$6 declarator (27)
$$5 : . (25)
. reduce 25
$$5 goto 37
state 31
declarator : declarator '(' . $$5 formal_arg_list ')' cv_quals (36)
$$5 : . (25)
. reduce 25
$$5 goto 38
state 32
declarator : declarator '[' . $$5 expr ']' (35)
$$5 : . (25)
. reduce 25
$$5 goto 39
state 33
decl : decl_specs $$2 $$3 declarator $$4 . block_statement (13)
'{' shift 40
. error
block_statement goto 41
state 34
cv_quals : cv_quals cv_qual . (17)
. reduce 17
state 35
declarator : '*' cv_quals $$5 . $$6 declarator (34)
$$6 : . (26)
. reduce 26
$$6 goto 42
36: shift/reduce conflict (shift 23, reduce 29) on '('
state 36
declarator : '(' $$7 $$8 . declarator ')' (33)
declarator : . (29)
'*' shift 22
'(' [trial] shift 23
ID shift 24
'(' [trial] reduce 29
'[' reduce 29
')' reduce 29
declarator goto 43
state 37
declarator_list : declarator_list ',' $$5 . $$6 declarator (27)
$$6 : . (26)
. reduce 26
$$6 goto 44
state 38
declarator : declarator '(' $$5 . formal_arg_list ')' cv_quals (36)
opt_scope : . (1)
formal_arg_list : . (37)
EXTERN shift 5
REGISTER shift 6
STATIC shift 7
CONST shift 8
VOLATILE shift 9
CLCL shift 10
ID reduce 1
')' reduce 37
formal_arg goto 45
decl_specs goto 46
decl_spec goto 13
typename goto 14
cv_qual goto 15
opt_scope goto 16
formal_arg_list goto 47
nonempty_formal_arg_list goto 48
state 39
declarator : declarator '[' $$5 . expr ']' (35)
'*' shift 49
ID shift 50
CONSTANT shift 51
. error
expr goto 52
state 40
block_statement : '{' . $$2 statement_list '}' (61)
$$2 : . (8)
. reduce 8
$$2 goto 53
state 41
decl : decl_specs $$2 $$3 declarator $$4 block_statement . (13)
. reduce 13
42: shift/reduce conflict (shift 23, reduce 29) on '('
state 42
declarator : '*' cv_quals $$5 $$6 . declarator (34)
declarator : . (29)
'*' shift 22
'(' [trial] shift 23
ID shift 24
'(' [trial] reduce 29
'[' reduce 29
';' reduce 29
',' reduce 29
')' reduce 29
'{' reduce 29
declarator goto 54
state 43
declarator : '(' $$7 $$8 declarator . ')' (33)
declarator : declarator . '[' $$5 expr ']' (35)
declarator : declarator . '(' $$5 formal_arg_list ')' cv_quals (36)
'(' shift 31
'[' shift 32
')' shift 55
. error
44: shift/reduce conflict (shift 23, reduce 29) on '('
state 44
declarator_list : declarator_list ',' $$5 $$6 . declarator (27)
declarator : . (29)
'*' shift 22
'(' [trial] shift 23
ID shift 24
'(' [trial] reduce 29
'[' reduce 29
';' reduce 29
',' reduce 29
declarator goto 56
state 45
nonempty_formal_arg_list : formal_arg . (40)
. reduce 40
state 46
decl_specs : decl_specs . $$2 decl_spec (15)
formal_arg : decl_specs . $$2 $$3 declarator (41)
$$2 : . (8)
. reduce 8
$$2 goto 57
state 47
declarator : declarator '(' $$5 formal_arg_list . ')' cv_quals (36)
')' shift 58
. error
state 48
formal_arg_list : nonempty_formal_arg_list . (38)
nonempty_formal_arg_list : nonempty_formal_arg_list . ',' $$7 formal_arg (39)
',' shift 59
')' reduce 38
state 49
expr : '*' . $$2 expr (47)
$$2 : . (8)
. reduce 8
$$2 goto 60
state 50
expr : ID . (48)
. reduce 48
state 51
expr : CONSTANT . (49)
. reduce 49
state 52
declarator : declarator '[' $$5 expr . ']' (35)
expr : expr . '+' $$7 expr (42)
expr : expr . '-' $$7 expr (43)
expr : expr . '*' $$7 expr (44)
expr : expr . '%' $$7 expr (45)
expr : expr . '/' $$7 expr (46)
'+' shift 61
'-' shift 62
'*' shift 63
'/' shift 64
'%' shift 65
']' shift 66
. error
state 53
block_statement : '{' $$2 . statement_list '}' (61)
statement_list : . (59)
. reduce 59
statement_list goto 67
state 54
declarator : '*' cv_quals $$5 $$6 declarator . (34)
declarator : declarator . '[' $$5 expr ']' (35)
declarator : declarator . '(' $$5 formal_arg_list ')' cv_quals (36)
'(' shift 31
'[' shift 32
';' reduce 34
',' reduce 34
')' reduce 34
'{' reduce 34
state 55
declarator : '(' $$7 $$8 declarator ')' . (33)
. reduce 33
state 56
declarator_list : declarator_list ',' $$5 $$6 declarator . (27)
declarator : declarator . '[' $$5 expr ']' (35)
declarator : declarator . '(' $$5 formal_arg_list ')' cv_quals (36)
'(' shift 31
'[' shift 32
';' reduce 27
',' reduce 27
57: reduce/reduce conflict (reduce 1, reduce 10) on ID
state 57
decl_specs : decl_specs $$2 . decl_spec (15)
formal_arg : decl_specs $$2 . $$3 declarator (41)
opt_scope : . (1)
$$3 : . (10)
EXTERN shift 5
REGISTER shift 6
STATIC shift 7
CONST shift 8
VOLATILE shift 9
CLCL shift 10
'*' reduce 10
'(' reduce 10
'[' reduce 10
ID [trial] reduce 1
ID [trial] reduce 10
',' reduce 10
')' reduce 10
decl_spec goto 19
typename goto 14
cv_qual goto 15
opt_scope goto 16
$$3 goto 68
state 58
declarator : declarator '(' $$5 formal_arg_list ')' . cv_quals (36)
cv_quals : . (16)
. reduce 16
cv_quals goto 69
state 59
nonempty_formal_arg_list : nonempty_formal_arg_list ',' . $$7 formal_arg (39)
$$7 : . (31)
. reduce 31
$$7 goto 70
state 60
expr : '*' $$2 . expr (47)
'*' shift 49
ID shift 50
CONSTANT shift 51
. error
expr goto 71
state 61
expr : expr '+' . $$7 expr (42)
$$7 : . (31)
. reduce 31
$$7 goto 72
state 62
expr : expr '-' . $$7 expr (43)
$$7 : . (31)
. reduce 31
$$7 goto 73
state 63
expr : expr '*' . $$7 expr (44)
$$7 : . (31)
. reduce 31
$$7 goto 74
state 64
expr : expr '/' . $$7 expr (46)
$$7 : . (31)
. reduce 31
$$7 goto 75
state 65
expr : expr '%' . $$7 expr (45)
$$7 : . (31)
. reduce 31
$$7 goto 76
state 66
declarator : declarator '[' $$5 expr ']' . (35)
. reduce 35
state 67
statement_list : statement_list . $$2 statement (60)
block_statement : '{' $$2 statement_list . '}' (61)
$$2 : . (8)
'}' shift 77
'*' reduce 8
ID reduce 8
CONSTANT reduce 8
EXTERN reduce 8
REGISTER reduce 8
STATIC reduce 8
CONST reduce 8
VOLATILE reduce 8
IF reduce 8
CLCL reduce 8
'{' reduce 8
$$2 goto 78
68: shift/reduce conflict (shift 23, reduce 29) on '('
state 68
formal_arg : decl_specs $$2 $$3 . declarator (41)
declarator : . (29)
'*' shift 22
'(' [trial] shift 23
ID shift 24
'(' [trial] reduce 29
'[' reduce 29
',' reduce 29
')' reduce 29
declarator goto 79
state 69
cv_quals : cv_quals . cv_qual (17)
declarator : declarator '(' $$5 formal_arg_list ')' cv_quals . (36)
CONST shift 8
VOLATILE shift 9
'(' reduce 36
'[' reduce 36
';' reduce 36
',' reduce 36
')' reduce 36
'{' reduce 36
cv_qual goto 34
state 70
nonempty_formal_arg_list : nonempty_formal_arg_list ',' $$7 . formal_arg (39)
opt_scope : . (1)
EXTERN shift 5
REGISTER shift 6
STATIC shift 7
CONST shift 8
VOLATILE shift 9
CLCL shift 10
ID reduce 1
formal_arg goto 80
decl_specs goto 46
decl_spec goto 13
typename goto 14
cv_qual goto 15
opt_scope goto 16
state 71
expr : expr . '+' $$7 expr (42)
expr : expr . '-' $$7 expr (43)
expr : expr . '*' $$7 expr (44)
expr : expr . '%' $$7 expr (45)
expr : expr . '/' $$7 expr (46)
expr : '*' $$2 expr . (47)
. reduce 47
state 72
expr : expr '+' $$7 . expr (42)
'*' shift 49
ID shift 50
CONSTANT shift 51
. error
expr goto 81
state 73
expr : expr '-' $$7 . expr (43)
'*' shift 49
ID shift 50
CONSTANT shift 51
. error
expr goto 82
state 74
expr : expr '*' $$7 . expr (44)
'*' shift 49
ID shift 50
CONSTANT shift 51
. error
expr goto 83
state 75
expr : expr '/' $$7 . expr (46)
'*' shift 49
ID shift 50
CONSTANT shift 51
. error
expr goto 84
state 76
expr : expr '%' $$7 . expr (45)
'*' shift 49
ID shift 50
CONSTANT shift 51
. error
expr goto 85
state 77
block_statement : '{' $$2 statement_list '}' . (61)
. reduce 61
78: reduce/reduce conflict (reduce 1, reduce 51) on ID
state 78
statement_list : statement_list $$2 . statement (60)
opt_scope : . (1)
$$9 : . (51)
$$12 : . (57)
EXTERN shift 5
REGISTER shift 6
STATIC shift 7
CONST shift 8
VOLATILE shift 9
IF shift 86
CLCL shift 10
'*' reduce 51
ID [trial] reduce 1
ID [trial] reduce 51
CONSTANT reduce 51
'{' reduce 57
decl goto 87
statement goto 88
decl_specs goto 12
decl_spec goto 13
typename goto 14
cv_qual goto 15
opt_scope goto 16
$$9 goto 89
$$12 goto 90
state 79
declarator : declarator . '[' $$5 expr ']' (35)
declarator : declarator . '(' $$5 formal_arg_list ')' cv_quals (36)
formal_arg : decl_specs $$2 $$3 declarator . (41)
'(' shift 31
'[' shift 32
',' reduce 41
')' reduce 41
state 80
nonempty_formal_arg_list : nonempty_formal_arg_list ',' $$7 formal_arg . (39)
. reduce 39
state 81
expr : expr . '+' $$7 expr (42)
expr : expr '+' $$7 expr . (42)
expr : expr . '-' $$7 expr (43)
expr : expr . '*' $$7 expr (44)
expr : expr . '%' $$7 expr (45)
expr : expr . '/' $$7 expr (46)
'*' shift 63
'/' shift 64
'%' shift 65
'+' reduce 42
'-' reduce 42
';' reduce 42
')' reduce 42
']' reduce 42
state 82
expr : expr . '+' $$7 expr (42)
expr : expr . '-' $$7 expr (43)
expr : expr '-' $$7 expr . (43)
expr : expr . '*' $$7 expr (44)
expr : expr . '%' $$7 expr (45)
expr : expr . '/' $$7 expr (46)
'*' shift 63
'/' shift 64
'%' shift 65
'+' reduce 43
'-' reduce 43
';' reduce 43
')' reduce 43
']' reduce 43
state 83
expr : expr . '+' $$7 expr (42)
expr : expr . '-' $$7 expr (43)
expr : expr . '*' $$7 expr (44)
expr : expr '*' $$7 expr . (44)
expr : expr . '%' $$7 expr (45)
expr : expr . '/' $$7 expr (46)
. reduce 44
state 84
expr : expr . '+' $$7 expr (42)
expr : expr . '-' $$7 expr (43)
expr : expr . '*' $$7 expr (44)
expr : expr . '%' $$7 expr (45)
expr : expr . '/' $$7 expr (46)
expr : expr '/' $$7 expr . (46)
. reduce 46
state 85
expr : expr . '+' $$7 expr (42)
expr : expr . '-' $$7 expr (43)
expr : expr . '*' $$7 expr (44)
expr : expr . '%' $$7 expr (45)
expr : expr '%' $$7 expr . (45)
expr : expr . '/' $$7 expr (46)
. reduce 45
state 86
statement : IF . '(' $$7 expr ')' THEN $$10 statement ELSE $$11 statement (55)
statement : IF . '(' $$7 expr ')' THEN $$10 statement (56)
'(' shift 91
. error
state 87
statement : decl . (50)
. reduce 50
state 88
statement_list : statement_list $$2 statement . (60)
. reduce 60
state 89
statement : $$9 . expr ';' (52)
'*' shift 49
ID shift 50
CONSTANT shift 51
. error
expr goto 92
state 90
statement : $$12 . block_statement (58)
'{' shift 40
. error
block_statement goto 93
state 91
statement : IF '(' . $$7 expr ')' THEN $$10 statement ELSE $$11 statement (55)
statement : IF '(' . $$7 expr ')' THEN $$10 statement (56)
$$7 : . (31)
. reduce 31
$$7 goto 94
state 92
expr : expr . '+' $$7 expr (42)
expr : expr . '-' $$7 expr (43)
expr : expr . '*' $$7 expr (44)
expr : expr . '%' $$7 expr (45)
expr : expr . '/' $$7 expr (46)
statement : $$9 expr . ';' (52)
'+' shift 61
'-' shift 62
'*' shift 63
'/' shift 64
'%' shift 65
';' shift 95
. error
state 93
statement : $$12 block_statement . (58)
. reduce 58
state 94
statement : IF '(' $$7 . expr ')' THEN $$10 statement ELSE $$11 statement (55)
statement : IF '(' $$7 . expr ')' THEN $$10 statement (56)
'*' shift 49
ID shift 50
CONSTANT shift 51
. error
expr goto 96
state 95
statement : $$9 expr ';' . (52)
. reduce 52
state 96
expr : expr . '+' $$7 expr (42)
expr : expr . '-' $$7 expr (43)
expr : expr . '*' $$7 expr (44)
expr : expr . '%' $$7 expr (45)
expr : expr . '/' $$7 expr (46)
statement : IF '(' $$7 expr . ')' THEN $$10 statement ELSE $$11 statement (55)
statement : IF '(' $$7 expr . ')' THEN $$10 statement (56)
'+' shift 61
'-' shift 62
'*' shift 63
'/' shift 64
'%' shift 65
')' shift 97
. error
state 97
statement : IF '(' $$7 expr ')' . THEN $$10 statement ELSE $$11 statement (55)
statement : IF '(' $$7 expr ')' . THEN $$10 statement (56)
THEN shift 98
. error
state 98
statement : IF '(' $$7 expr ')' THEN . $$10 statement ELSE $$11 statement (55)
statement : IF '(' $$7 expr ')' THEN . $$10 statement (56)
$$10 : . (53)
. reduce 53
$$10 goto 99
99: reduce/reduce conflict (reduce 1, reduce 51) on ID
state 99
statement : IF '(' $$7 expr ')' THEN $$10 . statement ELSE $$11 statement (55)
statement : IF '(' $$7 expr ')' THEN $$10 . statement (56)
opt_scope : . (1)
$$9 : . (51)
$$12 : . (57)
EXTERN shift 5
REGISTER shift 6
STATIC shift 7
CONST shift 8
VOLATILE shift 9
IF shift 86
CLCL shift 10
'*' reduce 51
ID [trial] reduce 1
ID [trial] reduce 51
CONSTANT reduce 51
'{' reduce 57
decl goto 87
statement goto 100
decl_specs goto 12
decl_spec goto 13
typename goto 14
cv_qual goto 15
opt_scope goto 16
$$9 goto 89
$$12 goto 90
100: shift/reduce conflict (shift 101, reduce 56) on ELSE
state 100
statement : IF '(' $$7 expr ')' THEN $$10 statement . ELSE $$11 statement (55)
statement : IF '(' $$7 expr ')' THEN $$10 statement . (56)
ELSE [trial] shift 101
'*' reduce 56
ID reduce 56
CONSTANT reduce 56
EXTERN reduce 56
REGISTER reduce 56
STATIC reduce 56
CONST reduce 56
VOLATILE reduce 56
IF reduce 56
ELSE [trial] reduce 56
CLCL reduce 56
'{' reduce 56
'}' reduce 56
state 101
statement : IF '(' $$7 expr ')' THEN $$10 statement ELSE . $$11 statement (55)
$$11 : . (54)
. reduce 54
$$11 goto 102
102: reduce/reduce conflict (reduce 1, reduce 51) on ID
state 102
statement : IF '(' $$7 expr ')' THEN $$10 statement ELSE $$11 . statement (55)
opt_scope : . (1)
$$9 : . (51)
$$12 : . (57)
EXTERN shift 5
REGISTER shift 6
STATIC shift 7
CONST shift 8
VOLATILE shift 9
IF shift 86
CLCL shift 10
'*' reduce 51
ID [trial] reduce 1
ID [trial] reduce 51
CONSTANT reduce 51
'{' reduce 57
decl goto 87
statement goto 103
decl_specs goto 12
decl_spec goto 13
typename goto 14
cv_qual goto 15
opt_scope goto 16
$$9 goto 89
$$12 goto 90
state 103
statement : IF '(' $$7 expr ')' THEN $$10 statement ELSE $$11 statement . (55)
. reduce 55
State 17 contains 1 reduce/reduce conflict.
State 18 contains 1 shift/reduce conflict.
State 20 contains 1 shift/reduce conflict.
State 36 contains 1 shift/reduce conflict.
State 42 contains 1 shift/reduce conflict.
State 44 contains 1 shift/reduce conflict.
State 57 contains 1 reduce/reduce conflict.
State 68 contains 1 shift/reduce conflict.
State 78 contains 1 reduce/reduce conflict.
State 99 contains 1 reduce/reduce conflict.
State 100 contains 1 shift/reduce conflict.
State 102 contains 1 reduce/reduce conflict.
29 terminals, 31 nonterminals
62 grammar rules, 104 states
grammar parser grammar
symbol# value# symbol
0 0 $end
1 256 error
2 43 '+'
3 45 '-'
4 42 '*'
5 47 '/'
6 37 '%'
7 257 PREFIX
8 258 POSTFIX
9 40 '('
10 91 '['
11 46 '.'
12 259 ID
13 260 CONSTANT
14 261 EXTERN
15 262 REGISTER
16 263 STATIC
17 264 CONST
18 265 VOLATILE
19 266 IF
20 267 THEN
21 268 ELSE
22 269 CLCL
23 59 ';'
24 44 ','
25 41 ')'
26 93 ']'
27 123 '{'
28 125 '}'
29 270 $accept
30 271 input
31 272 expr
32 273 decl
33 274 declarator_list
34 275 decl_list
35 276 statement
36 277 statement_list
37 278 block_statement
38 279 declarator
39 280 formal_arg
40 281 decl_specs
41 282 decl_spec
42 283 typename
43 284 cv_quals
44 285 cv_qual
45 286 opt_scope
46 287 formal_arg_list
47 288 nonempty_formal_arg_list
48 289 $$1
49 290 $$2
50 291 $$3
51 292 $$4
52 293 $$5
53 294 $$6
54 295 $$7
55 296 $$8
56 297 $$9
57 298 $$10
58 299 $$11
59 300 $$12