Deutsch   English   Français   Italiano  
<v81tgs$388ua$1@dont-email.me>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: Lawrence D'Oliveiro <ldo@nz.invalid>
Newsgroups: comp.os.vms
Subject: Re: Bliss
Date: Sat, 27 Jul 2024 04:36:45 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 33
Message-ID: <v81tgs$388ua$1@dont-email.me>
References: <v6r3od$30fgj$2@dont-email.me> <v6r7ev$312bs$1@dont-email.me>
	<v6raga$31ano$2@dont-email.me> <v6rfb3$31ano$6@dont-email.me>
	<v6sj58$38thk$1@dont-email.me> <v7v0ia$2lbee$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Injection-Date: Sat, 27 Jul 2024 06:36:45 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="923de006914fc707793912d16389c2d1";
	logging-data="3417034"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX19YFz9fjhKNtMq836RK8w5o"
User-Agent: Pan/0.159 (Vovchansk; )
Cancel-Lock: sha1:sNE3GAFq3P+G/KWF5pYzm2gFT2U=
Bytes: 1793

On Fri, 26 Jul 2024 02:10:19 -0000 (UTC), I wrote:

> Adapted this example from page 15-9:

This version does work:

    MODULE quote_test_2 =
    BEGIN
        OWN x;
        MACRO mark = 4 %;
        MACRO m = (mark) + %UNQUOTE mark %;

        GLOBAL ROUTINE doit : NOVALUE =
        BEGIN
            MACRO %QUOTE mark = 5 %;
            x = m;
        END;

    END ELUDOM

But note the parentheses around “(mark)”; it doesn’t seem to get the 
addition right without that.

Generated code:

    doit:
        ...
        movq    $9, x(%rip)
        retq

The problem seems to be that the handling of the %UNQUOTE construct is 
only expecting the following name to be that of a macro, not a literal or 
anything else.