Esprima is a JavaScript parser that produces an abstract syntax tree (AST) from JavaScript code. The AST can then be traversed and analyzed to gather metadata and perform tasks like syntax validation, code completion, and instrumentation. Esprima supports ECMAScript 5.1 and below and can be used from browsers, Node.js, RequireJS, and other environments/packages. It parses code into a JSON AST and has options to customize the output.