Feedback on compiler book proposal sought

"Pat Terry" <CSPT@giraffe.ru.ac.za>
Tue, 24 Jan 1995 20:04:42 GMT

          From comp.compilers

Related articles
Feedback on compiler book proposal sought CSPT@giraffe.ru.ac.za (Pat Terry) (1995-01-24)
| List of all articles for this month |

Newsgroups: comp.compilers
From: "Pat Terry" <CSPT@giraffe.ru.ac.za>
Keywords: books, question
Organization: Rhodes University
Date: Tue, 24 Jan 1995 20:04:42 GMT

Request for feedback - with rewards.


(Please reply by e-mail, rather than clutter up the news groups. If they
are interesting, I shall summarize the replies).


Some readers of this group may recognize my name as the author of
"Programming Language Translation - A Practical Approach" (Addison Wesley,
1986), a book that concentrated on recursive descent parsing at a fairly
introductory level, heavily case study based, with Pascal as the
implementation language.


During the last few years there have been several shifts in compiler writing
courses, and I am close to completing a second edition, which presently uses
Modula-2 as the implementation language, and makes use of Coco/R as a
compiler tool. I have endeavoured to track the shifts, while still keeping
the general level of the book where it was.


On approaching Addison Wesley with the proposal, the editors asked me to put
out a request on the net for feedback, and I would be grateful to have
comment from readers of this group who are involved in teaching compilers on
points such as


(a) Present course objectives


(b) The approach used - does it emphasize theory, or is it project
          oriented, that sort of thing.


(c) The text that is presently used


(d) The level of the students taking the course


(d) The implemenation languages are used (Addison Wesley are understandably
          anxious about the interest in Modula-2 as opposed to the more obvious C
          or C++, and have suggested that the book should be redone in C or C++ -
          clearly a big job!)


(e) Whether the course is based around, or emphasizes the use of compiler
          writing tools, and if so, which


(f) How you gauge the acceptability or otherwise of a book on the lines
          suggested above, namely essentially confined to recursive descent
          parsing, but with attribute grammars used, and some use of compiler
          tools.


Simon Plumtree of Addison Wesley has gone so far as to say that if anyone is
ineterested, I could e-mail them my synopsis and a few further details, and
anyone who comments on this in more detail can get a free book from them,
which sounds a useful incitement.


For the moment let me just summarize for those who might know my earlier
book:


    - There is much greater emphasis placed on the role of grammars and syntax
        directed translation than before. New material has been introduced on
        attributed grammars, and the existing material has been rewritten in
        places to place the practical aspects on a firmer theoretical
        foundation.


    - Recent courses have tended to describe, or stress, the use of compiler
        writing tools. Rather than to YACC, I chose to use Coco/R, which
        produces recursive descent compilers from attributed grammars: compilers
        effectively of the sort that an LL(1) approach to compiler writing
        suggests might be hand crafted anyway.


    - Modula-2 is far better suited to the task (it is also the language used
        internally to at least one variant of Coco/R). The case studies take
        great advantage of the possibility for decomposition provided by
        Modula-2, and act as good examples of software engineering in their own
        right.


    - Various omissions from the first edition, such as the use of hash
        tables, are now covered.


    - The exercises, already a strong feature of the first edition, have been
        extended further.


    - The Modula-2 sources are portable across all PC compilers I know of, and
        probably many others as well, with only a very small amount of effort.
        As before, adopters of the book would be encouraged to obtain the
        software, which I would envisage making available by anonymous ftp.


Two apparently direct competitors have been published by Prentice Hall this
last year. One is by Julian Ullman of King's College, London (not the
Ullman of Aho, Sethi and Ullman). This book "Compiling in Modula-2 - a
first introduction to classical recursive descent compiling" (0-13-088741-2)
describes the development of a compiler for a subset of Modula (ie a more
complex case study than mine), using Modula as the vehicle, and generating
code that has the appearance of assembler language for an IBM PC, along with
an assembler and interpreter for this. It is much weaker on theoretical
underpinning, and makes no use of compiler tools, or of attributed grammars.


The other is a very nicely written and very readable book by John Elder of
Queens, Belfast, in the P/Hall red-and-white series. In ""Compiler
Construction - a recursive descent model" (0-13-291139-6) John seems to have
hit a very good balance between detail and overview, always a difficult
thing to do in this highly technical sort of text. This book also describes
the development of a recursive descent system for a (well-defined) subset
language, using Modula-2 very professionally in a very well decomposed and
structured system. However, Elder does not make use of attributed grammars,
nor does he mention compiler writing tools, so my book scores over it in
that respect even though (at least at present), mine is not as thorough on
code generation, for example.


Mant thanks for reading this far. I look forward to hearing from you.




Pat Terry, Computer Science, Rhodes University, GRAHAMSTOWN 6140, RSA
cspt@cs.ru.ac.za or cspt@giraffe.ru.ac.za or pdterry@psg.com
Voice +27-461-318291 or +27-461-318292 FAX +27-461-25049
--


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.