1

有没有办法让 Yacc/Bison 打印出它对它处理的输入所做的所有缩减?这将是一个很好的调试帮助。我已经试过了

| Item1 { printf("Item1: %s\n", yytext); }

仅打印最后一个字符和

| Item1 { printf("Item1: %s\n", $$); }

导致格式参数不是来自编译器的指针警告。我做错了吗?

4

1 回答 1

2

我能够通过以下方式启用调试输出

  1. 放入#define YYDEBUG 1我的 C 声明

  2. 放入int yydebug = 1;额外的 C 代码部分

如需额外阅读,请查看使用 YYDEBUG 生成调试信息调试您的解析器此 yacc 示例

于 2012-10-27T13:01:28.487 回答