Re: [EXI] Circular production with no terminal symbol

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