Readme for language-javascript-0.2.1
Parser for JavaScript
---------------------
Based (loosely) on language-python
How to build
------------
Library:
cabal clean && cabal configure && cabal build
Tests:
cabal clean && cabal configure -fbuildtests && cabal build
Running the tests
./dist/build/runtests/runtests
To debug the grammar
happy -iparse.txt -g -a -d src/Language/JavaScript/Parser/Grammar.y
This generates src/Language/JavaScript/Parser/Grammar.hs, delete this
when done with the debug version
UTF8/Unicode version
This requires https://github.com/jyp/Alex, in particular the utf8
branch, to generate the Lexer.hs file
$ git clone https://github.com/jyp/Alex.git
$ cd Alex
$ git checkout utf8
$ cabal install
This will put a utf8 enabled alex in ~/.cabal/bin
To switch back to the standard version,
$ cabal install --reinstall alex
Changes
0.2.1 Allow trailing comma in object literal
0.2.0 ECMAScript 3 allows function expressions to have names, AST.JSFunctionExpression now reflects this
0.1.0 Simplified AST by removing JSElement and JSElementList components
0.0.3 Support for unicode in source. At the moment it only supports
UTF8 encoding, does not recognise byte order marks or UTF-16/UTF-32
0.0.2 Multiline comments were processed in greedy form, now end of
comment recognised properly. Thanks to Tony Morris for reporting this.
0.0.1 Initial release
EOF