<span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:14px;background-color:rgb(255,255,255)">Though it's a little too long since this discussion, I've tried </span><span class="il" style="background-color:rgb(255,255,204);color:rgb(34,34,34);font-family:arial,sans-serif;font-size:14px">Allen</span><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:14px;background-color:rgb(255,255,255)">'s idea in my parser and still find conflicting.</span><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:14px;background-color:rgb(255,255,255)">
<br></div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:14px;background-color:rgb(255,255,255)">Consider the following rules:</div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:14px;background-color:rgb(255,255,255)">
<br></div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:14px;background-color:rgb(255,255,255)"><div class="im" style="color:rgb(80,0,80)"><div><font color="#222222" face="arial, sans-serif">PropertyAssignment :</font></div>
<div><font color="#222222" face="arial, sans-serif">    IdentifierName PropertyName ( ) { FunctionBody }</font></div><div><font color="#222222" face="arial, sans-serif"><br></font></div></div><div><font color="#222222" face="arial, sans-serif">PropertyAssignment :</font></div>
<div><font color="#222222" face="arial, sans-serif">    PropertyName : AssignmentExpression</font></div><div><font color="#222222" face="arial, sans-serif"><br></font></div><div><font color="#222222" face="arial, sans-serif">PropertyName :</font></div>
<div><font color="#222222" face="arial, sans-serif">    IdentifierName</font></div></div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:14px;background-color:rgb(255,255,255)"><font color="#222222" face="arial, sans-serif"><br>
</font></div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:14px;background-color:rgb(255,255,255)"><font color="#222222" face="arial, sans-serif">when a parser get “</font>IdentifierName” it need to decide reduce the IdentifierName into "get" or “PropertyName”. For LR parsers there is no way to do these things.</div>
<div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:14px;background-color:rgb(255,255,255)"><br></div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:14px;background-color:rgb(255,255,255)">
I would suggest another way:</div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:14px;background-color:rgb(255,255,255)"><br></div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:14px;background-color:rgb(255,255,255)">
IdentifierName ::</div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:14px;background-color:rgb(255,255,255)">    <font color="#222222" face="arial, sans-serif">FutureReservedWord</font></div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:14px;background-color:rgb(255,255,255)">
    Keywords</div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:14px;background-color:rgb(255,255,255)">    Identifier</div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:14px;background-color:rgb(255,255,255)">
    SpecialWord</div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:14px;background-color:rgb(255,255,255)"><br></div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:14px;background-color:rgb(255,255,255)">
SpecialWord ::</div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:14px;background-color:rgb(255,255,255)">    get<br>    set</div><br><div class="gmail_quote">2012/5/3 Allen Wirfs-Brock <span dir="ltr"><<a href="mailto:allen@wirfs-brock.com" target="_blank">allen@wirfs-brock.com</a>></span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">If I was going to move something to the syntactic grammar it would probably be the current definition of Identifier<br>

<br>
Identifier :<br>
    IdentifierName but not ReservedWord<br>
<br>
You might  then lex all IdentifierNames (including ReservedWord) as IdentifierName tokens and treat all occurrences of keyword terminals in the syntactic grammar as short-hands for saying: IdentifierName matching this specific keyword.  For example:<br>

<br>
PropertyAssignment :<br>
   get PropertyName ( ) { FunctionBody }<br>
<br>
could be interpreted as:<br>
<br>
PropertyAssignment :<br>
   IdentifierName PropertyName ( ) { FunctionBody }<br>
<br>
with the static semantic restriction that the text of IdentifierName must be "get"<br>
<span class="HOEnZb"><font color="#888888"><br>
<br>
Allen<br>
<br>
<br>
</font></span></blockquote></div><br>