[comp.lang.eiffel] Request for ISE post of Eiffel lex/parser for Eiffel

weiner@novavax.UUCP (Bob Weiner) (01/06/90)

About a week ago, ISE posted a complete lex/yacc grammar for the Eiffel
language version 2.2.  "Eiffel: The Libraries", written by ISE, goes on
and on about the advantages of doing lexical analysis and parsing in an
OO language.

Why not demonstrate whether there is any truth to this by posting the
same grammar in Eiffel using the classes that may be purchased with the
Eiffel environment.  If these tools actually work well, this will give
people an incentive to develop Eiffel tools in Eiffel.

I can tell everyone that there is one reason that ISE might not want to
post such a set of classes.  The current Eiffel lex/parser libraries
require that each production must have its own class and every
disjunction production (a | b | c) may use only a single production type
for each part of the disjunction, hence there will be many, many classes
for any significant grammar.  This would not be much of a problem if the
current Eiffel compiler would not assume that each class is stored in
its own file, but it does.  (This is a restriction that I'm sure ISE
will remove eventually since they will see how silly this is when they
rewrite the Eiffel compiler in Eiffel and produce hundreds of tiny
classes.  Yes, I know the automatic recompilation facilities depend on
this fact so they should be altered.  They're slow enough already that
adding a little overhead by scanning for class names in files won't have
much of a visible impact.)

Anyway, I think it would be very useful to post the Eiffel lex/parser
classes in the same spirit as the lex/yacc postings, despite the number
of classes that will need to be 'shar'ed together.  I could then work on
an Eiffel static call tree generator that lex/yacc has made too
difficult to produce.  (Of course, it would be better if ISE shipped
such a tool in the first place, considering that it is not a very
complex thing yet could provide significant help in documenting the
overall structure of an Eiffel system.

-- 
Bob Weiner, Motorola, Inc.,   USENET:  ...!gatech!uflorida!novavax!weiner
(407) 364-2087