YACC.1
上传用户:datang2001
上传日期:2007-02-01
资源大小:53269k
文件大小:2k
源码类别:

操作系统开发

开发平台:

C/C++

  1. ." %W% %R% (Berkeley) %E%
  2. ."
  3. .TH YACC 1 "July 15, 1990"
  4. .UC 6
  5. .SH NAME
  6. yacc - an LALR(1) parser generator
  7. .SH SYNOPSIS
  8. .B yacc [ -dlrtv ] [ -b
  9. .I file_prefix
  10. .B ] [ -p
  11. .I symbol_prefix
  12. .B ]
  13. .I filename
  14. .SH DESCRIPTION
  15. .I Yacc
  16. reads the grammar specification in the file
  17. .I filename
  18. and generates an LR(1) parser for it.
  19. The parsers consist of a set of LALR(1) parsing tables and a driver routine
  20. written in the C programming language.
  21. .I Yacc
  22. normally writes the parse tables and the driver routine to the file
  23. .IR y.tab.c.
  24. .PP
  25. The following options are available:
  26. .RS
  27. .TP
  28. fB-b fIfile_prefixfR
  29. The
  30. .B -b
  31. option changes the prefix prepended to the output file names to
  32. the string denoted by
  33. .IR file_prefix.
  34. The default prefix is the character
  35. .IR y.
  36. .TP
  37. .B -d
  38. The fB-dfR option causes the header file
  39. .IR y.tab.h
  40. to be written.
  41. .TP
  42. .B -l
  43. If the
  44. .B -l
  45. option is not specified,
  46. .I yacc
  47. will insert #line directives in the generated code.
  48. The #line directives let the C compiler relate errors in the
  49. generated code to the user's original code.
  50. If the fB-lfR option is specified,
  51. .I yacc
  52. will not insert the #line directives.
  53. &#line directives specified by the user will be retained.
  54. .TP
  55. fB-p fIsymbol_prefixfR
  56. The
  57. .B -p
  58. option changes the prefix prepended to yacc-generated symbols to
  59. the string denoted by
  60. .IR symbol_prefix.
  61. The default prefix is the string
  62. .IR yy.
  63. .TP
  64. .B -r
  65. The
  66. .B -r
  67. option causes
  68. .I yacc
  69. to produce separate files for code and tables.  The code file
  70. is named
  71. .IR y.code.c,
  72. and the tables file is named
  73. .IR y.tab.c.
  74. .TP
  75. .B -t
  76. The
  77. .B -t
  78. option changes the preprocessor directives generated by
  79. .I yacc
  80. so that debugging statements will be incorporated in the compiled code.
  81. .TP
  82. .B -v
  83. The
  84. .B -v
  85. option causes a human-readable description of the generated parser to
  86. be written to the file
  87. .IR y.output.
  88. .RE
  89. .PP
  90. If the environment variable TMPDIR is set, the string denoted by
  91. TMPDIR will be used as the name of the directory where the temporary
  92. files are created.
  93. .SH FILES
  94. .IR y.code.c
  95. .br
  96. .IR y.tab.c
  97. .br
  98. .IR y.tab.h
  99. .br
  100. .IR y.output
  101. .br
  102. .IR /tmp/yacc.aXXXXXX
  103. .br
  104. .IR /tmp/yacc.tXXXXXX
  105. .br
  106. .IR /tmp/yacc.uXXXXXX
  107. .SH DIAGNOSTICS
  108. If there are rules that are never reduced, the number of such rules is
  109. reported on standard error.
  110. If there are any LALR(1) conflicts, the number of conflicts is reported
  111. on standard error.