EricFisher 发表于 2010-08-21 11:27

这最初的代码是好使的么?呵呵。

kallytin 发表于 2010-08-21 11:34

这最初的代码是好使的么?呵呵。
EricFisher 发表于 2010-08-21 11:27 http://linux.chinaunix.net/bbs/images/common/back.gif

最初的代码应该没有问题。但要打印出 个别符号(如 ,等)需要另外 #define 。就算现在修改后的文件,也只是将这些 "如 ," 改成带名字的(如:COMMA)。但语法分析出来的结果就很奇怪,我还真搞不懂它是哪里出的问题........

kallytin 发表于 2010-08-21 12:01

回复 12# kallytin


EricFisher,

你感觉问题会出在什么地方呢(是词法分析里的问题还是语法分析里的问题?)?因为目前我还没能定位到问题所在.......

EricFisher 发表于 2010-08-21 14:21

本帖最后由 EricFisher 于 2010-08-21 14:35 编辑

你能把改动之后和之前的diff文件发给我么?我看看。

我看了下,你的代码改动还是挺多的,不只是标点符号的重命名,其它各个关键字也都改了名称。你可以一步一步的改动,看看问题出在哪里。我不熟悉你这是用的什么工具写的词法,语法分析。如果是flex和bison,你可以增加一些调试信息,来打印当前解析的规则,便很容易定位到问题之处。

kallytin 发表于 2010-08-21 16:48

你能把改动之后和之前的diff文件发给我么?我看看。

我看了下,你的代码改动还是挺多的,不只是标点符号 ...
EricFisher 发表于 2010-08-21 14:21 http://linux.chinaunix.net/bbs/images/common/back.gif


谢谢,已搞定。

原因是在 *.lex 中的 #include "y.tab.h" 是不能改成 #include "tokens.h"。调整后结果对上了。

vfdff 发表于 2010-08-22 15:15

你的lex语法是gcc哪个版本的?

kallytin 发表于 2010-08-22 17:59

回复 16# vfdff


那个版本有些过时,但目前对于我来说够了......
页: 1 [2]
查看完整版本: 语法分析时出错