- Notifications
You must be signed in to change notification settings - Fork8
Implementation of Mozilla's Parser API in JavaScript
zaach/reflect.js
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
Reflect.js is a JavaScript (ES3 compatible) implementation ofMozilla's Parser API. It does not currently support some of Mozilla's extensions, such as generators, list comprehensions,for each, E4X, etc. but may eventually support ones that are, or become Harmony proposals.Builders are also supported.
Parsing really large files can be slow, for reasonsarticulated by Andy Chu.
You can download a minified-standalone version of reflect.js to embed in web pageshere.
Reflect.js is available as a CommonJS module for Node.js. Simply install it with npm:
npm install reflectvar Reflect = require('reflect');var ast = Reflect.parse("var a = 4 + 7");console.log(Reflect.stringify(ast, " "));Refer toMozilla's docs for details on the AST interface.
The optionalbuilder parameter to Reflect.parse() makes it possible to construct user-specified data from the parser, rather than the default Node objects.
The reflect.js module exports thedefault builder so you can redefine only the node constructors you care about and leave the rest default.
var Reflect = require('reflect');var builder = Reflect.builder;// redefine callback for variable declarationsbuilder["variableDeclaration"] = function (kind, declarators, loc) { ... };var ast = Reflect.parse("var a = 4 + 7", {builder: builder});MIT X Licensed.
About
Implementation of Mozilla's Parser API in JavaScript
Resources
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.
Contributors2
Uh oh!
There was an error while loading.Please reload this page.
