Exemplo n.º 1
0
 //if-statement ::= 'if' '(' <expression> ')' '{' <statement>* '}' ('else' '{' <statement>* '}')?
 private void ParseIfStatement()
 {
     Match(new Token(TokenType.Keyword, "if"));
     Match(new Token(TokenType.Symbol, "("));
     ParseExpression();
     _codeGenerator.BeginIf();
     Match(new Token(TokenType.Symbol, ")"));
     Match(new Token(TokenType.Symbol, "{"));
     ParseStatements();
     Match(new Token(TokenType.Symbol, "}"));
     _codeGenerator.PossibleElse();
     if (LookAheadToken.Value == "else")
     {
         Match(new Token(TokenType.Keyword, "else"));
         Match(new Token(TokenType.Symbol, "{"));
         ParseStatements();
         Match(new Token(TokenType.Symbol, "}"));
     }
     _codeGenerator.EndIf();
 }