[project @ 1998-12-02 13:17:09 by simonm]
[ghc-hetmet.git] / ghc / compiler / parser / tree.ugn
index 60974fa..19fed1e 100644 (file)
@@ -3,13 +3,13 @@
 %}
 %{{
 module U_tree where
-import Ubiq --  debugging consistency check
+
+#include "HsVersions.h"
+
 import UgenUtil
 
 import U_constr                ( U_constr )    -- interface only
 import U_binding
-import U_coresyn       ( U_coresyn )   -- interface only
-import U_hpragma       ( U_hpragma )   -- interface only
 import U_list
 import U_literal
 import U_maybe
@@ -22,10 +22,12 @@ type tree;
                    ghexplist   : maybe;        /* Maybe [entity] */
                    ghfixes     : list;         /* [fixop] */
                    ghmodlist   : binding;
+                   ghversion   : long;
                    ghmodline   : long; >;
-       fixop   : < gfixop      : unkId;
+       fixop   : < gfixop      : qid;
                    gfixinfx    : long;
-                   gfixprec    : long; >;
+                   gfixprec    : long; 
+                   gfixline    : long; >;
 
        ident   : < gident      : qid; >;
        lit     : < glit        : literal; >;
@@ -35,13 +37,7 @@ type tree;
        infixap : < ginffun     : qid;
                    ginfarg1    : tree;
                    ginfarg2    : tree; >;
-       negate  : < gnexp       : tree;
-                   gnxxx1      : VOID_STAR;
-                   gnxxx2      : VOID_STAR; >;
-       /*
-         infixap and negate have the same size
-         so they can be rearranged in precparse
-       */
+       negate  : < gnexp       : tree; >;
 
        lambda  : < glampats    : list;
                    glamexpr    : tree;
@@ -77,12 +73,14 @@ type tree;
        as      : < gasid       : qid;
                    gase        : tree; >;
        lazyp   : < glazyp      : tree; >;
+       plusp   : < gplusp      : qid; 
+                   gplusi      : literal; >;
        wildp   : < >;
-
        restr   : < grestre     : tree;
                    grestrt     : ttype; >;
 
        tuple   : < gtuplelist  : list; >;
+       utuple  : < gutuplelist : list; >;
        llist   : < gllist      : list; >;
        eenum   : < gefrom      : tree;
                    gestep      : maybe;