grm: grm grammar converter

[ bsd3, development, library, program ] [ Propose Tags ] [ Report a vulnerability ]

Grm takes a grammar specification and generates Haskell bindings. Given a grammar the tool produces an abstract syntax implementation, a Happy parser generator file, and a pretty-printer.


[Skip to Readme]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.1.0, 0.1.1
Dependencies base (<5), Cabal, cmdargs, directory, filepath, parsec, process, syb (>=0.3), wl-pprint [details]
License BSD-3-Clause
Copyright Brett Letner 2011-2012
Author Brett Letner <brettletner@gmail.com>
Maintainer Brett Letner <brettletner@gmail.com>
Category Development
Source repo head: git clone git://github.com/stevezhee/grm.git
Uploaded by BrettLetner at 2012-03-30T23:22:31Z
Distributions
Reverse Dependencies 2 direct, 0 indirect [details]
Executables grm
Downloads 2100 total (7 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]

Readme for grm-0.1.1

[back to package description]
Introducing the grm compiler construction tool. Grm takes a grammar specification and generates Haskell bindings. Grm is essentially a simplified bnfc which only generates Haskell (bnfc http://www.cse.chalmers.se/research/group/Language-technology/BNFC/). Given a grammar the tool produces: - an abstract syntax implementation - a Happy parser generator file - a pretty-printer Grm also has some library code for lexing and misc. language development tasks (e.g. unique identifiers). I use grm heavily in my pec language compiler. (git@github.com:stevezhee/pec.git and on hackage). You can check out pec for example grm usage. Building - type 'make' - resolve all hackage dependencies - type 'make' again You can download and install grm via cabal or access the git repository on github (git@github.com:stevezhee/grm.git). Any feedback on the design and/or implementation of grm would be greatly appreciated :) Thanks, Brett brettletner at gmail dot com