Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Parser for JavaScript, in Haskell
Haskell Yacc Logos Other

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
src/Language/JavaScript
test
unicode
.ghci
.gitignore
LICENSE
README
Setup.hs
TODO.txt
buildall.sh
ecmascript3.txt
ecmascript5.txt
language-javascript.cabal
runtests.hs

README

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

Something went wrong with that request. Please try again.