Ejemplo n.º 1
0
        public static void Main(string[] args)
        {
            RDP rdp = new RDP();

            Console.WriteLine("Enter your expression:");
            string input = Console.ReadLine();

            Console.WriteLine("-----------------------");
            Console.WriteLine("");
            try                                                 //program will terminate and not continue to RDP if Lexer.Tokenizer errors are caught.
            {
                tokens    = Lexer.Tokenizer(input);
                nextToken = tokens[0];
            } catch (Exception e) { return; }

            Console.WriteLine("");
            Console.WriteLine("-----------------------");
            Console.WriteLine("Calling Recursive Descent Parser:");
            expr();
            Console.WriteLine("");
            Console.WriteLine("Press any key to close...");
            Console.ReadLine();
        }
Ejemplo n.º 2
0
        public static void Main(string[] args)
        {
            Console.WriteLine("Enter your expression:");
            string input = Console.ReadLine();

            Console.WriteLine("-------------------------");
            tokens = Lexer.Tokenizer(input);
            SRP.ShiftReduceParse(tokens);
            Console.WriteLine("-------------------------");
            Console.WriteLine("Parse Steps");
            Console.WriteLine("-------------------------");
            foreach (string step in ParseSteps)
            {
                Console.WriteLine(step);
            }
            Console.WriteLine("-------------------------");
            Console.WriteLine("Stack History");
            Console.WriteLine("-------------------------");
            foreach (string step in StackHistory)
            {
                Console.WriteLine(step);
            }
            Console.WriteLine("-------------------------");
        }