1*4882a593Smuzhiyun.Dd 2002-10-04 2*4882a593Smuzhiyun.Dt LEMON 1 3*4882a593Smuzhiyun.Os "Debian GNU/Linux" 4*4882a593Smuzhiyun.\" Manual page created by Guus Sliepen <guus@debian.org> 5*4882a593Smuzhiyun.Sh NAME 6*4882a593Smuzhiyun.Nm lemon 7*4882a593Smuzhiyun.Nd The Lemon Parser Generator 8*4882a593Smuzhiyun.Sh SYNOPSIS 9*4882a593Smuzhiyun.Nm 10*4882a593Smuzhiyun.Op Fl bcgmqsx 11*4882a593Smuzhiyun.Ar input 12*4882a593Smuzhiyun.Sh DESCRIPTION 13*4882a593Smuzhiyun.Nm 14*4882a593Smuzhiyunis an LALR(1) parser generator for C or C++. 15*4882a593SmuzhiyunIt does the same job as bison and yacc. 16*4882a593SmuzhiyunBut 17*4882a593Smuzhiyun.Nm 18*4882a593Smuzhiyunis not another bison or yacc clone. 19*4882a593SmuzhiyunIt uses a different grammar syntax which is designed to reduce the number of coding errors. 20*4882a593Smuzhiyun.Nm 21*4882a593Smuzhiyunalso uses a more sophisticated parsing engine that is faster than yacc and bison 22*4882a593Smuzhiyunand which is both reentrant and thread-safe. 23*4882a593SmuzhiyunFurthermore, 24*4882a593Smuzhiyun.Nm 25*4882a593Smuzhiyunimplements features that can be used to eliminate resource leaks, 26*4882a593Smuzhiyunmaking is suitable for use in long-running programs such as graphical user interfaces or embedded controllers. 27*4882a593Smuzhiyun.Pp 28*4882a593Smuzhiyun.Nm 29*4882a593Smuzhiyunwill read the grammer from 30*4882a593Smuzhiyun.Ar input 31*4882a593Smuzhiyunand write out a parser for that grammar in the C language. 32*4882a593Smuzhiyun.Sh OPTIONS 33*4882a593Smuzhiyun.Bl -tag -width indent 34*4882a593Smuzhiyun.It Fl b 35*4882a593SmuzhiyunPrint only the basis in report. 36*4882a593Smuzhiyun.It Fl c 37*4882a593SmuzhiyunDon't compress the action table. 38*4882a593Smuzhiyun.It Fl g 39*4882a593SmuzhiyunPrint grammar without actions. 40*4882a593Smuzhiyun.It Fl m 41*4882a593SmuzhiyunOutput a makeheaders compatible file. 42*4882a593Smuzhiyun.It Fl q 43*4882a593Smuzhiyun(Quiet) Don't print the report file. 44*4882a593Smuzhiyun.It Fl s 45*4882a593SmuzhiyunPrint parser stats to standard output. 46*4882a593Smuzhiyun.It Fl x 47*4882a593SmuzhiyunPrint the version number. 48*4882a593Smuzhiyun.El 49*4882a593Smuzhiyun.Sh FILES 50*4882a593Smuzhiyun.Bl -tag -width indent 51*4882a593Smuzhiyun.It Pa /usr/share/lemon/lempar.c 52*4882a593SmuzhiyunDriver template for the 53*4882a593Smuzhiyun.Nm 54*4882a593Smuzhiyunparser generator. 55*4882a593Smuzhiyun.El 56*4882a593Smuzhiyun.Sh AUTHOR 57*4882a593Smuzhiyun.Nm 58*4882a593Smuzhiyunhas been written by 59*4882a593Smuzhiyun.An D. Richard Hipp Aq drh@hwaci.com . 60*4882a593Smuzhiyun.Pp 61*4882a593SmuzhiyunThis manual page was written by 62*4882a593Smuzhiyun.An Guus Sliepen Aq guus@debian.org 63*4882a593Smuzhiyunfor the Debian GNU/Linux system. 64