Re: [KBUILD] Re: Announcing CML2, a replacement for the kbuild system

From: Eric S. Raymond (esr@thyrsus.com)
Date: Fri May 26 2000 - 19:57:04 EST


Jonathan Walther <krooger@debian.org>:
> bash-2.03$ python
> Python 1.5.2 [GCC 2.95.2 19991024 (release)] on openbsd2
> Copyright 1991-1995 Stichting Mathematisch Centrum, Amsterdam
> >>>print "lex and yacc were invented for a reason."
> lex and yacc were invented for a reason.
> >>>^D
> bash-2.03$

Yes, yacc and lex were invented for a reason. Happens I'm quite
familiar with that reason and more than averagely skilled at using
both of them, as you can verify by looking at any of the following
projects of mine: keybind, intercal, cupl, pilot, or fetchmail.

Now, if you actually look at these, you might decide that I'm really
an incompetent fuckup. But if that's the case, then we don't have
much of a conversation -- I'm going to do a poor job whether I
use yacc/lex or Python or anything else.

So, just for the sake of conversation, let's assume that I knew what I
was doing on those five yacc/lex projects (and half a dozen other ones
that haven't been published for this or that reason). You don't have
to consider me a tremendously bright spark to believe that after doing
eleven or so projects with these tools over a period of about fifteen
years I have a pretty fair idea what they're good for.

When I wrote my first yacc/lex application, Bison and flex didn't
*exist* yet. If you're among the younger members of this list, it is
quite possible that you were still in potty-training at the time.

It is also a matter of record that in 1991, nine years ago, I was already
sufficiently intimate with yacc and lex to write the INTERCAL compiler
over a weekend. You are of course free to assume that I've succumbed to
galloping senility rather than actually learning more since then. But
would you consider that conjecture a safe bet?

Assuming that all that experience actually means something leads us to
the next question -- since I know these tools so well, why didn't I
use them for this project?

Could it be that they might have *gasp* limitations? Could it be that
yacc and lex are not the optimal answer to every parsing problem in
the known universe? Might we entertain the possibility, however
remote and unlikely it might seem, that I have one or two clues and
have actually employed same?

I respectfully suggest you meditate on the phrase "teaching your
grandmother to suck eggs" until you achieve enlightenment.

-- 
		<a href="http://www.tuxedo.org/~esr">Eric S. Raymond</a>

Love your country, but never trust its government. -- Robert A. Heinlein.

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Wed May 31 2000 - 21:00:16 EST