1.打开eclipse,选择Help->Eclipse Marketplace 搜索ANTLR,下载ANTLR 4 IDE
2.新建ANTLR 4 Program,File->New
目录结构如下:
3.ANTLR 的小例子,新建一个ArrayInit.g4文件,其内容如下:
grammar ArrayInit;
init : '{' value (',' value)* '}';
value : init
| INT
;
INT : [0-9]+;
WS : [\t\r\n]+ -> skip;
运行ArrayInit.g4
生成一堆文件
4.新建JAVA program,编写一个测试Text.java,并将上图中的java文件都拷贝过来,ShortToUnicodeString.java和Translate.java都是后来创建的
Test.java中内容如下:
package antlr.ArrayInit;
import java.util.Scanner;
import org.antlr.v4.runtime.*;
import org.antlr.v4.runtime.tree.*;
public class Test {
public static void main(String[] args) throws Exception{
Scanner sc = new Scanner(System.in);
String words = sc.nextLine();
ANTLRInputStream input = new ANTLRInputStream(words);
ArrayInitLexer lexer = new ArrayInitLexer(input);
CommonTokenStream tokens = new CommonTokenStream(lexer);
ArrayInitParser parse = new ArrayInitParser(tokens);
ParseTree tree = parse.init();
System.out.println(tree.toStringTree(parse));
}
}
对了,还需导入一个jar包,名为antlr-4.4-complete.jar,导入方法不再赘述
运行Test.java
参考书籍:The Definitive ANTLR 4 Reference, 2nd Edition
其他代码、jar包以及参考书籍请前往https://github.com/Monarch510/antlr-v4自取
PS:win10环境下antlr-4.4-complete.jar包的使用方法:https://blog.youkuaiyun.com/bit_Line/article/details/50845516
参考这篇博客,但grun.bat中内容略有不同,应改为
java org.antlr.v4.runtime.misc.TestRig %*
最后配置成功