//EXPRESSIONS public override void ExitExpression(CParser.ExpressionContext context) { if (context.expression() != null) { // expression ',' assignmentExpression SafeCall(context, CExpression.CommaOperator); } }
protected ObjectDef EmitExpression(CParser.ExpressionContext expression) { ObjectDef returnObjectDef = null; var assignmentExpressionStack = expression.RBAAssignmentExpressionStack(); while (assignmentExpressionStack.Count > 0) { returnObjectDef = EmitAssignmentExpression(assignmentExpressionStack.Pop()); } return(returnObjectDef); }
RBAAssignmentExpressionStack( this CParser.ExpressionContext expressionContext) { var localExpressionContext = expressionContext; var assignmentExpressionStack = new Stack <CParser.AssignmentExpressionContext>(); while (localExpressionContext.expression() != null) { assignmentExpressionStack .Push(localExpressionContext.assignmentExpression()); localExpressionContext = localExpressionContext.expression(); } assignmentExpressionStack .Push(localExpressionContext.assignmentExpression()); return(assignmentExpressionStack); }