001 // $ANTLR 3.0.1 /Users/trevor/Documents/School/Research/galago/galagosearch/galagosearch-tupleflow-typebuilder/src/main/antlr/org/galagosearch/tupleflow/typebuilder/GalagoTypeBuilder.g 2009-01-07 22:22:50
002
003 package org.galagosearch.tupleflow.typebuilder;
004 import java.util.HashMap;
005 import org.galagosearch.tupleflow.typebuilder.OrderSpecification;
006 import org.galagosearch.tupleflow.typebuilder.OrderedFieldSpecification;
007 import org.galagosearch.tupleflow.typebuilder.Direction;
008 import org.galagosearch.tupleflow.typebuilder.FieldSpecification;
009
010
011 import org.antlr.runtime.*;
012 import java.util.Stack;
013 import java.util.List;
014 import java.util.ArrayList;
015
016 public class GalagoTypeBuilderParser extends Parser {
017 public static final String[] tokenNames = new String[] {
018 "<invalid>", "<EOR>", "<DOWN>", "<UP>", "ID", "NEWLINE", "WS", "'bytes'", "'boolean'", "'int'", "'long'", "'short'", "'byte'", "'float'", "'double'", "'String'", "';'", "'+'", "'-'", "'order:'", "'.'", "'package'", "'type'", "'{'", "'}'"
019 };
020 public static final int WS=6;
021 public static final int EOF=-1;
022 public static final int NEWLINE=5;
023 public static final int ID=4;
024
025 public GalagoTypeBuilderParser(TokenStream input) {
026 super(input);
027 }
028
029
030 public String[] getTokenNames() { return tokenNames; }
031 public String getGrammarFileName() { return "/Users/trevor/Documents/School/Research/galago/galagosearch/galagosearch-tupleflow-typebuilder/src/main/antlr/org/galagosearch/tupleflow/typebuilder/GalagoTypeBuilder.g"; }
032
033
034
035 // $ANTLR start var_type
036 // /Users/trevor/Documents/School/Research/galago/galagosearch/galagosearch-tupleflow-typebuilder/src/main/antlr/org/galagosearch/tupleflow/typebuilder/GalagoTypeBuilder.g:17:1: var_type returns [ FieldSpecification.DataType dataType ] : ( 'bytes' | 'boolean' | 'int' | 'long' | 'short' | 'byte' | 'float' | 'double' | 'String' );
037 public final FieldSpecification.DataType var_type() throws RecognitionException {
038 FieldSpecification.DataType dataType = null;
039
040 try {
041 // /Users/trevor/Documents/School/Research/galago/galagosearch/galagosearch-tupleflow-typebuilder/src/main/antlr/org/galagosearch/tupleflow/typebuilder/GalagoTypeBuilder.g:17:59: ( 'bytes' | 'boolean' | 'int' | 'long' | 'short' | 'byte' | 'float' | 'double' | 'String' )
042 int alt1=9;
043 switch ( input.LA(1) ) {
044 case 7:
045 {
046 alt1=1;
047 }
048 break;
049 case 8:
050 {
051 alt1=2;
052 }
053 break;
054 case 9:
055 {
056 alt1=3;
057 }
058 break;
059 case 10:
060 {
061 alt1=4;
062 }
063 break;
064 case 11:
065 {
066 alt1=5;
067 }
068 break;
069 case 12:
070 {
071 alt1=6;
072 }
073 break;
074 case 13:
075 {
076 alt1=7;
077 }
078 break;
079 case 14:
080 {
081 alt1=8;
082 }
083 break;
084 case 15:
085 {
086 alt1=9;
087 }
088 break;
089 default:
090 NoViableAltException nvae =
091 new NoViableAltException("17:1: var_type returns [ FieldSpecification.DataType dataType ] : ( 'bytes' | 'boolean' | 'int' | 'long' | 'short' | 'byte' | 'float' | 'double' | 'String' );", 1, 0, input);
092
093 throw nvae;
094 }
095
096 switch (alt1) {
097 case 1 :
098 // /Users/trevor/Documents/School/Research/galago/galagosearch/galagosearch-tupleflow-typebuilder/src/main/antlr/org/galagosearch/tupleflow/typebuilder/GalagoTypeBuilder.g:18:5: 'bytes'
099 {
100 match(input,7,FOLLOW_7_in_var_type61);
101 dataType = FieldSpecification.DataType.BYTES;
102
103 }
104 break;
105 case 2 :
106 // /Users/trevor/Documents/School/Research/galago/galagosearch/galagosearch-tupleflow-typebuilder/src/main/antlr/org/galagosearch/tupleflow/typebuilder/GalagoTypeBuilder.g:19:5: 'boolean'
107 {
108 match(input,8,FOLLOW_8_in_var_type71);
109 dataType = FieldSpecification.DataType.BOOLEAN;
110
111 }
112 break;
113 case 3 :
114 // /Users/trevor/Documents/School/Research/galago/galagosearch/galagosearch-tupleflow-typebuilder/src/main/antlr/org/galagosearch/tupleflow/typebuilder/GalagoTypeBuilder.g:20:5: 'int'
115 {
116 match(input,9,FOLLOW_9_in_var_type81);
117 dataType = FieldSpecification.DataType.INT;
118
119 }
120 break;
121 case 4 :
122 // /Users/trevor/Documents/School/Research/galago/galagosearch/galagosearch-tupleflow-typebuilder/src/main/antlr/org/galagosearch/tupleflow/typebuilder/GalagoTypeBuilder.g:21:5: 'long'
123 {
124 match(input,10,FOLLOW_10_in_var_type91);
125 dataType = FieldSpecification.DataType.LONG;
126
127 }
128 break;
129 case 5 :
130 // /Users/trevor/Documents/School/Research/galago/galagosearch/galagosearch-tupleflow-typebuilder/src/main/antlr/org/galagosearch/tupleflow/typebuilder/GalagoTypeBuilder.g:22:5: 'short'
131 {
132 match(input,11,FOLLOW_11_in_var_type101);
133 dataType = FieldSpecification.DataType.SHORT;
134
135 }
136 break;
137 case 6 :
138 // /Users/trevor/Documents/School/Research/galago/galagosearch/galagosearch-tupleflow-typebuilder/src/main/antlr/org/galagosearch/tupleflow/typebuilder/GalagoTypeBuilder.g:23:5: 'byte'
139 {
140 match(input,12,FOLLOW_12_in_var_type111);
141 dataType = FieldSpecification.DataType.BYTE;
142
143 }
144 break;
145 case 7 :
146 // /Users/trevor/Documents/School/Research/galago/galagosearch/galagosearch-tupleflow-typebuilder/src/main/antlr/org/galagosearch/tupleflow/typebuilder/GalagoTypeBuilder.g:24:5: 'float'
147 {
148 match(input,13,FOLLOW_13_in_var_type121);
149 dataType = FieldSpecification.DataType.FLOAT;
150
151 }
152 break;
153 case 8 :
154 // /Users/trevor/Documents/School/Research/galago/galagosearch/galagosearch-tupleflow-typebuilder/src/main/antlr/org/galagosearch/tupleflow/typebuilder/GalagoTypeBuilder.g:25:5: 'double'
155 {
156 match(input,14,FOLLOW_14_in_var_type131);
157 dataType = FieldSpecification.DataType.DOUBLE;
158
159 }
160 break;
161 case 9 :
162 // /Users/trevor/Documents/School/Research/galago/galagosearch/galagosearch-tupleflow-typebuilder/src/main/antlr/org/galagosearch/tupleflow/typebuilder/GalagoTypeBuilder.g:26:5: 'String'
163 {
164 match(input,15,FOLLOW_15_in_var_type141);
165 dataType = FieldSpecification.DataType.STRING;
166
167 }
168 break;
169
170 }
171 }
172 catch (RecognitionException re) {
173 reportError(re);
174 recover(input,re);
175 }
176 finally {
177 }
178 return dataType;
179 }
180 // $ANTLR end var_type
181
182
183 // $ANTLR start field_def
184 // /Users/trevor/Documents/School/Research/galago/galagosearch/galagosearch-tupleflow-typebuilder/src/main/antlr/org/galagosearch/tupleflow/typebuilder/GalagoTypeBuilder.g:28:1: field_def returns [ FieldSpecification field ] : v= var_type i= ID ';' ;
185 public final FieldSpecification field_def() throws RecognitionException {
186 FieldSpecification field = null;
187
188 Token i=null;
189 FieldSpecification.DataType v = null;
190
191
192 try {
193 // /Users/trevor/Documents/School/Research/galago/galagosearch/galagosearch-tupleflow-typebuilder/src/main/antlr/org/galagosearch/tupleflow/typebuilder/GalagoTypeBuilder.g:28:48: (v= var_type i= ID ';' )
194 // /Users/trevor/Documents/School/Research/galago/galagosearch/galagosearch-tupleflow-typebuilder/src/main/antlr/org/galagosearch/tupleflow/typebuilder/GalagoTypeBuilder.g:29:5: v= var_type i= ID ';'
195 {
196 pushFollow(FOLLOW_var_type_in_field_def165);
197 v=var_type();
198 _fsp--;
199
200 i=(Token)input.LT(1);
201 match(input,ID,FOLLOW_ID_in_field_def169);
202 match(input,16,FOLLOW_16_in_field_def171);
203 field = new FieldSpecification(v, i.getText());
204
205 }
206
207 }
208 catch (RecognitionException re) {
209 reportError(re);
210 recover(input,re);
211 }
212 finally {
213 }
214 return field;
215 }
216 // $ANTLR end field_def
217
218
219 // $ANTLR start field_defs
220 // /Users/trevor/Documents/School/Research/galago/galagosearch/galagosearch-tupleflow-typebuilder/src/main/antlr/org/galagosearch/tupleflow/typebuilder/GalagoTypeBuilder.g:33:1: field_defs returns [ ArrayList<FieldSpecification> fields ] : (v= field_def )+ ;
221 public final ArrayList<FieldSpecification> field_defs() throws RecognitionException {
222 ArrayList<FieldSpecification> fields = null;
223
224 FieldSpecification v = null;
225
226
227 try {
228 // /Users/trevor/Documents/School/Research/galago/galagosearch/galagosearch-tupleflow-typebuilder/src/main/antlr/org/galagosearch/tupleflow/typebuilder/GalagoTypeBuilder.g:33:61: ( (v= field_def )+ )
229 // /Users/trevor/Documents/School/Research/galago/galagosearch/galagosearch-tupleflow-typebuilder/src/main/antlr/org/galagosearch/tupleflow/typebuilder/GalagoTypeBuilder.g:34:5: (v= field_def )+
230 {
231 fields = new ArrayList<FieldSpecification>();
232 // /Users/trevor/Documents/School/Research/galago/galagosearch/galagosearch-tupleflow-typebuilder/src/main/antlr/org/galagosearch/tupleflow/typebuilder/GalagoTypeBuilder.g:35:5: (v= field_def )+
233 int cnt2=0;
234 loop2:
235 do {
236 int alt2=2;
237 int LA2_0 = input.LA(1);
238
239 if ( ((LA2_0>=7 && LA2_0<=15)) ) {
240 alt2=1;
241 }
242
243
244 switch (alt2) {
245 case 1 :
246 // /Users/trevor/Documents/School/Research/galago/galagosearch/galagosearch-tupleflow-typebuilder/src/main/antlr/org/galagosearch/tupleflow/typebuilder/GalagoTypeBuilder.g:35:6: v= field_def
247 {
248 pushFollow(FOLLOW_field_def_in_field_defs207);
249 v=field_def();
250 _fsp--;
251
252 fields.add(v);
253
254 }
255 break;
256
257 default :
258 if ( cnt2 >= 1 ) break loop2;
259 EarlyExitException eee =
260 new EarlyExitException(2, input);
261 throw eee;
262 }
263 cnt2++;
264 } while (true);
265
266
267 }
268
269 }
270 catch (RecognitionException re) {
271 reportError(re);
272 recover(input,re);
273 }
274 finally {
275 }
276 return fields;
277 }
278 // $ANTLR end field_defs
279
280
281 // $ANTLR start order_field
282 // /Users/trevor/Documents/School/Research/galago/galagosearch/galagosearch-tupleflow-typebuilder/src/main/antlr/org/galagosearch/tupleflow/typebuilder/GalagoTypeBuilder.g:38:1: order_field returns [ OrderedFieldSpecification ord_field ] : ( '+' | '-' ) i= ID ;
283 public final OrderedFieldSpecification order_field() throws RecognitionException {
284 OrderedFieldSpecification ord_field = null;
285
286 Token i=null;
287
288 try {
289 // /Users/trevor/Documents/School/Research/galago/galagosearch/galagosearch-tupleflow-typebuilder/src/main/antlr/org/galagosearch/tupleflow/typebuilder/GalagoTypeBuilder.g:38:61: ( ( '+' | '-' ) i= ID )
290 // /Users/trevor/Documents/School/Research/galago/galagosearch/galagosearch-tupleflow-typebuilder/src/main/antlr/org/galagosearch/tupleflow/typebuilder/GalagoTypeBuilder.g:39:5: ( '+' | '-' ) i= ID
291 {
292 Direction direction = Direction.ASCENDING;
293 // /Users/trevor/Documents/School/Research/galago/galagosearch/galagosearch-tupleflow-typebuilder/src/main/antlr/org/galagosearch/tupleflow/typebuilder/GalagoTypeBuilder.g:40:5: ( '+' | '-' )
294 int alt3=2;
295 int LA3_0 = input.LA(1);
296
297 if ( (LA3_0==17) ) {
298 alt3=1;
299 }
300 else if ( (LA3_0==18) ) {
301 alt3=2;
302 }
303 else {
304 NoViableAltException nvae =
305 new NoViableAltException("40:5: ( '+' | '-' )", 3, 0, input);
306
307 throw nvae;
308 }
309 switch (alt3) {
310 case 1 :
311 // /Users/trevor/Documents/School/Research/galago/galagosearch/galagosearch-tupleflow-typebuilder/src/main/antlr/org/galagosearch/tupleflow/typebuilder/GalagoTypeBuilder.g:40:6: '+'
312 {
313 match(input,17,FOLLOW_17_in_order_field246);
314
315 }
316 break;
317 case 2 :
318 // /Users/trevor/Documents/School/Research/galago/galagosearch/galagosearch-tupleflow-typebuilder/src/main/antlr/org/galagosearch/tupleflow/typebuilder/GalagoTypeBuilder.g:40:12: '-'
319 {
320 match(input,18,FOLLOW_18_in_order_field250);
321 direction = Direction.DESCENDING;
322
323 }
324 break;
325
326 }
327
328 i=(Token)input.LT(1);
329 match(input,ID,FOLLOW_ID_in_order_field261);
330 ord_field = new OrderedFieldSpecification(direction, i.getText());
331
332 }
333
334 }
335 catch (RecognitionException re) {
336 reportError(re);
337 recover(input,re);
338 }
339 finally {
340 }
341 return ord_field;
342 }
343 // $ANTLR end order_field
344
345
346 // $ANTLR start order_def
347 // /Users/trevor/Documents/School/Research/galago/galagosearch/galagosearch-tupleflow-typebuilder/src/main/antlr/org/galagosearch/tupleflow/typebuilder/GalagoTypeBuilder.g:43:1: order_def returns [ OrderSpecification defs ] : 'order:' (o= order_field )* ';' ;
348 public final OrderSpecification order_def() throws RecognitionException {
349 OrderSpecification defs = null;
350
351 OrderedFieldSpecification o = null;
352
353
354 try {
355 // /Users/trevor/Documents/School/Research/galago/galagosearch/galagosearch-tupleflow-typebuilder/src/main/antlr/org/galagosearch/tupleflow/typebuilder/GalagoTypeBuilder.g:43:47: ( 'order:' (o= order_field )* ';' )
356 // /Users/trevor/Documents/School/Research/galago/galagosearch/galagosearch-tupleflow-typebuilder/src/main/antlr/org/galagosearch/tupleflow/typebuilder/GalagoTypeBuilder.g:44:5: 'order:' (o= order_field )* ';'
357 {
358 defs = new OrderSpecification();
359 match(input,19,FOLLOW_19_in_order_def289);
360 // /Users/trevor/Documents/School/Research/galago/galagosearch/galagosearch-tupleflow-typebuilder/src/main/antlr/org/galagosearch/tupleflow/typebuilder/GalagoTypeBuilder.g:45:14: (o= order_field )*
361 loop4:
362 do {
363 int alt4=2;
364 int LA4_0 = input.LA(1);
365
366 if ( ((LA4_0>=17 && LA4_0<=18)) ) {
367 alt4=1;
368 }
369
370
371 switch (alt4) {
372 case 1 :
373 // /Users/trevor/Documents/School/Research/galago/galagosearch/galagosearch-tupleflow-typebuilder/src/main/antlr/org/galagosearch/tupleflow/typebuilder/GalagoTypeBuilder.g:45:15: o= order_field
374 {
375 pushFollow(FOLLOW_order_field_in_order_def294);
376 o=order_field();
377 _fsp--;
378
379 defs.addOrderedField(o);
380
381 }
382 break;
383
384 default :
385 break loop4;
386 }
387 } while (true);
388
389 match(input,16,FOLLOW_16_in_order_def300);
390
391 }
392
393 }
394 catch (RecognitionException re) {
395 reportError(re);
396 recover(input,re);
397 }
398 finally {
399 }
400 return defs;
401 }
402 // $ANTLR end order_def
403
404
405 // $ANTLR start order_defs
406 // /Users/trevor/Documents/School/Research/galago/galagosearch/galagosearch-tupleflow-typebuilder/src/main/antlr/org/galagosearch/tupleflow/typebuilder/GalagoTypeBuilder.g:47:1: order_defs returns [ ArrayList<OrderSpecification> defs ] : (o= order_def )+ ;
407 public final ArrayList<OrderSpecification> order_defs() throws RecognitionException {
408 ArrayList<OrderSpecification> defs = null;
409
410 OrderSpecification o = null;
411
412
413 try {
414 // /Users/trevor/Documents/School/Research/galago/galagosearch/galagosearch-tupleflow-typebuilder/src/main/antlr/org/galagosearch/tupleflow/typebuilder/GalagoTypeBuilder.g:47:59: ( (o= order_def )+ )
415 // /Users/trevor/Documents/School/Research/galago/galagosearch/galagosearch-tupleflow-typebuilder/src/main/antlr/org/galagosearch/tupleflow/typebuilder/GalagoTypeBuilder.g:48:5: (o= order_def )+
416 {
417 defs = new ArrayList<OrderSpecification>();
418 // /Users/trevor/Documents/School/Research/galago/galagosearch/galagosearch-tupleflow-typebuilder/src/main/antlr/org/galagosearch/tupleflow/typebuilder/GalagoTypeBuilder.g:49:5: (o= order_def )+
419 int cnt5=0;
420 loop5:
421 do {
422 int alt5=2;
423 int LA5_0 = input.LA(1);
424
425 if ( (LA5_0==19) ) {
426 alt5=1;
427 }
428
429
430 switch (alt5) {
431 case 1 :
432 // /Users/trevor/Documents/School/Research/galago/galagosearch/galagosearch-tupleflow-typebuilder/src/main/antlr/org/galagosearch/tupleflow/typebuilder/GalagoTypeBuilder.g:49:6: o= order_def
433 {
434 pushFollow(FOLLOW_order_def_in_order_defs330);
435 o=order_def();
436 _fsp--;
437
438 defs.add(o);
439
440 }
441 break;
442
443 default :
444 if ( cnt5 >= 1 ) break loop5;
445 EarlyExitException eee =
446 new EarlyExitException(5, input);
447 throw eee;
448 }
449 cnt5++;
450 } while (true);
451
452
453 }
454
455 }
456 catch (RecognitionException re) {
457 reportError(re);
458 recover(input,re);
459 }
460 finally {
461 }
462 return defs;
463 }
464 // $ANTLR end order_defs
465
466 public static class package_name_return extends ParserRuleReturnScope {
467 public String name;
468 };
469
470 // $ANTLR start package_name
471 // /Users/trevor/Documents/School/Research/galago/galagosearch/galagosearch-tupleflow-typebuilder/src/main/antlr/org/galagosearch/tupleflow/typebuilder/GalagoTypeBuilder.g:52:1: package_name returns [ String name ] : ID ( '.' ID )* ;
472 public final package_name_return package_name() throws RecognitionException {
473 package_name_return retval = new package_name_return();
474 retval.start = input.LT(1);
475
476 try {
477 // /Users/trevor/Documents/School/Research/galago/galagosearch/galagosearch-tupleflow-typebuilder/src/main/antlr/org/galagosearch/tupleflow/typebuilder/GalagoTypeBuilder.g:52:38: ( ID ( '.' ID )* )
478 // /Users/trevor/Documents/School/Research/galago/galagosearch/galagosearch-tupleflow-typebuilder/src/main/antlr/org/galagosearch/tupleflow/typebuilder/GalagoTypeBuilder.g:53:5: ID ( '.' ID )*
479 {
480 match(input,ID,FOLLOW_ID_in_package_name355);
481 // /Users/trevor/Documents/School/Research/galago/galagosearch/galagosearch-tupleflow-typebuilder/src/main/antlr/org/galagosearch/tupleflow/typebuilder/GalagoTypeBuilder.g:53:8: ( '.' ID )*
482 loop6:
483 do {
484 int alt6=2;
485 int LA6_0 = input.LA(1);
486
487 if ( (LA6_0==20) ) {
488 alt6=1;
489 }
490
491
492 switch (alt6) {
493 case 1 :
494 // /Users/trevor/Documents/School/Research/galago/galagosearch/galagosearch-tupleflow-typebuilder/src/main/antlr/org/galagosearch/tupleflow/typebuilder/GalagoTypeBuilder.g:53:9: '.' ID
495 {
496 match(input,20,FOLLOW_20_in_package_name358);
497 match(input,ID,FOLLOW_ID_in_package_name360);
498
499 }
500 break;
501
502 default :
503 break loop6;
504 }
505 } while (true);
506
507 retval.name = input.toString(retval.start,input.LT(-1));
508
509 }
510
511 retval.stop = input.LT(-1);
512
513 }
514 catch (RecognitionException re) {
515 reportError(re);
516 recover(input,re);
517 }
518 finally {
519 }
520 return retval;
521 }
522 // $ANTLR end package_name
523
524
525 // $ANTLR start package_def
526 // /Users/trevor/Documents/School/Research/galago/galagosearch/galagosearch-tupleflow-typebuilder/src/main/antlr/org/galagosearch/tupleflow/typebuilder/GalagoTypeBuilder.g:56:1: package_def returns [ String name ] : 'package' pn= package_name ';' ;
527 public final String package_def() throws RecognitionException {
528 String name = null;
529
530 package_name_return pn = null;
531
532
533 try {
534 // /Users/trevor/Documents/School/Research/galago/galagosearch/galagosearch-tupleflow-typebuilder/src/main/antlr/org/galagosearch/tupleflow/typebuilder/GalagoTypeBuilder.g:56:37: ( 'package' pn= package_name ';' )
535 // /Users/trevor/Documents/School/Research/galago/galagosearch/galagosearch-tupleflow-typebuilder/src/main/antlr/org/galagosearch/tupleflow/typebuilder/GalagoTypeBuilder.g:57:5: 'package' pn= package_name ';'
536 {
537 match(input,21,FOLLOW_21_in_package_def385);
538 pushFollow(FOLLOW_package_name_in_package_def389);
539 pn=package_name();
540 _fsp--;
541
542 match(input,16,FOLLOW_16_in_package_def391);
543 name = pn.name;
544
545 }
546
547 }
548 catch (RecognitionException re) {
549 reportError(re);
550 recover(input,re);
551 }
552 finally {
553 }
554 return name;
555 }
556 // $ANTLR end package_def
557
558
559 // $ANTLR start type_def
560 // /Users/trevor/Documents/School/Research/galago/galagosearch/galagosearch-tupleflow-typebuilder/src/main/antlr/org/galagosearch/tupleflow/typebuilder/GalagoTypeBuilder.g:60:1: type_def returns [ TypeSpecification spec ] : p= package_def 'type' i= ID '{' v= field_defs o= order_defs '}' ;
561 public final TypeSpecification type_def() throws RecognitionException {
562 TypeSpecification spec = null;
563
564 Token i=null;
565 String p = null;
566
567 ArrayList<FieldSpecification> v = null;
568
569 ArrayList<OrderSpecification> o = null;
570
571
572 try {
573 // /Users/trevor/Documents/School/Research/galago/galagosearch/galagosearch-tupleflow-typebuilder/src/main/antlr/org/galagosearch/tupleflow/typebuilder/GalagoTypeBuilder.g:60:45: (p= package_def 'type' i= ID '{' v= field_defs o= order_defs '}' )
574 // /Users/trevor/Documents/School/Research/galago/galagosearch/galagosearch-tupleflow-typebuilder/src/main/antlr/org/galagosearch/tupleflow/typebuilder/GalagoTypeBuilder.g:61:5: p= package_def 'type' i= ID '{' v= field_defs o= order_defs '}'
575 {
576
577 spec = new TypeSpecification();
578
579 pushFollow(FOLLOW_package_def_in_type_def471);
580 p=package_def();
581 _fsp--;
582
583 spec.setPackageName(p);
584 match(input,22,FOLLOW_22_in_type_def479);
585 i=(Token)input.LT(1);
586 match(input,ID,FOLLOW_ID_in_type_def483);
587 spec.setTypeName(i.getText());
588 match(input,23,FOLLOW_23_in_type_def491);
589 pushFollow(FOLLOW_field_defs_in_type_def499);
590 v=field_defs();
591 _fsp--;
592
593 spec.setFields(v);
594 pushFollow(FOLLOW_order_defs_in_type_def509);
595 o=order_defs();
596 _fsp--;
597
598 spec.setOrders(o);
599 match(input,24,FOLLOW_24_in_type_def517);
600
601 }
602
603 }
604 catch (RecognitionException re) {
605 reportError(re);
606 recover(input,re);
607 }
608 finally {
609 }
610 return spec;
611 }
612 // $ANTLR end type_def
613
614
615
616
617 public static final BitSet FOLLOW_7_in_var_type61 = new BitSet(new long[]{0x0000000000000002L});
618 public static final BitSet FOLLOW_8_in_var_type71 = new BitSet(new long[]{0x0000000000000002L});
619 public static final BitSet FOLLOW_9_in_var_type81 = new BitSet(new long[]{0x0000000000000002L});
620 public static final BitSet FOLLOW_10_in_var_type91 = new BitSet(new long[]{0x0000000000000002L});
621 public static final BitSet FOLLOW_11_in_var_type101 = new BitSet(new long[]{0x0000000000000002L});
622 public static final BitSet FOLLOW_12_in_var_type111 = new BitSet(new long[]{0x0000000000000002L});
623 public static final BitSet FOLLOW_13_in_var_type121 = new BitSet(new long[]{0x0000000000000002L});
624 public static final BitSet FOLLOW_14_in_var_type131 = new BitSet(new long[]{0x0000000000000002L});
625 public static final BitSet FOLLOW_15_in_var_type141 = new BitSet(new long[]{0x0000000000000002L});
626 public static final BitSet FOLLOW_var_type_in_field_def165 = new BitSet(new long[]{0x0000000000000010L});
627 public static final BitSet FOLLOW_ID_in_field_def169 = new BitSet(new long[]{0x0000000000010000L});
628 public static final BitSet FOLLOW_16_in_field_def171 = new BitSet(new long[]{0x0000000000000002L});
629 public static final BitSet FOLLOW_field_def_in_field_defs207 = new BitSet(new long[]{0x000000000000FF82L});
630 public static final BitSet FOLLOW_17_in_order_field246 = new BitSet(new long[]{0x0000000000000010L});
631 public static final BitSet FOLLOW_18_in_order_field250 = new BitSet(new long[]{0x0000000000000010L});
632 public static final BitSet FOLLOW_ID_in_order_field261 = new BitSet(new long[]{0x0000000000000002L});
633 public static final BitSet FOLLOW_19_in_order_def289 = new BitSet(new long[]{0x0000000000070000L});
634 public static final BitSet FOLLOW_order_field_in_order_def294 = new BitSet(new long[]{0x0000000000070000L});
635 public static final BitSet FOLLOW_16_in_order_def300 = new BitSet(new long[]{0x0000000000000002L});
636 public static final BitSet FOLLOW_order_def_in_order_defs330 = new BitSet(new long[]{0x0000000000080002L});
637 public static final BitSet FOLLOW_ID_in_package_name355 = new BitSet(new long[]{0x0000000000100002L});
638 public static final BitSet FOLLOW_20_in_package_name358 = new BitSet(new long[]{0x0000000000000010L});
639 public static final BitSet FOLLOW_ID_in_package_name360 = new BitSet(new long[]{0x0000000000100002L});
640 public static final BitSet FOLLOW_21_in_package_def385 = new BitSet(new long[]{0x0000000000000010L});
641 public static final BitSet FOLLOW_package_name_in_package_def389 = new BitSet(new long[]{0x0000000000010000L});
642 public static final BitSet FOLLOW_16_in_package_def391 = new BitSet(new long[]{0x0000000000000002L});
643 public static final BitSet FOLLOW_package_def_in_type_def471 = new BitSet(new long[]{0x0000000000400000L});
644 public static final BitSet FOLLOW_22_in_type_def479 = new BitSet(new long[]{0x0000000000000010L});
645 public static final BitSet FOLLOW_ID_in_type_def483 = new BitSet(new long[]{0x0000000000800000L});
646 public static final BitSet FOLLOW_23_in_type_def491 = new BitSet(new long[]{0x000000000000FF80L});
647 public static final BitSet FOLLOW_field_defs_in_type_def499 = new BitSet(new long[]{0x0000000000080000L});
648 public static final BitSet FOLLOW_order_defs_in_type_def509 = new BitSet(new long[]{0x0000000001000000L});
649 public static final BitSet FOLLOW_24_in_type_def517 = new BitSet(new long[]{0x0000000000000002L});
650
651 }