- From: Christian de Sainte Marie <csma@ilog.fr>
- Date: Mon, 28 Apr 2008 15:36:09 +0200
- To: Christian de Sainte Marie <csma@ilog.fr>
- CC: Chris Welty <cawelty@gmail.com>, Sandro Hawke <sandro@w3.org>, Jos de Bruijn <debruijn@inf.unibz.it>, public-rif-wg@w3.org
Christian de Sainte Marie wrote:
>
> One way to avoid both would be to allow Groups to contain ITEMs, not
> RULEs or other FORMULAs directly (diagram 4):
>
> Document ::= 'Document' '(' IRIMETA? DIRECTIVE* ITEM* ')'
> ITEM ::= [ Rule | Fact | Group ]
> Group ::= 'Group' IRIMETA? ITEM*
> Rule ::= 'Rule' IRIMETA? '(' RULE ')'
> RULE ::= [ 'Forall' Var+ '(' Implies ')' | Implies ]
> Fact ::= ATOMIC
Ooops. I meant, of course:
Fact ::= 'Fact' IRIMETA? '(' ATOMIC ')'
Btw, raised back to FLD, that would probably give something like that:
Document ::= 'Document' '(' IRIMETA? DIRECTIVE* ITEM* ')'
ITEM ::= [ Rule | Fact | Group ]
Group ::= 'Group' IRIMETA? [ FORMULA | ITEM ]*
Rule ::= 'Rule' IRIMETA? '(' FORMULA ')'
Fact ::= 'Fact' IRIMETA? '(' FORMULA ')'
That is, if I understand correctly that a dialect can chose not to use a
constrauct like Rule or Fact, but that it cannot chose to add them. Or
would keeping ITEM abstract be possible, like (looks strange :-):
Document ::= 'Document' '(' IRIMETA? DIRECTIVE* ITEM* ')'
ITEM ::= [ FORMULA | ITEM ]*
Christian
Received on Monday, 28 April 2008 13:37:01 UTC