Sujet : DCGs are dead: ROKs transformation from FGCS 1982
De : janburse (at) *nospam* fastmail.fm (Mild Shock)
Groupes : comp.lang.prologDate : 04. Jun 2025, 15:50:51
Autres entêtes
Message-ID : <101pmga$ccd2$1@solani.org>
User-Agent : Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:128.0) Gecko/20100101 Firefox/128.0 SeaMonkey/2.53.20
> Parse the lines using a DCG
This was a quite popular subject around the time
Fifth Generation Computer Systems (FGCS) in 1982
and made it into a couple of Prolog books from
the same decade. It was before the relaunch of
FGCS in the form of Stargate in 2025, and from
the time were people reading books and not simply
asking ChatGPT. One of these Prolog books
is THE BOOK by ROK:
The Craft of Prolog
Richard O’Keefe - 1990
https://mitpress.mit.edu/9780262512275/the-craft-of-prolog/His DCG somehow assumes there are already tokens,
and he then starts discussing these DCG productions:
command(delete(File)) --> [rm], file(File).
command(copy(From,To)) --> [cp], file(From), file(To).
command(print(File)) --> [lpr], file(File).
He then basically goes into head scratching rampage
about the current state of DCGs at that time, ultimately
suggesting some workaround by a cleaner technique
that promotes the first token
/* ROKs transformation */
command(Cmd) --> [Token], command(Token, Cmd).
command(rm, delete(File)) --> file(File).
command(cp, copy(From,To)) --> file(From), file(To).
command(lpr, print(File)) --> file(File).
into argument indexing. Basically obviating the very idea to
use the input DCGs in the first place.