Re: Alternative syntaxes for the prolog

Norm Tovey-Walsh <norm@saxonica.com> writes:

> [[PGP Signed Part:Undecided]]
>> This might be easily parsed by a processor or a version control system or a dependency management tool, etc:
>>
>>   ixml version "1.0" .
>>   author given-name: "Norm", surname: "Tovey-Walsh",
>>          affiliation: "Saxonica" .
>>   date 2024-03-01 .
>
> You know, that’s not bad, if I do say so myself. After ten minutes of noodling about, I have these changes to the ixml grammar:
>
>      -RWS: whitespace+ . 
>    prolog: version, RWS, (metadata+ | RS).
>   version: -"ixml", RWS, -"version", RWS, string, s, -'.' .
>     -msep: whitespace*, -"," .
>  metadata: name, (field++msep | RWS, chardata), whitespace*, -".", RS .
>     field: RWS, name, whitespace*, -":", whitespace*, chardata .
> -chardata: -'"', -dchar+, -'"';
>            -"'", -schar+, -"'".
>
> ...
>
> I don’t think that’s awful. We’ve talked about a feature to allow
> content to influence the names of serialized elements so we might get
> to <author>, <given-name>, etc. Or we could assert by fiat that prolog
> metadata shall be serialized that way.

I will study this in more detail, but on first glance I like it.

It reminds me of a feature I believe is present in Eiffel, using the
keyword 'note' (or sometimes 'indexing') to introduce a section in a
class file for metadata.  There, too, the keys to be used are up to the
user, but code management systems can use the note section to support
query-based search and retrieval across a library of classes or
packages.

I wonder if there is a simple and good way to avoid name collisions
between user-chosen names and names chosen later for standardization.

Michael

-- 
C. M. Sperberg-McQueen
Black Mesa Technologies LLC
http://blackmesatech.com

Received on Friday, 8 March 2024 15:58:20 UTC