MPC/genANTLR4.py
Nguyễn Anh Khoa bed5a47d55 init
2018-12-04 02:05:06 +07:00

38 lines
724 B
Python

import os
import subprocess
ANTLR_JAR = os.environ.get('ANTLR_LIB')
JASMIN_JAR = './external/jasmin.jar'
if ANTLR_JAR is None:
# fall back, not recommended
ANTLR_JAR = './external/antrl4.jar'
def generate():
files_from_antlr4 = [
'MP.interp',
'MPLexer.interp',
'MPLexer.py',
'MPLexer.tokens',
'MPParser.py',
'MP.tokens',
'MPVisitor.py'
]
if all(list(map(os.path.isfile, files_from_antlr4))):
return
gen_antlr_class_cmd = [
"java",
"-jar",
ANTLR_JAR,
"-no-listener",
"-visitor",
"parser/MP.g4"
]
subprocess.run(gen_antlr_class_cmd)
if __name__ == '__main__':
generate()