从 4.5 版开始,ANTLR 无法生成 Javascript 代码
ANTLR cannot generate Javascript code as of version 4.5
当我尝试为我的语法生成 listener/visitor ... 时,我收到以下错误:ANTLR 无法生成 Java 从 4.5 版开始的脚本代码
有人知道怎么解决吗?我仍然可以生成 C# 和 Java 代码。
来自the docs:
This is pretty much the same as creating a Java lexer or parser, except you need to specify the language target, for example:
$ antlr4 -Dlanguage=JavaScript MyGrammar.g4
For a full list of antlr4 tool options, please visit the tool documentation page.
您的目标可能是 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]
我在与 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
您需要 "JavaScript",而不是 "Javascript"。
受支持语言的确切语言值是:
Java:
antlr4 -Dlanguage=Java MyGrammar.g4
Java脚本:
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 并点击特定语言的链接。
当我尝试为我的语法生成 listener/visitor ... 时,我收到以下错误:ANTLR 无法生成 Java 从 4.5 版开始的脚本代码
有人知道怎么解决吗?我仍然可以生成 C# 和 Java 代码。
来自the docs:
This is pretty much the same as creating a Java lexer or parser, except you need to specify the language target, for example:
$ antlr4 -Dlanguage=JavaScript MyGrammar.g4
For a full list of antlr4 tool options, please visit the tool documentation page.
您的目标可能是 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]
我在与 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
您需要 "JavaScript",而不是 "Javascript"。
受支持语言的确切语言值是:
Java:
antlr4 -Dlanguage=Java MyGrammar.g4
Java脚本:
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 并点击特定语言的链接。