Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Path: utzoo!mnetor!seismo!rutgers!sri-spam!ames!ucbcad!ucbvax!jade!violet.berkeley.edu!ehughes
From: ehughes@violet.berkeley.edu
Newsgroups: comp.lang.c,comp.sys.ibm.pc,comp.unix.wizards
Subject: Help!  DOS version of LEX needed.
Message-ID: <4294@jade.BERKELEY.EDU>
Date: Tue, 7-Jul-87 13:31:50 EDT
Article-I.D.: jade.4294
Posted: Tue Jul  7 13:31:50 1987
Date-Received: Sat, 11-Jul-87 04:23:28 EDT
Sender: usenet@jade.BERKELEY.EDU
Reply-To: ehughes@violet.berkeley.edu ()
Distribution: na
Organization: University of California, Berkeley
Lines: 50
Keywords: LEX
Xref: mnetor comp.lang.c:2909 comp.sys.ibm.pc:5439 comp.unix.wizards:3164


Help!  I need a LEX that will run under DOS 3.x.  The only one I know of is
the inadequate one that I am currently using (Austin Code Works).  If you can
help me send mail to ucbvax!violet!ehughes, or post if you think it of 
general interest.
 
Eric Hughes
ubcvax!violet!ehughes, etc. etc.
 
 
[ Sob story follows. ]
[ If you have just gotten used to your local system weirdnesses,
 don't read this.  :,)  (smiley face of Steve Martin in "Roxanne") ]
 
The LEX I have from Austin Code Works (ACW) is a port of the DECUS Lex by 
Charles Forsyth.  The original copyright date is 1978.  The most recent 
revision date is 1982.  The woman at ACW said they they had a new version,
but that she didn't know what it was, what its date was, or what new
features it had.  I wasn't about to spend day rates on the phone waiting for
her to look it up, either.  (BTW, ACW is a real bargain, I wasn't going to
hassle them over this.)
 
The version I have does not have the following capabilities:
1)  No ? (optional) marker
2)  No + (repeated >=1) marker
3)  No ^$ (line context) markers
4)  No 
5)  No {} repetitions, and definitions are not standard
6)  Not even . for any character!
Definitions are done with the syntax  
        expression_name = regular_expression ;
All strings must therefore be quoted since {} are not used to expand
a definition.  (OK, but messy to look at.)
 
(Wait, but there's more you get :,)
The action words ECHO and REJECT are not supported, although there is a 
which impements ECHO.  The external 'yytext' is not there, although there
is a function to return the pointer.  The function 'yywrap()' is not
supported.
 
And to add insult to injury, the DFA is not minimized;  the analyzers created
are very slow.
 
So, if anybody has a better one that I can get, I would be most grateful.
 
Eric Hughes
ubcvax!violet!ehughes, etc. etc.
 
P.S.  What's even worse is that the YACC I have from ACW references the 
paper by S.C. Johnson as its documentation, i.e. it's perfectly standard.