Пример #1
0
 public CodeGen(LexicalAnalizer.LA input)
 {
     Input   = input;
     queue   = new Queue <uint>();
     stack   = new Stack <uint>();
     vars    = new Dictionary <uint, variable>();
     varRegs = new Dictionary <uint, string>();
 }
Пример #2
0
        static void Main(string[] args)
        {
            Console.Write("<<File Name>>:");
            string str = Console.ReadLine();

            if (!str.EndsWith(".txt"))
            {
                StringBuilder FName = new StringBuilder();
                FName.Append(str).Append(".txt");
                str = FName.ToString();
                Console.WriteLine(str);
            }
            LexicalAnalizer LexAnalizer = new LexicalAnalizer(str);

            LexicalAnalizer.LA lexstruct = LexAnalizer.Out();
            SynthaxAnalyzer    SA        = new SynthaxAnalyzer(lexstruct);
            CodeGen            g         = new CodeGen(lexstruct);
            TreeAnalysis       tree      = SA.Parser();

            tree.RootNode.PrintNode();
            Console.WriteLine("\n\n\n");
            g.Generator(tree);
        }
 public SynthaxAnalyzer(LexicalAnalizer.LA input)
 {
     Input         = input;
     ProgramLength = Input.Lexems.Count;
 }