}
@Override
public ASTNode parse(Token firstToken) throws Exception {
String variableName = firstToken.getText();
Token token = nextToken(); // eat the [
<BUG>Expr index = (Expr)new ExprParser(this).parse(token);

token = currentToken();
if (token.getType() == LeolaTokenType.RIGHT_BRACKET) {
token = nextToken();  // consume the ]
}
else {
throwParseError(token, LeolaErrorCode.MISSING_RIGHT_BRACKET);
}</BUG>
Expr expr = null;

}
@Override
public ASTNode parse(Token firstToken) throws Exception {
String variableName = firstToken.getText();
Token token = nextToken(); // eat the [
Expr index = new ExprParser(this).parseExpr(token);
token = expectTokenNext(currentToken(), LeolaTokenType.RIGHT_BRACKET, LeolaErrorCode.MISSING_RIGHT_BRACKET);
Expr expr = null;
