[x3d-public] [x3d] Spec Comment by on 19776-2: ClassicVRML Encoding - V4.0: improved string grammar
Brutzman, Donald (Don) (CIV)
brutzman at nps.edu
Wed Feb 19 08:39:39 PST 2025
Vince, thanks for your feedback on the X3D specification.
-- Submitter indicates that this comment may be public: *Yes* --
[cc: x3d-public]
I have entered your feedback in our Mantis tracking system.
*
Mantis 1489: potential grammar improvement to SFString for special characters
*
https://mantis.web3d.org/view.php?id=1489
To facilitate review and comment, I have also added it to the current draft 4.0 specification.
*
X3D ClassicVRML Encoding, Annex A (normative) Grammar, A.4 Fields
*
https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19776-2v4.0-WD1/Part02/grammar.html#Fields
*
Github specification source
*
https://github.com/Web3DConsortium/X3D/blob/master/ISO-IEC19776/ISO-IEC19776-2/ISO-IEC19776-2v4.0/ISO-IEC19776-2v4.0-WD1/Part02/grammar.html
Of note is that we have a dozen pending changes to the Classic grammar. These are tracked together in a coordinated fashion using a "choreography" issue.
*
Mantis 1483: Grammar annex issues (choreography)
*
https://mantis.web3d.org/view.php?id=1483
======================================
*
Grammar annex includes a number of problems.
* https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19776-2v4.0-WD1/Part02/grammar.html
a. Much missing whitespace - fixed.
b. [PERL] is no longer an authoritative reference and should be removed from the Bibliography.
c. The actual syntax appears to be a variation of Extended Backus-Naur Form (EBNF).
- ISO/IEC 14997 https://www.iso.org/standard/26153.html (then ITTF website)
- https://en.wikipedia.org/wiki/Extended_Backus%E2%80%93Naur_form
d. In order for production rules to match EBNF grammar syntax, the construct := should likely be the definition symbol = instead.
e. Some informal inconsistencies can be found in the grammar, for example
IdFirstChar::=
Any ISO-10646 character encoded using UTF-8 except: 0x30-0x3a, 0x0-0x20, 0x22, 0x23, 0x27, 0x2b, 0x2c, 0x2d, 0x2e, 0x5b, 0x5c, 0x5d, 0x7b, 0x7d, 0x7f ;
IdRestChars::=
Any number of ISO-10646 characters except: 0x0-0x20, 0x22, 0x23, 0x27, 0x2c, 0x2e, 0x3a, 0x5b, 0x5c, 0x5d, 0x7b, 0x7d, 0x7f ;
f. Do each of the node names and field names need to be defined?
g. The grammar and bibliographic references need to appear at appropriate places in the rest of the document.
*
Can this grammar be validated using a software tool?
* EBNF Evaluator https://mdkrajnak.github.io/ebnftest
* EBNF Visualizer http://dotnet.jku.at/applications/Visualizer
* ebnf parsing library https://github.com/pedroreissantos/bnf
* BNF (EBNF) Playground https://bnfplayground.pauliankline.com<https://bnfplayground.pauliankline.com/>
Note concerns in
* David A. Wheeler, Don’t Use ISO/IEC 14977:1996 Extended Backus-Naur Form (EBNF)
* https://dwheeler.com/essays/dont-use-iso-14977-ebnf.html
If we do achieve a validatable EBNF grammar, both forms will need to be carefully compared. Conceivably both prior VRML-style grammar and updated EBNF grammar might both be included.
======================================
I just cleaned up much HTML in there too.
Careful scrutiny and all comments are welcome.
Patient persistent pays, and valid content is king. These principles were collectively adopted by the community at the first Web3D Conference in 2025. We are working atop a tall pile of treasure.
Have fun with X3D! 🙂
all the best, Don
--
Don Brutzman Naval Postgraduate School, Code USW/Br brutzman at nps.edu
Watkins 270, MOVES Institute, Monterey CA 93943-5000 USA +1.831.656.2149
X3D graphics, virtual worlds, navy robotics https://faculty.nps.edu/brutzman
________________________________
From: x3d <x3d-bounces at web3d.org> on behalf of Spec Feedback <spec-comment at web3d.org>
Sent: Tuesday, February 18, 2025 6:50 PM
To: x3d at web3d.org <x3d at web3d.org>
Subject: [x3d] Spec Comment by on 19776-2: ClassicVRML Encoding - V3.3
-- Submitter indicates that this comment may be public: *Yes* --
Comment on 19776-2: ClassicVRML Encoding - V3.3
Annex A : Grammar
https://www.web3d.org/documents/specifications/19776-2/V3.3/Part02/grammar.html
-----------------
I propose that for V 4.0 of the VRML encoding the grammar for sfstringValue
be defined more explicitly, in the same notation as the other grammer
definitions.
I propose 3 additional syntax elements defining single-character elements
BackslashChar ::= 0x5c
QuoteChar ::= 0x22
NonEscapedChar ::= Any ISO-10646 character except : BackslashChar , QuoteChar
-- alternate syntax --
NonEscapedChar ::= [^\"]
and the existing grammar for sfstringValue be replaced with
sfStringValue ::= QuoteChar ((BackslashChar QuoteChar)|(BackslashChar
BackslashChar)|NonEscapedChar)* QuoteChar
No change is necessary for sfstringValues , mfstringValue
-----------------
Submitted on Tuesday, 2025, February 18 - 6:50pm
by (Vincent Marchetti )
IP: 76.34.206.177
See: https://www.web3d.org/node/1694/submission/12439
_______________________________________________
x3d mailing list
x3d at web3d.org
http://web3d.org/mailman/listinfo/x3d_web3d.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20250219/0cdd18f9/attachment-0001.html>
More information about the x3d-public
mailing list