Exemplo n.º 1
0
        public ForStatement(IZ80AsmVisitorContext visitorContext, Z80AsmParser.ForStatementContext context)
        {
            if (context.IDENTIFIER() != null)
            {
                visitorContext.AddIdentifier(context.IDENTIFIER());
                ForVariable = context.IDENTIFIER()?.NormalizeToken();
            }
            if (context.TO() != null)
            {
                visitorContext.AddStatement(context.TO());
            }

            if (context.STEP() != null)
            {
                visitorContext.AddStatement(context.STEP());
            }

            From = context.expr().Length > 0 ? visitorContext.GetExpression(context.expr()[0]) : null;
            To   = context.expr().Length > 1 ? visitorContext.GetExpression(context.expr()[1]) : null;
            Step = context.expr().Length > 2 ? visitorContext.GetExpression(context.expr()[2]) : null;
        }