ANTLR无法生成4.5版本的Javascript代码

ANTLR cannot generate Javascript code as of version 4.5

本文关键字:版本 Javascript 代码 ANTLR      更新时间:2023-09-26

当我尝试生成监听器/访问者时。。。对于我的Grammar,我得到了以下错误:ANTLR无法生成4.5版的Javascript代码

有人知道怎么修吗?我仍然可以生成C#和Java代码。

来自文档:

这与创建Java lexer或解析器几乎相同,只是需要指定语言目标,例如:

$ antlr4 -Dlanguage=JavaScript MyGrammar.g4

有关antlr4工具选项的完整列表,请访问工具文档页面。

您的目标可能是Javascript,而不是所需的JavaScript(注意这种情况);当我执行以下两项时,请注意差异:

╭─{ yaauie@celeborn:~/Desktop/tmp-20160108 }
╰─○ antlr4 -Dlanguage=JavaScript Hello.g4
[success]
╭─{ yaauie@celeborn:~/Desktop/tmp-20160108 }
╰─○ antlr4 -Dlanguage=Javascript Hello.g4
error(31):  ANTLR cannot generate Javascript code as of version 4.5.1
[error: 1]

您需要的是"JavaScript",而不是"JavaScript"。

支持的语言的确切语言值为:

Java:

antlr4 -Dlanguage=Java MyGrammar.g4

JavaScript:

antlr4 -Dlanguage=JavaScript MyGrammar.g4

C#:

antlr4 -Dlanguage=CSharp MyGrammar.g4

Python 3:

antlr4 -Dlanguage=Python3 MyGrammar.g4

Python 2:

antlr4 -Dlanguage=Python2 MyGrammar.g4

转到:

antlr4 -Dlanguage=Go MyGrammar.g4

C++:

antlr4 -Dlanguage=Cpp MyGrammar.g4

Swift:

antlr4 -Dlanguage=Swift MyGrammar.g4 

PHP:

antlr4 -Dlanguage=PHP MyGrammar.g4

来源:https://github.com/antlr/antlr4/blob/master/doc/targets.md并遵循特定语言的链接。

我使用ATNLR在java中解析配置单元查询,遇到了类似的问题。原来我错过了这个案子。我写的不是Java而是Java

$>antlr -Dlanguage=java Hplsql.g4 -->error(31): ANTLR cannot generate java code as of version 4.7.1

$>antlr -Dlanguage=Java Hplsql.g4 -->Success

我试图执行:

antlr4 Arithmetic.g4 -Dlanguage=cSharp

我收到一条消息:

从版本4.12.0 起,ANTLR无法生成cSharp代码

刚刚发现问题。Antlr语言是区分大小写

这项工作:

antlr4 Arithmetic.g4-D语言=CSharp

我希望这能帮助其他人。