[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