我有一个相当复杂的 ANTLR 语法,其中包含许多自定义处理代码(其中主要用于创建内部数据结构和一般数据处理)。我想知道的是 ANTLR 是否提供任何功能(或者是否有任何现有工具)来删除所有自定义语法处理(例如 Java 代码、@init、@after 部分、参数、返回类型等)并离开我用准系统语法定义。我知道我可以通过一些正则表达式处理来做到这一点,但我认为这可能是一项经常性的任务,所以可能已经有一些东西可以做到这一点。
例子:
rule[String blabla] returns [blabla]
scope{
blablabal;
}
@init{
blalbabla;
}
:
STRING COMMA STRING {blablabla code blablabla;}
;
会回来
rule:
STRING COMMA STRING
;