1
我有模板语言的语法。Antlr生成破碎的C#代码,声明中缺少变量名称
我为Antlr 3.2和CSharp2目标创建了它,并让它工作。
现在我尝试更改为antlr 3.4和CSharp3目标(也尝试过CSharp2),并且在一个synpred函数中在解析器中出现奇怪的错误。
几个变量声明缺少变量名:
IToken = default(IToken)
有些人也有个错误的类型
void = default(void);
应该
AstParserRuleReturnScope<CommonTree, IToken> = default(AstParserRuleReturnScope<CommonTree, IToken>);
有任何一个在此之前,什么看到的可能会造成这种情况。
语法和以前一样。
不幸的是,我无法共享语法,而且我没有时间创建导致相同错误的测试语法。
我当然可以手动修复这些错误,并且代码可以正常工作,但是在生成修复代码之后必须通过代码有点令人厌烦。
谢谢,迟到的遗憾,在假期后错过了。 – 2012-10-11 08:23:44
没问题。很高兴它对你有效! – Zack 2012-10-14 21:51:23
其实我们用另一种方式解决了问题,我手工编写了我自己的词法分析器/解析器/解释器;) – 2012-10-16 06:14:10