<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>
Date: Wed, 23 Aug 2017 10:09:08 -0700<br>
From: Don Brutzman <<a href="mailto:brutzman@nps.edu">brutzman@nps.edu</a>><br>
To: Vincent Marchetti <<a href="mailto:vmarchetti@ameritech.net">vmarchetti@ameritech.net</a>><br>
Cc: Roy Walmsley <<a href="mailto:roy.walmsley@ntlworld.com">roy.walmsley@ntlworld.com</a>>, X3D Graphics public<br>
        mailing list <<a href="mailto:x3d-public@web3d.org">x3d-public@web3d.org</a>><br>
Subject: [x3d-public] General-purpose VRML parsing motivations;<br>
        Comparison of parser generators - Wikipedia<br>
Message-ID: <<a href="mailto:ced0a5dc-b405-b621-c725-ce7d495ea6b2@nps.edu">ced0a5dc-b405-b621-c725-<wbr>ce7d495ea6b2@nps.edu</a>><br>
Content-Type: text/plain; charset="utf-8"; format=flowed<br>
<br>
The working group has been talking about possible ways to take advantage of the formal grammars for VRML syntax:<br>
<br>
        19776-2 Extensible 3D (X3D) encodings Part 2: Classic VRML encoding<br>
        Annex A (normative) Grammar<br>
        <a href="http://www.web3d.org/documents/specifications/19776-2/V3.3/Part02/grammar.html" rel="noreferrer" target="_blank">http://www.web3d.org/<wbr>documents/specifications/<wbr>19776-2/V3.3/Part02/grammar.<wbr>html</a><br>
<br>
        14772 Virtual Reality Modeling Language (VRML97)<br>
        Annex A (normative) Grammar definition<br>
        <a href="http://www.web3d.org/documents/specifications/14772/V2.0/part1/grammar.html" rel="noreferrer" target="_blank">http://www.web3d.org/<wbr>documents/specifications/<wbr>14772/V2.0/part1/grammar.html</a><br>
<br>
It would be interesting to generate a state-machine diagram for parsing the VRML grammar.  Perhaps one already exists somewhere?<br>
<br>
There are of course many converters and parsing libraries for VRML/X3D.  Many open-source code APIs exist, though they tend to be specifically tied to implementation goals (such as rendering in a player).<br></blockquote></div><br>
</div><div class="gmail_extra">Cobweb (soon Excite) has a formal and strict looking vrml parser:</div><div class="gmail_extra"><br></div><div class="gmail_extra"><a href="https://github.com/create3000/cobweb/blob/master/src/cobweb/Parser/Parser.js">https://github.com/create3000/cobweb/blob/master/src/cobweb/Parser/Parser.js</a><br></div><div class="gmail_extra"><br></div><div class="gmail_extra">Perhaps helpful as a working example for targeted parser generator output.</div><div class="gmail_extra"><br></div></div>