Waxeye Parser Generator
Waxeye is a parser generator based on parsing expression grammars (PEGs). It supports C, Java, Javascript, Python, Ruby and Scheme.
Features
-
Choice of Programming Language
- C
- Java
- Javascript
- Python
- Ruby
- Racket
-
Scanner-less Parsing
-
Automatic AST Generation
-
Language Independent, Reusable Grammars
-
Modular, Composable Grammars
-
Grammar Testing
User Manual
Waxeye's user manual is in docs/manual.html
. The latest version is also
online at http://waxeye.org/manual.html.
Installation
Unix and OSX
-
Extract the files of the distribution.
-
Copy the
waxeye
directory to where you wish to install it. -
Add the
bin/waxeye
binary to your search path. e.g. If you have~/bin
in yourPATH
and installed waxeye to/usr/local/waxeye
then you might do the following.ln -s /usr/local/waxeye/bin/waxeye ~/bin/
Windows
-
Extract the files of the distribution.
-
Copy the
waxeye
directory to where you wish to install it.
Running
Unix and OSX
Use the waxeye
command.
Windows
Use a command prompt to run waxeye.exe
. Note: If using the interpreter under
Windows, you will need to press Ctrl-z
and then 'Enter' after the input you
want to interpret.
Building from Source
-
Install Racket
-
Build Waxeye
-
Unix and OSX
make compiler
-
Windows
-
If your Racket installation isn't
C:\Program Files\Racket
, then you will need to modifybuild\exe.bat
to use the correct path. -
Run the
build\exe.bat
script. Thewaxeye.exe
executable will be saved to the directory you run the script from.
-
-
Running tests
First, install all packages necessary for running the tests. On Ubuntu, run:
sudo apt-get install racket nodejs ant checkstyle testng
To then run all the tests, run:
make test-all
To run individual language tests, make
the respective target, e.g. for JavaScript:
make test-javascript
Support
License
MIT -- All files (except the user manual) are under the permissive MIT license.
GNU FDL -- Waxeye's user manual is under the GNU Free Documentation License.
This includes the files doc/book/book
and doc/manual.html
.