Carsten Bormann (2013-12-08T10:26:53.000Z)
On 08 Dec 2013, at 10:58, Martin J. Dürst <duerst at it.aoyama.ac.jp> wrote:

> There are two description methods is ECMA-404: text and "railroad" diagrams.

There are actually two quite different kinds of racetracks (“railroad diagrams”), the first three at the parser level and the second two at the scanner level.  This is nowhere explained (it just happens to be the only one of the many potential interpretations of ECMA-404 that yields a result getting close to current practice), and you have to piece together from section 4 what the interface between the two levels might be.

> The textual descriptions are in some cases quite precise, but in some other cases, leave quite a bit of ambiguity. And stuff like "It may have an exponent of ten, prefixed by e (U+0065) or E (U+0045) and optionally + (U+002B) or – (U+002D)." (in particlar the first clause of that sentence) doesn't make much sense.

I read them mainly as a way to give meaning to the bubbles in the racetracks.
All the statements that define the semantics of the data are really errata anyway, we have learned.
(If one were to do the semantics properly for section 8, one could simply reference ISO 6093.
RFC 4627 does that implicitly by saying "The representation of numbers is similar to that used in most programming languages.".)

> As for the railroad tracks, besides just floating in the spec without references, the notation is also not at all explained. If one took the most straightforward and obvious interpretation (that's not how standards work, but anyway), it's not too difficult to come up with a formally precise way of converting each of them into a diagrams for a finite state machine. From there, conversion to the ABNF, or showing equivalence, on a quite formal level, shouldn't be too much a problem.

Yes, please.  I was asking for someone to do that work, maybe in the process generating some guidance on how to read ECMA-404.  It won’t be me.

Grüße, Carsten
domenic at domenicdenicola.com (2013-12-10T01:01:44.027Z)
On 08 Dec 2013, at 10:58, Martin J. Dürst <duerst at it.aoyama.ac.jp> wrote:

> There are two description methods is ECMA-404: text and "railroad" diagrams.

There are actually two quite different kinds of racetracks (“railroad diagrams”), the first three at the parser level and the second two at the scanner level.  This is nowhere explained (it just happens to be the only one of the many potential interpretations of ECMA-404 that yields a result getting close to current practice), and you have to piece together from section 4 what the interface between the two levels might be.

> The textual descriptions are in some cases quite precise, but in some other cases, leave quite a bit of ambiguity. And stuff like "It may have an exponent of ten, prefixed by e (U+0065) or E (U+0045) and optionally + (U+002B) or – (U+002D)." (in particlar the first clause of that sentence) doesn't make much sense.

I read them mainly as a way to give meaning to the bubbles in the racetracks.
All the statements that define the semantics of the data are really errata anyway, we have learned.
(If one were to do the semantics properly for section 8, one could simply reference ISO 6093.
RFC 4627 does that implicitly by saying "The representation of numbers is similar to that used in most programming languages.".)

> As for the railroad tracks, besides just floating in the spec without references, the notation is also not at all explained. If one took the most straightforward and obvious interpretation (that's not how standards work, but anyway), it's not too difficult to come up with a formally precise way of converting each of them into a diagrams for a finite state machine. From there, conversion to the ABNF, or showing equivalence, on a quite formal level, shouldn't be too much a problem.

Yes, please.  I was asking for someone to do that work, maybe in the process generating some guidance on how to read ECMA-404.  It won’t be me.