whole_func_string: function (state, scope, secondaryScope) {
          if(!validators.isBlockStart(state)) return state.error(constants.unexpectedToken);
          state.next(); //Skip block start.
  
          utils.statementsInBlock(state, scope, secondaryScope);
  
          if(!validators.isBlockEnd(state)) return state.error(constants.unexpectedToken);
          state.next(); //Skip block end.
      }
func_code_string: function (state, scope, secondaryScope) {
          if(!validators.isBlockStart(state)) return state.error(constants.unexpectedToken);
          state.next(); //Skip block start.
  
          utils.statementsInBlock(state, scope, secondaryScope);
  
          if(!validators.isBlockEnd(state)) return state.error(constants.unexpectedToken);
          state.next(); //Skip block end.
      }
func_documentation_string: Parses a Block Statement.
  @param state The parser state.
  @param [scope] {string} The scope to use when parsing the statements inside the block.
  @returns {*}