[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Formal spec; implementation; nesting



I wrote:

> you need a formal specification too, in BNF, as in r5rs.

Here's a stab at how to do this:

  The r5rs formal syntax is extended by making the following modifications:

  -- In r5rs 7.1.1,

     -- For each X in token, identifier, variable, boolean, character,
        string, and number, change the name of entity <X> to <raw X>.

     -- Add "#;" to the <raw token> rule.

  -- In r5rs 7.1.2, 

     -- Add this rule: 

          <commented datum> ---> #; <datum>

     -- For each X in token, identifier, variable, boolean, character,
        string, and number, add a rule:

          <X> --> <commented datum>* <raw X>

  -- In all of the production rules of 7.1.2 through 7.1.5, every
     literal entity like "(", ")", "quote", or "lambda" is defined to
     mean the corresponding <token> or <identifier>, not a <raw token>
     or <raw identifier>.

I encourage anyone who would like to see different behavior
standardized to provide a formal specification of what he desires.

-al