]> ruin.nu Git - proglang.git/blobdiff - syntax.cf
removed most shift/reduce conflicts by moving EAss from Exp3 to Exp and thus disallow...
[proglang.git] / syntax.cf
index fae1234c287f73180e784eb039d7a68169a81bb8..dc7e65960cacd24d1430ed90c02bf9ba07c69c8a 100644 (file)
--- a/syntax.cf
+++ b/syntax.cf
@@ -16,6 +16,7 @@ SWhile.   Stm      ::= "while" "(" Exp ")" Stm ;
 -- SFor.     Stm      ::= "for" "(" Stm Exp ";" Exp ")" Stm ;
 SPrint.   Stm      ::= "print" Exp ";" ;
 
+EAss.     Exp     ::= Ident "=" Exp;
 BExp.     Exp     ::= Exp1 BOp Exp1 ;
 op1.      Exp1    ::= Exp1 Op1 Exp2 ;
 define op1 e1 o e2 = OpExp e1 o e2 ;
@@ -26,7 +27,6 @@ define postIncr i = EPost i Plus ;
 postDecr.    Exp3    ::= Ident "--" ;
 define postDecr i = EPost i Minus ;
 EVar.     Exp3    ::= Ident ;
-EAss.     Exp3    ::= Ident "=" Exp;
 EInt.     Exp3    ::= Integer ;
 ENeg.     Exp3    ::= "-" Exp3 ;
 EBool.    Exp3    ::= Bool ;
@@ -36,7 +36,7 @@ EReadB.   Exp3    ::= "readBool" ;
 coercions Exp 3 ;
 
 
-_.        Stm     ::= Stm ";" ;
+-- _.        Stm     ::= Stm ";" ;
 
 
 terminator Stm "" ;