Hydrogen-python/Optimizer/Optimizer.py

57 lines
1.0 KiB
Python

from block import *
def tp(sth):
try:
a = float(sth)
return 2
except:
if sth[0] == '_':
return 0
return 1
class DAGNode:
cnt = 1
def __init__(self,tag,l=None,r=None,op=None):
self.cnt = DAGNode.cnt
DAGNode.cnt += 1
self.parents = []
self.lc = l
self.rc = r
self.op = op
self.main_tag = tag
self.other_tag = set(tag)
class Optimizer:
def __init__(self):
self.DAGNodes = set()
def optimize(self, lst):
# print(lst)
self.build(lst)
return [1]
def insert(self,a,b):
pass
def build(self, lst):
for i in lst:
op = i.a
l = i.b
r = i.c
ans = i.d
if op == '=':
pass
if __name__ == '__main__':
divider = BlockDivider(l)
optimizer = Optimizer()
ls = divider.run()
for l in ls:
# print(l)
ans = optimizer.optimize(l)
for _ in ans:
print(_)
print()