예제 #1
0
        public virtual object VisitDoLoopStatement(DoStatement doLoopStatement, object data)
        {
            stackMap.Push(doLoopStatement);
            doLoopStatement.Test.AcceptVisitor(this, data);

            doLoopStatement.Statements.AcceptVisitor(this, data);

            stackMap.Pop();
            return(null);
        }
예제 #2
0
		private DoStatement ParseDo()										
		{
            DoStatement node = new DoStatement(curtok);
			Advance(); // advance over DO

			ParseBlock(node.Statements);

			AssertAndAdvance(TokenID.While); // advance over While

			AssertAndAdvance(TokenID.LParen);
			node.Test = ParseExpression();
			AssertAndAdvance(TokenID.RParen);

			AssertAndAdvance(TokenID.Semi); // not optional on DO

			return node;
		}
예제 #3
0
        public virtual object VisitDoLoopStatement(DoStatement doLoopStatement, object data)
        {
            stackMap.Push(doLoopStatement);
            doLoopStatement.Test.AcceptVisitor(this, data);

            doLoopStatement.Statements.AcceptVisitor(this, data);

            stackMap.Pop();
            return null;

        }