Path: csiph.com!weretis.net!feeder6.news.weretis.net!news.misty.com!news.iecc.com!.POSTED.news.iecc.com!nerds-end From: gah4 Newsgroups: comp.compilers Subject: Re: Wrestling with phase 1 of a C compiler Date: Mon, 12 Sep 2022 13:01:21 -0700 (PDT) Organization: Compilers Central Lines: 23 Sender: news@iecc.com Approved: comp.compilers@iecc.com Message-ID: <22-09-005@comp.compilers> References: <22-09-001@comp.compilers> <22-09-004@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="41271"; mail-complaints-to="abuse@iecc.com" Keywords: history, PL/I, comment Posted-Date: 12 Sep 2022 18:26:57 EDT X-submission-address: compilers@iecc.com X-moderator-address: compilers-request@iecc.com X-FAQ-and-archives: http://compilers.iecc.com In-Reply-To: <22-09-004@comp.compilers> Xref: csiph.com comp.compilers:3157 On Monday, September 12, 2022 at 12:46:47 PM UTC-7, christoph...@compiler-resources.com wrote: (snip) > C is a nice small imperative language. It's fine for expressing those > kinds of semantics. The C preprocessor is both simple and powerful, but it > doesn't change the nature of C. You cannot really do "compilation" in the > C preprocessor. On of the earlier languages I knew, and maybe still favorite, is PL/I. PL/I does have a powerful preprocessor, though I don't know so many actually using its power. It even has preprocessor procedures, if you need them. The most use of the power I have seen, is one for unrolling DO loops, which unrolls smaller loops, but not larger ones, with either a preprocessor %DO, or a real DO. I do remember, though, first knowing abuot no preprocessor in Java, and the trend of PL/I to C to Java, in decreasing preprocessor power. [PL/I had its charms but I wouldn't want to write functional code in it, either. -John]