Computer Old Farts Forum
 help / color / mirror / Atom feed
From: Paul Winalski <paul.winalski@gmail.com>
To: Douglas McIlroy <douglas.mcilroy@dartmouth.edu>
Cc: COFF <coff@tuhs.org>
Subject: [COFF] Re: ancient macros, machine code translation,as mental architecture models
Date: Mon, 15 Jul 2024 10:26:18 -0400	[thread overview]
Message-ID: <CABH=_VSf6_jjwLSPQOgdayCBydk-kVwubYcqsLJii2yw+CyOtA@mail.gmail.com> (raw)
In-Reply-To: <CAKH6PiVb58TJ=5MuR_C_GQpb0hVfAoyFLEJJq2v9X11oi3dP8A@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 1311 bytes --]

On Mon, Jul 15, 2024 at 8:46 AM Douglas McIlroy <
douglas.mcilroy@dartmouth.edu> wrote:

>
> We never considered anything but recursive expansion, where macro
> definitions can contain macro calls; thus the TX-0 model comes as quite a
> surprise. We kept a modest stack of the state of each active macro
> expansion. We certainly did not foresee that within a few years some
> applications would need a 70-level stack!
>
> As I mentioned in a previous reply, BLISS has a very powerful and
extensive macro facility.  This led to an obscure and difficult to fix
parser bug.

The outermost organizational unit of a BLISS program is the module.  All
declarations, routines, identifiers, etc. have a syntactic scope limited to
the module in which they occur.  Modules are delimited by the keywords
MODULE and ELUOM (module spelt backwards).

The bug was triggered by a call to a macro that included an ELUDOM followed
by a new MODULE declaration.  When the parser saw the ELUDOM it threw away
all of the context for the current module, including the parser context for
the macro that was being processed.  The parser blew its brains out and the
compilation terminated with an internal compiler error.

-Paul W.

P. S. - I once remarked that in BLISS we don't solve problems, we ELUDOM.

[-- Attachment #2: Type: text/html, Size: 1727 bytes --]

  reply	other threads:[~2024-07-15 14:26 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-07-15 12:37 Douglas McIlroy
2024-07-15 14:26 ` Paul Winalski [this message]
2024-07-15 14:38   ` Bakul Shah via COFF
2024-07-15 19:39 ` John Levine
2024-07-16 19:55   ` Aron Insinga
2024-07-16 20:09     ` Aron Insinga
2024-07-17 17:00       ` [COFF] Re: ancient macros Aron Insinga
  -- strict thread matches above, loose matches on Subject: below --
2024-07-13 23:46 [COFF] Re: machine code translation,as mental architecture models John Levine
2024-07-13 22:00 ` Douglas McIlroy
2024-07-14  0:56   ` Aron Insinga
2024-07-14 18:02     ` [COFF] Re: ancient macros, " John Levine
2024-07-15  1:44       ` Aron Insinga
2024-07-15 14:09         ` Paul Winalski

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CABH=_VSf6_jjwLSPQOgdayCBydk-kVwubYcqsLJii2yw+CyOtA@mail.gmail.com' \
    --to=paul.winalski@gmail.com \
    --cc=coff@tuhs.org \
    --cc=douglas.mcilroy@dartmouth.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).