Path: csiph.com!weretis.net!feeder9.news.weretis.net!news.misty.com!news.iecc.com!.POSTED.news.iecc.com!nerds-end From: George Neuner Newsgroups: comp.compilers Subject: Re: Paper: Developing a Modular Compiler for a Subset of a C-like Language Date: Tue, 21 Jan 2025 19:54:45 -0500 Organization: Compilers Central Sender: news%iecc.com Approved: comp.compilers@iecc.com Message-ID: <25-01-023@comp.compilers> References: <25-01-004@comp.compilers> <25-01-010@comp.compilers> <25-01-012@comp.compilers> MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Injection-Info: gal.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970"; logging-data="5133"; mail-complaints-to="abuse@iecc.com" Keywords: courses Posted-Date: 23 Jan 2025 14:39:45 EST X-submission-address: compilers@iecc.com X-moderator-address: compilers-request@iecc.com X-FAQ-and-archives: http://compilers.iecc.com Xref: csiph.com comp.compilers:3630 On Mon, 20 Jan 2025 08:38:42 -0300, Salvador Mirzo wrote: >antispam@fricas.org writes: > >> John R Levine wrote: >>> The authors developed a compiler for a toy language targeting Raspberry Pi >>> using lex and yacc. Nothing very new but it shows how you build a >>> compiler incremntally expanding the source language. >>> >>> https://arxiv.org/abs/2501.04503 >> >> I am affraid that the best use of this paper is to forget it. >> On one hand presentation is very naive and their "final" >> compiler apparently does not handle things handled in ususal toy >> compilers. On the other hand their presentation has a lot of >> gaps and mistakes, so that a newbie is unlikely to be able to >> follow them. > >Would you recommend an equivalent paper or book that addresses these >short-comings but maintains the educational spirit of the paper? (It's >okay if the architecture is not a popular one.) >[Good question. There's the old Let's Build a Compiler which you can find >on my web site and some books. Alan Holub wrote a well known book but the >code in the book is incredibly buggy so I wouldn't recommend it. -John] The Racket lanaguage (which is a Scheme variant) has a framework called nanopass designed deliberately for teaching compilers. https://docs.racket-lang.org/nanopass/index.html I don't have URLs for papers (sorry!), but over the years, some groups have written about using nanopass in compiler courses. If Scheme(-like) is not to your liking, the ideas of nanopass have been adopted and implemented in some other languages. Search engines are your friend.