<div style="line-height:1.7;color:#000000;font-size:14px;font-family:arial"><div>In my opinion, the bison parser implements LR analyzer, handwritten parser implements Top-To-Down analyzer. I remember some compiling book says "LR analyzer is better and faster than Top-To-Down analyzer". So, your opinon confuses me. Could you give me more information about speed of handwritten parser?</div><div><br></div><div></div><div id="divNeteaseMailCard"></div><div><br></div>At 2011-11-30 15:47:43,"Oliver Hunt" <oliver@apple.com> wrote:<br> <blockquote id="isReplyContent" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">The handwritten parser has numerous benefits over the old bison generated one, the most basic being:<div> * It's more than 2 times faster than the bison parser</div><div> * It doesn't require complete duplication of the grammar to support strict mode (and can identify strict mode in the first place)</div><div> * It fixes a number of bugs inherent in the bison parser due to the way automatic semicolon insertion was implemented.</div><div><br></div><div>There are a number of other benefits, but those are the most obvious.</div><div><br></div><div>--Oliver</div><div><br><div><div>On Nov 29, 2011, at 11:38 PM, PandaCanFly wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div style="line-height:1.7;color:#000000;font-size:14px;font-family:arial">Hello everyone,<div>    I am researching WEBKIT and coming up against difficulty about Javascript parserĄŁAs I Know, WEBKIT of old version uses the bison parser to interpret javascript code. But WEBKIT of recently version doesn't uses bison parser. Instead, WEBKIT of recently version uses Top-To-Down Recursion parser.</div><div>    I have some details to add. 1) WEBKIT using bison parser has a source file named "Grammar.cpp". 2) I know WEBKIT with 38688 version number uses bison parser<font class="Apple-style-span" size="3"><span class="Apple-style-span" style="line-height: normal; white-space: pre-wrap;"><i>.</i></span></font></div><div><span class="Apple-style-span" style="white-space: pre-wrap; line-height: normal; font-size: medium; "><b>    </b>I hope someone can give me some explanation, thanks.</span></div><div><span class="Apple-style-span" style="white-space: pre-wrap; line-height: normal; font-size: medium; "><i>    </i></span></div></div><br><br><span title="neteasefooter"><span id="netease_mail_footer"></span></span>_______________________________________________<br>webkit-dev mailing list<br><a href="mailto:webkit-dev@lists.webkit.org">webkit-dev@lists.webkit.org</a><br>http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev<br></blockquote></div><br></div></blockquote></div><br><br><span title="neteasefooter"><span id="netease_mail_footer"></span></span>