blob: 750ad2243cf4833621cb8035a04465523c141fb4 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
|
%{
#include "hspincl.h"
%}
%{{
module U_tree where
#include "HsVersions.h"
import UgenUtil
import U_constr ( U_constr ) -- interface only
import U_binding
import U_list
import U_literal
import U_maybe
import U_qid
import U_ttype
%}}
type tree;
hmodule : < ghname : stringId;
ghimplist : list; /* [import] */
ghexplist : maybe; /* Maybe [entity] */
ghfixes : list; /* [fixop] */
ghmodlist : binding;
ghversion : long;
ghmodline : long; >;
fixop : < gfixop : qid;
gfixinfx : long;
gfixprec : long;
gfixline : long; >;
ident : < gident : qid; >;
lit : < glit : literal; >;
ap : < gfun : tree;
garg : tree; >;
infixap : < ginffun : qid;
ginfarg1 : tree;
ginfarg2 : tree; >;
negate : < gnexp : tree; >;
lambda : < glampats : list;
glamexpr : tree;
glamline : long; >;
let : < gletvdefs : binding;
gletvexpr : tree; >;
casee : < gcaseexpr : tree;
gcasebody : list;
gcaseline : long; >;
ife : < gifpred : tree;
gifthen : tree;
gifelse : tree;
gifline : long; >;
doe : < gdo : list;
gdoline : long; >;
dobind : < gdobindpat : tree;
gdobindexp : tree;
gdobindline : long; >;
doexp : < gdoexp : tree;
gdoexpline : long; >;
seqlet : < gseqlet : binding; >;
record : < grcon : qid;
grbinds : list; >; /* [rbind] */
rupdate : < gupdexp : tree;
gupdbinds : list; >; /* [rbind] */
rbind : < grbindvar : qid;
grbindexp : maybe; >; /* Maybe expr */
par : < gpare : tree; >;
as : < gasid : qid;
gase : tree; >;
lazyp : < glazyp : tree; >;
plusp : < gplusp : qid;
gplusi : literal; >;
wildp : < >;
restr : < grestre : tree;
grestrt : ttype; >;
tuple : < gtuplelist : list; >;
llist : < gllist : list; >;
eenum : < gefrom : tree;
gestep : maybe;
geto : maybe; >;
comprh : < gcexp : tree;
gcquals : list; >;
qual : < gqpat : tree;
gqexp : tree; >;
guard : < ggexp : tree; >;
lsection: < glsexp : tree;
glsop : qid; >;
rsection: < grsop : qid;
grsexp : tree; >;
ccall : < gccid : stringId;
gccinfo : stringId;
gccargs : list; >;
scc : < gsccid : hstring;
gsccexp : tree; >;
end;
|