[project @ 1996-03-19 08:58:34 by partain]
[ghc-hetmet.git] / ghc / compiler / parser / constr.ugn
1 %{
2 #include "hspincl.h"
3 %}
4 %{{
5 module U_constr where
6 import Ubiq --  debugging consistency check
7 import UgenUtil
8
9 import U_maybe
10 import U_list
11 import U_qid
12 import U_ttype
13 %}}
14 type constr;
15         /* constr in prefix form: */
16         constrpre   : < gconcid     : qid;
17                         gconctypel  : list; /* [ttype] */
18                         gconcline   : long; >;
19
20         /* constr in infix form: */
21         constrinf   : < gconity1    : ttype;
22                         gconiop     : qid;
23                         gconity2    : ttype;
24                         gconiline   : long; >;
25
26         /* constr in record form: */
27         constrrec   : < gconrid     : qid;
28                         gconrfieldl : list; /* [field] */
29                         gconrline   : long; >;
30
31         /* constr in simple "newtype" form: */
32         constrnew   : < gconnid     : qid;
33                         gconnty     : ttype;
34                         gconnline   : long; >;
35
36         field       : < gfieldn     : list;
37                         gfieldt     : ttype; >;
38 end;