void Imperative_NegExpression(out DesignScript.Parser.Imperative.UnaryExpressionNode node) { node = new Imperative.UnaryExpressionNode() ; DesignScript.Parser.Imperative.IDEHelpNode op = node.Operator; Node exprNode = null; Imperative_negop(out op); if (la.kind == 1 || la.kind == 9 || la.kind == 50) { Imperative_identifierList(out exprNode); } else if (la.kind == 9) { Get(); Imperative_expr(out exprNode); Expect(10); } else SynErr(120); DesignScript.Parser.Imperative.UnaryExpressionNode unary = new DesignScript.Parser.Imperative.UnaryExpressionNode(); unary.Operator = op; unary.Expression = exprNode; node = unary; }
void Imperative_unaryexpr(out Node node) { DesignScript.Parser.Imperative.UnaryExpressionNode an = new DesignScript.Parser.Imperative.UnaryExpressionNode(); node = null; if (StartOf(15)) { Imperative_NegExpression(out an); } else if (StartOf(16)) { Imperative_BitUnaryExpression(out an); } else SynErr(119); node = an; }
void Imperative_BitUnaryExpression(out DesignScript.Parser.Imperative.UnaryExpressionNode node) { DesignScript.Parser.Imperative.UnaryExpressionNode unary = new DesignScript.Parser.Imperative.UnaryExpressionNode(); DesignScript.Parser.Imperative.IDEHelpNode IDEop = unary.Operator; Imperative_unaryop(out IDEop); Node exprNode = null; Imperative_factor(out exprNode); unary.Expression = exprNode; unary.Operator = IDEop; node = unary; }