示例#1
0
 public static void Main(string[] args)
 {
     Console.WriteLine("Phantasmagorical computaitonal contraption. Enter an expression:");
     while(true)
     {
         try
         {
             var text = Console.ReadLine();
             var lexer = new Lexer(text);
             var interpreter = new Parser(lexer);
             var result = interpreter.Expr();
             Console.WriteLine($"Result: {result.ToString()}");
         }
         catch(Exception ex)
         {
             Console.WriteLine(ex.ToString());
         }
     }
 }
示例#2
0
        public static void Main(string[] args)
        {
            while(true)
            {
                try
                {
                    Console.Write("prompt>");
                    var input = Console.ReadLine();
                    Console.WriteLine("echo " + input);
                    Console.ReadLine();

                    Console.WriteLine("calculator. Enter calculations:");
                    var text = Console.ReadLine();
                    Console.WriteLine($"Parsing {text}");
                    var lexer = new Lexer(text);
                    var interpreter = new Interpreter(lexer);
                    var result = interpreter.Expr();
                    Console.WriteLine($"Result: {result.ToString()}");
                }
                catch(Exception ex)
                {
                    Console.WriteLine(ex.ToString());
                }
            }
        }
示例#3
0
 public Interpreter(Lexer lexer)
 {
     Lexer = lexer;
     CurrentToken = Lexer.GetNextToken();
 }
示例#4
0
 public Parser(Lexer lexer)
 {
     _lexer = lexer;
     _currentToken = _lexer.GetNextToken();
 }