text: 
  
  // The main exported interface (under `self.acorn` when in the
  // browser) is a `parse` function that takes a code string and
  // returns an abstract syntax tree as specified by [Mozilla parser
  // API][api].
  //
  // [api]: https://developer.mozilla.org/en-US/docs/SpiderMonkey/Parser_API
  
  "use strict";
  
  exports.parse = parse;
  
  // This function tries to parse a single expression at a given
  // offset in a string. Useful for parsing mixed-language formats
  // that embed JavaScript expressions.
  
  exports.parseExpressionAt = parseExpressionAt;
  
  // Acorn is organized as a tokenizer and a recursive-descent parser.
  // The `tokenize` export provides an interface to the tokenizer.
  // Because the tokenizer is optimized for being efficiently used by
  // the Acorn parser itself, this interface is somewhat crude and not
  // very modular.
  
  exports.tokenizer = tokenizer;
  exports.__esModule = true;
  // Acorn is a tiny, fast JavaScript parser written in JavaScript.
  //
  // Acorn was written by Marijn Haverbeke, Ingvar Stepanyan, and
  // various contributors and released under an MIT license.
  //
  // Git repositories for Acorn are available at
  //
  //     http://marijnhaverbeke.nl/git/acorn
  //     https://github.com/marijnh/acorn.git
  //
  // Please use the [github bug tracker][ghbt] to report issues.
  //
  // [ghbt]: https://github.com/marijnh/acorn/issues
  //
  // This file defines the main parser interface. The library also comes
  // with a [error-tolerant parser][dammit] and an
  // [abstract syntax tree walker][walk], defined in other files.
  //
  // [dammit]: acorn_loose.js
  // [walk]: util/walk.js
  
  var _state = require("./state");
  
  var Parser = _state.Parser;
  
  var _options = require("./options");
  
  var getOptions = _options.getOptions;
  
  require("./parseutil");
  
  require("./statement");
  
  require("./lval");
  
  require("./expression");
  
  require("./lookahead");
  
  exports.Parser = _state.Parser;
  exports.plugins = _state.plugins;
  exports.defaultOptions = _options.defaultOptions;
  
  var _location = require("./location");
  
  exports.SourceLocation = _location.SourceLocation;
  exports.getLineInfo = _location.getLineInfo;
  exports.Node = require("./node").Node;
  
  var _tokentype = require("./tokentype");
  
  exports.TokenType = _tokentype.TokenType;
  exports.tokTypes = _tokentype.types;
  
  var _tokencontext = require("./tokencontext");
  
  exports.TokContext = _tokencontext.TokContext;
  exports.tokContexts = _tokencontext.types;
  
  var _identifier = require("./identifier");
  
  exports.isIdentifierChar = _identifier.isIdentifierChar;
  exports.isIdentifierStart = _identifier.isIdentifierStart;
  exports.Token = require("./tokenize").Token;
  
  var _whitespace = require("./whitespace");
  
  exports.isNewLine = _whitespace.isNewLine;
  exports.lineBreak = _whitespace.lineBreak;
  exports.lineBreakG = _whitespace.lineBreakG;
  
  require("../plugins/flow");
  require("../plugins/argument_types");
  require("../plugins/jsx");
  
  var version = "1.0.0";exports.version = version;
  
  function parse(input, options) {
    var p = parser(options, input);
    var startPos = p.options.locations ? [p.pos, p.curPosition()] : p.pos;
    p.nextToken();
    return p.parseTopLevel(p.options.program || p.startNodeAt(startPos));
  }
  
  function parseExpressionAt(input, pos, options) {
    var p = parser(options, input, pos);
    p.nextToken();
    return p.parseExpression();
  }
  
  function tokenizer(input, options) {
    return parser(options, input);
  }
  
  function parser(options, input) {
    return new Parser(getOptions(options), String(input));
  }