87bb5436101da3332fa4b50cda525f39314c93d2
[charm.git] / src / langs / charj / src / charj / translator / Charj.stg
1 group Charj;
2
3 charjSource_ci(pd, ids, tds, debug) ::= 
4 //<pd>
5 //<ids>
6 <<
7 <if(debug)>/* \<charjSource_ci> */<endif>
8 /*
9  * packageDeclaration disabled...
10 <pd>
11  * end packageDeclaration
12  */
13
14 /*
15  * importDeclarations disabled...
16 <ids>
17  * end importDeclarations
18  */
19
20 <tds>
21 <if(debug)>/* \</charjSource_ci> */<endif>
22 >>
23
24
25 charjSource_h(pd, ids, tds, cb, debug) ::= 
26 <<
27 <if(debug)>/* \<CHARJ_SOURCE> */<endif>
28 /**************************************************************************
29  * WARNING                                                                *
30  **************************************************************************
31  * This is a machine generated header file.                               *
32  * It is not meant to be edited by hand and may be overwritten by charjc. *
33  **************************************************************************/
34
35 <pd>
36 <ids>
37 <tds>
38 <cb>
39
40 <if(debug)>/* \</CHARJ_SOURCE> */<endif>
41 >>
42
43
44 charjSource_cc(pd, ids, tds, cb, debug) ::= 
45 <<
46 <if(debug)>/* \<CHARJ_SOURCE> */<endif>
47 <ids>
48 <pd>
49 <tds>
50 <cb>
51 <if(debug)>/* \</CHARJ_SOURCE> */<endif>
52
53 >>
54
55 packageDeclaration_cc_h(ids) ::= 
56 <<
57 <if(debug)>/* \<packageDeclaration> */<endif>
58 namespace <ids; separator=" { namespace "> {
59 <if(debug)>/* \</packageDeclaration> */<endif>
60 >>
61
62 importDeclaration_cc_h(inc_id, use_id) ::= 
63 <<
64 <if(debug)>/* \<importDeclaration> */<endif>
65 #include \<<inc_id>\>
66 using <use_id>;
67 <if(debug)>/* \</importDeclaration> */<endif>
68 >>
69
70 classExtends_ci(type) ::= "<type>"
71
72
73 classExtends_cc_h(type) ::= "#include \<<type>.h\>"
74
75
76 interfaceExtends(ts) ::=
77 <<
78 : public <ts; separator=", public ">
79 >>
80
81
82 classDeclaration_ci(mod, ident, gen, ext, impl, ctls) ::=
83 <<
84 <if(debug)>/* \<typeDeclaration> */<endif>
85 module <ident> {
86 <if(ext)>
87     extern module <ext>;
88     chare <ident> <gen>: <ext> {
89 <else>
90     chare <ident> <gen> {
91 <endif>
92         
93         <ctls>
94     }
95 }
96 <if(debug)>/* \</typeDeclaration> */<endif>
97
98 >>
99
100
101 classDeclaration_h(mod, ident, gen, ext, impl, ctls) ::=
102 <<
103 <if(debug)>/* \<typeDeclaration> */<endif>
104
105 #include "<ident>.decl.h"
106 <ext>
107 class <ident> <gen>: public CBase_<ident> <impl> {
108     <ctls>
109 };
110 <if(debug)>/* \</typeDeclaration> */<endif>
111
112
113 >>
114
115 classDeclaration_cc(mod, ident, gen, ext, impl, ctls) ::=
116 <<
117 <if(debug)>/* \<typeDeclaration> */<endif>
118
119
120 #include "<ident>.decl.h"
121 <ext>
122 class <ident> <gen>: public CBase_<ident> <impl> {
123     <ctls>
124 };
125 #include "<ident>.def.h"
126 <if(debug)>/* \</typeDeclaration> */<endif>
127
128
129 >>
130
131
132 classTopLevelScope(classScopeDeclarations) ::= 
133 <<
134 <classScopeDeclarations; separator="\n">
135 >>
136
137
138 funcMethodDecl_h(modl, gtpl, ty, id, fpl, adl, tc, block) ::=
139 <<
140 <modl>: <ty> <gtpl> <id><fpl> <adl> <tc>;
141 >>
142
143
144 funcMethodDecl_ci(modl, gtpl, ty, id, fpl, adl, tc, block) ::=
145 <<
146 entry <ty> <gtpl> <id><fpl> <adl> <tc>;
147 >>
148
149
150 funcMethodDecl_cc(modl, gtpl, ty, id, fpl, adl, tc, block) ::=
151 <<
152 <modl>: <ty> <gtpl> <id><fpl> <adl> <tc> <block>
153 >>
154
155
156 voidMethodDecl_ci(modl, gtpl, id, fpl, tc, block) ::=
157 <<
158 entry void<gtpl> <id><fpl> <tc>;
159 >>
160
161
162 voidMethodDecl_h(modl, gtpl, id, fpl, tc, block) ::=
163 <<
164 <modl>: void<gtpl> <id><fpl> <tc>;
165 >>
166
167
168 voidMethodDecl_cc(modl, gtpl, id, fpl, tc, block) ::=
169 <<
170 <modl>: void<gtpl> <id><fpl> <tc> <block>
171 >>
172
173
174 ctorDecl_ci(modl, gtpl, id, fpl, tc, block) ::=
175 <<
176 entry void<gtpl> <id><fpl> <tc>;
177 >>
178
179
180 ctorDecl_h(modl, gtpl, id, fpl, tc, block) ::=
181 <<
182 <modl>:<gtpl> <id><fpl> <tc>;
183 >>
184
185
186 ctorDecl_cc(modl, gtpl, id, fpl, tc, block) ::=
187 <<
188 <modl>:<gtpl> <id><fpl> <tc> <block>
189 >>
190
191
192 block_cc(bsl) ::=
193 <<
194 {
195     <bsl; separator="\n">
196 }
197 >>
198
199
200 embed_cc(str, blk) ::=
201 <<
202 // begin embedded block: <str>
203 <blk>
204 // end embedded block: <str>
205 >>
206
207
208 primitive_var_decl(modList, type, declList) ::=
209 <<
210 <if(modList)>
211 <modList>: <type> <declList>;
212 <else>
213 <type> <declList>;
214 <endif>
215 >>
216
217
218 object_var_decl(modList, type, declList) ::=
219 <<
220 <if(modList)>
221 <modList>: <type>* <declList>;
222 <else>
223 <type>* <declList>;
224 <endif>
225 >>
226
227
228 type(typeID, arrDeclList) ::=
229 <<
230 <typeID><arrDeclList>
231 >>
232
233
234 formal_param_list(sdecl, vdecl) ::=
235 <<
236 <if(vdecl)>
237 (<sdecl; separator=", ">, <vdecl>)
238 <else>
239 (<sdecl; separator=", ">)
240 <endif>
241 >>
242
243
244 formal_param_decl(modList, type, declID) ::=
245 <<
246     <modList> <type> <declID>
247 >>
248
249