LSL-PyOptimizer/main.py
Sei Lisa a3354fae0e First steps in optimizer.
Still WIP, though, but it already optimizes e.g. this:

default { timer() { 2+2; } }

to this:

default { timer() { 4; } }
2014-07-26 21:32:01 +02:00

31 lines
672 B
Python

#!/usr/bin/env python
from lslopt.lslparse import parser,EParse
from lslopt.lsloutput import outscript
from lslopt.lsloptimizer import optimizer
import sys
def main():
if len(sys.argv) > 1:
p = parser()
try:
p.parsefile(sys.argv[1])
funcs = p.functions
symtab = p.symtab
except EParse as e:
print e.message
return 1
del p
opt = optimizer()
opt.optimize(symtab, funcs)
del opt
outs = outscript()
script = outs.output(symtab)
del outs
del symtab
print script.decode('utf8'),
return 0
sys.exit(main())