我正在尝试使用IntelliJ的ANTLR4插件来创建一个简单的表达式分析器。 我看过几个网站和问题,但我似乎无法让它运行。 我看过this video但我仍然收到错误
Can't load hello as lexer or parser
有没有人有办法使用ANTLR创建语法,然后使用标准输入或文本文件输入来测试语法并打印出来。 我试图采用中缀表达式并将其转换为后缀表达式。
还有一种方法可以使用ONLY intellij来编写,编译和运行程序而不是交换到命令行吗?
谢谢。
答案 0 :(得分:1)
我遇到了同样的问题。我为IntelliJ 15安装了ANTLR插件。我创建了一个名为Antlr的Java项目,并通过右键单击src目录节点并选择New-> File来创建示例Hello.g4文本文件。一旦语法被输入到Hello.g4中,我通过右键单击Hello.g4选项卡并选择编译“Hello.g4”来编译它,这会在目录“gen”中创建模板文件。
我无法弄清楚如何在Antlr4引用中运行grun示例,其中解析并分析了“hello parrt”。相反,事实证明,如果您右键单击Hello.g4中的规则('r'),则会出现一个名为“Test Rule r”的选项。选择它,你会在IDE的底部看到几个小窗口。您可以输入“hello parrt”并解析它;或者通过右键单击src目录节点并选择New-> File来创建一个新的文本文件,在文件中添加“hello parrt”,编译该文件,将其放入production / Antlr目录,然后右键单击规则('r')再次选择“测试规则r”。然后你会看到右边的解析树。