The Lemon program is an LALR(1) parser generator. It takes a context free grammar and converts it into a subroutine that will parse a file using that grammar. Lemon is similar to much more famous programs Yacc and Bison. But lemon is not compatible with either of them; there are several important differences: - Lemon using a different grammar syntax which is less prone to programming errors - Lemon generates a parser that is faster than Yacc or Bison parsers (according to the author) - The parser generated by Lemon is both re-entrant and thread-safe - Lemon includes the concept of a non-terminal destructor, which makes it much easier to write a parser that does not leak memory