ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/OpenMD/branches/development/src/mdParser/MDParser.cpp
Revision: 1731
Committed: Thu May 31 12:25:30 2012 UTC (12 years, 11 months ago) by gezelter
File size: 41742 byte(s)
Log Message:
Reorganized source directories, added RNEMD and flucQ blocks for
options parsing.

File Contents

# User Rev Content
1 gezelter 1731 /* $ANTLR 2.7.7 (20110725): "MDParser.g" -> "MDParser.cpp"$ */
2 tim 770 #include "MDParser.hpp"
3     #include <antlr/NoViableAltException.hpp>
4     #include <antlr/SemanticException.hpp>
5     #include <antlr/ASTFactory.hpp>
6     #line 1 "MDParser.g"
7     #line 8 "MDParser.cpp"
8     MDParser::MDParser(ANTLR_USE_NAMESPACE(antlr)TokenBuffer& tokenBuf, int k)
9     : ANTLR_USE_NAMESPACE(antlr)LLkParser(tokenBuf,k)
10     {
11     }
12    
13     MDParser::MDParser(ANTLR_USE_NAMESPACE(antlr)TokenBuffer& tokenBuf)
14     : ANTLR_USE_NAMESPACE(antlr)LLkParser(tokenBuf,3)
15     {
16     }
17    
18     MDParser::MDParser(ANTLR_USE_NAMESPACE(antlr)TokenStream& lexer, int k)
19     : ANTLR_USE_NAMESPACE(antlr)LLkParser(lexer,k)
20     {
21     }
22    
23     MDParser::MDParser(ANTLR_USE_NAMESPACE(antlr)TokenStream& lexer)
24     : ANTLR_USE_NAMESPACE(antlr)LLkParser(lexer,3)
25     {
26     }
27    
28     MDParser::MDParser(const ANTLR_USE_NAMESPACE(antlr)ParserSharedInputState& state)
29     : ANTLR_USE_NAMESPACE(antlr)LLkParser(state,3)
30     {
31     }
32    
33     void MDParser::mdfile() {
34     returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
35     ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
36     ANTLR_USE_NAMESPACE(antlr)RefAST mdfile_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
37    
38     try { // for error handling
39     { // ( ... )*
40     for (;;) {
41     if ((_tokenSet_0.member(LA(1)))) {
42     statement();
43     astFactory->addASTChild( currentAST, returnAST );
44     }
45     else {
46     goto _loop3;
47     }
48    
49     }
50     _loop3:;
51     } // ( ... )*
52     mdfile_AST = currentAST.root;
53     }
54     catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
55     reportError(ex);
56 gezelter 1277 recover(ex,_tokenSet_1);
57 tim 770 }
58     returnAST = mdfile_AST;
59     }
60    
61     void MDParser::statement() {
62     returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
63     ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
64     ANTLR_USE_NAMESPACE(antlr)RefAST statement_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
65    
66     try { // for error handling
67     switch ( LA(1)) {
68     case ID:
69     {
70     assignment();
71     astFactory->addASTChild( currentAST, returnAST );
72     statement_AST = currentAST.root;
73     break;
74     }
75     case COMPONENT:
76     {
77     componentblock();
78     astFactory->addASTChild( currentAST, returnAST );
79     statement_AST = currentAST.root;
80     break;
81     }
82     case MOLECULE:
83     {
84     moleculeblock();
85     astFactory->addASTChild( currentAST, returnAST );
86     statement_AST = currentAST.root;
87     break;
88     }
89     case ZCONSTRAINT:
90     {
91     zconstraintblock();
92     astFactory->addASTChild( currentAST, returnAST );
93     statement_AST = currentAST.root;
94     break;
95     }
96 cli2 1360 case RESTRAINT:
97     {
98     restraintblock();
99     astFactory->addASTChild( currentAST, returnAST );
100     statement_AST = currentAST.root;
101     break;
102     }
103 gezelter 1731 case FLUCQ:
104     {
105     flucqblock();
106     astFactory->addASTChild( currentAST, returnAST );
107     statement_AST = currentAST.root;
108     break;
109     }
110     case RNEMD:
111     {
112     rnemdblock();
113     astFactory->addASTChild( currentAST, returnAST );
114     statement_AST = currentAST.root;
115     break;
116     }
117 tim 770 default:
118     {
119     throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
120     }
121     }
122     }
123     catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
124     reportError(ex);
125 gezelter 1277 recover(ex,_tokenSet_2);
126 tim 770 }
127     returnAST = statement_AST;
128     }
129    
130     void MDParser::assignment() {
131     returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
132     ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
133     ANTLR_USE_NAMESPACE(antlr)RefAST assignment_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
134    
135     try { // for error handling
136     ANTLR_USE_NAMESPACE(antlr)RefAST tmp1_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
137     tmp1_AST = astFactory->create(LT(1));
138     astFactory->addASTChild(currentAST, tmp1_AST);
139     match(ID);
140     ANTLR_USE_NAMESPACE(antlr)RefAST tmp2_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
141     tmp2_AST = astFactory->create(LT(1));
142     astFactory->makeASTRoot(currentAST, tmp2_AST);
143     match(ASSIGNEQUAL);
144     constant();
145     astFactory->addASTChild( currentAST, returnAST );
146     match(SEMICOLON);
147     assignment_AST = currentAST.root;
148     }
149     catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
150     reportError(ex);
151 gezelter 1277 recover(ex,_tokenSet_3);
152 tim 770 }
153     returnAST = assignment_AST;
154     }
155    
156     void MDParser::componentblock() {
157     returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
158     ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
159     ANTLR_USE_NAMESPACE(antlr)RefAST componentblock_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
160    
161     try { // for error handling
162     ANTLR_USE_NAMESPACE(antlr)RefAST tmp4_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
163     tmp4_AST = astFactory->create(LT(1));
164     astFactory->makeASTRoot(currentAST, tmp4_AST);
165     match(COMPONENT);
166     match(LCURLY);
167     { // ( ... )*
168     for (;;) {
169     if ((LA(1) == ID)) {
170     assignment();
171     astFactory->addASTChild( currentAST, returnAST );
172     }
173     else {
174     goto _loop9;
175     }
176    
177     }
178     _loop9:;
179     } // ( ... )*
180     ANTLR_USE_NAMESPACE(antlr)RefAST tmp6_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
181     tmp6_AST = astFactory->create(LT(1));
182     astFactory->addASTChild(currentAST, tmp6_AST);
183     match(RCURLY);
184 gezelter 1731 #line 71 "MDParser.g"
185 tim 770 tmp6_AST->setType(ENDBLOCK);
186 gezelter 1731 #line 187 "MDParser.cpp"
187 tim 770 componentblock_AST = currentAST.root;
188     }
189     catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
190     reportError(ex);
191 gezelter 1277 recover(ex,_tokenSet_2);
192 tim 770 }
193     returnAST = componentblock_AST;
194     }
195    
196     void MDParser::moleculeblock() {
197     returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
198     ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
199     ANTLR_USE_NAMESPACE(antlr)RefAST moleculeblock_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
200    
201     try { // for error handling
202     ANTLR_USE_NAMESPACE(antlr)RefAST tmp7_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
203     tmp7_AST = astFactory->create(LT(1));
204     astFactory->makeASTRoot(currentAST, tmp7_AST);
205     match(MOLECULE);
206     match(LCURLY);
207     { // ( ... )*
208     for (;;) {
209     if ((_tokenSet_4.member(LA(1)))) {
210     moleculestatement();
211     astFactory->addASTChild( currentAST, returnAST );
212     }
213     else {
214 gezelter 1731 goto _loop24;
215 tim 770 }
216    
217     }
218 gezelter 1731 _loop24:;
219 tim 770 } // ( ... )*
220     ANTLR_USE_NAMESPACE(antlr)RefAST tmp9_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
221     tmp9_AST = astFactory->create(LT(1));
222     astFactory->addASTChild(currentAST, tmp9_AST);
223     match(RCURLY);
224 gezelter 1731 #line 86 "MDParser.g"
225 tim 770 tmp9_AST->setType(ENDBLOCK);
226 gezelter 1731 #line 227 "MDParser.cpp"
227 tim 770 moleculeblock_AST = currentAST.root;
228     }
229     catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
230     reportError(ex);
231 gezelter 1277 recover(ex,_tokenSet_2);
232 tim 770 }
233     returnAST = moleculeblock_AST;
234     }
235    
236     void MDParser::zconstraintblock() {
237     returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
238     ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
239     ANTLR_USE_NAMESPACE(antlr)RefAST zconstraintblock_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
240    
241     try { // for error handling
242     ANTLR_USE_NAMESPACE(antlr)RefAST tmp10_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
243     tmp10_AST = astFactory->create(LT(1));
244     astFactory->makeASTRoot(currentAST, tmp10_AST);
245     match(ZCONSTRAINT);
246     match(LCURLY);
247     { // ( ... )*
248     for (;;) {
249     if ((LA(1) == ID)) {
250     assignment();
251     astFactory->addASTChild( currentAST, returnAST );
252     }
253     else {
254     goto _loop12;
255     }
256    
257     }
258     _loop12:;
259     } // ( ... )*
260     ANTLR_USE_NAMESPACE(antlr)RefAST tmp12_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
261     tmp12_AST = astFactory->create(LT(1));
262     astFactory->addASTChild(currentAST, tmp12_AST);
263     match(RCURLY);
264 gezelter 1731 #line 74 "MDParser.g"
265 tim 770 tmp12_AST->setType(ENDBLOCK);
266 gezelter 1731 #line 267 "MDParser.cpp"
267 tim 770 zconstraintblock_AST = currentAST.root;
268     }
269     catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
270     reportError(ex);
271 gezelter 1277 recover(ex,_tokenSet_2);
272 tim 770 }
273     returnAST = zconstraintblock_AST;
274     }
275    
276 cli2 1360 void MDParser::restraintblock() {
277     returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
278     ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
279     ANTLR_USE_NAMESPACE(antlr)RefAST restraintblock_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
280    
281     try { // for error handling
282     ANTLR_USE_NAMESPACE(antlr)RefAST tmp13_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
283     tmp13_AST = astFactory->create(LT(1));
284     astFactory->makeASTRoot(currentAST, tmp13_AST);
285     match(RESTRAINT);
286     match(LCURLY);
287     { // ( ... )*
288     for (;;) {
289     if ((LA(1) == ID)) {
290     assignment();
291     astFactory->addASTChild( currentAST, returnAST );
292     }
293     else {
294     goto _loop15;
295     }
296    
297     }
298     _loop15:;
299     } // ( ... )*
300     ANTLR_USE_NAMESPACE(antlr)RefAST tmp15_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
301     tmp15_AST = astFactory->create(LT(1));
302     astFactory->addASTChild(currentAST, tmp15_AST);
303     match(RCURLY);
304 gezelter 1731 #line 77 "MDParser.g"
305 cli2 1360 tmp15_AST->setType(ENDBLOCK);
306 gezelter 1731 #line 307 "MDParser.cpp"
307 cli2 1360 restraintblock_AST = currentAST.root;
308     }
309     catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
310     reportError(ex);
311     recover(ex,_tokenSet_2);
312     }
313     returnAST = restraintblock_AST;
314     }
315    
316 gezelter 1731 void MDParser::flucqblock() {
317     returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
318     ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
319     ANTLR_USE_NAMESPACE(antlr)RefAST flucqblock_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
320    
321     try { // for error handling
322     ANTLR_USE_NAMESPACE(antlr)RefAST tmp16_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
323     tmp16_AST = astFactory->create(LT(1));
324     astFactory->makeASTRoot(currentAST, tmp16_AST);
325     match(FLUCQ);
326     match(LCURLY);
327     { // ( ... )*
328     for (;;) {
329     if ((LA(1) == ID)) {
330     assignment();
331     astFactory->addASTChild( currentAST, returnAST );
332     }
333     else {
334     goto _loop18;
335     }
336    
337     }
338     _loop18:;
339     } // ( ... )*
340     ANTLR_USE_NAMESPACE(antlr)RefAST tmp18_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
341     tmp18_AST = astFactory->create(LT(1));
342     astFactory->addASTChild(currentAST, tmp18_AST);
343     match(RCURLY);
344     #line 80 "MDParser.g"
345     tmp18_AST->setType(ENDBLOCK);
346     #line 347 "MDParser.cpp"
347     flucqblock_AST = currentAST.root;
348     }
349     catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
350     reportError(ex);
351     recover(ex,_tokenSet_2);
352     }
353     returnAST = flucqblock_AST;
354     }
355    
356     void MDParser::rnemdblock() {
357     returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
358     ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
359     ANTLR_USE_NAMESPACE(antlr)RefAST rnemdblock_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
360    
361     try { // for error handling
362     ANTLR_USE_NAMESPACE(antlr)RefAST tmp19_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
363     tmp19_AST = astFactory->create(LT(1));
364     astFactory->makeASTRoot(currentAST, tmp19_AST);
365     match(RNEMD);
366     match(LCURLY);
367     { // ( ... )*
368     for (;;) {
369     if ((LA(1) == ID)) {
370     assignment();
371     astFactory->addASTChild( currentAST, returnAST );
372     }
373     else {
374     goto _loop21;
375     }
376    
377     }
378     _loop21:;
379     } // ( ... )*
380     ANTLR_USE_NAMESPACE(antlr)RefAST tmp21_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
381     tmp21_AST = astFactory->create(LT(1));
382     astFactory->addASTChild(currentAST, tmp21_AST);
383     match(RCURLY);
384     #line 83 "MDParser.g"
385     tmp21_AST->setType(ENDBLOCK);
386     #line 387 "MDParser.cpp"
387     rnemdblock_AST = currentAST.root;
388     }
389     catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
390     reportError(ex);
391     recover(ex,_tokenSet_2);
392     }
393     returnAST = rnemdblock_AST;
394     }
395    
396 tim 770 void MDParser::constant() {
397     returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
398     ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
399     ANTLR_USE_NAMESPACE(antlr)RefAST constant_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
400    
401     try { // for error handling
402     switch ( LA(1)) {
403 tim 814 case NUM_INT:
404     case NUM_LONG:
405 tim 770 {
406 tim 814 intConst();
407 tim 770 astFactory->addASTChild( currentAST, returnAST );
408     constant_AST = currentAST.root;
409     break;
410     }
411 tim 814 case NUM_FLOAT:
412     case NUM_DOUBLE:
413     {
414     floatConst();
415     astFactory->addASTChild( currentAST, returnAST );
416     constant_AST = currentAST.root;
417     break;
418     }
419 tim 770 case ID:
420     {
421 gezelter 1731 ANTLR_USE_NAMESPACE(antlr)RefAST tmp22_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
422     tmp22_AST = astFactory->create(LT(1));
423     astFactory->addASTChild(currentAST, tmp22_AST);
424 tim 770 match(ID);
425     constant_AST = currentAST.root;
426     break;
427     }
428     case StringLiteral:
429     {
430 gezelter 1731 ANTLR_USE_NAMESPACE(antlr)RefAST tmp23_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
431     tmp23_AST = astFactory->create(LT(1));
432     astFactory->addASTChild(currentAST, tmp23_AST);
433 tim 770 match(StringLiteral);
434     constant_AST = currentAST.root;
435     break;
436     }
437     default:
438     {
439     throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
440     }
441     }
442     }
443     catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
444     reportError(ex);
445 gezelter 1277 recover(ex,_tokenSet_5);
446 tim 770 }
447     returnAST = constant_AST;
448     }
449    
450 tim 814 void MDParser::intConst() {
451 tim 770 returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
452     ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
453 tim 814 ANTLR_USE_NAMESPACE(antlr)RefAST intConst_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
454 tim 770
455     try { // for error handling
456     switch ( LA(1)) {
457 tim 814 case NUM_INT:
458 tim 770 {
459 gezelter 1731 ANTLR_USE_NAMESPACE(antlr)RefAST tmp24_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
460     tmp24_AST = astFactory->create(LT(1));
461     astFactory->addASTChild(currentAST, tmp24_AST);
462 tim 814 match(NUM_INT);
463     intConst_AST = currentAST.root;
464 tim 770 break;
465     }
466 tim 814 case NUM_LONG:
467 tim 770 {
468 gezelter 1731 ANTLR_USE_NAMESPACE(antlr)RefAST tmp25_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
469     tmp25_AST = astFactory->create(LT(1));
470     astFactory->addASTChild(currentAST, tmp25_AST);
471 tim 814 match(NUM_LONG);
472     intConst_AST = currentAST.root;
473 tim 770 break;
474     }
475     default:
476     {
477     throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
478     }
479     }
480     }
481     catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
482     reportError(ex);
483 gezelter 1277 recover(ex,_tokenSet_6);
484 tim 770 }
485 tim 814 returnAST = intConst_AST;
486 tim 770 }
487    
488 tim 814 void MDParser::floatConst() {
489     returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
490     ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
491     ANTLR_USE_NAMESPACE(antlr)RefAST floatConst_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
492    
493     try { // for error handling
494     switch ( LA(1)) {
495     case NUM_FLOAT:
496     {
497 gezelter 1731 ANTLR_USE_NAMESPACE(antlr)RefAST tmp26_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
498     tmp26_AST = astFactory->create(LT(1));
499     astFactory->addASTChild(currentAST, tmp26_AST);
500 tim 814 match(NUM_FLOAT);
501     floatConst_AST = currentAST.root;
502     break;
503     }
504     case NUM_DOUBLE:
505     {
506 gezelter 1731 ANTLR_USE_NAMESPACE(antlr)RefAST tmp27_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
507     tmp27_AST = astFactory->create(LT(1));
508     astFactory->addASTChild(currentAST, tmp27_AST);
509 tim 814 match(NUM_DOUBLE);
510     floatConst_AST = currentAST.root;
511     break;
512     }
513     default:
514     {
515     throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
516     }
517     }
518     }
519     catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
520     reportError(ex);
521 gezelter 1277 recover(ex,_tokenSet_7);
522 tim 814 }
523     returnAST = floatConst_AST;
524     }
525    
526 tim 770 void MDParser::moleculestatement() {
527     returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
528     ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
529     ANTLR_USE_NAMESPACE(antlr)RefAST moleculestatement_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
530    
531     try { // for error handling
532     switch ( LA(1)) {
533     case ID:
534     {
535     assignment();
536     astFactory->addASTChild( currentAST, returnAST );
537     moleculestatement_AST = currentAST.root;
538     break;
539     }
540     case ATOM:
541     {
542     atomblock();
543     astFactory->addASTChild( currentAST, returnAST );
544     moleculestatement_AST = currentAST.root;
545     break;
546     }
547     case BOND:
548     {
549     bondblock();
550     astFactory->addASTChild( currentAST, returnAST );
551     moleculestatement_AST = currentAST.root;
552     break;
553     }
554     case BEND:
555     {
556     bendblock();
557     astFactory->addASTChild( currentAST, returnAST );
558     moleculestatement_AST = currentAST.root;
559     break;
560     }
561     case TORSION:
562     {
563     torsionblock();
564     astFactory->addASTChild( currentAST, returnAST );
565     moleculestatement_AST = currentAST.root;
566     break;
567     }
568 gezelter 1277 case INVERSION:
569     {
570     inversionblock();
571     astFactory->addASTChild( currentAST, returnAST );
572     moleculestatement_AST = currentAST.root;
573     break;
574     }
575 tim 770 case RIGIDBODY:
576     {
577     rigidbodyblock();
578     astFactory->addASTChild( currentAST, returnAST );
579     moleculestatement_AST = currentAST.root;
580     break;
581     }
582     case CUTOFFGROUP:
583     {
584     cutoffgroupblock();
585     astFactory->addASTChild( currentAST, returnAST );
586     moleculestatement_AST = currentAST.root;
587     break;
588     }
589     case FRAGMENT:
590     {
591     fragmentblock();
592     astFactory->addASTChild( currentAST, returnAST );
593     moleculestatement_AST = currentAST.root;
594     break;
595     }
596     default:
597     {
598     throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
599     }
600     }
601     }
602     catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
603     reportError(ex);
604 gezelter 1277 recover(ex,_tokenSet_8);
605 tim 770 }
606     returnAST = moleculestatement_AST;
607     }
608    
609     void MDParser::atomblock() {
610     returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
611     ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
612     ANTLR_USE_NAMESPACE(antlr)RefAST atomblock_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
613    
614     try { // for error handling
615 gezelter 1731 ANTLR_USE_NAMESPACE(antlr)RefAST tmp28_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
616     tmp28_AST = astFactory->create(LT(1));
617     astFactory->makeASTRoot(currentAST, tmp28_AST);
618 tim 770 match(ATOM);
619     match(LBRACKET);
620     intConst();
621     astFactory->addASTChild( currentAST, returnAST );
622     match(RBRACKET);
623     match(LCURLY);
624     { // ( ... )*
625     for (;;) {
626 tim 814 if ((_tokenSet_9.member(LA(1)))) {
627 tim 770 atomstatement();
628     astFactory->addASTChild( currentAST, returnAST );
629     }
630     else {
631 gezelter 1731 goto _loop28;
632 tim 770 }
633    
634     }
635 gezelter 1731 _loop28:;
636 tim 770 } // ( ... )*
637 gezelter 1731 ANTLR_USE_NAMESPACE(antlr)RefAST tmp32_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
638     tmp32_AST = astFactory->create(LT(1));
639     astFactory->addASTChild(currentAST, tmp32_AST);
640 tim 770 match(RCURLY);
641 gezelter 1731 #line 100 "MDParser.g"
642     tmp32_AST->setType(ENDBLOCK);
643     #line 644 "MDParser.cpp"
644 tim 770 atomblock_AST = currentAST.root;
645     }
646     catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
647     reportError(ex);
648 gezelter 1277 recover(ex,_tokenSet_8);
649 tim 770 }
650     returnAST = atomblock_AST;
651     }
652    
653     void MDParser::bondblock() {
654     returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
655     ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
656     ANTLR_USE_NAMESPACE(antlr)RefAST bondblock_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
657    
658     try { // for error handling
659 gezelter 1731 ANTLR_USE_NAMESPACE(antlr)RefAST tmp33_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
660     tmp33_AST = astFactory->create(LT(1));
661     astFactory->makeASTRoot(currentAST, tmp33_AST);
662 tim 770 match(BOND);
663     {
664     switch ( LA(1)) {
665     case LBRACKET:
666     {
667     match(LBRACKET);
668     intConst();
669     match(RBRACKET);
670     break;
671     }
672     case LCURLY:
673     {
674     break;
675     }
676     default:
677     {
678     throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
679     }
680     }
681     }
682     match(LCURLY);
683     { // ( ... )*
684     for (;;) {
685     if ((LA(1) == MEMBERS || LA(1) == ID)) {
686     bondstatement();
687     astFactory->addASTChild( currentAST, returnAST );
688     }
689     else {
690 gezelter 1731 goto _loop33;
691 tim 770 }
692    
693     }
694 gezelter 1731 _loop33:;
695 tim 770 } // ( ... )*
696 gezelter 1731 ANTLR_USE_NAMESPACE(antlr)RefAST tmp37_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
697     tmp37_AST = astFactory->create(LT(1));
698     astFactory->addASTChild(currentAST, tmp37_AST);
699 tim 770 match(RCURLY);
700 gezelter 1731 #line 109 "MDParser.g"
701     tmp37_AST->setType(ENDBLOCK);
702     #line 703 "MDParser.cpp"
703 tim 770 bondblock_AST = currentAST.root;
704     }
705     catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
706     reportError(ex);
707 gezelter 1277 recover(ex,_tokenSet_8);
708 tim 770 }
709     returnAST = bondblock_AST;
710     }
711    
712     void MDParser::bendblock() {
713     returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
714     ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
715     ANTLR_USE_NAMESPACE(antlr)RefAST bendblock_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
716    
717     try { // for error handling
718 gezelter 1731 ANTLR_USE_NAMESPACE(antlr)RefAST tmp38_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
719     tmp38_AST = astFactory->create(LT(1));
720     astFactory->makeASTRoot(currentAST, tmp38_AST);
721 tim 770 match(BEND);
722     {
723     switch ( LA(1)) {
724     case LBRACKET:
725     {
726     match(LBRACKET);
727     intConst();
728     match(RBRACKET);
729     break;
730     }
731     case LCURLY:
732     {
733     break;
734     }
735     default:
736     {
737     throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
738     }
739     }
740     }
741     match(LCURLY);
742     { // ( ... )*
743     for (;;) {
744     if ((LA(1) == MEMBERS || LA(1) == ID)) {
745     bendstatement();
746     astFactory->addASTChild( currentAST, returnAST );
747     }
748     else {
749 gezelter 1731 goto _loop38;
750 tim 770 }
751    
752     }
753 gezelter 1731 _loop38:;
754 tim 770 } // ( ... )*
755 gezelter 1731 ANTLR_USE_NAMESPACE(antlr)RefAST tmp42_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
756     tmp42_AST = astFactory->create(LT(1));
757     astFactory->addASTChild(currentAST, tmp42_AST);
758 tim 770 match(RCURLY);
759 gezelter 1731 #line 116 "MDParser.g"
760     tmp42_AST->setType(ENDBLOCK);
761     #line 762 "MDParser.cpp"
762 tim 770 bendblock_AST = currentAST.root;
763     }
764     catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
765     reportError(ex);
766 gezelter 1277 recover(ex,_tokenSet_8);
767 tim 770 }
768     returnAST = bendblock_AST;
769     }
770    
771     void MDParser::torsionblock() {
772     returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
773     ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
774     ANTLR_USE_NAMESPACE(antlr)RefAST torsionblock_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
775    
776     try { // for error handling
777 gezelter 1731 ANTLR_USE_NAMESPACE(antlr)RefAST tmp43_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
778     tmp43_AST = astFactory->create(LT(1));
779     astFactory->makeASTRoot(currentAST, tmp43_AST);
780 tim 770 match(TORSION);
781     {
782     switch ( LA(1)) {
783     case LBRACKET:
784     {
785     match(LBRACKET);
786     intConst();
787     match(RBRACKET);
788     break;
789     }
790     case LCURLY:
791     {
792     break;
793     }
794     default:
795     {
796     throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
797     }
798     }
799     }
800     match(LCURLY);
801     { // ( ... )*
802     for (;;) {
803     if ((LA(1) == MEMBERS || LA(1) == ID)) {
804     torsionstatement();
805     astFactory->addASTChild( currentAST, returnAST );
806     }
807     else {
808 gezelter 1731 goto _loop43;
809 tim 770 }
810    
811     }
812 gezelter 1731 _loop43:;
813 tim 770 } // ( ... )*
814 gezelter 1731 ANTLR_USE_NAMESPACE(antlr)RefAST tmp47_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
815     tmp47_AST = astFactory->create(LT(1));
816     astFactory->addASTChild(currentAST, tmp47_AST);
817 tim 770 match(RCURLY);
818 gezelter 1731 #line 123 "MDParser.g"
819     tmp47_AST->setType(ENDBLOCK);
820     #line 821 "MDParser.cpp"
821 tim 770 torsionblock_AST = currentAST.root;
822     }
823     catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
824     reportError(ex);
825 gezelter 1277 recover(ex,_tokenSet_8);
826 tim 770 }
827     returnAST = torsionblock_AST;
828     }
829    
830 gezelter 1277 void MDParser::inversionblock() {
831 tim 770 returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
832     ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
833 gezelter 1277 ANTLR_USE_NAMESPACE(antlr)RefAST inversionblock_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
834 tim 770
835     try { // for error handling
836 gezelter 1731 ANTLR_USE_NAMESPACE(antlr)RefAST tmp48_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
837     tmp48_AST = astFactory->create(LT(1));
838     astFactory->makeASTRoot(currentAST, tmp48_AST);
839 gezelter 1277 match(INVERSION);
840     {
841     switch ( LA(1)) {
842     case LBRACKET:
843     {
844     match(LBRACKET);
845     intConst();
846     match(RBRACKET);
847     break;
848     }
849     case LCURLY:
850     {
851     break;
852     }
853     default:
854     {
855     throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
856     }
857     }
858     }
859     match(LCURLY);
860     { // ( ... )*
861     for (;;) {
862     if ((LA(1) == CENTER || LA(1) == ID)) {
863     inversionstatement();
864     astFactory->addASTChild( currentAST, returnAST );
865     }
866     else {
867 gezelter 1731 goto _loop48;
868 gezelter 1277 }
869    
870     }
871 gezelter 1731 _loop48:;
872 gezelter 1277 } // ( ... )*
873 gezelter 1731 ANTLR_USE_NAMESPACE(antlr)RefAST tmp52_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
874     tmp52_AST = astFactory->create(LT(1));
875     astFactory->addASTChild(currentAST, tmp52_AST);
876 gezelter 1277 match(RCURLY);
877 gezelter 1731 #line 130 "MDParser.g"
878     tmp52_AST->setType(ENDBLOCK);
879     #line 880 "MDParser.cpp"
880 gezelter 1277 inversionblock_AST = currentAST.root;
881     }
882     catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
883     reportError(ex);
884     recover(ex,_tokenSet_8);
885     }
886     returnAST = inversionblock_AST;
887     }
888    
889     void MDParser::rigidbodyblock() {
890     returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
891     ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
892     ANTLR_USE_NAMESPACE(antlr)RefAST rigidbodyblock_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
893    
894     try { // for error handling
895 gezelter 1731 ANTLR_USE_NAMESPACE(antlr)RefAST tmp53_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
896     tmp53_AST = astFactory->create(LT(1));
897     astFactory->makeASTRoot(currentAST, tmp53_AST);
898 tim 770 match(RIGIDBODY);
899     match(LBRACKET);
900     intConst();
901     astFactory->addASTChild( currentAST, returnAST );
902     match(RBRACKET);
903     match(LCURLY);
904     { // ( ... )*
905     for (;;) {
906     if ((LA(1) == MEMBERS || LA(1) == ID)) {
907     rigidbodystatement();
908     astFactory->addASTChild( currentAST, returnAST );
909     }
910     else {
911 gezelter 1731 goto _loop52;
912 tim 770 }
913    
914     }
915 gezelter 1731 _loop52:;
916 tim 770 } // ( ... )*
917 gezelter 1731 ANTLR_USE_NAMESPACE(antlr)RefAST tmp57_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
918     tmp57_AST = astFactory->create(LT(1));
919     astFactory->addASTChild(currentAST, tmp57_AST);
920 tim 770 match(RCURLY);
921 gezelter 1731 #line 137 "MDParser.g"
922     tmp57_AST->setType(ENDBLOCK);
923     #line 924 "MDParser.cpp"
924 tim 770 rigidbodyblock_AST = currentAST.root;
925     }
926     catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
927     reportError(ex);
928 gezelter 1277 recover(ex,_tokenSet_8);
929 tim 770 }
930     returnAST = rigidbodyblock_AST;
931     }
932    
933     void MDParser::cutoffgroupblock() {
934     returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
935     ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
936     ANTLR_USE_NAMESPACE(antlr)RefAST cutoffgroupblock_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
937    
938     try { // for error handling
939 gezelter 1731 ANTLR_USE_NAMESPACE(antlr)RefAST tmp58_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
940     tmp58_AST = astFactory->create(LT(1));
941     astFactory->makeASTRoot(currentAST, tmp58_AST);
942 tim 770 match(CUTOFFGROUP);
943     {
944     switch ( LA(1)) {
945     case LBRACKET:
946     {
947     match(LBRACKET);
948     intConst();
949     match(RBRACKET);
950     break;
951     }
952     case LCURLY:
953     {
954     break;
955     }
956     default:
957     {
958     throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
959     }
960     }
961     }
962     match(LCURLY);
963     { // ( ... )*
964     for (;;) {
965     if ((LA(1) == MEMBERS || LA(1) == ID)) {
966     cutoffgroupstatement();
967     astFactory->addASTChild( currentAST, returnAST );
968     }
969     else {
970 gezelter 1731 goto _loop57;
971 tim 770 }
972    
973     }
974 gezelter 1731 _loop57:;
975 tim 770 } // ( ... )*
976 gezelter 1731 ANTLR_USE_NAMESPACE(antlr)RefAST tmp62_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
977     tmp62_AST = astFactory->create(LT(1));
978     astFactory->addASTChild(currentAST, tmp62_AST);
979 tim 770 match(RCURLY);
980 gezelter 1731 #line 144 "MDParser.g"
981     tmp62_AST->setType(ENDBLOCK);
982     #line 983 "MDParser.cpp"
983 tim 770 cutoffgroupblock_AST = currentAST.root;
984     }
985     catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
986     reportError(ex);
987 gezelter 1277 recover(ex,_tokenSet_8);
988 tim 770 }
989     returnAST = cutoffgroupblock_AST;
990     }
991    
992     void MDParser::fragmentblock() {
993     returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
994     ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
995     ANTLR_USE_NAMESPACE(antlr)RefAST fragmentblock_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
996    
997     try { // for error handling
998 gezelter 1731 ANTLR_USE_NAMESPACE(antlr)RefAST tmp63_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
999     tmp63_AST = astFactory->create(LT(1));
1000     astFactory->makeASTRoot(currentAST, tmp63_AST);
1001 tim 770 match(FRAGMENT);
1002     match(LBRACKET);
1003     intConst();
1004     astFactory->addASTChild( currentAST, returnAST );
1005     match(RBRACKET);
1006     match(LCURLY);
1007     { // ( ... )*
1008     for (;;) {
1009     if ((LA(1) == ID)) {
1010     fragmentstatement();
1011     astFactory->addASTChild( currentAST, returnAST );
1012     }
1013     else {
1014 gezelter 1731 goto _loop61;
1015 tim 770 }
1016    
1017     }
1018 gezelter 1731 _loop61:;
1019 tim 770 } // ( ... )*
1020 gezelter 1731 ANTLR_USE_NAMESPACE(antlr)RefAST tmp67_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1021     tmp67_AST = astFactory->create(LT(1));
1022     astFactory->addASTChild(currentAST, tmp67_AST);
1023 tim 770 match(RCURLY);
1024 gezelter 1731 #line 151 "MDParser.g"
1025     tmp67_AST->setType(ENDBLOCK);
1026     #line 1027 "MDParser.cpp"
1027 tim 770 fragmentblock_AST = currentAST.root;
1028     }
1029     catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
1030     reportError(ex);
1031 gezelter 1277 recover(ex,_tokenSet_8);
1032 tim 770 }
1033     returnAST = fragmentblock_AST;
1034     }
1035    
1036     void MDParser::atomstatement() {
1037     returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1038     ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
1039     ANTLR_USE_NAMESPACE(antlr)RefAST atomstatement_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1040    
1041     try { // for error handling
1042     switch ( LA(1)) {
1043     case ID:
1044     {
1045     assignment();
1046     astFactory->addASTChild( currentAST, returnAST );
1047     atomstatement_AST = currentAST.root;
1048     break;
1049     }
1050     case POSITION:
1051     {
1052 gezelter 1731 ANTLR_USE_NAMESPACE(antlr)RefAST tmp68_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1053     tmp68_AST = astFactory->create(LT(1));
1054     astFactory->makeASTRoot(currentAST, tmp68_AST);
1055 tim 770 match(POSITION);
1056     match(LPAREN);
1057 tim 814 doubleNumberTuple();
1058 tim 770 astFactory->addASTChild( currentAST, returnAST );
1059     match(RPAREN);
1060     match(SEMICOLON);
1061     atomstatement_AST = currentAST.root;
1062     break;
1063     }
1064     case ORIENTATION:
1065     {
1066 gezelter 1731 ANTLR_USE_NAMESPACE(antlr)RefAST tmp72_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1067     tmp72_AST = astFactory->create(LT(1));
1068     astFactory->makeASTRoot(currentAST, tmp72_AST);
1069 tim 770 match(ORIENTATION);
1070     match(LPAREN);
1071 tim 814 doubleNumberTuple();
1072 tim 770 astFactory->addASTChild( currentAST, returnAST );
1073     match(RPAREN);
1074     match(SEMICOLON);
1075     atomstatement_AST = currentAST.root;
1076     break;
1077     }
1078     default:
1079     {
1080     throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
1081     }
1082     }
1083     }
1084     catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
1085     reportError(ex);
1086 gezelter 1277 recover(ex,_tokenSet_10);
1087 tim 770 }
1088     returnAST = atomstatement_AST;
1089     }
1090    
1091 tim 814 void MDParser::doubleNumberTuple() {
1092 tim 770 returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1093     ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
1094 tim 814 ANTLR_USE_NAMESPACE(antlr)RefAST doubleNumberTuple_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1095 tim 770
1096     try { // for error handling
1097 tim 814 doubleNumber();
1098 tim 770 astFactory->addASTChild( currentAST, returnAST );
1099     { // ( ... )*
1100     for (;;) {
1101     if ((LA(1) == COMMA)) {
1102     match(COMMA);
1103 tim 814 doubleNumber();
1104 tim 770 astFactory->addASTChild( currentAST, returnAST );
1105     }
1106     else {
1107 gezelter 1731 goto _loop65;
1108 tim 770 }
1109    
1110     }
1111 gezelter 1731 _loop65:;
1112 tim 770 } // ( ... )*
1113 tim 814 doubleNumberTuple_AST = currentAST.root;
1114 tim 770 }
1115     catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
1116     reportError(ex);
1117 gezelter 1277 recover(ex,_tokenSet_11);
1118 tim 770 }
1119 tim 814 returnAST = doubleNumberTuple_AST;
1120 tim 770 }
1121    
1122     void MDParser::bondstatement() {
1123     returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1124     ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
1125     ANTLR_USE_NAMESPACE(antlr)RefAST bondstatement_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1126    
1127     try { // for error handling
1128     switch ( LA(1)) {
1129     case ID:
1130     {
1131     assignment();
1132     astFactory->addASTChild( currentAST, returnAST );
1133     bondstatement_AST = currentAST.root;
1134     break;
1135     }
1136     case MEMBERS:
1137     {
1138 gezelter 1731 ANTLR_USE_NAMESPACE(antlr)RefAST tmp77_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1139     tmp77_AST = astFactory->create(LT(1));
1140     astFactory->makeASTRoot(currentAST, tmp77_AST);
1141 tim 770 match(MEMBERS);
1142     match(LPAREN);
1143     inttuple();
1144     astFactory->addASTChild( currentAST, returnAST );
1145     match(RPAREN);
1146     match(SEMICOLON);
1147     bondstatement_AST = currentAST.root;
1148     break;
1149     }
1150     default:
1151     {
1152     throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
1153     }
1154     }
1155     }
1156     catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
1157     reportError(ex);
1158 gezelter 1277 recover(ex,_tokenSet_12);
1159 tim 770 }
1160     returnAST = bondstatement_AST;
1161     }
1162    
1163     void MDParser::inttuple() {
1164     returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1165     ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
1166     ANTLR_USE_NAMESPACE(antlr)RefAST inttuple_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1167    
1168     try { // for error handling
1169     intConst();
1170     astFactory->addASTChild( currentAST, returnAST );
1171     { // ( ... )*
1172     for (;;) {
1173     if ((LA(1) == COMMA)) {
1174     match(COMMA);
1175     intConst();
1176     astFactory->addASTChild( currentAST, returnAST );
1177     }
1178     else {
1179 gezelter 1731 goto _loop68;
1180 tim 770 }
1181    
1182     }
1183 gezelter 1731 _loop68:;
1184 tim 770 } // ( ... )*
1185     inttuple_AST = currentAST.root;
1186     }
1187     catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
1188     reportError(ex);
1189 gezelter 1277 recover(ex,_tokenSet_11);
1190 tim 770 }
1191     returnAST = inttuple_AST;
1192     }
1193    
1194     void MDParser::bendstatement() {
1195     returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1196     ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
1197     ANTLR_USE_NAMESPACE(antlr)RefAST bendstatement_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1198    
1199     try { // for error handling
1200     switch ( LA(1)) {
1201     case ID:
1202     {
1203     assignment();
1204     astFactory->addASTChild( currentAST, returnAST );
1205     bendstatement_AST = currentAST.root;
1206     break;
1207     }
1208     case MEMBERS:
1209     {
1210 gezelter 1731 ANTLR_USE_NAMESPACE(antlr)RefAST tmp82_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1211     tmp82_AST = astFactory->create(LT(1));
1212     astFactory->makeASTRoot(currentAST, tmp82_AST);
1213 tim 770 match(MEMBERS);
1214     match(LPAREN);
1215     inttuple();
1216     astFactory->addASTChild( currentAST, returnAST );
1217     match(RPAREN);
1218     match(SEMICOLON);
1219     bendstatement_AST = currentAST.root;
1220     break;
1221     }
1222     default:
1223     {
1224     throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
1225     }
1226     }
1227     }
1228     catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
1229     reportError(ex);
1230 gezelter 1277 recover(ex,_tokenSet_12);
1231 tim 770 }
1232     returnAST = bendstatement_AST;
1233     }
1234    
1235     void MDParser::torsionstatement() {
1236     returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1237     ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
1238     ANTLR_USE_NAMESPACE(antlr)RefAST torsionstatement_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1239    
1240     try { // for error handling
1241     switch ( LA(1)) {
1242     case ID:
1243     {
1244     assignment();
1245     astFactory->addASTChild( currentAST, returnAST );
1246     torsionstatement_AST = currentAST.root;
1247     break;
1248     }
1249     case MEMBERS:
1250     {
1251 gezelter 1731 ANTLR_USE_NAMESPACE(antlr)RefAST tmp86_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1252     tmp86_AST = astFactory->create(LT(1));
1253     astFactory->makeASTRoot(currentAST, tmp86_AST);
1254 tim 770 match(MEMBERS);
1255     match(LPAREN);
1256     inttuple();
1257     astFactory->addASTChild( currentAST, returnAST );
1258     match(RPAREN);
1259     match(SEMICOLON);
1260     torsionstatement_AST = currentAST.root;
1261     break;
1262     }
1263     default:
1264     {
1265     throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
1266     }
1267     }
1268     }
1269     catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
1270     reportError(ex);
1271 gezelter 1277 recover(ex,_tokenSet_12);
1272 tim 770 }
1273     returnAST = torsionstatement_AST;
1274     }
1275    
1276 cli2 1275 void MDParser::inversionstatement() {
1277     returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1278     ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
1279     ANTLR_USE_NAMESPACE(antlr)RefAST inversionstatement_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1280    
1281     try { // for error handling
1282     switch ( LA(1)) {
1283     case ID:
1284     {
1285     assignment();
1286     astFactory->addASTChild( currentAST, returnAST );
1287     inversionstatement_AST = currentAST.root;
1288     break;
1289     }
1290     case CENTER:
1291     {
1292 gezelter 1731 ANTLR_USE_NAMESPACE(antlr)RefAST tmp90_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1293     tmp90_AST = astFactory->create(LT(1));
1294     astFactory->makeASTRoot(currentAST, tmp90_AST);
1295 cli2 1275 match(CENTER);
1296     match(LPAREN);
1297     intConst();
1298     astFactory->addASTChild( currentAST, returnAST );
1299     match(RPAREN);
1300     match(SEMICOLON);
1301     inversionstatement_AST = currentAST.root;
1302     break;
1303     }
1304     default:
1305     {
1306     throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
1307     }
1308     }
1309     }
1310     catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
1311     reportError(ex);
1312 gezelter 1277 recover(ex,_tokenSet_13);
1313 cli2 1275 }
1314     returnAST = inversionstatement_AST;
1315     }
1316    
1317 tim 770 void MDParser::rigidbodystatement() {
1318     returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1319     ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
1320     ANTLR_USE_NAMESPACE(antlr)RefAST rigidbodystatement_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1321    
1322     try { // for error handling
1323     switch ( LA(1)) {
1324     case ID:
1325     {
1326     assignment();
1327     astFactory->addASTChild( currentAST, returnAST );
1328     rigidbodystatement_AST = currentAST.root;
1329     break;
1330     }
1331     case MEMBERS:
1332     {
1333 gezelter 1731 ANTLR_USE_NAMESPACE(antlr)RefAST tmp94_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1334     tmp94_AST = astFactory->create(LT(1));
1335     astFactory->makeASTRoot(currentAST, tmp94_AST);
1336 tim 770 match(MEMBERS);
1337     match(LPAREN);
1338     inttuple();
1339     astFactory->addASTChild( currentAST, returnAST );
1340     match(RPAREN);
1341     match(SEMICOLON);
1342     rigidbodystatement_AST = currentAST.root;
1343     break;
1344     }
1345     default:
1346     {
1347     throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
1348     }
1349     }
1350     }
1351     catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
1352     reportError(ex);
1353 gezelter 1277 recover(ex,_tokenSet_12);
1354 tim 770 }
1355     returnAST = rigidbodystatement_AST;
1356     }
1357    
1358     void MDParser::cutoffgroupstatement() {
1359     returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1360     ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
1361     ANTLR_USE_NAMESPACE(antlr)RefAST cutoffgroupstatement_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1362    
1363     try { // for error handling
1364     switch ( LA(1)) {
1365     case ID:
1366     {
1367     assignment();
1368     astFactory->addASTChild( currentAST, returnAST );
1369     cutoffgroupstatement_AST = currentAST.root;
1370     break;
1371     }
1372     case MEMBERS:
1373     {
1374 gezelter 1731 ANTLR_USE_NAMESPACE(antlr)RefAST tmp98_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1375     tmp98_AST = astFactory->create(LT(1));
1376     astFactory->makeASTRoot(currentAST, tmp98_AST);
1377 tim 770 match(MEMBERS);
1378     match(LPAREN);
1379     inttuple();
1380     astFactory->addASTChild( currentAST, returnAST );
1381     match(RPAREN);
1382     match(SEMICOLON);
1383     cutoffgroupstatement_AST = currentAST.root;
1384     break;
1385     }
1386     default:
1387     {
1388     throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
1389     }
1390     }
1391     }
1392     catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
1393     reportError(ex);
1394 gezelter 1277 recover(ex,_tokenSet_12);
1395 tim 770 }
1396     returnAST = cutoffgroupstatement_AST;
1397     }
1398    
1399     void MDParser::fragmentstatement() {
1400     returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1401     ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
1402     ANTLR_USE_NAMESPACE(antlr)RefAST fragmentstatement_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1403    
1404     try { // for error handling
1405     assignment();
1406     astFactory->addASTChild( currentAST, returnAST );
1407     fragmentstatement_AST = currentAST.root;
1408     }
1409     catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
1410     reportError(ex);
1411 gezelter 1277 recover(ex,_tokenSet_14);
1412 tim 770 }
1413     returnAST = fragmentstatement_AST;
1414     }
1415    
1416 tim 814 void MDParser::doubleNumber() {
1417 tim 770 returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1418     ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
1419 tim 814 ANTLR_USE_NAMESPACE(antlr)RefAST doubleNumber_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1420 tim 770
1421     try { // for error handling
1422 tim 814 {
1423 tim 770 switch ( LA(1)) {
1424 tim 814 case NUM_INT:
1425     case NUM_LONG:
1426 tim 770 {
1427 tim 814 intConst();
1428     astFactory->addASTChild( currentAST, returnAST );
1429 tim 770 break;
1430     }
1431 tim 814 case NUM_FLOAT:
1432     case NUM_DOUBLE:
1433 tim 770 {
1434 tim 814 floatConst();
1435     astFactory->addASTChild( currentAST, returnAST );
1436 tim 770 break;
1437     }
1438     default:
1439     {
1440     throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
1441     }
1442     }
1443 tim 814 }
1444     doubleNumber_AST = currentAST.root;
1445 tim 770 }
1446     catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
1447     reportError(ex);
1448 gezelter 1277 recover(ex,_tokenSet_15);
1449 tim 770 }
1450 tim 814 returnAST = doubleNumber_AST;
1451 tim 770 }
1452    
1453     void MDParser::initializeASTFactory( ANTLR_USE_NAMESPACE(antlr)ASTFactory& factory )
1454     {
1455 gezelter 1731 factory.setMaxNodeType(55);
1456 tim 770 }
1457     const char* MDParser::tokenNames[] = {
1458     "<0>",
1459     "EOF",
1460     "<2>",
1461     "NULL_TREE_LOOKAHEAD",
1462     "\"component\"",
1463     "\"molecule\"",
1464     "\"zconstraint\"",
1465 cli2 1360 "\"restraint\"",
1466 tim 770 "\"atom\"",
1467     "\"bond\"",
1468     "\"bend\"",
1469     "\"torsion\"",
1470 cli2 1275 "\"inversion\"",
1471 tim 770 "\"rigidBody\"",
1472     "\"cutoffGroup\"",
1473     "\"fragment\"",
1474     "\"members\"",
1475 cli2 1275 "\"center\"",
1476 tim 770 "\"position\"",
1477     "\"orientation\"",
1478 gezelter 1731 "\"flucQ\"",
1479     "\"RNEMD\"",
1480 tim 770 "ENDBLOCK",
1481     "ID",
1482     "ASSIGNEQUAL",
1483     "SEMICOLON",
1484     "StringLiteral",
1485     "LCURLY",
1486     "RCURLY",
1487     "LBRACKET",
1488     "RBRACKET",
1489     "LPAREN",
1490     "RPAREN",
1491     "COMMA",
1492 tim 814 "NUM_INT",
1493     "NUM_LONG",
1494     "NUM_FLOAT",
1495     "NUM_DOUBLE",
1496 tim 770 "DOT",
1497     "COLON",
1498     "QUESTIONMARK",
1499     "Whitespace",
1500     "Comment",
1501     "CPPComment",
1502     "a line directive",
1503     "LineDirective",
1504     "Space",
1505     "CharLiteral",
1506     "EndOfLine",
1507     "Escape",
1508 tim 814 "Vocabulary",
1509 tim 770 "Digit",
1510     "Decimal",
1511 tim 814 "HEX_DIGIT",
1512     "EXPONENT",
1513     "FLOAT_SUFFIX",
1514 tim 770 0
1515     };
1516    
1517 gezelter 1731 const unsigned long MDParser::_tokenSet_0_data_[] = { 11534576UL, 0UL, 0UL, 0UL };
1518     // "component" "molecule" "zconstraint" "restraint" "flucQ" "RNEMD" ID
1519 tim 770 const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_0(_tokenSet_0_data_,4);
1520     const unsigned long MDParser::_tokenSet_1_data_[] = { 2UL, 0UL, 0UL, 0UL };
1521     // EOF
1522     const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_1(_tokenSet_1_data_,4);
1523 gezelter 1731 const unsigned long MDParser::_tokenSet_2_data_[] = { 11534578UL, 0UL, 0UL, 0UL };
1524     // EOF "component" "molecule" "zconstraint" "restraint" "flucQ" "RNEMD"
1525     // ID
1526 tim 770 const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_2(_tokenSet_2_data_,4);
1527 gezelter 1731 const unsigned long MDParser::_tokenSet_3_data_[] = { 281018354UL, 0UL, 0UL, 0UL };
1528 cli2 1360 // EOF "component" "molecule" "zconstraint" "restraint" "atom" "bond" "bend"
1529     // "torsion" "inversion" "rigidBody" "cutoffGroup" "fragment" "members"
1530 gezelter 1731 // "center" "position" "orientation" "flucQ" "RNEMD" ID RCURLY
1531 tim 770 const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_3(_tokenSet_3_data_,4);
1532 gezelter 1731 const unsigned long MDParser::_tokenSet_4_data_[] = { 8453888UL, 0UL, 0UL, 0UL };
1533 gezelter 1277 // "atom" "bond" "bend" "torsion" "inversion" "rigidBody" "cutoffGroup"
1534     // "fragment" ID
1535 tim 770 const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_4(_tokenSet_4_data_,4);
1536 gezelter 1731 const unsigned long MDParser::_tokenSet_5_data_[] = { 33554432UL, 0UL, 0UL, 0UL };
1537 tim 770 // SEMICOLON
1538     const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_5(_tokenSet_5_data_,4);
1539 gezelter 1731 const unsigned long MDParser::_tokenSet_6_data_[] = { 1107296256UL, 3UL, 0UL, 0UL };
1540 tim 814 // SEMICOLON RBRACKET RPAREN COMMA
1541     const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_6(_tokenSet_6_data_,4);
1542 gezelter 1731 const unsigned long MDParser::_tokenSet_7_data_[] = { 33554432UL, 3UL, 0UL, 0UL };
1543 tim 770 // SEMICOLON RPAREN COMMA
1544 tim 814 const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_7(_tokenSet_7_data_,4);
1545 gezelter 1731 const unsigned long MDParser::_tokenSet_8_data_[] = { 276889344UL, 0UL, 0UL, 0UL };
1546 gezelter 1277 // "atom" "bond" "bend" "torsion" "inversion" "rigidBody" "cutoffGroup"
1547     // "fragment" ID RCURLY
1548 tim 814 const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_8(_tokenSet_8_data_,4);
1549 gezelter 1731 const unsigned long MDParser::_tokenSet_9_data_[] = { 9175040UL, 0UL, 0UL, 0UL };
1550 tim 770 // "position" "orientation" ID
1551     const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_9(_tokenSet_9_data_,4);
1552 gezelter 1731 const unsigned long MDParser::_tokenSet_10_data_[] = { 277610496UL, 0UL, 0UL, 0UL };
1553 tim 770 // "position" "orientation" ID RCURLY
1554     const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_10(_tokenSet_10_data_,4);
1555 gezelter 1731 const unsigned long MDParser::_tokenSet_11_data_[] = { 0UL, 1UL, 0UL, 0UL };
1556 tim 770 // RPAREN
1557     const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_11(_tokenSet_11_data_,4);
1558 gezelter 1731 const unsigned long MDParser::_tokenSet_12_data_[] = { 276889600UL, 0UL, 0UL, 0UL };
1559 tim 770 // "members" ID RCURLY
1560     const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_12(_tokenSet_12_data_,4);
1561 gezelter 1731 const unsigned long MDParser::_tokenSet_13_data_[] = { 276955136UL, 0UL, 0UL, 0UL };
1562 cli2 1275 // "center" ID RCURLY
1563     const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_13(_tokenSet_13_data_,4);
1564 gezelter 1731 const unsigned long MDParser::_tokenSet_14_data_[] = { 276824064UL, 0UL, 0UL, 0UL };
1565 tim 770 // ID RCURLY
1566 cli2 1275 const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_14(_tokenSet_14_data_,4);
1567 gezelter 1731 const unsigned long MDParser::_tokenSet_15_data_[] = { 0UL, 3UL, 0UL, 0UL };
1568 tim 814 // RPAREN COMMA
1569 cli2 1275 const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_15(_tokenSet_15_data_,4);
1570 tim 770
1571    

Properties

Name Value
svn:keywords Author Id Revision Date