ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/OpenMD/branches/development/src/mdParser/MDParser.cpp
(Generate patch)

Comparing:
trunk/src/mdParser/MDParser.cpp (file contents), Revision 1275 by cli2, Fri Jul 4 20:54:29 2008 UTC vs.
branches/development/src/mdParser/MDParser.cpp (file contents), Revision 1746 by gezelter, Wed Jun 6 02:18:54 2012 UTC

# Line 1 | Line 1
1 < /* $ANTLR 2.7.4: "MDParser.g" -> "MDParser.cpp"$ */
1 > /* $ANTLR 2.7.7 (20110725): "MDParser.g" -> "MDParser.cpp"$ */
2   #include "MDParser.hpp"
3   #include <antlr/NoViableAltException.hpp>
4   #include <antlr/SemanticException.hpp>
# Line 53 | Line 53 | void MDParser::mdfile() {
53          }
54          catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
55                  reportError(ex);
56 <                consume();
57 <                consumeUntil(_tokenSet_1);
56 >                recover(ex,_tokenSet_1);
57          }
58          returnAST = mdfile_AST;
59   }
# Line 94 | Line 93 | void MDParser::statement() {
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());
# Line 102 | Line 129 | void MDParser::statement() {
129          }
130          catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
131                  reportError(ex);
132 <                consume();
106 <                consumeUntil(_tokenSet_2);
132 >                recover(ex,_tokenSet_2);
133          }
134          returnAST = statement_AST;
135   }
# Line 129 | Line 155 | void MDParser::assignment() {
155          }
156          catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
157                  reportError(ex);
158 <                consume();
133 <                consumeUntil(_tokenSet_3);
158 >                recover(ex,_tokenSet_3);
159          }
160          returnAST = assignment_AST;
161   }
# Line 163 | Line 188 | void MDParser::componentblock() {
188                  tmp6_AST = astFactory->create(LT(1));
189                  astFactory->addASTChild(currentAST, tmp6_AST);
190                  match(RCURLY);
191 < #line 65 "MDParser.g"
191 > #line 73 "MDParser.g"
192                  tmp6_AST->setType(ENDBLOCK);
193 < #line 169 "MDParser.cpp"
193 > #line 194 "MDParser.cpp"
194                  componentblock_AST = currentAST.root;
195          }
196          catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
197                  reportError(ex);
198 <                consume();
174 <                consumeUntil(_tokenSet_2);
198 >                recover(ex,_tokenSet_2);
199          }
200          returnAST = componentblock_AST;
201   }
# Line 194 | Line 218 | void MDParser::moleculeblock() {
218                                  astFactory->addASTChild( currentAST, returnAST );
219                          }
220                          else {
221 <                                goto _loop15;
221 >                                goto _loop27;
222                          }
223                          
224                  }
225 <                _loop15:;
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 71 "MDParser.g"
231 > #line 91 "MDParser.g"
232                  tmp9_AST->setType(ENDBLOCK);
233 < #line 210 "MDParser.cpp"
233 > #line 234 "MDParser.cpp"
234                  moleculeblock_AST = currentAST.root;
235          }
236          catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
237                  reportError(ex);
238 <                consume();
215 <                consumeUntil(_tokenSet_2);
238 >                recover(ex,_tokenSet_2);
239          }
240          returnAST = moleculeblock_AST;
241   }
# Line 245 | Line 268 | void MDParser::zconstraintblock() {
268                  tmp12_AST = astFactory->create(LT(1));
269                  astFactory->addASTChild(currentAST, tmp12_AST);
270                  match(RCURLY);
271 < #line 68 "MDParser.g"
271 > #line 76 "MDParser.g"
272                  tmp12_AST->setType(ENDBLOCK);
273 < #line 251 "MDParser.cpp"
273 > #line 274 "MDParser.cpp"
274                  zconstraintblock_AST = currentAST.root;
275          }
276          catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
277                  reportError(ex);
278 <                consume();
256 <                consumeUntil(_tokenSet_2);
278 >                recover(ex,_tokenSet_2);
279          }
280          returnAST = zconstraintblock_AST;
281 + }
282 +
283 + void MDParser::restraintblock() {
284 +        returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
285 +        ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
286 +        ANTLR_USE_NAMESPACE(antlr)RefAST restraintblock_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
287 +        
288 +        try {      // for error handling
289 +                ANTLR_USE_NAMESPACE(antlr)RefAST tmp13_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
290 +                tmp13_AST = astFactory->create(LT(1));
291 +                astFactory->makeASTRoot(currentAST, tmp13_AST);
292 +                match(RESTRAINT);
293 +                match(LCURLY);
294 +                { // ( ... )*
295 +                for (;;) {
296 +                        if ((LA(1) == ID)) {
297 +                                assignment();
298 +                                astFactory->addASTChild( currentAST, returnAST );
299 +                        }
300 +                        else {
301 +                                goto _loop15;
302 +                        }
303 +                        
304 +                }
305 +                _loop15:;
306 +                } // ( ... )*
307 +                ANTLR_USE_NAMESPACE(antlr)RefAST tmp15_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
308 +                tmp15_AST = astFactory->create(LT(1));
309 +                astFactory->addASTChild(currentAST, tmp15_AST);
310 +                match(RCURLY);
311 + #line 79 "MDParser.g"
312 +                tmp15_AST->setType(ENDBLOCK);
313 + #line 314 "MDParser.cpp"
314 +                restraintblock_AST = currentAST.root;
315 +        }
316 +        catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
317 +                reportError(ex);
318 +                recover(ex,_tokenSet_2);
319 +        }
320 +        returnAST = restraintblock_AST;
321 + }
322 +
323 + void MDParser::flucqblock() {
324 +        returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
325 +        ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
326 +        ANTLR_USE_NAMESPACE(antlr)RefAST flucqblock_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
327 +        
328 +        try {      // for error handling
329 +                ANTLR_USE_NAMESPACE(antlr)RefAST tmp16_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
330 +                tmp16_AST = astFactory->create(LT(1));
331 +                astFactory->makeASTRoot(currentAST, tmp16_AST);
332 +                match(FLUCQ);
333 +                match(LCURLY);
334 +                { // ( ... )*
335 +                for (;;) {
336 +                        if ((LA(1) == ID)) {
337 +                                assignment();
338 +                                astFactory->addASTChild( currentAST, returnAST );
339 +                        }
340 +                        else {
341 +                                goto _loop18;
342 +                        }
343 +                        
344 +                }
345 +                _loop18:;
346 +                } // ( ... )*
347 +                ANTLR_USE_NAMESPACE(antlr)RefAST tmp18_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
348 +                tmp18_AST = astFactory->create(LT(1));
349 +                astFactory->addASTChild(currentAST, tmp18_AST);
350 +                match(RCURLY);
351 + #line 82 "MDParser.g"
352 +                tmp18_AST->setType(ENDBLOCK);
353 + #line 354 "MDParser.cpp"
354 +                flucqblock_AST = currentAST.root;
355 +        }
356 +        catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
357 +                reportError(ex);
358 +                recover(ex,_tokenSet_2);
359 +        }
360 +        returnAST = flucqblock_AST;
361 + }
362 +
363 + void MDParser::rnemdblock() {
364 +        returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
365 +        ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
366 +        ANTLR_USE_NAMESPACE(antlr)RefAST rnemdblock_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
367 +        
368 +        try {      // for error handling
369 +                ANTLR_USE_NAMESPACE(antlr)RefAST tmp19_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
370 +                tmp19_AST = astFactory->create(LT(1));
371 +                astFactory->makeASTRoot(currentAST, tmp19_AST);
372 +                match(RNEMD);
373 +                match(LCURLY);
374 +                { // ( ... )*
375 +                for (;;) {
376 +                        if ((LA(1) == ID)) {
377 +                                assignment();
378 +                                astFactory->addASTChild( currentAST, returnAST );
379 +                        }
380 +                        else {
381 +                                goto _loop21;
382 +                        }
383 +                        
384 +                }
385 +                _loop21:;
386 +                } // ( ... )*
387 +                ANTLR_USE_NAMESPACE(antlr)RefAST tmp21_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
388 +                tmp21_AST = astFactory->create(LT(1));
389 +                astFactory->addASTChild(currentAST, tmp21_AST);
390 +                match(RCURLY);
391 + #line 85 "MDParser.g"
392 +                tmp21_AST->setType(ENDBLOCK);
393 + #line 394 "MDParser.cpp"
394 +                rnemdblock_AST = currentAST.root;
395 +        }
396 +        catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
397 +                reportError(ex);
398 +                recover(ex,_tokenSet_2);
399 +        }
400 +        returnAST = rnemdblock_AST;
401 + }
402 +
403 + void MDParser::minimizerblock() {
404 +        returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
405 +        ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
406 +        ANTLR_USE_NAMESPACE(antlr)RefAST minimizerblock_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
407 +        
408 +        try {      // for error handling
409 +                ANTLR_USE_NAMESPACE(antlr)RefAST tmp22_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
410 +                tmp22_AST = astFactory->create(LT(1));
411 +                astFactory->makeASTRoot(currentAST, tmp22_AST);
412 +                match(MINIMIZER);
413 +                match(LCURLY);
414 +                { // ( ... )*
415 +                for (;;) {
416 +                        if ((LA(1) == ID)) {
417 +                                assignment();
418 +                                astFactory->addASTChild( currentAST, returnAST );
419 +                        }
420 +                        else {
421 +                                goto _loop24;
422 +                        }
423 +                        
424 +                }
425 +                _loop24:;
426 +                } // ( ... )*
427 +                ANTLR_USE_NAMESPACE(antlr)RefAST tmp24_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
428 +                tmp24_AST = astFactory->create(LT(1));
429 +                astFactory->addASTChild(currentAST, tmp24_AST);
430 +                match(RCURLY);
431 + #line 88 "MDParser.g"
432 +                tmp24_AST->setType(ENDBLOCK);
433 + #line 434 "MDParser.cpp"
434 +                minimizerblock_AST = currentAST.root;
435 +        }
436 +        catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
437 +                reportError(ex);
438 +                recover(ex,_tokenSet_2);
439 +        }
440 +        returnAST = minimizerblock_AST;
441   }
442  
443   void MDParser::constant() {
# Line 283 | Line 465 | void MDParser::constant() {
465                  }
466                  case ID:
467                  {
468 <                        ANTLR_USE_NAMESPACE(antlr)RefAST tmp13_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
469 <                        tmp13_AST = astFactory->create(LT(1));
470 <                        astFactory->addASTChild(currentAST, tmp13_AST);
468 >                        ANTLR_USE_NAMESPACE(antlr)RefAST tmp25_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
469 >                        tmp25_AST = astFactory->create(LT(1));
470 >                        astFactory->addASTChild(currentAST, tmp25_AST);
471                          match(ID);
472                          constant_AST = currentAST.root;
473                          break;
474                  }
475                  case StringLiteral:
476                  {
477 <                        ANTLR_USE_NAMESPACE(antlr)RefAST tmp14_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
478 <                        tmp14_AST = astFactory->create(LT(1));
479 <                        astFactory->addASTChild(currentAST, tmp14_AST);
477 >                        ANTLR_USE_NAMESPACE(antlr)RefAST tmp26_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
478 >                        tmp26_AST = astFactory->create(LT(1));
479 >                        astFactory->addASTChild(currentAST, tmp26_AST);
480                          match(StringLiteral);
481                          constant_AST = currentAST.root;
482                          break;
# Line 307 | Line 489 | void MDParser::constant() {
489          }
490          catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
491                  reportError(ex);
492 <                consume();
311 <                consumeUntil(_tokenSet_5);
492 >                recover(ex,_tokenSet_5);
493          }
494          returnAST = constant_AST;
495   }
# Line 322 | Line 503 | void MDParser::intConst() {
503                  switch ( LA(1)) {
504                  case NUM_INT:
505                  {
506 <                        ANTLR_USE_NAMESPACE(antlr)RefAST tmp15_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
507 <                        tmp15_AST = astFactory->create(LT(1));
508 <                        astFactory->addASTChild(currentAST, tmp15_AST);
506 >                        ANTLR_USE_NAMESPACE(antlr)RefAST tmp27_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
507 >                        tmp27_AST = astFactory->create(LT(1));
508 >                        astFactory->addASTChild(currentAST, tmp27_AST);
509                          match(NUM_INT);
510                          intConst_AST = currentAST.root;
511                          break;
512                  }
513                  case NUM_LONG:
514                  {
515 <                        ANTLR_USE_NAMESPACE(antlr)RefAST tmp16_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
516 <                        tmp16_AST = astFactory->create(LT(1));
517 <                        astFactory->addASTChild(currentAST, tmp16_AST);
515 >                        ANTLR_USE_NAMESPACE(antlr)RefAST tmp28_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
516 >                        tmp28_AST = astFactory->create(LT(1));
517 >                        astFactory->addASTChild(currentAST, tmp28_AST);
518                          match(NUM_LONG);
519                          intConst_AST = currentAST.root;
520                          break;
# Line 346 | Line 527 | void MDParser::intConst() {
527          }
528          catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
529                  reportError(ex);
530 <                consume();
350 <                consumeUntil(_tokenSet_6);
530 >                recover(ex,_tokenSet_6);
531          }
532          returnAST = intConst_AST;
533   }
# Line 361 | Line 541 | void MDParser::floatConst() {
541                  switch ( LA(1)) {
542                  case NUM_FLOAT:
543                  {
544 <                        ANTLR_USE_NAMESPACE(antlr)RefAST tmp17_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
545 <                        tmp17_AST = astFactory->create(LT(1));
546 <                        astFactory->addASTChild(currentAST, tmp17_AST);
544 >                        ANTLR_USE_NAMESPACE(antlr)RefAST tmp29_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
545 >                        tmp29_AST = astFactory->create(LT(1));
546 >                        astFactory->addASTChild(currentAST, tmp29_AST);
547                          match(NUM_FLOAT);
548                          floatConst_AST = currentAST.root;
549                          break;
550                  }
551                  case NUM_DOUBLE:
552                  {
553 <                        ANTLR_USE_NAMESPACE(antlr)RefAST tmp18_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
554 <                        tmp18_AST = astFactory->create(LT(1));
555 <                        astFactory->addASTChild(currentAST, tmp18_AST);
553 >                        ANTLR_USE_NAMESPACE(antlr)RefAST tmp30_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
554 >                        tmp30_AST = astFactory->create(LT(1));
555 >                        astFactory->addASTChild(currentAST, tmp30_AST);
556                          match(NUM_DOUBLE);
557                          floatConst_AST = currentAST.root;
558                          break;
# Line 385 | Line 565 | void MDParser::floatConst() {
565          }
566          catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
567                  reportError(ex);
568 <                consume();
389 <                consumeUntil(_tokenSet_7);
568 >                recover(ex,_tokenSet_7);
569          }
570          returnAST = floatConst_AST;
571   }
# Line 433 | Line 612 | void MDParser::moleculestatement() {
612                          moleculestatement_AST = currentAST.root;
613                          break;
614                  }
615 +                case INVERSION:
616 +                {
617 +                        inversionblock();
618 +                        astFactory->addASTChild( currentAST, returnAST );
619 +                        moleculestatement_AST = currentAST.root;
620 +                        break;
621 +                }
622                  case RIGIDBODY:
623                  {
624                          rigidbodyblock();
# Line 462 | Line 648 | void MDParser::moleculestatement() {
648          }
649          catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
650                  reportError(ex);
651 <                consume();
466 <                consumeUntil(_tokenSet_8);
651 >                recover(ex,_tokenSet_8);
652          }
653          returnAST = moleculestatement_AST;
654   }
# Line 474 | Line 659 | void MDParser::atomblock() {
659          ANTLR_USE_NAMESPACE(antlr)RefAST atomblock_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
660          
661          try {      // for error handling
662 <                ANTLR_USE_NAMESPACE(antlr)RefAST tmp19_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
663 <                tmp19_AST = astFactory->create(LT(1));
664 <                astFactory->makeASTRoot(currentAST, tmp19_AST);
662 >                ANTLR_USE_NAMESPACE(antlr)RefAST tmp31_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
663 >                tmp31_AST = astFactory->create(LT(1));
664 >                astFactory->makeASTRoot(currentAST, tmp31_AST);
665                  match(ATOM);
666                  match(LBRACKET);
667                  intConst();
# Line 490 | Line 675 | void MDParser::atomblock() {
675                                  astFactory->addASTChild( currentAST, returnAST );
676                          }
677                          else {
678 <                                goto _loop19;
678 >                                goto _loop31;
679                          }
680                          
681                  }
682 <                _loop19:;
682 >                _loop31:;
683                  } // ( ... )*
684 <                ANTLR_USE_NAMESPACE(antlr)RefAST tmp23_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
685 <                tmp23_AST = astFactory->create(LT(1));
686 <                astFactory->addASTChild(currentAST, tmp23_AST);
684 >                ANTLR_USE_NAMESPACE(antlr)RefAST tmp35_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
685 >                tmp35_AST = astFactory->create(LT(1));
686 >                astFactory->addASTChild(currentAST, tmp35_AST);
687                  match(RCURLY);
688 < #line 84 "MDParser.g"
689 <                tmp23_AST->setType(ENDBLOCK);
690 < #line 506 "MDParser.cpp"
688 > #line 105 "MDParser.g"
689 >                tmp35_AST->setType(ENDBLOCK);
690 > #line 691 "MDParser.cpp"
691                  atomblock_AST = currentAST.root;
692          }
693          catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
694                  reportError(ex);
695 <                consume();
511 <                consumeUntil(_tokenSet_8);
695 >                recover(ex,_tokenSet_8);
696          }
697          returnAST = atomblock_AST;
698   }
# Line 519 | Line 703 | void MDParser::bondblock() {
703          ANTLR_USE_NAMESPACE(antlr)RefAST bondblock_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
704          
705          try {      // for error handling
706 <                ANTLR_USE_NAMESPACE(antlr)RefAST tmp24_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
707 <                tmp24_AST = astFactory->create(LT(1));
708 <                astFactory->makeASTRoot(currentAST, tmp24_AST);
706 >                ANTLR_USE_NAMESPACE(antlr)RefAST tmp36_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
707 >                tmp36_AST = astFactory->create(LT(1));
708 >                astFactory->makeASTRoot(currentAST, tmp36_AST);
709                  match(BOND);
710                  {
711                  switch ( LA(1)) {
# Line 550 | Line 734 | void MDParser::bondblock() {
734                                  astFactory->addASTChild( currentAST, returnAST );
735                          }
736                          else {
737 <                                goto _loop24;
737 >                                goto _loop36;
738                          }
739                          
740                  }
741 <                _loop24:;
741 >                _loop36:;
742                  } // ( ... )*
743 <                ANTLR_USE_NAMESPACE(antlr)RefAST tmp28_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
744 <                tmp28_AST = astFactory->create(LT(1));
745 <                astFactory->addASTChild(currentAST, tmp28_AST);
743 >                ANTLR_USE_NAMESPACE(antlr)RefAST tmp40_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
744 >                tmp40_AST = astFactory->create(LT(1));
745 >                astFactory->addASTChild(currentAST, tmp40_AST);
746                  match(RCURLY);
747 < #line 93 "MDParser.g"
748 <                tmp28_AST->setType(ENDBLOCK);
749 < #line 566 "MDParser.cpp"
747 > #line 114 "MDParser.g"
748 >                tmp40_AST->setType(ENDBLOCK);
749 > #line 750 "MDParser.cpp"
750                  bondblock_AST = currentAST.root;
751          }
752          catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
753                  reportError(ex);
754 <                consume();
571 <                consumeUntil(_tokenSet_8);
754 >                recover(ex,_tokenSet_8);
755          }
756          returnAST = bondblock_AST;
757   }
# Line 579 | Line 762 | void MDParser::bendblock() {
762          ANTLR_USE_NAMESPACE(antlr)RefAST bendblock_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
763          
764          try {      // for error handling
765 <                ANTLR_USE_NAMESPACE(antlr)RefAST tmp29_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
766 <                tmp29_AST = astFactory->create(LT(1));
767 <                astFactory->makeASTRoot(currentAST, tmp29_AST);
765 >                ANTLR_USE_NAMESPACE(antlr)RefAST tmp41_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
766 >                tmp41_AST = astFactory->create(LT(1));
767 >                astFactory->makeASTRoot(currentAST, tmp41_AST);
768                  match(BEND);
769                  {
770                  switch ( LA(1)) {
# Line 610 | Line 793 | void MDParser::bendblock() {
793                                  astFactory->addASTChild( currentAST, returnAST );
794                          }
795                          else {
796 <                                goto _loop29;
796 >                                goto _loop41;
797                          }
798                          
799                  }
800 <                _loop29:;
800 >                _loop41:;
801                  } // ( ... )*
802 <                ANTLR_USE_NAMESPACE(antlr)RefAST tmp33_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
803 <                tmp33_AST = astFactory->create(LT(1));
804 <                astFactory->addASTChild(currentAST, tmp33_AST);
802 >                ANTLR_USE_NAMESPACE(antlr)RefAST tmp45_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
803 >                tmp45_AST = astFactory->create(LT(1));
804 >                astFactory->addASTChild(currentAST, tmp45_AST);
805                  match(RCURLY);
806 < #line 100 "MDParser.g"
807 <                tmp33_AST->setType(ENDBLOCK);
808 < #line 626 "MDParser.cpp"
806 > #line 121 "MDParser.g"
807 >                tmp45_AST->setType(ENDBLOCK);
808 > #line 809 "MDParser.cpp"
809                  bendblock_AST = currentAST.root;
810          }
811          catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
812                  reportError(ex);
813 <                consume();
631 <                consumeUntil(_tokenSet_8);
813 >                recover(ex,_tokenSet_8);
814          }
815          returnAST = bendblock_AST;
816   }
# Line 639 | Line 821 | void MDParser::torsionblock() {
821          ANTLR_USE_NAMESPACE(antlr)RefAST torsionblock_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
822          
823          try {      // for error handling
824 <                ANTLR_USE_NAMESPACE(antlr)RefAST tmp34_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
825 <                tmp34_AST = astFactory->create(LT(1));
826 <                astFactory->makeASTRoot(currentAST, tmp34_AST);
824 >                ANTLR_USE_NAMESPACE(antlr)RefAST tmp46_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
825 >                tmp46_AST = astFactory->create(LT(1));
826 >                astFactory->makeASTRoot(currentAST, tmp46_AST);
827                  match(TORSION);
828                  {
829                  switch ( LA(1)) {
# Line 670 | Line 852 | void MDParser::torsionblock() {
852                                  astFactory->addASTChild( currentAST, returnAST );
853                          }
854                          else {
855 <                                goto _loop34;
855 >                                goto _loop46;
856                          }
857                          
858                  }
859 <                _loop34:;
859 >                _loop46:;
860                  } // ( ... )*
861 <                ANTLR_USE_NAMESPACE(antlr)RefAST tmp38_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
862 <                tmp38_AST = astFactory->create(LT(1));
863 <                astFactory->addASTChild(currentAST, tmp38_AST);
864 <                match(RCURLY);
865 < #line 107 "MDParser.g"
866 <                tmp38_AST->setType(ENDBLOCK);
867 < #line 686 "MDParser.cpp"
861 >                ANTLR_USE_NAMESPACE(antlr)RefAST tmp50_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
862 >                tmp50_AST = astFactory->create(LT(1));
863 >                astFactory->addASTChild(currentAST, tmp50_AST);
864 >                match(RCURLY);
865 > #line 128 "MDParser.g"
866 >                tmp50_AST->setType(ENDBLOCK);
867 > #line 868 "MDParser.cpp"
868                  torsionblock_AST = currentAST.root;
869          }
870          catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
871                  reportError(ex);
872 <                consume();
691 <                consumeUntil(_tokenSet_8);
872 >                recover(ex,_tokenSet_8);
873          }
874          returnAST = torsionblock_AST;
875   }
876  
877 + void MDParser::inversionblock() {
878 +        returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
879 +        ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
880 +        ANTLR_USE_NAMESPACE(antlr)RefAST inversionblock_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
881 +        
882 +        try {      // for error handling
883 +                ANTLR_USE_NAMESPACE(antlr)RefAST tmp51_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
884 +                tmp51_AST = astFactory->create(LT(1));
885 +                astFactory->makeASTRoot(currentAST, tmp51_AST);
886 +                match(INVERSION);
887 +                {
888 +                switch ( LA(1)) {
889 +                case LBRACKET:
890 +                {
891 +                        match(LBRACKET);
892 +                        intConst();
893 +                        match(RBRACKET);
894 +                        break;
895 +                }
896 +                case LCURLY:
897 +                {
898 +                        break;
899 +                }
900 +                default:
901 +                {
902 +                        throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
903 +                }
904 +                }
905 +                }
906 +                match(LCURLY);
907 +                { // ( ... )*
908 +                for (;;) {
909 +                        if ((LA(1) == CENTER || LA(1) == ID)) {
910 +                                inversionstatement();
911 +                                astFactory->addASTChild( currentAST, returnAST );
912 +                        }
913 +                        else {
914 +                                goto _loop51;
915 +                        }
916 +                        
917 +                }
918 +                _loop51:;
919 +                } // ( ... )*
920 +                ANTLR_USE_NAMESPACE(antlr)RefAST tmp55_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
921 +                tmp55_AST = astFactory->create(LT(1));
922 +                astFactory->addASTChild(currentAST, tmp55_AST);
923 +                match(RCURLY);
924 + #line 135 "MDParser.g"
925 +                tmp55_AST->setType(ENDBLOCK);
926 + #line 927 "MDParser.cpp"
927 +                inversionblock_AST = currentAST.root;
928 +        }
929 +        catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
930 +                reportError(ex);
931 +                recover(ex,_tokenSet_8);
932 +        }
933 +        returnAST = inversionblock_AST;
934 + }
935 +
936   void MDParser::rigidbodyblock() {
937          returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
938          ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
939          ANTLR_USE_NAMESPACE(antlr)RefAST rigidbodyblock_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
940          
941          try {      // for error handling
942 <                ANTLR_USE_NAMESPACE(antlr)RefAST tmp39_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
943 <                tmp39_AST = astFactory->create(LT(1));
944 <                astFactory->makeASTRoot(currentAST, tmp39_AST);
942 >                ANTLR_USE_NAMESPACE(antlr)RefAST tmp56_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
943 >                tmp56_AST = astFactory->create(LT(1));
944 >                astFactory->makeASTRoot(currentAST, tmp56_AST);
945                  match(RIGIDBODY);
946                  match(LBRACKET);
947                  intConst();
# Line 715 | Line 955 | void MDParser::rigidbodyblock() {
955                                  astFactory->addASTChild( currentAST, returnAST );
956                          }
957                          else {
958 <                                goto _loop43;
958 >                                goto _loop55;
959                          }
960                          
961                  }
962 <                _loop43:;
962 >                _loop55:;
963                  } // ( ... )*
964 <                ANTLR_USE_NAMESPACE(antlr)RefAST tmp43_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
965 <                tmp43_AST = astFactory->create(LT(1));
966 <                astFactory->addASTChild(currentAST, tmp43_AST);
964 >                ANTLR_USE_NAMESPACE(antlr)RefAST tmp60_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
965 >                tmp60_AST = astFactory->create(LT(1));
966 >                astFactory->addASTChild(currentAST, tmp60_AST);
967                  match(RCURLY);
968 < #line 121 "MDParser.g"
969 <                tmp43_AST->setType(ENDBLOCK);
970 < #line 731 "MDParser.cpp"
968 > #line 142 "MDParser.g"
969 >                tmp60_AST->setType(ENDBLOCK);
970 > #line 971 "MDParser.cpp"
971                  rigidbodyblock_AST = currentAST.root;
972          }
973          catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
974                  reportError(ex);
975 <                consume();
736 <                consumeUntil(_tokenSet_8);
975 >                recover(ex,_tokenSet_8);
976          }
977          returnAST = rigidbodyblock_AST;
978   }
# Line 744 | Line 983 | void MDParser::cutoffgroupblock() {
983          ANTLR_USE_NAMESPACE(antlr)RefAST cutoffgroupblock_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
984          
985          try {      // for error handling
986 <                ANTLR_USE_NAMESPACE(antlr)RefAST tmp44_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
987 <                tmp44_AST = astFactory->create(LT(1));
988 <                astFactory->makeASTRoot(currentAST, tmp44_AST);
986 >                ANTLR_USE_NAMESPACE(antlr)RefAST tmp61_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
987 >                tmp61_AST = astFactory->create(LT(1));
988 >                astFactory->makeASTRoot(currentAST, tmp61_AST);
989                  match(CUTOFFGROUP);
990                  {
991                  switch ( LA(1)) {
# Line 775 | Line 1014 | void MDParser::cutoffgroupblock() {
1014                                  astFactory->addASTChild( currentAST, returnAST );
1015                          }
1016                          else {
1017 <                                goto _loop48;
1017 >                                goto _loop60;
1018                          }
1019                          
1020                  }
1021 <                _loop48:;
1021 >                _loop60:;
1022                  } // ( ... )*
1023 <                ANTLR_USE_NAMESPACE(antlr)RefAST tmp48_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1024 <                tmp48_AST = astFactory->create(LT(1));
1025 <                astFactory->addASTChild(currentAST, tmp48_AST);
1023 >                ANTLR_USE_NAMESPACE(antlr)RefAST tmp65_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1024 >                tmp65_AST = astFactory->create(LT(1));
1025 >                astFactory->addASTChild(currentAST, tmp65_AST);
1026                  match(RCURLY);
1027 < #line 128 "MDParser.g"
1028 <                tmp48_AST->setType(ENDBLOCK);
1029 < #line 791 "MDParser.cpp"
1027 > #line 149 "MDParser.g"
1028 >                tmp65_AST->setType(ENDBLOCK);
1029 > #line 1030 "MDParser.cpp"
1030                  cutoffgroupblock_AST = currentAST.root;
1031          }
1032          catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
1033                  reportError(ex);
1034 <                consume();
796 <                consumeUntil(_tokenSet_8);
1034 >                recover(ex,_tokenSet_8);
1035          }
1036          returnAST = cutoffgroupblock_AST;
1037   }
# Line 804 | Line 1042 | void MDParser::fragmentblock() {
1042          ANTLR_USE_NAMESPACE(antlr)RefAST fragmentblock_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1043          
1044          try {      // for error handling
1045 <                ANTLR_USE_NAMESPACE(antlr)RefAST tmp49_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1046 <                tmp49_AST = astFactory->create(LT(1));
1047 <                astFactory->makeASTRoot(currentAST, tmp49_AST);
1045 >                ANTLR_USE_NAMESPACE(antlr)RefAST tmp66_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1046 >                tmp66_AST = astFactory->create(LT(1));
1047 >                astFactory->makeASTRoot(currentAST, tmp66_AST);
1048                  match(FRAGMENT);
1049                  match(LBRACKET);
1050                  intConst();
# Line 820 | Line 1058 | void MDParser::fragmentblock() {
1058                                  astFactory->addASTChild( currentAST, returnAST );
1059                          }
1060                          else {
1061 <                                goto _loop52;
1061 >                                goto _loop64;
1062                          }
1063                          
1064                  }
1065 <                _loop52:;
1065 >                _loop64:;
1066                  } // ( ... )*
1067 <                ANTLR_USE_NAMESPACE(antlr)RefAST tmp53_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1068 <                tmp53_AST = astFactory->create(LT(1));
1069 <                astFactory->addASTChild(currentAST, tmp53_AST);
1067 >                ANTLR_USE_NAMESPACE(antlr)RefAST tmp70_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1068 >                tmp70_AST = astFactory->create(LT(1));
1069 >                astFactory->addASTChild(currentAST, tmp70_AST);
1070                  match(RCURLY);
1071 < #line 135 "MDParser.g"
1072 <                tmp53_AST->setType(ENDBLOCK);
1073 < #line 836 "MDParser.cpp"
1071 > #line 156 "MDParser.g"
1072 >                tmp70_AST->setType(ENDBLOCK);
1073 > #line 1074 "MDParser.cpp"
1074                  fragmentblock_AST = currentAST.root;
1075          }
1076          catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
1077                  reportError(ex);
1078 <                consume();
841 <                consumeUntil(_tokenSet_8);
1078 >                recover(ex,_tokenSet_8);
1079          }
1080          returnAST = fragmentblock_AST;
1081   }
# Line 859 | Line 1096 | void MDParser::atomstatement() {
1096                  }
1097                  case POSITION:
1098                  {
1099 <                        ANTLR_USE_NAMESPACE(antlr)RefAST tmp54_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1100 <                        tmp54_AST = astFactory->create(LT(1));
1101 <                        astFactory->makeASTRoot(currentAST, tmp54_AST);
1099 >                        ANTLR_USE_NAMESPACE(antlr)RefAST tmp71_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1100 >                        tmp71_AST = astFactory->create(LT(1));
1101 >                        astFactory->makeASTRoot(currentAST, tmp71_AST);
1102                          match(POSITION);
1103                          match(LPAREN);
1104                          doubleNumberTuple();
# Line 873 | Line 1110 | void MDParser::atomstatement() {
1110                  }
1111                  case ORIENTATION:
1112                  {
1113 <                        ANTLR_USE_NAMESPACE(antlr)RefAST tmp58_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1114 <                        tmp58_AST = astFactory->create(LT(1));
1115 <                        astFactory->makeASTRoot(currentAST, tmp58_AST);
1113 >                        ANTLR_USE_NAMESPACE(antlr)RefAST tmp75_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1114 >                        tmp75_AST = astFactory->create(LT(1));
1115 >                        astFactory->makeASTRoot(currentAST, tmp75_AST);
1116                          match(ORIENTATION);
1117                          match(LPAREN);
1118                          doubleNumberTuple();
# Line 893 | Line 1130 | void MDParser::atomstatement() {
1130          }
1131          catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
1132                  reportError(ex);
1133 <                consume();
897 <                consumeUntil(_tokenSet_10);
1133 >                recover(ex,_tokenSet_10);
1134          }
1135          returnAST = atomstatement_AST;
1136   }
# Line 915 | Line 1151 | void MDParser::doubleNumberTuple() {
1151                                  astFactory->addASTChild( currentAST, returnAST );
1152                          }
1153                          else {
1154 <                                goto _loop56;
1154 >                                goto _loop68;
1155                          }
1156                          
1157                  }
1158 <                _loop56:;
1158 >                _loop68:;
1159                  } // ( ... )*
1160                  doubleNumberTuple_AST = currentAST.root;
1161          }
1162          catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
1163                  reportError(ex);
1164 <                consume();
929 <                consumeUntil(_tokenSet_11);
1164 >                recover(ex,_tokenSet_11);
1165          }
1166          returnAST = doubleNumberTuple_AST;
1167   }
# Line 947 | Line 1182 | void MDParser::bondstatement() {
1182                  }
1183                  case MEMBERS:
1184                  {
1185 <                        ANTLR_USE_NAMESPACE(antlr)RefAST tmp63_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1186 <                        tmp63_AST = astFactory->create(LT(1));
1187 <                        astFactory->makeASTRoot(currentAST, tmp63_AST);
1185 >                        ANTLR_USE_NAMESPACE(antlr)RefAST tmp80_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1186 >                        tmp80_AST = astFactory->create(LT(1));
1187 >                        astFactory->makeASTRoot(currentAST, tmp80_AST);
1188                          match(MEMBERS);
1189                          match(LPAREN);
1190                          inttuple();
# Line 967 | Line 1202 | void MDParser::bondstatement() {
1202          }
1203          catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
1204                  reportError(ex);
1205 <                consume();
971 <                consumeUntil(_tokenSet_12);
1205 >                recover(ex,_tokenSet_12);
1206          }
1207          returnAST = bondstatement_AST;
1208   }
# Line 989 | Line 1223 | void MDParser::inttuple() {
1223                                  astFactory->addASTChild( currentAST, returnAST );
1224                          }
1225                          else {
1226 <                                goto _loop59;
1226 >                                goto _loop71;
1227                          }
1228                          
1229                  }
1230 <                _loop59:;
1230 >                _loop71:;
1231                  } // ( ... )*
1232                  inttuple_AST = currentAST.root;
1233          }
1234          catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
1235                  reportError(ex);
1236 <                consume();
1003 <                consumeUntil(_tokenSet_11);
1236 >                recover(ex,_tokenSet_11);
1237          }
1238          returnAST = inttuple_AST;
1239   }
# Line 1021 | Line 1254 | void MDParser::bendstatement() {
1254                  }
1255                  case MEMBERS:
1256                  {
1257 <                        ANTLR_USE_NAMESPACE(antlr)RefAST tmp68_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1258 <                        tmp68_AST = astFactory->create(LT(1));
1259 <                        astFactory->makeASTRoot(currentAST, tmp68_AST);
1257 >                        ANTLR_USE_NAMESPACE(antlr)RefAST tmp85_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1258 >                        tmp85_AST = astFactory->create(LT(1));
1259 >                        astFactory->makeASTRoot(currentAST, tmp85_AST);
1260                          match(MEMBERS);
1261                          match(LPAREN);
1262                          inttuple();
# Line 1041 | Line 1274 | void MDParser::bendstatement() {
1274          }
1275          catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
1276                  reportError(ex);
1277 <                consume();
1045 <                consumeUntil(_tokenSet_12);
1277 >                recover(ex,_tokenSet_12);
1278          }
1279          returnAST = bendstatement_AST;
1280   }
# Line 1063 | Line 1295 | void MDParser::torsionstatement() {
1295                  }
1296                  case MEMBERS:
1297                  {
1298 <                        ANTLR_USE_NAMESPACE(antlr)RefAST tmp72_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1299 <                        tmp72_AST = astFactory->create(LT(1));
1300 <                        astFactory->makeASTRoot(currentAST, tmp72_AST);
1298 >                        ANTLR_USE_NAMESPACE(antlr)RefAST tmp89_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1299 >                        tmp89_AST = astFactory->create(LT(1));
1300 >                        astFactory->makeASTRoot(currentAST, tmp89_AST);
1301                          match(MEMBERS);
1302                          match(LPAREN);
1303                          inttuple();
# Line 1083 | Line 1315 | void MDParser::torsionstatement() {
1315          }
1316          catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
1317                  reportError(ex);
1318 <                consume();
1087 <                consumeUntil(_tokenSet_12);
1318 >                recover(ex,_tokenSet_12);
1319          }
1320          returnAST = torsionstatement_AST;
1321   }
1322  
1092 void MDParser::inversionblock() {
1093        returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1094        ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
1095        ANTLR_USE_NAMESPACE(antlr)RefAST inversionblock_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1096        
1097        try {      // for error handling
1098                ANTLR_USE_NAMESPACE(antlr)RefAST tmp76_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1099                tmp76_AST = astFactory->create(LT(1));
1100                astFactory->makeASTRoot(currentAST, tmp76_AST);
1101                match(INVERSION);
1102                {
1103                switch ( LA(1)) {
1104                case LBRACKET:
1105                {
1106                        match(LBRACKET);
1107                        intConst();
1108                        match(RBRACKET);
1109                        break;
1110                }
1111                case LCURLY:
1112                {
1113                        break;
1114                }
1115                default:
1116                {
1117                        throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
1118                }
1119                }
1120                }
1121                match(LCURLY);
1122                { // ( ... )*
1123                for (;;) {
1124                        if ((LA(1) == CENTER || LA(1) == ID)) {
1125                                inversionstatement();
1126                                astFactory->addASTChild( currentAST, returnAST );
1127                        }
1128                        else {
1129                                goto _loop39;
1130                        }
1131                        
1132                }
1133                _loop39:;
1134                } // ( ... )*
1135                ANTLR_USE_NAMESPACE(antlr)RefAST tmp80_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1136                tmp80_AST = astFactory->create(LT(1));
1137                astFactory->addASTChild(currentAST, tmp80_AST);
1138                match(RCURLY);
1139 #line 114 "MDParser.g"
1140                tmp80_AST->setType(ENDBLOCK);
1141 #line 1142 "MDParser.cpp"
1142                inversionblock_AST = currentAST.root;
1143        }
1144        catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
1145                reportError(ex);
1146                consume();
1147                consumeUntil(_tokenSet_1);
1148        }
1149        returnAST = inversionblock_AST;
1150 }
1151
1323   void MDParser::inversionstatement() {
1324          returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1325          ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
# Line 1165 | Line 1336 | void MDParser::inversionstatement() {
1336                  }
1337                  case CENTER:
1338                  {
1339 <                        ANTLR_USE_NAMESPACE(antlr)RefAST tmp81_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1340 <                        tmp81_AST = astFactory->create(LT(1));
1341 <                        astFactory->makeASTRoot(currentAST, tmp81_AST);
1339 >                        ANTLR_USE_NAMESPACE(antlr)RefAST tmp93_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1340 >                        tmp93_AST = astFactory->create(LT(1));
1341 >                        astFactory->makeASTRoot(currentAST, tmp93_AST);
1342                          match(CENTER);
1343                          match(LPAREN);
1344                          intConst();
# Line 1185 | Line 1356 | void MDParser::inversionstatement() {
1356          }
1357          catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
1358                  reportError(ex);
1359 <                consume();
1189 <                consumeUntil(_tokenSet_13);
1359 >                recover(ex,_tokenSet_13);
1360          }
1361          returnAST = inversionstatement_AST;
1362   }
# Line 1207 | Line 1377 | void MDParser::rigidbodystatement() {
1377                  }
1378                  case MEMBERS:
1379                  {
1380 <                        ANTLR_USE_NAMESPACE(antlr)RefAST tmp85_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1381 <                        tmp85_AST = astFactory->create(LT(1));
1382 <                        astFactory->makeASTRoot(currentAST, tmp85_AST);
1380 >                        ANTLR_USE_NAMESPACE(antlr)RefAST tmp97_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1381 >                        tmp97_AST = astFactory->create(LT(1));
1382 >                        astFactory->makeASTRoot(currentAST, tmp97_AST);
1383                          match(MEMBERS);
1384                          match(LPAREN);
1385                          inttuple();
# Line 1227 | Line 1397 | void MDParser::rigidbodystatement() {
1397          }
1398          catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
1399                  reportError(ex);
1400 <                consume();
1231 <                consumeUntil(_tokenSet_12);
1400 >                recover(ex,_tokenSet_12);
1401          }
1402          returnAST = rigidbodystatement_AST;
1403   }
# Line 1249 | Line 1418 | void MDParser::cutoffgroupstatement() {
1418                  }
1419                  case MEMBERS:
1420                  {
1421 <                        ANTLR_USE_NAMESPACE(antlr)RefAST tmp89_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1422 <                        tmp89_AST = astFactory->create(LT(1));
1423 <                        astFactory->makeASTRoot(currentAST, tmp89_AST);
1421 >                        ANTLR_USE_NAMESPACE(antlr)RefAST tmp101_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1422 >                        tmp101_AST = astFactory->create(LT(1));
1423 >                        astFactory->makeASTRoot(currentAST, tmp101_AST);
1424                          match(MEMBERS);
1425                          match(LPAREN);
1426                          inttuple();
# Line 1269 | Line 1438 | void MDParser::cutoffgroupstatement() {
1438          }
1439          catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
1440                  reportError(ex);
1441 <                consume();
1273 <                consumeUntil(_tokenSet_12);
1441 >                recover(ex,_tokenSet_12);
1442          }
1443          returnAST = cutoffgroupstatement_AST;
1444   }
# Line 1287 | Line 1455 | void MDParser::fragmentstatement() {
1455          }
1456          catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
1457                  reportError(ex);
1458 <                consume();
1291 <                consumeUntil(_tokenSet_14);
1458 >                recover(ex,_tokenSet_14);
1459          }
1460          returnAST = fragmentstatement_AST;
1461   }
# Line 1325 | Line 1492 | void MDParser::doubleNumber() {
1492          }
1493          catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
1494                  reportError(ex);
1495 <                consume();
1329 <                consumeUntil(_tokenSet_15);
1495 >                recover(ex,_tokenSet_15);
1496          }
1497          returnAST = doubleNumber_AST;
1498   }
1499  
1500   void MDParser::initializeASTFactory( ANTLR_USE_NAMESPACE(antlr)ASTFactory& factory )
1501   {
1502 <        factory.setMaxNodeType(52);
1502 >        factory.setMaxNodeType(56);
1503   }
1504   const char* MDParser::tokenNames[] = {
1505          "<0>",
# Line 1343 | Line 1509 | const char* MDParser::tokenNames[] = {
1509          "\"component\"",
1510          "\"molecule\"",
1511          "\"zconstraint\"",
1512 +        "\"restraint\"",
1513          "\"atom\"",
1514          "\"bond\"",
1515          "\"bend\"",
# Line 1355 | Line 1522 | const char* MDParser::tokenNames[] = {
1522          "\"center\"",
1523          "\"position\"",
1524          "\"orientation\"",
1525 +        "\"flucQ\"",
1526 +        "\"RNEMD\"",
1527 +        "\"minimizer\"",
1528          "ENDBLOCK",
1529          "ID",
1530          "ASSIGNEQUAL",
# Line 1392 | Line 1562 | const char* MDParser::tokenNames[] = {
1562          0
1563   };
1564  
1565 < const unsigned long MDParser::_tokenSet_0_data_[] = { 1048688UL, 0UL, 0UL, 0UL };
1566 < // "component" "molecule" "zconstraint" ID
1565 > const unsigned long MDParser::_tokenSet_0_data_[] = { 24117488UL, 0UL, 0UL, 0UL };
1566 > // "component" "molecule" "zconstraint" "restraint" "flucQ" "RNEMD" "minimizer"
1567 > // ID
1568   const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_0(_tokenSet_0_data_,4);
1569   const unsigned long MDParser::_tokenSet_1_data_[] = { 2UL, 0UL, 0UL, 0UL };
1570   // EOF
1571   const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_1(_tokenSet_1_data_,4);
1572 < const unsigned long MDParser::_tokenSet_2_data_[] = { 1048690UL, 0UL, 0UL, 0UL };
1573 < // EOF "component" "molecule" "zconstraint" ID
1572 > const unsigned long MDParser::_tokenSet_2_data_[] = { 24117490UL, 0UL, 0UL, 0UL };
1573 > // EOF "component" "molecule" "zconstraint" "restraint" "flucQ" "RNEMD"
1574 > // "minimizer" ID
1575   const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_2(_tokenSet_2_data_,4);
1576 < const unsigned long MDParser::_tokenSet_3_data_[] = { 35125234UL, 0UL, 0UL, 0UL };
1577 < // EOF "component" "molecule" "zconstraint" "atom" "bond" "bend" "torsion"
1578 < // "rigidBody" "cutoffGroup" "fragment" "members" "center" "position" "orientation"
1579 < // ID RCURLY
1576 > const unsigned long MDParser::_tokenSet_3_data_[] = { 562036722UL, 0UL, 0UL, 0UL };
1577 > // EOF "component" "molecule" "zconstraint" "restraint" "atom" "bond" "bend"
1578 > // "torsion" "inversion" "rigidBody" "cutoffGroup" "fragment" "members"
1579 > // "center" "position" "orientation" "flucQ" "RNEMD" "minimizer" ID RCURLY
1580   const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_3(_tokenSet_3_data_,4);
1581 < const unsigned long MDParser::_tokenSet_4_data_[] = { 1079168UL, 0UL, 0UL, 0UL };
1582 < // "atom" "bond" "bend" "torsion" "rigidBody" "cutoffGroup" "fragment"
1583 < // ID
1581 > const unsigned long MDParser::_tokenSet_4_data_[] = { 16842496UL, 0UL, 0UL, 0UL };
1582 > // "atom" "bond" "bend" "torsion" "inversion" "rigidBody" "cutoffGroup"
1583 > // "fragment" ID
1584   const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_4(_tokenSet_4_data_,4);
1585 < const unsigned long MDParser::_tokenSet_5_data_[] = { 4194304UL, 0UL, 0UL, 0UL };
1585 > const unsigned long MDParser::_tokenSet_5_data_[] = { 67108864UL, 0UL, 0UL, 0UL };
1586   // SEMICOLON
1587   const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_5(_tokenSet_5_data_,4);
1588 < const unsigned long MDParser::_tokenSet_6_data_[] = { 1749024768UL, 0UL, 0UL, 0UL };
1588 > const unsigned long MDParser::_tokenSet_6_data_[] = { 2214592512UL, 6UL, 0UL, 0UL };
1589   // SEMICOLON RBRACKET RPAREN COMMA
1590   const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_6(_tokenSet_6_data_,4);
1591 < const unsigned long MDParser::_tokenSet_7_data_[] = { 1614807040UL, 0UL, 0UL, 0UL };
1591 > const unsigned long MDParser::_tokenSet_7_data_[] = { 67108864UL, 6UL, 0UL, 0UL };
1592   // SEMICOLON RPAREN COMMA
1593   const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_7(_tokenSet_7_data_,4);
1594 < const unsigned long MDParser::_tokenSet_8_data_[] = { 34633600UL, 0UL, 0UL, 0UL };
1595 < // "atom" "bond" "bend" "torsion" "rigidBody" "cutoffGroup" "fragment"
1596 < // ID RCURLY
1594 > const unsigned long MDParser::_tokenSet_8_data_[] = { 553713408UL, 0UL, 0UL, 0UL };
1595 > // "atom" "bond" "bend" "torsion" "inversion" "rigidBody" "cutoffGroup"
1596 > // "fragment" ID RCURLY
1597   const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_8(_tokenSet_8_data_,4);
1598 < const unsigned long MDParser::_tokenSet_9_data_[] = { 1441792UL, 0UL, 0UL, 0UL };
1598 > const unsigned long MDParser::_tokenSet_9_data_[] = { 17563648UL, 0UL, 0UL, 0UL };
1599   // "position" "orientation" ID
1600   const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_9(_tokenSet_9_data_,4);
1601 < const unsigned long MDParser::_tokenSet_10_data_[] = { 34996224UL, 0UL, 0UL, 0UL };
1601 > const unsigned long MDParser::_tokenSet_10_data_[] = { 554434560UL, 0UL, 0UL, 0UL };
1602   // "position" "orientation" ID RCURLY
1603   const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_10(_tokenSet_10_data_,4);
1604 < const unsigned long MDParser::_tokenSet_11_data_[] = { 536870912UL, 0UL, 0UL, 0UL };
1604 > const unsigned long MDParser::_tokenSet_11_data_[] = { 0UL, 2UL, 0UL, 0UL };
1605   // RPAREN
1606   const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_11(_tokenSet_11_data_,4);
1607 < const unsigned long MDParser::_tokenSet_12_data_[] = { 34635776UL, 0UL, 0UL, 0UL };
1607 > const unsigned long MDParser::_tokenSet_12_data_[] = { 553713664UL, 0UL, 0UL, 0UL };
1608   // "members" ID RCURLY
1609   const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_12(_tokenSet_12_data_,4);
1610 < const unsigned long MDParser::_tokenSet_13_data_[] = { 34668544UL, 0UL, 0UL, 0UL };
1610 > const unsigned long MDParser::_tokenSet_13_data_[] = { 553779200UL, 0UL, 0UL, 0UL };
1611   // "center" ID RCURLY
1612   const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_13(_tokenSet_13_data_,4);
1613 < const unsigned long MDParser::_tokenSet_14_data_[] = { 34603008UL, 0UL, 0UL, 0UL };
1613 > const unsigned long MDParser::_tokenSet_14_data_[] = { 553648128UL, 0UL, 0UL, 0UL };
1614   // ID RCURLY
1615   const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_14(_tokenSet_14_data_,4);
1616 < const unsigned long MDParser::_tokenSet_15_data_[] = { 1610612736UL, 0UL, 0UL, 0UL };
1616 > const unsigned long MDParser::_tokenSet_15_data_[] = { 0UL, 6UL, 0UL, 0UL };
1617   // RPAREN COMMA
1618   const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_15(_tokenSet_15_data_,4);
1619  

Comparing:
trunk/src/mdParser/MDParser.cpp (property svn:keywords), Revision 1275 by cli2, Fri Jul 4 20:54:29 2008 UTC vs.
branches/development/src/mdParser/MDParser.cpp (property svn:keywords), Revision 1746 by gezelter, Wed Jun 6 02:18:54 2012 UTC

# Line 0 | Line 1
1 + Author Id Revision Date

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines