[SCL] two comments

John F. Sowa sowa at bestweb.net
Wed Nov 5 19:03:51 CST 2003


Tanel, Jay, Randal, et al.,

There is a very clear and simple criterion for distinguishing
an abstract syntax from a concrete syntax.

TT>This still does not make it very clear what we should mean by
>"abstract" syntax. There is nothing in the article which says that
>the synthetic Backus way is not abstract.

The criterion is:

 1. If you can write it on paper, in computer storage, or
    any other physical medium, it's concrete.

 2. If you can't write it, print it, or even see it,
    it's abstract.

In other words, an abstract syntax is a purely mathematical
concept, similar to an infinite set, which cannot be written,
printed, or seen.  But you can talk *about* the abstract
syntax in the same way that you talk about any mathematical
structure.  In short, a concrete syntax is a representation
of an abstract syntax in exactly the same sense that a numeral
is a representation of a number.

Jay and Randal wrote:

> The real point is that expunging all context sensitivities,
> no matter how manageable they are in practice, is overkill
> and tends to produce languages that humans find tedious
> to write and read.

That is an important point that I happen to agree with, but
it is not relevant to the distinction between an abstract
syntax and a concrete syntax.

John


More information about the SCL mailing list