Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Antlr错误';在character'上没有可行的替代方案;_Antlr_Antlr3_Antlrworks - Fatal编程技术网

Antlr错误';在character'上没有可行的替代方案;

Antlr错误';在character'上没有可行的替代方案;,antlr,antlr3,antlrworks,Antlr,Antlr3,Antlrworks,我正在使用可用的Objective C语法,并尝试解析以下代码: int main() { int k=0; } 这是一个目标c代码,应该对其进行解析,但是当我调用函数translation_单元时,它给了我以下错误。 错误包括: line 1:0 no viable alternative at character 'main' line 1:0 no viable alternative at character '(' line 1:0 no viable alternat

我正在使用可用的Objective C语法,并尝试解析以下代码:

int main()
{   
    int k=0;
}
这是一个目标c代码,应该对其进行解析,但是当我调用函数translation_单元时,它给了我以下错误。 错误包括:

line 1:0 no viable alternative at character 'main'
line 1:0 no viable alternative at character '('
line 1:0 no viable alternative at character ')'

它出错是因为规则
直接声明符

direct_declarator 
 : identifier declarator_suffix*
 | '(' declarator ')' declarator_suffix* 
 ;
命令在
main
函数的括号内应该有一些内容。但如果您将其设置为可选:

direct_declarator 
 : identifier declarator_suffix*
 | '(' declarator? ')' declarator_suffix* 
 ;

我很肯定还会出现其他问题。坦率地说,这种语法非常糟糕:如果我是你,我就不会用它。不,我不知道还有更好的:)。因为语法发布在antlr网站上并不意味着它是正确的语法。它被发布在维基上,任何人都可以在那里发布他们的作品:使用它的内容时请记住这一点。

谢谢。。实际上这是我的大学项目,我们真的没有时间写我自己的目标c语法。所以我们必须用这个语法来做这项工作。为我们做这件事谢谢你这很有帮助