Waxeye is a parser generator based on parsing expression grammars (PEGs). It supports C, Java, Javascript, Python, Ruby and Scheme.
Scheme Standard ML Java C JavaScript Python Other
Latest commit 518e630 Sep 12, 2015 @orlandohill Merge pull request #22 from steakknife/fix_rubygem
ruby: fix locations
Permalink
Failed to load latest commit information.
build fix warnings in Ant file Mar 24, 2014
docs Note that iOS is also supported. Aug 19, 2015
grammars allow _ as the first character of a non-terminal identifier Mar 25, 2014
src ruby: place files in correct locations Sep 12, 2015
test fix character encoding bug in Java runtime's BufferFiller helper class Mar 18, 2014
LICENSE updated copyright headers Aug 23, 2010
README.md

README.md

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
    • Scheme
  • 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

  1. Extract the files of the distribution.

  2. Copy the waxeye directory to where you wish to install it.

  3. Add the bin/waxeye binary to your search path. e.g. If you have ~/bin in your PATH and installed waxeye to /usr/local/waxeye then you might do the following.

    ln -s /usr/local/waxeye/bin/waxeye ~/bin/

Windows

  1. Extract the files of the distribution.

  2. 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

  1. Install Racket

  2. Install Waxeye's backend for Scheme.

    • Unix and OSX

      sudo ln -s /usr/local/waxeye/src/scheme/waxeye /usr/local/racket/lib/racket/collects/

    • Windows

      Copy the directory src/scheme/waxeye into your Racket collects directory. For example, C:\Program Files\Racket\collects.

  3. Build Waxeye

    • Unix and OSX

      ./build/unix

    • Windows

      • If your Racket installation isn't C:\Program Files\Racket, then you will need to modify build\exe.bat to use the correct path.

      • From your Waxeye installation directory, run the build\exe.bat script in a command prompt.

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.