[pypy-svn] r42452 - pypy/dist/pypy/lang/js

santagada at codespeak.net santagada at codespeak.net
Mon Apr 30 05:14:35 CEST 2007


Author: santagada
Date: Mon Apr 30 05:14:35 2007
New Revision: 42452

Added:
   pypy/dist/pypy/lang/js/newparser.py
      - copied, changed from r42405, user/santagada/newjsparser/newparser.py
Modified:
   pypy/dist/pypy/lang/js/jsgrammar.txt
Log:
why not eliminate the multop kind of simbols? it seems to work fine



Modified: pypy/dist/pypy/lang/js/jsgrammar.txt
==============================================================================
--- pypy/dist/pypy/lang/js/jsgrammar.txt	(original)
+++ pypy/dist/pypy/lang/js/jsgrammar.txt	Mon Apr 30 05:14:35 2007
@@ -234,33 +234,33 @@
                 | "typeof" unaryexpression
                 | "++" unaryexpression 
                 | "--" unaryexpression 
-                | PLM unaryexpression 
+                | >addop< unaryexpression 
                 | "~" unaryexpression 
                 | "!" unaryexpression 
                 | <postfixexpression>
                 ;
 
 multop: "*" | "/" | "%";
-multiplicativeexpression    : unaryexpression (multop unaryexpression)+
+multiplicativeexpression    : unaryexpression (>multop< unaryexpression)+
                             | <unaryexpression>
                             ;
-PLM  : "\+|\-";
-additiveexpression  : multiplicativeexpression (PLM multiplicativeexpression)+
+addop: "+" | "-";
+additiveexpression  : multiplicativeexpression (>addop< multiplicativeexpression)+
                     | <multiplicativeexpression>
                     ;
 
 shiftop: "<<" | ">>" | ">>>";
-shiftexpression : additiveexpression (shiftop additiveexpression)+
+shiftexpression : additiveexpression (>shiftop< additiveexpression)+
                 | <additiveexpression>
                 ;
 
 relationalop: "<" | ">" | "<=" | ">=" | "instanceof" | "in";
-relationalexpression    : shiftexpression (relationalop relationalexpression)+
+relationalexpression    : shiftexpression (>relationalop< relationalexpression)+
                         | <shiftexpression>
                         ;
 
 equalityop: "==" | "!=" | "===" | "!==";
-equalityexpression  : relationalexpression (equalityop relationalexpression)+
+equalityexpression  : relationalexpression (>equalityop< relationalexpression)+
                     | <relationalexpression>
                     ;
 
@@ -289,22 +289,13 @@
                         | <logicalorexpression>
                         ;
 
-assignmentexpression    : lefthandsideexpression assignmentoperator assignmentexpression
+assignmentexpression    : lefthandsideexpression >assignmentoperator< assignmentexpression
                         | <conditionalexpression>
                         ;
 
-assignmentoperator: "=" |
-                    "\*=" |
-                    "\/=" |
-                    "\%=" |
-                    "\+=" |
-                    "\-=" |
-                    "<<=" |
-                    ">>=" |
-                    ">>>=" |
-                    "&=" |
-                    "^=" |
-                    "\|=" ;
+assignmentoperator  : "=" | "\*=" | "\/=" | "\%=" | "\+=" | "\-=" | "<<="
+                    | ">>=" | ">>>=" | "&=" | "^=" | "\|=" 
+                    ;
 
 expression  : assignmentexpression ([","] assignmentexpression)+
             | <assignmentexpression>



More information about the Pypy-commit mailing list