mirror of
git://code.qt.io/qt/qt5.git
synced 2026-04-25 22:27:49 +08:00
Long live the qt5 Qt repository
This commit is contained in:
66
gnuwin32/contrib/flex/2.5.4a/flex-2.5.4a/MISC/Borland/NOTES
Normal file
66
gnuwin32/contrib/flex/2.5.4a/flex-2.5.4a/MISC/Borland/NOTES
Normal file
@@ -0,0 +1,66 @@
|
||||
Received: from 128.140.1.1 by ee.lbl.gov for <vern@ee.lbl.gov> (8.6.9/1.43r)
|
||||
id PAA03966; Tue, 24 Jan 1995 15:03:57 -0800
|
||||
Received: from larry-le0.cc.emory.edu by
|
||||
emoryu1.cc.emory.edu (5.65/Emory_cc.4.0.1) via SMTP
|
||||
id AA24158 ; Tue, 24 Jan 95 17:18:18 -0500
|
||||
From: tkane01@unix.cc.emory.edu (Terrence O Kane)
|
||||
Received: by larry.cc.emory.edu (5.0) id AA21979; Tue, 24 Jan 1995 17:17:40 -0500
|
||||
Message-Id: <9501242217.AA21979@larry.cc.emory.edu>
|
||||
Subject: Re: Beta test for DOS
|
||||
To: vern@ee.lbl.gov (Vern Paxson)
|
||||
Date: Tue, 24 Jan 1995 17:17:38 -0500 (EST)
|
||||
In-Reply-To: <199501232138.NAA11430@daffy.ee.lbl.gov> from "Vern Paxson" at Jan 23, 95 01:38:02 pm
|
||||
X-Mailer: ELM [version 2.4 PL23]
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=US-ASCII
|
||||
Content-Transfer-Encoding: 7bit
|
||||
Content-Length: 5792
|
||||
|
||||
Vern,
|
||||
|
||||
I've made flex 2.5.0.6 successfully with no changes to the source
|
||||
code at all. I'm including the Borland 4.02 makefile and config.h
|
||||
at the end of this message.
|
||||
|
||||
When you're ready for release, I'll be happy to take care of getting
|
||||
the appropriate archive files up to Simtel if you wish.
|
||||
|
||||
I have not used this version for any of my "work-related" scanners
|
||||
yet, but have run the fastwc benchmark. The compiles were for large
|
||||
memory model and optimization for fastest possible code. The test
|
||||
machine was a Pentium-90 (hey! timing output was integer!) with
|
||||
enhanced IDE on a PCI bus and no file system caching. I ran the
|
||||
test on two different input files.
|
||||
|
||||
(Times are in seconds.)
|
||||
|
||||
The first input was a typical postscript file concatenated 10 times;
|
||||
by typical, I mean that there were relatively few spaces, lots of lines
|
||||
with no space, using lots of parentheses.
|
||||
|
||||
lines words characters
|
||||
91200 356260 5889240
|
||||
|
||||
mywc 8.89
|
||||
wc1s 15.22 default
|
||||
wc1 10.82 -Cf
|
||||
wc2 10.16 -Cf
|
||||
wc3 9.17 -Cf
|
||||
wc4 9.22 -Cf
|
||||
wc5 10.98 -Cf
|
||||
|
||||
The second test run was on a file that consisted of 20 concatenations
|
||||
of 'misc/flex.man'.
|
||||
|
||||
lines words characters
|
||||
69960 305140 2399960
|
||||
|
||||
mywc 4.01
|
||||
wc1s 6.87
|
||||
wc1 5.32
|
||||
wc2 4.95
|
||||
wc3 4.12
|
||||
wc4 4.12
|
||||
wc5 5.05
|
||||
|
||||
[[Makefile and config.h moved to separate files -VP]]
|
||||
44
gnuwin32/contrib/flex/2.5.4a/flex-2.5.4a/MISC/MVS/README
Normal file
44
gnuwin32/contrib/flex/2.5.4a/flex-2.5.4a/MISC/MVS/README
Normal file
@@ -0,0 +1,44 @@
|
||||
These patches and supplemental programs should allow porting to MVS or MVS/XA
|
||||
in an EBCDIC envrionment, using SAS C V4.00C.
|
||||
|
||||
Included are:
|
||||
-rw-r--r-- 1 swl26 1573 Jul 17 14:32 README
|
||||
-rw-rw-r-- 1 swl26 20861 Jul 17 13:41 diffs
|
||||
-rw-rw-r-- 1 swl26 5022 Jul 17 14:00 fixit.l
|
||||
-rw-rw-r-- 1 swl26 97644 Jul 17 13:42 initscan.mvs.c
|
||||
-rw-rw-r-- 1 swl26 4898 Jul 17 14:08 unfixit.l
|
||||
|
||||
The file "diffs" contains context diffs for changes to flex 2.3.
|
||||
|
||||
The file "fixit.l" contains flex sources for a program to shorten external
|
||||
variable and function names to 8 characters or less. This is required for the
|
||||
"dumb" compiler linker used.
|
||||
|
||||
The file "unfixit.l" reverses the changes in "fixit.l", to restore long names.
|
||||
This is useful when trying to build diff files as created here.
|
||||
|
||||
The file "initscan.mvs.c" is an already "flexed" version of scan.l, in an
|
||||
EBCDIC environment.
|
||||
|
||||
To install in an MVS environment, use patch to apply the diffs to flex 2.3,
|
||||
then run "fixit" on all .c, .h, .l, .y, and .skel files. Move the files
|
||||
to the MVS machine, and compile each of the .c files. (You will need a
|
||||
"yacc" functional equivalent under MVS to expand parse.y in that
|
||||
environment.) Link together, and the resulting flex should be ready to
|
||||
go. To test, run the MVSflex -is8 -Ce on the scan.l, and you should get
|
||||
back a file which is identical to initscan.mvs.c.
|
||||
|
||||
Enjoy.
|
||||
|
||||
Steven W. Layten
|
||||
Senior Engineer
|
||||
Chemical Abstracts Service
|
||||
PO Box 3012
|
||||
2540 Olentangy River Road
|
||||
Columbus, Ohio 43210
|
||||
|
||||
+1 614 421 3600 extension 3451
|
||||
|
||||
INET: swl26%cas.BITNET@CUNYVM.CUNY.Edu
|
||||
UUCP: osu-cis!chemabs!swl26
|
||||
BITNET: swl26@cas.bitnet
|
||||
76
gnuwin32/contrib/flex/2.5.4a/flex-2.5.4a/MISC/README
Normal file
76
gnuwin32/contrib/flex/2.5.4a/flex-2.5.4a/MISC/README
Normal file
@@ -0,0 +1,76 @@
|
||||
Miscellaneous flex stuff. The items which have been tested with flex 2.5 are:
|
||||
|
||||
- texinfo/, a subdirectory containing a "texinfo" version of flex(1)
|
||||
and the corresponding "info" files (contributed by Francois Pinard).
|
||||
|
||||
- VMS/, a subdirectory containing makefiles, configuration files,
|
||||
run-time support, and installation notes for building flex 2.5
|
||||
on VMS (contributed by Pat Rankin).
|
||||
|
||||
- Borland/ - makefile and config.h for Borland 4.02 compiler
|
||||
(contributed by Terrence O Kane, who notes that no source
|
||||
code changes were necessary).
|
||||
|
||||
- NT/ - Makefile and config.h for NT, contributed by Stan Adermann.
|
||||
|
||||
- OS2/ - Makefile and config.h for building flex under OS/2,
|
||||
contributed by Kai Uwe Rommel.
|
||||
|
||||
- Amiga/: notes on building flex for the Amiga, contributed
|
||||
by Andreas Scherer.
|
||||
|
||||
- parse.c, parse.h - output of running yacc (byacc, actually)
|
||||
on parse.y. If your system doesn't have a flavor of yacc available,
|
||||
copy these into the main flex source directory instead.
|
||||
|
||||
- flex.man - preformatted version of flex man page
|
||||
|
||||
|
||||
The following have been tested using flex 2.4:
|
||||
|
||||
- debflex.awk, an awk script for anotating flex debug output.
|
||||
It presently only works with gawk and mawk, not with "old"
|
||||
or "new" awk.
|
||||
|
||||
- NeXT: ProjectBuilder.app support for use in the NeXT world.
|
||||
|
||||
- Notes on building flex for the Macintosh using Think-C,
|
||||
in the Macintosh/ subdirectory.
|
||||
|
||||
- testxxLexer.l, a sample C++ program that uses flex's scanner
|
||||
class option ("-+").
|
||||
|
||||
- fastwc/, a subdirectory containing examples of how to use flex
|
||||
to write progressively higher-performance versions of the Unix
|
||||
"wc" utility. This certainly should work with 2.5, but hasn't
|
||||
been tested.
|
||||
|
||||
- Borland.old/: notes on building flex 2.4 for Borland C++ 3.1
|
||||
on MS-DOS. These shouldn't be needed for flex 2.5. Included
|
||||
only in case you encounter unanticipated difficulties.
|
||||
|
||||
- EBCDIC: contact information for building flex for EBCDIC.
|
||||
|
||||
|
||||
The following are all out-of-date with respect to flex release 2.4 (and
|
||||
in general up-to-date for flex 2.3):
|
||||
|
||||
- Atari/Atari.patches, patches for porting flex to the Atari and
|
||||
to Minix.
|
||||
|
||||
- A number of notes and Makefiles for compiling flex under MS-DOS,
|
||||
in the MSDOS/ subdirectory.
|
||||
|
||||
- Notes on building flex for MVS, in the MVS/ subdirectory.
|
||||
|
||||
If any of this is out-of-date and can be deleted, please let me know.
|
||||
|
||||
And the following is included for compatibility with some broken versions
|
||||
of bison:
|
||||
|
||||
- alloca.c, a public-domain, mostly-portable version of the
|
||||
alloca() routine (used by bison's parsers) written by D. A. Gwyn.
|
||||
|
||||
|
||||
Many thanks to those who contributed these files. Updated versions will
|
||||
be appreciated!
|
||||
56
gnuwin32/contrib/flex/2.5.4a/flex-2.5.4a/MISC/fastwc/README
Normal file
56
gnuwin32/contrib/flex/2.5.4a/flex-2.5.4a/MISC/fastwc/README
Normal file
@@ -0,0 +1,56 @@
|
||||
This directory contains some examples illustrating techniques for extracting
|
||||
high-performance from flex scanners. Each program implements a simplified
|
||||
version of the Unix "wc" tool: read text from stdin and print the number of
|
||||
characters, words, and lines present in the text. All programs were compiled
|
||||
using gcc (version unavailable, sorry) with the -O flag, and run on a
|
||||
SPARCstation 1+. The input used was a PostScript file, mainly containing
|
||||
figures, with the following "wc" counts:
|
||||
|
||||
lines words characters
|
||||
214217 635954 2592172
|
||||
|
||||
|
||||
The basic principles illustrated by these programs are:
|
||||
|
||||
- match as much text with each rule as possible
|
||||
- adding rules does not slow you down!
|
||||
- avoid backing up
|
||||
|
||||
and the big caveat that comes with them is:
|
||||
|
||||
- you buy performance with decreased maintainability; make
|
||||
sure you really need it before applying the above techniques.
|
||||
|
||||
See the "Performance Considerations" section of flexdoc for more
|
||||
details regarding these principles.
|
||||
|
||||
|
||||
The different versions of "wc":
|
||||
|
||||
mywc.c
|
||||
a simple but fairly efficient C version
|
||||
|
||||
wc1.l a naive flex "wc" implementation
|
||||
|
||||
wc2.l somewhat faster; adds rules to match multiple tokens at once
|
||||
|
||||
wc3.l faster still; adds more rules to match longer runs of tokens
|
||||
|
||||
wc4.l fastest; still more rules added; hard to do much better
|
||||
using flex (or, I suspect, hand-coding)
|
||||
|
||||
wc5.l identical to wc3.l except one rule has been slightly
|
||||
shortened, introducing backing-up
|
||||
|
||||
Timing results (all times in user CPU seconds):
|
||||
|
||||
program time notes
|
||||
------- ---- -----
|
||||
wc1 16.4 default flex table compression (= -Cem)
|
||||
wc1 6.7 -Cf compression option
|
||||
/bin/wc 5.8 Sun's standard "wc" tool
|
||||
mywc 4.6 simple but better C implementation!
|
||||
wc2 4.6 as good as C implementation; built using -Cf
|
||||
wc3 3.8 -Cf
|
||||
wc4 3.3 -Cf
|
||||
wc5 5.7 -Cf; ouch, backing up is expensive
|
||||
Reference in New Issue
Block a user