⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 countery.out

📁 使用LEX/YACC 编写的计算器程序 在VC环境下使用
💻 OUT
字号:
Conflict in state 11 between rule 9 and token '-' resolved as reduce.
Conflict in state 11 between rule 9 and token '+' resolved as reduce.
Conflict in state 11 between rule 9 and token '*' resolved as reduce.
Conflict in state 11 between rule 9 and token '/' resolved as reduce.
Conflict in state 23 between rule 6 and token '-' resolved as reduce.
Conflict in state 23 between rule 6 and token '+' resolved as reduce.
Conflict in state 23 between rule 6 and token '*' resolved as shift.
Conflict in state 23 between rule 6 and token '/' resolved as shift.
Conflict in state 24 between rule 5 and token '-' resolved as reduce.
Conflict in state 24 between rule 5 and token '+' resolved as reduce.
Conflict in state 24 between rule 5 and token '*' resolved as shift.
Conflict in state 24 between rule 5 and token '/' resolved as shift.
Conflict in state 25 between rule 7 and token '-' resolved as reduce.
Conflict in state 25 between rule 7 and token '+' resolved as reduce.
Conflict in state 25 between rule 7 and token '*' resolved as reduce.
Conflict in state 25 between rule 7 and token '/' resolved as reduce.
Conflict in state 26 between rule 8 and token '-' resolved as reduce.
Conflict in state 26 between rule 8 and token '+' resolved as reduce.
Conflict in state 26 between rule 8 and token '*' resolved as reduce.
Conflict in state 26 between rule 8 and token '/' resolved as reduce.

Grammar
rule 1    statement_list -> statement '\n'
rule 2    statement_list -> statement_list statement '\n'
rule 3    statement -> NAME '=' expression
rule 4    statement -> expression
rule 5    expression -> expression '+' expression
rule 6    expression -> expression '-' expression
rule 7    expression -> expression '*' expression
rule 8    expression -> expression '/' expression
rule 9    expression -> '-' expression
rule 10   expression -> '(' expression ')'
rule 11   expression -> NUMBER
rule 12   expression -> NAME
rule 13   expression -> NAME '(' expression ')'

Terminals, with rules where they appear

$ (-1)
'\n' (10) 1 2
'(' (40) 10 13
')' (41) 10 13
'*' (42) 7
'+' (43) 5
'-' (45) 6 9
'/' (47) 8
'=' (61) 3
error (256)
NAME (258) 3 12 13
NUMBER (259) 11
UMINUS (260)

Nonterminals, with rules where they appear

statement_list (14)
    on left: 1 2, on right: 2
statement (15)
    on left: 3 4, on right: 1 2
expression (16)
    on left: 5 6 7 8 9 10 11 12 13, on right: 3 4 5 6 7 8 9 10 13


state 0

    NAME	shift, and go to state 1
    NUMBER	shift, and go to state 2
    '-' 	shift, and go to state 3
    '(' 	shift, and go to state 4

    statement_list	go to state 5
    statement	go to state 6
    expression	go to state 7



state 1

    statement  ->  NAME . '=' expression   (rule 3)
    expression  ->  NAME .   (rule 12)
    expression  ->  NAME . '(' expression ')'   (rule 13)

    '=' 	shift, and go to state 8
    '(' 	shift, and go to state 9

    $default	reduce using rule 12 (expression)



state 2

    expression  ->  NUMBER .   (rule 11)

    $default	reduce using rule 11 (expression)



state 3

    expression  ->  '-' . expression   (rule 9)

    NAME	shift, and go to state 10
    NUMBER	shift, and go to state 2
    '-' 	shift, and go to state 3
    '(' 	shift, and go to state 4

    expression	go to state 11



state 4

    expression  ->  '(' . expression ')'   (rule 10)

    NAME	shift, and go to state 10
    NUMBER	shift, and go to state 2
    '-' 	shift, and go to state 3
    '(' 	shift, and go to state 4

    expression	go to state 12



state 5

    statement_list  ->  statement_list . statement '\n'   (rule 2)

    $   	go to state 28
    NAME	shift, and go to state 1
    NUMBER	shift, and go to state 2
    '-' 	shift, and go to state 3
    '(' 	shift, and go to state 4

    statement	go to state 13
    expression	go to state 7



state 6

    statement_list  ->  statement . '\n'   (rule 1)

    '\n'	shift, and go to state 14



state 7

    statement  ->  expression .   (rule 4)
    expression  ->  expression . '+' expression   (rule 5)
    expression  ->  expression . '-' expression   (rule 6)
    expression  ->  expression . '*' expression   (rule 7)
    expression  ->  expression . '/' expression   (rule 8)

    '-' 	shift, and go to state 15
    '+' 	shift, and go to state 16
    '*' 	shift, and go to state 17
    '/' 	shift, and go to state 18

    $default	reduce using rule 4 (statement)



state 8

    statement  ->  NAME '=' . expression   (rule 3)

    NAME	shift, and go to state 10
    NUMBER	shift, and go to state 2
    '-' 	shift, and go to state 3
    '(' 	shift, and go to state 4

    expression	go to state 19



state 9

    expression  ->  NAME '(' . expression ')'   (rule 13)

    NAME	shift, and go to state 10
    NUMBER	shift, and go to state 2
    '-' 	shift, and go to state 3
    '(' 	shift, and go to state 4

    expression	go to state 20



