Lemon is similar to the programs Bison and Yacc, but is incompatible with both.
The grammar input format is different, 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 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.