First steps in optimizer.

Still WIP, though, but it already optimizes e.g. this:

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

to this:

default { timer() { 4; } }
This commit is contained in:
Sei Lisa 2014-07-26 21:29:35 +02:00
parent e8e411ad04
commit a3354fae0e
3 changed files with 137 additions and 2 deletions

10
main.py
View file

@ -2,17 +2,25 @@
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:
symtab = p.parsefile(sys.argv[1])
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