Ejemplo n.º 1
0
        public override ProgNodeValue Evaluate(ProgNodeContext context)
        {
            ProgNodeValue value = expression.Evaluate(context);

            context.SymTable.Assign(variable, value, 0);

            return(null);
        }
        /***************************/
        /*** Protected Functions ***/
        /***************************/

        public override ProgNodeValue Evaluate(ProgNodeContext context)
        {
            ProgNodeValue left  = leftExp.Evaluate(context);
            ProgNodeValue right = rightExp.Evaluate(context);

            int type = GetBoxType(left, right);

            return(ExecBoxing(left, right, type));
        }
Ejemplo n.º 3
0
        public override ProgNodeValue Evaluate(ProgNodeContext context)
        {
            while (expression.Evaluate(context).GetBoolean())
            {
                codeBlock.Evaluate(context);
            }

            return(null);
        }
Ejemplo n.º 4
0
        /*******************/
        /*** Constructor ***/
        /*******************/

        public Script(Parser parser)
        {
            this.parser = parser;

            while (!parser.IsEof())
            {
                ProgNode node = GetCommand();

                if (!errorSwitch)
                {
                    ProgNodeContext context = new ProgNodeContext();

                    node.Evaluate(context);
                }
            }
        }