summaryrefslogtreecommitdiff
path: root/packages/lemon/files/lemon.1
blob: 914ee070138b73ea795814197e6c4583c1f22e1a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
.Dd 2002-10-04
.Dt LEMON 1
.Os "Debian GNU/Linux"
.\" Manual page created by Guus Sliepen <guus@debian.org>
.Sh NAME
.Nm lemon
.Nd The Lemon Parser Generator
.Sh SYNOPSIS
.Nm
.Op Fl bcgmqsx
.Ar input
.Sh DESCRIPTION
.Nm
is an LALR(1) parser generator for C or C++.
It does the same job as bison and yacc.
But 
.Nm
is not another bison or yacc clone.
It uses a different grammar syntax which is designed to reduce the number of coding errors.
.Nm
also uses a more sophisticated parsing engine that is faster than yacc and bison
and which is both reentrant and thread-safe.
Furthermore, 
.Nm
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.
.Pp
.Nm
will read the grammer from
.Ar input
and write out a parser for that grammar in the C language.
.Sh OPTIONS
.Bl -tag -width indent
.It Fl b
Print only the basis in report.
.It Fl c
Don't compress the action table.
.It Fl g
Print grammar without actions.
.It Fl m
Output a makeheaders compatible file.
.It Fl q
(Quiet) Don't print the report file.
.It Fl s
Print parser stats to standard output.
.It Fl x
Print the version number.
.El
.Sh FILES
.Bl -tag -width indent
.It Pa /usr/share/lemon/lempar.c
Driver template for the
.Nm
parser generator.
.El
.Sh AUTHOR
.Nm
has been written by
.An D. Richard Hipp Aq drh@hwaci.com .
.Pp
This manual page was written by
.An Guus Sliepen Aq guus@debian.org
for the Debian GNU/Linux system.