//while_stmt: 'while' expression ':' suite ['else' ':' suite]
private WhileStatement ParseWhileStmt() {
Eat(TokenKind.KeywordWhile);
var start = GetStart();
Expression expr = ParseExpression();
var mid = GetEnd();
Statement body = ParseLoopSuite();
Statement else_ = null;
if (MaybeEat(TokenKind.KeywordElse)) {
else_ = ParseSuite();
}
WhileStatement ret = new WhileStatement(expr, body, else_);
ret.SetLoc(_globalParent, start, mid, GetEnd());
return ret;
}