Esempio n. 1
0
 static void Main(string[] args)
 {
     ep = new iExpr.Exprs.Program.EParse();
     ev = new iExpr.Exprs.Program.EEval();
     eb = new ExprBuilder(ep);
     Console.ForegroundColor = ConsoleColor.White;
     while (true)
     {
         Console.Write("> ");
         string s = Console.ReadLine();
         if (s == "exit")
         {
             return;
         }
         if (s == "cls")
         {
             Console.Clear(); continue;
         }
         if (s == "view")
         {
             foreach (var v in ev.Variables)
             {
                 Console.Write(v.Key + ",");
             }
             Console.WriteLine();
             continue;
         }
         if (s == "code")
         {
             try
             {
                 Console.Write("Input a file: ");
                 string path = Console.ReadLine();
                 if (File.Exists(path))
                 {
                     string code = File.ReadAllText(path);
                     var    e    = eb.GetExpr(code);
                     var    v    = ev.CreateContext().Evaluate(e);
                     Console.WriteLine(v);
                 }
                 else
                 {
                     Console.WriteLine("File not found.");
                 }
             }
             catch (Exception ex)
             {
                 Console.Write("Error: " + ex.Message);
             }
             continue;
         }
         try
         {
             Console.WriteLine(eval(s).ToString());
         }
         catch (Exception ex)
         {
             Console.WriteLine("Error: " + ex.Message);
         }
     }
 }
Esempio n. 2
0
        public object Execute(string code)
        {
            var e = eb.GetExpr(code);

            return(context.Evaluate(e));
        }
Esempio n. 3
0
        static IExpr eval(string s)
        {
            var e = eb.GetExpr(s);

            return(ev.CreateContext().Evaluate(e));
        }