Пример #1
0
        public void Assign(ProgNodeValue value, int index)
        {
            switch (Type)
            {
            case SymbolTableRecType.INTEGER:
                values[index] = new ProgNodeValue(value.GetInteger());
                break;

            case SymbolTableRecType.FLOAT:
                values[index] = new ProgNodeValue(value.GetFloat());
                break;

            case SymbolTableRecType.STRING:
                values[index] = new ProgNodeValue(value.GetString());
                break;

            case SymbolTableRecType.BOOLEAN:
                values[index] = new ProgNodeValue(value.GetBoolean());
                break;
            }
        }
Пример #2
0
        /**************************/
        /*** Override Functions ***/
        /**************************/

        public override ProgNodeValue ExecBoxing(ProgNodeValue left, ProgNodeValue right, int type)
        {
            ProgNodeValue result = null;

            switch (type)
            {
            case TYPE_FLOAT:
                float fvalue = left.GetFloat() + right.GetFloat();
                result = new ProgNodeValue(fvalue);
                break;

            case TYPE_INTEGER:
                int ivalue = left.GetInteger() + right.GetInteger();
                result = new ProgNodeValue(ivalue);
                break;

            case TYPE_STRING:
                string svalue = left.GetString() + right.GetString();
                result = new ProgNodeValue(svalue);
                break;
            }

            return(result);
        }