home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 22 gnu / 22-gnu.zip / BYACC.ZIP / NEW_FEAT < prev    next >
Text File  |  1989-11-22  |  3KB  |  55 lines

  1.      This version of Berkeley Yacc has been extensively reorganized and
  2. contains many new features.  It is an amalgam of three earlier versions
  3. of Berkeley Yacc.  It is largely untested, so expect it to contain bugs.
  4. When bugs are found report them to corbett@berkeley.edu.  Please
  5. include small examples if possible.
  6.  
  7.      Despite my pleas not to be told of undocumented features of AT&T Yacc,
  8. I have received unsolicited descriptions of such features.  Telling me of
  9. such features places the public-domain status of Berkeley Yacc at risk.
  10. Please do not send me descriptions of undocumented features.  On the
  11. other hand, I would be very interested in learning of documented
  12. features I have not implemented.
  13.  
  14.      The -l and -t options have been implemented.  The -l option tells
  15. Yacc not to include #line directives in the code it produces.  The -t
  16. option causes debugging code to be included in the compiled parser.
  17.  
  18.      The code for error recovery has been changed to implement the same
  19. algorithm as AT&T Yacc.  There will still be differences in the way
  20. error recovery works because AT&T Yacc uses more default reductions
  21. than Berekeley Yacc.
  22.  
  23.      The environment variable TMPDIR determines the directory where
  24. temporary files will be created.  If TMPDIR is defined, temporary files
  25. will be created in the directory whose pathname is the value of TMPDIR.
  26. By default, temporary files are created in /tmp.
  27.  
  28.      The keywords are now case-insensitive.  For example, %nonassoc,
  29. %NONASSOC, %NonAssoc, and %nOnAsSoC are all equivalent.
  30.  
  31.      Commas and semicolons that are not part of C code are treated as
  32. commentary.
  33.  
  34.      Line-end comments, as in BCPL, are permitted.  Line-end comments
  35. begin with // and end at the next end-of-line.  Line-end comments are
  36. permitted in C code; they are converted to C comments on output.
  37.  
  38.      The form of y.output files has been changed to look more like
  39. those produced by AT&T Yacc.
  40.  
  41.      A new kind of declaration has been added.  The form of the declaration
  42. is
  43.  
  44.       %ident string
  45.  
  46. where string is a sequence of characters begining with a double quote
  47. and ending with either a double quote or the next end-of-line, whichever
  48. comes first.  The declaration will cause a #ident directive to be written
  49. near the start of the output file.
  50.  
  51.      If a parser has been compiled with debugging code, that code can be
  52. enabled by setting an environment variable.  If the environment variable
  53. YYDEBUG is set to 0, debugging output is suppressed.  If it is set to 1,
  54. debugging output is written to standard output.
  55.