whole_func_string: function(state, scope, secondaryScope) {
          state.createLexicalEnvironment();
  
          state.levelDown(scope);
          if(secondaryScope) state.levelDown(secondaryScope);
  
          while(state.token && !validators.isBlockEnd(state)) {
              state.processor.token(state);
          }
  
          if(secondaryScope) state.levelUp();
          state.levelUp();
  
          state.finalizeLexicalEnvironment();
      }
func_code_string: function(state, scope, secondaryScope) {
          state.createLexicalEnvironment();
  
          state.levelDown(scope);
          if(secondaryScope) state.levelDown(secondaryScope);
  
          while(state.token && !validators.isBlockEnd(state)) {
              state.processor.token(state);
          }
  
          if(secondaryScope) state.levelUp();
          state.levelUp();
  
          state.finalizeLexicalEnvironment();
      }
func_documentation_string: Parses statements until a block end is found.
  @param state The parser state.
  @param [scope] {string} The scope to use when parsing the statements inside the block.