def statement_block(evaluator, ast, state):
    """Evaluates statement block "{ ... }"."""
    state.new_local_scope()
    for decl in ast["decls"]:
        evaluator.eval_ast(decl, state)
    for stmt in ast["stmts"]:
        res, do_return = evaluator.eval_ast(stmt, state)
        if do_return:
            state.remove_local_scope()
            return res, True
    state.remove_local_scope()
    return None, False