具体的code请参见:http://blog.csdn.net/lantianjialiang/article/details/7971327
只不过有两步需要修改:
bison -y -d parser.l --> bison -y -d -t parser.l
gcc y.tab.o lex.yy.o -o plusmins.exe -->gcc -g lex.yy.o y.tab.o -o plusminis.exe
以下是debug的屏幕输出:
gdb plusminis.exe
...
Breakpoint 1, main () at parser.l:30
30 yyparse();
(gdb) set yydebug=1 //使debug生效,也可以将yydebug=1放到main函数中去
(gdb) cont
Continuing.
Starting parse
Entering state 0 //进入状态0
Reducing stack by rule 2 (line 14):
-> $$ = nterm program ()
Stack now 0
Entering state 1 //进入状态1
Reading a token: 3 //等待用户输入,输入是3
Next token is token INTEGER ()
Shifting token INTEGER () //压栈
Entering