Added tree adaptor for new AST node type
[charm.git] / src / langs / charj / src / charj / translator / Charj.stg
1 group Charj;
2
3 charjSource_ci(pd, ids, tds) ::= 
4 //<pd>
5 //<ids>
6 <<
7 <tds>
8 >>
9
10
11 charjSource_h(pd, ids, tds) ::= 
12 <<
13 /***********
14  * WARNING *
15  ***********
16  * This is a machine generated header file.
17  * It is not meant to be edited by hand and can be overwritten by charjc.
18  * Do not edit this file unless you know what you're doing.
19  */
20
21 <pd>
22 <ids>
23 <tds>
24 >>
25
26
27 charjSource_cc(pd, ids, tds) ::= 
28 <<
29 <pd>
30 <ids>
31 <tds>
32 >>
33
34
35 classExtends_ci(type) ::= "<type>"
36
37
38 classExtends_cc_h(type) ::= ": public CBase_<type>"
39
40
41 interfaceExtends(ts) ::=
42 <<
43 : public <ts; separator=", public ">
44 >>
45
46
47 classDeclaration_ci(mod, ident, gen, ext, impl, ctls) ::=
48 <<
49 module <ident> {
50     chare <ident> <gen>: <ext> {
51         <ctls>
52     }
53 }
54
55 >>
56
57
58 classDeclaration_h(mod, ident, gen, ext, impl, ctls) ::=
59 <<
60
61
62 class <ident> <gen>: public CBase_<ident> <impl> {
63     <ctls>
64 };
65
66
67 >>
68
69 classDeclaration_cc(mod, ident, gen, ext, impl, ctls) ::=
70 <<
71
72
73 #include "<ident>.decl.h"
74 class <ident> <gen>: public CBase_<ident> <impl> {
75     <ctls>
76 };
77 #include "<ident>.def.h"
78
79
80 >>
81
82
83 classTopLevelScope(classScopeDeclarations) ::= 
84 <<
85 // _classTopLevelScope_
86 <classScopeDeclarations; separator="\n">
87 // _!classTopLevelScope_
88 >>
89
90
91 funcMethodDecl_h(modl, 
92             gtpl,
93             ty,
94             id,
95             fpl,
96             adl,
97             tc,
98             block) ::=
99 <<
100 <modl>: <ty> <gtpl> <id><fpl> <adl> <tc>;
101 >>
102
103
104 funcMethodDecl_ci(modl, 
105             gtpl,
106             ty,
107             id,
108             fpl,
109             adl,
110             tc,
111             block) ::=
112 <<
113 entry <ty> <gtpl> <id><fpl> <adl> <tc>;
114 >>
115
116
117 funcMethodDecl_cc(modl, 
118             gtpl,
119             ty,
120             id,
121             fpl,
122             adl,
123             tc,
124             block) ::=
125 <<
126 <modl>: <ty> <gtpl> <id><fpl> <adl> <tc> <block>
127 >>
128
129
130 voidMethodDecl_ci(modl, gtpl, id, fpl, tc, block) ::=
131 <<
132 entry void<gtpl> <id><fpl> <tc>;
133 >>
134
135
136 voidMethodDecl_h(modl, gtpl, id, fpl, tc, block) ::=
137 <<
138 <modl>: void<gtpl> <id><fpl> <tc>;
139 >>
140
141
142 voidMethodDecl_cc(modl, gtpl, id, fpl, tc, block) ::=
143 <<
144 <modl>: void<gtpl> <id><fpl> <tc> <block>
145 >>
146
147
148 ctorDecl_ci(modl, gtpl, id, fpl, tc, block) ::=
149 <<
150 entry<gtpl> <id><fpl> <tc>;
151 >>
152
153
154 ctorDecl_h(modl, gtpl, id, fpl, tc, block) ::=
155 <<
156 <modl>:<gtpl> <id><fpl> <tc>;
157 >>
158
159
160 ctorDecl_cc(modl, gtpl, id, fpl, tc, block) ::=
161 <<
162 <modl>:<gtpl> <id><fpl> <tc> <block>
163 >>
164
165