summaryrefslogtreecommitdiff
path: root/ghc/compiler/yaccParser/tree-DPH.ugn
blob: 1b68dcd0ed44f0eced980eb1d675e3a9d0c67b88 (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
%{
#include "hspincl.h"
%}
%{{
module U_tree where
import UgenUtil
import Util
%}}
type tree;
	hmodule : < ghname	: id;
		    ghimplist	: list;
		    ghexplist	: list;
		    ghmodlist	: binding;
		    ghmodline	: unsigned; >;
	ident	: < gident 	: id;	>;
	integer : < ginteger	: id;	>;
	intprim : < gintprim	: id;	>;
	floatr	: < gfloatr	: id;	>;
	doubleprim : < gdoubleprim : id;	>;
	floatprim : < gfloatprim : id;	>;
	charr	: < gchar	: id;   >;
	charprim : < gcharprim : id;	>;
	clitlit : < gclitlit : id;	>;
	voidprim : < >;
	string	: < gstring	: id;	>;
	tuple	: < gtuplelist	: list; >;
	ap	: < gfun	: tree;
		    garg	: tree; >;
	lambda	: < glampats	: list;
		    glamexpr	: tree;
		    glamline	: unsigned; >;
	let	: < gletvdeflist	: binding;
		    gletvexpr	: tree; >;
	casee	: < gcaseexpr	: tree;
		    gcasebody	: list; >;
	ife	: < gifpred	: tree;
		    gifthen	: tree;
		    gifelse	: tree; >;
	par	: < gpare	: tree; >;
	as	: < gasid	: id;
		    gase	: tree; >;
	lazyp	: < glazyp	: tree; >;
	plusp	: < gplusp	: tree; 
		    gplusi	: tree; >;
	wildp	: < >;
	restr	: < grestre	: tree;
		    grestrt	: ttype; >;
	comprh	: < gcexp	: tree;
		    gcquals	: list; >;
	qual	: < gqpat	: tree;
		    gqexp	: tree;	>;
	guard	: < ggexp	: tree; >;
	def	: < ggdef	: binding; >;
	tinfixop: < gdummy	: tree; >;
	lsection: < glsexp	: tree; 
		    glsop	: id;	>;
	rsection: < grsop	: id;
		    grsexp	: tree; >;
	eenum	: < gefrom	: tree;
		    gestep	: list;
		    geto	: list;	>;
	llist	: < gllist	: list; >;
	ccall	: < gccid	: id;
		    gccinfo	: id;
		    gccargs	: list; >;
	scc	: < gsccid	: id;
		    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   	: < gprocid	: list;
		    gprocdata   : tree; >;

end;