コード例 #1
0
        public override void EnterForStatement([NotNull] ForStatementContext context)
        {
            ForStatement statement = new ForStatement(Parent, context);

            StatementListener statementListener = new StatementListener(statement);

            context.forControl().forInit.EnterRule(statementListener);
            statement.Init = statementListener.GetResult().First();

            statementListener = new StatementListener(statement);
            context.statement().EnterRule(statementListener);
            statement.Statements = statementListener.GetResult();

            ExpressionListener expressionListener = new ExpressionListener(statement);

            context.forControl().forCond.EnterRule(expressionListener);
            statement.Condition = expressionListener.GetResult();

            statementListener = new StatementListener(statement);
            context.forControl().forUpdate.EnterRule(statementListener);
            statement.Update = statementListener.GetResult().First();

            Result.Add(statement);
        }