home *** CD-ROM | disk | FTP | other *** search
/ Fish 'n' More 2 / fishmore-publicdomainlibraryvol.ii1991xetec.iso / fish / misc_utils / yacc_419 / src / rcs / manpage,v < prev    next >
Text File  |  1990-07-14  |  3KB  |  151 lines

  1. head     1.1;
  2. branch   ;
  3. access   ;
  4. symbols  ;
  5. locks    ; strict;
  6. comment  @# @;
  7.  
  8.  
  9. 1.1
  10. date     90.07.14.18.55.23;  author loftus;  state Exp;
  11. branches ;
  12. next     ;
  13.  
  14.  
  15. desc
  16. @@
  17.  
  18.  
  19.  
  20. 1.1
  21. log
  22. @Initial revision
  23. @
  24. text
  25. @.\"    %W%    %R% (Berkeley) %E%
  26. .\"
  27. .TH YACC 1 "June 3, 1990"
  28. .UC 6
  29. .SH NAME
  30. Yacc \- an LALR(1) parser generator
  31. .SH SYNOPSIS
  32. .B yacc [ -dlrtv ] [ -b
  33. .I prefix
  34. .B ]
  35. .I filename
  36. .SH DESCRIPTION
  37. .I Yacc
  38. reads the grammar specification in the file
  39. .I filename
  40. and generates an LR(1) parser for it.
  41. The parsers consist of a set of LALR(1) parsing tables and a driver routine
  42. written in the C programming language.
  43. .I Yacc
  44. normally writes the parse tables and the driver routine to the file
  45. .IR y.tab.c.
  46. .PP
  47. The following options are available:
  48. .RS
  49. .TP
  50. \fB-b \fIprefix\fR
  51. The
  52. .B -b
  53. option changes the prefix prepended to the output file names to
  54. the string denoted by
  55. .IR prefix.
  56. The default prefix is the character
  57. .IR y.
  58. .TP
  59. .B -d
  60. The \fB-d\fR option causes the header file
  61. .IR y.tab.h
  62. to be written.
  63. .TP
  64. .B -l
  65. If the
  66. .B -l
  67. option is not specified,
  68. .I yacc
  69. will insert \#line directives in the generated code.
  70. The \#line directives let the C compiler relate errors in the
  71. generated code to the user's original code.
  72. If the \fB-l\fR option is specified,
  73. .I yacc
  74. will not insert the \#line directives.
  75. \&\#line directives specified by the user will be retained.
  76. .TP
  77. .B -r
  78. The
  79. .B -r
  80. option causes
  81. .I yacc
  82. to produce separate files for code and tables.  The code file
  83. is named
  84. .IR
  85. y.code.c,
  86. and the tables file is named
  87. .IR y.tab.c.
  88. (The
  89. .B -r
  90. option has not yet been implemented.)
  91. .TP
  92. .B -t
  93. The
  94. .B -t
  95. option changes the preprocessor directives generated by
  96. .I yacc
  97. so that debugging statements will be incorporated in the compiled code.
  98. .TP
  99. .B -v
  100. The
  101. .B -v
  102. option causes a human-readable description of the generated parser to
  103. be written to the file
  104. .IR y.output.
  105. .RE
  106. .PP
  107. If the environment variable TMPDIR is set, the string denoted by
  108. TMPDIR will be used as the name of the directory where the temporary
  109. files are created.
  110. .SH TABLES
  111. There is a program \fI:yyfix\fR
  112. that extracts tables from \fIyacc\fR-generated
  113. files.
  114. The program takes the names of the tables as its command-line arguments.
  115. The names of the tables generated by this version of
  116. .I yacc
  117. are
  118. .IR yylhs,
  119. .IR yylen,
  120. .IR yydefred,
  121. .IR yydgoto,
  122. .IR yysindex,
  123. .IR yyrindex,
  124. .IR yygindex,
  125. .IR yytable,
  126. and
  127. .IR yycheck.
  128. Two additional tables,
  129. .I yyname
  130. and
  131. .I yyrule,
  132. are created if YYDEBUG is defined and nonzero.
  133. .SH FILES
  134. .IR y.tab.c
  135. .br
  136. .IR y.tab.h
  137. .br
  138. .IR y.output
  139. .br
  140. .IR /tmp/yacc.aXXXXXX
  141. .br
  142. .IR /tmp/yacc.tXXXXXX
  143. .br
  144. .IR /tmp/yacc.uXXXXXX
  145. .SH DIAGNOSTICS
  146. If there are rules that are never reduced, the number of such rules is
  147. reported on standard error.
  148. If there are any LALR(1) conflicts, the number of conflicts is reported
  149. on standard error.
  150. @
  151.