EricFisher 发表于 2010-08-21 11:27 http://linux.chinaunix.net/bbs/images/common/back.gif
最初的代码应该没有问题。但要打印出 个别符号(如 ,等)需要另外 #define 。就算现在修改后的文件,也只是将这些 "如 ," 改成带名字的(如:COMMA)。但语法分析出来的结果就很奇怪,我还真搞不懂它是哪里出的问题........ 回复 12# kallytin
EricFisher,
你感觉问题会出在什么地方呢(是词法分析里的问题还是语法分析里的问题?)?因为目前我还没能定位到问题所在....... 本帖最后由 EricFisher 于 2010-08-21 14:35 编辑
你能把改动之后和之前的diff文件发给我么?我看看。
我看了下,你的代码改动还是挺多的,不只是标点符号的重命名,其它各个关键字也都改了名称。你可以一步一步的改动,看看问题出在哪里。我不熟悉你这是用的什么工具写的词法,语法分析。如果是flex和bison,你可以增加一些调试信息,来打印当前解析的规则,便很容易定位到问题之处。 你能把改动之后和之前的diff文件发给我么?我看看。
我看了下,你的代码改动还是挺多的,不只是标点符号 ...
EricFisher 发表于 2010-08-21 14:21 http://linux.chinaunix.net/bbs/images/common/back.gif
谢谢,已搞定。
原因是在 *.lex 中的 #include "y.tab.h" 是不能改成 #include "tokens.h"。调整后结果对上了。 你的lex语法是gcc哪个版本的? 回复 16# vfdff
那个版本有些过时,但目前对于我来说够了......
页:
1
[2]