//EXPRESSIONS
 public override void ExitExpression(CParser.ExpressionContext context)
 {
     if (context.expression() != null)
     {
         // expression ',' assignmentExpression
         SafeCall(context, CExpression.CommaOperator);
     }
 }
Exemple #2
0
        protected ObjectDef EmitExpression(CParser.ExpressionContext expression)
        {
            ObjectDef returnObjectDef = null;

            var assignmentExpressionStack = expression.RBAAssignmentExpressionStack();

            while (assignmentExpressionStack.Count > 0)
            {
                returnObjectDef = EmitAssignmentExpression(assignmentExpressionStack.Pop());
            }

            return(returnObjectDef);
        }
Exemple #3
0
        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);
        }