Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/bjoernloetters/macrowave
https://github.com/bjoernloetters/macrowave
Last synced: 2 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/bjoernloetters/macrowave
- Owner: BjoernLoetters
- License: mit
- Created: 2017-03-21T13:36:22.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2018-04-20T12:19:19.000Z (almost 7 years ago)
- Last Synced: 2025-01-05T12:31:53.819Z (22 days ago)
- Language: Scala
- Size: 120 KB
- Stars: 4
- Watchers: 3
- Forks: 0
- Open Issues: 24
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[![Build Status](https://travis-ci.org/zen-pie/macrowave.svg?branch=master)](https://travis-ci.org/zen-pie/macrowave)
[![Build status](https://ci.appveyor.com/api/projects/status/o3dhn8q7m4xu6ahg/branch/master?svg=true)](https://ci.appveyor.com/project/keddelzz/macrowave/branch/master)# 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:
- Install [SBT] and [Scala].
- Clone this project and `cd` into the root directory of the cloned repository.
- Run
- `sbt compile` to build the project
- `sbt test` to run the unit tests## Using macrowave
- TODO: Nothing to use, yet!## Trivia
The name "macrowave" is obviously a play on "macros" and "microwave".## Authors
- [keddelzz](https://github.com/keddelzz)
- [kuchenkruste](https://github.com/kuchenkruste)[Bison]: http://dinosaur.compilertools.net/bison/
[Flex]: http://dinosaur.compilertools.net/flex/
[Lex]: http://dinosaur.compilertools.net/lex/
[SBT]: http://www.scala-sbt.org/
[Scala]: https://www.scala-lang.org/
[YACC]: http://dinosaur.compilertools.net/yacc/