修改优化代码

This commit is contained in:
Gary Gan 2025-06-19 09:42:36 +08:00
parent 8607be5b5c
commit 7a3aebf927

10
main.py
View File

@ -5,6 +5,7 @@ from lexical.lexical import Lexical
from syntax.syntax import Syntax from syntax.syntax import Syntax
from syntax.syntax import LL1Generator from syntax.syntax import LL1Generator
import sys import sys
from Optimizer.optimizer import optimize, output_ir_str
from semantic.rule import symbol_table_pool from semantic.rule import symbol_table_pool
@ -48,6 +49,15 @@ if lexical_success:
for code in syntax.get_result().root.code: for code in syntax.get_result().root.code:
i += 1 i += 1
print(i, ' \t', code) print(i, ' \t', code)
quads = [tuple(map(str.strip, str(item).strip("()").split(","))) for item in syntax.get_result().root.code]
optimized_quads = optimize(quads)
print()
print(f"优化后的四元式:\t")
print(output_ir_str(optimized_quads))
else: else:
print('错误原因:\t', syntax.get_error().info) print('错误原因:\t', syntax.get_error().info)
else: else: