BjoernLoetters / macrowave

MIT License
4 stars 0 forks source link

Build Status Build status

macrowave

Macrowave is a Scala library, which brings scanner and parser generators to the 21st century.

Tools like Lex, Flex, Bison and YACC are well known among compiler engineers. One disadvantage of those tools is that the creation (generation) of scanners and parsers doesn't belong to the actual process of compilation. Using macros, the generation of the scanners and parsers can be achieved via meta-programming. Thus, the disadvantage will disappear.

Macrowave allows to define a parsing expression grammar, which gets transformed into a regular automaton for tokenization and a table driven LALR(1)-parser.

Building macrowave

The project macrowave is built with SBT 0.13.12 or later and its master branch with Scala 2.11.8.

To build the project:

Using macrowave

Trivia

The name "macrowave" is obviously a play on "macros" and "microwave".

Authors