]> granicus.if.org Git - flex/commitdiff
Initial revision
authorVern Paxson <vern@ee.lbl.gov>
Sun, 10 Apr 1988 20:55:02 +0000 (20:55 +0000)
committerVern Paxson <vern@ee.lbl.gov>
Sun, 10 Apr 1988 20:55:02 +0000 (20:55 +0000)
NEWS [new file with mode: 0644]
README [new file with mode: 0644]

diff --git a/NEWS b/NEWS
new file mode 100644 (file)
index 0000000..74288e2
--- /dev/null
+++ b/NEWS
@@ -0,0 +1,17 @@
+Changes between beta-test release of Feb. '88 and initial release:
+
+       - many files renamed to remove "flex" suffix
+       - input() routine added to compressed and fast skeletons
+       - unput() routine added to compressed skeleton
+       - -d, -ce support for fast scanners
+       - symbol table extended to avoid ugly casts of ints <-> char *'s;
+         this may relieve MS-DOS woes
+       - actions are now separated with YY_BREAK instead of simple "break"'s
+       - fixed bug causing core-dumps if skeleton file could not be opened
+       - fixed bugs in logic deciding which options cannot be intermixed
+       - initial start condition can now be referred to as "INITIAL"
+       - fixed bug which would incorrectly computer trailing context
+         count for a pattern like "(foo){3}"; now this is considered
+         "variable length", even though it isn't.
+       - block comments allowed between rules
+       - misc. typos corrected
diff --git a/README b/README
new file mode 100644 (file)
index 0000000..9354207
--- /dev/null
+++ b/README
@@ -0,0 +1,126 @@
+This is the initial release of flex, a replacement for the lex(1)
+tool.  As the copyright indicates, this distribution can be freely
+redistributed.
+
+Some notes on the distribution:
+
+    Yes, there are some niggling lex features which are not available which
+    seem like they'd be easy to add.  They're not, or if they are then the
+    straight-forward implementation of them would slow down the scanner.
+    Unfortunately I am unable to do any further work on flex other than bug
+    fixes, so if there's something you've just gotta have, you'd better
+    be willing to dive into the code.  I'll be happy to give (fairly
+    high-level) advice on how to proceed.
+
+    The compressed tables have been tested pretty thoroughly in the past,
+    though may be suffering from bit-rot.  The fast/full tables have been
+    recently implemented and are more likely to have bugs.
+
+    For a System V machine, add the #define "SV".  Not guaranteed to do
+    the full job, but a step in the right direction.
+
+    Flex has been successfully ported to Sun Unix and 4.3BSD Vax Unix.
+
+
+The flex distribution consists of the following files:
+
+       README          This message
+
+       Makefile
+       flexdef.h
+       parse.y
+       scan.l
+       ccl.c
+       dfa.c           flex sources
+       ecs.c
+       main.c
+       misc.c
+       nfa.c
+       scan.c
+       sym.c
+       tblcmp.c
+       yylex.c
+
+       flex.skel
+       flex.fastskel
+       flexskelcom.h   skeleton scanner sources
+       flexskeldef.h
+       fastskeldef.h
+
+       flex.1          manual entry
+
+       Timings         a brief note comparing timings of flex vs. lex
+
+The files are packaged as three compressed shell archives, ~90Kb in size
+total.  Create a directory where you want flex to live, cd there, and use
+
+       uncompress flexdist.1.Z
+       uncompress flexdist.2.Z
+       uncompress flexdist.3.Z
+       sh flexdist.1
+       sh flexdist.2
+       sh flexdist.3
+
+to extract them.
+
+Either move {flexskelcom.h,flexskeldef.h,fastskeldef.h} into /usr/include
+or edit {flex.skel,flex.fastskel,flexskeldef.h,fastskeldef.h,scan.c}
+and wire in the full pathname of where you are going to keep the include files.
+
+Decide where you want to keep {flex.skel,flex.fastskel} (suggestion:
+/usr/local/lib) and move it there.  Edit "Makefile" and change the
+definitions of SKELETON_FILE and F_SKELETON_FILE to reflect the full
+pathnames of {flex.skel,flex.fastskel}.
+
+To make flex for the first time, use:
+
+    make first_flex
+
+which uses a pre-generated copy of the scanner whose source is in flex.
+For subsequent makes, just use:
+
+    make
+
+Assuming it builds successfully, you can test it using
+
+    make test
+
+The "diff" should not show any differences.
+
+If you're feeling adventurous, rebuild scan.c using various
+combinations of FLEX_FLAGS, each time trying "make test" when
+you're done.  To rebuild it, do
+
+       rm scan.c
+       make FLEX_FLAGS="..."
+
+where "..." is one of:
+
+       -ist -c
+       -ist -ce
+       -ist -cm
+       -istf
+       -istF
+
+and testing using:
+
+       make FLEX_FLAGS="..." test
+
+
+Format the manual entry using
+
+    nroff -man flex.1
+
+
+Please send problems and feedback to:
+
+       vern@lbl-{csam,rtsg}.arpa  or  ucbvax!lbl-csam.arpa!vern
+
+       Vern Paxson
+       Real Time Systems Group
+       Bldg. 46A
+       Lawrence Berkeley Laboratory
+       1 Cyclotron Rd.
+       Berkeley, CA 94720
+
+       (415) 486-6411