Lemon Parser Generator

Lemon Parser Generator
Developer(s) D. Richard Hipp
Written in C
Operating system Cross-platform
Type Parser generator
License Public domain
Website www.hwaci.com/sw/lemon/

Lemon is a parser generator, maintained as part of the SQLite project, that generates an LALR parser in the C programming language from an input context-free grammar. The generator is quite simple, implemented in a single C source file with another file used as a template for output. Lexical analysis is performed externally.

Lemon is similar to bison and yacc; however it is not compatible with these programs. The grammar input format is different, so as to help prevent common coding errors. Other distinctive features include a reentrant, thread-safe output parser, and the concept of "non-terminal destructors" that try to make it easier to avoid leaking memory.

SQLite uses Lemon with a hand-coded tokenizer to parse SQL strings.

Lemon, in combination with re2c and a re2c wrapper called Perplex, are used[1][2][3] in BRL-CAD as platform-agnostic and easily compilable alternatives to Flex and Bison. This combination is also used with STEPcode.[4]

Notes

References

  • "The LEMON Parser Generator". Retrieved 2008-12-24.
  • "Architecture of SQLite". 2008-11-01. Retrieved 2008-12-24.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.