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; } }
/**************************/ /*** 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); }