state 10

    expression  ->  NAME .   (rule 12)
    expression  ->  NAME . '(' expression ')'   (rule 13)

    '(' 	shift, and go to state 9

    $default	reduce using rule 12 (expression)



state 11

    expression  ->  expression . '+' expression   (rule 5)
    expression  ->  expression . '-' expression   (rule 6)
    expression  ->  expression . '*' expression   (rule 7)
    expression  ->  expression . '/' expression   (rule 8)
    expression  ->  '-' expression .   (rule 9)


    $default	reduce using rule 9 (expression)



state 12

    expression  ->  expression . '+' expression   (rule 5)
    expression  ->  expression . '-' expression   (rule 6)
    expression  ->  expression . '*' expression   (rule 7)
    expression  ->  expression . '/' expression   (rule 8)
    expression  ->  '(' expression . ')'   (rule 10)

    '-' 	shift, and go to state 15
    '+' 	shift, and go to state 16
    '*' 	shift, and go to state 17
    '/' 	shift, and go to state 18
    ')' 	shift, and go to state 21



state 13

    statement_list  ->  statement_list statement . '\n'   (rule 2)

    '\n'	shift, and go to state 22



state 14

    statement_list  ->  statement '\n' .   (rule 1)

    $default	reduce using rule 1 (statement_list)



state 15

    expression  ->  expression '-' . expression   (rule 6)

    NAME	shift, and go to state 10
    NUMBER	shift, and go to state 2
    '-' 	shift, and go to state 3
    '(' 	shift, and go to state 4

    expression	go to state 23



state 16

    expression  ->  expression '+' . expression   (rule 5)

    NAME	shift, and go to state 10
    NUMBER	shift, and go to state 2
    '-' 	shift, and go to state 3
    '(' 	shift, and go to state 4

    expression	go to state 24



state 17

    expression  ->  expression '*' . expression   (rule 7)

    NAME	shift, and go to state 10
    NUMBER	shift, and go to state 2
    '-' 	shift, and go to state 3
    '(' 	shift, and go to state 4

    expression	go to state 25



state 18

    expression  ->  expression '/' . expression   (rule 8)

    NAME	shift, and go to state 10
    NUMBER	shift, and go to state 2
    '-' 	shift, and go to state 3
    '(' 	shift, and go to state 4

    expression	go to state 26



state 19

    statement  ->  NAME '=' expression .   (rule 3)
    expression  ->  expression . '+' expression   (rule 5)
    expression  ->  expression . '-' expression   (rule 6)
    expression  ->  expression . '*' expression   (rule 7)
    expression  ->  expression . '/' expression   (rule 8)

    '-' 	shift, and go to state 15
    '+' 	shift, and go to state 16
    '*' 	shift, and go to state 17
    '/' 	shift, and go to state 18

    $default	reduce using rule 3 (statement)



state 20

    expression  ->  expression . '+' expression   (rule 5)
    expression  ->  expression . '-' expression   (rule 6)
    expression  ->  expression . '*' expression   (rule 7)
    expression  ->  expression . '/' expression   (rule 8)
    expression  ->  NAME '(' expression . ')'   (rule 13)

    '-' 	shift, and go to state 15
    '+' 	shift, and go to state 16
    '*' 	shift, and go to state 17
    '/' 	shift, and go to state 18
    ')' 	shift, and go to state 27



state 21

    expression  ->  '(' expression ')' .   (rule 10)

    $default	reduce using rule 10 (expression)



state 22

    statement_list  ->  statement_list statement '\n' .   (rule 2)

    $default	reduce using rule 2 (statement_list)



state 23

    expression  ->  expression . '+' expression   (rule 5)
    expression  ->  expression . '-' expression   (rule 6)
    expression  ->  expression '-' expression .   (rule 6)
    expression  ->  expression . '*' expression   (rule 7)
    expression  ->  expression . '/' expression   (rule 8)

    '*' 	shift, and go to state 17
    '/' 	shift, and go to state 18

    $default	reduce using rule 6 (expression)



state 24

    expression  ->  expression . '+' expression   (rule 5)
    expression  ->  expression '+' expression .   (rule 5)
    expression  ->  expression . '-' expression   (rule 6)
    expression  ->  expression . '*' expression   (rule 7)
    expression  ->  expression . '/' expression   (rule 8)

    '*' 	shift, and go to state 17
    '/' 	shift, and go to state 18

    $default	reduce using rule 5 (expression)



state 25

    expression  ->  expression . '+' expression   (rule 5)
    expression  ->  expression . '-' expression   (rule 6)
    expression  ->  expression . '*' expression   (rule 7)
    expression  ->  expression '*' expression .   (rule 7)
    expression  ->  expression . '/' expression   (rule 8)


    $default	reduce using rule 7 (expression)



state 26

    expression  ->  expression . '+' expression   (rule 5)
    expression  ->  expression . '-' expression   (rule 6)
    expression  ->  expression . '*' expression   (rule 7)
    expression  ->  expression . '/' expression   (rule 8)
    expression  ->  expression '/' expression .   (rule 8)


    $default	reduce using rule 8 (expression)



state 27

    expression  ->  NAME '(' expression ')' .   (rule 13)

    $default	reduce using rule 13 (expression)



state 28

    $   	go to state 29



state 29

    $default	accept

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -