home *** CD-ROM | disk | FTP | other *** search
/ The C Users' Group Library 1994 August / wc-cdrom-cusersgrouplibrary-1994-08.iso / vol_200 / 290_01 / readme < prev    next >
Text File  |  1990-05-14  |  3KB  |  116 lines

  1. This is the initial release of flex, a replacement for the lex(1)
  2. tool.  As the copyright indicates, this distribution can be freely
  3. redistributed.
  4.  
  5. Some notes on the distribution:
  6.  
  7.     Yes, there are some niggling lex features which are not available which
  8.     seem like they'd be easy to add.  They're not, or if they are then the
  9.     straight-forward implementation of them would slow down the scanner.
  10.     Unfortunately I am unable to do any further work on flex other than bug
  11.     fixes, so if there's something you've just gotta have, you'd better
  12.     be willing to dive into the code.  I'll be happy to give (fairly
  13.     high-level) advice on how to proceed.
  14.  
  15.     The compressed tables have been tested pretty thoroughly in the past,
  16.     though may be suffering from bit-rot.  The fast/full tables have been
  17.     recently implemented and are more likely to have bugs.
  18.  
  19.     For a System V machine, add the #define "SV".  Not guaranteed to do
  20.     the full job, but a step in the right direction.
  21.  
  22.     Flex has been successfully ported to Sun Unix and 4.3BSD Vax Unix.
  23.  
  24.  
  25. The flex distribution consists of the following files:
  26.  
  27.     README        This message
  28.  
  29.     Changes        Differences between this release and the beta-test
  30.  
  31.     Makefile
  32.     flexdef.h
  33.     parse.y
  34.     scan.l
  35.     ccl.c
  36.     dfa.c        flex sources
  37.     ecs.c
  38.     main.c
  39.     misc.c
  40.     nfa.c
  41.     sym.c
  42.     tblcmp.c
  43.     yylex.c
  44.  
  45.     scan.c.dist    pre-flex'd version of scan.l
  46.  
  47.     flex.skel
  48.     flex.fastskel
  49.     flexskelcom.h    skeleton scanner sources
  50.     flexskeldef.h
  51.     fastskeldef.h
  52.  
  53.     flex.1        manual entry
  54.  
  55.     Timings        a brief note comparing timings of flex vs. lex
  56.  
  57.  
  58. Either move {flexskelcom.h,flexskeldef.h,fastskeldef.h} into /usr/include
  59. or edit {flex.skel,flex.fastskel,flexskeldef.h,fastskeldef.h,scan.c.dist}
  60. and wire in the full pathname of where you are going to keep the include files.
  61.  
  62. Decide where you want to keep {flex.skel,flex.fastskel} (suggestion:
  63. /usr/local/lib) and move it there.  Edit "Makefile" and change the
  64. definitions of SKELETON_FILE and F_SKELETON_FILE to reflect the full
  65. pathnames of {flex.skel,flex.fastskel}.
  66.  
  67. To make flex for the first time, use:
  68.  
  69.     make first_flex
  70.  
  71. which uses a pre-generated copy of the scanner whose source is in flex.
  72.  
  73. Assuming it builds successfully, you can test it using
  74.  
  75.     make test
  76.  
  77. The "diff" should not show any differences.
  78.  
  79. If you're feeling adventurous, rebuild scan.c using various
  80. combinations of FLEX_FLAGS, each time trying "make test" when
  81. you're done.  To rebuild it, do
  82.  
  83.     rm scan.c
  84.     make FLEX_FLAGS="..."
  85.  
  86. where "..." is one of:
  87.  
  88.     -ist -c
  89.     -ist -ce
  90.     -ist -cm
  91.     -ist -cfe
  92.     -ist -cFe
  93.  
  94. and testing using:
  95.  
  96.     make FLEX_FLAGS="..." test
  97.  
  98.  
  99. Format the manual entry using
  100.  
  101.     nroff -man flex.1
  102.  
  103.  
  104. Please send problems and feedback to:
  105.  
  106.     vern@lbl-{csam,rtsg}.arpa  or  ucbvax!lbl-csam.arpa!vern
  107.  
  108.     Vern Paxson
  109.     Real Time Systems Group
  110.     Bldg. 46A
  111.     Lawrence Berkeley Laboratory
  112.     1 Cyclotron Rd.
  113.     Berkeley, CA 94720
  114.  
  115.     (415) 486-6411
  116.