[SCL] Common Logic Controlled English (CLCE)

John F. Sowa sowa at bestweb.net
Wed Jan 21 21:32:55 CST 2004


Folks,

I have a definition of CLCE that I plan to post on
my web page tomorrow.

But I just wanted to mention that I'm using the ISO
standard version of EBNF to specify the syntax,
and I think that it's quite nice.  I suggest that
we adopt it for specifying SCL.  Following is the
URL of the official ISO standard:

   http://www.cl.cam.ac.uk/~mgk25/iso-14977.pdf

As an example, following is my definition
of a CLCE variable:

    variable = ("x" | "y" | "z" | "w"), {digit};

The braces to indicate repetition instead of
the * symbol (which is used for a fixed number
of repetitions).  The comma indicates concatenation
and the semicolon terminates the definition.

But what I really like is the use of "-" to
indicate an exception:

    word = alphanum - (integer | variable);

This says that a word is any alphanumeric string
except an integer or a variable.  That is a real
mess to state without using the exception feature.

Bottom line:  we have to adopt some convention,
of which there are a great many.  So instead of
inventing our own, I suggest we adopt the ISO EBNF.

John



More information about the SCL mailing list