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

# 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 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 recover(ex,_tokenSet_2);
126 }
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 recover(ex,_tokenSet_3);
152 }
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 #line 71 "MDParser.g"
185 tmp6_AST->setType(ENDBLOCK);
186 #line 187 "MDParser.cpp"
187 componentblock_AST = currentAST.root;
188 }
189 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
190 reportError(ex);
191 recover(ex,_tokenSet_2);
192 }
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 goto _loop24;
215 }
216
217 }
218 _loop24:;
219 } // ( ... )*
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 #line 86 "MDParser.g"
225 tmp9_AST->setType(ENDBLOCK);
226 #line 227 "MDParser.cpp"
227 moleculeblock_AST = currentAST.root;
228 }
229 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
230 reportError(ex);
231 recover(ex,_tokenSet_2);
232 }
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 #line 74 "MDParser.g"
265 tmp12_AST->setType(ENDBLOCK);
266 #line 267 "MDParser.cpp"
267 zconstraintblock_AST = currentAST.root;
268 }
269 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
270 reportError(ex);
271 recover(ex,_tokenSet_2);
272 }
273 returnAST = zconstraintblock_AST;
274 }
275
276 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 #line 77 "MDParser.g"
305 tmp15_AST->setType(ENDBLOCK);
306 #line 307 "MDParser.cpp"
307 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 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 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 case NUM_INT:
404 case NUM_LONG:
405 {
406 intConst();
407 astFactory->addASTChild( currentAST, returnAST );
408 constant_AST = currentAST.root;
409 break;
410 }
411 case NUM_FLOAT:
412 case NUM_DOUBLE:
413 {
414 floatConst();
415 astFactory->addASTChild( currentAST, returnAST );
416 constant_AST = currentAST.root;
417 break;
418 }
419 case ID:
420 {
421 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 match(ID);
425 constant_AST = currentAST.root;
426 break;
427 }
428 case StringLiteral:
429 {
430 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 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 recover(ex,_tokenSet_5);
446 }
447 returnAST = constant_AST;
448 }
449
450 void MDParser::intConst() {
451 returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
452 ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
453 ANTLR_USE_NAMESPACE(antlr)RefAST intConst_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
454
455 try { // for error handling
456 switch ( LA(1)) {
457 case NUM_INT:
458 {
459 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 match(NUM_INT);
463 intConst_AST = currentAST.root;
464 break;
465 }
466 case NUM_LONG:
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(NUM_LONG);
472 intConst_AST = currentAST.root;
473 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 recover(ex,_tokenSet_6);
484 }
485 returnAST = intConst_AST;
486 }
487
488 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 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 match(NUM_FLOAT);
501 floatConst_AST = currentAST.root;
502 break;
503 }
504 case NUM_DOUBLE:
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_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 recover(ex,_tokenSet_7);
522 }
523 returnAST = floatConst_AST;
524 }
525
526 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 case INVERSION:
569 {
570 inversionblock();
571 astFactory->addASTChild( currentAST, returnAST );
572 moleculestatement_AST = currentAST.root;
573 break;
574 }
575 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 recover(ex,_tokenSet_8);
605 }
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 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 match(ATOM);
619 match(LBRACKET);
620 intConst();
621 astFactory->addASTChild( currentAST, returnAST );
622 match(RBRACKET);
623 match(LCURLY);
624 { // ( ... )*
625 for (;;) {
626 if ((_tokenSet_9.member(LA(1)))) {
627 atomstatement();
628 astFactory->addASTChild( currentAST, returnAST );
629 }
630 else {
631 goto _loop28;
632 }
633
634 }
635 _loop28:;
636 } // ( ... )*
637 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 match(RCURLY);
641 #line 100 "MDParser.g"
642 tmp32_AST->setType(ENDBLOCK);
643 #line 644 "MDParser.cpp"
644 atomblock_AST = currentAST.root;
645 }
646 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
647 reportError(ex);
648 recover(ex,_tokenSet_8);
649 }
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 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 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 goto _loop33;
691 }
692
693 }
694 _loop33:;
695 } // ( ... )*
696 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 match(RCURLY);
700 #line 109 "MDParser.g"
701 tmp37_AST->setType(ENDBLOCK);
702 #line 703 "MDParser.cpp"
703 bondblock_AST = currentAST.root;
704 }
705 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
706 reportError(ex);
707 recover(ex,_tokenSet_8);
708 }
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 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 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 goto _loop38;
750 }
751
752 }
753 _loop38:;
754 } // ( ... )*
755 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 match(RCURLY);
759 #line 116 "MDParser.g"
760 tmp42_AST->setType(ENDBLOCK);
761 #line 762 "MDParser.cpp"
762 bendblock_AST = currentAST.root;
763 }
764 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
765 reportError(ex);
766 recover(ex,_tokenSet_8);
767 }
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 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 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 goto _loop43;
809 }
810
811 }
812 _loop43:;
813 } // ( ... )*
814 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 match(RCURLY);
818 #line 123 "MDParser.g"
819 tmp47_AST->setType(ENDBLOCK);
820 #line 821 "MDParser.cpp"
821 torsionblock_AST = currentAST.root;
822 }
823 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
824 reportError(ex);
825 recover(ex,_tokenSet_8);
826 }
827 returnAST = torsionblock_AST;
828 }
829
830 void MDParser::inversionblock() {
831 returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
832 ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
833 ANTLR_USE_NAMESPACE(antlr)RefAST inversionblock_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
834
835 try { // for error handling
836 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 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 goto _loop48;
868 }
869
870 }
871 _loop48:;
872 } // ( ... )*
873 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 match(RCURLY);
877 #line 130 "MDParser.g"
878 tmp52_AST->setType(ENDBLOCK);
879 #line 880 "MDParser.cpp"
880 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 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 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 goto _loop52;
912 }
913
914 }
915 _loop52:;
916 } // ( ... )*
917 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 match(RCURLY);
921 #line 137 "MDParser.g"
922 tmp57_AST->setType(ENDBLOCK);
923 #line 924 "MDParser.cpp"
924 rigidbodyblock_AST = currentAST.root;
925 }
926 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
927 reportError(ex);
928 recover(ex,_tokenSet_8);
929 }
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 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 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 goto _loop57;
971 }
972
973 }
974 _loop57:;
975 } // ( ... )*
976 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 match(RCURLY);
980 #line 144 "MDParser.g"
981 tmp62_AST->setType(ENDBLOCK);
982 #line 983 "MDParser.cpp"
983 cutoffgroupblock_AST = currentAST.root;
984 }
985 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
986 reportError(ex);
987 recover(ex,_tokenSet_8);
988 }
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 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 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 goto _loop61;
1015 }
1016
1017 }
1018 _loop61:;
1019 } // ( ... )*
1020 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 match(RCURLY);
1024 #line 151 "MDParser.g"
1025 tmp67_AST->setType(ENDBLOCK);
1026 #line 1027 "MDParser.cpp"
1027 fragmentblock_AST = currentAST.root;
1028 }
1029 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
1030 reportError(ex);
1031 recover(ex,_tokenSet_8);
1032 }
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 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 match(POSITION);
1056 match(LPAREN);
1057 doubleNumberTuple();
1058 astFactory->addASTChild( currentAST, returnAST );
1059 match(RPAREN);
1060 match(SEMICOLON);
1061 atomstatement_AST = currentAST.root;
1062 break;
1063 }
1064 case ORIENTATION:
1065 {
1066 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 match(ORIENTATION);
1070 match(LPAREN);
1071 doubleNumberTuple();
1072 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 recover(ex,_tokenSet_10);
1087 }
1088 returnAST = atomstatement_AST;
1089 }
1090
1091 void MDParser::doubleNumberTuple() {
1092 returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1093 ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
1094 ANTLR_USE_NAMESPACE(antlr)RefAST doubleNumberTuple_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1095
1096 try { // for error handling
1097 doubleNumber();
1098 astFactory->addASTChild( currentAST, returnAST );
1099 { // ( ... )*
1100 for (;;) {
1101 if ((LA(1) == COMMA)) {
1102 match(COMMA);
1103 doubleNumber();
1104 astFactory->addASTChild( currentAST, returnAST );
1105 }
1106 else {
1107 goto _loop65;
1108 }
1109
1110 }
1111 _loop65:;
1112 } // ( ... )*
1113 doubleNumberTuple_AST = currentAST.root;
1114 }
1115 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
1116 reportError(ex);
1117 recover(ex,_tokenSet_11);
1118 }
1119 returnAST = doubleNumberTuple_AST;
1120 }
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 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 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 recover(ex,_tokenSet_12);
1159 }
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 goto _loop68;
1180 }
1181
1182 }
1183 _loop68:;
1184 } // ( ... )*
1185 inttuple_AST = currentAST.root;
1186 }
1187 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
1188 reportError(ex);
1189 recover(ex,_tokenSet_11);
1190 }
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 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 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 recover(ex,_tokenSet_12);
1231 }
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 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 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 recover(ex,_tokenSet_12);
1272 }
1273 returnAST = torsionstatement_AST;
1274 }
1275
1276 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 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 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 recover(ex,_tokenSet_13);
1313 }
1314 returnAST = inversionstatement_AST;
1315 }
1316
1317 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 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 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 recover(ex,_tokenSet_12);
1354 }
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 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 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 recover(ex,_tokenSet_12);
1395 }
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 recover(ex,_tokenSet_14);
1412 }
1413 returnAST = fragmentstatement_AST;
1414 }
1415
1416 void MDParser::doubleNumber() {
1417 returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1418 ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
1419 ANTLR_USE_NAMESPACE(antlr)RefAST doubleNumber_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1420
1421 try { // for error handling
1422 {
1423 switch ( LA(1)) {
1424 case NUM_INT:
1425 case NUM_LONG:
1426 {
1427 intConst();
1428 astFactory->addASTChild( currentAST, returnAST );
1429 break;
1430 }
1431 case NUM_FLOAT:
1432 case NUM_DOUBLE:
1433 {
1434 floatConst();
1435 astFactory->addASTChild( currentAST, returnAST );
1436 break;
1437 }
1438 default:
1439 {
1440 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
1441 }
1442 }
1443 }
1444 doubleNumber_AST = currentAST.root;
1445 }
1446 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
1447 reportError(ex);
1448 recover(ex,_tokenSet_15);
1449 }
1450 returnAST = doubleNumber_AST;
1451 }
1452
1453 void MDParser::initializeASTFactory( ANTLR_USE_NAMESPACE(antlr)ASTFactory& factory )
1454 {
1455 factory.setMaxNodeType(55);
1456 }
1457 const char* MDParser::tokenNames[] = {
1458 "<0>",
1459 "EOF",
1460 "<2>",
1461 "NULL_TREE_LOOKAHEAD",
1462 "\"component\"",
1463 "\"molecule\"",
1464 "\"zconstraint\"",
1465 "\"restraint\"",
1466 "\"atom\"",
1467 "\"bond\"",
1468 "\"bend\"",
1469 "\"torsion\"",
1470 "\"inversion\"",
1471 "\"rigidBody\"",
1472 "\"cutoffGroup\"",
1473 "\"fragment\"",
1474 "\"members\"",
1475 "\"center\"",
1476 "\"position\"",
1477 "\"orientation\"",
1478 "\"flucQ\"",
1479 "\"RNEMD\"",
1480 "ENDBLOCK",
1481 "ID",
1482 "ASSIGNEQUAL",
1483 "SEMICOLON",
1484 "StringLiteral",
1485 "LCURLY",
1486 "RCURLY",
1487 "LBRACKET",
1488 "RBRACKET",
1489 "LPAREN",
1490 "RPAREN",
1491 "COMMA",
1492 "NUM_INT",
1493 "NUM_LONG",
1494 "NUM_FLOAT",
1495 "NUM_DOUBLE",
1496 "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 "Vocabulary",
1509 "Digit",
1510 "Decimal",
1511 "HEX_DIGIT",
1512 "EXPONENT",
1513 "FLOAT_SUFFIX",
1514 0
1515 };
1516
1517 const unsigned long MDParser::_tokenSet_0_data_[] = { 11534576UL, 0UL, 0UL, 0UL };
1518 // "component" "molecule" "zconstraint" "restraint" "flucQ" "RNEMD" ID
1519 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 const unsigned long MDParser::_tokenSet_2_data_[] = { 11534578UL, 0UL, 0UL, 0UL };
1524 // EOF "component" "molecule" "zconstraint" "restraint" "flucQ" "RNEMD"
1525 // ID
1526 const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_2(_tokenSet_2_data_,4);
1527 const unsigned long MDParser::_tokenSet_3_data_[] = { 281018354UL, 0UL, 0UL, 0UL };
1528 // EOF "component" "molecule" "zconstraint" "restraint" "atom" "bond" "bend"
1529 // "torsion" "inversion" "rigidBody" "cutoffGroup" "fragment" "members"
1530 // "center" "position" "orientation" "flucQ" "RNEMD" ID RCURLY
1531 const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_3(_tokenSet_3_data_,4);
1532 const unsigned long MDParser::_tokenSet_4_data_[] = { 8453888UL, 0UL, 0UL, 0UL };
1533 // "atom" "bond" "bend" "torsion" "inversion" "rigidBody" "cutoffGroup"
1534 // "fragment" ID
1535 const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_4(_tokenSet_4_data_,4);
1536 const unsigned long MDParser::_tokenSet_5_data_[] = { 33554432UL, 0UL, 0UL, 0UL };
1537 // SEMICOLON
1538 const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_5(_tokenSet_5_data_,4);
1539 const unsigned long MDParser::_tokenSet_6_data_[] = { 1107296256UL, 3UL, 0UL, 0UL };
1540 // SEMICOLON RBRACKET RPAREN COMMA
1541 const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_6(_tokenSet_6_data_,4);
1542 const unsigned long MDParser::_tokenSet_7_data_[] = { 33554432UL, 3UL, 0UL, 0UL };
1543 // SEMICOLON RPAREN COMMA
1544 const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_7(_tokenSet_7_data_,4);
1545 const unsigned long MDParser::_tokenSet_8_data_[] = { 276889344UL, 0UL, 0UL, 0UL };
1546 // "atom" "bond" "bend" "torsion" "inversion" "rigidBody" "cutoffGroup"
1547 // "fragment" ID RCURLY
1548 const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_8(_tokenSet_8_data_,4);
1549 const unsigned long MDParser::_tokenSet_9_data_[] = { 9175040UL, 0UL, 0UL, 0UL };
1550 // "position" "orientation" ID
1551 const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_9(_tokenSet_9_data_,4);
1552 const unsigned long MDParser::_tokenSet_10_data_[] = { 277610496UL, 0UL, 0UL, 0UL };
1553 // "position" "orientation" ID RCURLY
1554 const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_10(_tokenSet_10_data_,4);
1555 const unsigned long MDParser::_tokenSet_11_data_[] = { 0UL, 1UL, 0UL, 0UL };
1556 // RPAREN
1557 const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_11(_tokenSet_11_data_,4);
1558 const unsigned long MDParser::_tokenSet_12_data_[] = { 276889600UL, 0UL, 0UL, 0UL };
1559 // "members" ID RCURLY
1560 const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_12(_tokenSet_12_data_,4);
1561 const unsigned long MDParser::_tokenSet_13_data_[] = { 276955136UL, 0UL, 0UL, 0UL };
1562 // "center" ID RCURLY
1563 const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_13(_tokenSet_13_data_,4);
1564 const unsigned long MDParser::_tokenSet_14_data_[] = { 276824064UL, 0UL, 0UL, 0UL };
1565 // ID RCURLY
1566 const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_14(_tokenSet_14_data_,4);
1567 const unsigned long MDParser::_tokenSet_15_data_[] = { 0UL, 3UL, 0UL, 0UL };
1568 // RPAREN COMMA
1569 const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_15(_tokenSet_15_data_,4);
1570
1571

Properties

Name Value
svn:keywords Author Id Revision Date