Наследование: IDisposable
Пример #1
0
        static void Main(string[] args)
        {
            IContext context = new Context();
            Parser parser = new Parser(System.Console.In);
            context.DefineVariable("write");
            context.SetValue("write", new WriteFunction());
            context.DefineVariable("writeln");
            context.SetValue("writeln", new WriteLineFunction());
            context.DefineVariable("Object");
            context.SetValue("Object", new ObjectFunction(context));

            Console.WriteLine("AjScript 0.1 (JavaScript-like Interpreter in C#)");

            for (ICommand cmd = parser.ParseCommand(); cmd != null; cmd = parser.ParseCommand())
                cmd.Execute(context);
        }
Пример #2
0
 private object EvaluateExpression(string text)
 {
     Parser parser = new Parser(text);
     IExpression expression = parser.ParseExpression();
     Assert.IsNull(parser.ParseExpression());
     return expression.Evaluate(this.context);
 }
Пример #3
0
        private void EvaluateCommands(string text)
        {
            Parser parser = new Parser(text);

            for (ICommand cmd = parser.ParseCommand(); cmd != null; cmd = parser.ParseCommand())
                cmd.Execute(this.context);
        }
Пример #4
0
        private object EvaluateFile(string filename)
        {
            Parser parser = new Parser(new StreamReader(filename));

            for (ICommand cmd = parser.ParseCommand(); cmd != null; cmd = parser.ParseCommand())
                cmd.Execute(this.context);

            return this.context.GetValue("result");
        }