Next in thread → Next in month →

Re: Guarded normal form (part 1)

From
Murata Makoto <>
Date
2001-05-06T03:23:40+00:00
ID
Thread
Re: Guarded normal form (part 1)
Murata Makoto wrote:
 
> We first introduce guards and clauses.  A guard is either a (possibly
> empty) sequence of <attribute> elements or an <oneOrMore> element
> containing a single <attribute> element.  Examples are shown below:
> 
> 	- <attribute name="foo"/>
> 
> 	- <attribute name="foo"/> followed by <attribute name="bar"/>
> 
> 	- <oneOrMore><attribute name="foo"/></oneOrMore>

If we allow <choice> (and <optional>) containing <attribute> or <empty/>
only, combinatory explosion can be often avoided (but not always).

E.g., 

<group>
  <optional><attribute name="a"/></optional>
  ...
  <optional><attribute name="z"/></optional>
</group>

does not cause exlosion, but

<group>
  <choice><attribute name="a"/><ref name="a"/></choice>
  ...
  <choice><attribute name="z"/><ref name="z"/></choice>
</group>

does.

We *can* allow any pattern as the child of <oneOrMore> as long as the 
pattern does not contain <ref>, <data>, <string>, or <anyString>.  However, 
it becomes more difficult to test satisfiability and equivalence of guards.

Cheers,

Makoto
Next in thread → Next in month →