6 import Ubiq -- debugging consistency check
9 import U_constr ( U_constr ) -- interface only
11 import U_coresyn ( U_coresyn ) -- interface only
12 import U_hpragma ( U_hpragma ) -- interface only
20 hmodule : < ghname : stringId;
21 ghimplist : list; /* [import] */
22 ghexplist : maybe; /* Maybe [entity] */
23 ghfixes : list; /* [fixop] */
26 fixop : < gfixop : unkId;
30 ident : < gident : qid; >;
31 lit : < glit : literal; >;
35 infixap : < ginffun : qid;
38 negate : < gnexp : tree;
40 gnxxx2 : VOID_STAR; >;
42 infixap and negate have the same size
43 so they can be rearranged in precparse
46 lambda : < glampats : list;
50 let : < gletvdefs : binding;
52 casee : < gcaseexpr : tree;
55 ife : < gifpred : tree;
62 dobind : < gdobindpat : tree;
64 gdobindline : long; >;
65 doexp : < gdoexp : tree;
67 seqlet : < gseqlet : binding; >;
69 record : < grcon : qid;
70 grbinds : list; >; /* [rbind] */
71 rupdate : < gupdexp : tree;
72 gupdbinds : list; >; /* [rbind] */
73 rbind : < grbindvar : qid;
74 grbindexp : maybe; >; /* Maybe expr */
76 par : < gpare : tree; >;
79 lazyp : < glazyp : tree; >;
82 restr : < grestre : tree;
85 tuple : < gtuplelist : list; >;
86 llist : < gllist : list; >;
87 eenum : < gefrom : tree;
90 comprh : < gcexp : tree;
92 qual : < gqpat : tree;
94 guard : < ggexp : tree; >;
96 lsection: < glsexp : tree;
98 rsection: < grsop : qid;
101 ccall : < gccid : stringId;
104 scc : < gsccid : hstring;