Esempio n. 1
0
 //  genexpr_if: "if" old_test
 private IfStatement ParseGenExprIf() {
     var start = GetStart();
     Eat(TokenKind.KeywordIf);
     Expression expr = ParseOldExpression();
     IfStatementTest ist = new IfStatementTest(expr, null);
     var end = GetEnd();
     ist.HeaderIndex = end;
     ist.SetLoc(_globalParent, start, end);
     IfStatement gei = new IfStatement(new IfStatementTest[] { ist }, null);
     gei.SetLoc(_globalParent, start, end);
     return gei;
 }
Esempio n. 2
0
 //  genexpr_if: "if" old_test
 private IfStatement ParseGenExprIf() {
     SourceLocation start = GetStart();
     Eat(TokenKind.KeywordIf);
     Expression expr = ParseOldExpression();
     IfStatementTest ist = new IfStatementTest(expr, null);
     SourceLocation end = GetEnd();
     ist.Header = end;
     ist.SetLoc(start, end);
     IfStatement gei = new IfStatement(new IfStatementTest[] { ist }, null);
     gei.SetLoc(start, end);
     return gei;
 }
Esempio n. 3
0
        // if_stmt: 'if' expression ':' suite ('elif' expression ':' suite)* ['else' ':' suite]
        private IfStatement ParseIfStmt() {
            Eat(TokenKind.KeywordIf);
            var start = GetStart();
            List<IfStatementTest> l = new List<IfStatementTest>();
            l.Add(ParseIfStmtTest());

            while (MaybeEat(TokenKind.KeywordElseIf)) {
                l.Add(ParseIfStmtTest());
            }

            Statement else_ = null;
            if (MaybeEat(TokenKind.KeywordElse)) {
                else_ = ParseSuite();
            }

            IfStatementTest[] tests = l.ToArray();
            IfStatement ret = new IfStatement(tests, else_);
            ret.SetLoc(_globalParent, start, GetEnd());
            return ret;
        }
Esempio n. 4
0
 //  Python 2.5 -> genexpr_if   ::= "if" old_test
 private IfStatement ParseGenExprIf()
 {
     Location start = GetStart();
     Eat(TokenKind.KeywordIf);
     Expression test = ParseOldTest();
     IfStatementTest ist = new IfStatementTest(test, null);
     Location end = GetEnd();
     ist.Header = end;
     ist.SetLoc(GetExternal(), start, end);
     IfStatement gei = new IfStatement(new IfStatementTest[] { ist }, null);
     gei.SetLoc(GetExternal(), start, end);
     return gei;
 }