On 8 March 2013 10:35, Yusuke SUZUKI <span dir="ltr"><<a href="mailto:utatane.tea@gmail.com" target="_blank">utatane.tea@gmail.com</a>></span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr">Yeah. We, Esprima developers, parse UnicodeData.txt to generate identifier identification functions.<div>I wrote simple UnicodeData.txt parser and generated RegExp[1]. These functions are also used in Acorn.</div>
</div></blockquote><div><br>RegEx is slower. I suggest using if statements on char codes and < and > to check it's within the range of z-a etc and then separate functions to handle higher ascii variables only when needed and then compare the char codes are within the ranges of allowed identifiers.<br>
<br><a href="https://code.google.com/p/mentaljs/source/browse/trunk/MentalJS/javascript/Mental.js#504">https://code.google.com/p/mentaljs/source/browse/trunk/MentalJS/javascript/Mental.js#504</a><br><br>I still have to optimize that function further by removing <= and >= and maybe separating each identifier range into their own function since higher non-alpha variables take longer to parse since they are at the end of the if statement.   <br>
</div></div>