From 7a3aebf9270c36b0b1def57a6836a7a2284c3b83 Mon Sep 17 00:00:00 2001 From: Gary Gan Date: Thu, 19 Jun 2025 09:42:36 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BC=98=E5=8C=96=E4=BB=A3?= =?UTF-8?q?=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/main.py b/main.py index f76ad3c..df76eca 100644 --- a/main.py +++ b/main.py @@ -5,6 +5,7 @@ from lexical.lexical import Lexical from syntax.syntax import Syntax from syntax.syntax import LL1Generator import sys +from Optimizer.optimizer import optimize, output_ir_str from semantic.rule import symbol_table_pool @@ -48,6 +49,15 @@ if lexical_success: for code in syntax.get_result().root.code: i += 1 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: print('错误原因:\t', syntax.get_error().info) else: