[project @ 1996-03-22 09:28:55 by partain]
[ghc-hetmet.git] / ghc / compiler / yaccParser / README-DPH
diff --git a/ghc/compiler/yaccParser/README-DPH b/ghc/compiler/yaccParser/README-DPH
deleted file mode 100644 (file)
index 8b9647f..0000000
+++ /dev/null
@@ -1,241 +0,0 @@
-The *-DPH.* files are for parsing Jon Hill's "Data Parallel Haskell"
-variant.  These notes indicate the differences from the regular
-parser.  If they are much changed from what's below, someone probably
-needs to do some work.
-
-Note: you should also "grep" for "#ifdef DPH" in the C source files...
-
-Will Partain
-
-foreach i ( ttype.ugn tree.ugn hslexer.lex hsparser.y )
-    set base=$i:r
-    set suff=$i:e
-    diff -c2 $i $base-DPH.$suff
-end
-
-*** ttype.ugn  Thu Nov 21 18:54:47 1991
---- ttype-DPH.ugn      Thu Jul  9 10:38:59 1992
-***************
-*** 12,15 ****
---- 12,18 ----
-       context : < gtcontextl  : list;
-                   gtcontextt  : ttype; >;
-+      tproc   : < gtpid       : list;
-+                  gtdata      : ttype; >;
-+      tpod    : < gtpod       : ttype; >;                     
-  end;
-  
-*** tree.ugn   Thu May 14 17:13:43 1992
---- tree-DPH.ugn       Thu Jul  9 10:39:04 1992
-***************
-*** 62,64 ****
---- 62,75 ----
-                   gsccexp     : tree; >;
-       negate  : < gnexp       : tree; >;
-+      parzf   : < gpzfexp     : tree;
-+                  gpzfqual    : list; >;
-+      pardgen : < gdproc      : tree;
-+                  gdexp       : tree; >;
-+      parigen : < giproc      : tree;
-+                  giexp       : tree; >;
-+      parfilt : < gpfilt      : tree; >;
-+      pod     : < gpod        : list; >;
-+      proc    : < gpid        : list;
-+                  gpdata      : tree; >;
-+ 
-  end;
-*** hslexer.lex        Wed Jun  3 20:56:01 1992
---- hslexer-DPH.lex    Thu Jul  9 10:45:03 1992
-***************
-*** 17,20 ****
---- 17,21 ----
-  *       04/12/91 kh             Added Int#.                           *
-  *       31/01/92 kh             Haskell 1.2 version.                  *
-+ *    19/03/92 Jon Hill       Added Data Parallel Notation          *
-  *       24/04/92 ps             Added 'scc'.                          *
-  *       03/06/92 kh             Changed Infix/Prelude Handling.       *
-***************
-*** 560,563 ****
---- 561,570 ----
-  "_"                  { RETURN(WILDCARD); }
-  "`"                  { RETURN(BQUOTE); }
-+ "<<"                 { RETURN(OPOD); }
-+ ">>"                 { RETURN(CPOD); }
-+ "(|"                 { RETURN(OPROC); }
-+ "|)"                 { RETURN(CPROC); }
-+ "<<-"                        { RETURN(DRAWNFROM); }
-+ "<<="                        { RETURN(INDEXFROM); }
-  
-  <PRIM>("-")?{N}"#"   {
-*** hsparser.y Thu Jul  9 10:58:27 1992
---- hsparser-DPH.y     Thu Jul  9 10:49:12 1992
-***************
-*** 5,9 ****
-  *                       Modified by:            Kevin Hammond             *
-  *                       Last date revised:      December 13 1991. KH.     *
-! *                       Modification:           Haskell 1.1 Syntax.       *
-  *                                                                         *
-  *                                                                         *
---- 5,10 ----
-  *                       Modified by:            Kevin Hammond             *
-  *                       Last date revised:      December 13 1991. KH.     *
-! *                       Modification:           o Haskell 1.1 Syntax.     *
-! *                                            o Data Parallel Syntax.   *
-  *                                                                         *
-  *                                                                         *
-***************
-*** 15,19 ****
-  *                                                                         *
-  *                                                                         *
-! *                 LALR(1) Syntax for Haskell 1.2                          *
-  *                                                                         *
-  **************************************************************************/
---- 16,20 ----
-  *                                                                         *
-  *                                                                         *
-! *                 LALR(1) Syntax for Haskell 1.2 + Data Parallelism       *
-  *                                                                         *
-  **************************************************************************/
-***************
-*** 146,149 ****
---- 147,151 ----
-  %token       OBRACK          CBRACK          OPAREN          CPAREN
-  %token       COMMA           BQUOTE
-+ %token  OPOD         CPOD            OPROC           CPROC
-  
-  
-***************
-*** 160,163 ****
---- 162,166 ----
-  %token       DCOLON          LARROW
-  %token       WILDCARD        AT              LAZY            LAMBDA
-+ %token       DRAWNFROM       INDEXFROM
-  
-  
-***************
-*** 210,213 ****
---- 213,218 ----
-  %left        OCURLY          OBRACK          OPAREN
-  
-+ %left        OPOD            OPROC
-+ 
-  %left        EQUAL
-  
-***************
-*** 238,241 ****
---- 243,248 ----
-               upto
-               cexp
-+              tyvar_pids
-+              parquals
-  
-  
-***************
-*** 246,249 ****
---- 253,257 ----
-               dpatk fpatk opatk aapatk
-               texps
-+              processor parqual
-  
-  %type <uid>  MINUS VARID CONID VARSYM CONSYM
-***************
-*** 605,610 ****
---- 613,629 ----
-       |  OBRACK tyvar CBRACK                  { $$ = mktllist($2); }
-       |  OPAREN tyvar RARROW tyvar CPAREN     { $$ = mktfun($2,$4); }
-+      |  OPOD tyvar CPOD                      { $$ = mktpod($2); }
-+      |  OPROC tyvar_pids SEMI tyvar CPROC    { $$ = mktproc($2,$4); }
-+      |  OPOD tyvar_pids SEMI tyvar CPOD      { $$ = mktpod(mktproc($2,$4));}
-+      |  OPOD OPROC tyvar_pids SEMI tyvar CPROC CPOD  
-+                      { $$ = mktpod(mktproc($3,$5)); }
-       ;
-  
-+ /* Note (hilly) : Similar to tyvar_list except k>=1 not k>=2 */
-+ 
-+ tyvar_pids   : tyvar COMMA tyvar_pids        { $$ = mklcons($1,$3); }
-+              |  tyvar                        { $$ = lsing($1); }
-+              ;
-+ 
-  defaultd:  defaultkey dtypes
-               { 
-***************
-*** 740,743 ****
---- 759,765 ----
-       |  OPAREN type CPAREN                   { $$ = $2; }
-       |  OBRACK type CBRACK                   { $$ = mktllist($2); }
-+      |  OPOD type CPOD                       { $$ = mktpod($2); }
-+      |  OPROC types SEMI type CPROC          { $$ = mktproc($2,$4); }
-+      |  OPOD types SEMI type CPOD            { $$ = mktpod(mktproc($2,$4));}
-       ;
-       
-***************
-*** 1027,1030 ****
---- 1049,1055 ----
-       |  sequence                             { $$ = mkpar($1); }
-       |  comprehension                        { $$ = mkpar($1); }
-+      |  OPOD exp VBAR parquals CPOD          { $$ = mkparzf($2,$4); }
-+      |  OPOD exps CPOD                       { $$ = mkpod($2); }
-+      |  processor                            { $$ = mkpar($1); }
-  
-       /* These only occur in patterns */
-***************
-*** 1035,1038 ****
---- 1060,1076 ----
-  
-  
-+ processor :  OPROC exps SEMI exp CPROC               { $$ = mkproc($2,$4); }
-+        ;
-+ 
-+ parquals  :  parquals COMMA parqual          { $$ = lapp($1,$3); }
-+        |  parqual                            { $$ = lsing($1); }
-+        ;
-+ 
-+ parqual  : exp                                       { $$ = mkparfilt($1); }
-+        | processor DRAWNFROM exp             { $$ = mkpardgen($1,$3); }
-+        | processor INDEXFROM exp             { $$ = mkparigen($1,$3); }
-+        ;
-+ 
-+ 
-  /*
-       LHS patterns are parsed in a similar way to
-***************
-*** 1131,1134 ****
---- 1169,1173 ----
-       |  OBRACK CBRACK                                { $$ = mkllist(Lnil); }
-       |  LAZY apat                                    { $$ = mklazyp($2); }
-+         |  OPROC pats SEMI apat CPROC                        { $$ = mkproc($2,$4); }
-       ;
-  
-***************
-*** 1146,1149 ****
---- 1185,1189 ----
-       |  obrackkey CBRACK                             { $$ = mkllist(Lnil); }
-       |  lazykey apat                                 { $$ = mklazyp($2); }
-+         |  oprockey pats SEMI opat CPROC             { $$ = mkproc($2,$4); }
-       ;
-  
-***************
-*** 1283,1286 ****
---- 1323,1327 ----
-       |  OBRACK CBRACK                        { $$ = mkllist(Lnil); }
-       |  LAZY apat                            { $$ = mklazyp($2); }
-+         |  OPROC pats SEMI apat CPROC                { $$ = mkproc($2,$4); }
-       ;
-  
-***************
-*** 1312,1315 ****
---- 1353,1357 ----
-       |  obrackkey CBRACK                     { $$ = mkllist(Lnil); }
-       |  lazykey apat                         { $$ = mklazyp($2); }
-+         |  oprockey pats SEMI opat CPROC             { $$ = mkproc($2,$4); }
-       ;
-  */
-***************
-*** 1372,1375 ****
---- 1414,1419 ----
-       ;
-  
-+ oprockey:   OPROC    { setstartlineno(); }
-+      ;
-  
-