Lemon (parser generator)

Source: Wikipedia, the free encyclopedia.
Lemon
Parser generator
LicensePublic domain
Websitewww.hwaci.com/sw/lemon/ Edit this at Wikidata

Lemon is a

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

Lemon is similar to the programs

parser, and the concept of non-terminal destructors that try to make it easier to avoid memory leaks
.

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

Lemon, together with re2c and a re2c wrapper named 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]

OpenFOAM expression evaluation[5] uses a combination of ragel and a version of lemon that has been minimally modified[6] to ease C++ integration without affecting C integration.[7] The parser grammars are augmented with m4 macros.

Notes

  1. ^ Brlcad; Carlmoore; Starseeker (2017-11-30). "BRL-CAD: The Lemon Parser Generator". SourceForge. Slashdot Media. Retrieved 2019-09-21.
  2. ^ Bumbulis, Peter (2011-08-23). "Read Me". SourceForge. Slashdot Media. Retrieved 2019-09-21.
  3. ^ Boerger, Marcus (2014-06-24). "Read Me". SourceForge. Slashdot Media. Retrieved 2019-09-21.
  4. ^ "Read Me". STEPcode. GitHub. 2015. Archived from the original on 2018-04-10. Retrieved 2019-09-21.{{cite web}}: CS1 maint: unfit URL (link)
  5. ^ "New expressions syntax". OpenFOAM. OpenCFD. 2019-12-23. Retrieved 2020-01-13.
  6. ^ "wmake sources". OpenFOAM. OpenCFD. 2019-09-27. Retrieved 2020-01-13.
  7. ^ "README". OpenFOAM. OpenCFD. 2019-09-27. Retrieved 2020-01-13.

References

External links