Skip to content
Philippe Lhoste edited this page Dec 4, 2015 · 6 revisions

Welcome to JinyParser WIKI

What is JinyParser

JinyParser is a PEG / packrat parser. That means it is a parser based on a top down (recursive) optimized algorithm. Its grammar formulation is based on an Object Oriented Combinatoric Framework. We will see an example on this page. So it does not requires any external BNF formulation and saves an extra grammar compilation compared to classic Parsers like Bison or Antler. It neither implement a Functional Combinatoric Framework like in Parsec or JParser, because Object Oriented is best suited to Object Oriented languages like Java.

Features

  • Optimized PEG, packrat algorithm
  • Lexer-less, to support legacy languages like Cobol
  • Object Oriented Combinatoric Framework (no BNF), an elegant and expressive way to write language grammar
  • Both LL and LR grammar support (overcome the classical LL parsers grammar limits, like E -> E + E | Num)
  • Grammar semantic analysis to prevent common errors
  • Smart and simpler way to build the Abstract Syntax Tree
  • Two type of AST support: weakly typed composite and strongly typed one
  • Possibility to compile the grammar to a .jar library, for minimal footprint, maximum speed and embedability
  • Full support of Android (Jdk6 in interpretation and compilation mode)
Clone this wiki locally