---
name: "lemon"
section: "1"
platform: "linux"
package: "lemon"
version: "3.46.1-7+deb13u2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/lemon"
---

# lemon(1)

The Lemon Parser Generator

## NAME

**lemon** – The Lemon Parser Generator

## SYNOPSIS

**lemon** \[**-bcgmqsx**\] *input*

## DESCRIPTION

**lemon** is an LALR(1) 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 is suitable for use in long-running programs such as graphical user interfaces or embedded controllers.

**lemon** will read the grammer from *input* and write out a parser for that grammar in the C language.

## OPTIONS

- **-b**

  Print only the basis in report.

- **-c**

  Don't compress the action table.

- **-g**

  Print grammar without actions.

- **-m**

  Output a makeheaders compatible file.

- **-q**

  (Quiet) Don't print the report file.

- **-s**

  Print parser stats to standard output.

- **-x**

  Print the version number.

## FILES

- */usr/share/lemon/lempar.c*

  Driver template for the **lemon** parser generator.

## AUTHOR

**lemon** has been written by D. Richard Hipp ⟨drh@hwaci.com⟩.

This manual page was written by Guus Sliepen ⟨guus@debian.org⟩ for the Debian GNU/Linux system.
