diff options
-rw-r--r-- | parser.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
@@ -385,12 +385,14 @@ static Expression parseAtom(Tokeniser &tokeniser){ if(tok2.type!=Token::Type::word||tok2.str!="then"){ throw ParseError(tok2.site,"Expected 'then' but got '"+tok2.str+"'"); } + tokeniser.advance(); Expression ex1=parseExpression(tokeniser); if(tokeniser.eof())throw ParseError(tokeniser.site(),"Expected 'else' but found EOF"); tok2=tokeniser.get(); if(tok2.type!=Token::Type::word||tok2.str!="else"){ throw ParseError(tok2.site,"Expected 'else' but got '"+tok2.str+"'"); } + tokeniser.advance(); Expression ex2=parseExpression(tokeniser); return Expression(Expression::Type::cond,{cond,ex1,ex2}); |