[2] in Athena Bugs

home help back first fref pref prev next nref lref last post

[Jonathan Rosenberg: Problem Found !!]

daemon@ATHENA.MIT.EDU (Robert S. French)
Wed Mar 9 23:33:58 1988

Date: Tue, 8 Mar 88 15:55:10 EST
From: "Robert S. French" <rfrench@ATHENA.MIT.EDU>
To: bugs@ATHENA.MIT.EDU
Anybody have any clue as to why one of us (Athena or CMU) is running a
broken version of lex?

			Rob

----- Begin Forwarded Message
Date: Tue,  8 Mar 88 14:23:44 -0500 (EST)
From: Jonathan Rosenberg <jr+@andrew.cmu.edu>
To: rfrench@ATHENA.MIT.EDU
Subject: Problem Found !!
Cc: Nathaniel Borenstein <nsb+@andrew.cmu.edu>,
        "Craig F. Everhart" <cfe+@andrew.cmu.edu>,
        Adam Stoller <ghoti+@andrew.cmu.edu>,
        Jonathan Rosenberg <jr+@andrew.cmu.edu>


Rob,

We (Nathaniel & I) just found the problem with the address parsing routines.  
This is very strange: the problem is that your lex(1) is producing different 
output than ours.  In the file "lex.yy.c", which is the output from lex, you 
will find the following line

if (yytext[0] == 0 && feof(yyin))

The output from our lex for this line is

if (yytext[0] == 0 /* && feof(yyin) */)

This is the only difference between the corresponding lex.yy.c. files!!  This, 
of course, is also the cause of the problem: because the address is read from 
memory, feof(stdin) will never be true & the lex routines don't know when to 
stop.

Two things:
(i) You should be able to get cui/messages to run by making the above change 
in lex.yy.c

(ii) Do you have any idea whose lex is "correct" ???  Why is yours different 
than ours?

Jonathan Rosenberg



----- End Forwarded Message

home help back first fref pref prev next nref lref last post