BED-Con talk The Parser Java parser generators

Java parser generators

  • JavaCC
    • Combines the functionality of a lexer and parser
    • Contains helpers to generate abstract syntax trees
    • Can generate BNF (Backus-Naur-Form) documentation of a gammar
  • ANTLR
    • Similiar feature set
    • May use a diffent lexer than its own
    • Used by Jython
  • JLex
    • Lexical analyzers generator for Java
    • Supposed to be the Java version of “lex” (for Java in Java)
  • JFlex
    • Successor of JLex
    • Used by JRuby
  • CUP
    • Parser generator for Java
    • Supposed to be used in combination with JLex
  • BYacc/J
    • Extension of byacc to generate Java code instead of C
    • Actually written in C
  • Jay
    • Adopted by JRuby
    • Actually written in C
    • Based on byacc, but uses templates/skeletons to generate its outputs
    • Skeletons for Java and C# are provided
  • parboiled
    • Not a classic generator but a library to write parsers
    • Bindings for Java and Scala