W3C home > Mailing lists > Public > public-rif-wg@w3.org > October 2009

Action-931 EBNF in PRD, Appendix 9

From: Stella Mitchell <stellamit@gmail.com>
Date: Fri, 23 Oct 2009 21:14:00 -0400
Message-ID: <d64b0f2c0910231814y64a5b8c4me973aa24fbed949c@mail.gmail.com>
To: Christian De Sainte Marie <csma@fr.ibm.com>, RIF <public-rif-wg@w3.org>
Hi Christian,

While reviewing the Modify_noloop test case in the 10/13 telecon it
was noticed that according to the notation described in section 2.1.1,
function terms can be expressed as either t(t1..tn) or
External(t(t1...tn)), but in the EBNF in Appendix 9, which is
described as an extension of that notation, function terms must be
written as External(t(t1..tn)).

Appendix 9 isn't normative, but since it's included and is supposed to
help implementers and others by providing a succinct overview of
RIF-PRD syntax, and since we're using this syntax for the
human-readable version of many of the PRD test cases, it would be good
to maintain this in parallel with the notation in the Abstract syntax
sections.

Harold mentioned that he thinks "External" should be mandatory in the
PRD PS syntax, for maximum compatibility between PRD and BLD.

Axel mentioned that Name, Var, and SYMSPACE in the PRD EBNF could be
brought in line with the current FLD/BLD/DTB versions of those
productions.

Some additional comments:

   --  it looks like there's an erroneous "'Expr'" in the GROUNDTERM
production of the condition language.

   --  In the RULE production
            ' such that '  FORMULA*
                   should be changed to
            ('such that '  FORMULA)*  ?

   -- how do the last three options in the ACTION_BLOCK production
relate to what is described in Section 3.1.2 -  are they an Assert,
Modify, Retract or Execute?  This syntax (the EBNF version) is used in
the test cases.

   --  based on section 3.1.2, I think in the ACTION_BLOCK production,
             Var (Frame | 'New()'))*
                 should be changed to
             ( '('  Var ( Frame | 'New()'  ')'  )*

   --  the PS version of test case [1] is not valid according to the
Appendix 9 EBNF because a membership formula (ex:o#ex:T) is not a
valid action_block.

   -- Core test cases are also PRD test cases but the PS versions of
them are not PRD PS because of ":-" instead of "IF...THEN,"  I don't
know if this is a problem (for readability for PRD audience)

Stella

[1] http://www.w3.org/2005/rules/wiki/Conflict_resolution
Received on Saturday, 24 October 2009 01:14:32 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Saturday, 24 October 2009 01:14:33 GMT