小编Pra*_*rma的帖子

解析单行注释

我正在尝试编写用于解析单行注释的语法.以" - "开头的注释可以出现在文件的任何位置.

我的基本语法如下所示.

语法(aa.g4):

grammar aa;

statement
    :   commentStatement* ifStatement
    |   commentStatement* returnStatement
    ;
ifStatement
    :   'if' '(' expression ')'
        returnStatement+
    ;

returnStatement  :   'return' expression ';' ;
commentStatement :   '--' (.+?) '\\n'? ;
expression       :   IDENTIFIER ;

IDENTIFIER       :   [a-z]([A-Za-z0-9\-\_])* ;
NEWLINE          :   '\r'? '\n'    -> skip ;
WS               :   [ \t\r\f\n]+ -> skip ;
Run Code Online (Sandbox Code Playgroud)

测试类:

public class aaTest {
    static class aaListener extends aaBaseListener {
        public void enterCommentStatement(CommentStatementContext ctx) {
            System.out.println(ctx.getText());
        }
    }

    public static void main(String[] …
Run Code Online (Sandbox Code Playgroud)

antlr4

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

标签 统计

antlr4 ×1