bnfc
The BNF Converter is a compiler construction tool generating a compiler front-end from a Labelled BNF grammar. It was originally written to generate Haskell, but starting from Version 2.0, it can also be used for generating Java, C++, and C.
Given a Labelled BNF grammar the tool produces: an abstract syntax as a HaskellC++C module or Java directory, a case skeleton for the abstract syntax in the same language, an Alex, JLex, or Flex lexer generator file, a Happy, CUP, or Bison parser generator file, a pretty-printer as a HaskellJavaC++/C module, a Latex file containing a readable specification of the language.
Modules
- AbsBNF
- CAbstoCSharpAbs
- CAbstoCSharpAbstractVisitSkeleton
- CAbstoCSharpVisitSkeleton
- CF
- CFtoAbstract
- CFtoAbstractGADT
- CFtoAbstractVisitor
- CFtoAlex
- CFtoAlex2
- CFtoAllVisitor
- CFtoBison
- CFtoBisonC
- CFtoBisonSTL
- CFtoCAbs
- CFtoCPPAbs
- CFtoCPPPrinter
- CFtoCPrinter
- CFtoCSharpPrinter
- CFtoCSkel
- CFtoCVisitSkel
- CFtoCVisitSkelSTL
- CFtoComposVisitor
- CFtoCup
- CFtoCup15
- CFtoFlex
- CFtoFlexC
- CFtoFoldVisitor
- CFtoGPLEX
- CFtoGPPG
- CFtoHappy
- CFtoHappyProfile
- CFtoJLex
- CFtoJLex15
- CFtoJavaAbs
- CFtoJavaAbs15
- CFtoJavaPrinter
- CFtoJavaPrinter15
- CFtoJavaSkeleton
- CFtoLatex
- CFtoLayout
- CFtoOCamlAbs
- CFtoOCamlLex
- CFtoOCamlPrinter
- CFtoOCamlShow
- CFtoOCamlTemplate
- CFtoOCamlTest
- CFtoOCamlYacc
- CFtoPrinter
- CFtoPrinterGADT
- CFtoSTLAbs
- CFtoSTLPrinter
- CFtoTemplate
- CFtoTemplateGADT
- CFtoTxt
- CFtoVisitSkel
- CFtoVisitSkel15
- CFtoXML
- CPPTop
- CSharpTop
- CSharpUtils
- CTop
- ErrM
- FSharpTop
- GetCF
- HaskellGADTCommon
- HaskellTop
- HaskellTopGADT
- JavaTop
- JavaTop15
- LexBNF
- Main
- MkErrM
- MkSharedString
- MultiView
- NamedVariables
- OCamlTop
- OCamlUtil
- OOAbstract
- ParBNF
- PrintBNF
- ProfileTop
- RegToAlex
- RegToFlex
- RegToGPLEX
- RegToJLex
- STLTop
- STLUtils
- TypeChecker
- Utils