home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #19 / NN_1992_19.iso / spool / comp / compiler / 1488 < prev    next >
Encoding:
Internet Message Format  |  1992-09-01  |  17.1 KB

  1. Xref: sparky comp.compilers:1488 news.answers:2687
  2. Path: sparky!uunet!stanford.edu!rutgers!faatcrl!iecc!compilers-sender
  3. From: compilers-request@iecc.cambridge.ma.us (John R. Levine)
  4. Newsgroups: comp.compilers,news.answers
  5. Subject: comp.compilers monthly message and Frequently Asked Questions
  6. Keywords: administrivia
  7. Message-ID: <monthly-Sep-92@comp.compilers>
  8. Date: 1 Sep 92 11:00:05 GMT
  9. Expires: Thu, 1 Oct 1992 23:59:00 GMT
  10. Sender: compilers-sender@iecc.cambridge.ma.us
  11. Followup-To: poster
  12. Organization: Compilers Central
  13. Lines: 335
  14. Approved: compilers@iecc.cambridge.ma.us
  15. Supersedes: <monthly-Aug-92@comp.compilers>
  16.  
  17. Archive-name: compilers-faq
  18.  
  19. This is the comp.compilers monthly message, last edited August 1992.
  20.  
  21. NOTE:  At the end of this message are some answers to frequently asked
  22. questions.  Please read them before you post.
  23.  
  24. -- What is comp.compilers?
  25.  
  26. It is a moderated usenet news group addressing the topics of compilers in
  27. particular and programming language design and implementation in general.
  28. It started in 1986 as a moderated mailing list, but interest quickly grew to
  29. the point where it was promoted to a news group.  Recent topics have
  30. included optimization techniques, language design issues, announcements of
  31. new compiler tools, and book reviews.
  32.  
  33. Messages come from a wide variety of people ranging from undergraduate
  34. students to well-known experts in industry and academia.  Authors live all
  35. over the world -- there are regular messages from the U.S, Canada, Europe,
  36. Australia, and Japan, with occasional ones from as far away as Malaysia.  I
  37. have no idea how large the readership is, since the anarchic nature of
  38. usenet makes it impossible to tell who reads it, but I believe that the total
  39. is in the tens of thousands.
  40.  
  41. Unless there is specific language to the contrary, each message represents
  42. only the personal opinion of its author.  I claim no compilation copyright on
  43. comp.compilers.  As far as I am concerned, anyone can reproduce any message
  44. for any purpose.  Individual authors may retain rights to their messages,
  45. although I will not knowingly post anything that does not permit unlimited
  46. distribution in any form.  If you find comp.compilers useful in writing a
  47. book, producing a product, etc., I would appreciate an acknowledgement of
  48. usenet and comp.compilers.
  49.  
  50. -- How do I receive it?
  51.  
  52. The easiest way is to read comp.compilers on a system that gets usenet news.
  53.  
  54. If you don't have access to usenet news, it's also available via E-mail via
  55. a LISTSERV forwarder at the American University.  To subscribe a person
  56. should send e-mail to listserv@american.edu with one line in the mail
  57. message (not in the subject!)  That line should read:
  58.  
  59.                         SUBSCRIBE COMPIL-L full_name
  60. for example:
  61.                         SUBSCRIBE COMPIL-L Ima Hacker
  62.  
  63. To get off the list the subscriber should send e-mail to the same address
  64. with the message:       SIGNOFF COMPIL-L
  65.  
  66. If you have problems getting on or off the list, please contact me.  In
  67. particular, if you want to use an address other than your own personal mail
  68. address, you have to ask me to set it up.
  69.  
  70. -- How do I submit a message?
  71.  
  72. Mail it to compilers@iecc.cambridge.ma.us, also known as compilers@iecc.uucp
  73. or iecc!compilers.  I review messages nearly every day, usually including
  74. weekends, and most messages are posted to the net within a day after I
  75. receive them.  Occasionally when I go on vacation there may be up to a
  76. week's delay, though I try to send out a message when that will happen.
  77.  
  78. Most net news systems will automatically turn posted messages into mail to
  79. compilers, but some, particularly systems running notes, don't do that
  80. correctly.  As a result, I sometimes receive hundreds of copies of a
  81. message, all mangled slightly differently.  Please mail your contributions
  82. unless you're sure your posting software works correctly.
  83.  
  84. When you send a message to compilers, I understand that to mean that you
  85. want me to post it to usenet, which means it will be sent to tens of
  86. thousands of potential readers at thousands of computers all around the
  87. world.  It may also appear in a printed comp.compilers annual and other
  88. books, in the ACM SIGPLAN Notices, in on-line and off-line archives,
  89. CD-ROMs, and anywhere else that some reader decides to use it.
  90.  
  91. If you don't want me to post something, send it instead to
  92. compilers-request.  (See below.)
  93.  
  94. -- What happens to submitted messages?
  95.  
  96. Barring mail problems, they arrive in a special mailbox here at iecc.  I
  97. then edit the headers, trim down quoted text, fix typos and grammatical
  98. errors, remove cute signatures, and then post them to usenet.  If I think a
  99. message needs more editing than that, I return it to the author for
  100. rewriting.  The main reasons I return a message are that it appears more
  101. appropriate for another group, the message is too garbled to fix, it
  102. contains too much quoted material relative to the amount of new material, or
  103. I don't understand it.  I also usually return messages that directly attack
  104. individuals, since the net has plenty of other places for ad-hominem battles.
  105.  
  106. If a message asks a simple question I sometimes answer it myself rather than
  107. posting it.  When two or three messages arrive with the same answer to a
  108. question, I usually post only one of them, with a comment crediting the
  109. others.
  110.  
  111. If you send in a message and don't either see it posted or receive something
  112. back in a few days, it probably got lost in the mail and you should contact
  113. me, preferably via a different mail route.  I post or respond to all
  114. messages except for ones that appear to have been sent by mistake, e.g. no
  115. contents, or contents consisting only of another quoted message.  Sometimes
  116. when I'm feeling exasperated I disregard messages that re-ask one of the
  117. frequently asked questions that are answered below.
  118.  
  119. One of the most time-consuming jobs in moderating the group is trimming down
  120. the quotes in followup articles.  In most cases, you can expect readers to
  121. have seen the previous article, so only a few lines of quoted text should be
  122. needed to remind the reader of the context.
  123.  
  124. I have installed a simple-minded quote filter that mechanically returns to
  125. the sender any message that contains more quoted than unquoted lines.  Please
  126. edit your quotes before you send in a response, to avoid having the filter
  127. bounce your message.  Since the quote filter is pretty dumb, I do look at
  128. bounced messages myself.  If the filter bounces a message of yours by mistake,
  129. don't panic -- it'll get posted anyway.
  130.  
  131. -- How do I respond to the author of a message?
  132.  
  133. I try to be sure that every message contains valid From: and Reply-To:
  134. headers.  The automatic "reply" commands in most news readers let you send
  135. mail to the author.
  136.  
  137. Some obsolete news readers attempt to reply using the Path: header, but for
  138. technical reasons the Path: header in a moderated message cannot point to
  139. the actual author.  In fact, the Path: header in a compilers message is
  140. deliberately a bad mail address, so if you have such a news reader you'll
  141. have to edit the addresses in responses yourself and, I hope, encourage your
  142. system manager to update your news and mail software.
  143.  
  144. Sometimes mail to an author bounces, either because a gateway isn't working
  145. or because the return address is unregistered or otherwise bad.  Please
  146. don't ask me to forward it, my machine is no better connected than anyone
  147. else's.  (It's not on the Internet and only talks uucp.)  If you send me a
  148. message obviously intended for the author of an item, I will discard it on
  149. the theory that if it wasn't important enough for you to send it to the
  150. right place, it isn't important enough for me, either.
  151.  
  152. -- How do I contact the moderator?
  153.  
  154. Send me mail at compilers-request@iecc.cambridge.ma.us.  If for some
  155. reason your system chokes on that address (it shouldn't, it's registered)
  156. mail to Levine@yale.edu will get to me.  I treat messages to
  157. compilers-request as private messages to me unless they state that they are
  158. for publication.
  159.  
  160. -- Are back issues available?
  161.  
  162. I have complete archives going back to the original mailing list in 1986.
  163. The archives now fill about 6 megabytes, and are growing at over 200K per
  164. month.  I update the archives at the end of each month.  People with ftp
  165. access can get them from primost.cs.wisc.edu, (128.105.2.115) where James
  166. Larus has kindly provided space.  The archives contain a compressed Unix
  167. mailbox format file for each month, with names like 91-08.Z.  The file
  168. INDEX.Z lists all of the subject lines for every message in the archives,
  169. and in most cases is the first file you should retrieve.
  170.  
  171. The archives are available via modem from Channel One, an excellent local
  172. BBS.  You have to register, but no payment is needed to download the
  173. archives which are in Area 6.  (If you call more than once or twice, it
  174. would be nice to sign up for at least the $25 trial membership.)  The 2400
  175. BPS telephone number is +1 617 354 8873, and the Telebit number is +1 617
  176. 354 0470.  There is a ZIP format archive per month with names like
  177. comp9108.zip, with the most recent archive also containing the index.
  178.  
  179. There is now a mail server at compilers-server@iecc.cambridge.ma.us that can
  180. mail you indexes, messages, and the files mentioned below.  Send it a
  181. message containing "help" to get started.
  182.  
  183. I have also published a printed edition of the 1990 messages grouped by
  184. thread and topic, and with some indexes, and expect to publish a 1991
  185. edition.  Send me mail for further details, or see the message about the
  186. book which should immediately follow this one.
  187.  
  188. -- Some Frequently Asked Questions:
  189.  
  190. NOTE: Many issues are discussed occasionally on comp.compilers, but not
  191. frequently enought to make the FAQ sheet.  If you have a question but the
  192. answer isn't in the FAQ, you may well be able to get good background by
  193. reading the appropriate articles in the archive.  If you can FTP, please
  194. at least get the index and look through it.
  195.  
  196. The various files that I mention below that I have are in the compilers
  197. archive at primost.cs.wisc.edu, and are also available from the mail
  198. server mentioned above.  If you can FTP them, please do so rather than
  199. using the mail server, since the mail bandwith is quite small.
  200.  
  201. * Where can I get a C or C++ grammar in yacc?
  202.  
  203. Jim Roskind has written one of each, available in the archive.  Another C
  204. grammar was posted to comp.sources.misc in June 1990, v13 i52, archive
  205. name ansi-c_su.  GCC and G++ are based on yacc grammars, see below.
  206.  
  207. * Where can I get the Gnu C compiler?
  208.  
  209. GCC is a high-quality free C and C++ compiler.  (Free is not the same as
  210. public domain, see the GCC distribution for details.)  It is available in
  211. source from from prep.ai.mit.edu.  You need an existing C compiler and
  212. libraries to bootstrap it.
  213.  
  214. A version for 386 MS-DOS is available by FTP from barnacle.erc.clarkson.edu or
  215. wowbagger.pc-labor.uni-bremen.de and by mail from
  216. archive-server@sun.soe.clarkson.edu in the archive msdos/djgpp.  See messages
  217. 91-09-054 and 91-09-066.
  218.  
  219. * Are there other free C compilers?
  220.  
  221. The lcc compiler, written by people at Princeton and Bell Labs, is
  222. available via FTP from princeton.edu.  It is supposed to generate code as
  223. good as GCC while being considerably faster and smaller.  It comes with a
  224. demonstration VAX code generator and documentation on the code generation
  225. interfaces.  Production code generators for the VAX, MIPS, and Motorola
  226. 68020 are available for research use to universities willing to execute a
  227. license agreement; the FTP package elaborates.  Lcc uses a hard-coded C
  228. parser because it's faster than yacc.
  229.  
  230. * Where can I get a Fortran grammar in yacc?
  231.  
  232. I have a small subset parser in the archive mentioned above.  The F2C
  233. Fortran to C translator contains a full F77 parser and is available in
  234. source form via FTP from research.att.com and by mail from
  235. netlib@research.att.com.
  236.  
  237. * Where can I get Modula-2, Pascal or Ada grammars in yacc?
  238.  
  239. I have one each of those, too, in the archive mentioned above, though I
  240. haven't tried to use any of them.
  241.  
  242. * Where can I get a Cobol grammar in yacc?
  243.  
  244. Nowhere for free, as far as I can tell.  This question is asked every few
  245. months and there has never, ever, been any positive response. Perhaps some
  246. of the interested people could get together and write one.  The commercial
  247. PCYACC from Abraxas (see below) comes with a bunch of sample grammars
  248. including one for Cobol-85.
  249.  
  250. * Where can I get a Basic grammar in yacc?
  251.  
  252. Take a look at ftp.uu.net:comp.sources.unix/volume2/basic which contains
  253. a Basic interpreter with yacc parser.
  254.  
  255. * How can I get started with yacc and lex and compiler writing in general?
  256.  
  257. By reading any of the many books on the topic.  Here are a few of them:
  258.  
  259. Aho, Sethi, and Ullman, "Compilers: Principles, Techniques, and Tools,"
  260. Addison Wesley, 1986, ISBN 0-201-10088-6.  Describes clearly and
  261. completely lexing and parsing techniques including the ones in yacc and
  262. lex.  The authors work or have worked at Bell Labs with Steve Johnson and
  263. Mike Lesk, the authors of Yacc and Lex.
  264.  
  265. Alan Holub, "Compiler Design in C," Prentice-Hall, 1990, ISBN
  266. 0-13-155045-4.  A large book containing the complete source code to a
  267. reimplementation of yacc and lex and a C compiler.  Quite well written,
  268. too, though it has a lot of errors.  The fourth printing is supposed to
  269. correct most of them.
  270.  
  271. Mason and Brown, "lex & yacc," O'Reilly, 1990, ISBN 0-937175-49-8.  A
  272. short introduction with some completely worked out examples.  The writing
  273. in the 1990 edition can be murky, but the next edition should be better.
  274.  
  275. Donnely and Stallman, "The Bison Manual," part of the on-line distrubution
  276. of the FSF's Bison, a reimplementation of yacc.  As with everything else from
  277. the FSF, full source code is included.
  278.  
  279. Axel T. Schreiner and H. George Friedman, Jr., "Introduction to Compiler
  280. Construction with UNIX," Prentice-Hall, 1985.  Oriented to tutorial work.
  281. Good for beginners.  Develops a small subset-of-C compiler through the book.
  282. (Recommended by Eric Hughes <hughes@ocf.Berkeley.EDU>.)  Richard Hash
  283. <rgh@shell.com> comments that the book has many typographical errors, and
  284. readers should be suspicious of the examples until they actually try them.
  285. Richard Y. Kim <richard@ear.mit.edu> reports that sources are available for
  286. FTP as a.cs.uiuc.edu:pub/friedman/tar.
  287.  
  288. Bennett, J.P. "Introduction to Compiling Techniques - A First Course Using
  289. Ansi C, Lex and Yacc," McGraw Hill Book Co, 1990, ISBN 0-07-707215-4.
  290. It's intended for a first course in modern compiler techniques, is very
  291. clearly written, and has a full chapter on YACC.  I found it to be a good
  292. introductory text before getting into the 'Dragon book'.  (Recommended by
  293. John Merlin <J.H.Merlin@ecs.southampton.ac.uk>.)
  294.  
  295. Charles N. Fischer & Richard J. LeBlanc, "Crafting A Compiler", Benjamin
  296. Cummings Publishing, Menlo Park, CA, 1988, ISBN 0-8053-3201-4.  There's
  297. also a revised version as of 1990 or 1991 titled "Crafting A Compiler in
  298. C", with all examples in C (the original used ADA/CS).  Erich Nahum
  299. <nahum@cs.umass.edu> writes: A key compiler reference.  We used the
  300. original to great effect in Eliot Moss' graduate compiler construction
  301. class here at UMass.  My feeling is that Fischer & LeBlanc is a good
  302. tutorial, and one should use Aho, Sethi, & Ullman as a reference.
  303.  
  304. Des Watson, "High-Level Languages and Their Compilers," International
  305. Computer Science Series, Addison-Wesley Publishing Company, Wokingham
  306. England, 1989.  Adrian Howard <adrianh@cogs.sussex.ac.uk> writes: This is
  307. the kindest, most readable introduction to compilers at the graduate level
  308. I have ever read - an excellent example of what textbooks should all be
  309. like.
  310.  
  311. W.M. Waite and G. Goos, "Compiler Construction," Springer-Verlag, New
  312. York, 1984.  Dick Grune <dick@cs.vu.nl> writes: A theoretical approach to
  313. compiler construction. Refreshing in that it gives a completely new view
  314. of many subjects. Heavy reading, high information density.
  315.  
  316. J.P. Tremblay and P.G. Sorenson, "The Theory and Practice of Compiler
  317. Writing," McGraw-Hill, 1985.  Dick Grune <dick@cs.vu.nl> writes: Extensive
  318. and detailed. Heavy reading. To be consulted when other sources fail.
  319.  
  320. If anyone sends in others, I'll be happy to add them to the list.
  321.  
  322. * Are there free versions of yacc and lex ?
  323.  
  324. Vern Paxton's flex is a superior reimplementation of lex.  It is available
  325. from the same places as Gnu sources.  Berkeley Yacc is a quite compatible
  326. PD version of yacc by Bob Corbett, available as ~ftp/pub/byacc.tar.Z on
  327. okeeffe.berkeley.edu.  Gnu Bison is derived from an earlier version of
  328. Corbett's work and is also fairly compatible with yacc.
  329.  
  330. * Are there versions of yacc and lex for MS-DOS?
  331.  
  332. There are several of them.  Commercial versions are MKS lex&yacc from MKS
  333. in Waterloo Ont., +1 416 519 884 2251 or inquiry@mks.com, and PCYACC from
  334. Abraxas Software in Portland OR, +1 503 244 5253.  Both include both yacc
  335. and lex along with a lot of sample code.
  336.  
  337. The standard flex source compiles under the usual DOS compilers, although
  338. you may want to make some of the buffers smaller.  A DOS version of Bison
  339. is on wuarchive.wustl.edu [128.252.135.4] and other servers under
  340. /mirrors/msdos/txtutl/bison111.zip. See message 92-07-012 for more info.
  341.  
  342. * Where I can I FTP the sources to the programs in Holub's "Compiler
  343. Design in C" ?
  344.  
  345. You can't.  See page xvi of the Preface for ordering information.
  346.  
  347. Regards,
  348. John Levine, comp.compilers moderator
  349. -- 
  350. Send compilers articles to compilers@iecc.cambridge.ma.us or
  351. {ima | spdcc | world}!iecc!compilers.  Meta-mail to compilers-request.
  352.