当我尝试为我的语法生成监听器/访问者时,我遇到以下错误:ANTLR在4.5版本中无法生成JavaScript代码。
有人知道如何修复吗?我仍然可以生成C#和Java代码。
有人知道如何修复吗?我仍然可以生成C#和Java代码。
来自文档:
这与创建Java词法解析器或语法解析器基本相同,只是需要指定目标语言,例如:
$ 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]
antlr4 -Dlanguage=Java MyGrammar.g4
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
Go:
antlr4 -Dlanguage=Go MyGrammar.g4
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,请点击相关语言链接查看。
$>antlr -Dlanguage=java Hplsql.g4
-->error(31): ANTLR无法生成版本为4.7.1的Java代码
$>antlr -Dlanguage=Java Hplsql.g4
-->成功