sproutcat.github.io

Antlr 使用笔记

一、参考文章

二、g4文件编写语法

grammar Name;
options {...}
import ...;
tokens {...}
@actionName {...}
<<rule1>>
...
<<rule2>>

以上为g4文件的语法结构,接下来做已经简单的说明:

lexer示例

lexer grammar HelloLexer;
HI : 'H' 'i'
ID : [a-z]+;
WS : [\t\n\r\s]+ -> skip;

parser示例

parser grammar HelloParser;
options {
    language=Java;
    tokenVocab=HelloLexer;
}

@header {
    package com.laudandjolynn.antlr;
    import java.util.Set;
    import java.util.HashSet;
}
@member {
    private int count;
    public int getCount() {
        return count;
    }
}
start : HI ID;