[TUHS] Archaic yacc C grammar

Steve Johnson scj at yaccman.com
Wed Oct 31 08:01:55 AEST 2018

The closest I came was when we went from a single namespace for all
structure names to a namespace for each structure, and references that
were checked using the pointer type of the structure pointer.
My code was a nightmare, and some of the old Unix code was at least a
bad dream.   I had to start out pretending to have a single
namespace, but when I saw the use of an actual structure pointer I had

to do it the new way.  As I recall when I saw something that would
not have been legal with the old rules (for example, two different
structures with the same element name but different offsets) then I
 the switch and demanded the new way.  

There were certainly system changes that were flash cut.  For
example, changing the file system format -- there was no attempt to
allow both, which meant that the conversion program got one shot to
get it right.  And it didn't always manage that...


----- Original Message -----
 david at kdbarto.org

"Steve Johnson" <scj at yaccman.com>
"The Eunuchs Hysterical Society" <tuhs at tuhs.org>
Mon, 29 Oct 2018 12:02:29 -0700
Re: [TUHS] Archaic yacc C grammar

On Oct 29, 2018, at 10:52 AM, Steve Johnson <scj at yaccman.com [1]>

We actually had a pretty good system for making changes like that. 
First, we would change
the compiler to accept both the old and the new.   Then we would
produce a warning
that on a particular date the old would no longer work.  Then we made
the old an error
and printed a message about how to fix it.   Eventually, we just let
it be a syntax error.
This process was applied many times on the way from typeless B to
strongly typed C.

Was there ever a time when a change was desired that you couldn’t
accept both
the old and the new?



[1] mailto:scj at yaccman.com

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://minnie.tuhs.org/pipermail/tuhs/attachments/20181030/3e5b1a39/attachment.html>

More information about the TUHS mailing list