Example #1
0
        public AssignExprNode loadAssignmentExpression(string path)
        {
            string opstr = oilcan.getStringValue(path + ".op", "");

            AssignExprNode.OPERATOR op = AssignExprNode.OPERATOR.EQUAL;
            switch (opstr)
            {
            case "equal":
                op = AssignExprNode.OPERATOR.EQUAL;
                break;

            case "multequal":
                op = AssignExprNode.OPERATOR.MULTEQUAL;
                break;

            case "divequal":
                op = AssignExprNode.OPERATOR.DIVEQUAL;
                break;

            case "modequal":
                op = AssignExprNode.OPERATOR.MODEQUAL;
                break;

            case "addequal":
                op = AssignExprNode.OPERATOR.ADDEQUAL;
                break;

            case "subequal":
                op = AssignExprNode.OPERATOR.SUBEQUAL;
                break;

            case "lshiftequal":
                op = AssignExprNode.OPERATOR.LSHIFTEQUAL;
                break;

            case "rshiftequal":
                op = AssignExprNode.OPERATOR.RSHIFTEQUAL;
                break;

            case "andequal":
                op = AssignExprNode.OPERATOR.ANDEQUAL;
                break;

            case "xorequal":
                op = AssignExprNode.OPERATOR.XOREQUAL;
                break;

            case "orequal":
                op = AssignExprNode.OPERATOR.OREQUAL;
                break;

            default:
                break;
            }
            ExprNode       lhs   = loadExpression(path + ".lhs");
            ExprNode       rhs   = loadExpression(path + ".rhs");
            AssignExprNode enode = new AssignExprNode(op, lhs, rhs);

            return(enode);
        }
Example #2
0
        //-------------------------------------------------

        public AssignExprNode makeAssignExpressionNode(AssignExprNode.OPERATOR oper, ExprNode lhs, ExprNode rhs)
        {
            AssignExprNode node = new AssignExprNode(oper, lhs, rhs);

            return(node);
        }