- 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