<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">see below<br><div><div>On Feb 8, 2011, at 2:01 PM, Mark S. Miller wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">Does anyone know of any other syntax that all major JS engines accept that are not in the official ES5.1 grammar?</blockquote><div><br></div><div>Yes, various RegExp syntax discrepancies are know to exist. &nbsp;Somebody needs to catalog them.</div><div><br></div><blockquote type="cite"><div><br></div><div>Does anyone know of any places on the web attempting to accumulate such exceptions?</div></blockquote><div><br></div><div>None that I know of that I would unconditionally trust.</div><div><br></div><br><blockquote type="cite">
<div><br></div><div>The other one I know of is nested named function declarations &lt;<a href="http://wiki.ecmascript.org/doku.php?id=conventions:no_non_standard_strict_decls">http://wiki.ecmascript.org/doku.php?id=conventions:no_non_standard_strict_decls</a>&gt;. And there was an ASI mis-description for "break" and "continue" that was corrected between ES5 and ES5.1.</div></blockquote><div><br></div><div>There really isn't any useful common semantics for function declaration in blocks. &nbsp;See&nbsp;<a href="https://blogs.msdn.com/b/ie/archive/2010/08/25/chakra-interoperability-means-more-than-just-standards.aspx">https://blogs.msdn.com/b/ie/archive/2010/08/25/chakra-interoperability-means-more-than-just-standards.aspx&nbsp;</a></div><div><br></div><br><blockquote type="cite">
<div><br></div><div>We really need a complete codification of the consensus ES5.1 grammar. Starting from the official grammar, the Caja&nbsp;&lt;<a href="http://caja.appspot.com/trycaja/index.html?input=do%20{%3b}%20while%28false%29%20false">http://caja.appspot.com/trycaja/index.html?input=do%20{%3b}%20while%28false%29%20false</a>&gt;&nbsp;and ES-Lab &lt;<a href="http://es-lab.googlecode.com/svn/trunk/site/esparser/index.html">http://es-lab.googlecode.com/svn/trunk/site/esparser/index.html</a>&gt; parsers both reject "do {;} while (false)&nbsp;false;" because we didn't know any better. I expect there are many other independent parsers (minimizers, linters, etc) that make the same mistake.</div>
<meta charset="utf-8"><meta charset="utf-8"><div><br></div><div>Even if such "corrections" do not make it into future errata, I would like to see them recorded on the ecmascript wiki.</div></blockquote><div><br></div><div>I was going to suggest that the place to start is <a href="http://bugs.ecmascript.org">bugs.ecmascript.org</a>, but you beat me to it.</div><div><br></div><div>Allen</div><div><br></div><div><br></div><div><br></div></div></body></html>