[SCL] Representing constraints that go beyond EBNF

John F. Sowa sowa at bestweb.net
Mon Nov 17 21:43:11 CST 2003


Murray,

I'm glad that we agree on many of the most important issues.
What you tell me about those people makes me feel better
about them, and if we find ourselves working with them
at some point, I would be happy to do so.

In any case, the main point I wanted to make is that we can
adopt the practice of defining a language in itself.  That
is done in the ISO standard for Z, which uses Z to define Z.
Following are the steps:

  1. EBNF, by itself, cannot state the context-sensitive
     constraints that associate bound variables with their
     defining points (i.e., quantifiers or declarations).

  2. EBNF can be defined as a concrete syntax for a subset of
     FOL (or SCL).  I recommend that we include a section in
     the proposed standard that defines ISO EBNF as a concrete
     syntax for a subset of SCL.  (This would be a normative
     section that would also serve as an illustration of how
     SCL can be used to define the semantics of a language.)

  3. Those parts of the syntax and semantics that need greater
     expressive power than EBNF can be stated in any of the
     concrete languages defined in the document (KIF, CGIF,
     or traditional infix notation for predicate calculus).

  4. Therefore, we can use two concrete languages for defining
     the syntax and semantics of SCL:  EBNF for the context-free
     constraints on SCL syntax, and KIF for the model-theoretic
     semantics and for the context-sensitive constraints on the
     syntax.

  5. The combination of KIF and EBNF would constitute a complete
     formal definition of SCL in SCL conformant languages.

Instead of using KIF as the defining language, we could use any
other concrete notation, such as traditional infix notation. That
would have the advantage of using two already well established
languages:  EBNF and traditional predicate calculus.

In fact, we could make the Z people feel happy by defining Z as an
SCL conformant language, and then using Z as the supplement to EBNF.
That would have the advantage of (1) bringing Z into the SCL fold and
(2) honoring the ISO slogan of "Buiding standards on other standards."

John

PS: The criticism "don't know logic" isn't the only one I throw around.
I have also run into many people designing languages who don't have
a clue about the difference between a regular grammar, a context-free
grammar, or a context-sensitive grammar.  That doesn't make them
stupid, but it often leads them to design kludges.



More information about the SCL mailing list