Skip to content
Max Nordlund edited this page Jan 10, 2015 · 12 revisions

Ideas for new backends

Python

It doesn't seem that there is a canonical tool such as lex/yacc in python. A list of parsing tools for is available on the python wiki: https://wiki.python.org/moin/LanguageParsing

Scala

See https://github.com/BNFC/bnfc/issues/76

Pandoc

We could replace those backend by a pandoc backend. This has a few advantages:

  • it can generate more formats
  • pandoc-types provide a nice API to create documents programatically
  • we don't have to maintain a latex backend and a plain text backend separately

Javascript

Jison is a port of flex/yacc in javascript so it might not be so hard to derive a javascript backend from the C one

An standard BNF notation (could be used as backend and frontend)

BNF notation

As in http://bnfc.readthedocs.org/en/latest/lbnf.html#the-syntactic-structure-of-bnf

Go

Go comes with a port of yacc which should make adding this fairly easy. There is no flex/lex equivalent though.

Clone this wiki locally