function(top) {
    const result = this.node("block");
    this.expect("{") && this.next();
    const body = top
      ? this.read_top_statements()
      : this.read_inner_statements();
    this.expect("}") && this.next();
    return result(null, body);
  }
function(top) {
    const result = this.node("block");
    this.expect("{") && this.next();
    const body = top
      ? this.read_top_statements()
      : this.read_inner_statements();
    this.expect("}") && this.next();
    return result(null, body);
  }
function ( top ) { const result = this . node ( "block" ) ; this . expect ( "{" ) && this . next ( ) ; const body = top ? this . read_top_statements ( ) : this . read_inner_statements ( ) ; this . expect ( "}" ) && this . next ( ) ; return result ( null , body ) ; }
```ebnf
code_block ::= '{' (inner_statements | top_statements) '}'
```
ebnf code_block :: = { ( inner_statements | top_statements ) }