Lemon is an LALR parser generator for C or C++.
It does the same job as "bison" and "yacc". But lemon is
not another bison or yacc clone. It uses a different
grammar syntax which is designed to reduce the number of
coding errors. Lemon also uses a more sophisticated parsing
engine that is faster than yacc and bison and which is both
reentrant and thread-safe. Furthermore, Lemon implements
features that can be used to eliminate resource leaks,
making it suitable for use in long-running programs such as
graphical user interfaces or embedded controllers.