KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > SOFA > SOFAnode > Made > CDL > parser


1
2 //----------------------------------------------------
3
// The following code was generated by CUP v0.10k
4
// Wed Jul 13 11:10:21 CEST 2005
5
//----------------------------------------------------
6

7 package SOFA.SOFAnode.Made.CDL;
8
9 import java_cup.runtime.*;
10 import java.io.File JavaDoc;
11 import java.io.FileInputStream JavaDoc;
12 import SOFA.SOFAnode.Made.TIR.Repository;
13 import SOFA.SOFAnode.Made.TIR.WorkRepository;
14
15 /** CUP v0.10k generated parser.
16   * @version Wed Jul 13 11:10:21 CEST 2005
17   */

18 public class parser extends java_cup.runtime.lr_parser {
19
20   /** Default constructor. */
21   public parser() {super();}
22
23   /** Constructor which sets the default scanner. */
24   public parser(java_cup.runtime.Scanner s) {super(s);}
25
26   /** Production table. */
27   protected static final short _production_table[][] =
28     unpackFromStrings(new String JavaDoc[] {
29     "\000\u0129\000\002\003\002\000\002\002\004\000\002\003" +
30     "\004\000\002\003\004\000\002\011\004\000\002\011\004" +
31     "\000\002\011\004\000\002\011\004\000\002\011\004\000" +
32     "\002\011\004\000\002\173\004\000\002\175\004\000\002" +
33     "\174\002\000\002\174\004\000\002\217\002\000\002\016" +
34     "\011\000\002\017\002\000\002\017\004\000\002\020\003" +
35     "\000\002\020\003\000\002\020\003\000\002\020\003\000" +
36     "\002\033\005\000\002\205\005\000\002\205\003\000\002" +
37     "\206\005\000\002\206\003\000\002\207\005\000\002\207" +
38     "\003\000\002\210\005\000\002\210\003\000\002\212\005" +
39     "\000\002\212\003\000\002\211\004\000\002\211\003\000" +
40     "\002\213\005\000\002\213\004\000\002\213\004\000\002" +
41     "\213\007\000\002\213\003\000\002\213\005\000\002\214" +
42     "\005\000\002\032\005\000\002\176\005\000\002\176\003" +
43     "\000\002\177\005\000\002\177\003\000\002\200\005\000" +
44     "\002\200\003\000\002\201\005\000\002\201\003\000\002" +
45     "\203\005\000\002\203\003\000\002\202\004\000\002\202" +
46     "\003\000\002\204\005\000\002\204\003\000\002\204\003" +
47     "\000\002\204\005\000\002\025\006\000\002\027\005\000" +
48     "\002\030\003\000\002\030\004\000\002\026\005\000\002" +
49     "\021\005\000\002\024\003\000\002\024\004\000\002\023" +
50     "\005\000\002\216\002\000\002\216\003\000\002\220\002" +
51     "\000\002\162\015\000\002\162\012\000\002\012\002\000" +
52     "\002\012\004\000\002\013\003\000\002\013\003\000\002" +
53     "\013\003\000\002\014\007\000\002\037\002\000\002\037" +
54     "\003\000\002\165\004\000\002\100\003\000\002\171\003" +
55     "\000\002\171\005\000\002\170\003\000\002\170\005\000" +
56     "\002\172\004\000\002\172\005\000\002\164\002\000\002" +
57     "\164\004\000\002\163\004\000\002\163\005\000\002\163" +
58     "\005\000\002\166\003\000\002\167\005\000\002\015\010" +
59     "\000\002\015\010\000\002\015\010\000\002\015\010\000" +
60     "\002\215\002\000\002\215\004\000\002\221\002\000\002" +
61     "\034\010\000\002\035\003\000\002\035\004\000\002\031" +
62     "\003\000\002\031\003\000\002\036\006\000\002\040\004" +
63     "\000\002\041\005\000\002\006\002\000\002\006\004\000" +
64     "\002\007\004\000\002\007\004\000\002\007\004\000\002" +
65     "\007\004\000\002\007\004\000\002\007\003\000\002\042" +
66     "\002\000\002\042\004\000\002\160\003\000\002\160\005" +
67     "\000\002\045\003\000\002\045\004\000\002\045\005\000" +
68     "\002\222\002\000\002\022\010\000\002\114\003\000\002" +
69     "\114\003\000\002\114\003\000\002\114\003\000\002\114" +
70     "\003\000\002\114\003\000\002\114\003\000\002\114\003" +
71     "\000\002\114\003\000\002\114\003\000\002\101\003\000" +
72     "\002\111\003\000\002\111\005\000\002\110\003\000\002" +
73     "\110\005\000\002\107\003\000\002\107\005\000\002\106" +
74     "\003\000\002\106\005\000\002\106\005\000\002\105\003" +
75     "\000\002\105\005\000\002\105\005\000\002\104\003\000" +
76     "\002\104\005\000\002\104\005\000\002\104\005\000\002" +
77     "\103\004\000\002\103\003\000\002\113\003\000\002\113" +
78     "\003\000\002\113\003\000\002\102\003\000\002\102\003" +
79     "\000\002\102\005\000\002\102\004\000\002\112\003\000" +
80     "\002\112\003\000\002\112\003\000\002\112\003\000\002" +
81     "\112\003\000\002\112\003\000\002\112\003\000\002\112" +
82     "\003\000\002\115\003\000\002\115\003\000\002\077\003" +
83     "\000\002\004\004\000\002\004\003\000\002\004\003\000" +
84     "\002\004\003\000\002\005\004\000\002\054\003\000\002" +
85     "\054\003\000\002\051\003\000\002\051\003\000\002\051" +
86     "\003\000\002\047\003\000\002\047\003\000\002\047\003" +
87     "\000\002\047\003\000\002\047\003\000\002\047\003\000" +
88     "\002\047\003\000\002\047\003\000\002\053\003\000\002" +
89     "\053\003\000\002\053\003\000\002\053\003\000\002\052" +
90     "\003\000\002\052\003\000\002\052\003\000\002\132\003" +
91     "\000\002\132\005\000\002\116\003\000\002\116\003\000" +
92     "\002\061\003\000\002\062\003\000\002\062\004\000\002" +
93     "\117\003\000\002\121\003\000\002\121\003\000\002\121" +
94     "\004\000\002\127\003\000\002\127\003\000\002\157\003" +
95     "\000\002\157\003\000\002\157\003\000\002\156\003\000" +
96     "\002\130\004\000\002\155\003\000\002\154\003\000\002" +
97     "\154\003\000\002\154\003\000\002\131\005\000\002\153" +
98     "\004\000\002\152\004\000\002\125\003\000\002\126\003" +
99     "\000\002\124\003\000\002\120\003\000\002\133\003\000" +
100     "\002\122\010\000\002\123\003\000\002\134\003\000\002" +
101     "\223\002\000\002\137\010\000\002\140\003\000\002\140" +
102     "\004\000\002\135\005\000\002\224\002\000\002\150\014" +
103     "\000\002\151\003\000\002\151\003\000\002\151\003\000" +
104     "\002\151\003\000\002\151\003\000\002\146\003\000\002" +
105     "\146\004\000\002\145\005\000\002\144\003\000\002\144" +
106     "\004\000\002\143\005\000\002\143\004\000\002\147\004" +
107     "\000\002\141\007\000\002\142\003\000\002\142\005\000" +
108     "\002\050\010\000\002\050\006\000\002\055\006\000\002" +
109     "\055\003\000\002\056\006\000\002\056\003\000\002\074" +
110     "\004\000\002\075\003\000\002\075\004\000\002\076\005" +
111     "\000\002\073\004\000\002\073\003\000\002\072\005\000" +
112     "\002\071\003\000\002\071\005\000\002\225\002\000\002" +
113     "\010\010\000\002\136\002\000\002\136\004\000\002\067" +
114     "\004\000\002\066\003\000\002\066\004\000\002\065\005" +
115     "\000\002\070\002\000\002\064\003\000\002\064\003\000" +
116     "\002\161\005\000\002\063\002\000\002\063\003\000\002" +
117     "\063\005\000\002\060\005\000\002\057\003\000\002\057" +
118     "\003\000\002\057\003\000\002\043\006\000\002\044\003" +
119     "\000\002\044\005\000\002\046\003\000\002\046\003\000" +
120     "\002\046\003\000\002\046\003" });
121
122   /** Access to production table. */
123   public short[][] production_table() {return _production_table;}
124
125   /** Parse-action table. */
126   protected static final short[][] _action_table =
127     unpackFromStrings(new String JavaDoc[] {
128     "\000\u01e8\000\032\002\001\005\001\006\001\007\001\010" +
129     "\001\011\001\012\001\016\001\022\001\115\001\116\001" +
130     "\134\001\001\002\000\032\002\020\005\021\006\032\007" +
131     "\026\010\030\011\012\012\027\016\031\022\011\115\uffbd" +
132     "\116\uffbd\134\023\001\002\000\004\040\u01ea\001\002\000" +
133     "\004\040\u01e9\001\002\000\004\040\u01e8\001\002\000\004" +
134     "\040\uff4f\001\002\000\004\004\061\001\002\000\004\004" +
135     "\061\001\002\000\004\047\u0184\001\002\000\032\002\uffff" +
136     "\005\uffff\006\uffff\007\uffff\010\uffff\011\uffff\012\uffff\016" +
137     "\uffff\022\uffff\115\uffff\116\uffff\134\uffff\001\002\000\006" +
138     "\115\360\116\u013b\001\002\000\004\040\u013a\001\002\000" +
139     "\004\040\u0139\001\002\000\004\002\000\001\002\000\004" +
140     "\004\352\001\002\000\032\002\ufffe\005\ufffe\006\ufffe\007" +
141     "\ufffe\010\ufffe\011\ufffe\012\ufffe\016\ufffe\022\ufffe\115\ufffe" +
142     "\116\ufffe\134\ufffe\001\002\000\006\115\uffbc\116\uffbc\001" +
143     "\002\000\004\040\351\001\002\000\004\040\uff96\001\002" +
144     "\000\052\004\050\011\012\012\027\016\031\020\306\031" +
145     "\051\067\270\070\112\071\126\072\271\073\073\074\116" +
146     "\075\101\076\100\077\111\100\121\101\122\102\110\103" +
147     "\123\104\260\001\002\000\004\004\061\001\002\000\036" +
148     "\004\050\031\051\070\112\071\126\072\120\073\073\074" +
149     "\116\075\101\076\100\077\111\100\121\101\122\102\110" +
150     "\103\123\001\002\000\004\004\061\001\002\000\004\004" +
151     "\037\001\002\000\004\040\uff97\001\002\000\004\040\uff50" +
152     "\001\002\000\004\040\uff51\001\002\000\006\041\044\047" +
153     "\uff8a\001\002\000\012\040\uff94\041\ufff5\047\ufff5\125\041" +
154     "\001\002\000\012\013\ufff7\032\ufff7\041\ufff7\047\ufff7\001" +
155     "\002\000\004\107\042\001\002\000\026\004\ufff4\013\ufff4" +
156     "\032\ufff4\041\ufff4\042\ufff4\044\ufff4\047\ufff4\052\ufff4\117" +
157     "\ufff4\135\ufff4\001\002\000\004\047\uff93\001\002\000\006" +
158     "\004\050\031\051\001\002\000\006\042\uff88\047\uff88\001" +
159     "\002\000\006\042\056\047\uff89\001\002\000\024\004\ufff5" +
160     "\031\054\042\ufff5\044\ufff5\047\ufff5\052\ufff5\117\ufff5\125" +
161     "\041\135\ufff5\001\002\000\060\004\uff86\027\uff86\030\uff86" +
162     "\031\uff86\035\uff86\040\uff86\041\uff86\042\uff86\044\uff86\046" +
163     "\uff86\047\uff86\052\uff86\053\uff86\054\uff86\055\uff86\056\uff86" +
164     "\057\uff86\061\uff86\062\uff86\063\uff86\117\uff86\125\uff86\135" +
165     "\uff86\001\002\000\004\004\052\001\002\000\060\004\uff85" +
166     "\027\uff85\030\uff85\031\uff85\035\uff85\040\uff85\041\uff85\042" +
167     "\uff85\044\uff85\046\uff85\047\uff85\052\uff85\053\uff85\054\uff85" +
168     "\055\uff85\056\uff85\057\uff85\061\uff85\062\uff85\063\uff85\117" +
169     "\uff85\125\uff85\135\uff85\001\002\000\020\004\ufff6\042\ufff6" +
170     "\044\ufff6\047\ufff6\052\ufff6\117\ufff6\135\ufff6\001\002\000" +
171     "\004\004\055\001\002\000\060\004\uff84\027\uff84\030\uff84" +
172     "\031\uff84\035\uff84\040\uff84\041\uff84\042\uff84\044\uff84\046" +
173     "\uff84\047\uff84\052\uff84\053\uff84\054\uff84\055\uff84\056\uff84" +
174     "\057\uff84\061\uff84\062\uff84\063\uff84\117\uff84\125\uff84\135" +
175     "\uff84\001\002\000\006\004\050\031\051\001\002\000\006" +
176     "\042\uff87\047\uff87\001\002\000\004\047\062\001\002\000" +
177     "\012\013\ufff5\032\ufff5\047\ufff5\125\041\001\002\000\004" +
178     "\004\063\001\002\000\006\042\uff03\050\uff03\001\002\000" +
179     "\006\042\065\050\066\001\002\000\004\004\067\001\002" +
180     "\000\010\004\uff04\040\uff04\044\uff04\001\002\000\006\042" +
181     "\uff02\050\uff02\001\002\000\012\004\uff24\042\uff24\044\uff24" +
182     "\052\uff24\001\002\000\004\004\uff79\001\002\000\004\004" +
183     "\uff7c\001\002\000\014\004\uff29\042\uff29\052\uff29\071\230" +
184     "\073\227\001\002\000\012\004\uff26\042\uff26\044\uff26\052" +
185     "\uff26\001\002\000\004\004\uff80\001\002\000\012\004\uff2a" +
186     "\042\uff2a\044\uff2a\052\uff2a\001\002\000\012\004\uff2e\042" +
187     "\uff2e\044\uff2e\052\uff2e\001\002\000\012\004\uff20\042\uff20" +
188     "\044\uff20\052\uff20\001\002\000\006\073\225\074\224\001" +
189     "\002\000\012\004\uff2d\042\uff2d\044\uff2d\052\uff2d\001\002" +
190     "\000\012\004\uff25\042\uff25\044\uff25\052\uff25\001\002\000" +
191     "\004\004\uff81\001\002\000\004\004\uff7a\001\002\000\004" +
192     "\004\uff7f\001\002\000\004\004\uff7e\001\002\000\012\004" +
193     "\uff1e\042\uff1e\044\uff1e\052\uff1e\001\002\000\012\004\ufefe" +
194     "\042\ufefe\051\221\052\ufefe\001\002\000\010\004\uff31\042" +
195     "\uff31\052\uff31\001\002\000\004\004\uff78\001\002\000\004" +
196     "\004\uff7b\001\002\000\012\004\uff2b\042\uff2b\044\uff2b\052" +
197     "\uff2b\001\002\000\012\004\uff27\042\uff27\044\uff27\052\uff27" +
198     "\001\002\000\004\004\uff7d\001\002\000\004\004\uff1a\001" +
199     "\002\000\010\004\uff1f\042\uff1f\052\uff1f\001\002\000\012" +
200     "\004\ufefc\042\ufefc\051\215\052\ufefc\001\002\000\010\004" +
201     "\uff1d\042\uff1d\052\uff1d\001\002\000\012\004\uff2c\042\uff2c" +
202     "\044\uff2c\052\uff2c\001\002\000\004\004\uff83\001\002\000" +
203     "\010\004\uff30\042\uff30\052\uff30\001\002\000\004\004\061" +
204     "\001\002\000\004\032\131\001\002\000\042\004\050\031" +
205     "\051\033\137\043\141\053\133\054\153\060\142\065\140" +
206     "\066\154\106\156\107\144\110\146\111\152\112\134\113" +
207     "\150\114\160\001\002\000\024\035\uff76\040\uff76\041\uff76" +
208     "\042\uff76\044\uff76\046\uff76\052\uff76\062\uff76\063\210\001" +
209     "\002\000\034\004\uff63\031\uff63\033\uff63\043\uff63\065\uff63" +
210     "\066\uff63\106\uff63\107\uff63\110\uff63\111\uff63\112\uff63\113" +
211     "\uff63\114\uff63\001\002\000\044\027\uff59\030\uff59\035\uff59" +
212     "\040\uff59\041\uff59\042\uff59\044\uff59\046\uff59\052\uff59\053" +
213     "\uff59\054\uff59\055\uff59\056\uff59\057\uff59\061\uff59\062\uff59" +
214     "\063\uff59\001\002\000\046\027\uff61\030\uff61\031\054\035" +
215     "\uff61\040\uff61\041\uff61\042\uff61\044\uff61\046\uff61\052\uff61" +
216     "\053\uff61\054\uff61\055\uff61\056\uff61\057\uff61\061\uff61\062" +
217     "\uff61\063\uff61\001\002\000\004\040\uff82\001\002\000\004" +
218     "\004\214\001\002\000\044\027\uff55\030\uff55\035\uff55\040" +
219     "\uff55\041\uff55\042\uff55\044\uff55\046\uff55\052\uff55\053\uff55" +
220     "\054\uff55\055\uff55\056\uff55\057\uff55\061\uff55\062\uff55\063" +
221     "\uff55\001\002\000\042\004\050\031\051\033\137\043\141" +
222     "\053\133\054\153\060\142\065\140\066\154\106\156\107" +
223     "\144\110\146\111\152\112\134\113\150\114\160\001\002" +
224     "\000\034\004\uff62\031\uff62\033\uff62\043\uff62\065\uff62\066" +
225     "\uff62\106\uff62\107\uff62\110\uff62\111\uff62\112\uff62\113\uff62" +
226     "\114\uff62\001\002\000\036\027\uff70\030\uff70\035\uff70\040" +
227     "\uff70\041\uff70\042\uff70\044\uff70\046\uff70\052\uff70\053\170" +
228     "\054\171\061\uff70\062\uff70\063\uff70\001\002\000\044\027" +
229     "\uff5c\030\uff5c\035\uff5c\040\uff5c\041\uff5c\042\uff5c\044\uff5c" +
230     "\046\uff5c\052\uff5c\053\uff5c\054\uff5c\055\uff5c\056\uff5c\057" +
231     "\uff5c\061\uff5c\062\uff5c\063\uff5c\001\002\000\044\027\uff6a" +
232     "\030\uff6a\035\uff6a\040\uff6a\041\uff6a\042\uff6a\044\uff6a\046" +
233     "\uff6a\052\uff6a\053\uff6a\054\uff6a\055\uff6a\056\uff6a\057\uff6a" +
234     "\061\uff6a\062\uff6a\063\uff6a\001\002\000\044\027\uff5a\030" +
235     "\uff5a\035\uff5a\040\uff5a\041\uff5a\042\uff5a\044\uff5a\046\uff5a" +
236     "\052\uff5a\053\uff5a\054\uff5a\055\uff5a\056\uff5a\057\uff5a\061" +
237     "\uff5a\062\uff5a\063\uff5a\001\002\000\022\035\uff77\040\uff77" +
238     "\041\uff77\042\uff77\044\uff77\046\uff77\052\uff77\062\206\001" +
239     "\002\000\044\027\uff58\030\uff58\035\uff58\040\uff58\041\uff58" +
240     "\042\uff58\044\uff58\046\uff58\052\uff58\053\uff58\054\uff58\055" +
241     "\uff58\056\uff58\057\uff58\061\uff58\062\uff58\063\uff58\001\002" +
242     "\000\044\027\uff65\030\uff65\035\uff65\040\uff65\041\uff65\042" +
243     "\uff65\044\uff65\046\uff65\052\uff65\053\uff65\054\uff65\055\uff65" +
244     "\056\uff65\057\uff65\061\uff65\062\uff65\063\uff65\001\002\000" +
245     "\044\027\uff5b\030\uff5b\035\uff5b\040\uff5b\041\uff5b\042\uff5b" +
246     "\044\uff5b\046\uff5b\052\uff5b\053\uff5b\054\uff5b\055\uff5b\056" +
247     "\uff5b\057\uff5b\061\uff5b\062\uff5b\063\uff5b\001\002\000\034" +
248     "\004\uff64\031\uff64\033\uff64\043\uff64\065\uff64\066\uff64\106" +
249     "\uff64\107\uff64\110\uff64\111\uff64\112\uff64\113\uff64\114\uff64" +
250     "\001\002\000\044\027\uff54\030\uff54\035\uff54\040\uff54\041" +
251     "\uff54\042\uff54\044\uff54\046\uff54\052\uff54\053\uff54\054\uff54" +
252     "\055\uff54\056\uff54\057\uff54\061\uff54\062\uff54\063\uff54\001" +
253     "\002\000\044\027\uff60\030\uff60\035\uff60\040\uff60\041\uff60" +
254     "\042\uff60\044\uff60\046\uff60\052\uff60\053\uff60\054\uff60\055" +
255     "\uff60\056\uff60\057\uff60\061\uff60\062\uff60\063\uff60\001\002" +
256     "\000\044\027\uff5d\030\uff5d\035\uff5d\040\uff5d\041\uff5d\042" +
257     "\uff5d\044\uff5d\046\uff5d\052\uff5d\053\uff5d\054\uff5d\055\uff5d" +
258     "\056\uff5d\057\uff5d\061\uff5d\062\uff5d\063\uff5d\001\002\000" +
259     "\026\035\uff74\040\uff74\041\uff74\042\uff74\044\uff74\046\uff74" +
260     "\052\uff74\061\204\062\uff74\063\uff74\001\002\000\044\027" +
261     "\uff57\030\uff57\035\uff57\040\uff57\041\uff57\042\uff57\044\uff57" +
262     "\046\uff57\052\uff57\053\uff57\054\uff57\055\uff57\056\uff57\057" +
263     "\uff57\061\uff57\062\uff57\063\uff57\001\002\000\034\004\050" +
264     "\031\051\033\137\043\141\065\140\066\154\106\156\107" +
265     "\144\110\146\111\152\112\134\113\150\114\160\001\002" +
266     "\000\044\027\uff6d\030\uff6d\035\uff6d\040\uff6d\041\uff6d\042" +
267     "\uff6d\044\uff6d\046\uff6d\052\uff6d\053\uff6d\054\uff6d\055\174" +
268     "\056\175\057\173\061\uff6d\062\uff6d\063\uff6d\001\002\000" +
269     "\044\027\uff56\030\uff56\035\uff56\040\uff56\041\uff56\042\uff56" +
270     "\044\uff56\046\uff56\052\uff56\053\uff56\054\uff56\055\uff56\056" +
271     "\uff56\057\uff56\061\uff56\062\uff56\063\uff56\001\002\000\032" +
272     "\027\165\030\166\035\uff72\040\uff72\041\uff72\042\uff72\044" +
273     "\uff72\046\uff72\052\uff72\061\uff72\062\uff72\063\uff72\001\002" +
274     "\000\042\004\050\031\051\033\137\043\141\053\133\054" +
275     "\153\060\142\065\140\066\154\106\156\107\144\110\146" +
276     "\111\152\112\134\113\150\114\160\001\002\000\042\004" +
277     "\050\031\051\033\137\043\141\053\133\054\153\060\142" +
278     "\065\140\066\154\106\156\107\144\110\146\111\152\112" +
279     "\134\113\150\114\160\001\002\000\036\027\uff6e\030\uff6e" +
280     "\035\uff6e\040\uff6e\041\uff6e\042\uff6e\044\uff6e\046\uff6e\052" +
281     "\uff6e\053\170\054\171\061\uff6e\062\uff6e\063\uff6e\001\002" +
282     "\000\042\004\050\031\051\033\137\043\141\053\133\054" +
283     "\153\060\142\065\140\066\154\106\156\107\144\110\146" +
284     "\111\152\112\134\113\150\114\160\001\002\000\042\004" +
285     "\050\031\051\033\137\043\141\053\133\054\153\060\142" +
286     "\065\140\066\154\106\156\107\144\110\146\111\152\112" +
287     "\134\113\150\114\160\001\002\000\044\027\uff6b\030\uff6b" +
288     "\035\uff6b\040\uff6b\041\uff6b\042\uff6b\044\uff6b\046\uff6b\052" +
289     "\uff6b\053\uff6b\054\uff6b\055\174\056\175\057\173\061\uff6b" +
290     "\062\uff6b\063\uff6b\001\002\000\042\004\050\031\051\033" +
291     "\137\043\141\053\133\054\153\060\142\065\140\066\154" +
292     "\106\156\107\144\110\146\111\152\112\134\113\150\114" +
293     "\160\001\002\000\042\004\050\031\051\033\137\043\141" +
294     "\053\133\054\153\060\142\065\140\066\154\106\156\107" +
295     "\144\110\146\111\152\112\134\113\150\114\160\001\002" +
296     "\000\042\004\050\031\051\033\137\043\141\053\133\054" +
297     "\153\060\142\065\140\066\154\106\156\107\144\110\146" +
298     "\111\152\112\134\113\150\114\160\001\002\000\044\027" +
299     "\uff68\030\uff68\035\uff68\040\uff68\041\uff68\042\uff68\044\uff68" +
300     "\046\uff68\052\uff68\053\uff68\054\uff68\055\uff68\056\uff68\057" +
301     "\uff68\061\uff68\062\uff68\063\uff68\001\002\000\044\027\uff69" +
302     "\030\uff69\035\uff69\040\uff69\041\uff69\042\uff69\044\uff69\046" +
303     "\uff69\052\uff69\053\uff69\054\uff69\055\uff69\056\uff69\057\uff69" +
304     "\061\uff69\062\uff69\063\uff69\001\002\000\044\027\uff67\030" +
305     "\uff67\035\uff67\040\uff67\041\uff67\042\uff67\044\uff67\046\uff67" +
306     "\052\uff67\053\uff67\054\uff67\055\uff67\056\uff67\057\uff67\061" +
307     "\uff67\062\uff67\063\uff67\001\002\000\044\027\uff6c\030\uff6c" +
308     "\035\uff6c\040\uff6c\041\uff6c\042\uff6c\044\uff6c\046\uff6c\052" +
309     "\uff6c\053\uff6c\054\uff6c\055\174\056\175\057\173\061\uff6c" +
310     "\062\uff6c\063\uff6c\001\002\000\036\027\uff6f\030\uff6f\035" +
311     "\uff6f\040\uff6f\041\uff6f\042\uff6f\044\uff6f\046\uff6f\052\uff6f" +
312     "\053\170\054\171\061\uff6f\062\uff6f\063\uff6f\001\002\000" +
313     "\044\027\uff66\030\uff66\035\uff66\040\uff66\041\uff66\042\uff66" +
314     "\044\uff66\046\uff66\052\uff66\053\uff66\054\uff66\055\uff66\056" +
315     "\uff66\057\uff66\061\uff66\062\uff66\063\uff66\001\002\000\042" +
316     "\004\050\031\051\033\137\043\141\053\133\054\153\060" +
317     "\142\065\140\066\154\106\156\107\144\110\146\111\152" +
318     "\112\134\113\150\114\160\001\002\000\032\027\165\030" +
319     "\166\035\uff71\040\uff71\041\uff71\042\uff71\044\uff71\046\uff71" +
320     "\052\uff71\061\uff71\062\uff71\063\uff71\001\002\000\042\004" +
321     "\050\031\051\033\137\043\141\053\133\054\153\060\142" +
322     "\065\140\066\154\106\156\107\144\110\146\111\152\112" +
323     "\134\113\150\114\160\001\002\000\024\035\uff75\040\uff75" +
324     "\041\uff75\042\uff75\044\uff75\046\uff75\052\uff75\062\uff75\063" +
325     "\210\001\002\000\042\004\050\031\051\033\137\043\141" +
326     "\053\133\054\153\060\142\065\140\066\154\106\156\107" +
327     "\144\110\146\111\152\112\134\113\150\114\160\001\002" +
328     "\000\026\035\uff73\040\uff73\041\uff73\042\uff73\044\uff73\046" +
329     "\uff73\052\uff73\061\204\062\uff73\063\uff73\001\002\000\004" +
330     "\044\213\001\002\000\044\027\uff5f\030\uff5f\035\uff5f\040" +
331     "\uff5f\041\uff5f\042\uff5f\044\uff5f\046\uff5f\052\uff5f\053\uff5f" +
332     "\054\uff5f\055\uff5f\056\uff5f\057\uff5f\061\uff5f\062\uff5f\063" +
333     "\uff5f\001\002\000\044\027\uff5e\030\uff5e\035\uff5e\040\uff5e" +
334     "\041\uff5e\042\uff5e\044\uff5e\046\uff5e\052\uff5e\053\uff5e\054" +
335     "\uff5e\055\uff5e\056\uff5e\057\uff5e\061\uff5e\062\uff5e\063\uff5e" +
336     "\001\002\000\042\004\050\031\051\033\137\043\141\053" +
337     "\133\054\153\060\142\065\140\066\154\106\156\107\144" +
338     "\110\146\111\152\112\134\113\150\114\160\001\002\000" +
339     "\006\046\uff53\052\uff53\001\002\000\004\052\220\001\002" +
340     "\000\010\004\ufefd\042\ufefd\052\ufefd\001\002\000\042\004" +
341     "\050\031\051\033\137\043\141\053\133\054\153\060\142" +
342     "\065\140\066\154\106\156\107\144\110\146\111\152\112" +
343     "\134\113\150\114\160\001\002\000\004\052\223\001\002" +
344     "\000\010\004\ufeff\042\ufeff\052\ufeff\001\002\000\012\004" +
345     "\uff21\042\uff21\044\uff21\052\uff21\001\002\000\014\004\uff22" +
346     "\042\uff22\044\uff22\052\uff22\073\226\001\002\000\012\004" +
347     "\uff23\042\uff23\044\uff23\052\uff23\001\002\000\012\004\uff28" +
348     "\042\uff28\044\uff28\052\uff28\001\002\000\010\004\uff2f\042" +
349     "\uff2f\052\uff2f\001\002\000\004\013\232\001\002\000\004" +
350     "\043\233\001\002\000\022\004\050\016\031\031\051\073" +
351     "\234\074\116\075\101\076\100\102\110\001\002\000\006" +
352     "\044\uff29\073\227\001\002\000\004\044\uff0e\001\002\000" +
353     "\004\044\uff10\001\002\000\004\044\243\001\002\000\004" +
354     "\044\uff11\001\002\000\004\044\uff0f\001\002\000\004\044" +
355     "\uff0d\001\002\000\004\047\uff13\001\002\000\004\047\245" +
356     "\001\002\000\006\014\253\015\246\001\002\000\004\041" +
357     "\342\001\002\000\010\014\253\015\246\050\341\001\002" +
358     "\000\056\004\uff09\011\uff09\012\uff09\014\uff09\015\uff09\016" +
359     "\uff09\020\uff09\031\uff09\067\uff09\070\uff09\071\uff09\072\uff09" +
360     "\073\uff09\074\uff09\075\uff09\076\uff09\077\uff09\100\uff09\101" +
361     "\uff09\102\uff09\103\uff09\104\uff09\001\002\000\010\014\uff0c" +
362     "\015\uff0c\050\uff0c\001\002\000\056\004\050\011\012\012" +
363     "\027\014\253\015\246\016\031\020\306\031\051\067\270" +
364     "\070\112\071\126\072\271\073\073\074\116\075\101\076" +
365     "\100\077\111\100\121\101\122\102\110\103\123\104\260" +
366     "\001\002\000\042\004\050\031\051\033\137\043\141\053" +
367     "\133\054\153\060\142\065\140\066\154\106\156\107\144" +
368     "\110\146\111\152\112\134\113\150\114\160\001\002\000" +
369     "\004\041\255\001\002\000\056\004\uff07\011\uff07\012\uff07" +
370     "\014\uff07\015\uff07\016\uff07\020\uff07\031\uff07\067\uff07\070" +
371     "\uff07\071\uff07\072\uff07\073\uff07\074\uff07\075\uff07\076\uff07" +
372     "\077\uff07\100\uff07\101\uff07\102\uff07\103\uff07\104\uff07\001" +
373     "\002\000\010\004\uff41\042\uff41\052\uff41\001\002\000\010" +
374     "\004\uff3e\042\uff3e\052\uff3e\001\002\000\010\004\uff1c\042" +
375     "\uff1c\052\uff1c\001\002\000\004\004\uff3c\001\002\000\004" +
376     "\004\uff3a\001\002\000\010\004\uff44\042\uff44\052\uff44\001" +
377     "\002\000\004\040\337\001\002\000\004\004\uff4d\001\002" +
378     "\000\010\004\uff4a\042\uff4a\052\uff4a\001\002\000\010\004" +
379     "\uff42\042\uff42\052\uff42\001\002\000\010\004\uff19\042\uff19" +
380     "\052\uff19\001\002\000\004\051\332\001\002\000\010\004" +
381     "\uff46\042\uff46\052\uff46\001\002\000\004\004\uff4c\001\002" +
382     "\000\010\004\uff43\042\uff43\052\uff43\001\002\000\004\004" +
383     "\uff3b\001\002\000\010\004\uff45\042\uff45\052\uff45\001\002" +
384     "\000\010\004\uff3f\042\uff3f\052\uff3f\001\002\000\004\004" +
385     "\322\001\002\000\010\004\uff3d\042\uff3d\052\uff3d\001\002" +
386     "\000\010\004\uff40\042\uff40\052\uff40\001\002\000\010\004" +
387     "\uff48\042\uff48\052\uff48\001\002\000\010\004\uff4b\042\uff4b" +
388     "\052\uff4b\001\002\000\010\004\uff47\042\uff47\052\uff47\001" +
389     "\002\000\004\051\311\001\002\000\010\004\uff49\042\uff49" +
390     "\052\uff49\001\002\000\056\004\uff08\011\uff08\012\uff08\014" +
391     "\uff08\015\uff08\016\uff08\020\uff08\031\uff08\067\uff08\070\uff08" +
392     "\071\uff08\072\uff08\073\uff08\074\uff08\075\uff08\076\uff08\077" +
393     "\uff08\100\uff08\101\uff08\102\uff08\103\uff08\104\uff08\001\002" +
394     "\000\044\004\050\020\306\031\051\067\270\070\112\071" +
395     "\126\072\271\073\073\074\116\075\101\076\100\077\111" +
396     "\100\121\101\122\102\110\103\123\104\260\001\002\000" +
397     "\006\042\313\052\314\001\002\000\042\004\050\031\051" +
398     "\033\137\043\141\053\133\054\153\060\142\065\140\066" +
399     "\154\106\156\107\144\110\146\111\152\112\134\113\150" +
400     "\114\160\001\002\000\010\004\uff00\042\uff00\052\uff00\001" +
401     "\002\000\004\052\316\001\002\000\010\004\uff01\042\uff01" +
402     "\052\uff01\001\002\000\006\040\uff37\042\uff37\001\002\000" +
403     "\004\040\uff05\001\002\000\006\040\uff32\042\uff32\001\002" +
404     "\000\010\040\uff35\042\uff35\045\326\001\002\000\006\040" +
405     "\uff36\042\uff36\001\002\000\010\040\ufefa\042\ufefa\045\ufefa" +
406     "\001\002\000\010\040\ufefb\042\ufefb\045\326\001\002\000" +
407     "\042\004\050\031\051\033\137\043\141\053\133\054\153" +
408     "\060\142\065\140\066\154\106\156\107\144\110\146\111" +
409     "\152\112\134\113\150\114\160\001\002\000\004\046\330" +
410     "\001\002\000\010\040\ufef8\042\ufef8\045\ufef8\001\002\000" +
411     "\010\040\ufef9\042\ufef9\045\ufef9\001\002\000\042\004\050" +
412     "\031\051\033\137\043\141\053\133\054\153\060\142\065" +
413     "\140\066\154\106\156\107\144\110\146\111\152\112\134" +
414     "\113\150\114\160\001\002\000\004\042\334\001\002\000" +
415     "\042\004\050\031\051\033\137\043\141\053\133\054\153" +
416     "\060\142\065\140\066\154\106\156\107\144\110\146\111" +
417     "\152\112\134\113\150\114\160\001\002\000\004\052\336" +
418     "\001\002\000\010\004\uff1b\042\uff1b\052\uff1b\001\002\000" +
419     "\010\014\uff0a\015\uff0a\050\uff0a\001\002\000\010\014\uff0b" +
420     "\015\uff0b\050\uff0b\001\002\000\006\004\uff12\040\uff12\001" +
421     "\002\000\056\004\uff06\011\uff06\012\uff06\014\uff06\015\uff06" +
422     "\016\uff06\020\uff06\031\uff06\067\uff06\070\uff06\071\uff06\072" +
423     "\uff06\073\uff06\074\uff06\075\uff06\076\uff06\077\uff06\100\uff06" +
424     "\101\uff06\102\uff06\103\uff06\104\uff06\001\002\000\004\040" +
425     "\uff52\001\002\000\004\004\322\001\002\000\006\040\uff39" +
426     "\042\uff39\001\002\000\006\040\uff4e\042\347\001\002\000" +
427     "\004\004\322\001\002\000\006\040\uff38\042\uff38\001\002" +
428     "\000\034\002\ufffb\005\ufffb\006\ufffb\007\ufffb\010\ufffb\011" +
429     "\ufffb\012\ufffb\016\ufffb\022\ufffb\050\ufffb\115\ufffb\116\ufffb" +
430     "\134\ufffb\001\002\000\004\047\uff9b\001\002\000\004\047" +
431     "\354\001\002\000\026\005\021\006\032\007\026\010\030" +
432     "\011\012\012\027\016\031\022\011\115\uffbd\134\023\001" +
433     "\002\000\030\005\uff99\006\uff99\007\uff99\010\uff99\011\uff99" +
434     "\012\uff99\016\uff99\022\uff99\050\uff99\115\uff99\134\uff99\001" +
435     "\002\000\030\005\021\006\032\007\026\010\030\011\012" +
436     "\012\027\016\031\022\011\050\u0137\115\uffbd\134\023\001" +
437     "\002\000\004\115\360\001\002\000\004\004\061\001\002" +
438     "\000\004\047\ufff3\001\002\000\004\047\363\001\002\000" +
439     "\014\050\ufff1\126\ufff1\130\ufff1\131\ufff1\132\ufff1\001\002" +
440     "\000\014\050\373\126\376\130\371\131\372\132\365\001" +
441     "\002\000\004\041\u0113\001\002\000\014\050\uffec\126\uffec" +
442     "\130\uffec\131\uffec\132\uffec\001\002\000\014\050\uffef\126" +
443     "\uffef\130\uffef\131\uffef\132\uffef\001\002\000\014\050\uffee" +
444     "\126\uffee\130\uffee\131\uffee\132\uffee\001\002\000\004\041" +
445     "\u010c\001\002\000\004\041\u0102\001\002\000\004\040\ufff2" +
446     "\001\002\000\014\050\uffed\126\uffed\130\uffed\131\uffed\132" +
447     "\uffed\001\002\000\014\050\ufff0\126\ufff0\130\ufff0\131\ufff0" +
448     "\132\ufff0\001\002\000\036\004\050\031\051\070\112\071" +
449     "\126\072\120\073\073\074\116\075\101\076\100\077\111" +
450     "\100\121\101\122\102\110\103\123\001\002\000\004\004" +
451     "\u0100\001\002\000\004\040\u0101\001\002\000\026\050\uffc6" +
452     "\120\uffc6\121\uffc6\122\uffc6\123\uffc6\126\uffc6\127\uffc6\130" +
453     "\uffc6\131\uffc6\132\uffc6\001\002\000\006\004\050\031\051" +
454     "\001\002\000\020\004\050\031\051\050\uffc1\126\uffc1\130" +
455     "\uffc1\131\uffc1\132\uffc1\001\002\000\004\004\u0107\001\002" +
456     "\000\020\004\uffc0\031\uffc0\050\uffc0\126\uffc0\130\uffc0\131" +
457     "\uffc0\132\uffc0\001\002\000\006\004\uff34\040\uff34\001\002" +
458     "\000\012\004\uff35\040\uff35\042\uff35\044\uff35\001\002\000" +
459     "\006\004\u0107\040\u010a\001\002\000\006\004\uff33\040\uff33" +
460     "\001\002\000\020\004\uffbe\031\uffbe\050\uffbe\126\uffbe\130" +
461     "\uffbe\131\uffbe\132\uffbe\001\002\000\020\004\uffbf\031\uffbf" +
462     "\050\uffbf\126\uffbf\130\uffbf\131\uffbf\132\uffbf\001\002\000" +
463     "\006\004\050\031\051\001\002\000\004\004\u0107\001\002" +
464     "\000\020\004\050\031\051\050\uffc5\126\uffc5\130\uffc5\131" +
465     "\uffc5\132\uffc5\001\002\000\020\004\uffc4\031\uffc4\050\uffc4" +
466     "\126\uffc4\130\uffc4\131\uffc4\132\uffc4\001\002\000\020\004" +
467     "\uffc3\031\uffc3\050\uffc3\126\uffc3\130\uffc3\131\uffc3\132\uffc3" +
468     "\001\002\000\006\004\u0107\040\u0112\001\002\000\020\004" +
469     "\uffc2\031\uffc2\050\uffc2\126\uffc2\130\uffc2\131\uffc2\132\uffc2" +
470     "\001\002\000\014\036\u0116\037\u0117\043\u011b\045\u011a\136" +
471     "\u0115\001\002\000\016\050\uffeb\053\u012b\126\uffeb\130\uffeb" +
472     "\131\uffeb\132\uffeb\001\002\000\032\040\uffda\044\uffda\050" +
473     "\uffda\053\uffda\055\uffda\056\uffda\062\uffda\064\uffda\126\uffda" +
474     "\130\uffda\131\uffda\132\uffda\001\002\000\004\004\u0130\001" +
475     "\002\000\004\004\u0130\001\002\000\030\040\uffe3\044\uffe3" +
476     "\050\uffe3\053\uffe3\056\u0122\062\uffe3\064\uffe3\126\uffe3\130" +
477     "\uffe3\131\uffe3\132\uffe3\001\002\000\024\040\uffe7\044\uffe7" +
478     "\050\uffe7\053\uffe7\064\u0127\126\uffe7\130\uffe7\131\uffe7\132" +
479     "\uffe7\001\002\000\004\004\u012d\001\002\000\014\036\u0116" +
480     "\037\u0117\043\u011b\045\u011a\136\u0115\001\002\000\032\040" +
481     "\uffe1\044\uffe1\050\uffe1\053\uffe1\055\u0124\056\uffe1\062\uffe1" +
482     "\064\uffe1\126\uffe1\130\uffe1\131\uffe1\132\uffe1\001\002\000" +
483     "\022\040\u0125\044\uffe9\050\uffe9\053\uffe9\126\uffe9\130\uffe9" +
484     "\131\uffe9\132\uffe9\001\002\000\032\040\uffdf\044\uffdf\050" +
485     "\uffdf\053\uffdf\055\uffdf\056\uffdf\062\uffdf\064\uffdf\126\uffdf" +
486     "\130\uffdf\131\uffdf\132\uffdf\001\002\000\026\040\uffe5\044" +
487     "\uffe5\050\uffe5\053\uffe5\062\u0120\064\uffe5\126\uffe5\130\uffe5" +
488     "\131\uffe5\132\uffe5\001\002\000\014\036\u0116\037\u0117\043" +
489     "\u011b\045\u011a\136\u0115\001\002\000\030\040\uffe4\044\uffe4" +
490     "\050\uffe4\053\uffe4\056\u0122\062\uffe4\064\uffe4\126\uffe4\130" +
491     "\uffe4\131\uffe4\132\uffe4\001\002\000\014\036\u0116\037\u0117" +
492     "\043\u011b\045\u011a\136\u0115\001\002\000\032\040\uffe2\044" +
493     "\uffe2\050\uffe2\053\uffe2\055\u0124\056\uffe2\062\uffe2\064\uffe2" +
494     "\126\uffe2\130\uffe2\131\uffe2\132\uffe2\001\002\000\032\040" +
495     "\uffe0\044\uffe0\050\uffe0\053\uffe0\055\uffe0\056\uffe0\062\uffe0" +
496     "\064\uffe0\126\uffe0\130\uffe0\131\uffe0\132\uffe0\001\002\000" +
497     "\014\036\u0116\037\u0117\043\u011b\045\u011a\136\u0115\001\002" +
498     "\000\024\040\uffe8\044\uffe8\050\uffe8\053\uffe8\064\u0127\126" +
499     "\uffe8\130\uffe8\131\uffe8\132\uffe8\001\002\000\014\036\u0116" +
500     "\037\u0117\043\u011b\045\u011a\136\u0115\001\002\000\026\040" +
501     "\uffe6\044\uffe6\050\uffe6\053\uffe6\062\u0120\064\uffe6\126\uffe6" +
502     "\130\uffe6\131\uffe6\132\uffe6\001\002\000\006\044\u012a\053" +
503     "\u012b\001\002\000\032\040\uffde\044\uffde\050\uffde\053\uffde" +
504     "\055\uffde\056\uffde\062\uffde\064\uffde\126\uffde\130\uffde\131" +
505     "\uffde\132\uffde\001\002\000\014\036\u0116\037\u0117\043\u011b" +
506     "\045\u011a\136\u0115\001\002\000\022\040\u0125\044\uffea\050" +
507     "\uffea\053\uffea\126\uffea\130\uffea\131\uffea\132\uffea\001\002" +
508     "\000\004\046\u012e\001\002\000\032\040\uffd9\044\uffd9\050" +
509     "\uffd9\053\uffd9\055\uffd9\056\uffd9\062\uffd9\064\uffd9\126\uffd9" +
510     "\130\uffd9\131\uffd9\132\uffd9\001\002\000\034\040\uffdc\044" +
511     "\uffdc\047\u0133\050\uffdc\053\uffdc\055\uffdc\056\uffdc\062\uffdc" +
512     "\064\uffdc\126\uffdc\130\uffdc\131\uffdc\132\uffdc\001\002\000" +
513     "\004\034\u0131\001\002\000\004\004\u0132\001\002\000\034" +
514     "\040\uffd8\044\uffd8\047\uffd8\050\uffd8\053\uffd8\055\uffd8\056" +
515     "\uffd8\062\uffd8\064\uffd8\126\uffd8\130\uffd8\131\uffd8\132\uffd8" +
516     "\001\002\000\014\036\u0116\037\u0117\043\u011b\045\u011a\136" +
517     "\u0115\001\002\000\006\050\u0135\053\u012b\001\002\000\032" +
518     "\040\uffdb\044\uffdb\050\uffdb\053\uffdb\055\uffdb\056\uffdb\062" +
519     "\uffdb\064\uffdb\126\uffdb\130\uffdb\131\uffdb\132\uffdb\001\002" +
520     "\000\032\040\uffdd\044\uffdd\050\uffdd\053\uffdd\055\uffdd\056" +
521     "\uffdd\062\uffdd\064\uffdd\126\uffdd\130\uffdd\131\uffdd\132\uffdd" +
522     "\001\002\000\004\040\uff9a\001\002\000\030\005\uff98\006" +
523     "\uff98\007\uff98\010\uff98\011\uff98\012\uff98\016\uff98\022\uff98" +
524     "\050\uff98\115\uff98\134\uff98\001\002\000\034\002\ufff8\005" +
525     "\ufff8\006\ufff8\007\ufff8\010\ufff8\011\ufff8\012\ufff8\016\ufff8" +
526     "\022\ufff8\050\ufff8\115\ufff8\116\ufff8\134\ufff8\001\002\000" +
527     "\034\002\ufffc\005\ufffc\006\ufffc\007\ufffc\010\ufffc\011\ufffc" +
528     "\012\ufffc\016\ufffc\022\ufffc\050\ufffc\115\ufffc\116\ufffc\134" +
529     "\ufffc\001\002\000\004\004\u013c\001\002\000\006\004\050" +
530     "\031\051\001\002\000\004\135\u013e\001\002\000\006\004" +
531     "\050\031\051\001\002\000\006\047\uffbb\117\u0141\001\002" +
532     "\000\004\047\u0143\001\002\000\004\040\u0142\001\002\000" +
533     "\032\002\uffb9\005\uffb9\006\uffb9\007\uffb9\010\uffb9\011\uffb9" +
534     "\012\uffb9\016\uffb9\022\uffb9\115\uffb9\116\uffb9\134\uffb9\001" +
535     "\002\000\020\050\uffb8\120\uffb8\121\uffb8\122\uffb8\123\uffb8" +
536     "\126\uffb8\127\uffb8\001\002\000\020\050\u014d\120\uffb2\121" +
537     "\u0149\122\u0146\123\u014b\126\376\127\u014c\001\002\000\020" +
538     "\050\uffb7\120\uffb7\121\uffb7\122\uffb7\123\uffb7\126\uffb7\127" +
539     "\uffb7\001\002\000\004\004\u0150\001\002\000\004\120\u017b" +
540     "\001\002\000\020\050\uffb6\120\uffb6\121\uffb6\122\uffb6\123" +
541     "\uffb6\126\uffb6\127\uffb6\001\002\000\004\004\u0150\001\002" +
542     "\000\020\050\uffb5\120\uffb5\121\uffb5\122\uffb5\123\uffb5\126" +
543     "\uffb5\127\uffb5\001\002\000\004\004\u0150\001\002\000\004" +
544     "\120\uffb1\001\002\000\004\040\u014f\001\002\000\020\050" +
545     "\uffb4\120\uffb4\121\uffb4\122\uffb4\123\uffb4\126\uffb4\127\uffb4" +
546     "\001\002\000\032\002\uffba\005\uffba\006\uffba\007\uffba\010" +
547     "\uffba\011\uffba\012\uffba\016\uffba\022\uffba\115\uffba\116\uffba" +
548     "\134\uffba\001\002\000\016\034\uffa8\040\uffa8\041\uffa8\045" +
549     "\uffa8\124\uffa8\133\uffa8\001\002\000\004\124\u0153\001\002" +
550     "\000\010\040\uffa3\124\uffa3\133\uffa3\001\002\000\004\004" +
551     "\u0150\001\002\000\006\040\uff9d\133\u0159\001\002\000\004" +
552     "\041\u0156\001\002\000\004\004\u0150\001\002\000\010\040" +
553     "\uffa2\124\uffa2\133\uffa2\001\002\000\004\040\u015b\001\002" +
554     "\000\004\004\u015a\001\002\000\004\040\uff9c\001\002\000" +
555     "\020\050\uff9f\120\uff9f\121\uff9f\122\uff9f\123\uff9f\126\uff9f" +
556     "\127\uff9f\001\002\000\016\034\u015e\040\uffb0\041\uffb0\045" +
557     "\u015d\124\uffb0\133\uffb0\001\002\000\044\004\050\031\051" +
558     "\033\137\043\141\051\u0163\053\133\054\153\060\142\065" +
559     "\140\066\154\106\156\107\144\110\146\111\152\112\134" +
560     "\113\150\114\160\001\002\000\004\004\u0160\001\002\000" +
561     "\016\034\uffa7\040\uffa7\041\uffa7\045\uffa7\124\uffa7\133\uffa7" +
562     "\001\002\000\016\034\uffa6\040\uffa6\041\uffa6\045\uffa6\124" +
563     "\uffa6\133\uffa6\001\002\000\004\046\u016f\001\002\000\012" +
564     "\035\uffaf\042\uffaf\046\uffaf\052\uffaf\001\002\000\044\004" +
565     "\050\031\051\033\137\043\141\052\u0169\053\133\054\153" +
566     "\060\142\065\140\066\154\106\156\107\144\110\146\111" +
567     "\152\112\134\113\150\114\160\001\002\000\004\046\u0165" +
568     "\001\002\000\016\034\uffa4\040\uffa4\041\uffa4\045\uffa4\124" +
569     "\uffa4\133\uffa4\001\002\000\010\035\u016d\042\uffac\052\uffac" +
570     "\001\002\000\006\042\u016a\052\u016b\001\002\000\006\042" +
571     "\uffae\052\uffae\001\002\000\004\046\uffaa\001\002\000\042" +
572     "\004\050\031\051\033\137\043\141\053\133\054\153\060" +
573     "\142\065\140\066\154\106\156\107\144\110\146\111\152" +
574     "\112\134\113\150\114\160\001\002\000\004\046\uffa9\001" +
575     "\002\000\006\042\uffad\052\uffad\001\002\000\042\004\050" +
576     "\031\051\033\137\043\141\053\133\054\153\060\142\065" +
577     "\140\066\154\106\156\107\144\110\146\111\152\112\134" +
578     "\113\150\114\160\001\002\000\006\042\uffab\052\uffab\001" +
579     "\002\000\016\034\uffa5\040\uffa5\041\uffa5\045\uffa5\124\uffa5" +
580     "\133\uffa5\001\002\000\004\124\u0177\001\002\000\004\124" +
581     "\u0173\001\002\000\006\041\u0156\124\uffa3\001\002\000\004" +
582     "\004\u0150\001\002\000\006\040\uff9d\133\u0159\001\002\000" +
583     "\004\040\u0176\001\002\000\020\050\uff9e\120\uff9e\121\uff9e" +
584     "\122\uff9e\123\uff9e\126\uff9e\127\uff9e\001\002\000\004\004" +
585     "\u0150\001\002\000\006\040\uff9d\133\u0159\001\002\000\004" +
586     "\040\u017a\001\002\000\020\050\uffa1\120\uffa1\121\uffa1\122" +
587     "\uffa1\123\uffa1\126\uffa1\127\uffa1\001\002\000\006\004\050" +
588     "\031\051\001\002\000\004\004\u017d\001\002\000\004\040" +
589     "\u017e\001\002\000\020\050\uffb3\120\uffb3\121\uffb3\122\uffb3" +
590     "\123\uffb3\126\uffb3\127\uffb3\001\002\000\004\124\u0180\001" +
591     "\002\000\004\004\u0150\001\002\000\006\040\uff9d\133\u0159" +
592     "\001\002\000\004\040\u0183\001\002\000\020\050\uffa0\120" +
593     "\uffa0\121\uffa0\122\uffa0\123\uffa0\126\uffa0\127\uffa0\001\002" +
594     "\000\066\004\uff92\007\uff92\010\uff92\011\uff92\012\uff92\016" +
595     "\uff92\017\uff92\021\uff92\022\uff92\031\uff92\050\uff92\067\uff92" +
596     "\070\uff92\071\uff92\073\uff92\074\uff92\075\uff92\076\uff92\077" +
597     "\uff92\100\uff92\101\uff92\102\uff92\103\uff92\104\uff92\105\uff92" +
598     "\132\uff92\001\002\000\066\004\ufeea\007\026\010\030\011" +
599     "\012\012\027\016\031\017\u0188\021\u018a\022\011\031\ufeea" +
600     "\050\u0187\067\ufeea\070\ufeea\071\ufeea\073\ufeea\074\ufeea\075" +
601     "\ufeea\076\ufeea\077\ufeea\100\ufeea\101\ufeea\102\ufeea\103\ufeea" +
602     "\104\ufeea\105\ufeea\132\u0189\001\002\000\004\040\u01d7\001" +
603     "\002\000\004\040\uff95\001\002\000\004\021\u018a\001\002" +
604     "\000\004\041\u01bb\001\002\000\040\004\050\031\051\067" +
605     "\270\070\112\071\126\073\073\074\116\075\101\076\100" +
606     "\077\111\100\121\101\122\102\110\103\123\104\260\001" +
607     "\002\000\004\040\u01b5\001\002\000\004\040\ufef6\001\002" +
608     "\000\004\040\u01b4\001\002\000\004\040\u01b3\001\002\000" +
609     "\004\040\u01b2\001\002\000\042\004\050\031\051\067\270" +
610     "\070\112\071\126\073\073\074\116\075\101\076\100\077" +
611     "\111\100\121\101\122\102\110\103\123\104\260\105\u0197" +
612     "\001\002\000\066\004\uff91\007\uff91\010\uff91\011\uff91\012" +
613     "\uff91\016\uff91\017\uff91\021\uff91\022\uff91\031\uff91\050\uff91" +
614     "\067\uff91\070\uff91\071\uff91\073\uff91\074\uff91\075\uff91\076" +
615     "\uff91\077\uff91\100\uff91\101\uff91\102\uff91\103\uff91\104\uff91" +
616     "\105\uff91\132\uff91\001\002\000\066\004\uff8b\007\uff8b\010" +
617     "\uff8b\011\uff8b\012\uff8b\016\uff8b\017\uff8b\021\uff8b\022\uff8b" +
618     "\031\uff8b\050\uff8b\067\uff8b\070\uff8b\071\uff8b\073\uff8b\074" +
619     "\uff8b\075\uff8b\076\uff8b\077\uff8b\100\uff8b\101\uff8b\102\uff8b" +
620     "\103\uff8b\104\uff8b\105\uff8b\132\uff8b\001\002\000\004\004" +
621     "\ufeda\001\002\000\004\004\ufee9\001\002\000\004\004\ufedb" +
622     "\001\002\000\006\026\u01aa\040\ufeed\001\002\000\004\004" +
623     "\ufee8\001\002\000\004\040\ufeee\001\002\000\004\004\ufedc" +
624     "\001\002\000\004\004\ufed9\001\002\000\004\004\u019c\001" +
625     "\002\000\004\043\u019d\001\002\000\014\023\u01a0\024\u019f" +
626     "\025\u01a1\042\ufee6\044\ufee6\001\002\000\006\026\ufeeb\040" +
627     "\ufeeb\001\002\000\040\004\ufee1\031\ufee1\067\ufee1\070\ufee1" +
628     "\071\ufee1\073\ufee1\074\ufee1\075\ufee1\076\ufee1\077\ufee1\100" +
629     "\ufee1\101\ufee1\102\ufee1\103\ufee1\104\ufee1\001\002\000\040" +
630     "\004\ufee2\031\ufee2\067\ufee2\070\ufee2\071\ufee2\073\ufee2\074" +
631     "\ufee2\075\ufee2\076\ufee2\077\ufee2\100\ufee2\101\ufee2\102\ufee2" +
632     "\103\ufee2\104\ufee2\001\002\000\040\004\ufee0\031\ufee0\067" +
633     "\ufee0\070\ufee0\071\ufee0\073\ufee0\074\ufee0\075\ufee0\076\ufee0" +
634     "\077\ufee0\100\ufee0\101\ufee0\102\ufee0\103\ufee0\104\ufee0\001" +
635     "\002\000\006\042\ufee5\044\ufee5\001\002\000\040\004\050" +
636     "\031\051\067\270\070\112\071\126\073\073\074\116\075" +
637     "\101\076\100\077\111\100\121\101\122\102\110\103\123" +
638     "\104\260\001\002\000\006\042\u01a5\044\u01a6\001\002\000" +
639     "\010\023\u01a0\024\u019f\025\u01a1\001\002\000\006\026\ufee7" +
640     "\040\ufee7\001\002\000\006\042\ufee4\044\ufee4\001\002\000" +
641     "\004\004\u0107\001\002\000\006\042\ufee3\044\ufee3\001\002" +
642     "\000\004\043\u01ac\001\002\000\004\040\ufeec\001\002\000" +
643     "\006\004\050\031\051\001\002\000\006\042\u01af\044\u01b0" +
644     "\001\002\000\010\031\054\042\ufede\044\ufede\001\002\000" +
645     "\006\004\050\031\051\001\002\000\004\040\ufedf\001\002" +
646     "\000\010\031\054\042\ufedd\044\ufedd\001\002\000\066\004" +
647     "\uff8e\007\uff8e\010\uff8e\011\uff8e\012\uff8e\016\uff8e\017\uff8e" +
648     "\021\uff8e\022\uff8e\031\uff8e\050\uff8e\067\uff8e\070\uff8e\071" +
649     "\uff8e\073\uff8e\074\uff8e\075\uff8e\076\uff8e\077\uff8e\100\uff8e" +
650     "\101\uff8e\102\uff8e\103\uff8e\104\uff8e\105\uff8e\132\uff8e\001" +
651     "\002\000\066\004\uff8c\007\uff8c\010\uff8c\011\uff8c\012\uff8c" +
652     "\016\uff8c\017\uff8c\021\uff8c\022\uff8c\031\uff8c\050\uff8c\067" +
653     "\uff8c\070\uff8c\071\uff8c\073\uff8c\074\uff8c\075\uff8c\076\uff8c" +
654     "\077\uff8c\100\uff8c\101\uff8c\102\uff8c\103\uff8c\104\uff8c\105" +
655     "\uff8c\132\uff8c\001\002\000\066\004\uff8f\007\uff8f\010\uff8f" +
656     "\011\uff8f\012\uff8f\016\uff8f\017\uff8f\021\uff8f\022\uff8f\031" +
657     "\uff8f\050\uff8f\067\uff8f\070\uff8f\071\uff8f\073\uff8f\074\uff8f" +
658     "\075\uff8f\076\uff8f\077\uff8f\100\uff8f\101\uff8f\102\uff8f\103" +
659     "\uff8f\104\uff8f\105\uff8f\132\uff8f\001\002\000\066\004\uff8d" +
660     "\007\uff8d\010\uff8d\011\uff8d\012\uff8d\016\uff8d\017\uff8d\021" +
661     "\uff8d\022\uff8d\031\uff8d\050\uff8d\067\uff8d\070\uff8d\071\uff8d" +
662     "\073\uff8d\074\uff8d\075\uff8d\076\uff8d\077\uff8d\100\uff8d\101" +
663     "\uff8d\102\uff8d\103\uff8d\104\uff8d\105\uff8d\132\uff8d\001\002" +
664     "\000\004\004\u0107\001\002\000\006\040\ufef4\042\ufef4\001" +
665     "\002\000\006\040\ufef5\042\u01b9\001\002\000\004\004\u0107" +
666     "\001\002\000\006\040\ufef3\042\ufef3\001\002\000\012\004" +
667     "\u01c3\043\u01c4\045\u01c5\136\u01c1\001\002\000\076\004\uffd3" +
668     "\007\uffd3\010\uffd3\011\uffd3\012\uffd3\016\uffd3\017\uffd3\021" +
669     "\uffd3\022\uffd3\031\uffd3\040\uffd3\044\uffd3\050\uffd3\053\uffd3" +
670     "\064\u01c9\067\uffd3\070\uffd3\071\uffd3\073\uffd3\074\uffd3\075" +
671     "\uffd3\076\uffd3\077\uffd3\100\uffd3\101\uffd3\102\uffd3\103\uffd3" +
672     "\104\uffd3\105\uffd3\132\uffd3\001\002\000\100\004\uffd1\007" +
673     "\uffd1\010\uffd1\011\uffd1\012\uffd1\016\uffd1\017\uffd1\021\uffd1" +
674     "\022\uffd1\031\uffd1\040\uffd1\044\uffd1\050\uffd1\053\uffd1\062" +
675     "\u01cb\064\uffd1\067\uffd1\070\uffd1\071\uffd1\073\uffd1\074\uffd1" +
676     "\075\uffd1\076\uffd1\077\uffd1\100\uffd1\101\uffd1\102\uffd1\103" +
677     "\uffd1\104\uffd1\105\uffd1\132\uffd1\001\002\000\104\004\uffcb" +
678     "\007\uffcb\010\uffcb\011\uffcb\012\uffcb\016\uffcb\017\uffcb\021" +
679     "\uffcb\022\uffcb\031\uffcb\040\uffcb\044\uffcb\050\uffcb\053\uffcb" +
680     "\055\uffcb\056\uffcb\062\uffcb\064\uffcb\067\uffcb\070\uffcb\071" +
681     "\uffcb\073\uffcb\074\uffcb\075\uffcb\076\uffcb\077\uffcb\100\uffcb" +
682     "\101\uffcb\102\uffcb\103\uffcb\104\uffcb\105\uffcb\132\uffcb\001" +
683     "\002\000\070\004\uffd7\007\uffd7\010\uffd7\011\uffd7\012\uffd7" +
684     "\016\uffd7\017\uffd7\021\uffd7\022\uffd7\031\uffd7\050\uffd7\053" +
685     "\u01d4\067\uffd7\070\uffd7\071\uffd7\073\uffd7\074\uffd7\075\uffd7" +
686     "\076\uffd7\077\uffd7\100\uffd7\101\uffd7\102\uffd7\103\uffd7\104" +
687     "\uffd7\105\uffd7\132\uffd7\001\002\000\104\004\uffcd\007\uffcd" +
688     "\010\uffcd\011\uffcd\012\uffcd\016\uffcd\017\uffcd\021\uffcd\022" +
689     "\uffcd\031\uffcd\040\uffcd\044\uffcd\050\uffcd\053\uffcd\055\u01cf" +
690     "\056\uffcd\062\uffcd\064\uffcd\067\uffcd\070\uffcd\071\uffcd\073" +
691     "\uffcd\074\uffcd\075\uffcd\076\uffcd\077\uffcd\100\uffcd\101\uffcd" +
692     "\102\uffcd\103\uffcd\104\uffcd\105\uffcd\132\uffcd\001\002\000" +
693     "\104\004\uffc8\007\uffc8\010\uffc8\011\uffc8\012\uffc8\016\uffc8" +
694     "\017\uffc8\021\uffc8\022\uffc8\031\uffc8\040\uffc8\044\uffc8\050" +
695     "\uffc8\053\uffc8\055\uffc8\056\uffc8\062\uffc8\064\uffc8\067\uffc8" +
696     "\070\uffc8\071\uffc8\073\uffc8\074\uffc8\075\uffc8\076\uffc8\077" +
697     "\uffc8\100\uffc8\101\uffc8\102\uffc8\103\uffc8\104\uffc8\105\uffc8" +
698     "\132\uffc8\001\002\000\102\004\uffcf\007\uffcf\010\uffcf\011" +
699     "\uffcf\012\uffcf\016\uffcf\017\uffcf\021\uffcf\022\uffcf\031\uffcf" +
700     "\040\uffcf\044\uffcf\050\uffcf\053\uffcf\056\u01cd\062\uffcf\064" +
701     "\uffcf\067\uffcf\070\uffcf\071\uffcf\073\uffcf\074\uffcf\075\uffcf" +
702     "\076\uffcf\077\uffcf\100\uffcf\101\uffcf\102\uffcf\103\uffcf\104" +
703     "\uffcf\105\uffcf\132\uffcf\001\002\000\104\004\uffc9\007\uffc9" +
704     "\010\uffc9\011\uffc9\012\uffc9\016\uffc9\017\uffc9\021\uffc9\022" +
705     "\uffc9\031\uffc9\040\uffc9\044\uffc9\050\uffc9\053\uffc9\055\uffc9" +
706     "\056\uffc9\062\uffc9\064\uffc9\067\uffc9\070\uffc9\071\uffc9\073" +
707     "\uffc9\074\uffc9\075\uffc9\076\uffc9\077\uffc9\100\uffc9\101\uffc9" +
708     "\102\uffc9\103\uffc9\104\uffc9\105\uffc9\132\uffc9\001\002\000" +
709     "\012\004\u01c3\043\u01c4\045\u01c5\136\u01c1\001\002\000\004" +
710     "\004\u01d0\001\002\000\074\004\uffd5\007\uffd5\010\uffd5\011" +
711     "\uffd5\012\uffd5\016\uffd5\017\uffd5\021\uffd5\022\uffd5\031\uffd5" +
712     "\040\u01c7\044\uffd5\050\uffd5\053\uffd5\067\uffd5\070\uffd5\071" +
713     "\uffd5\073\uffd5\074\uffd5\075\uffd5\076\uffd5\077\uffd5\100\uffd5" +
714     "\101\uffd5\102\uffd5\103\uffd5\104\uffd5\105\uffd5\132\uffd5\001" +
715     "\002\000\012\004\u01c3\043\u01c4\045\u01c5\136\u01c1\001\002" +
716     "\000\076\004\uffd4\007\uffd4\010\uffd4\011\uffd4\012\uffd4\016" +
717     "\uffd4\017\uffd4\021\uffd4\022\uffd4\031\uffd4\040\uffd4\044\uffd4" +
718     "\050\uffd4\053\uffd4\064\u01c9\067\uffd4\070\uffd4\071\uffd4\073" +
719     "\uffd4\074\uffd4\075\uffd4\076\uffd4\077\uffd4\100\uffd4\101\uffd4" +
720     "\102\uffd4\103\uffd4\104\uffd4\105\uffd4\132\uffd4\001\002\000" +
721     "\012\004\u01c3\043\u01c4\045\u01c5\136\u01c1\001\002\000\100" +
722     "\004\uffd2\007\uffd2\010\uffd2\011\uffd2\012\uffd2\016\uffd2\017" +
723     "\uffd2\021\uffd2\022\uffd2\031\uffd2\040\uffd2\044\uffd2\050\uffd2" +
724     "\053\uffd2\062\u01cb\064\uffd2\067\uffd2\070\uffd2\071\uffd2\073" +
725     "\uffd2\074\uffd2\075\uffd2\076\uffd2\077\uffd2\100\uffd2\101\uffd2" +
726     "\102\uffd2\103\uffd2\104\uffd2\105\uffd2\132\uffd2\001\002\000" +
727     "\012\004\u01c3\043\u01c4\045\u01c5\136\u01c1\001\002\000\102" +
728     "\004\uffd0\007\uffd0\010\uffd0\011\uffd0\012\uffd0\016\uffd0\017" +
729     "\uffd0\021\uffd0\022\uffd0\031\uffd0\040\uffd0\044\uffd0\050\uffd0" +
730     "\053\uffd0\056\u01cd\062\uffd0\064\uffd0\067\uffd0\070\uffd0\071" +
731     "\uffd0\073\uffd0\074\uffd0\075\uffd0\076\uffd0\077\uffd0\100\uffd0" +
732     "\101\uffd0\102\uffd0\103\uffd0\104\uffd0\105\uffd0\132\uffd0\001" +
733     "\002\000\012\004\u01c3\043\u01c4\045\u01c5\136\u01c1\001\002" +
734     "\000\104\004\uffce\007\uffce\010\uffce\011\uffce\012\uffce\016" +
735     "\uffce\017\uffce\021\uffce\022\uffce\031\uffce\040\uffce\044\uffce" +
736     "\050\uffce\053\uffce\055\u01cf\056\uffce\062\uffce\064\uffce\067" +
737     "\uffce\070\uffce\071\uffce\073\uffce\074\uffce\075\uffce\076\uffce" +
738     "\077\uffce\100\uffce\101\uffce\102\uffce\103\uffce\104\uffce\105" +
739     "\uffce\132\uffce\001\002\000\104\004\uffcc\007\uffcc\010\uffcc" +
740     "\011\uffcc\012\uffcc\016\uffcc\017\uffcc\021\uffcc\022\uffcc\031" +
741     "\uffcc\040\uffcc\044\uffcc\050\uffcc\053\uffcc\055\uffcc\056\uffcc" +
742     "\062\uffcc\064\uffcc\067\uffcc\070\uffcc\071\uffcc\073\uffcc\074" +
743     "\uffcc\075\uffcc\076\uffcc\077\uffcc\100\uffcc\101\uffcc\102\uffcc" +
744     "\103\uffcc\104\uffcc\105\uffcc\132\uffcc\001\002\000\004\046" +
745     "\u01d1\001\002\000\104\004\uffc7\007\uffc7\010\uffc7\011\uffc7" +
746     "\012\uffc7\016\uffc7\017\uffc7\021\uffc7\022\uffc7\031\uffc7\040" +
747     "\uffc7\044\uffc7\050\uffc7\053\uffc7\055\uffc7\056\uffc7\062\uffc7" +
748     "\064\uffc7\067\uffc7\070\uffc7\071\uffc7\073\uffc7\074\uffc7\075" +
749     "\uffc7\076\uffc7\077\uffc7\100\uffc7\101\uffc7\102\uffc7\103\uffc7" +
750     "\104\uffc7\105\uffc7\132\uffc7\001\002\000\006\044\u01d3\053" +
751     "\u01d4\001\002\000\104\004\uffca\007\uffca\010\uffca\011\uffca" +
752     "\012\uffca\016\uffca\017\uffca\021\uffca\022\uffca\031\uffca\040" +
753     "\uffca\044\uffca\050\uffca\053\uffca\055\uffca\056\uffca\062\uffca" +
754     "\064\uffca\067\uffca\070\uffca\071\uffca\073\uffca\074\uffca\075" +
755     "\uffca\076\uffca\077\uffca\100\uffca\101\uffca\102\uffca\103\uffca" +
756     "\104\uffca\105\uffca\132\uffca\001\002\000\012\004\u01c3\043" +
757     "\u01c4\045\u01c5\136\u01c1\001\002\000\074\004\uffd6\007\uffd6" +
758     "\010\uffd6\011\uffd6\012\uffd6\016\uffd6\017\uffd6\021\uffd6\022" +
759     "\uffd6\031\uffd6\040\u01c7\044\uffd6\050\uffd6\053\uffd6\067\uffd6" +
760     "\070\uffd6\071\uffd6\073\uffd6\074\uffd6\075\uffd6\076\uffd6\077" +
761     "\uffd6\100\uffd6\101\uffd6\102\uffd6\103\uffd6\104\uffd6\105\uffd6" +
762     "\132\uffd6\001\002\000\004\040\ufef7\001\002\000\066\004" +
763     "\uff90\007\uff90\010\uff90\011\uff90\012\uff90\016\uff90\017\uff90" +
764     "\021\uff90\022\uff90\031\uff90\050\uff90\067\uff90\070\uff90\071" +
765     "\uff90\073\uff90\074\uff90\075\uff90\076\uff90\077\uff90\100\uff90" +
766     "\101\uff90\102\uff90\103\uff90\104\uff90\105\uff90\132\uff90\001" +
767     "\002\000\004\047\uff18\001\002\000\004\047\u01da\001\002" +
768     "\000\052\004\050\011\012\012\027\016\031\020\306\031" +
769     "\051\067\270\070\112\071\126\072\271\073\073\074\116" +
770     "\075\101\076\100\077\111\100\121\101\122\102\110\103" +
771     "\123\104\260\001\002\000\054\004\050\011\012\012\027" +
772     "\016\031\020\306\031\051\050\u01e0\067\270\070\112\071" +
773     "\126\072\271\073\073\074\116\075\101\076\100\077\111" +
774     "\100\121\101\122\102\110\103\123\104\260\001\002\000" +
775     "\004\004\322\001\002\000\054\004\uff16\011\uff16\012\uff16" +
776     "\016\uff16\020\uff16\031\uff16\050\uff16\067\uff16\070\uff16\071" +
777     "\uff16\072\uff16\073\uff16\074\uff16\075\uff16\076\uff16\077\uff16" +
778     "\100\uff16\101\uff16\102\uff16\103\uff16\104\uff16\001\002\000" +
779     "\006\040\u01df\042\347\001\002\000\054\004\uff14\011\uff14" +
780     "\012\uff14\016\uff14\020\uff14\031\uff14\050\uff14\067\uff14\070" +
781     "\uff14\071\uff14\072\uff14\073\uff14\074\uff14\075\uff14\076\uff14" +
782     "\077\uff14\100\uff14\101\uff14\102\uff14\103\uff14\104\uff14\001" +
783     "\002\000\006\004\uff17\040\uff17\001\002\000\054\004\uff15" +
784     "\011\uff15\012\uff15\016\uff15\020\uff15\031\uff15\050\uff15\067" +
785     "\uff15\070\uff15\071\uff15\072\uff15\073\uff15\074\uff15\075\uff15" +
786     "\076\uff15\077\uff15\100\uff15\101\uff15\102\uff15\103\uff15\104" +
787     "\uff15\001\002\000\004\047\ufef2\001\002\000\004\047\u01e4" +
788     "\001\002\000\054\004\ufef0\011\ufef0\012\ufef0\016\ufef0\020" +
789     "\ufef0\031\ufef0\050\ufef0\067\ufef0\070\ufef0\071\ufef0\072\ufef0" +
790     "\073\ufef0\074\ufef0\075\ufef0\076\ufef0\077\ufef0\100\ufef0\101" +
791     "\ufef0\102\ufef0\103\ufef0\104\ufef0\001\002\000\054\004\050" +
792     "\011\012\012\027\016\031\020\306\031\051\050\u01e6\067" +
793     "\270\070\112\071\126\072\271\073\073\074\116\075\101" +
794     "\076\100\077\111\100\121\101\122\102\110\103\123\104" +
795     "\260\001\002\000\004\040\ufef1\001\002\000\054\004\ufeef" +
796     "\011\ufeef\012\ufeef\016\ufeef\020\ufeef\031\ufeef\050\ufeef\067" +
797     "\ufeef\070\ufeef\071\ufeef\072\ufeef\073\ufeef\074\ufeef\075\ufeef" +
798     "\076\ufeef\077\ufeef\100\ufeef\101\ufeef\102\ufeef\103\ufeef\104" +
799     "\ufeef\001\002\000\034\002\ufff9\005\ufff9\006\ufff9\007\ufff9" +
800     "\010\ufff9\011\ufff9\012\ufff9\016\ufff9\022\ufff9\050\ufff9\115" +
801     "\ufff9\116\ufff9\134\ufff9\001\002\000\034\002\ufffd\005\ufffd" +
802     "\006\ufffd\007\ufffd\010\ufffd\011\ufffd\012\ufffd\016\ufffd\022" +
803     "\ufffd\050\ufffd\115\ufffd\116\ufffd\134\ufffd\001\002\000\034" +
804     "\002\ufffa\005\ufffa\006\ufffa\007\ufffa\010\ufffa\011\ufffa\012" +
805     "\ufffa\016\ufffa\022\ufffa\050\ufffa\115\ufffa\116\ufffa\134\ufffa" +
806     "\001\002" });
807
808   /** Access to parse-action table. */
809   public short[][] action_table() {return _action_table;}
810
811   /** <code>reduce_goto</code> table. */
812   protected static final short[][] _reduce_table =
813     unpackFromStrings(new String JavaDoc[] {
814     "\000\u01e8\000\004\003\003\001\001\000\040\004\005\010" +
815     "\023\011\013\016\016\022\015\031\004\034\006\036\032" +
816     "\040\024\041\012\137\034\141\007\150\033\162\021\216" +
817     "\014\001\001\000\002\001\001\000\002\001\001\000\002" +
818     "\001\001\000\002\001\001\000\004\173\u01e1\001\001\000" +
819     "\004\173\u01d7\001\001\000\002\001\001\000\002\001\001" +
820     "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
821     "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
822     "\001\001\000\002\001\001\000\002\001\001\000\100\005" +
823     "\342\045\046\047\303\050\301\051\264\052\272\053\265" +
824     "\054\343\055\276\056\256\120\273\121\302\122\300\124" +
825     "\262\125\271\126\275\127\304\130\075\131\102\133\266" +
826     "\134\255\137\260\141\261\150\274\152\067\153\073\154" +
827     "\101\155\123\156\114\157\076\175\306\001\001\000\004" +
828     "\173\230\001\001\000\052\045\046\055\071\056\113\114" +
829     "\124\120\070\121\116\123\104\124\106\125\074\126\105" +
830     "\127\103\130\075\131\102\152\067\153\073\154\101\155" +
831     "\123\156\114\157\076\175\112\001\001\000\004\173\057" +
832     "\001\001\000\004\173\035\001\001\000\002\001\001\000" +
833     "\002\001\001\000\002\001\001\000\004\042\042\001\001" +
834     "\000\004\174\037\001\001\000\002\001\001\000\002\001" +
835     "\001\000\002\001\001\000\002\001\001\000\010\045\046" +
836     "\160\045\175\044\001\001\000\002\001\001\000\002\001" +
837     "\001\000\004\174\052\001\001\000\002\001\001\000\002" +
838     "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
839     "\001\000\002\001\001\000\006\045\046\175\056\001\001" +
840     "\000\002\001\001\000\002\001\001\000\004\174\037\001" +
841     "\001\000\004\142\063\001\001\000\002\001\001\000\002" +
842     "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
843     "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
844     "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
845     "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
846     "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
847     "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
848     "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
849     "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
850     "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
851     "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
852     "\000\004\222\126\001\001\000\002\001\001\000\004\173" +
853     "\127\001\001\000\002\001\001\000\034\045\134\101\135" +
854     "\102\150\103\144\104\161\105\142\106\163\107\156\110" +
855     "\131\111\146\112\154\113\160\115\162\001\001\000\002" +
856     "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
857     "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
858     "\000\034\045\134\101\211\102\150\103\144\104\161\105" +
859     "\142\106\163\107\156\110\131\111\146\112\154\113\160" +
860     "\115\162\001\001\000\002\001\001\000\002\001\001\000" +
861     "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
862     "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
863     "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
864     "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
865     "\012\045\134\102\202\112\154\115\162\001\001\000\002" +
866     "\001\001\000\002\001\001\000\002\001\001\000\022\045" +
867     "\134\102\150\103\144\104\161\105\201\112\154\113\160" +
868     "\115\162\001\001\000\022\045\134\102\150\103\144\104" +
869     "\161\105\166\112\154\113\160\115\162\001\001\000\002" +
870     "\001\001\000\020\045\134\102\150\103\144\104\200\112" +
871     "\154\113\160\115\162\001\001\000\020\045\134\102\150" +
872     "\103\144\104\171\112\154\113\160\115\162\001\001\000" +
873     "\002\001\001\000\016\045\134\102\150\103\177\112\154" +
874     "\113\160\115\162\001\001\000\016\045\134\102\150\103" +
875     "\176\112\154\113\160\115\162\001\001\000\016\045\134" +
876     "\102\150\103\175\112\154\113\160\115\162\001\001\000" +
877     "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
878     "\001\001\000\002\001\001\000\002\001\001\000\024\045" +
879     "\134\102\150\103\144\104\161\105\142\106\204\112\154" +
880     "\113\160\115\162\001\001\000\002\001\001\000\030\045" +
881     "\134\102\150\103\144\104\161\105\142\106\163\107\156" +
882     "\110\206\112\154\113\160\115\162\001\001\000\002\001" +
883     "\001\000\026\045\134\102\150\103\144\104\161\105\142" +
884     "\106\163\107\210\112\154\113\160\115\162\001\001\000" +
885     "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
886     "\001\001\000\036\045\134\077\216\101\215\102\150\103" +
887     "\144\104\161\105\142\106\163\107\156\110\131\111\146" +
888     "\112\154\113\160\115\162\001\001\000\002\001\001\000" +
889     "\002\001\001\000\002\001\001\000\036\045\134\077\221" +
890     "\101\215\102\150\103\144\104\161\105\142\106\163\107" +
891     "\156\110\131\111\146\112\154\113\160\115\162\001\001" +
892     "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
893     "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
894     "\001\001\000\002\001\001\000\002\001\001\000\040\045" +
895     "\046\124\240\125\235\127\237\130\075\131\102\141\234" +
896     "\151\236\152\067\153\073\154\101\155\123\156\114\157" +
897     "\076\175\241\001\001\000\002\001\001\000\002\001\001" +
898     "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
899     "\002\001\001\000\002\001\001\000\004\224\243\001\001" +
900     "\000\002\001\001\000\012\143\247\144\251\145\250\146" +
901     "\246\001\001\000\002\001\001\000\010\143\247\144\251" +
902     "\145\337\001\001\000\002\001\001\000\002\001\001\000" +
903     "\102\045\046\047\303\050\301\051\264\052\272\053\265" +
904     "\054\277\055\276\056\256\120\273\121\302\122\300\124" +
905     "\262\125\271\126\275\127\304\130\075\131\102\133\266" +
906     "\134\255\137\260\141\261\143\307\147\263\150\274\152" +
907     "\067\153\073\154\101\155\123\156\114\157\076\175\306" +
908     "\001\001\000\034\045\134\101\253\102\150\103\144\104" +
909     "\161\105\142\106\163\107\156\110\131\111\146\112\154" +
910     "\113\160\115\162\001\001\000\002\001\001\000\002\001" +
911     "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
912     "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
913     "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
914     "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
915     "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
916     "\000\002\001\001\000\002\001\001\000\012\061\316\074" +
917     "\320\116\317\117\322\001\001\000\002\001\001\000\002" +
918     "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
919     "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
920     "\000\064\045\046\047\303\050\301\051\311\053\265\055" +
921     "\276\056\256\120\273\121\302\122\300\124\262\125\271" +
922     "\126\275\127\304\130\075\131\102\133\266\134\255\152" +
923     "\067\153\073\154\101\155\123\156\114\157\076\175\306" +
924     "\001\001\000\002\001\001\000\036\045\134\077\314\101" +
925     "\215\102\150\103\144\104\161\105\142\106\163\107\156" +
926     "\110\131\111\146\112\154\113\160\115\162\001\001\000" +
927     "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
928     "\001\001\000\002\001\001\000\002\001\001\000\006\075" +
929     "\324\076\323\001\001\000\002\001\001\000\002\001\001" +
930     "\000\004\076\330\001\001\000\036\045\134\077\326\101" +
931     "\215\102\150\103\144\104\161\105\142\106\163\107\156" +
932     "\110\131\111\146\112\154\113\160\115\162\001\001\000" +
933     "\002\001\001\000\002\001\001\000\002\001\001\000\034" +
934     "\045\134\101\332\102\150\103\144\104\161\105\142\106" +
935     "\163\107\156\110\131\111\146\112\154\113\160\115\162" +
936     "\001\001\000\002\001\001\000\034\045\134\101\334\102" +
937     "\150\103\144\104\161\105\142\106\163\107\156\110\131" +
938     "\111\146\112\154\113\160\115\162\001\001\000\002\001" +
939     "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
940     "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
941     "\014\061\316\074\320\116\344\117\322\132\345\001\001" +
942     "\000\002\001\001\000\002\001\001\000\012\061\316\074" +
943     "\320\116\347\117\322\001\001\000\002\001\001\000\002" +
944     "\001\001\000\004\221\352\001\001\000\002\001\001\000" +
945     "\040\004\005\010\023\011\354\016\016\022\015\031\004" +
946     "\034\006\035\355\036\032\040\024\041\012\137\034\141" +
947     "\007\150\033\216\356\001\001\000\002\001\001\000\036" +
948     "\004\005\010\023\011\u0137\016\016\022\015\031\004\034" +
949     "\006\036\032\040\024\041\012\137\034\141\007\150\033" +
950     "\216\356\001\001\000\002\001\001\000\004\173\360\001" +
951     "\001\000\004\217\361\001\001\000\002\001\001\000\004" +
952     "\017\363\001\001\000\014\020\374\021\367\025\373\027" +
953     "\366\033\365\001\001\000\002\001\001\000\002\001\001" +
954     "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
955     "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
956     "\001\001\000\052\045\046\055\071\056\113\114\376\120" +
957     "\070\121\116\123\104\124\106\125\074\126\105\127\103" +
958     "\130\075\131\102\152\067\153\073\154\101\155\123\156" +
959     "\114\157\076\175\112\001\001\000\002\001\001\000\002" +
960     "\001\001\000\002\001\001\000\012\023\u0104\024\u0102\045" +
961     "\046\175\u0103\001\001\000\010\023\u010a\045\046\175\u0103" +
962     "\001\001\000\006\061\u0105\062\u0107\001\001\000\002\001" +
963     "\001\000\002\001\001\000\002\001\001\000\004\061\u0108" +
964     "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
965     "\001\000\012\026\u010e\030\u010d\045\046\175\u010c\001\001" +
966     "\000\006\061\u0105\062\u0110\001\001\000\010\026\u010f\045" +
967     "\046\175\u010c\001\001\000\002\001\001\000\002\001\001" +
968     "\000\004\061\u0108\001\001\000\002\001\001\000\020\205" +
969     "\u0113\206\u011c\207\u0118\210\u011e\211\u011b\212\u0117\213\u011d" +
970     "\001\001\000\002\001\001\000\002\001\001\000\004\214" +
971     "\u0135\001\001\000\004\214\u012e\001\001\000\002\001\001" +
972     "\000\002\001\001\000\002\001\001\000\020\205\u0128\206" +
973     "\u011c\207\u0118\210\u011e\211\u011b\212\u0117\213\u011d\001\001" +
974     "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
975     "\002\001\001\000\010\211\u011b\212\u0120\213\u011d\001\001" +
976     "\000\002\001\001\000\006\211\u0122\213\u011d\001\001\000" +
977     "\002\001\001\000\002\001\001\000\014\207\u0125\210\u011e" +
978     "\211\u011b\212\u0117\213\u011d\001\001\000\002\001\001\000" +
979     "\012\210\u0127\211\u011b\212\u0117\213\u011d\001\001\000\002" +
980     "\001\001\000\002\001\001\000\002\001\001\000\016\206" +
981     "\u012b\207\u0118\210\u011e\211\u011b\212\u0117\213\u011d\001\001" +
982     "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
983     "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
984     "\001\001\000\020\205\u0133\206\u011c\207\u0118\210\u011e\211" +
985     "\u011b\212\u0117\213\u011d\001\001\000\002\001\001\000\002" +
986     "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
987     "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
988     "\000\006\045\046\175\u013c\001\001\000\002\001\001\000" +
989     "\006\045\046\175\u013e\001\001\000\004\220\u013f\001\001" +
990     "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
991     "\004\012\u0143\001\001\000\014\013\u0144\014\u0147\015\u0149" +
992     "\025\u014d\037\u0146\001\001\000\002\001\001\000\006\165" +
993     "\u0154\167\u017e\001\001\000\002\001\001\000\002\001\001" +
994     "\000\010\165\u0171\166\u0170\167\u016f\001\001\000\002\001" +
995     "\001\000\006\165\u0151\166\u0150\001\001\000\002\001\001" +
996     "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
997     "\004\164\u015b\001\001\000\002\001\001\000\002\001\001" +
998     "\000\006\165\u0154\167\u0153\001\001\000\004\215\u0157\001" +
999     "\001\000\002\001\001\000\004\165\u0156\001\001\000\002" +
1000    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
1001    "\001\000\002\001\001\000\004\163\u015e\001\001\000\040" +
1002    "\045\134\100\u0160\101\u0161\102\150\103\144\104\161\105" +
1003    "\142\106\163\107\156\110\131\111\146\112\154\113\160" +
1004    "\115\162\172\u0163\001\001\000\002\001\001\000\002\001" +
1005    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
1006    "\000\042\045\134\100\u0165\101\u0161\102\150\103\144\104" +
1007    "\161\105\142\106\163\107\156\110\131\111\146\112\154" +
1008    "\113\160\115\162\170\u0167\171\u0166\001\001\000\002\001" +
1009    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
1010    "\000\002\001\001\000\002\001\001\000\040\045\134\100" +
1011    "\u0165\101\u0161\102\150\103\144\104\161\105\142\106\163" +
1012    "\107\156\110\131\111\146\112\154\113\160\115\162\170" +
1013    "\u016b\001\001\000\002\001\001\000\002\001\001\000\036" +
1014    "\045\134\100\u016d\101\u0161\102\150\103\144\104\161\105" +
1015    "\142\106\163\107\156\110\131\111\146\112\154\113\160" +
1016    "\115\162\001\001\000\002\001\001\000\002\001\001\000" +
1017    "\002\001\001\000\002\001\001\000\002\001\001\000\006" +
1018    "\165\u0151\166\u0173\001\001\000\004\215\u0174\001\001\000" +
1019    "\002\001\001\000\002\001\001\000\006\165\u0154\167\u0177" +
1020    "\001\001\000\004\215\u0178\001\001\000\002\001\001\000" +
1021    "\002\001\001\000\006\045\046\175\u017b\001\001\000\002" +
1022    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
1023    "\001\000\006\165\u0151\166\u0180\001\001\000\004\215\u0181" +
1024    "\001\001\000\002\001\001\000\002\001\001\000\004\006" +
1025    "\u0184\001\001\000\032\004\u0185\007\u0190\010\u018e\022\u018c" +
1026    "\032\u0191\067\u018d\070\u018f\072\u018b\073\u018a\137\034\141" +
1027    "\007\150\033\001\001\000\002\001\001\000\002\001\001" +
1028    "\000\004\072\u01d5\001\001\000\002\001\001\000\056\045" +
1029    "\046\046\u01b5\047\u0198\055\u0194\056\u0192\120\273\121\302" +
1030    "\124\262\125\271\126\275\127\304\130\075\131\102\133" +
1031    "\266\134\255\152\067\153\073\154\101\155\123\156\114" +
1032    "\157\076\175\u0199\001\001\000\002\001\001\000\002\001" +
1033    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
1034    "\000\064\045\046\046\u0193\047\u0198\055\u0194\056\u0192\064" +
1035    "\u019a\065\u0195\066\u0197\120\273\121\302\124\262\125\271" +
1036    "\126\275\127\304\130\075\131\102\133\266\134\255\152" +
1037    "\067\153\073\154\101\155\123\156\114\157\076\175\u0199" +
1038    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
1039    "\001\000\002\001\001\000\002\001\001\000\004\043\u01aa" +
1040    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
1041    "\001\000\002\001\001\000\002\001\001\000\004\161\u019d" +
1042    "\001\001\000\010\057\u01a2\060\u01a1\063\u01a3\001\001\000" +
1043    "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
1044    "\001\001\000\002\001\001\000\056\045\046\046\u01a7\047" +
1045    "\u0198\055\u0194\056\u0192\120\273\121\302\124\262\125\271" +
1046    "\126\275\127\304\130\075\131\102\133\266\134\255\152" +
1047    "\067\153\073\154\101\155\123\156\114\157\076\175\u0199" +
1048    "\001\001\000\002\001\001\000\006\057\u01a2\060\u01a6\001" +
1049    "\001\000\002\001\001\000\002\001\001\000\004\061\u01a8" +
1050    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
1051    "\001\000\006\044\u01ac\045\u01ad\001\001\000\002\001\001" +
1052    "\000\002\001\001\000\004\045\u01b0\001\001\000\002\001" +
1053    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
1054    "\000\002\001\001\000\002\001\001\000\006\061\u01b6\071" +
1055    "\u01b7\001\001\000\002\001\001\000\002\001\001\000\004" +
1056    "\061\u01b9\001\001\000\002\001\001\000\020\176\u01be\177" +
1057    "\u01c5\200\u01bb\201\u01bc\202\u01bf\203\u01c1\204\u01bd\001\001" +
1058    "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
1059    "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
1060    "\001\001\000\002\001\001\000\020\176\u01d1\177\u01c5\200" +
1061    "\u01bb\201\u01bc\202\u01bf\203\u01c1\204\u01bd\001\001\000\002" +
1062    "\001\001\000\002\001\001\000\014\200\u01c7\201\u01bc\202" +
1063    "\u01bf\203\u01c1\204\u01bd\001\001\000\002\001\001\000\012" +
1064    "\201\u01c9\202\u01bf\203\u01c1\204\u01bd\001\001\000\002\001" +
1065    "\001\000\010\202\u01bf\203\u01cb\204\u01bd\001\001\000\002" +
1066    "\001\001\000\006\202\u01cd\204\u01bd\001\001\000\002\001" +
1067    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
1068    "\000\002\001\001\000\002\001\001\000\016\177\u01d4\200" +
1069    "\u01bb\201\u01bc\202\u01bf\203\u01c1\204\u01bd\001\001\000\002" +
1070    "\001\001\000\002\001\001\000\002\001\001\000\004\223" +
1071    "\u01d8\001\001\000\002\001\001\000\102\045\046\047\303" +
1072    "\050\301\051\264\052\272\053\265\054\u01db\055\276\056" +
1073    "\256\120\273\121\302\122\300\124\262\125\271\126\275" +
1074    "\127\304\130\075\131\102\133\266\134\255\135\u01dc\137" +
1075    "\260\140\u01da\141\261\150\274\152\067\153\073\154\101" +
1076    "\155\123\156\114\157\076\175\306\001\001\000\100\045" +
1077    "\046\047\303\050\301\051\264\052\272\053\265\054\u01db" +
1078    "\055\276\056\256\120\273\121\302\122\300\124\262\125" +
1079    "\271\126\275\127\304\130\075\131\102\133\266\134\255" +
1080    "\135\u01e0\137\260\141\261\150\274\152\067\153\073\154" +
1081    "\101\155\123\156\114\157\076\175\306\001\001\000\014" +
1082    "\061\316\074\320\116\344\117\322\132\u01dd\001\001\000" +
1083    "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
1084    "\001\001\000\002\001\001\000\004\225\u01e2\001\001\000" +
1085    "\002\001\001\000\004\136\u01e4\001\001\000\100\045\046" +
1086    "\047\303\050\301\051\264\052\272\053\265\054\u01db\055" +
1087    "\276\056\256\120\273\121\302\122\300\124\262\125\271" +
1088    "\126\275\127\304\130\075\131\102\133\266\134\255\135" +
1089    "\u01e6\137\260\141\261\150\274\152\067\153\073\154\101" +
1090    "\155\123\156\114\157\076\175\306\001\001\000\002\001" +
1091    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
1092    "\000\002\001\001" });
1093
1094  /** Access to <code>reduce_goto</code> table. */
1095  public short[][] reduce_table() {return _reduce_table;}
1096
1097  /** Instance of action encapsulation class. */
1098  protected CUP$parser$actions action_obj;
1099
1100  /** Action encapsulation object initializer. */
1101  protected void init_actions()
1102    {
1103      action_obj = new CUP$parser$actions(this);
1104    }
1105
1106  /** Invoke a user supplied parse action. */
1107  public java_cup.runtime.Symbol do_action(
1108    int act_num,
1109    java_cup.runtime.lr_parser parser,
1110    java.util.Stack JavaDoc stack,
1111    int top)
1112    throws java.lang.Exception JavaDoc
1113  {
1114    /* call code in generated class */
1115    return action_obj.CUP$parser$do_action(act_num, parser, stack, top);
1116  }
1117
1118  /** Indicates start state. */
1119  public int start_state() {return 0;}
1120  /** Indicates start production. */
1121  public int start_production() {return 1;}
1122
1123  /** <code>EOF</code> Symbol index. */
1124  public int EOF_sym() {return 0;}
1125
1126  /** <code>error</code> Symbol index. */
1127  public int error_sym() {return 1;}
1128
1129
1130  /** User initialization code. */
1131  public void user_init() throws java.lang.Exception JavaDoc
1132    {
1133
1134  /*
1135  if (aktScope==null)
1136    aktScope = new Scopename();
1137  if (newRep==null)
1138    newRep = new CompRepository(aktScope);
1139  if (aktual==null)
1140    aktual = newRep;
1141  if (oldAktual==null)
1142    oldAktual = new List();
1143  */

1144
1145  action_obj.init(newRep,aktual, aktScope, oldAktual);
1146
1147    }
1148
1149
1150  CompRepository newRep;
1151  Object JavaDoc aktual;
1152  Scopename aktScope;
1153  List oldAktual;
1154
1155  Yylex lscanner;
1156  String JavaDoc fileName;
1157  
1158  /** True if parser was created by run method. Then doCompile, doCommit and doAbort methods can't be ran */
1159  boolean runMethodUsed;
1160
1161  /** static method for running compilation. */
1162  public static void run(File JavaDoc[] files) throws Exception JavaDoc {
1163    parser parser = new parser();
1164    parser.runMethodUsed = true;
1165    
1166    parser.aktScope = new Scopename();
1167    parser.newRep = new CompRepository(parser.aktScope);
1168    parser.aktual = parser.newRep;
1169    parser.oldAktual = new List();
1170    
1171    try {
1172      for (int i=0; i<files.length; i++) {
1173        parser.setScanner(parser.lscanner = new Yylex(new FileInputStream JavaDoc(files[i])));
1174        parser.fileName = files[i].getName();
1175        Output.out.println("Start parse file "+files[i]);
1176        parser.parse();
1177        Output.out.println("End parse file "+files[i]);
1178      }
1179      
1180      parser.newRep.checkConsist(null, parser.newRep);
1181
1182// long tm = java.util.Calendar.getInstance().getTime().getTime();
1183
// parser.newRep.toNormal();
1184
// Output.out.println(Long.toString(java.util.Calendar.getInstance().getTime().getTime()-tm));
1185

1186      
1187      parser.newRep.printContent();
1188      
1189      if (Interactive.askYesNo("Do you want add currently compiled object to the repository?",true,"Really")) {
1190        parser.newRep.toNormal();
1191        Output.out.print("Commit...");
1192        if (parser.newRep.commit())
1193          Output.out.println("OK");
1194        else
1195          Output.out.println("failed");
1196      } else {
1197        Output.out.print("Abort...");
1198        if (parser.newRep.abort())
1199          Output.out.println("OK");
1200        else
1201          Output.out.println("failed");
1202      }
1203    } catch (Exception JavaDoc ex) {
1204      Output.out.println("Exception occured\n"+ ex.getMessage());
1205      ex.printStackTrace();
1206      Output.out.print("Abort...");
1207      if (parser.newRep.abort())
1208        Output.out.println("OK");
1209      else
1210        Output.out.println("failed");
1211      Output.out.println("Exception: "+ ex.getMessage());
1212    }
1213  }
1214
1215  public void doCompile(File JavaDoc[] files) throws Exception JavaDoc {
1216    if (runMethodUsed)
1217      return;
1218    try {
1219      for (int i=0; i<files.length; i++) {
1220        setScanner(lscanner = new Yylex(new FileInputStream JavaDoc(files[i])));
1221        fileName = files[i].getName();
1222        Output.out.println("Start parse file "+files[i]);
1223        parse();
1224        Output.out.println("End parse file "+files[i]);
1225      }
1226      
1227      newRep.checkConsist(null, newRep);
1228      
1229      newRep.printContent();
1230    } catch (Exception JavaDoc ex) {
1231      Output.out.println("Exception occured\n"+ ex.getMessage());
1232      ex.printStackTrace();
1233      Output.out.print("Abort...");
1234      if (newRep.abort())
1235        Output.out.println("OK");
1236      else
1237        Output.out.println("failed");
1238      Output.out.println("Exception: "+ ex.getMessage());
1239    }
1240  }
1241
1242  public boolean doCommit() throws Exception JavaDoc {
1243    if (runMethodUsed)
1244      return false;
1245    try {
1246      newRep.toNormal();
1247      if (newRep.commit())
1248        return true;
1249      else
1250        return false;
1251    } catch (Exception JavaDoc ex) {
1252      Output.out.println("Exception occured in commiting\n"+ ex.getMessage());
1253      ex.printStackTrace();
1254      Output.out.print("Abort...");
1255      if (newRep.abort())
1256        Output.out.println("OK");
1257      else
1258        Output.out.println("failed");
1259      Output.out.println("Exception: "+ ex.getMessage());
1260      return false;
1261    }
1262  }
1263
1264  public boolean doAbort() throws Exception JavaDoc {
1265    if (runMethodUsed)
1266      return false;
1267    try {
1268      if (newRep.abort())
1269        return true;
1270      else
1271        return false;
1272    } catch (Exception JavaDoc ex) {
1273      Output.out.println("Exception occured in aboorting\n"+ ex.getMessage());
1274      ex.printStackTrace();
1275      return false;
1276    }
1277  }
1278
1279  public void syntax_error(Symbol cur_token) {
1280    report_error("syntax error at line "+getLine(cur_token.left), null);
1281  }
1282
1283  public void unrecovered_syntax_error(Symbol cur_token) throws java.lang.Exception JavaDoc {
1284    report_fatal_error(""/*"unrecovered syntax error at line "+getLine(cur_token.left)*/, null);
1285    
1286  }
1287
1288  public int getLine(int l) {
1289    return lscanner.lineinfo.errorLine(l) + 1;
1290  }
1291
1292  public void report_error(String JavaDoc message, Object JavaDoc info) {
1293    //super.report_error(fileName+": "+message,info);
1294
Output.out.println(fileName+": "+message);
1295  }
1296
1297  public void report_fatal_error(String JavaDoc message, Object JavaDoc info) throws java.lang.Exception JavaDoc {
1298    //super.report_fatal_error(message,info);
1299
done_parsing();
1300    Output.out.println(fileName+": "+message);
1301    throw new Exception JavaDoc("can't recover from previous errors");
1302  }
1303
1304  /** just parse sources and add them to work repository */
1305  public static void doParse(java.io.InputStream JavaDoc file, String JavaDoc fname, Repository defRep, WorkRepository workRep, boolean useProt, boolean testProt) throws Exception JavaDoc {
1306    parser parser = new parser();
1307    
1308    parser.aktScope = new Scopename();
1309    parser.newRep = new CompRepository(parser.aktScope, defRep, workRep, useProt, testProt);
1310    parser.aktual = parser.newRep;
1311    parser.oldAktual = new List();
1312    
1313
1314    parser.setScanner(parser.lscanner = new Yylex(file));
1315    parser.fileName = fname;
1316    //long tm = java.util.Calendar.getInstance().getTime().getTime();
1317
Output.out.println("Parsing input...");
1318    
1319    parser.parse();
1320    
1321    //Output.out.println(Long.toString(java.util.Calendar.getInstance().getTime().getTime()-tm));
1322
Output.out.println("OK");
1323    Output.out.println("Checking consitency of new objects...");
1324// tm = java.util.Calendar.getInstance().getTime().getTime();
1325

1326    parser.newRep.checkConsist(null, parser.newRep);
1327    
1328// Output.out.println(Long.toString(java.util.Calendar.getInstance().getTime().getTime()-tm));
1329
Output.out.println("OK");
1330    Output.out.println("Adding new objects...");
1331// tm = java.util.Calendar.getInstance().getTime().getTime();
1332

1333    parser.newRep.toNormal();
1334// Output.out.println(Long.toString(java.util.Calendar.getInstance().getTime().getTime()-tm));
1335
Output.out.println("OK");
1336  }
1337
1338}
1339
1340/** Cup generated class to encapsulate user supplied action code.*/
1341class CUP$parser$actions {
1342
1343 
1344  CompRepository newRep;
1345  Object JavaDoc aktual;
1346  Scopename aktScope;
1347  List oldAktual;
1348
1349  List exprEnum;
1350  void setExprEnum(boolean b) { // if type of expression is enum
1351
exprEnum.add(new Boolean JavaDoc(b));
1352  }
1353  boolean getExprEnum() {
1354    exprEnum.toLast();
1355    return ((Boolean JavaDoc) exprEnum.aktual()).booleanValue();
1356  }
1357  void rmExprEnum() {
1358    exprEnum.toLast();
1359    exprEnum.removeAkt();
1360  }
1361  
1362  List constType;
1363  void setConstType(CompType t) { // for transfer to next action
1364
constType.add(t);
1365  }
1366  CompType getConstType() { constType.toLast(); return (CompType) constType.aktual(); }
1367  void rmConstType() { constType.toLast(); constType.removeAkt(); }
1368
1369  List innerDef; // set inner definition
1370
void setInner() { innerDef.add(new Boolean JavaDoc(true)); }
1371  boolean isInner() {
1372    innerDef.toLast();
1373    return ((Boolean JavaDoc) innerDef.aktual()).booleanValue();
1374  }
1375  void unsetInner() {
1376    innerDef.toLast();
1377    innerDef.removeAkt();
1378  }
1379
1380  void init(CompRepository newRep, Object JavaDoc aktual, Scopename aktScope, List oldAktual) throws Exception JavaDoc {
1381    this.aktScope = aktScope;
1382    this.newRep = newRep;
1383    this.aktual = aktual;
1384    this.oldAktual = oldAktual;
1385
1386    exprEnum = new List();
1387    exprEnum.add(new Boolean JavaDoc(false));
1388    constType = new List();
1389    innerDef = new List();
1390    innerDef.add(new Boolean JavaDoc(false));
1391
1392
1393    SOFA.SOFAnode.Util.ConnectorProtocolGen.GenFactory.init();
1394  }
1395
1396  private final parser parser;
1397
1398  /** Constructor */
1399  CUP$parser$actions(parser parser) {
1400    this.parser = parser;
1401  }
1402
1403  /** Method with the actual generated action code. */
1404  public final java_cup.runtime.Symbol CUP$parser$do_action(
1405    int CUP$parser$act_num,
1406    java_cup.runtime.lr_parser CUP$parser$parser,
1407    java.util.Stack JavaDoc CUP$parser$stack,
1408    int CUP$parser$top)
1409    throws java.lang.Exception JavaDoc
1410    {
1411      /* Symbol object for return from actions */
1412      java_cup.runtime.Symbol CUP$parser$result;
1413
1414      /* select the action based on the action number */
1415      switch (CUP$parser$act_num)
1416        {
1417          /*. . . . . . . . . . . . . . . . . . . .*/
1418          case 296: // param_type_spec ::= scoped_name_with_version
1419
{
1420              CompType RESULT = null;
1421        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
1422        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
1423        FullID e = (FullID)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
1424        
1425          CompReffer ref = null;
1426          try {
1427            ref = newRep.searchReffer(e);
1428          } catch (CDLExceptRemote ex) {
1429            parser.report_fatal_error(ex.getMessage(),null);
1430          } catch (CDLExceptLock ex) {
1431            parser.report_fatal_error(ex.getMessage(),null);
1432          }
1433          if (ref == null)
1434            parser.report_fatal_error(newRep.searchError+": "+parser.getLine(eleft), null);
1435          else {
1436            if (!CompReffer.isType(ref.what))
1437              parser.report_fatal_error(e.toString()+" isn't type: "+parser.getLine(eleft), null);
1438            else {
1439              try {
1440                if (!CompReffer.isParamType(ref, newRep)) {
1441                  parser.report_fatal_error(e.toString()+" isn't param type: "+parser.getLine(eleft), null);
1442                } else {
1443                  RESULT = ref;
1444                }
1445              } catch (CDLExceptRemote ex) {
1446                parser.report_fatal_error(ex.getMessage(),null);
1447              } catch (CDLExceptLock ex) {
1448                parser.report_fatal_error(ex.getMessage(),null);
1449              }
1450            }
1451          }
1452       
1453              CUP$parser$result = new java_cup.runtime.Symbol(36/*param_type_spec*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1454            }
1455          return CUP$parser$result;
1456
1457          /*. . . . . . . . . . . . . . . . . . . .*/
1458          case 295: // param_type_spec ::= wide_string_type
1459
{
1460              CompType RESULT = null;
1461        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
1462        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
1463        CompType e = (CompType)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
1464         RESULT = e;
1465              CUP$parser$result = new java_cup.runtime.Symbol(36/*param_type_spec*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1466            }
1467          return CUP$parser$result;
1468
1469          /*. . . . . . . . . . . . . . . . . . . .*/
1470          case 294: // param_type_spec ::= string_type
1471
{
1472              CompType RESULT = null;
1473        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
1474        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
1475        CompType e = (CompType)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
1476         RESULT = e;
1477              CUP$parser$result = new java_cup.runtime.Symbol(36/*param_type_spec*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1478            }
1479          return CUP$parser$result;
1480
1481          /*. . . . . . . . . . . . . . . . . . . .*/
1482          case 293: // param_type_spec ::= base_type_spec
1483
{
1484              CompType RESULT = null;
1485        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
1486        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
1487        CompType e = (CompType)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
1488         RESULT = e;
1489              CUP$parser$result = new java_cup.runtime.Symbol(36/*param_type_spec*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1490            }
1491          return CUP$parser$result;
1492
1493          /*. . . . . . . . . . . . . . . . . . . .*/
1494          case 292: // raises_list ::= raises_list COMMA scoped_name
1495
{
1496              List RESULT = null;
1497        int lleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
1498        int lright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
1499        List l = (List)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
1500        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
1501        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
1502        FullID e = (FullID)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
1503        
1504          CompReffer ref = null;
1505          try {
1506            ref = newRep.searchReffer(e);
1507          } catch (CDLExceptRemote ex) {
1508            parser.report_fatal_error(ex.getMessage(),null);
1509          } catch (CDLExceptLock ex) {
1510            parser.report_fatal_error(ex.getMessage(),null);
1511          }
1512          if (ref == null)
1513            parser.report_fatal_error(newRep.searchError+": "+parser.getLine(eleft), null);
1514          else {
1515            if (ref.what != ObjectsKind.o_Exception) {
1516              parser.report_fatal_error(e.toString()+" isn't exception: "+parser.getLine(eleft), null);
1517            }
1518          }
1519          l.add(ref);
1520          RESULT = l;
1521       
1522              CUP$parser$result = new java_cup.runtime.Symbol(34/*raises_list*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1523            }
1524          return CUP$parser$result;
1525
1526          /*. . . . . . . . . . . . . . . . . . . .*/
1527          case 291: // raises_list ::= scoped_name
1528
{
1529              List RESULT = null;
1530        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
1531        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
1532        FullID e = (FullID)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
1533        
1534          CompReffer ref = null;
1535          try {
1536            ref = newRep.searchReffer(e);
1537          } catch (CDLExceptRemote ex) {
1538            parser.report_fatal_error(ex.getMessage(),null);
1539          } catch (CDLExceptLock ex) {
1540            parser.report_fatal_error(ex.getMessage(),null);
1541          }
1542          if (ref == null)
1543            parser.report_fatal_error(newRep.searchError+": "+parser.getLine(eleft), null);
1544          else {
1545            if (ref.what != ObjectsKind.o_Exception) {
1546              parser.report_fatal_error(e.toString()+" isn't exception: "+parser.getLine(eleft), null);
1547            }
1548          }
1549          List l = new List();
1550          l.add(ref);
1551          RESULT = l;
1552       
1553              CUP$parser$result = new java_cup.runtime.Symbol(34/*raises_list*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1554            }
1555          return CUP$parser$result;
1556
1557          /*. . . . . . . . . . . . . . . . . . . .*/
1558          case 290: // raises_exp ::= RAISES LPAREN raises_list RPAREN
1559
{
1560              List RESULT = null;
1561        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
1562        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
1563        List e = (List)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
1564         RESULT = e;
1565              CUP$parser$result = new java_cup.runtime.Symbol(33/*raises_exp*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1566            }
1567          return CUP$parser$result;
1568
1569          /*. . . . . . . . . . . . . . . . . . . .*/
1570          case 289: // param_attribute ::= INOUT
1571
{
1572              Integer JavaDoc RESULT = null;
1573         RESULT = new Integer JavaDoc(CompParam.p_inout);
1574              CUP$parser$result = new java_cup.runtime.Symbol(45/*param_attribute*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1575            }
1576          return CUP$parser$result;
1577
1578          /*. . . . . . . . . . . . . . . . . . . .*/
1579          case 288: // param_attribute ::= OUT
1580
{
1581              Integer JavaDoc RESULT = null;
1582         RESULT = new Integer JavaDoc(CompParam.p_out);
1583              CUP$parser$result = new java_cup.runtime.Symbol(45/*param_attribute*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1584            }
1585          return CUP$parser$result;
1586
1587          /*. . . . . . . . . . . . . . . . . . . .*/
1588          case 287: // param_attribute ::= IN
1589
{
1590              Integer JavaDoc RESULT = null;
1591         RESULT = new Integer JavaDoc(CompParam.p_in);
1592              CUP$parser$result = new java_cup.runtime.Symbol(45/*param_attribute*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1593            }
1594          return CUP$parser$result;
1595
1596          /*. . . . . . . . . . . . . . . . . . . .*/
1597          case 286: // param_dcl ::= param_attribute param_type_spec simple_declarator
1598
{
1599              CompParam RESULT = null;
1600        int modeleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
1601        int moderight = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
1602        Integer JavaDoc mode = (Integer JavaDoc)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
1603        int tleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
1604        int tright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
1605        CompType t = (CompType)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
1606        int dleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
1607        int dright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
1608        SimpleDcl d = (SimpleDcl)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
1609        
1610       RESULT = new CompParam(d.name, t, mode.intValue());
1611    
1612              CUP$parser$result = new java_cup.runtime.Symbol(46/*param_dcl*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1613            }
1614          return CUP$parser$result;
1615
1616          /*. . . . . . . . . . . . . . . . . . . .*/
1617          case 285: // params ::= params COMMA param_dcl
1618
{
1619              List RESULT = null;
1620        int lleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
1621        int lright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
1622        List l = (List)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
1623        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
1624        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
1625        CompParam e = (CompParam)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
1626        
1627          l.toFirst();
1628          for (int i=0;i<l.size();i++) {
1629            if (((CompParam)l.aktual()).name.compareTo(e.name)==0)
1630              parser.report_fatal_error("Parameter with name "+e.name+" allready exists: "+parser.getLine(eleft),null);
1631            l.toNext();
1632          }
1633          l.add(e);
1634          RESULT = l;
1635       
1636              CUP$parser$result = new java_cup.runtime.Symbol(49/*params*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1637            }
1638          return CUP$parser$result;
1639
1640          /*. . . . . . . . . . . . . . . . . . . .*/
1641          case 284: // params ::= param_dcl
1642
{
1643              List RESULT = null;
1644        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
1645        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
1646        CompParam e = (CompParam)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
1647         List l = new List(); l.add(e); RESULT = l;
1648              CUP$parser$result = new java_cup.runtime.Symbol(49/*params*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1649            }
1650          return CUP$parser$result;
1651
1652          /*. . . . . . . . . . . . . . . . . . . .*/
1653          case 283: // params ::=
1654
{
1655              List RESULT = null;
1656         List l = new List(); RESULT = l;
1657              CUP$parser$result = new java_cup.runtime.Symbol(49/*params*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1658            }
1659          return CUP$parser$result;
1660
1661          /*. . . . . . . . . . . . . . . . . . . .*/
1662          case 282: // parameter_dcls ::= LPAREN params RPAREN
1663
{
1664              List RESULT = null;
1665        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
1666        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
1667        List e = (List)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
1668         RESULT = e;
1669              CUP$parser$result = new java_cup.runtime.Symbol(111/*parameter_dcls*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1670            }
1671          return CUP$parser$result;
1672
1673          /*. . . . . . . . . . . . . . . . . . . .*/
1674          case 281: // op_type_spec ::= VOID
1675
{
1676              CompType RESULT = null;
1677         RESULT = new CompPrimitive(CompPrimKind.p_void);
1678              CUP$parser$result = new java_cup.runtime.Symbol(50/*op_type_spec*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1679            }
1680          return CUP$parser$result;
1681
1682          /*. . . . . . . . . . . . . . . . . . . .*/
1683          case 280: // op_type_spec ::= param_type_spec
1684
{
1685              CompType RESULT = null;
1686        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
1687        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
1688        CompType e = (CompType)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
1689         RESULT = e;
1690              CUP$parser$result = new java_cup.runtime.Symbol(50/*op_type_spec*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1691            }
1692          return CUP$parser$result;
1693
1694          /*. . . . . . . . . . . . . . . . . . . .*/
1695          case 279: // op_attributes ::=
1696
{
1697              Object JavaDoc RESULT = null;
1698
1699              CUP$parser$result = new java_cup.runtime.Symbol(54/*op_attributes*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1700            }
1701          return CUP$parser$result;
1702
1703          /*. . . . . . . . . . . . . . . . . . . .*/
1704          case 278: // op_body ::= op_type_spec IDENTIFIER parameter_dcls
1705
{
1706              CompOperation RESULT = null;
1707        int tleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
1708        int tright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
1709        CompType t = (CompType)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
1710        int idleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
1711        int idright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
1712        String JavaDoc id = (String JavaDoc)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
1713        int paramleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
1714        int paramright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
1715        List param = (List)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
1716        
1717          ID idl = new ID(id,"");
1718          idl.what = ObjectsKind.o_Operation;
1719          ID newid = null;
1720          try {
1721            newid = newRep.searchForNewInner(idl, (CompContained) aktual);
1722          } catch (CDLExceptRemote e) {
1723            parser.report_fatal_error(e.getMessage(),null);
1724          } catch (CDLExceptLock e) {
1725            parser.report_fatal_error(e.getMessage(),null);
1726          }
1727          if (newid==null) {
1728            parser.report_fatal_error(newRep.searchError+": "+ parser.getLine(idleft), null);
1729          } else {
1730             RESULT = new CompOperation(newid, (CompContainer) aktual, newRep, t, param, null);
1731          }
1732    
1733              CUP$parser$result = new java_cup.runtime.Symbol(51/*op_body*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1734            }
1735          return CUP$parser$result;
1736
1737          /*. . . . . . . . . . . . . . . . . . . .*/
1738          case 277: // operation ::= op_body raises_exp
1739
{
1740              Object JavaDoc RESULT = null;
1741        int bleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
1742        int bright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
1743        CompOperation b = (CompOperation)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
1744        int rleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
1745        int rright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
1746        List r = (List)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
1747         
1748         b.raises = r;
1749         if (!((CompInterface) aktual).addObject(b))
1750           parser.report_fatal_error("Name conflict: "+parser.getLine(bleft),null);
1751      
1752              CUP$parser$result = new java_cup.runtime.Symbol(52/*operation*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1753            }
1754          return CUP$parser$result;
1755
1756          /*. . . . . . . . . . . . . . . . . . . .*/
1757          case 276: // operation ::= op_body
1758
{
1759              Object JavaDoc RESULT = null;
1760        int bleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
1761        int bright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
1762        CompOperation b = (CompOperation)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
1763         
1764         b.raises = new List();
1765         if (!((CompInterface) aktual).addObject(b))
1766           parser.report_fatal_error("Name conflict: "+parser.getLine(bleft),null);
1767      
1768              CUP$parser$result = new java_cup.runtime.Symbol(52/*operation*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1769            }
1770          return CUP$parser$result;
1771
1772          /*. . . . . . . . . . . . . . . . . . . .*/
1773          case 275: // op_dcl ::= op_attributes operation
1774
{
1775              Object JavaDoc RESULT = null;
1776
1777              CUP$parser$result = new java_cup.runtime.Symbol(53/*op_dcl*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1778            }
1779          return CUP$parser$result;
1780
1781          /*. . . . . . . . . . . . . . . . . . . .*/
1782          case 274: // members ::= members member
1783
{
1784              Object JavaDoc RESULT = null;
1785        int lleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
1786        int lright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
1787        Object JavaDoc l = (Object JavaDoc)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
1788        int mleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
1789        int mright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
1790        Object JavaDoc m = (Object JavaDoc)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
1791
1792              CUP$parser$result = new java_cup.runtime.Symbol(92/*members*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1793            }
1794          return CUP$parser$result;
1795
1796          /*. . . . . . . . . . . . . . . . . . . .*/
1797          case 273: // members ::=
1798
{
1799              Object JavaDoc RESULT = null;
1800
1801              CUP$parser$result = new java_cup.runtime.Symbol(92/*members*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1802            }
1803          return CUP$parser$result;
1804
1805          /*. . . . . . . . . . . . . . . . . . . .*/
1806          case 272: // except_dcl ::= EXCEPTION identifier_with_version NT$6 LBRACE members RBRACE
1807
{
1808              CompException RESULT = null;
1809              // propagate RESULT from NT$6
1810
if ( ((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-3)).value != null )
1811                RESULT = (CompException) ((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-3)).value;
1812        int idleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-4)).left;
1813        int idright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-4)).right;
1814        ID id = (ID)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-4)).value;
1815        int lleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
1816        int lright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
1817        Object JavaDoc l = (Object JavaDoc)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
1818        
1819     /* CompException struct = (CompException) aktual;
1820      l.toFirst();
1821      for (int i=0;i<l.size();i++) {
1822        CompStructMember aktmember = (CompStructMember)l.aktual();
1823        CompType type = aktmember.tp;
1824        if (CompStruct.canBeDefIn(type)) {
1825          // type was added (in mid-rule action)
1826          // struct.addObject(type);
1827          ID typeid = ((CompContained) type).getIdent();
1828          // create new refference
1829          CompReffer ret = new CompReffer();
1830          ret.what = type.objectKind();
1831          ret.ref = new FullID(true);
1832          ret.ref.name = new String(typeid.name);
1833          ret.ref.version = new String(typeid.version);
1834          ret.ref.isin = IDKind.version;
1835          FullID strid = struct.fullName();
1836          strid.sn.names.toFirst();
1837          for(int j=0;j<strid.sn.names.size();j++) {
1838            ret.ref.sn.addScope(new String((String)strid.sn.names.aktual()));
1839            strid.sn.names.toNext();
1840          }
1841          ret.ref.sn.addScope(new String((String)strid.name));
1842          ret.isNew = true;
1843          // change type to reffernce
1844          aktmember.tp = ret;
1845        }
1846        if (!struct.addObject(aktmember)) parser.report_fatal_error("Bad contained object: "+parser.getLine(lleft),null);
1847        l.toNext();
1848      }
1849      */

1850      aktScope.removeScope();
1851      oldAktual.toLast();
1852      CompObject ret = (CompObject) aktual;
1853      aktual = (CompObject) oldAktual.removeAkt();
1854      unsetInner();
1855      RESULT = (CompException) ret;
1856   
1857              CUP$parser$result = new java_cup.runtime.Symbol(6/*except_dcl*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-5)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1858            }
1859          return CUP$parser$result;
1860
1861          /*. . . . . . . . . . . . . . . . . . . .*/
1862          case 271: // NT$6 ::=
1863
{
1864              Object JavaDoc RESULT = null;
1865        int idleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
1866        int idright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
1867        ID id = (ID)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
1868
1869     ID newid = null;
1870     id.what = ObjectsKind.o_Exception;
1871     try {
1872       if (isInner())
1873         newid = newRep.searchForNewInner(id, (CompContained) aktual);
1874       else
1875         newid = newRep.searchForNewName(id);
1876     } catch (CDLExceptRemote e) {
1877       parser.report_fatal_error(e.getMessage(),null);
1878     } catch (CDLExceptLock e) {
1879       parser.report_fatal_error(e.getMessage(),null);
1880     }
1881     if (newid == null) {
1882       parser.report_fatal_error(newRep.searchError+": "+parser.getLine(idleft), null);
1883     } else {
1884       Object JavaDoc old = aktual;
1885       oldAktual.add(aktual);
1886       aktScope.addScope(new String JavaDoc(id.name));
1887       aktual = new CompException(newid, (CompContainer) aktual, newRep);
1888       if (!((CompContainer) old).addObject((CompContained) aktual))
1889         parser.report_fatal_error("Name conflict: "+parser.getLine(idleft),null);
1890       setInner();
1891     }
1892   
1893              CUP$parser$result = new java_cup.runtime.Symbol(147/*NT$6*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1894            }
1895          return CUP$parser$result;
1896
1897          /*. . . . . . . . . . . . . . . . . . . .*/
1898          case 270: // attr_declarator ::= attr_declarator COMMA simple_declarator
1899
{
1900              List RESULT = null;
1901        int lleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
1902        int lright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
1903        List l = (List)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
1904        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
1905        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
1906        SimpleDcl e = (SimpleDcl)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
1907         l.add(e); RESULT = l;
1908              CUP$parser$result = new java_cup.runtime.Symbol(55/*attr_declarator*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1909            }
1910          return CUP$parser$result;
1911
1912          /*. . . . . . . . . . . . . . . . . . . .*/
1913          case 269: // attr_declarator ::= simple_declarator
1914
{
1915              List RESULT = null;
1916        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
1917        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
1918        SimpleDcl e = (SimpleDcl)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
1919         List l = new List(); l.add(e); RESULT = l;
1920              CUP$parser$result = new java_cup.runtime.Symbol(55/*attr_declarator*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1921            }
1922          return CUP$parser$result;
1923
1924          /*. . . . . . . . . . . . . . . . . . . .*/
1925          case 268: // attribute ::= ATTRIBUTE param_type_spec attr_declarator
1926
{
1927              List RESULT = null;
1928        int tleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
1929        int tright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
1930        CompType t = (CompType)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
1931        int dclsleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
1932        int dclsright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
1933        List dcls = (List)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
1934         
1935      List ret = new List();
1936      dcls.toFirst();
1937      for (int i= 0; i<dcls.size(); i++) {
1938        CompAttribute retattr = null;
1939        SimpleDcl sd = (SimpleDcl) dcls.aktual();
1940        ID id = new ID(sd.name,"");
1941        id.what = ObjectsKind.o_Attribute;
1942        ID newid = null;
1943        try {
1944          newid = newRep.searchForNewInner(id, (CompContained) aktual);
1945        } catch (CDLExceptRemote e) {
1946          parser.report_fatal_error(e.getMessage(),null);
1947        } catch (CDLExceptLock e) {
1948          parser.report_fatal_error(e.getMessage(),null);
1949        }
1950        if (newid==null) {
1951          parser.report_fatal_error(newRep.searchError+": "+ parser.getLine(tleft), null);
1952        } else {
1953           retattr = new CompAttribute(newid, (CompContainer) aktual, newRep, t, 0);
1954        }
1955        ret.add(retattr);
1956        if (!((CompInterface) aktual).addObject(retattr))
1957          parser.report_fatal_error("Name conflict: "+parser.getLine(dclsleft),null);
1958        dcls.toNext();
1959      }
1960      RESULT = ret;
1961   
1962              CUP$parser$result = new java_cup.runtime.Symbol(56/*attribute*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1963            }
1964          return CUP$parser$result;
1965
1966          /*. . . . . . . . . . . . . . . . . . . .*/
1967          case 267: // attr_dcl ::= attribute
1968
{
1969              List RESULT = null;
1970        int lleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
1971        int lright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
1972        List l = (List)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
1973         
1974       l.toFirst();
1975       for (int i=0;i<l.size();i++) {
1976         ((CompAttribute) l.aktual()).mode = CompAttribute.a_normal;
1977         l.toNext();
1978       }
1979       RESULT = l; // !!! asi zrusit
1980

1981              CUP$parser$result = new java_cup.runtime.Symbol(57/*attr_dcl*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1982            }
1983          return CUP$parser$result;
1984
1985          /*. . . . . . . . . . . . . . . . . . . .*/
1986          case 266: // attr_dcl ::= READONLY attribute
1987
{
1988              List RESULT = null;
1989        int lleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
1990        int lright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
1991        List l = (List)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
1992         
1993       l.toFirst();
1994       for (int i=0;i<l.size();i++) {
1995         ((CompAttribute) l.aktual()).mode = CompAttribute.a_readonly;
1996         l.toNext();
1997       }
1998       RESULT = l; // !!! asi zrusit
1999

2000              CUP$parser$result = new java_cup.runtime.Symbol(57/*attr_dcl*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
2001            }
2002          return CUP$parser$result;
2003
2004          /*. . . . . . . . . . . . . . . . . . . .*/
2005          case 265: // fixed_array_size ::= LBRACKET positive_int_const RBRACKET
2006
{
2007              CompExprOper RESULT = null;
2008        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
2009        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
2010        CompExprOper e = (CompExprOper)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
2011         RESULT = e;
2012              CUP$parser$result = new java_cup.runtime.Symbol(60/*fixed_array_size*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
2013            }
2014          return CUP$parser$result;
2015
2016          /*. . . . . . . . . . . . . . . . . . . .*/
2017          case 264: // array_size ::= array_size fixed_array_size
2018
{
2019              List RESULT = null;
2020        int lleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
2021        int lright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
2022        List l = (List)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
2023        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
2024        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
2025        CompExprOper e = (CompExprOper)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
2026         l.add(e); RESULT = l;
2027              CUP$parser$result = new java_cup.runtime.Symbol(59/*array_size*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
2028            }
2029          return CUP$parser$result;
2030
2031          /*. . . . . . . . . . . . . . . . . . . .*/
2032          case 263: // array_size ::= fixed_array_size
2033
{
2034              List RESULT = null;
2035        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
2036        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
2037        CompExprOper e = (CompExprOper)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
2038         List l = new List(); l.add(e); RESULT = l;
2039              CUP$parser$result = new java_cup.runtime.Symbol(59/*array_size*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
2040            }
2041          return CUP$parser$result;
2042
2043          /*. . . . . . . . . . . . . . . . . . . .*/
2044          case 262: // array_declarator ::= IDENTIFIER array_size
2045
{
2046              ArrayDcl RESULT = null;
2047        int idleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
2048        int idright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
2049        String JavaDoc id = (String JavaDoc)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
2050        int lleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
2051        int lright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
2052        List l = (List)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
2053         RESULT = new ArrayDcl(id, l);
2054              CUP$parser$result = new java_cup.runtime.Symbol(58/*array_declarator*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
2055            }
2056          return CUP$parser$result;
2057
2058          /*. . . . . . . . . . . . . . . . . . . .*/
2059          case 261: // wide_string_type ::= WSTRING
2060
{
2061              CompType RESULT = null;
2062         RESULT = new CompPrimitive(CompPrimKind.p_wstring);
2063              CUP$parser$result = new java_cup.runtime.Symbol(44/*wide_string_type*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
2064            }
2065          return CUP$parser$result;
2066
2067          /*. . . . . . . . . . . . . . . . . . . .*/
2068          case 260: // wide_string_type ::= WSTRING LESSTHAN positive_int_const GREATERTHAN
2069
{
2070              CompType RESULT = null;
2071        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
2072        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
2073        CompExprOper e = (CompExprOper)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
2074         RESULT = new CompWstring(e);
2075              CUP$parser$result = new java_cup.runtime.Symbol(44/*wide_string_type*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
2076            }
2077          return CUP$parser$result;
2078
2079          /*. . . . . . . . . . . . . . . . . . . .*/
2080          case 259: // string_type ::= STRING
2081
{
2082              CompType RESULT = null;
2083         RESULT = new CompPrimitive(CompPrimKind.p_string);
2084              CUP$parser$result = new java_cup.runtime.Symbol(43/*string_type*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
2085            }
2086          return CUP$parser$result;
2087
2088          /*. . . . . . . . . . . . . . . . . . . .*/
2089          case 258: // string_type ::= STRING LESSTHAN positive_int_const GREATERTHAN
2090
{
2091              CompType RESULT = null;
2092        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
2093        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
2094        CompExprOper e = (CompExprOper)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
2095         RESULT = new CompString(e);
2096              CUP$parser$result = new java_cup.runtime.Symbol(43/*string_type*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
2097            }
2098          return CUP$parser$result;
2099
2100          /*. . . . . . . . . . . . . . . . . . . .*/
2101          case 257: // sequence_type ::= SEQUENCE LESSTHAN simple_type_spec GREATERTHAN
2102
{
2103              CompType RESULT = null;
2104        int tleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
2105        int tright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
2106        CompType t = (CompType)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
2107         RESULT = new CompSequence(t);
2108              CUP$parser$result = new java_cup.runtime.Symbol(38/*sequence_type*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
2109            }
2110          return CUP$parser$result;
2111
2112          /*. . . . . . . . . . . . . . . . . . . .*/
2113          case 256: // sequence_type ::= SEQUENCE LESSTHAN simple_type_spec COMMA positive_int_const GREATERTHAN
2114
{
2115              CompType RESULT = null;
2116        int tleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).left;
2117        int tright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).right;
2118        CompType t = (CompType)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-3)).value;
2119        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
2120        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
2121        CompExprOper e = (CompExprOper)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
2122         RESULT = new CompSequence(t,e);
2123              CUP$parser$result = new java_cup.runtime.Symbol(38/*sequence_type*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-5)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
2124            }
2125          return CUP$parser$result;
2126
2127          /*. . . . . . . . . . . . . . . . . . . .*/
2128          case 255: // enumerators ::= enumerators COMMA IDENTIFIER
2129
{
2130              EnumList RESULT = null;
2131        int lleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
2132        int lright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
2133        EnumList l = (EnumList)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
2134        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
2135        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
2136        String JavaDoc e = (String JavaDoc)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
2137         
2138          if (!newRep.searchForEnumMember(e, (CompContainer) aktual))
2139            parser.report_fatal_error("Name conflict in enum: "+parser.getLine(eleft),null);
2140          if (!l.addName(e))
2141            parser.report_fatal_error("this item already exists: "+parser.getLine(eleft),null);
2142          RESULT = l;
2143       
2144              CUP$parser$result = new java_cup.runtime.Symbol(96/*enumerators*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
2145            }
2146          return CUP$parser$result;
2147
2148          /*. . . . . . . . . . . . . . . . . . . .*/
2149          case 254: // enumerators ::= IDENTIFIER
2150
{
2151              EnumList RESULT = null;
2152        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
2153        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
2154        String JavaDoc e = (String JavaDoc)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
2155         EnumList l = new EnumList(); l.addName(e); RESULT = l;
2156              CUP$parser$result = new java_cup.runtime.Symbol(96/*enumerators*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
2157            }
2158          return CUP$parser$result;
2159
2160          /*. . . . . . . . . . . . . . . . . . . .*/
2161          case 253: // enum_type ::= ENUM identifier_with_version LBRACE enumerators RBRACE
2162
{
2163              CompEnum RESULT = null;
2164        int idleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).left;
2165        int idright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).right;
2166        ID id = (ID)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-3)).value;
2167        int lleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
2168        int lright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
2169        EnumList l = (EnumList)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
2170         id.what = ObjectsKind.o_Enum;
2171     ID newid = null;
2172     try {
2173       if (isInner())
2174         newid = newRep.searchForNewInner(id, (CompContained) aktual);
2175       else
2176         newid = newRep.searchForNewName(id);
2177     } catch (CDLExceptRemote e) {
2178       parser.report_fatal_error(e.getMessage(),null);
2179     } catch (CDLExceptLock e) {
2180       parser.report_fatal_error(e.getMessage(),null);
2181     }
2182     if (newid == null) { // some error in search
2183
parser.report_fatal_error(newRep.searchError+": "+ parser.getLine(idleft), null);
2184     } else {
2185       RESULT = new CompEnum(newid, (CompContainer) aktual, newRep, l);
2186     }
2187  
2188              CUP$parser$result = new java_cup.runtime.Symbol(95/*enum_type*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-4)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
2189            }
2190          return CUP$parser$result;
2191
2192          /*. . . . . . . . . . . . . . . . . . . .*/
2193          case 252: // element_spec ::= type_spec declarator
2194
{
2195              CompUnionMember RESULT = null;
2196        int tleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
2197        int tright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
2198        CompType t = (CompType)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
2199        int dleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
2200        int dright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
2201        Declarator d = (Declarator)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
2202         
2203      CompUnionMember retmem = null;
2204      if (d instanceof SimpleDcl) {
2205        SimpleDcl sd = (SimpleDcl) d;
2206        ID id = new ID(sd.name,"");
2207        id.what = ObjectsKind.o_UnionMember;
2208        ID newid = null;
2209        try {
2210          newid = newRep.searchForNewInner(id, (CompContained) aktual);
2211        } catch (CDLExceptRemote e) {
2212          parser.report_fatal_error(e.getMessage(),null);
2213        } catch (CDLExceptLock e) {
2214          parser.report_fatal_error(e.getMessage(),null);
2215        }
2216        if (newid==null) {
2217          parser.report_fatal_error(newRep.searchError+": "+ parser.getLine(tleft), null);
2218        } else {
2219           retmem = new CompUnionMember(newid, (CompContainer) aktual, newRep, t, null);
2220        }
2221      } else { // instanceof ArrayDcl
2222
ArrayDcl arrd = (ArrayDcl) d;
2223        ID id = new ID(arrd.name,"");
2224        id.what = ObjectsKind.o_UnionMember;
2225        ID newid = null;
2226        try {
2227          newid = newRep.searchForNewInner(id, (CompContained) aktual);
2228        } catch (CDLExceptRemote e) {
2229          parser.report_fatal_error(e.getMessage(),null);
2230        } catch (CDLExceptLock e) {
2231          parser.report_fatal_error(e.getMessage(),null);
2232        }
2233        if (newid==null) {
2234          parser.report_fatal_error(newRep.searchError+": "+ parser.getLine(tleft), null);
2235        } else {
2236          arrd.size.toLast();
2237          CompType vysl = t;
2238          for(int k=0; k<arrd.size.size(); k++) {
2239            vysl = new CompArray(vysl, ((CompExprOper) arrd.size.aktual()));
2240            arrd.size.toPrev();
2241          }
2242          retmem = new CompUnionMember(newid, (CompContainer) aktual, newRep, vysl, null);
2243        }
2244      }
2245      if (CompStruct.canBeDefIn(t)) {
2246        ID typeid = ((CompContained) t).getIdent();
2247        CompReffer ret = new CompReffer();
2248        ret.what = t.objectKind();
2249        ret.ref = new FullID(true);
2250        ret.ref.name = new String JavaDoc(typeid.name);
2251        ret.ref.version = new String JavaDoc(typeid.version);
2252        ret.ref.isin = IDKind.version;
2253        FullID strid = ((CompUnion)aktual).fullName();
2254        strid.sn.names.toFirst();
2255        for(int j=0;j<strid.sn.names.size();j++) {
2256          ret.ref.sn.addScope(new String JavaDoc((String JavaDoc)strid.sn.names.aktual()));
2257          strid.sn.names.toNext();
2258        }
2259        ret.ref.sn.addScope(new String JavaDoc((String JavaDoc)strid.name));
2260        ret.isNew = true;
2261        retmem.tp = ret;
2262      }
2263      if (!((CompUnion)aktual).addObject(retmem)) parser.report_fatal_error("Name conflict: "+parser.getLine(dleft),null);
2264      RESULT = retmem;
2265   
2266              CUP$parser$result = new java_cup.runtime.Symbol(101/*element_spec*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
2267            }
2268          return CUP$parser$result;
2269
2270          /*. . . . . . . . . . . . . . . . . . . .*/
2271          case 251: // case_label ::= DEFAULT COLON
2272
{
2273              CompExprOper RESULT = null;
2274         RESULT = new CompExprDefault();
2275              CUP$parser$result = new java_cup.runtime.Symbol(97/*case_label*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
2276            }
2277          return CUP$parser$result;
2278
2279          /*. . . . . . . . . . . . . . . . . . . .*/
2280          case 250: // case_label ::= CASE const_exp COLON
2281
{
2282              CompExprOper RESULT = null;
2283        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
2284        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
2285        CompExprOper e = (CompExprOper)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
2286        
2287         CompType tp = ((CompUnion) aktual).switch_type;
2288         switch (tp.objectKind()) {
2289           case ObjectsKind.o_Enum:
2290             if (e.type() != CompExprKind.e_enum)
2291               parser.report_fatal_error("Bad label in union: "+ parser.getLine(eleft), null);
2292             break;
2293           case ObjectsKind.o_Primitive:
2294             switch (((CompPrimitive) tp).kind) {
2295               case CompPrimKind.p_short:
2296               case CompPrimKind.p_long:
2297               case CompPrimKind.p_longlong:
2298               case CompPrimKind.p_ushort:
2299               case CompPrimKind.p_ulong:
2300               case CompPrimKind.p_ulonglong:
2301                 if (e.type() != CompExprKind.e_int)
2302                   parser.report_fatal_error("Bad label in union: "+ parser.getLine(eleft), null);
2303                 break;
2304               case CompPrimKind.p_char:
2305                 if (e.type() != CompExprKind.e_char)
2306                   parser.report_fatal_error("Bad label in union: "+ parser.getLine(eleft), null);
2307                 break;
2308               case CompPrimKind.p_boolean:
2309                 if (e.type() != CompExprKind.e_boolean)
2310                   parser.report_fatal_error("Bad label in union: "+ parser.getLine(eleft), null);
2311                 break;
2312               default:
2313                 parser.report_fatal_error("Bad label in union: "+ parser.getLine(eleft), null);
2314             }
2315             break;
2316           case ObjectsKind.o_none:
2317             CompReffer rf = (CompReffer) tp;
2318             switch (rf.basereffer) {
2319               case ObjectsKind.o_Enum:
2320                 if (e.type() != CompExprKind.e_enum)
2321                   parser.report_fatal_error("Bad label in union: "+ parser.getLine(eleft), null);
2322                 break;
2323               case ObjectsKind.o_Primitive:
2324                 switch (rf.baserefferprim) {
2325                   case CompPrimKind.p_short:
2326                   case CompPrimKind.p_long:
2327                   case CompPrimKind.p_longlong:
2328                   case CompPrimKind.p_ushort:
2329                   case CompPrimKind.p_ulong:
2330                   case CompPrimKind.p_ulonglong:
2331                     if (e.type() != CompExprKind.e_int)
2332                       parser.report_fatal_error("Bad label in union: "+ parser.getLine(eleft), null);
2333                     break;
2334                   case CompPrimKind.p_char:
2335                     if (e.type() != CompExprKind.e_char)
2336                       parser.report_fatal_error("Bad label in union: "+ parser.getLine(eleft), null);
2337                     break;
2338                   case CompPrimKind.p_boolean:
2339                     if (e.type() != CompExprKind.e_boolean)
2340                       parser.report_fatal_error("Bad label in union: "+ parser.getLine(eleft), null);
2341                     break;
2342                   default:
2343                     parser.report_fatal_error("Bad label in union: "+ parser.getLine(eleft), null);
2344                 }
2345                 break;
2346             }
2347         }
2348         RESULT = e;
2349     
2350              CUP$parser$result = new java_cup.runtime.Symbol(97/*case_label*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
2351            }
2352          return CUP$parser$result;
2353
2354          /*. . . . . . . . . . . . . . . . . . . .*/
2355          case 249: // case_label_part ::= case_label_part case_label
2356
{
2357              List RESULT = null;
2358        int lleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
2359        int lright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
2360        List l = (List)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
2361        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
2362        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
2363        CompExprOper e = (CompExprOper)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
2364         l.add(e); RESULT = l;
2365              CUP$parser$result = new java_cup.runtime.Symbol(98/*case_label_part*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
2366            }
2367          return CUP$parser$result;
2368
2369          /*. . . . . . . . . . . . . . . . . . . .*/
2370          case 248: // case_label_part ::= case_label
2371
{
2372              List RESULT = null;
2373        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
2374        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
2375        CompExprOper e = (CompExprOper)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
2376         List ret = new List(); ret.add(e); RESULT = ret;
2377              CUP$parser$result = new java_cup.runtime.Symbol(98/*case_label_part*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
2378            }
2379          return CUP$parser$result;
2380
2381          /*. . . . . . . . . . . . . . . . . . . .*/
2382          case 247: // case ::= case_label_part element_spec SEMICOLON
2383
{
2384              Object JavaDoc RESULT = null;
2385        int lleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
2386        int lright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
2387        List l = (List)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
2388        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
2389        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
2390        CompUnionMember e = (CompUnionMember)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
2391         
2392
2393       e.labels = l; /* RESULT = e; */
2394    
2395              CUP$parser$result = new java_cup.runtime.Symbol(99/*case*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
2396            }
2397          return CUP$parser$result;
2398
2399          /*. . . . . . . . . . . . . . . . . . . .*/
2400          case 246: // switch_body ::= switch_body case
2401
{
2402              Object JavaDoc RESULT = null;
2403        int lleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
2404        int lright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
2405        Object JavaDoc l = (Object JavaDoc)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
2406        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
2407        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
2408        Object JavaDoc e = (Object JavaDoc)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
2409
2410              CUP$parser$result = new java_cup.runtime.Symbol(100/*switch_body*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
2411            }
2412          return CUP$parser$result;
2413
2414          /*. . . . . . . . . . . . . . . . . . . .*/
2415          case 245: // switch_body ::= case
2416
{
2417              Object JavaDoc RESULT = null;
2418        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
2419        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
2420        Object JavaDoc e = (Object JavaDoc)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
2421
2422              CUP$parser$result = new java_cup.runtime.Symbol(100/*switch_body*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
2423            }
2424          return CUP$parser$result;
2425
2426          /*. . . . . . . . . . . . . . . . . . . .*/
2427          case 244: // switch_type_spec ::= scoped_name_with_version
2428
{
2429              CompType RESULT = null;
2430        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
2431        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
2432        FullID e = (FullID)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
2433        
2434          CompReffer ref = null;
2435          try {
2436            ref = newRep.searchReffer(e);
2437          } catch (CDLExceptRemote ex) {
2438            parser.report_fatal_error(ex.getMessage(),null);
2439          } catch (CDLExceptLock ex) {
2440            parser.report_fatal_error(ex.getMessage(),null);
2441          }
2442          if (ref == null)
2443            parser.report_fatal_error(newRep.searchError+": "+parser.getLine(eleft), null);
2444          else {
2445            if (!CompReffer.isType(ref.what))
2446              parser.report_fatal_error(e.toString()+" isn't type: "+parser.getLine(eleft), null);
2447            else {
2448              try {
2449                if (!CompReffer.isSwitchType(ref, newRep)) {
2450                  parser.report_fatal_error(e.toString()+" isn't switch type: "+parser.getLine(eleft), null);
2451                } else {
2452                  RESULT = ref;
2453                }
2454              } catch (CDLExceptRemote ex) {
2455                parser.report_fatal_error(ex.getMessage(),null);
2456              } catch (CDLExceptLock ex) {
2457                parser.report_fatal_error(ex.getMessage(),null);
2458              }
2459            }
2460          }
2461       
2462              CUP$parser$result = new java_cup.runtime.Symbol(103/*switch_type_spec*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
2463            }
2464          return CUP$parser$result;
2465
2466          /*. . . . . . . . . . . . . . . . . . . .*/
2467          case 243: // switch_type_spec ::= enum_type
2468
{
2469              CompType RESULT = null;
2470        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
2471        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
2472        CompEnum e = (CompEnum)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
2473         RESULT = e;
2474              CUP$parser$result = new java_cup.runtime.Symbol(103/*switch_type_spec*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
2475            }
2476          return CUP$parser$result;
2477
2478          /*. . . . . . . . . . . . . . . . . . . .*/
2479          case 242: // switch_type_spec ::= boolean_type
2480
{
2481              CompType RESULT = null;
2482        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
2483        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
2484        CompType e = (CompType)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
2485         RESULT = e;
2486              CUP$parser$result = new java_cup.runtime.Symbol(103/*switch_type_spec*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
2487            }
2488          return CUP$parser$result;
2489
2490          /*. . . . . . . . . . . . . . . . . . . .*/
2491          case 241: // switch_type_spec ::= char_type
2492
{
2493              CompType RESULT = null;
2494        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
2495        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
2496        CompType e = (CompType)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
2497         RESULT = e;
2498              CUP$parser$result = new java_cup.runtime.Symbol(103/*switch_type_spec*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
2499            }
2500          return CUP$parser$result;
2501
2502          /*. . . . . . . . . . . . . . . . . . . .*/
2503          case 240: // switch_type_spec ::= integer_type
2504
{
2505              CompType RESULT = null;
2506        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
2507        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
2508        CompType e = (CompType)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
2509         RESULT = e;
2510              CUP$parser$result = new java_cup.runtime.Symbol(103/*switch_type_spec*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
2511            }
2512          return CUP$parser$result;
2513
2514          /*. . . . . . . . . . . . . . . . . . . .*/
2515          case 239: // union_type ::= UNION identifier_with_version SWITCH LPAREN switch_type_spec RPAREN NT$5 LBRACE switch_body RBRACE
2516
{
2517              CompType RESULT = null;
2518              // propagate RESULT from NT$5
2519
if ( ((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-3)).value != null )
2520                RESULT = (CompType) ((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-3)).value;
2521        int idleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-8)).left;
2522        int idright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-8)).right;
2523        ID id = (ID)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-8)).value;
2524        int swleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-5)).left;
2525        int swright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-5)).right;
2526        CompType sw = (CompType)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-5)).value;
2527        int lleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
2528        int lright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
2529        Object JavaDoc l = (Object JavaDoc)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
2530        
2531     /* CompUnion union = (CompUnion) aktual;
2532      l.toFirst();
2533      for (int i=0;i<l.size();i++) {
2534        CompUnionMember aktmember = (CompUnionMember)l.aktual();
2535        CompType type = aktmember.tp;
2536        if (CompStruct.canBeDefIn(type)) {
2537          // type was added (in mid-rule action)
2538          ID typeid = ((CompContained) type).getIdent();
2539          // create new refference
2540          CompReffer ret = new CompReffer();
2541          ret.what = type.objectKind();
2542          ret.ref = new FullID(true);
2543          ret.ref.name = new String(typeid.name);
2544          ret.ref.version = new String(typeid.version);
2545          ret.ref.isin = IDKind.version;
2546          FullID strid = union.fullName();
2547          strid.sn.names.toFirst();
2548          for(int j=0;j<strid.sn.names.size();j++) {
2549            ret.ref.sn.addScope(new String((String)strid.sn.names.aktual()));
2550            strid.sn.names.toNext();
2551          }
2552          ret.ref.sn.addScope(new String((String)strid.name));
2553          ret.isNew = true;
2554          // change type to reffernce
2555          aktmember.tp = ret;
2556        }
2557        if (!union.addObject(aktmember)) parser.report_fatal_error("Bad contained object: "+parser.getLine(lleft),null);
2558        l.toNext();
2559      } */

2560      rmExprEnum(); rmConstType();
2561      aktScope.removeScope();
2562      oldAktual.toLast();
2563      CompObject ret = (CompObject) aktual;
2564      aktual = (CompObject) oldAktual.removeAkt();
2565      unsetInner();
2566      RESULT = (CompUnion) ret;
2567   
2568              CUP$parser$result = new java_cup.runtime.Symbol(102/*union_type*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-9)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
2569            }
2570          return CUP$parser$result;
2571
2572          /*. . . . . . . . . . . . . . . . . . . .*/
2573          case 238: // NT$5 ::=
2574
{
2575              Object JavaDoc RESULT = null;
2576        int idleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-4)).left;
2577        int idright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-4)).right;
2578        ID id = (ID)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-4)).value;
2579        int swleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
2580        int swright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
2581        CompType sw = (CompType)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
2582
2583     ID newid = null;
2584     id.what = ObjectsKind.o_Union;
2585     try {
2586       if (isInner())
2587         newid = newRep.searchForNewInner(id, (CompContained) aktual);
2588       else
2589         newid = newRep.searchForNewName(id);
2590     } catch (CDLExceptRemote e) {
2591       parser.report_fatal_error(e.getMessage(),null);
2592     } catch (CDLExceptLock e) {
2593       parser.report_fatal_error(e.getMessage(),null);
2594     }
2595     if (newid == null) {
2596       parser.report_fatal_error(newRep.searchError+": "+parser.getLine(idleft), null);
2597     } else {
2598       Object JavaDoc old = aktual;
2599       oldAktual.add(aktual);
2600       aktScope.addScope(new String JavaDoc(id.name));
2601       aktual = new CompUnion(newid, (CompContainer) aktual, newRep, sw);
2602       if (!((CompContainer) old).addObject((CompContained) aktual))
2603         parser.report_fatal_error("Name conflict: "+parser.getLine(idleft),null);
2604     }
2605     boolean setEx = false;
2606     if (sw.objectKind()==ObjectsKind.o_none) { // CompReffer
2607
if (((CompReffer) sw).basereffer == ObjectsKind.o_Enum) {
2608         setEx = true;
2609         setExprEnum(true);
2610       } else {
2611         setEx = true;
2612         setExprEnum(false);
2613       }
2614     }
2615     setInner();
2616     if (!setEx)
2617       setExprEnum(false);
2618     setConstType(sw);
2619   
2620              CUP$parser$result = new java_cup.runtime.Symbol(146/*NT$5*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
2621            }
2622          return CUP$parser$result;
2623
2624          /*. . . . . . . . . . . . . . . . . . . .*/
2625          case 237: // member ::= type_spec declarators SEMICOLON
2626
{
2627              Object JavaDoc RESULT = null;
2628        int tleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
2629        int tright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
2630        CompType t = (CompType)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
2631        int dclsleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
2632        int dclsright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
2633        List dcls = (List)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
2634         
2635      dcls.toFirst();
2636      for (int i= 0; i<dcls.size(); i++) {
2637        CompStructMember retmem = null;
2638        Declarator d = (Declarator) dcls.aktual();
2639        if (d instanceof SimpleDcl) {
2640          SimpleDcl sd = (SimpleDcl) d;
2641          ID id = new ID(sd.name,"");
2642          id.what = ObjectsKind.o_StructMember;
2643          ID newid = null;
2644          try {
2645            newid = newRep.searchForNewInner(id, (CompContained) aktual);
2646          } catch (CDLExceptRemote e) {
2647            parser.report_fatal_error(e.getMessage(),null);
2648          } catch (CDLExceptLock e) {
2649            parser.report_fatal_error(e.getMessage(),null);
2650          }
2651          if (newid==null) {
2652            parser.report_fatal_error(newRep.searchError+": "+ parser.getLine(tleft), null);
2653          } else {
2654             retmem = new CompStructMember(newid, (CompContainer) aktual, newRep, t);
2655          }
2656        } else { // instanceof ArrayDcl
2657
ArrayDcl arrd = (ArrayDcl) d;
2658          ID id = new ID(arrd.name,"");
2659          id.what = ObjectsKind.o_StructMember;
2660          ID newid = null;
2661          try {
2662            newid = newRep.searchForNewInner(id, (CompContained) aktual);
2663          } catch (CDLExceptRemote e) {
2664            parser.report_fatal_error(e.getMessage(),null);
2665          } catch (CDLExceptLock e) {
2666            parser.report_fatal_error(e.getMessage(),null);
2667          }
2668          if (newid==null) {
2669            parser.report_fatal_error(newRep.searchError+": "+ parser.getLine(tleft), null);
2670          } else {
2671            arrd.size.toLast();
2672            CompType vysl = t;
2673            for(int k=0; k<arrd.size.size(); k++) {
2674              vysl = new CompArray(vysl, ((CompExprOper) arrd.size.aktual()));
2675              arrd.size.toPrev();
2676            }
2677            retmem = new CompStructMember(newid, (CompContainer) aktual, newRep, vysl);
2678          }
2679        }
2680        if (CompStruct.canBeDefIn(t)) {
2681          ID typeid = ((CompContained) t).getIdent();
2682          CompReffer ret = new CompReffer();
2683          ret.what = t.objectKind();
2684          ret.ref = new FullID(true);
2685          ret.ref.name = new String JavaDoc(typeid.name);
2686          ret.ref.version = new String JavaDoc(typeid.version);
2687          ret.ref.isin = IDKind.version;
2688          FullID strid = ((CompContained) aktual).fullName();
2689          strid.sn.names.toFirst();
2690          for(int j=0;j<strid.sn.names.size();j++) {
2691            ret.ref.sn.addScope(new String JavaDoc((String JavaDoc)strid.sn.names.aktual()));
2692            strid.sn.names.toNext();
2693          }
2694          ret.ref.sn.addScope(new String JavaDoc((String JavaDoc)strid.name));
2695          ret.isNew = true;
2696          // change type to reffernce
2697
retmem.tp = ret;
2698        }
2699        if (!((CompContainer) aktual).addObject(retmem))
2700          parser.report_fatal_error("Name conflict: "+parser.getLine(dclsleft),null);
2701
2702        dcls.toNext();
2703      }
2704   
2705              CUP$parser$result = new java_cup.runtime.Symbol(91/*member*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
2706            }
2707          return CUP$parser$result;
2708
2709          /*. . . . . . . . . . . . . . . . . . . .*/
2710          case 236: // member_list ::= member_list member
2711
{
2712              Object JavaDoc RESULT = null;
2713        int lleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
2714        int lright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
2715        Object JavaDoc l = (Object JavaDoc)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
2716        int mleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
2717        int mright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
2718        Object JavaDoc m = (Object JavaDoc)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
2719
2720              CUP$parser$result = new java_cup.runtime.Symbol(94/*member_list*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
2721            }
2722          return CUP$parser$result;
2723
2724          /*. . . . . . . . . . . . . . . . . . . .*/
2725          case 235: // member_list ::= member
2726
{
2727              Object JavaDoc RESULT = null;
2728        int mleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
2729        int mright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
2730        Object JavaDoc m = (Object JavaDoc)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
2731
2732              CUP$parser$result = new java_cup.runtime.Symbol(94/*member_list*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
2733            }
2734          return CUP$parser$result;
2735
2736          /*. . . . . . . . . . . . . . . . . . . .*/
2737          case 234: // struct_type ::= STRUCT identifier_with_version NT$4 LBRACE member_list RBRACE
2738
{
2739              CompType RESULT = null;
2740              // propagate RESULT from NT$4
2741
if ( ((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-3)).value != null )
2742                RESULT = (CompType) ((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-3)).value;
2743        int idleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-4)).left;
2744        int idright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-4)).right;
2745        ID id = (ID)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-4)).value;
2746        int lleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
2747        int lright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
2748        Object JavaDoc l = (Object JavaDoc)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
2749        
2750     /* CompStruct struct = (CompStruct) aktual;
2751      l.toFirst();
2752      for (int i=0;i<l.size();i++) {
2753        CompStructMember aktmember = (CompStructMember)l.aktual();
2754        CompType type = aktmember.tp;
2755        if (CompStruct.canBeDefIn(type)) {
2756          ID typeid = ((CompContained) type).getIdent();
2757          CompReffer ret = new CompReffer();
2758          ret.what = type.objectKind();
2759          ret.ref = new FullID(true);
2760          ret.ref.name = new String(typeid.name);
2761          ret.ref.version = new String(typeid.version);
2762          ret.ref.isin = IDKind.version;
2763          FullID strid = struct.fullName();
2764          strid.sn.names.toFirst();
2765          for(int j=0;j<strid.sn.names.size();j++) {
2766            ret.ref.sn.addScope(new String((String)strid.sn.names.aktual()));
2767            strid.sn.names.toNext();
2768          }
2769          ret.ref.sn.addScope(new String((String)strid.name));
2770          ret.isNew = true;
2771          aktmember.tp = ret;
2772        }
2773        if (!struct.addObject(aktmember))
2774          parser.report_fatal_error("Bad contained object: "+parser.getLine(lleft),null);
2775        l.toNext();
2776      } */

2777      aktScope.removeScope();
2778      oldAktual.toLast();
2779      CompObject ret = (CompObject) aktual;
2780      aktual = (CompObject) oldAktual.removeAkt();
2781      unsetInner();
2782      RESULT = (CompStruct) ret;
2783   
2784              CUP$parser$result = new java_cup.runtime.Symbol(93/*struct_type*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-5)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
2785            }
2786          return CUP$parser$result;
2787
2788          /*. . . . . . . . . . . . . . . . . . . .*/
2789          case 233: // NT$4 ::=
2790
{
2791              Object JavaDoc RESULT = null;
2792        int idleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
2793        int idright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
2794        ID id = (ID)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
2795
2796     ID newid = null;
2797     id.what = ObjectsKind.o_Struct;
2798     try {
2799       if (isInner())
2800         newid = newRep.searchForNewInner(id, (CompContained) aktual);
2801       else
2802         newid = newRep.searchForNewName(id);
2803     } catch (CDLExceptRemote e) {
2804       parser.report_fatal_error(e.getMessage()+": "+ parser.getLine(idleft),null);
2805     } catch (CDLExceptLock e) {
2806       parser.report_fatal_error(e.getMessage()+": "+ parser.getLine(idleft),null);
2807     }
2808     if (newid == null) {
2809       parser.report_fatal_error(newRep.searchError+": "+parser.getLine(idleft), null);
2810     } else {
2811       Object JavaDoc old = aktual;
2812       oldAktual.add(aktual);
2813       aktScope.addScope(new String JavaDoc(id.name));
2814       aktual = new CompStruct(newid, (CompContainer) aktual, newRep);
2815       if (!((CompContainer) old).addObject((CompContained) aktual))
2816         parser.report_fatal_error("Name conflict: "+parser.getLine(idleft),null);
2817       setInner();
2818     }
2819   
2820              CUP$parser$result = new java_cup.runtime.Symbol(145/*NT$4*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
2821            }
2822          return CUP$parser$result;
2823
2824          /*. . . . . . . . . . . . . . . . . . . .*/
2825          case 232: // object_type ::= OBJECT
2826
{
2827              CompType RESULT = null;
2828         RESULT = new CompPrimitive(CompPrimKind.p_object);
2829              CUP$parser$result = new java_cup.runtime.Symbol(90/*object_type*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
2830            }
2831          return CUP$parser$result;
2832
2833          /*. . . . . . . . . . . . . . . . . . . .*/
2834          case 231: // fixed_pt_const_type ::= FIXED
2835
{
2836              CompType RESULT = null;
2837         RESULT = new CompFixed();
2838              CUP$parser$result = new java_cup.runtime.Symbol(81/*fixed_pt_const_type*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
2839            }
2840          return CUP$parser$result;
2841
2842          /*. . . . . . . . . . . . . . . . . . . .*/
2843          case 230: // fixed_pt_type ::= FIXED LESSTHAN const_exp COMMA const_exp GREATERTHAN
2844
{
2845              CompType RESULT = null;
2846        int digleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).left;
2847        int digright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).right;
2848        CompExprOper dig = (CompExprOper)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-3)).value;
2849        int scleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
2850        int scright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
2851        CompExprOper sc = (CompExprOper)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
2852         RESULT = new CompFixed(dig,sc);
2853              CUP$parser$result = new java_cup.runtime.Symbol(80/*fixed_pt_type*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-5)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
2854            }
2855          return CUP$parser$result;
2856
2857          /*. . . . . . . . . . . . . . . . . . . .*/
2858          case 229: // any_type ::= ANY
2859
{
2860              CompType RESULT = null;
2861         RESULT = new CompPrimitive(CompPrimKind.p_any);
2862              CUP$parser$result = new java_cup.runtime.Symbol(89/*any_type*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
2863            }
2864          return CUP$parser$result;
2865
2866          /*. . . . . . . . . . . . . . . . . . . .*/
2867          case 228: // octet_type ::= OCTET
2868
{
2869              CompType RESULT = null;
2870         RESULT = new CompPrimitive(CompPrimKind.p_octet);
2871              CUP$parser$result = new java_cup.runtime.Symbol(78/*octet_type*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
2872            }
2873          return CUP$parser$result;
2874
2875          /*. . . . . . . . . . . . . . . . . . . .*/
2876          case 227: // boolean_type ::= BOOLEAN
2877
{
2878              CompType RESULT = null;
2879         RESULT = new CompPrimitive(CompPrimKind.p_boolean);
2880              CUP$parser$result = new java_cup.runtime.Symbol(82/*boolean_type*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
2881            }
2882          return CUP$parser$result;
2883
2884          /*. . . . . . . . . . . . . . . . . . . .*/
2885          case 226: // wide_char_type ::= WCHAR
2886
{
2887              CompType RESULT = null;
2888         RESULT = new CompPrimitive(CompPrimKind.p_wchar);
2889              CUP$parser$result = new java_cup.runtime.Symbol(84/*wide_char_type*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
2890            }
2891          return CUP$parser$result;
2892
2893          /*. . . . . . . . . . . . . . . . . . . .*/
2894          case 225: // char_type ::= CHAR
2895
{
2896              CompType RESULT = null;
2897         RESULT = new CompPrimitive(CompPrimKind.p_char);
2898              CUP$parser$result = new java_cup.runtime.Symbol(83/*char_type*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
2899            }
2900          return CUP$parser$result;
2901
2902          /*. . . . . . . . . . . . . . . . . . . .*/
2903          case 224: // unsigned_short_int ::= UNSIGNED SHORT
2904
{
2905              CompType RESULT = null;
2906         RESULT = new CompPrimitive(CompPrimKind.p_ushort);
2907              CUP$parser$result = new java_cup.runtime.Symbol(104/*unsigned_short_int*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
2908            }
2909          return CUP$parser$result;
2910
2911          /*. . . . . . . . . . . . . . . . . . . .*/
2912          case 223: // unsigned_long_int ::= UNSIGNED LONG
2913
{
2914              CompType RESULT = null;
2915         RESULT = new CompPrimitive(CompPrimKind.p_ulong);
2916              CUP$parser$result = new java_cup.runtime.Symbol(105/*unsigned_long_int*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
2917            }
2918          return CUP$parser$result;
2919
2920          /*. . . . . . . . . . . . . . . . . . . .*/
2921          case 222: // unsigned_longlong_int ::= UNSIGNED LONG LONG
2922
{
2923              CompType RESULT = null;
2924         RESULT = new CompPrimitive(CompPrimKind.p_ulonglong);
2925              CUP$parser$result = new java_cup.runtime.Symbol(87/*unsigned_longlong_int*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
2926            }
2927          return CUP$parser$result;
2928
2929          /*. . . . . . . . . . . . . . . . . . . .*/
2930          case 221: // unsigned_int ::= unsigned_short_int
2931
{
2932              CompType RESULT = null;
2933        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
2934        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
2935        CompType e = (CompType)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
2936         RESULT = e;
2937              CUP$parser$result = new java_cup.runtime.Symbol(106/*unsigned_int*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
2938            }
2939          return CUP$parser$result;
2940
2941          /*. . . . . . . . . . . . . . . . . . . .*/
2942          case 220: // unsigned_int ::= unsigned_longlong_int
2943
{
2944              CompType RESULT = null;
2945        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
2946        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
2947        CompType e = (CompType)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
2948         RESULT = e;
2949              CUP$parser$result = new java_cup.runtime.Symbol(106/*unsigned_int*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
2950            }
2951          return CUP$parser$result;
2952
2953          /*. . . . . . . . . . . . . . . . . . . .*/
2954          case 219: // unsigned_int ::= unsigned_long_int
2955
{
2956              CompType RESULT = null;
2957        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
2958        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
2959        CompType e = (CompType)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
2960         RESULT = e;
2961              CUP$parser$result = new java_cup.runtime.Symbol(106/*unsigned_int*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
2962            }
2963          return CUP$parser$result;
2964
2965          /*. . . . . . . . . . . . . . . . . . . .*/
2966          case 218: // signed_short_int ::= SHORT
2967
{
2968              CompType RESULT = null;
2969         RESULT = new CompPrimitive(CompPrimKind.p_short);
2970              CUP$parser$result = new java_cup.runtime.Symbol(107/*signed_short_int*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
2971            }
2972          return CUP$parser$result;
2973
2974          /*. . . . . . . . . . . . . . . . . . . .*/
2975          case 217: // signed_longlong_int ::= LONG LONG
2976
{
2977              CompType RESULT = null;
2978         RESULT = new CompPrimitive(CompPrimKind.p_longlong);
2979              CUP$parser$result = new java_cup.runtime.Symbol(86/*signed_longlong_int*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
2980            }
2981          return CUP$parser$result;
2982
2983          /*. . . . . . . . . . . . . . . . . . . .*/
2984          case 216: // signed_long_int ::= LONG
2985
{
2986              CompType RESULT = null;
2987         RESULT = new CompPrimitive(CompPrimKind.p_long);
2988              CUP$parser$result = new java_cup.runtime.Symbol(108/*signed_long_int*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
2989            }
2990          return CUP$parser$result;
2991
2992          /*. . . . . . . . . . . . . . . . . . . .*/
2993          case 215: // signed_int ::= signed_longlong_int
2994
{
2995              CompType RESULT = null;
2996        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
2997        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
2998        CompType e = (CompType)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
2999         RESULT = e;
3000              CUP$parser$result = new java_cup.runtime.Symbol(109/*signed_int*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
3001            }
3002          return CUP$parser$result;
3003
3004          /*. . . . . . . . . . . . . . . . . . . .*/
3005          case 214: // signed_int ::= signed_long_int
3006
{
3007              CompType RESULT = null;
3008        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
3009        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
3010        CompType e = (CompType)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
3011         RESULT = e;
3012              CUP$parser$result = new java_cup.runtime.Symbol(109/*signed_int*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
3013            }
3014          return CUP$parser$result;
3015
3016          /*. . . . . . . . . . . . . . . . . . . .*/
3017          case 213: // signed_int ::= signed_short_int
3018
{
3019              CompType RESULT = null;
3020        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
3021        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
3022        CompType e = (CompType)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
3023         RESULT = e;
3024              CUP$parser$result = new java_cup.runtime.Symbol(109/*signed_int*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
3025            }
3026          return CUP$parser$result;
3027
3028          /*. . . . . . . . . . . . . . . . . . . .*/
3029          case 212: // integer_type ::= unsigned_int
3030
{
3031              CompType RESULT = null;
3032        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
3033        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
3034        CompType e = (CompType)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
3035         RESULT = e;
3036              CUP$parser$result = new java_cup.runtime.Symbol(85/*integer_type*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
3037            }
3038          return CUP$parser$result;
3039
3040          /*. . . . . . . . . . . . . . . . . . . .*/
3041          case 211: // integer_type ::= signed_int
3042
{
3043              CompType RESULT = null;
3044        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
3045        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
3046        CompType e = (CompType)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
3047         RESULT = e;
3048              CUP$parser$result = new java_cup.runtime.Symbol(85/*integer_type*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
3049            }
3050          return CUP$parser$result;
3051
3052          /*. . . . . . . . . . . . . . . . . . . .*/
3053          case 210: // floating_pt_type ::= LONG DOUBLE
3054
{
3055              CompType RESULT = null;
3056         RESULT = new CompPrimitive(CompPrimKind.p_longdouble);
3057              CUP$parser$result = new java_cup.runtime.Symbol(79/*floating_pt_type*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
3058            }
3059          return CUP$parser$result;
3060
3061          /*. . . . . . . . . . . . . . . . . . . .*/
3062          case 209: // floating_pt_type ::= DOUBLE
3063
{
3064              CompType RESULT = null;
3065         RESULT = new CompPrimitive(CompPrimKind.p_double);
3066              CUP$parser$result = new java_cup.runtime.Symbol(79/*floating_pt_type*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
3067            }
3068          return CUP$parser$result;
3069
3070          /*. . . . . . . . . . . . . . . . . . . .*/
3071          case 208: // floating_pt_type ::= FLOAT
3072
{
3073              CompType RESULT = null;
3074         RESULT = new CompPrimitive(CompPrimKind.p_float);
3075              CUP$parser$result = new java_cup.runtime.Symbol(79/*floating_pt_type*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
3076            }
3077          return CUP$parser$result;
3078
3079          /*. . . . . . . . . . . . . . . . . . . .*/
3080          case 207: // complex_declarator ::= array_declarator
3081
{
3082              ArrayDcl RESULT = null;
3083        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
3084        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
3085        ArrayDcl e = (ArrayDcl)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
3086         RESULT = e;
3087              CUP$parser$result = new java_cup.runtime.Symbol(77/*complex_declarator*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
3088            }
3089          return CUP$parser$result;
3090
3091          /*. . . . . . . . . . . . . . . . . . . .*/
3092          case 206: // simple_declarators ::= simple_declarators simple_declarator
3093
{
3094              List RESULT = null;
3095        int lleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
3096        int lright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
3097        List l = (List)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
3098        int sdleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
3099        int sdright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
3100        SimpleDcl sd = (SimpleDcl)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
3101         l.add(sd); RESULT = l;
3102              CUP$parser$result = new java_cup.runtime.Symbol(48/*simple_declarators*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
3103            }
3104          return CUP$parser$result;
3105
3106          /*. . . . . . . . . . . . . . . . . . . .*/
3107          case 205: // simple_declarators ::= simple_declarator
3108
{
3109              List RESULT = null;
3110        int sdleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
3111        int sdright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
3112        SimpleDcl sd = (SimpleDcl)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
3113         List l = new List(); l.add(sd); RESULT = l;
3114              CUP$parser$result = new java_cup.runtime.Symbol(48/*simple_declarators*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
3115            }
3116          return CUP$parser$result;
3117
3118          /*. . . . . . . . . . . . . . . . . . . .*/
3119          case 204: // simple_declarator ::= IDENTIFIER
3120
{
3121              SimpleDcl RESULT = null;
3122        int idleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
3123        int idright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
3124        String JavaDoc id = (String JavaDoc)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
3125         RESULT = new SimpleDcl(id);
3126              CUP$parser$result = new java_cup.runtime.Symbol(47/*simple_declarator*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
3127            }
3128          return CUP$parser$result;
3129
3130          /*. . . . . . . . . . . . . . . . . . . .*/
3131          case 203: // declarator ::= complex_declarator
3132
{
3133              Declarator RESULT = null;
3134        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
3135        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
3136        ArrayDcl e = (ArrayDcl)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
3137         RESULT = e;
3138              CUP$parser$result = new java_cup.runtime.Symbol(76/*declarator*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
3139            }
3140          return CUP$parser$result;
3141
3142          /*. . . . . . . . . . . . . . . . . . . .*/
3143          case 202: // declarator ::= simple_declarator
3144
{
3145              Declarator RESULT = null;
3146        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
3147        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
3148        SimpleDcl e = (SimpleDcl)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
3149         RESULT = e;
3150              CUP$parser$result = new java_cup.runtime.Symbol(76/*declarator*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
3151            }
3152          return CUP$parser$result;
3153
3154          /*. . . . . . . . . . . . . . . . . . . .*/
3155          case 201: // declarators ::= declarators COMMA declarator
3156
{
3157              List RESULT = null;
3158        int lleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
3159        int lright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
3160        List l = (List)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
3161        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
3162        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
3163        Declarator e = (Declarator)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
3164         l.add(e); RESULT = l;
3165              CUP$parser$result = new java_cup.runtime.Symbol(88/*declarators*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
3166            }
3167          return CUP$parser$result;
3168
3169          /*. . . . . . . . . . . . . . . . . . . .*/
3170          case 200: // declarators ::= declarator
3171
{
3172              List RESULT = null;
3173        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
3174        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
3175        Declarator e = (Declarator)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
3176         List l = new List(); l.add(e); RESULT = l;
3177              CUP$parser$result = new java_cup.runtime.Symbol(88/*declarators*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
3178            }
3179          return CUP$parser$result;
3180
3181          /*. . . . . . . . . . . . . . . . . . . .*/
3182          case 199: // constr_type_spec ::= enum_type
3183
{
3184              CompType RESULT = null;
3185        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
3186        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
3187        CompEnum e = (CompEnum)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
3188         RESULT = e;
3189              CUP$parser$result = new java_cup.runtime.Symbol(40/*constr_type_spec*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
3190            }
3191          return CUP$parser$result;
3192
3193          /*. . . . . . . . . . . . . . . . . . . .*/
3194          case 198: // constr_type_spec ::= union_type
3195
{
3196              CompType RESULT = null;
3197
3198              CUP$parser$result = new java_cup.runtime.Symbol(40/*constr_type_spec*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
3199            }
3200          return CUP$parser$result;
3201
3202          /*. . . . . . . . . . . . . . . . . . . .*/
3203          case 197: // constr_type_spec ::= struct_type
3204
{
3205              CompType RESULT = null;
3206        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
3207        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
3208        CompType e = (CompType)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
3209         RESULT = e;
3210              CUP$parser$result = new java_cup.runtime.Symbol(40/*constr_type_spec*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
3211            }
3212          return CUP$parser$result;
3213
3214          /*. . . . . . . . . . . . . . . . . . . .*/
3215          case 196: // template_type_spec ::= fixed_pt_type
3216
{
3217              CompType RESULT = null;
3218        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
3219        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
3220        CompType e = (CompType)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
3221         RESULT = e;
3222              CUP$parser$result = new java_cup.runtime.Symbol(41/*template_type_spec*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
3223            }
3224          return CUP$parser$result;
3225
3226          /*. . . . . . . . . . . . . . . . . . . .*/
3227          case 195: // template_type_spec ::= wide_string_type
3228
{
3229              CompType RESULT = null;
3230        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
3231        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
3232        CompType e = (CompType)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
3233         RESULT = e;
3234              CUP$parser$result = new java_cup.runtime.Symbol(41/*template_type_spec*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
3235            }
3236          return CUP$parser$result;
3237
3238          /*. . . . . . . . . . . . . . . . . . . .*/
3239          case 194: // template_type_spec ::= string_type
3240
{
3241              CompType RESULT = null;
3242        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
3243        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
3244        CompType e = (CompType)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
3245         RESULT = e;
3246              CUP$parser$result = new java_cup.runtime.Symbol(41/*template_type_spec*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
3247            }
3248          return CUP$parser$result;
3249
3250          /*. . . . . . . . . . . . . . . . . . . .*/
3251          case 193: // template_type_spec ::= sequence_type
3252
{
3253              CompType RESULT = null;
3254        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
3255        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
3256        CompType e = (CompType)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
3257         RESULT = e;
3258              CUP$parser$result = new java_cup.runtime.Symbol(41/*template_type_spec*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
3259            }
3260          return CUP$parser$result;
3261
3262          /*. . . . . . . . . . . . . . . . . . . .*/
3263          case 192: // base_type_spec ::= object_type
3264
{
3265              CompType RESULT = null;
3266        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
3267        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
3268        CompType e = (CompType)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
3269         RESULT = e;
3270              CUP$parser$result = new java_cup.runtime.Symbol(37/*base_type_spec*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
3271            }
3272          return CUP$parser$result;
3273
3274          /*. . . . . . . . . . . . . . . . . . . .*/
3275          case 191: // base_type_spec ::= any_type
3276
{
3277              CompType RESULT = null;
3278        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
3279        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
3280        CompType e = (CompType)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
3281         RESULT = e;
3282              CUP$parser$result = new java_cup.runtime.Symbol(37/*base_type_spec*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
3283            }
3284          return CUP$parser$result;
3285
3286          /*. . . . . . . . . . . . . . . . . . . .*/
3287          case 190: // base_type_spec ::= octet_type
3288
{
3289              CompType RESULT = null;
3290        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
3291        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
3292        CompType e = (CompType)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
3293         RESULT = e;
3294              CUP$parser$result = new java_cup.runtime.Symbol(37/*base_type_spec*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
3295            }
3296          return CUP$parser$result;
3297
3298          /*. . . . . . . . . . . . . . . . . . . .*/
3299          case 189: // base_type_spec ::= boolean_type
3300
{
3301              CompType RESULT = null;
3302        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
3303        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
3304        CompType e = (CompType)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
3305         RESULT = e;
3306              CUP$parser$result = new java_cup.runtime.Symbol(37/*base_type_spec*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
3307            }
3308          return CUP$parser$result;
3309
3310          /*. . . . . . . . . . . . . . . . . . . .*/
3311          case 188: // base_type_spec ::= wide_char_type
3312
{
3313              CompType RESULT = null;
3314        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
3315        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
3316        CompType e = (CompType)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
3317         RESULT = e;
3318              CUP$parser$result = new java_cup.runtime.Symbol(37/*base_type_spec*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
3319            }
3320          return CUP$parser$result;
3321
3322          /*. . . . . . . . . . . . . . . . . . . .*/
3323          case 187: // base_type_spec ::= char_type
3324
{
3325              CompType RESULT = null;
3326        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
3327        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
3328        CompType e = (CompType)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
3329         RESULT = e;
3330              CUP$parser$result = new java_cup.runtime.Symbol(37/*base_type_spec*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
3331            }
3332          return CUP$parser$result;
3333
3334          /*. . . . . . . . . . . . . . . . . . . .*/
3335          case 186: // base_type_spec ::= integer_type
3336
{
3337              CompType RESULT = null;
3338        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
3339        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
3340        CompType e = (CompType)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
3341         RESULT = e;
3342              CUP$parser$result = new java_cup.runtime.Symbol(37/*base_type_spec*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
3343            }
3344          return CUP$parser$result;
3345
3346          /*. . . . . . . . . . . . . . . . . . . .*/
3347          case 185: // base_type_spec ::= floating_pt_type
3348
{
3349              CompType RESULT = null;
3350        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
3351        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
3352        CompType e = (CompType)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
3353         RESULT = e;
3354              CUP$parser$result = new java_cup.runtime.Symbol(37/*base_type_spec*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
3355            }
3356          return CUP$parser$result;
3357
3358          /*. . . . . . . . . . . . . . . . . . . .*/
3359          case 184: // simple_type_spec ::= scoped_name_with_version
3360
{
3361              CompType RESULT = null;
3362        int idleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
3363        int idright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
3364        FullID id = (FullID)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
3365         CompReffer ref = null;
3366           try {
3367             ref = newRep.searchReffer(id);
3368           } catch (CDLExceptRemote e) {
3369             parser.report_fatal_error(e.getMessage(),null);
3370           } catch (CDLExceptLock e) {
3371             parser.report_fatal_error(e.getMessage(),null);
3372           }
3373           if (ref == null)
3374             parser.report_fatal_error(newRep.searchError+": "+ parser.getLine(idleft), null);
3375           else {
3376             if (!CompReffer.isType(ref.what))
3377               parser.report_fatal_error(id + "isn't type: "+ parser.getLine(idleft), null);
3378             else
3379               RESULT = ref;
3380           }
3381        
3382              CUP$parser$result = new java_cup.runtime.Symbol(39/*simple_type_spec*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
3383            }
3384          return CUP$parser$result;
3385
3386          /*. . . . . . . . . . . . . . . . . . . .*/
3387          case 183: // simple_type_spec ::= template_type_spec
3388
{
3389              CompType RESULT = null;
3390        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
3391        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
3392        CompType e = (CompType)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
3393         RESULT = e;
3394              CUP$parser$result = new java_cup.runtime.Symbol(39/*simple_type_spec*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
3395            }
3396          return CUP$parser$result;
3397
3398          /*. . . . . . . . . . . . . . . . . . . .*/
3399          case 182: // simple_type_spec ::= base_type_spec
3400
{
3401              CompType RESULT = null;
3402        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
3403        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
3404        CompType e = (CompType)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
3405         RESULT = e;
3406              CUP$parser$result = new java_cup.runtime.Symbol(39/*simple_type_spec*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
3407            }
3408          return CUP$parser$result;
3409
3410          /*. . . . . . . . . . . . . . . . . . . .*/
3411          case 181: // type_spec ::= constr_type_spec
3412
{
3413              CompType RESULT = null;
3414        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
3415        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
3416        CompType e = (CompType)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
3417         RESULT = e;
3418              CUP$parser$result = new java_cup.runtime.Symbol(42/*type_spec*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
3419            }
3420          return CUP$parser$result;
3421
3422          /*. . . . . . . . . . . . . . . . . . . .*/
3423          case 180: // type_spec ::= simple_type_spec
3424
{
3425              CompType RESULT = null;
3426        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
3427        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
3428        CompType e = (CompType)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
3429         RESULT = e;
3430              CUP$parser$result = new java_cup.runtime.Symbol(42/*type_spec*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
3431            }
3432          return CUP$parser$result;
3433
3434          /*. . . . . . . . . . . . . . . . . . . .*/
3435          case 179: // type_declarator ::= type_spec declarators
3436
{
3437              CompType[] RESULT = null;
3438        int tleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
3439        int tright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
3440        CompType t = (CompType)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
3441        int dclsleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
3442        int dclsright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
3443        List dcls = (List)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
3444         
3445      CompType[] ret = new CompType[dcls.size()];
3446      dcls.toFirst();
3447      for (int i= 0; i<dcls.size(); i++) {
3448        Declarator d = (Declarator) dcls.aktual();
3449        if (d instanceof SimpleDcl) {
3450          SimpleDcl sd = (SimpleDcl) d;
3451          ID id = new ID(sd.name,"");
3452          id.what = ObjectsKind.o_Typedef;
3453          ID newid = null;
3454          try {
3455            if (isInner())
3456              newid = newRep.searchForNewInner(id, (CompContained) aktual);
3457            else
3458              newid = newRep.searchForNewName(id);
3459          } catch (CDLExceptRemote e) {
3460            parser.report_fatal_error(e.getMessage(),null);
3461          } catch (CDLExceptLock e) {
3462            parser.report_fatal_error(e.getMessage(),null);
3463          }
3464          if (newid==null) {
3465            parser.report_fatal_error(newRep.searchError+": "+ parser.getLine(tleft), null);
3466          } else {
3467            ret[i] = new CompTypedef(newid, (CompContainer) aktual, newRep, t);
3468          }
3469        } else { // instanceof ArrayDcl
3470
ArrayDcl arrd = (ArrayDcl) d;
3471          ID id = new ID(arrd.name,"");
3472          id.what = ObjectsKind.o_Typedef;
3473          ID newid = null;
3474          try {
3475            newid = newRep.searchForNewName(id);
3476          } catch (CDLExceptRemote e) {
3477            parser.report_fatal_error(e.getMessage(),null);
3478          } catch (CDLExceptLock e) {
3479            parser.report_fatal_error(e.getMessage(),null);
3480          }
3481          if (newid==null) {
3482            parser.report_fatal_error(newRep.searchError+": "+ parser.getLine(tleft), null);
3483          } else {
3484            arrd.size.toLast();
3485            CompType vysl = t;
3486            for(int k=0; k<arrd.size.size(); k++) {
3487              vysl = new CompArray(vysl, ((CompExprOper) arrd.size.aktual()));
3488              arrd.size.toPrev();
3489            }
3490            ret[i] = new CompTypedef(newid, (CompContainer) aktual, newRep, vysl);
3491          }
3492        }
3493        dcls.toNext();
3494      }
3495      RESULT = ret;
3496   
3497              CUP$parser$result = new java_cup.runtime.Symbol(3/*type_declarator*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
3498            }
3499          return CUP$parser$result;
3500
3501          /*. . . . . . . . . . . . . . . . . . . .*/
3502          case 178: // type_dcl ::= enum_type
3503
{
3504              CompType[] RESULT = null;
3505        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
3506        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
3507        CompEnum e = (CompEnum)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
3508         if (!((CompContainer) aktual).addObject(e)) parser.report_fatal_error("Name conflict: "+parser.getLine(eleft),null);
3509              CUP$parser$result = new java_cup.runtime.Symbol(2/*type_dcl*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
3510            }
3511          return CUP$parser$result;
3512
3513          /*. . . . . . . . . . . . . . . . . . . .*/
3514          case 177: // type_dcl ::= union_type
3515
{
3516              CompType[] RESULT = null;
3517
3518              CUP$parser$result = new java_cup.runtime.Symbol(2/*type_dcl*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
3519            }
3520          return CUP$parser$result;
3521
3522          /*. . . . . . . . . . . . . . . . . . . .*/
3523          case 176: // type_dcl ::= struct_type
3524
{
3525              CompType[] RESULT = null;
3526
3527              CUP$parser$result = new java_cup.runtime.Symbol(2/*type_dcl*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
3528            }
3529          return CUP$parser$result;
3530
3531          /*. . . . . . . . . . . . . . . . . . . .*/
3532          case 175: // type_dcl ::= TYPEDEF type_declarator
3533
{
3534              CompType[] RESULT = null;
3535        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
3536        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
3537        CompType[] e = (CompType[])((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
3538        
3539         for (int i=0;i<e.length;i++)
3540           if (!((CompContainer) aktual).addObject((CompContained)e[i]))
3541             parser.report_fatal_error("Name conflict: "+parser.getLine(eleft),null);
3542       
3543              CUP$parser$result = new java_cup.runtime.Symbol(2/*type_dcl*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
3544            }
3545          return CUP$parser$result;
3546
3547          /*. . . . . . . . . . . . . . . . . . . .*/
3548          case 174: // positive_int_const ::= const_exp
3549
{
3550              CompExprOper RESULT = null;
3551        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
3552        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
3553        CompExprOper e = (CompExprOper)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
3554        
3555    if ((e.type() != CompExprKind.e_int) && (e.type() != CompExprKind.e_all))
3556      parser.report_fatal_error("Bad expression: "+parser.getLine(eleft),null);
3557    RESULT = e;
3558  
3559              CUP$parser$result = new java_cup.runtime.Symbol(61/*positive_int_const*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
3560            }
3561          return CUP$parser$result;
3562
3563          /*. . . . . . . . . . . . . . . . . . . .*/
3564          case 173: // boolean_literal ::= FALSE
3565
{
3566              Boolean JavaDoc RESULT = null;
3567         RESULT = new Boolean JavaDoc(false);
3568              CUP$parser$result = new java_cup.runtime.Symbol(75/*boolean_literal*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
3569            }
3570          return CUP$parser$result;
3571
3572          /*. . . . . . . . . . . . . . . . . . . .*/
3573          case 172: // boolean_literal ::= TRUE
3574
{
3575              Boolean JavaDoc RESULT = null;
3576         RESULT = new Boolean JavaDoc(true);
3577              CUP$parser$result = new java_cup.runtime.Symbol(75/*boolean_literal*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
3578            }
3579          return CUP$parser$result;
3580
3581          /*. . . . . . . . . . . . . . . . . . . .*/
3582          case 171: // literal ::= boolean_literal
3583
{
3584              CompExprOper RESULT = null;
3585        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
3586        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
3587        Boolean JavaDoc e = (Boolean JavaDoc)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
3588         RESULT = new CompExprBoolean(e.booleanValue());
3589              CUP$parser$result = new java_cup.runtime.Symbol(72/*literal*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
3590            }
3591          return CUP$parser$result;
3592
3593          /*. . . . . . . . . . . . . . . . . . . .*/
3594          case 170: // literal ::= FLOATING_PT_LITERAL
3595
{
3596              CompExprOper RESULT = null;
3597        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
3598        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
3599        Double JavaDoc e = (Double JavaDoc)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
3600         RESULT = new CompExprFloat(e.doubleValue());
3601              CUP$parser$result = new java_cup.runtime.Symbol(72/*literal*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
3602            }
3603          return CUP$parser$result;
3604
3605          /*. . . . . . . . . . . . . . . . . . . .*/
3606          case 169: // literal ::= FIXED_PT_LITERAL
3607
{
3608              CompExprOper RESULT = null;
3609        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
3610        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
3611        Fixed e = (Fixed)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
3612         RESULT = new CompExprFixed(e);
3613              CUP$parser$result = new java_cup.runtime.Symbol(72/*literal*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
3614            }
3615          return CUP$parser$result;
3616
3617          /*. . . . . . . . . . . . . . . . . . . .*/
3618          case 168: // literal ::= WCHAR_LITERAL
3619
{
3620              CompExprOper RESULT = null;
3621        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
3622        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
3623        Character JavaDoc e = (Character JavaDoc)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
3624         RESULT = new CompExprWchar(e.charValue());
3625              CUP$parser$result = new java_cup.runtime.Symbol(72/*literal*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
3626            }
3627          return CUP$parser$result;
3628
3629          /*. . . . . . . . . . . . . . . . . . . .*/
3630          case 167: // literal ::= WSTRING_LITERAL
3631
{
3632              CompExprOper RESULT = null;
3633        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
3634        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
3635        String JavaDoc e = (String JavaDoc)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
3636         RESULT = new CompExprWstring(e);
3637              CUP$parser$result = new java_cup.runtime.Symbol(72/*literal*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
3638            }
3639          return CUP$parser$result;
3640
3641          /*. . . . . . . . . . . . . . . . . . . .*/
3642          case 166: // literal ::= CHAR_LITERAL
3643
{
3644              CompExprOper RESULT = null;
3645        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
3646        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
3647        Character JavaDoc e = (Character JavaDoc)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
3648         RESULT = new CompExprChar(e.charValue());
3649              CUP$parser$result = new java_cup.runtime.Symbol(72/*literal*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
3650            }
3651          return CUP$parser$result;
3652
3653          /*. . . . . . . . . . . . . . . . . . . .*/
3654          case 165: // literal ::= STRING_LITERAL
3655
{
3656              CompExprOper RESULT = null;
3657        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
3658        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
3659        String JavaDoc e = (String JavaDoc)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
3660         RESULT = new CompExprString(e);
3661              CUP$parser$result = new java_cup.runtime.Symbol(72/*literal*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
3662            }
3663          return CUP$parser$result;
3664
3665          /*. . . . . . . . . . . . . . . . . . . .*/
3666          case 164: // literal ::= INTEGER_LITERAL
3667
{
3668              CompExprOper RESULT = null;
3669        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
3670        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
3671        Long JavaDoc e = (Long JavaDoc)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
3672         RESULT = new CompExprInteger(e.longValue());
3673              CUP$parser$result = new java_cup.runtime.Symbol(72/*literal*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
3674            }
3675          return CUP$parser$result;
3676
3677          /*. . . . . . . . . . . . . . . . . . . .*/
3678          case 163: // primary_expr ::= DOLLAR IDENTIFIER
3679
{
3680              CompExprOper RESULT = null;
3681        int idleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
3682        int idright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
3683        String JavaDoc id = (String JavaDoc)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
3684         RESULT = new CompExprProperty(id);
3685              CUP$parser$result = new java_cup.runtime.Symbol(64/*primary_expr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
3686            }
3687          return CUP$parser$result;
3688
3689          /*. . . . . . . . . . . . . . . . . . . .*/
3690          case 162: // primary_expr ::= LPAREN const_exp RPAREN
3691
{
3692              CompExprOper RESULT = null;
3693        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
3694        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
3695        CompExprOper e = (CompExprOper)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
3696         RESULT = e;
3697              CUP$parser$result = new java_cup.runtime.Symbol(64/*primary_expr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
3698            }
3699          return CUP$parser$result;
3700
3701          /*. . . . . . . . . . . . . . . . . . . .*/
3702          case 161: // primary_expr ::= literal
3703
{
3704              CompExprOper RESULT = null;
3705        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
3706        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
3707        CompExprOper e = (CompExprOper)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
3708         RESULT = e;
3709              CUP$parser$result = new java_cup.runtime.Symbol(64/*primary_expr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
3710            }
3711          return CUP$parser$result;
3712
3713          /*. . . . . . . . . . . . . . . . . . . .*/
3714          case 160: // primary_expr ::= scoped_name
3715
{
3716              CompExprOper RESULT = null;
3717        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
3718        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
3719        FullID e = (FullID)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
3720        
3721          if (getExprEnum()) {
3722            CompReffer ref = null;
3723            try {
3724              ref = newRep.searchEnumName(e, ((CompReffer)getConstType()).ref);
3725            } catch (CDLExceptRemote ex) {
3726              parser.report_fatal_error(ex.getMessage()+": "+ parser.getLine(eleft),null);
3727            } catch (CDLExceptLock ex) {
3728              parser.report_fatal_error(ex.getMessage()+": "+ parser.getLine(eleft),null);
3729            }
3730            if (ref == null) {
3731              parser.report_fatal_error(newRep.searchError+": "+ parser.getLine(eleft), null);
3732            } else {
3733              if (ref.basereffer == ObjectsKind.o_Enum) {
3734                RESULT = new CompExprEnum(ref, e.name);
3735              } else {
3736                RESULT = new CompExprConstant(ref);
3737              }
3738            }
3739          } else {
3740            int objk = ((CompObject) aktual).objectKind();
3741            if ((objk != ObjectsKind.o_Module) && (objk != ObjectsKind.o_Repository)) {
3742              e.setVersion(((CompContained) aktual).getIdent().version);
3743            }
3744            CompReffer refcnst = null;
3745            try {
3746              refcnst = newRep.searchConstant(e);
3747            } catch (CDLExceptRemote ex) {
3748              parser.report_fatal_error(ex.getMessage()+": "+ parser.getLine(eleft),null);
3749            } catch (CDLExceptLock ex) {
3750              parser.report_fatal_error(ex.getMessage()+": "+ parser.getLine(eleft),null);
3751            }
3752            if (refcnst==null) {
3753              parser.report_fatal_error(newRep.searchError+": "+ parser.getLine(eleft), null);
3754            } else {
3755              RESULT = new CompExprConstant(refcnst);
3756            }
3757          }
3758       
3759              CUP$parser$result = new java_cup.runtime.Symbol(64/*primary_expr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
3760            }
3761          return CUP$parser$result;
3762
3763          /*. . . . . . . . . . . . . . . . . . . .*/
3764          case 159: // unary_operator ::= TILDE
3765
{
3766              UnaryOperator RESULT = null;
3767         RESULT = new UnaryOperator(CompExprKind.e_untilde);
3768              CUP$parser$result = new java_cup.runtime.Symbol(73/*unary_operator*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
3769            }
3770          return CUP$parser$result;
3771
3772          /*. . . . . . . . . . . . . . . . . . . .*/
3773          case 158: // unary_operator ::= PLUS
3774
{
3775              UnaryOperator RESULT = null;
3776         RESULT = new UnaryOperator(CompExprKind.e_unplus);
3777              CUP$parser$result = new java_cup.runtime.Symbol(73/*unary_operator*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
3778            }
3779          return CUP$parser$result;
3780
3781          /*. . . . . . . . . . . . . . . . . . . .*/
3782          case 157: // unary_operator ::= MINUS
3783
{
3784              UnaryOperator RESULT = null;
3785         RESULT = new UnaryOperator(CompExprKind.e_unminus);
3786              CUP$parser$result = new java_cup.runtime.Symbol(73/*unary_operator*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
3787            }
3788          return CUP$parser$result;
3789
3790          /*. . . . . . . . . . . . . . . . . . . .*/
3791          case 156: // unary_expr ::= primary_expr
3792
{
3793              CompExprOper RESULT = null;
3794        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
3795        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
3796        CompExprOper e = (CompExprOper)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
3797         RESULT = e;
3798              CUP$parser$result = new java_cup.runtime.Symbol(65/*unary_expr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
3799            }
3800          return CUP$parser$result;
3801
3802          /*. . . . . . . . . . . . . . . . . . . .*/
3803          case 155: // unary_expr ::= unary_operator primary_expr
3804
{
3805              CompExprOper RESULT = null;
3806        int opleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
3807        int opright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
3808        UnaryOperator op = (UnaryOperator)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
3809        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
3810        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
3811        CompExprOper e = (CompExprOper)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
3812         if (op.isCompatible(e))
3813           RESULT = new CompExprUnOper(op.kind,e);
3814         else
3815           parser.report_fatal_error("Bad expression: "+parser.getLine(eleft),null);
3816      
3817              CUP$parser$result = new java_cup.runtime.Symbol(65/*unary_expr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
3818            }
3819          return CUP$parser$result;
3820
3821          /*. . . . . . . . . . . . . . . . . . . .*/
3822          case 154: // mult_expr ::= mult_expr MOD unary_expr
3823
{
3824              CompExprOper RESULT = null;
3825        int e1left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
3826        int e1right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
3827        CompExprOper e1 = (CompExprOper)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
3828        int e2left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
3829        int e2right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
3830        CompExprOper e2 = (CompExprOper)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
3831         if ( CompExprBinOper.isCompatible(CompExprKind.e_mod, e1, e2))
3832           RESULT = new CompExprBinOper(CompExprKind.e_mod, e1, e2);
3833         else
3834           parser.report_fatal_error("Bad expression: "+parser.getLine(e1left),null);
3835      
3836              CUP$parser$result = new java_cup.runtime.Symbol(66/*mult_expr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
3837            }
3838          return CUP$parser$result;
3839
3840          /*. . . . . . . . . . . . . . . . . . . .*/
3841          case 153: // mult_expr ::= mult_expr DIV unary_expr
3842
{
3843              CompExprOper RESULT = null;
3844        int e1left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
3845        int e1right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
3846        CompExprOper e1 = (CompExprOper)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
3847        int e2left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
3848        int e2right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
3849        CompExprOper e2 = (CompExprOper)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
3850         if ( CompExprBinOper.isCompatible(CompExprKind.e_div, e1, e2))
3851           RESULT = new CompExprBinOper(CompExprKind.e_div, e1, e2);
3852         else
3853           parser.report_fatal_error("Bad expression: "+parser.getLine(e1left),null);
3854      
3855              CUP$parser$result = new java_cup.runtime.Symbol(66/*mult_expr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
3856            }
3857          return CUP$parser$result;
3858
3859          /*. . . . . . . . . . . . . . . . . . . .*/
3860          case 152: // mult_expr ::= mult_expr MUL unary_expr
3861
{
3862              CompExprOper RESULT = null;
3863        int e1left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
3864        int e1right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
3865        CompExprOper e1 = (CompExprOper)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
3866        int e2left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
3867        int e2right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
3868        CompExprOper e2 = (CompExprOper)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
3869         if ( CompExprBinOper.isCompatible(CompExprKind.e_mul, e1, e2))
3870           RESULT = new CompExprBinOper(CompExprKind.e_mul, e1, e2);
3871         else
3872           parser.report_fatal_error("Bad expression: "+parser.getLine(e1left),null);
3873      
3874              CUP$parser$result = new java_cup.runtime.Symbol(66/*mult_expr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
3875            }
3876          return CUP$parser$result;
3877
3878          /*. . . . . . . . . . . . . . . . . . . .*/
3879          case 151: // mult_expr ::= unary_expr
3880
{
3881              CompExprOper RESULT = null;
3882        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
3883        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
3884        CompExprOper e = (CompExprOper)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
3885         RESULT = e;
3886              CUP$parser$result = new java_cup.runtime.Symbol(66/*mult_expr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
3887            }
3888          return CUP$parser$result;
3889
3890          /*. . . . . . . . . . . . . . . . . . . .*/
3891          case 150: // add_expr ::= add_expr MINUS mult_expr
3892
{
3893              CompExprOper RESULT = null;
3894        int e1left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
3895        int e1right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
3896        CompExprOper e1 = (CompExprOper)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
3897        int e2left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
3898        int e2right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
3899        CompExprOper e2 = (CompExprOper)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
3900         if ( CompExprBinOper.isCompatible(CompExprKind.e_minus, e1, e2))
3901           RESULT = new CompExprBinOper(CompExprKind.e_minus, e1, e2);
3902         else
3903           parser.report_fatal_error("Bad expression: "+parser.getLine(e1left),null);
3904      
3905              CUP$parser$result = new java_cup.runtime.Symbol(67/*add_expr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
3906            }
3907          return CUP$parser$result;
3908
3909          /*. . . . . . . . . . . . . . . . . . . .*/
3910          case 149: // add_expr ::= add_expr PLUS mult_expr
3911
{
3912              CompExprOper RESULT = null;
3913        int e1left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
3914        int e1right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
3915        CompExprOper e1 = (CompExprOper)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
3916        int e2left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
3917        int e2right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
3918        CompExprOper e2 = (CompExprOper)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
3919         if ( CompExprBinOper.isCompatible(CompExprKind.e_plus, e1, e2))
3920           RESULT = new CompExprBinOper(CompExprKind.e_plus, e1, e2);
3921         else
3922           parser.report_fatal_error("Bad expression: "+parser.getLine(e1left),null);
3923      
3924              CUP$parser$result = new java_cup.runtime.Symbol(67/*add_expr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
3925            }
3926          return CUP$parser$result;
3927
3928          /*. . . . . . . . . . . . . . . . . . . .*/
3929          case 148: // add_expr ::= mult_expr
3930
{
3931              CompExprOper RESULT = null;
3932        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
3933        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
3934        CompExprOper e = (CompExprOper)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
3935         RESULT = e;
3936              CUP$parser$result = new java_cup.runtime.Symbol(67/*add_expr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
3937            }
3938          return CUP$parser$result;
3939
3940          /*. . . . . . . . . . . . . . . . . . . .*/
3941          case 147: // shift_expr ::= shift_expr SHIFT_LEFT add_expr
3942
{
3943              CompExprOper RESULT = null;
3944        int e1left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
3945        int e1right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
3946        CompExprOper e1 = (CompExprOper)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
3947        int e2left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
3948        int e2right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
3949        CompExprOper e2 = (CompExprOper)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
3950         if ( CompExprBinOper.isCompatible(CompExprKind.e_shl, e1, e2))
3951           RESULT = new CompExprBinOper(CompExprKind.e_shl, e1, e2);
3952         else
3953           parser.report_fatal_error("Bad expression: "+parser.getLine(e1left),null);
3954      
3955              CUP$parser$result = new java_cup.runtime.Symbol(68/*shift_expr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
3956            }
3957          return CUP$parser$result;
3958
3959          /*. . . . . . . . . . . . . . . . . . . .*/
3960          case 146: // shift_expr ::= shift_expr SHIFT_RIGHT add_expr
3961
{
3962              CompExprOper RESULT = null;
3963        int e1left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
3964        int e1right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
3965        CompExprOper e1 = (CompExprOper)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
3966        int e2left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
3967        int e2right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
3968        CompExprOper e2 = (CompExprOper)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
3969         if ( CompExprBinOper.isCompatible(CompExprKind.e_shr, e1, e2))
3970           RESULT = new CompExprBinOper(CompExprKind.e_shr, e1, e2);
3971         else
3972           parser.report_fatal_error("Bad expression: "+parser.getLine(e1left),null);
3973      
3974              CUP$parser$result = new java_cup.runtime.Symbol(68/*shift_expr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
3975            }
3976          return CUP$parser$result;
3977
3978          /*. . . . . . . . . . . . . . . . . . . .*/
3979          case 145: // shift_expr ::= add_expr
3980
{
3981              CompExprOper RESULT = null;
3982        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
3983        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
3984        CompExprOper e = (CompExprOper)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
3985         RESULT = e;
3986              CUP$parser$result = new java_cup.runtime.Symbol(68/*shift_expr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
3987            }
3988          return CUP$parser$result;
3989
3990          /*. . . . . . . . . . . . . . . . . . . .*/
3991          case 144: // and_expr ::= and_expr AND shift_expr
3992
{
3993              CompExprOper RESULT = null;
3994        int e1left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
3995        int e1right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
3996        CompExprOper e1 = (CompExprOper)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
3997        int e2left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
3998        int e2right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
3999        CompExprOper e2 = (CompExprOper)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
4000         if ( CompExprBinOper.isCompatible(CompExprKind.e_and, e1, e2))
4001           RESULT = new CompExprBinOper(CompExprKind.e_and, e1, e2);
4002         else
4003           parser.report_fatal_error("Bad expression: "+parser.getLine(e1left),null);
4004      
4005              CUP$parser$result = new java_cup.runtime.Symbol(69/*and_expr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
4006            }
4007          return CUP$parser$result;
4008
4009          /*. . . . . . . . . . . . . . . . . . . .*/
4010          case 143: // and_expr ::= shift_expr
4011
{
4012              CompExprOper RESULT = null;
4013        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
4014        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
4015        CompExprOper e = (CompExprOper)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
4016         RESULT = e;
4017              CUP$parser$result = new java_cup.runtime.Symbol(69/*and_expr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
4018            }
4019          return CUP$parser$result;
4020
4021          /*. . . . . . . . . . . . . . . . . . . .*/
4022          case 142: // xor_expr ::= xor_expr XOR and_expr
4023
{
4024              CompExprOper RESULT = null;
4025        int e1left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
4026        int e1right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
4027        CompExprOper e1 = (CompExprOper)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
4028        int e2left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
4029        int e2right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
4030        CompExprOper e2 = (CompExprOper)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
4031         if ( CompExprBinOper.isCompatible(CompExprKind.e_xor, e1, e2))
4032           RESULT = new CompExprBinOper(CompExprKind.e_xor, e1, e2);
4033         else
4034           parser.report_fatal_error("Bad expression: "+parser.getLine(e1left),null);
4035      
4036              CUP$parser$result = new java_cup.runtime.Symbol(70/*xor_expr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
4037            }
4038          return CUP$parser$result;
4039
4040          /*. . . . . . . . . . . . . . . . . . . .*/
4041          case 141: // xor_expr ::= and_expr
4042
{
4043              CompExprOper RESULT = null;
4044        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
4045        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
4046        CompExprOper e = (CompExprOper)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
4047         RESULT = e;
4048              CUP$parser$result = new java_cup.runtime.Symbol(70/*xor_expr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
4049            }
4050          return CUP$parser$result;
4051
4052          /*. . . . . . . . . . . . . . . . . . . .*/
4053          case 140: // or_expr ::= or_expr OR xor_expr
4054
{
4055              CompExprOper RESULT = null;
4056        int e1left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
4057        int e1right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
4058        CompExprOper e1 = (CompExprOper)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
4059        int e2left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
4060        int e2right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
4061        CompExprOper e2 = (CompExprOper)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
4062         if ( CompExprBinOper.isCompatible(CompExprKind.e_or, e1, e2))
4063           RESULT = new CompExprBinOper(CompExprKind.e_or, e1, e2);
4064         else
4065           parser.report_fatal_error("Bad expression: "+parser.getLine(e1left),null);
4066      
4067              CUP$parser$result = new java_cup.runtime.Symbol(71/*or_expr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
4068            }
4069          return CUP$parser$result;
4070
4071          /*. . . . . . . . . . . . . . . . . . . .*/
4072          case 139: // or_expr ::= xor_expr
4073
{
4074              CompExprOper RESULT = null;
4075        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
4076        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
4077        CompExprOper e = (CompExprOper)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
4078         RESULT = e;
4079              CUP$parser$result = new java_cup.runtime.Symbol(71/*or_expr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
4080            }
4081          return CUP$parser$result;
4082
4083          /*. . . . . . . . . . . . . . . . . . . .*/
4084          case 138: // const_exp ::= or_expr
4085
{
4086              CompExprOper RESULT = null;
4087        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
4088        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
4089        CompExprOper e = (CompExprOper)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
4090         RESULT = e;
4091              CUP$parser$result = new java_cup.runtime.Symbol(63/*const_exp*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
4092            }
4093          return CUP$parser$result;
4094
4095          /*. . . . . . . . . . . . . . . . . . . .*/
4096          case 137: // const_type ::= scoped_name_with_version
4097
{
4098              CompType RESULT = null;
4099        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
4100        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
4101        FullID e = (FullID)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
4102        
4103          CompReffer ref = null;
4104          try {
4105            ref = newRep.searchReffer(e);
4106          } catch (CDLExceptRemote ex) {
4107            parser.report_fatal_error(ex.getMessage(),null);
4108          } catch (CDLExceptLock ex) {
4109            parser.report_fatal_error(ex.getMessage(),null);
4110          }
4111          if (ref == null)
4112            parser.report_fatal_error(newRep.searchError+": "+parser.getLine(eleft), null);
4113          else {
4114            if (!CompReffer.isType(ref.what))
4115              parser.report_fatal_error(e.toString()+" isn't type: "+parser.getLine(eleft), null);
4116            else {
4117              try {
4118                if (!CompReffer.isConstType(ref, newRep)) {
4119                  parser.report_fatal_error(e.toString()+" isn't const type: "+parser.getLine(eleft), null);
4120                } else {
4121                  RESULT = ref;
4122                }
4123              } catch (CDLExceptRemote ex) {
4124                parser.report_fatal_error(ex.getMessage(),null);
4125              } catch (CDLExceptLock ex) {
4126                parser.report_fatal_error(ex.getMessage(),null);
4127              }
4128            }
4129          }
4130       
4131              CUP$parser$result = new java_cup.runtime.Symbol(74/*const_type*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
4132            }
4133          return CUP$parser$result;
4134
4135          /*. . . . . . . . . . . . . . . . . . . .*/
4136          case 136: // const_type ::= octet_type
4137
{
4138              CompType RESULT = null;
4139        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
4140        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
4141        CompType e = (CompType)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
4142         RESULT = e;
4143              CUP$parser$result = new java_cup.runtime.Symbol(74/*const_type*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
4144            }
4145          return CUP$parser$result;
4146
4147          /*. . . . . . . . . . . . . . . . . . . .*/
4148          case 135: // const_type ::= fixed_pt_const_type
4149
{
4150              CompType RESULT = null;
4151        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
4152        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
4153        CompType e = (CompType)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
4154         RESULT = e;
4155              CUP$parser$result = new java_cup.runtime.Symbol(74/*const_type*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
4156            }
4157          return CUP$parser$result;
4158
4159          /*. . . . . . . . . . . . . . . . . . . .*/
4160          case 134: // const_type ::= wide_string_type
4161
{
4162              CompType RESULT = null;
4163        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
4164        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
4165        CompType e = (CompType)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
4166         RESULT = e;
4167              CUP$parser$result = new java_cup.runtime.Symbol(74/*const_type*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
4168            }
4169          return CUP$parser$result;
4170
4171          /*. . . . . . . . . . . . . . . . . . . .*/
4172          case 133: // const_type ::= string_type
4173
{
4174              CompType RESULT = null;
4175        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
4176        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
4177        CompType e = (CompType)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
4178         RESULT = e;
4179              CUP$parser$result = new java_cup.runtime.Symbol(74/*const_type*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
4180            }
4181          return CUP$parser$result;
4182
4183          /*. . . . . . . . . . . . . . . . . . . .*/
4184          case 132: // const_type ::= floating_pt_type
4185
{
4186              CompType RESULT = null;
4187        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
4188        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
4189        CompType e = (CompType)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
4190         RESULT = e;
4191              CUP$parser$result = new java_cup.runtime.Symbol(74/*const_type*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
4192            }
4193          return CUP$parser$result;
4194
4195          /*. . . . . . . . . . . . . . . . . . . .*/
4196          case 131: // const_type ::= boolean_type
4197
{
4198              CompType RESULT = null;
4199        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
4200        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
4201        CompType e = (CompType)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
4202         RESULT = e;
4203              CUP$parser$result = new java_cup.runtime.Symbol(74/*const_type*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
4204            }
4205          return CUP$parser$result;
4206
4207          /*. . . . . . . . . . . . . . . . . . . .*/
4208          case 130: // const_type ::= wide_char_type
4209
{
4210              CompType RESULT = null;
4211        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
4212        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
4213        CompType e = (CompType)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
4214         RESULT = e;
4215              CUP$parser$result = new java_cup.runtime.Symbol(74/*const_type*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
4216            }
4217          return CUP$parser$result;
4218
4219          /*. . . . . . . . . . . . . . . . . . . .*/
4220          case 129: // const_type ::= char_type
4221
{
4222              CompType RESULT = null;
4223        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
4224        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
4225        CompType e = (CompType)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
4226         RESULT = e;
4227              CUP$parser$result = new java_cup.runtime.Symbol(74/*const_type*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
4228            }
4229          return CUP$parser$result;
4230
4231          /*. . . . . . . . . . . . . . . . . . . .*/
4232          case 128: // const_type ::= integer_type
4233
{
4234              CompType RESULT = null;
4235        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
4236        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
4237        CompType e = (CompType)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
4238         RESULT = e;
4239              CUP$parser$result = new java_cup.runtime.Symbol(74/*const_type*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
4240            }
4241          return CUP$parser$result;
4242
4243          /*. . . . . . . . . . . . . . . . . . . .*/
4244          case 127: // const_dcl ::= CONST const_type NT$3 identifier_with_version EQUAL const_exp
4245
{
4246              Object JavaDoc RESULT = null;
4247              // propagate RESULT from NT$3
4248
if ( ((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-3)).value != null )
4249                RESULT = (Object JavaDoc) ((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-3)).value;
4250        int tleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-4)).left;
4251        int tright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-4)).right;
4252        CompType t = (CompType)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-4)).value;
4253        int idleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
4254        int idright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
4255        ID id = (ID)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
4256        int expleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
4257        int expright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
4258        CompExprOper exp = (CompExprOper)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
4259         
4260        ID newid = null;
4261        id.what = ObjectsKind.o_Constant;
4262        try {
4263          if (isInner())
4264            newid = newRep.searchForNewInner(id, (CompContained) aktual);
4265          else
4266            newid = newRep.searchForNewName(id);
4267        } catch (CDLExceptRemote e) {
4268          parser.report_fatal_error(e.getMessage()+": "+parser.getLine(idleft),null);
4269        } catch (CDLExceptLock e) {
4270          parser.report_fatal_error(e.getMessage()+": "+parser.getLine(idleft),null);
4271        }
4272        if (newid == null) {
4273          parser.report_fatal_error(newRep.searchError+": "+parser.getLine(idleft), null);
4274        } else {
4275          // test type and type of expression
4276
if (!CompExprOper.isExprType(getConstType(), exp))
4277            parser.report_fatal_error("Bad type of expression: "+parser.getLine(expleft),null);
4278          CompConstant cnst = new CompConstant(newid, (CompContainer) aktual, newRep, getConstType(), exp);
4279          if (!((CompContainer) aktual).addObject(cnst))
4280            parser.report_fatal_error("Name conflict: "+parser.getLine(idleft),null);
4281        }
4282        rmExprEnum();
4283        rmConstType();
4284     
4285              CUP$parser$result = new java_cup.runtime.Symbol(16/*const_dcl*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-5)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
4286            }
4287          return CUP$parser$result;
4288
4289          /*. . . . . . . . . . . . . . . . . . . .*/
4290          case 126: // NT$3 ::=
4291
{
4292              Object JavaDoc RESULT = null;
4293        int tleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
4294        int tright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
4295        CompType t = (CompType)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
4296   // mid-rule action
4297
boolean setEx = false;
4298        if (t.objectKind()==ObjectsKind.o_none) { // CompReffer
4299
if (((CompReffer) t).basereffer == ObjectsKind.o_Enum) {
4300            setEx = true;
4301            setExprEnum(true);
4302          } else {
4303            setEx = true;
4304            setExprEnum(false);
4305          }
4306        }
4307        if (!setEx)
4308          setExprEnum(false);
4309        setConstType(t); // to next action
4310

4311              CUP$parser$result = new java_cup.runtime.Symbol(144/*NT$3*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
4312            }
4313          return CUP$parser$result;
4314
4315          /*. . . . . . . . . . . . . . . . . . . .*/
4316          case 125: // scoped_name ::= scoped_name DOUBLE_COLON IDENTIFIER
4317
{
4318              FullID RESULT = null;
4319        int snleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
4320        int snright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
4321        FullID sn = (FullID)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
4322        int idleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
4323        int idright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
4324        String JavaDoc id = (String JavaDoc)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
4325         sn.sn.addScope(sn.name); sn.name = id; RESULT = sn;
4326              CUP$parser$result = new java_cup.runtime.Symbol(35/*scoped_name*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
4327            }
4328          return CUP$parser$result;
4329
4330          /*. . . . . . . . . . . . . . . . . . . .*/
4331          case 124: // scoped_name ::= DOUBLE_COLON IDENTIFIER
4332
{
4333              FullID RESULT = null;
4334        int idleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
4335        int idright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
4336        String JavaDoc id = (String JavaDoc)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
4337         FullID res = new FullID(true); res.name = id; res.version = ""; RESULT = res;
4338              CUP$parser$result = new java_cup.runtime.Symbol(35/*scoped_name*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
4339            }
4340          return CUP$parser$result;
4341
4342          /*. . . . . . . . . . . . . . . . . . . .*/
4343          case 123: // scoped_name ::= IDENTIFIER
4344
{
4345              FullID RESULT = null;
4346        int idleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
4347        int idright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
4348        String JavaDoc id = (String JavaDoc)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
4349         FullID res = new FullID(false); res.name = id; res.version = ""; RESULT = res;
4350              CUP$parser$result = new java_cup.runtime.Symbol(35/*scoped_name*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
4351            }
4352          return CUP$parser$result;
4353
4354          /*. . . . . . . . . . . . . . . . . . . .*/
4355          case 122: // inheritance_list ::= inheritance_list COMMA scoped_name_with_version
4356
{
4357              List RESULT = null;
4358        int lleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
4359        int lright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
4360        List l = (List)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
4361        int idleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
4362        int idright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
4363        FullID id = (FullID)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
4364        
4365          CompReffer ref = null;
4366          try {
4367            ref = newRep.searchReffer(id);
4368          } catch (CDLExceptRemote ex) {
4369            parser.report_fatal_error(ex.getMessage(),null);
4370          } catch (CDLExceptLock ex) {
4371            parser.report_fatal_error(ex.getMessage(),null);
4372          }
4373          if (ref == null)
4374            parser.report_fatal_error(newRep.searchError+": "+parser.getLine(idleft), null);
4375          else {
4376            if (ref.what != ObjectsKind.o_Interface) {
4377              parser.report_fatal_error(id+" isn't interface: "+parser.getLine(idleft), null);
4378            } else {
4379              l.add(ref);
4380              RESULT = l;
4381            }
4382          }
4383     
4384              CUP$parser$result = new java_cup.runtime.Symbol(110/*inheritance_list*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
4385            }
4386          return CUP$parser$result;
4387
4388          /*. . . . . . . . . . . . . . . . . . . .*/
4389          case 121: // inheritance_list ::= scoped_name_with_version
4390
{
4391              List RESULT = null;
4392        int idleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
4393        int idright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
4394        FullID id = (FullID)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
4395        
4396          CompReffer ref = null;
4397          try {
4398            ref = newRep.searchReffer(id);
4399          } catch (CDLExceptRemote ex) {
4400            parser.report_fatal_error(ex.getMessage(),null);
4401          } catch (CDLExceptLock ex) {
4402            parser.report_fatal_error(ex.getMessage(),null);
4403          }
4404          if (ref == null)
4405            parser.report_fatal_error(newRep.searchError+": "+parser.getLine(idleft), null);
4406          else {
4407            if (ref.what != ObjectsKind.o_Interface) {
4408              parser.report_fatal_error(id+" isn't interface: "+parser.getLine(idleft), null);
4409            } else {
4410              List l = new List();
4411              l.add(ref);
4412              RESULT = l;
4413            }
4414          }
4415     
4416              CUP$parser$result = new java_cup.runtime.Symbol(110/*inheritance_list*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
4417            }
4418          return CUP$parser$result;
4419
4420          /*. . . . . . . . . . . . . . . . . . . .*/
4421          case 120: // inheritance_spec ::= COLON inheritance_list
4422
{
4423              List RESULT = null;
4424        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
4425        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
4426        List e = (List)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
4427         RESULT = e;
4428              CUP$parser$result = new java_cup.runtime.Symbol(32/*inheritance_spec*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
4429            }
4430          return CUP$parser$result;
4431
4432          /*. . . . . . . . . . . . . . . . . . . .*/
4433          case 119: // inheritance_spec ::=
4434
{
4435              List RESULT = null;
4436         RESULT = new List();
4437              CUP$parser$result = new java_cup.runtime.Symbol(32/*inheritance_spec*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
4438            }
4439          return CUP$parser$result;
4440
4441          /*. . . . . . . . . . . . . . . . . . . .*/
4442          case 118: // export ::= interface_protocol_spec
4443
{
4444              Object JavaDoc RESULT = null;
4445
4446              CUP$parser$result = new java_cup.runtime.Symbol(5/*export*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
4447            }
4448          return CUP$parser$result;
4449
4450          /*. . . . . . . . . . . . . . . . . . . .*/
4451          case 117: // export ::= op_dcl SEMICOLON
4452
{
4453              Object JavaDoc RESULT = null;
4454
4455              CUP$parser$result = new java_cup.runtime.Symbol(5/*export*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
4456            }
4457          return CUP$parser$result;
4458
4459          /*. . . . . . . . . . . . . . . . . . . .*/
4460          case 116: // export ::= attr_dcl SEMICOLON
4461
{
4462              Object JavaDoc RESULT = null;
4463
4464              CUP$parser$result = new java_cup.runtime.Symbol(5/*export*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
4465            }
4466          return CUP$parser$result;
4467
4468          /*. . . . . . . . . . . . . . . . . . . .*/
4469          case 115: // export ::= except_dcl SEMICOLON
4470
{
4471              Object JavaDoc RESULT = null;
4472
4473              CUP$parser$result = new java_cup.runtime.Symbol(5/*export*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
4474            }
4475          return CUP$parser$result;
4476
4477          /*. . . . . . . . . . . . . . . . . . . .*/
4478          case 114: // export ::= const_dcl SEMICOLON
4479
{
4480              Object JavaDoc RESULT = null;
4481
4482              CUP$parser$result = new java_cup.runtime.Symbol(5/*export*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
4483            }
4484          return CUP$parser$result;
4485
4486          /*. . . . . . . . . . . . . . . . . . . .*/
4487          case 113: // export ::= type_dcl SEMICOLON
4488
{
4489              Object JavaDoc RESULT = null;
4490
4491              CUP$parser$result = new java_cup.runtime.Symbol(5/*export*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
4492            }
4493          return CUP$parser$result;
4494
4495          /*. . . . . . . . . . . . . . . . . . . .*/
4496          case 112: // interface_body ::= interface_body export
4497
{
4498              Object JavaDoc RESULT = null;
4499
4500              CUP$parser$result = new java_cup.runtime.Symbol(4/*interface_body*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
4501            }
4502          return CUP$parser$result;
4503
4504          /*. . . . . . . . . . . . . . . . . . . .*/
4505          case 111: // interface_body ::=
4506
{
4507              Object JavaDoc RESULT = null;
4508
4509              CUP$parser$result = new java_cup.runtime.Symbol(4/*interface_body*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
4510            }
4511          return CUP$parser$result;
4512
4513          /*. . . . . . . . . . . . . . . . . . . .*/
4514          case 110: // interface_header ::= INTERFACE identifier_with_version inheritance_spec
4515
{
4516              Object JavaDoc RESULT = null;
4517        int idleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
4518        int idright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
4519        ID id = (ID)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
4520        int inhleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
4521        int inhright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
4522        List inh = (List)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
4523        
4524     
4525     CompInterface exists = newRep.searchFwdIface(id);
4526     if (exists != null) {
4527       oldAktual.add(aktual);
4528       aktScope.addScope(new String JavaDoc(id.name));
4529       aktual = exists;
4530       try {
4531         if (!((CompInterface) aktual).setBaseIfaces(inh))
4532           parser.report_fatal_error("name conflict in base interfaces: "+ parser.getLine(idleft), null);
4533       } catch (CDLExceptRemote e) {
4534         parser.report_fatal_error(e.getMessage(),null);
4535       } catch (CDLExceptLock e) {
4536         parser.report_fatal_error(e.getMessage(),null);
4537       }
4538       setInner();
4539     } else {
4540       ID newid = null;
4541       id.what = ObjectsKind.o_Interface;
4542       try {
4543         newid = newRep.searchForNewName(id);
4544       } catch (CDLExceptRemote e) {
4545         parser.report_fatal_error(e.getMessage()+": "+ parser.getLine(idleft),null);
4546       } catch (CDLExceptLock e) {
4547         parser.report_fatal_error(e.getMessage()+": "+ parser.getLine(idleft),null);
4548       }
4549       if (newid == null) {
4550         parser.report_fatal_error(newRep.searchError+": "+ parser.getLine(idleft), null);
4551       } else { // create new CompInterface
4552
Object JavaDoc old = aktual;
4553         oldAktual.add(aktual);
4554         aktScope.addScope(new String JavaDoc(id.name));
4555         aktual = new CompInterface(newid, (CompContainer) aktual, newRep, false);
4556         ((CompContainer) old).addObject((CompContained) aktual);
4557       }
4558       try {
4559         if (!((CompInterface) aktual).setBaseIfaces(inh))
4560           parser.report_fatal_error("name conflict in base interfaces: "+ parser.getLine(idleft), null);
4561       } catch (CDLExceptRemote e) {
4562         parser.report_fatal_error(e.getMessage(),null);
4563       } catch (CDLExceptLock e) {
4564         parser.report_fatal_error(e.getMessage(),null);
4565       }
4566       setInner();
4567     }
4568   
4569              CUP$parser$result = new java_cup.runtime.Symbol(31/*interface_header*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
4570            }
4571          return CUP$parser$result;
4572
4573          /*. . . . . . . . . . . . . . . . . . . .*/
4574          case 109: // forward_dcl ::= INTERFACE IDENTIFIER
4575
{
4576              Object JavaDoc RESULT = null;
4577        int nameleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
4578        int nameright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
4579        String JavaDoc name = (String JavaDoc)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
4580        
4581     ID id = new ID(name,null);
4582     id.what = ObjectsKind.o_Interface;
4583     ID newid = null;
4584     try {
4585       newid = newRep.searchForNewName(id);
4586     } catch (CDLExceptRemote e) {
4587       parser.report_fatal_error(e.getMessage()+": "+ parser.getLine(nameleft),null);
4588     } catch (CDLExceptLock e) {
4589       parser.report_fatal_error(e.getMessage()+": "+ parser.getLine(nameleft),null);
4590     }
4591     if (newid==null) {
4592       parser.report_fatal_error(newRep.searchError+": "+ parser.getLine(nameleft), null);
4593     } else {
4594       CompInterface iface = new CompInterface(newid,(CompContainer) aktual, newRep, true);
4595       ((CompContainer) aktual).addObject(iface);
4596     }
4597  
4598              CUP$parser$result = new java_cup.runtime.Symbol(30/*forward_dcl*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
4599            }
4600          return CUP$parser$result;
4601
4602          /*. . . . . . . . . . . . . . . . . . . .*/
4603          case 108: // interface_dcl ::= interface_header LBRACE interface_body RBRACE
4604
{
4605              CompInterface RESULT = null;
4606          // end of iface
4607
aktScope.removeScope();
4608     oldAktual.toLast();
4609     CompObject ret = (CompObject) aktual;
4610     aktual = (CompObject) oldAktual.removeAkt();
4611     unsetInner();
4612     // RESULT = ret;
4613

4614              CUP$parser$result = new java_cup.runtime.Symbol(28/*interface_dcl*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
4615            }
4616          return CUP$parser$result;
4617
4618          /*. . . . . . . . . . . . . . . . . . . .*/
4619          case 107: // interface ::= forward_dcl
4620
{
4621              Object JavaDoc RESULT = null;
4622
4623              CUP$parser$result = new java_cup.runtime.Symbol(23/*interface*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
4624            }
4625          return CUP$parser$result;
4626
4627          /*. . . . . . . . . . . . . . . . . . . .*/
4628          case 106: // interface ::= interface_dcl
4629
{
4630              Object JavaDoc RESULT = null;
4631
4632              CUP$parser$result = new java_cup.runtime.Symbol(23/*interface*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
4633            }
4634          return CUP$parser$result;
4635
4636          /*. . . . . . . . . . . . . . . . . . . .*/
4637          case 105: // module_body ::= module_body definition
4638
{
4639              Object JavaDoc RESULT = null;
4640
4641              CUP$parser$result = new java_cup.runtime.Symbol(27/*module_body*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
4642            }
4643          return CUP$parser$result;
4644
4645          /*. . . . . . . . . . . . . . . . . . . .*/
4646          case 104: // module_body ::= definition
4647
{
4648              Object JavaDoc RESULT = null;
4649
4650              CUP$parser$result = new java_cup.runtime.Symbol(27/*module_body*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
4651            }
4652          return CUP$parser$result;
4653
4654          /*. . . . . . . . . . . . . . . . . . . .*/
4655          case 103: // module ::= MODULE IDENTIFIER NT$2 LBRACE module_body RBRACE
4656
{
4657              CompObject RESULT = null;
4658              // propagate RESULT from NT$2
4659
if ( ((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-3)).value != null )
4660                RESULT = (CompObject) ((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-3)).value;
4661        int idleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-4)).left;
4662        int idright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-4)).right;
4663        String JavaDoc id = (String JavaDoc)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-4)).value;
4664         aktScope.removeScope();
4665     oldAktual.toLast();
4666     CompObject ret = (CompObject) aktual;
4667     aktual = (CompObject) oldAktual.removeAkt();
4668     RESULT = ret;
4669  
4670              CUP$parser$result = new java_cup.runtime.Symbol(26/*module*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-5)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
4671            }
4672          return CUP$parser$result;
4673
4674          /*. . . . . . . . . . . . . . . . . . . .*/
4675          case 102: // NT$2 ::=
4676
{
4677              Object JavaDoc RESULT = null;
4678        int idleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
4679        int idright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
4680        String JavaDoc id = (String JavaDoc)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
4681 
4682     CompModule exist = newRep.searchExistNewMod(id);
4683     if (exist != null) {
4684       oldAktual.add(aktual);
4685       aktScope.addScope(new String JavaDoc(id));
4686       aktual = exist;
4687     } else {
4688       ID modid = null;
4689       try {
4690         modid = newRep.searchForNewMod(id);
4691       } catch (CDLExceptRemote e) {
4692         parser.report_fatal_error(e.getMessage()+": "+ parser.getLine(idleft),null);
4693       } catch (CDLExceptLock e) {
4694         parser.report_fatal_error(e.getMessage()+": "+ parser.getLine(idleft),null);
4695       }
4696       if (modid == null) {
4697         parser.report_fatal_error(newRep.searchError+": "+ parser.getLine(idleft), null);
4698       } else { // create new CompModule
4699
Object JavaDoc old = aktual;
4700         oldAktual.add(aktual);
4701         aktScope.addScope(new String JavaDoc(id));
4702         aktual = new CompModule(modid, (CompContainer) aktual, newRep);
4703         ((CompContainer) old).addObject((CompContained) aktual);
4704       }
4705     }
4706  
4707              CUP$parser$result = new java_cup.runtime.Symbol(143/*NT$2*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
4708            }
4709          return CUP$parser$result;
4710
4711          /*. . . . . . . . . . . . . . . . . . . .*/
4712          case 101: // using ::= USING IDENTIFIER
4713
{
4714              String JavaDoc RESULT = null;
4715        int idleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
4716        int idright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
4717        String JavaDoc id = (String JavaDoc)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
4718         
4719/*
4720  TODO: out
4721          if (id.compareTo("CSProcCall")!=0 && id.compareTo("EventPassing")!=0 && id.compareTo("DataStream")!=0)
4722        parser.report_fatal_error("Bad type of connector: "+parser.getLine(idleft),null);
4723          if (id.compareTo("EventPassing")==0 || id.compareTo("DataStream")==0)
4724            ((CompArchitecture) aktual).nonCSProcCall = true;
4725*/

4726          RESULT = id;
4727       
4728              CUP$parser$result = new java_cup.runtime.Symbol(139/*using*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
4729            }
4730          return CUP$parser$result;
4731
4732          /*. . . . . . . . . . . . . . . . . . . .*/
4733          case 100: // using ::=
4734
{
4735              String JavaDoc RESULT = null;
4736         RESULT = "CSProcCall";
4737              CUP$parser$result = new java_cup.runtime.Symbol(139/*using*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
4738            }
4739          return CUP$parser$result;
4740
4741          /*. . . . . . . . . . . . . . . . . . . .*/
4742          case 99: // binding ::= BIND bindee1 TO bindee1 using SEMICOLON
4743
{
4744              Object JavaDoc RESULT = null;
4745        int lhsleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-4)).left;
4746        int lhsright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-4)).right;
4747        CompBindOper lhs = (CompBindOper)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-4)).value;
4748        int rhsleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
4749        int rhsright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
4750        CompBindOper rhs = (CompBindOper)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
4751        int uleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
4752        int uright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
4753        String JavaDoc u = (String JavaDoc)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
4754        
4755               CompBind bind = new CompBind((CompContainer) aktual, newRep, lhs, rhs, CompBind.m_bind, u);
4756               if (!((CompContainer) aktual).addObject(bind))
4757                 parser.report_fatal_error("Name conflict: "+parser.getLine(lhsleft),null);
4758            
4759              CUP$parser$result = new java_cup.runtime.Symbol(11/*binding*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-5)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
4760            }
4761          return CUP$parser$result;
4762
4763          /*. . . . . . . . . . . . . . . . . . . .*/
4764          case 98: // binding ::= DELEGATE bindee1 TO bindee2 using SEMICOLON
4765
{
4766              Object JavaDoc RESULT = null;
4767        int lhsleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-4)).left;
4768        int lhsright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-4)).right;
4769        CompBindOper lhs = (CompBindOper)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-4)).value;
4770        int rhsleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
4771        int rhsright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
4772        CompBindOper rhs = (CompBindOper)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
4773        int uleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
4774        int uright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
4775        String JavaDoc u = (String JavaDoc)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
4776        
4777               CompBind bind = new CompBind((CompContainer) aktual, newRep, lhs, rhs, CompBind.m_delegate, u);
4778               if (!((CompContainer) aktual).addObject(bind))
4779                 parser.report_fatal_error("Name conflict: "+parser.getLine(lhsleft),null);
4780            
4781              CUP$parser$result = new java_cup.runtime.Symbol(11/*binding*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-5)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
4782            }
4783          return CUP$parser$result;
4784
4785          /*. . . . . . . . . . . . . . . . . . . .*/
4786          case 97: // binding ::= SUBSUME bindee2 TO bindee1 using SEMICOLON
4787
{
4788              Object JavaDoc RESULT = null;
4789        int lhsleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-4)).left;
4790        int lhsright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-4)).right;
4791        CompBindOper lhs = (CompBindOper)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-4)).value;
4792        int rhsleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
4793        int rhsright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
4794        CompBindOper rhs = (CompBindOper)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
4795        int uleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
4796        int uright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
4797        String JavaDoc u = (String JavaDoc)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
4798         
4799               CompBind bind = new CompBind((CompContainer) aktual, newRep, lhs, rhs, CompBind.m_subsume, u);
4800               if (!((CompContainer) aktual).addObject(bind))
4801                 parser.report_fatal_error("Name conflict: "+parser.getLine(lhsleft),null);
4802            
4803              CUP$parser$result = new java_cup.runtime.Symbol(11/*binding*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-5)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
4804            }
4805          return CUP$parser$result;
4806
4807          /*. . . . . . . . . . . . . . . . . . . .*/
4808          case 96: // binding ::= BIND bindee2 TO bindee2 using SEMICOLON
4809
{
4810              Object JavaDoc RESULT = null;
4811        int lhsleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-4)).left;
4812        int lhsright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-4)).right;
4813        CompBindOper lhs = (CompBindOper)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-4)).value;
4814        int rhsleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
4815        int rhsright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
4816        CompBindOper rhs = (CompBindOper)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
4817        int uleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
4818        int uright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
4819        String JavaDoc u = (String JavaDoc)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
4820        
4821               CompBind bind = new CompBind((CompContainer) aktual, newRep, lhs, rhs, CompBind.m_bind, u);
4822               if (!((CompContainer) aktual).addObject(bind))
4823                 parser.report_fatal_error("Name conflict: "+parser.getLine(lhsleft),null);
4824            
4825              CUP$parser$result = new java_cup.runtime.Symbol(11/*binding*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-5)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
4826            }
4827          return CUP$parser$result;
4828
4829          /*. . . . . . . . . . . . . . . . . . . .*/
4830          case 95: // bindee2 ::= bind_element_reference COLON bind_element_reference
4831
{
4832              CompBindOper RESULT = null;
4833        int e1left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
4834        int e1right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
4835        List e1 = (List)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
4836        int e2left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
4837        int e2right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
4838        List e2 = (List)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
4839         
4840     CompBindOper ret = new CompBindOper(e1, e2, (CompArchitecture) aktual);
4841     try {
4842       if (System.getProperty("cdl.disableBindTests","no").compareTo("yes")!=0) {
4843         if (!ret.testBOS())
4844           parser.report_fatal_error("Bad bind element (bindee2): "+parser.getLine(e1left),null);
4845       }
4846     } catch (CDLExceptRemote e) {
4847       parser.report_fatal_error(e.getMessage()+": "+ parser.getLine(e1left),null);
4848     } catch (CDLExceptLock e) {
4849       parser.report_fatal_error(e.getMessage()+": "+ parser.getLine(e1left),null);
4850     }
4851     RESULT = ret;
4852  
4853              CUP$parser$result = new java_cup.runtime.Symbol(117/*bindee2*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
4854            }
4855          return CUP$parser$result;
4856
4857          /*. . . . . . . . . . . . . . . . . . . .*/
4858          case 94: // bindee1 ::= bind_element_reference
4859
{
4860              CompBindOper RESULT = null;
4861        int elleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
4862        int elright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
4863        List el = (List)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
4864         
4865     CompBindOper ret = new CompBindOper(el, (CompArchitecture) aktual);
4866     try {
4867       if (System.getProperty("cdl.disableBindTests","no").compareTo("yes")!=0) {
4868         if (!ret.testBOPR())
4869           parser.report_fatal_error("Bad bind element (bindee1): "+parser.getLine(elleft),null);
4870       }
4871     } catch (CDLExceptRemote e) {
4872       parser.report_fatal_error(e.getMessage()+": "+ parser.getLine(elleft),null);
4873     } catch (CDLExceptLock e) {
4874       parser.report_fatal_error(e.getMessage()+": "+ parser.getLine(elleft),null);
4875     }
4876     RESULT = ret;
4877  
4878              CUP$parser$result = new java_cup.runtime.Symbol(116/*bindee1*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
4879            }
4880          return CUP$parser$result;
4881
4882          /*. . . . . . . . . . . . . . . . . . . .*/
4883          case 93: // sub_reference ::= LBRACKET value_generator RBRACKET
4884
{
4885              Object JavaDoc RESULT = null;
4886        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
4887        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
4888        CompVG e = (CompVG)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
4889        
4890              if (!CompExprOper.testPropInExpr(((CompArchitecture) aktual).propNames, e.nameProp(parser.newRep)))
4891                parser.report_fatal_error("Unknown property: "+parser.getLine(eleft),null);
4892           /* if (newRep.useProtocols) {
4893                //newRep.useProtocols = false;
4894                //newRep.testProtocols = false;
4895                //Output.out.println("Warning: Turning protocols off");
4896                //Output.out.println("Warning: A provision or requirement contains protocols");
4897              } */

4898              RESULT = e;
4899           
4900              CUP$parser$result = new java_cup.runtime.Symbol(113/*sub_reference*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
4901            }
4902          return CUP$parser$result;
4903
4904          /*. . . . . . . . . . . . . . . . . . . .*/
4905          case 92: // sub_reference ::= LBRACKET expr RBRACKET
4906
{
4907              Object JavaDoc RESULT = null;
4908        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
4909        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
4910        CompExprOper e = (CompExprOper)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
4911         
4912              if (!CompExprOper.testPropInExpr(((CompArchitecture) aktual).propNames, e.nameProp(parser.newRep)))
4913                parser.report_fatal_error("Unknown property: "+parser.getLine(eleft),null);
4914           /* if (newRep.useProtocols) {
4915                //newRep.useProtocols = false;
4916                //newRep.testProtocols = false;
4917                //Output.out.println("Warning: Turning protocols off");
4918                //Output.out.println("Warning: A provision or requirement contains protocols");
4919              } */

4920              RESULT = e;
4921           
4922              CUP$parser$result = new java_cup.runtime.Symbol(113/*sub_reference*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
4923            }
4924          return CUP$parser$result;
4925
4926          /*. . . . . . . . . . . . . . . . . . . .*/
4927          case 91: // sub_reference ::= DOT IDENTIFIER
4928
{
4929              Object JavaDoc RESULT = null;
4930        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
4931        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
4932        String JavaDoc e = (String JavaDoc)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
4933         RESULT = new String JavaDoc(e);
4934              CUP$parser$result = new java_cup.runtime.Symbol(113/*sub_reference*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
4935            }
4936          return CUP$parser$result;
4937
4938          /*. . . . . . . . . . . . . . . . . . . .*/
4939          case 90: // sub_references ::= sub_references sub_reference
4940
{
4941              List RESULT = null;
4942        int lleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
4943        int lright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
4944        List l = (List)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
4945        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
4946        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
4947        Object JavaDoc e = (Object JavaDoc)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
4948        
4949             if (e instanceof String JavaDoc) {
4950               l.add(new CompBindType((String JavaDoc) e));
4951             } else { // e is expression
4952
if (l.size() == 0) {
4953                 CompBindType a = new CompBindType(null);
4954                 a.exprs.add(e);
4955                 l.add(a);
4956               } else {
4957                 l.toLast();
4958                 CompBindType a = (CompBindType) l.aktual();
4959                 a.exprs.add(e);
4960               }
4961             }
4962             RESULT = l;
4963          
4964              CUP$parser$result = new java_cup.runtime.Symbol(114/*sub_references*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
4965            }
4966          return CUP$parser$result;
4967
4968          /*. . . . . . . . . . . . . . . . . . . .*/
4969          case 89: // sub_references ::=
4970
{
4971              List RESULT = null;
4972         List l = new List(); RESULT = l;
4973              CUP$parser$result = new java_cup.runtime.Symbol(114/*sub_references*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
4974            }
4975          return CUP$parser$result;
4976
4977          /*. . . . . . . . . . . . . . . . . . . .*/
4978          case 88: // value_generator ::= LESSTHAN value_generator_elements GREATERTHAN
4979
{
4980              CompVG RESULT = null;
4981        int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
4982        int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
4983        List e = (List)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
4984         CompVG v = new CompVG(e); RESULT = v;
4985              CUP$parser$result = new java_cup.runtime.Symbol(120/*value_generator*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
4986            }
4987          return CUP$parser$result;
4988
4989          /*. . . . . . . . . . . . . . . . . . . .*/
4990          case 87: // value_generator ::= LESSTHAN GREATERTHAN
4991
{
4992              CompVG RESULT = null;
4993         CompVG v = new CompVG(null); RESULT = v;
4994              CUP$parser$result = new java_cup.runtime.Symbol(120/*value_generator*/, ((java_cup.runtime.Symbol)CUP$pars