相关疑难解决方法(0)

如何获取antlr4规则匹配的原始文本?

使用Java 7语法https://github.com/antlr/grammars-v4/blob/master/java7/Java7.g4我想找到具有特定名称的方法,然后打印出该方法.我看到methodDeclaration我匹配时可以使用规则.所以我继承Java7BaseListener并覆盖这个监听器方法:

@Override public void enterMethodDeclaration(Java7Parser.MethodDeclarationContext ctx) { }
Run Code Online (Sandbox Code Playgroud)

如何获取原始文本? ctx.getText()给了我一个字符串,所有的空白都被删除了.我想要评论和原始格式.

java antlr antlr4

34
推荐指数
2
解决办法
6454
查看次数

如何在ANTLR中获取完整的用户编写语句(包括空格)

我有一个Java语言定义的"语句"定义如下.

statement
: block
|   ASSERT expression (':' expression)? ';'
|   'if' parExpression statement ('else' statement)?
|   'for' '(' forControl ')' statement
|   'while' parExpression statement
|   'do' statement 'while' parExpression ';'
|   'try' block
    ( catches 'finally' block
    | catches
    | 'finally' block
    )
|   'switch' parExpression switchBlock
|   'synchronized' parExpression block
|   'return' expression? ';'
|   'throw' expression ';'
|   'break' Identifier? ';'
|   'continue' Identifier? ';'
|   ';'
|   statementExpression ';'
|   Identifier ':' statement
;
Run Code Online (Sandbox Code Playgroud)

在执行解析器时,我还想打印完整的用户编写的语句(包含语句中的空格),例如: …

antlr

6
推荐指数
1
解决办法
1457
查看次数

context.getText() 排除 ANTLR4 中的空格

getText() 返回完整的语句,不包括单词之间的空格。考虑空格的一种方法是将它们包含在语法中。但是,有没有其他方法可以获取考虑空格的完整字符串。

java antlr antlr4

2
推荐指数
1
解决办法
1760
查看次数

标签 统计

antlr ×3

antlr4 ×2

java ×2