[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]
Subject: 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
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]
Powered by eList eXpress LLC