前提
安装python环境下的antlr运行时库
pip install antlr4-python3-runtime
准备文法文件
002/ArrayInit.g4
grammar ArrayInit;
init
: '{' value (',' value)* '}' ;
value
: init
| INT
;
INT: [0-9]+ ;
WS: [ \t\r\n] -> skip ;
将文法文件转换为Python语言的词法分析器和语法分析器
cd 002
antlr4py3 ArrayInit.g4
将ANTLR自动生成的代码与Python程序集成
002/main.py
from antlr4 import *
from ArrayInitLexer import ArrayInitLexer
from ArrayInitParser import ArrayInitParser
input_ = InputStream(input("please input:"))
lexer = ArrayInitLexer(input_)
tokens = CommonTokenStream(lexer)
parser = ArrayInitParser(tokens)
tree = parser.init()
print(tree.toStringTree(recog=parser))
|