ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/OpenMD/trunk/src/mdParser/MDParser.cpp
Revision: 1902
Committed: Tue Jul 16 17:16:45 2013 UTC (11 years, 9 months ago) by gezelter
File size: 45280 byte(s)
Log Message:
Added a satellites keyword to the inversion block.

File Contents

# Content
1 /* $ANTLR 2.7.7 (20121118): "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 75 "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 93 "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 78 "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 81 "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 84 "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 87 "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 90 "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 LPAREN:
467 {
468 vectorConst();
469 astFactory->addASTChild( currentAST, returnAST );
470 constant_AST = currentAST.root;
471 break;
472 }
473 case ID:
474 {
475 ANTLR_USE_NAMESPACE(antlr)RefAST tmp25_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
476 tmp25_AST = astFactory->create(LT(1));
477 astFactory->addASTChild(currentAST, tmp25_AST);
478 match(ID);
479 constant_AST = currentAST.root;
480 break;
481 }
482 case StringLiteral:
483 {
484 ANTLR_USE_NAMESPACE(antlr)RefAST tmp26_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
485 tmp26_AST = astFactory->create(LT(1));
486 astFactory->addASTChild(currentAST, tmp26_AST);
487 match(StringLiteral);
488 constant_AST = currentAST.root;
489 break;
490 }
491 default:
492 {
493 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
494 }
495 }
496 }
497 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
498 reportError(ex);
499 recover(ex,_tokenSet_5);
500 }
501 returnAST = constant_AST;
502 }
503
504 void MDParser::intConst() {
505 returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
506 ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
507 ANTLR_USE_NAMESPACE(antlr)RefAST intConst_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
508
509 try { // for error handling
510 switch ( LA(1)) {
511 case NUM_INT:
512 {
513 ANTLR_USE_NAMESPACE(antlr)RefAST tmp27_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
514 tmp27_AST = astFactory->create(LT(1));
515 astFactory->addASTChild(currentAST, tmp27_AST);
516 match(NUM_INT);
517 intConst_AST = currentAST.root;
518 break;
519 }
520 case NUM_LONG:
521 {
522 ANTLR_USE_NAMESPACE(antlr)RefAST tmp28_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
523 tmp28_AST = astFactory->create(LT(1));
524 astFactory->addASTChild(currentAST, tmp28_AST);
525 match(NUM_LONG);
526 intConst_AST = currentAST.root;
527 break;
528 }
529 default:
530 {
531 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
532 }
533 }
534 }
535 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
536 reportError(ex);
537 recover(ex,_tokenSet_6);
538 }
539 returnAST = intConst_AST;
540 }
541
542 void MDParser::floatConst() {
543 returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
544 ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
545 ANTLR_USE_NAMESPACE(antlr)RefAST floatConst_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
546
547 try { // for error handling
548 switch ( LA(1)) {
549 case NUM_FLOAT:
550 {
551 ANTLR_USE_NAMESPACE(antlr)RefAST tmp29_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
552 tmp29_AST = astFactory->create(LT(1));
553 astFactory->addASTChild(currentAST, tmp29_AST);
554 match(NUM_FLOAT);
555 floatConst_AST = currentAST.root;
556 break;
557 }
558 case NUM_DOUBLE:
559 {
560 ANTLR_USE_NAMESPACE(antlr)RefAST tmp30_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
561 tmp30_AST = astFactory->create(LT(1));
562 astFactory->addASTChild(currentAST, tmp30_AST);
563 match(NUM_DOUBLE);
564 floatConst_AST = currentAST.root;
565 break;
566 }
567 default:
568 {
569 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
570 }
571 }
572 }
573 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
574 reportError(ex);
575 recover(ex,_tokenSet_7);
576 }
577 returnAST = floatConst_AST;
578 }
579
580 void MDParser::vectorConst() {
581 returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
582 ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
583 ANTLR_USE_NAMESPACE(antlr)RefAST vectorConst_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
584
585 try { // for error handling
586 ANTLR_USE_NAMESPACE(antlr)RefAST tmp31_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
587 tmp31_AST = astFactory->create(LT(1));
588 astFactory->makeASTRoot(currentAST, tmp31_AST);
589 match(LPAREN);
590 doubleNumber();
591 astFactory->addASTChild( currentAST, returnAST );
592 ANTLR_USE_NAMESPACE(antlr)RefAST tmp32_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
593 tmp32_AST = astFactory->create(LT(1));
594 astFactory->addASTChild(currentAST, tmp32_AST);
595 match(COMMA);
596 doubleNumber();
597 astFactory->addASTChild( currentAST, returnAST );
598 ANTLR_USE_NAMESPACE(antlr)RefAST tmp33_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
599 tmp33_AST = astFactory->create(LT(1));
600 astFactory->addASTChild(currentAST, tmp33_AST);
601 match(COMMA);
602 doubleNumber();
603 astFactory->addASTChild( currentAST, returnAST );
604 ANTLR_USE_NAMESPACE(antlr)RefAST tmp34_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
605 tmp34_AST = astFactory->create(LT(1));
606 astFactory->addASTChild(currentAST, tmp34_AST);
607 match(RPAREN);
608 vectorConst_AST = currentAST.root;
609 }
610 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
611 reportError(ex);
612 recover(ex,_tokenSet_5);
613 }
614 returnAST = vectorConst_AST;
615 }
616
617 void MDParser::moleculestatement() {
618 returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
619 ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
620 ANTLR_USE_NAMESPACE(antlr)RefAST moleculestatement_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
621
622 try { // for error handling
623 switch ( LA(1)) {
624 case ID:
625 {
626 assignment();
627 astFactory->addASTChild( currentAST, returnAST );
628 moleculestatement_AST = currentAST.root;
629 break;
630 }
631 case ATOM:
632 {
633 atomblock();
634 astFactory->addASTChild( currentAST, returnAST );
635 moleculestatement_AST = currentAST.root;
636 break;
637 }
638 case BOND:
639 {
640 bondblock();
641 astFactory->addASTChild( currentAST, returnAST );
642 moleculestatement_AST = currentAST.root;
643 break;
644 }
645 case BEND:
646 {
647 bendblock();
648 astFactory->addASTChild( currentAST, returnAST );
649 moleculestatement_AST = currentAST.root;
650 break;
651 }
652 case TORSION:
653 {
654 torsionblock();
655 astFactory->addASTChild( currentAST, returnAST );
656 moleculestatement_AST = currentAST.root;
657 break;
658 }
659 case INVERSION:
660 {
661 inversionblock();
662 astFactory->addASTChild( currentAST, returnAST );
663 moleculestatement_AST = currentAST.root;
664 break;
665 }
666 case RIGIDBODY:
667 {
668 rigidbodyblock();
669 astFactory->addASTChild( currentAST, returnAST );
670 moleculestatement_AST = currentAST.root;
671 break;
672 }
673 case CUTOFFGROUP:
674 {
675 cutoffgroupblock();
676 astFactory->addASTChild( currentAST, returnAST );
677 moleculestatement_AST = currentAST.root;
678 break;
679 }
680 case FRAGMENT:
681 {
682 fragmentblock();
683 astFactory->addASTChild( currentAST, returnAST );
684 moleculestatement_AST = currentAST.root;
685 break;
686 }
687 default:
688 {
689 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
690 }
691 }
692 }
693 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
694 reportError(ex);
695 recover(ex,_tokenSet_8);
696 }
697 returnAST = moleculestatement_AST;
698 }
699
700 void MDParser::atomblock() {
701 returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
702 ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
703 ANTLR_USE_NAMESPACE(antlr)RefAST atomblock_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
704
705 try { // for error handling
706 ANTLR_USE_NAMESPACE(antlr)RefAST tmp35_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
707 tmp35_AST = astFactory->create(LT(1));
708 astFactory->makeASTRoot(currentAST, tmp35_AST);
709 match(ATOM);
710 match(LBRACKET);
711 intConst();
712 astFactory->addASTChild( currentAST, returnAST );
713 match(RBRACKET);
714 match(LCURLY);
715 { // ( ... )*
716 for (;;) {
717 if ((_tokenSet_9.member(LA(1)))) {
718 atomstatement();
719 astFactory->addASTChild( currentAST, returnAST );
720 }
721 else {
722 goto _loop31;
723 }
724
725 }
726 _loop31:;
727 } // ( ... )*
728 ANTLR_USE_NAMESPACE(antlr)RefAST tmp39_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
729 tmp39_AST = astFactory->create(LT(1));
730 astFactory->addASTChild(currentAST, tmp39_AST);
731 match(RCURLY);
732 #line 107 "MDParser.g"
733 tmp39_AST->setType(ENDBLOCK);
734 #line 735 "MDParser.cpp"
735 atomblock_AST = currentAST.root;
736 }
737 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
738 reportError(ex);
739 recover(ex,_tokenSet_8);
740 }
741 returnAST = atomblock_AST;
742 }
743
744 void MDParser::bondblock() {
745 returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
746 ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
747 ANTLR_USE_NAMESPACE(antlr)RefAST bondblock_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
748
749 try { // for error handling
750 ANTLR_USE_NAMESPACE(antlr)RefAST tmp40_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
751 tmp40_AST = astFactory->create(LT(1));
752 astFactory->makeASTRoot(currentAST, tmp40_AST);
753 match(BOND);
754 {
755 switch ( LA(1)) {
756 case LBRACKET:
757 {
758 match(LBRACKET);
759 intConst();
760 match(RBRACKET);
761 break;
762 }
763 case LCURLY:
764 {
765 break;
766 }
767 default:
768 {
769 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
770 }
771 }
772 }
773 match(LCURLY);
774 { // ( ... )*
775 for (;;) {
776 if ((LA(1) == MEMBERS || LA(1) == ID)) {
777 bondstatement();
778 astFactory->addASTChild( currentAST, returnAST );
779 }
780 else {
781 goto _loop36;
782 }
783
784 }
785 _loop36:;
786 } // ( ... )*
787 ANTLR_USE_NAMESPACE(antlr)RefAST tmp44_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
788 tmp44_AST = astFactory->create(LT(1));
789 astFactory->addASTChild(currentAST, tmp44_AST);
790 match(RCURLY);
791 #line 116 "MDParser.g"
792 tmp44_AST->setType(ENDBLOCK);
793 #line 794 "MDParser.cpp"
794 bondblock_AST = currentAST.root;
795 }
796 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
797 reportError(ex);
798 recover(ex,_tokenSet_8);
799 }
800 returnAST = bondblock_AST;
801 }
802
803 void MDParser::bendblock() {
804 returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
805 ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
806 ANTLR_USE_NAMESPACE(antlr)RefAST bendblock_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
807
808 try { // for error handling
809 ANTLR_USE_NAMESPACE(antlr)RefAST tmp45_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
810 tmp45_AST = astFactory->create(LT(1));
811 astFactory->makeASTRoot(currentAST, tmp45_AST);
812 match(BEND);
813 {
814 switch ( LA(1)) {
815 case LBRACKET:
816 {
817 match(LBRACKET);
818 intConst();
819 match(RBRACKET);
820 break;
821 }
822 case LCURLY:
823 {
824 break;
825 }
826 default:
827 {
828 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
829 }
830 }
831 }
832 match(LCURLY);
833 { // ( ... )*
834 for (;;) {
835 if ((LA(1) == MEMBERS || LA(1) == ID)) {
836 bendstatement();
837 astFactory->addASTChild( currentAST, returnAST );
838 }
839 else {
840 goto _loop41;
841 }
842
843 }
844 _loop41:;
845 } // ( ... )*
846 ANTLR_USE_NAMESPACE(antlr)RefAST tmp49_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
847 tmp49_AST = astFactory->create(LT(1));
848 astFactory->addASTChild(currentAST, tmp49_AST);
849 match(RCURLY);
850 #line 123 "MDParser.g"
851 tmp49_AST->setType(ENDBLOCK);
852 #line 853 "MDParser.cpp"
853 bendblock_AST = currentAST.root;
854 }
855 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
856 reportError(ex);
857 recover(ex,_tokenSet_8);
858 }
859 returnAST = bendblock_AST;
860 }
861
862 void MDParser::torsionblock() {
863 returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
864 ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
865 ANTLR_USE_NAMESPACE(antlr)RefAST torsionblock_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
866
867 try { // for error handling
868 ANTLR_USE_NAMESPACE(antlr)RefAST tmp50_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
869 tmp50_AST = astFactory->create(LT(1));
870 astFactory->makeASTRoot(currentAST, tmp50_AST);
871 match(TORSION);
872 {
873 switch ( LA(1)) {
874 case LBRACKET:
875 {
876 match(LBRACKET);
877 intConst();
878 match(RBRACKET);
879 break;
880 }
881 case LCURLY:
882 {
883 break;
884 }
885 default:
886 {
887 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
888 }
889 }
890 }
891 match(LCURLY);
892 { // ( ... )*
893 for (;;) {
894 if ((LA(1) == MEMBERS || LA(1) == ID)) {
895 torsionstatement();
896 astFactory->addASTChild( currentAST, returnAST );
897 }
898 else {
899 goto _loop46;
900 }
901
902 }
903 _loop46:;
904 } // ( ... )*
905 ANTLR_USE_NAMESPACE(antlr)RefAST tmp54_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
906 tmp54_AST = astFactory->create(LT(1));
907 astFactory->addASTChild(currentAST, tmp54_AST);
908 match(RCURLY);
909 #line 130 "MDParser.g"
910 tmp54_AST->setType(ENDBLOCK);
911 #line 912 "MDParser.cpp"
912 torsionblock_AST = currentAST.root;
913 }
914 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
915 reportError(ex);
916 recover(ex,_tokenSet_8);
917 }
918 returnAST = torsionblock_AST;
919 }
920
921 void MDParser::inversionblock() {
922 returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
923 ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
924 ANTLR_USE_NAMESPACE(antlr)RefAST inversionblock_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
925
926 try { // for error handling
927 ANTLR_USE_NAMESPACE(antlr)RefAST tmp55_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
928 tmp55_AST = astFactory->create(LT(1));
929 astFactory->makeASTRoot(currentAST, tmp55_AST);
930 match(INVERSION);
931 {
932 switch ( LA(1)) {
933 case LBRACKET:
934 {
935 match(LBRACKET);
936 intConst();
937 match(RBRACKET);
938 break;
939 }
940 case LCURLY:
941 {
942 break;
943 }
944 default:
945 {
946 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
947 }
948 }
949 }
950 match(LCURLY);
951 { // ( ... )*
952 for (;;) {
953 if ((_tokenSet_10.member(LA(1)))) {
954 inversionstatement();
955 astFactory->addASTChild( currentAST, returnAST );
956 }
957 else {
958 goto _loop51;
959 }
960
961 }
962 _loop51:;
963 } // ( ... )*
964 ANTLR_USE_NAMESPACE(antlr)RefAST tmp59_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
965 tmp59_AST = astFactory->create(LT(1));
966 astFactory->addASTChild(currentAST, tmp59_AST);
967 match(RCURLY);
968 #line 137 "MDParser.g"
969 tmp59_AST->setType(ENDBLOCK);
970 #line 971 "MDParser.cpp"
971 inversionblock_AST = currentAST.root;
972 }
973 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
974 reportError(ex);
975 recover(ex,_tokenSet_8);
976 }
977 returnAST = inversionblock_AST;
978 }
979
980 void MDParser::rigidbodyblock() {
981 returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
982 ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
983 ANTLR_USE_NAMESPACE(antlr)RefAST rigidbodyblock_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
984
985 try { // for error handling
986 ANTLR_USE_NAMESPACE(antlr)RefAST tmp60_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
987 tmp60_AST = astFactory->create(LT(1));
988 astFactory->makeASTRoot(currentAST, tmp60_AST);
989 match(RIGIDBODY);
990 match(LBRACKET);
991 intConst();
992 astFactory->addASTChild( currentAST, returnAST );
993 match(RBRACKET);
994 match(LCURLY);
995 { // ( ... )*
996 for (;;) {
997 if ((LA(1) == MEMBERS || LA(1) == ID)) {
998 rigidbodystatement();
999 astFactory->addASTChild( currentAST, returnAST );
1000 }
1001 else {
1002 goto _loop55;
1003 }
1004
1005 }
1006 _loop55:;
1007 } // ( ... )*
1008 ANTLR_USE_NAMESPACE(antlr)RefAST tmp64_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1009 tmp64_AST = astFactory->create(LT(1));
1010 astFactory->addASTChild(currentAST, tmp64_AST);
1011 match(RCURLY);
1012 #line 145 "MDParser.g"
1013 tmp64_AST->setType(ENDBLOCK);
1014 #line 1015 "MDParser.cpp"
1015 rigidbodyblock_AST = currentAST.root;
1016 }
1017 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
1018 reportError(ex);
1019 recover(ex,_tokenSet_8);
1020 }
1021 returnAST = rigidbodyblock_AST;
1022 }
1023
1024 void MDParser::cutoffgroupblock() {
1025 returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1026 ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
1027 ANTLR_USE_NAMESPACE(antlr)RefAST cutoffgroupblock_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1028
1029 try { // for error handling
1030 ANTLR_USE_NAMESPACE(antlr)RefAST tmp65_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1031 tmp65_AST = astFactory->create(LT(1));
1032 astFactory->makeASTRoot(currentAST, tmp65_AST);
1033 match(CUTOFFGROUP);
1034 {
1035 switch ( LA(1)) {
1036 case LBRACKET:
1037 {
1038 match(LBRACKET);
1039 intConst();
1040 match(RBRACKET);
1041 break;
1042 }
1043 case LCURLY:
1044 {
1045 break;
1046 }
1047 default:
1048 {
1049 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
1050 }
1051 }
1052 }
1053 match(LCURLY);
1054 { // ( ... )*
1055 for (;;) {
1056 if ((LA(1) == MEMBERS || LA(1) == ID)) {
1057 cutoffgroupstatement();
1058 astFactory->addASTChild( currentAST, returnAST );
1059 }
1060 else {
1061 goto _loop60;
1062 }
1063
1064 }
1065 _loop60:;
1066 } // ( ... )*
1067 ANTLR_USE_NAMESPACE(antlr)RefAST tmp69_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1068 tmp69_AST = astFactory->create(LT(1));
1069 astFactory->addASTChild(currentAST, tmp69_AST);
1070 match(RCURLY);
1071 #line 152 "MDParser.g"
1072 tmp69_AST->setType(ENDBLOCK);
1073 #line 1074 "MDParser.cpp"
1074 cutoffgroupblock_AST = currentAST.root;
1075 }
1076 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
1077 reportError(ex);
1078 recover(ex,_tokenSet_8);
1079 }
1080 returnAST = cutoffgroupblock_AST;
1081 }
1082
1083 void MDParser::fragmentblock() {
1084 returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1085 ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
1086 ANTLR_USE_NAMESPACE(antlr)RefAST fragmentblock_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1087
1088 try { // for error handling
1089 ANTLR_USE_NAMESPACE(antlr)RefAST tmp70_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1090 tmp70_AST = astFactory->create(LT(1));
1091 astFactory->makeASTRoot(currentAST, tmp70_AST);
1092 match(FRAGMENT);
1093 match(LBRACKET);
1094 intConst();
1095 astFactory->addASTChild( currentAST, returnAST );
1096 match(RBRACKET);
1097 match(LCURLY);
1098 { // ( ... )*
1099 for (;;) {
1100 if ((LA(1) == ID)) {
1101 fragmentstatement();
1102 astFactory->addASTChild( currentAST, returnAST );
1103 }
1104 else {
1105 goto _loop64;
1106 }
1107
1108 }
1109 _loop64:;
1110 } // ( ... )*
1111 ANTLR_USE_NAMESPACE(antlr)RefAST tmp74_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1112 tmp74_AST = astFactory->create(LT(1));
1113 astFactory->addASTChild(currentAST, tmp74_AST);
1114 match(RCURLY);
1115 #line 159 "MDParser.g"
1116 tmp74_AST->setType(ENDBLOCK);
1117 #line 1118 "MDParser.cpp"
1118 fragmentblock_AST = currentAST.root;
1119 }
1120 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
1121 reportError(ex);
1122 recover(ex,_tokenSet_8);
1123 }
1124 returnAST = fragmentblock_AST;
1125 }
1126
1127 void MDParser::atomstatement() {
1128 returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1129 ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
1130 ANTLR_USE_NAMESPACE(antlr)RefAST atomstatement_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1131
1132 try { // for error handling
1133 switch ( LA(1)) {
1134 case ID:
1135 {
1136 assignment();
1137 astFactory->addASTChild( currentAST, returnAST );
1138 atomstatement_AST = currentAST.root;
1139 break;
1140 }
1141 case POSITION:
1142 {
1143 ANTLR_USE_NAMESPACE(antlr)RefAST tmp75_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1144 tmp75_AST = astFactory->create(LT(1));
1145 astFactory->makeASTRoot(currentAST, tmp75_AST);
1146 match(POSITION);
1147 match(LPAREN);
1148 doubleNumberTuple();
1149 astFactory->addASTChild( currentAST, returnAST );
1150 match(RPAREN);
1151 match(SEMICOLON);
1152 atomstatement_AST = currentAST.root;
1153 break;
1154 }
1155 case ORIENTATION:
1156 {
1157 ANTLR_USE_NAMESPACE(antlr)RefAST tmp79_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1158 tmp79_AST = astFactory->create(LT(1));
1159 astFactory->makeASTRoot(currentAST, tmp79_AST);
1160 match(ORIENTATION);
1161 match(LPAREN);
1162 doubleNumberTuple();
1163 astFactory->addASTChild( currentAST, returnAST );
1164 match(RPAREN);
1165 match(SEMICOLON);
1166 atomstatement_AST = currentAST.root;
1167 break;
1168 }
1169 default:
1170 {
1171 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
1172 }
1173 }
1174 }
1175 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
1176 reportError(ex);
1177 recover(ex,_tokenSet_11);
1178 }
1179 returnAST = atomstatement_AST;
1180 }
1181
1182 void MDParser::doubleNumberTuple() {
1183 returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1184 ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
1185 ANTLR_USE_NAMESPACE(antlr)RefAST doubleNumberTuple_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1186
1187 try { // for error handling
1188 doubleNumber();
1189 astFactory->addASTChild( currentAST, returnAST );
1190 { // ( ... )*
1191 for (;;) {
1192 if ((LA(1) == COMMA)) {
1193 match(COMMA);
1194 doubleNumber();
1195 astFactory->addASTChild( currentAST, returnAST );
1196 }
1197 else {
1198 goto _loop68;
1199 }
1200
1201 }
1202 _loop68:;
1203 } // ( ... )*
1204 doubleNumberTuple_AST = currentAST.root;
1205 }
1206 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
1207 reportError(ex);
1208 recover(ex,_tokenSet_12);
1209 }
1210 returnAST = doubleNumberTuple_AST;
1211 }
1212
1213 void MDParser::bondstatement() {
1214 returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1215 ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
1216 ANTLR_USE_NAMESPACE(antlr)RefAST bondstatement_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1217
1218 try { // for error handling
1219 switch ( LA(1)) {
1220 case ID:
1221 {
1222 assignment();
1223 astFactory->addASTChild( currentAST, returnAST );
1224 bondstatement_AST = currentAST.root;
1225 break;
1226 }
1227 case MEMBERS:
1228 {
1229 ANTLR_USE_NAMESPACE(antlr)RefAST tmp84_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1230 tmp84_AST = astFactory->create(LT(1));
1231 astFactory->makeASTRoot(currentAST, tmp84_AST);
1232 match(MEMBERS);
1233 match(LPAREN);
1234 inttuple();
1235 astFactory->addASTChild( currentAST, returnAST );
1236 match(RPAREN);
1237 match(SEMICOLON);
1238 bondstatement_AST = currentAST.root;
1239 break;
1240 }
1241 default:
1242 {
1243 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
1244 }
1245 }
1246 }
1247 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
1248 reportError(ex);
1249 recover(ex,_tokenSet_13);
1250 }
1251 returnAST = bondstatement_AST;
1252 }
1253
1254 void MDParser::inttuple() {
1255 returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1256 ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
1257 ANTLR_USE_NAMESPACE(antlr)RefAST inttuple_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1258
1259 try { // for error handling
1260 intConst();
1261 astFactory->addASTChild( currentAST, returnAST );
1262 { // ( ... )*
1263 for (;;) {
1264 if ((LA(1) == COMMA)) {
1265 match(COMMA);
1266 intConst();
1267 astFactory->addASTChild( currentAST, returnAST );
1268 }
1269 else {
1270 goto _loop71;
1271 }
1272
1273 }
1274 _loop71:;
1275 } // ( ... )*
1276 inttuple_AST = currentAST.root;
1277 }
1278 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
1279 reportError(ex);
1280 recover(ex,_tokenSet_12);
1281 }
1282 returnAST = inttuple_AST;
1283 }
1284
1285 void MDParser::bendstatement() {
1286 returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1287 ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
1288 ANTLR_USE_NAMESPACE(antlr)RefAST bendstatement_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1289
1290 try { // for error handling
1291 switch ( LA(1)) {
1292 case ID:
1293 {
1294 assignment();
1295 astFactory->addASTChild( currentAST, returnAST );
1296 bendstatement_AST = currentAST.root;
1297 break;
1298 }
1299 case MEMBERS:
1300 {
1301 ANTLR_USE_NAMESPACE(antlr)RefAST tmp89_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1302 tmp89_AST = astFactory->create(LT(1));
1303 astFactory->makeASTRoot(currentAST, tmp89_AST);
1304 match(MEMBERS);
1305 match(LPAREN);
1306 inttuple();
1307 astFactory->addASTChild( currentAST, returnAST );
1308 match(RPAREN);
1309 match(SEMICOLON);
1310 bendstatement_AST = currentAST.root;
1311 break;
1312 }
1313 default:
1314 {
1315 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
1316 }
1317 }
1318 }
1319 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
1320 reportError(ex);
1321 recover(ex,_tokenSet_13);
1322 }
1323 returnAST = bendstatement_AST;
1324 }
1325
1326 void MDParser::torsionstatement() {
1327 returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1328 ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
1329 ANTLR_USE_NAMESPACE(antlr)RefAST torsionstatement_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1330
1331 try { // for error handling
1332 switch ( LA(1)) {
1333 case ID:
1334 {
1335 assignment();
1336 astFactory->addASTChild( currentAST, returnAST );
1337 torsionstatement_AST = currentAST.root;
1338 break;
1339 }
1340 case MEMBERS:
1341 {
1342 ANTLR_USE_NAMESPACE(antlr)RefAST tmp93_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1343 tmp93_AST = astFactory->create(LT(1));
1344 astFactory->makeASTRoot(currentAST, tmp93_AST);
1345 match(MEMBERS);
1346 match(LPAREN);
1347 inttuple();
1348 astFactory->addASTChild( currentAST, returnAST );
1349 match(RPAREN);
1350 match(SEMICOLON);
1351 torsionstatement_AST = currentAST.root;
1352 break;
1353 }
1354 default:
1355 {
1356 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
1357 }
1358 }
1359 }
1360 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
1361 reportError(ex);
1362 recover(ex,_tokenSet_13);
1363 }
1364 returnAST = torsionstatement_AST;
1365 }
1366
1367 void MDParser::inversionstatement() {
1368 returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1369 ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
1370 ANTLR_USE_NAMESPACE(antlr)RefAST inversionstatement_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1371
1372 try { // for error handling
1373 switch ( LA(1)) {
1374 case ID:
1375 {
1376 assignment();
1377 astFactory->addASTChild( currentAST, returnAST );
1378 inversionstatement_AST = currentAST.root;
1379 break;
1380 }
1381 case CENTER:
1382 {
1383 ANTLR_USE_NAMESPACE(antlr)RefAST tmp97_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1384 tmp97_AST = astFactory->create(LT(1));
1385 astFactory->makeASTRoot(currentAST, tmp97_AST);
1386 match(CENTER);
1387 match(LPAREN);
1388 intConst();
1389 astFactory->addASTChild( currentAST, returnAST );
1390 match(RPAREN);
1391 match(SEMICOLON);
1392 inversionstatement_AST = currentAST.root;
1393 break;
1394 }
1395 case SATELLITES:
1396 {
1397 ANTLR_USE_NAMESPACE(antlr)RefAST tmp101_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1398 tmp101_AST = astFactory->create(LT(1));
1399 astFactory->makeASTRoot(currentAST, tmp101_AST);
1400 match(SATELLITES);
1401 match(LPAREN);
1402 inttuple();
1403 astFactory->addASTChild( currentAST, returnAST );
1404 match(RPAREN);
1405 match(SEMICOLON);
1406 inversionstatement_AST = currentAST.root;
1407 break;
1408 }
1409 default:
1410 {
1411 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
1412 }
1413 }
1414 }
1415 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
1416 reportError(ex);
1417 recover(ex,_tokenSet_14);
1418 }
1419 returnAST = inversionstatement_AST;
1420 }
1421
1422 void MDParser::rigidbodystatement() {
1423 returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1424 ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
1425 ANTLR_USE_NAMESPACE(antlr)RefAST rigidbodystatement_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1426
1427 try { // for error handling
1428 switch ( LA(1)) {
1429 case ID:
1430 {
1431 assignment();
1432 astFactory->addASTChild( currentAST, returnAST );
1433 rigidbodystatement_AST = currentAST.root;
1434 break;
1435 }
1436 case MEMBERS:
1437 {
1438 ANTLR_USE_NAMESPACE(antlr)RefAST tmp105_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1439 tmp105_AST = astFactory->create(LT(1));
1440 astFactory->makeASTRoot(currentAST, tmp105_AST);
1441 match(MEMBERS);
1442 match(LPAREN);
1443 inttuple();
1444 astFactory->addASTChild( currentAST, returnAST );
1445 match(RPAREN);
1446 match(SEMICOLON);
1447 rigidbodystatement_AST = currentAST.root;
1448 break;
1449 }
1450 default:
1451 {
1452 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
1453 }
1454 }
1455 }
1456 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
1457 reportError(ex);
1458 recover(ex,_tokenSet_13);
1459 }
1460 returnAST = rigidbodystatement_AST;
1461 }
1462
1463 void MDParser::cutoffgroupstatement() {
1464 returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1465 ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
1466 ANTLR_USE_NAMESPACE(antlr)RefAST cutoffgroupstatement_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1467
1468 try { // for error handling
1469 switch ( LA(1)) {
1470 case ID:
1471 {
1472 assignment();
1473 astFactory->addASTChild( currentAST, returnAST );
1474 cutoffgroupstatement_AST = currentAST.root;
1475 break;
1476 }
1477 case MEMBERS:
1478 {
1479 ANTLR_USE_NAMESPACE(antlr)RefAST tmp109_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1480 tmp109_AST = astFactory->create(LT(1));
1481 astFactory->makeASTRoot(currentAST, tmp109_AST);
1482 match(MEMBERS);
1483 match(LPAREN);
1484 inttuple();
1485 astFactory->addASTChild( currentAST, returnAST );
1486 match(RPAREN);
1487 match(SEMICOLON);
1488 cutoffgroupstatement_AST = currentAST.root;
1489 break;
1490 }
1491 default:
1492 {
1493 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
1494 }
1495 }
1496 }
1497 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
1498 reportError(ex);
1499 recover(ex,_tokenSet_13);
1500 }
1501 returnAST = cutoffgroupstatement_AST;
1502 }
1503
1504 void MDParser::fragmentstatement() {
1505 returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1506 ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
1507 ANTLR_USE_NAMESPACE(antlr)RefAST fragmentstatement_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1508
1509 try { // for error handling
1510 assignment();
1511 astFactory->addASTChild( currentAST, returnAST );
1512 fragmentstatement_AST = currentAST.root;
1513 }
1514 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
1515 reportError(ex);
1516 recover(ex,_tokenSet_15);
1517 }
1518 returnAST = fragmentstatement_AST;
1519 }
1520
1521 void MDParser::doubleNumber() {
1522 returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1523 ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
1524 ANTLR_USE_NAMESPACE(antlr)RefAST doubleNumber_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1525
1526 try { // for error handling
1527 {
1528 switch ( LA(1)) {
1529 case NUM_INT:
1530 case NUM_LONG:
1531 {
1532 intConst();
1533 astFactory->addASTChild( currentAST, returnAST );
1534 break;
1535 }
1536 case NUM_FLOAT:
1537 case NUM_DOUBLE:
1538 {
1539 floatConst();
1540 astFactory->addASTChild( currentAST, returnAST );
1541 break;
1542 }
1543 default:
1544 {
1545 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
1546 }
1547 }
1548 }
1549 doubleNumber_AST = currentAST.root;
1550 }
1551 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
1552 reportError(ex);
1553 recover(ex,_tokenSet_16);
1554 }
1555 returnAST = doubleNumber_AST;
1556 }
1557
1558 void MDParser::initializeASTFactory( ANTLR_USE_NAMESPACE(antlr)ASTFactory& factory )
1559 {
1560 factory.setMaxNodeType(57);
1561 }
1562 const char* MDParser::tokenNames[] = {
1563 "<0>",
1564 "EOF",
1565 "<2>",
1566 "NULL_TREE_LOOKAHEAD",
1567 "\"component\"",
1568 "\"molecule\"",
1569 "\"zconstraint\"",
1570 "\"restraint\"",
1571 "\"atom\"",
1572 "\"bond\"",
1573 "\"bend\"",
1574 "\"torsion\"",
1575 "\"inversion\"",
1576 "\"rigidBody\"",
1577 "\"cutoffGroup\"",
1578 "\"fragment\"",
1579 "\"members\"",
1580 "\"center\"",
1581 "\"satellites\"",
1582 "\"position\"",
1583 "\"orientation\"",
1584 "\"flucQ\"",
1585 "\"RNEMD\"",
1586 "\"minimizer\"",
1587 "ENDBLOCK",
1588 "ID",
1589 "ASSIGNEQUAL",
1590 "SEMICOLON",
1591 "StringLiteral",
1592 "LCURLY",
1593 "RCURLY",
1594 "LBRACKET",
1595 "RBRACKET",
1596 "LPAREN",
1597 "RPAREN",
1598 "COMMA",
1599 "NUM_INT",
1600 "NUM_LONG",
1601 "NUM_FLOAT",
1602 "NUM_DOUBLE",
1603 "DOT",
1604 "COLON",
1605 "QUESTIONMARK",
1606 "Whitespace",
1607 "Comment",
1608 "CPPComment",
1609 "a line directive",
1610 "LineDirective",
1611 "Space",
1612 "CharLiteral",
1613 "EndOfLine",
1614 "Escape",
1615 "Vocabulary",
1616 "Digit",
1617 "Decimal",
1618 "HEX_DIGIT",
1619 "EXPONENT",
1620 "FLOAT_SUFFIX",
1621 0
1622 };
1623
1624 const unsigned long MDParser::_tokenSet_0_data_[] = { 48234736UL, 0UL, 0UL, 0UL };
1625 // "component" "molecule" "zconstraint" "restraint" "flucQ" "RNEMD" "minimizer"
1626 // ID
1627 const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_0(_tokenSet_0_data_,4);
1628 const unsigned long MDParser::_tokenSet_1_data_[] = { 2UL, 0UL, 0UL, 0UL };
1629 // EOF
1630 const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_1(_tokenSet_1_data_,4);
1631 const unsigned long MDParser::_tokenSet_2_data_[] = { 48234738UL, 0UL, 0UL, 0UL };
1632 // EOF "component" "molecule" "zconstraint" "restraint" "flucQ" "RNEMD"
1633 // "minimizer" ID
1634 const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_2(_tokenSet_2_data_,4);
1635 const unsigned long MDParser::_tokenSet_3_data_[] = { 1124073458UL, 0UL, 0UL, 0UL };
1636 // EOF "component" "molecule" "zconstraint" "restraint" "atom" "bond" "bend"
1637 // "torsion" "inversion" "rigidBody" "cutoffGroup" "fragment" "members"
1638 // "center" "satellites" "position" "orientation" "flucQ" "RNEMD" "minimizer"
1639 // ID RCURLY
1640 const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_3(_tokenSet_3_data_,4);
1641 const unsigned long MDParser::_tokenSet_4_data_[] = { 33619712UL, 0UL, 0UL, 0UL };
1642 // "atom" "bond" "bend" "torsion" "inversion" "rigidBody" "cutoffGroup"
1643 // "fragment" ID
1644 const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_4(_tokenSet_4_data_,4);
1645 const unsigned long MDParser::_tokenSet_5_data_[] = { 134217728UL, 0UL, 0UL, 0UL };
1646 // SEMICOLON
1647 const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_5(_tokenSet_5_data_,4);
1648 const unsigned long MDParser::_tokenSet_6_data_[] = { 134217728UL, 13UL, 0UL, 0UL };
1649 // SEMICOLON RBRACKET RPAREN COMMA
1650 const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_6(_tokenSet_6_data_,4);
1651 const unsigned long MDParser::_tokenSet_7_data_[] = { 134217728UL, 12UL, 0UL, 0UL };
1652 // SEMICOLON RPAREN COMMA
1653 const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_7(_tokenSet_7_data_,4);
1654 const unsigned long MDParser::_tokenSet_8_data_[] = { 1107361536UL, 0UL, 0UL, 0UL };
1655 // "atom" "bond" "bend" "torsion" "inversion" "rigidBody" "cutoffGroup"
1656 // "fragment" ID RCURLY
1657 const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_8(_tokenSet_8_data_,4);
1658 const unsigned long MDParser::_tokenSet_9_data_[] = { 35127296UL, 0UL, 0UL, 0UL };
1659 // "position" "orientation" ID
1660 const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_9(_tokenSet_9_data_,4);
1661 const unsigned long MDParser::_tokenSet_10_data_[] = { 33947648UL, 0UL, 0UL, 0UL };
1662 // "center" "satellites" ID
1663 const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_10(_tokenSet_10_data_,4);
1664 const unsigned long MDParser::_tokenSet_11_data_[] = { 1108869120UL, 0UL, 0UL, 0UL };
1665 // "position" "orientation" ID RCURLY
1666 const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_11(_tokenSet_11_data_,4);
1667 const unsigned long MDParser::_tokenSet_12_data_[] = { 0UL, 4UL, 0UL, 0UL };
1668 // RPAREN
1669 const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_12(_tokenSet_12_data_,4);
1670 const unsigned long MDParser::_tokenSet_13_data_[] = { 1107361792UL, 0UL, 0UL, 0UL };
1671 // "members" ID RCURLY
1672 const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_13(_tokenSet_13_data_,4);
1673 const unsigned long MDParser::_tokenSet_14_data_[] = { 1107689472UL, 0UL, 0UL, 0UL };
1674 // "center" "satellites" ID RCURLY
1675 const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_14(_tokenSet_14_data_,4);
1676 const unsigned long MDParser::_tokenSet_15_data_[] = { 1107296256UL, 0UL, 0UL, 0UL };
1677 // ID RCURLY
1678 const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_15(_tokenSet_15_data_,4);
1679 const unsigned long MDParser::_tokenSet_16_data_[] = { 0UL, 12UL, 0UL, 0UL };
1680 // RPAREN COMMA
1681 const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_16(_tokenSet_16_data_,4);
1682
1683

Properties

Name Value
svn:keywords Author Id Revision Date