CompilerDesignIFLR1/CompilerDesignIflr1/Program.cs

15 lines
649 B
C#
Raw Normal View History

2024-12-20 20:20:34 +08:00
// See https://aka.ms/new-console-template for more information
2024-12-23 01:42:58 +08:00
using CompilerDesignIFlr1;
2024-12-20 20:20:34 +08:00
Console.WriteLine("Hello, World!");
2024-12-27 01:25:50 +08:00
LR1Unit.Init("./files/translateFile");
LR1Unit.LanguageMode = "Chinese";
2024-12-23 01:42:58 +08:00
var grammarReader = new GrammarReader("./files/if-grammar.grammar");
var lr1Creator = new LR1Creator(grammarReader);
var lr1Table = new LR1Table(lr1Creator);
var lexicalAnalysis = new LexicalAnalysis(lr1Creator, "./files/code");
2024-12-24 16:17:20 +08:00
var semanticAnalysis = new SemanticAnalysis();
var stateMachine = new StateMachine(lr1Table, lexicalAnalysis, lr1Creator, semanticAnalysis);
semanticAnalysis.PrintQuadruples();
2024-12-27 01:25:50 +08:00
semanticAnalysis.OptimizeQuadruples();