- From: Yuri Delendik <yury_exi@yahoo.com>
- Date: Wed, 15 Oct 2008 18:22:01 -0700 (PDT)
- To: Taki Kamiya <tkamiya@us.fujitsu.com>, public-exi-comments@w3.org
Hello Taki, The question appeared when I was trying to generate the EXI grammar for TTFMS CBMS data by rules described in EXI specification. The problem appears when PersonNameType type (from CBMS/schema/mpeg7.xsd) is processed. In case when prototype grammar looks like G_0: G_i G_i: G_j G_j: G_i non-terminal forms cannot be illuminated if the removing procedure starts from G_0. I had to tweak default/described algorithm to make it finite. Regards, Yuri Delendik ----- Original Message ---- From: Taki Kamiya <tkamiya@us.fujitsu.com> To: yury_exi@yahoo.com; public-exi-comments@w3.org Sent: Wednesday, October 15, 2008 5:18:24 PM Subject: Re: [EXI] Circular production with no terminal symbol Hi Yuri, Given the following schema, which is a little more complex than the one you provided: <xs:sequence minOccurs="0" maxOccurs="unbounded"> <xs:element name="a" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="b" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="c" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> The normalized grammar would look like this: PTA : SE(A) PTA SE(B) PTB SE(C) PTC EE PTB: SE(B) PTB SE(C) PTC SE(A) PTA EE PTC: SE(C) PTC SE(A) PTA SE(B) PTB EE When you normalize the grammar, please remove self-recursion production with no terminal symbols of the form: G: G We failed to mention to remove such production during normalization, and we appreciate that you caught this issue. Thanks! -taki
Received on Thursday, 16 October 2008 01:22:42 UTC