ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/OpenMD/branches/development/src/mdParser/MDParser.cpp
Revision: 1746
Committed: Wed Jun 6 02:18:54 2012 UTC (12 years, 10 months ago) by gezelter
File size: 43075 byte(s)
Log Message:
added a minimizer parsing block

File Contents

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

Properties

Name Value
svn:keywords Author Id Revision Date