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 810 by tim, Wed Dec 14 18:02:28 2005 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.5 (20050406): "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 93 | 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 160 | Line 188 | void MDParser::componentblock() {
188                  tmp6_AST = astFactory->create(LT(1));
189                  astFactory->addASTChild(currentAST, tmp6_AST);
190                  match(RCURLY);
191 < #line 62 "MDParser.g"
191 > #line 73 "MDParser.g"
192                  tmp6_AST->setType(ENDBLOCK);
193 < #line 166 "MDParser.cpp"
193 > #line 194 "MDParser.cpp"
194                  componentblock_AST = currentAST.root;
195          }
196          catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
# Line 190 | 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 68 "MDParser.g"
231 > #line 91 "MDParser.g"
232                  tmp9_AST->setType(ENDBLOCK);
233 < #line 206 "MDParser.cpp"
233 > #line 234 "MDParser.cpp"
234                  moleculeblock_AST = currentAST.root;
235          }
236          catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
# Line 240 | Line 268 | void MDParser::zconstraintblock() {
268                  tmp12_AST = astFactory->create(LT(1));
269                  astFactory->addASTChild(currentAST, tmp12_AST);
270                  match(RCURLY);
271 < #line 65 "MDParser.g"
271 > #line 76 "MDParser.g"
272                  tmp12_AST->setType(ENDBLOCK);
273 < #line 246 "MDParser.cpp"
273 > #line 274 "MDParser.cpp"
274                  zconstraintblock_AST = currentAST.root;
275          }
276          catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
# Line 250 | Line 278 | void MDParser::zconstraintblock() {
278                  recover(ex,_tokenSet_2);
279          }
280          returnAST = zconstraintblock_AST;
281 + }
282 +
283 + void MDParser::restraintblock() {
284 +        returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
285 +        ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
286 +        ANTLR_USE_NAMESPACE(antlr)RefAST restraintblock_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
287 +        
288 +        try {      // for error handling
289 +                ANTLR_USE_NAMESPACE(antlr)RefAST tmp13_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
290 +                tmp13_AST = astFactory->create(LT(1));
291 +                astFactory->makeASTRoot(currentAST, tmp13_AST);
292 +                match(RESTRAINT);
293 +                match(LCURLY);
294 +                { // ( ... )*
295 +                for (;;) {
296 +                        if ((LA(1) == ID)) {
297 +                                assignment();
298 +                                astFactory->addASTChild( currentAST, returnAST );
299 +                        }
300 +                        else {
301 +                                goto _loop15;
302 +                        }
303 +                        
304 +                }
305 +                _loop15:;
306 +                } // ( ... )*
307 +                ANTLR_USE_NAMESPACE(antlr)RefAST tmp15_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
308 +                tmp15_AST = astFactory->create(LT(1));
309 +                astFactory->addASTChild(currentAST, tmp15_AST);
310 +                match(RCURLY);
311 + #line 79 "MDParser.g"
312 +                tmp15_AST->setType(ENDBLOCK);
313 + #line 314 "MDParser.cpp"
314 +                restraintblock_AST = currentAST.root;
315 +        }
316 +        catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
317 +                reportError(ex);
318 +                recover(ex,_tokenSet_2);
319 +        }
320 +        returnAST = restraintblock_AST;
321   }
322  
323 + void MDParser::flucqblock() {
324 +        returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
325 +        ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
326 +        ANTLR_USE_NAMESPACE(antlr)RefAST flucqblock_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
327 +        
328 +        try {      // for error handling
329 +                ANTLR_USE_NAMESPACE(antlr)RefAST tmp16_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
330 +                tmp16_AST = astFactory->create(LT(1));
331 +                astFactory->makeASTRoot(currentAST, tmp16_AST);
332 +                match(FLUCQ);
333 +                match(LCURLY);
334 +                { // ( ... )*
335 +                for (;;) {
336 +                        if ((LA(1) == ID)) {
337 +                                assignment();
338 +                                astFactory->addASTChild( currentAST, returnAST );
339 +                        }
340 +                        else {
341 +                                goto _loop18;
342 +                        }
343 +                        
344 +                }
345 +                _loop18:;
346 +                } // ( ... )*
347 +                ANTLR_USE_NAMESPACE(antlr)RefAST tmp18_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
348 +                tmp18_AST = astFactory->create(LT(1));
349 +                astFactory->addASTChild(currentAST, tmp18_AST);
350 +                match(RCURLY);
351 + #line 82 "MDParser.g"
352 +                tmp18_AST->setType(ENDBLOCK);
353 + #line 354 "MDParser.cpp"
354 +                flucqblock_AST = currentAST.root;
355 +        }
356 +        catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
357 +                reportError(ex);
358 +                recover(ex,_tokenSet_2);
359 +        }
360 +        returnAST = flucqblock_AST;
361 + }
362 +
363 + void MDParser::rnemdblock() {
364 +        returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
365 +        ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
366 +        ANTLR_USE_NAMESPACE(antlr)RefAST rnemdblock_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
367 +        
368 +        try {      // for error handling
369 +                ANTLR_USE_NAMESPACE(antlr)RefAST tmp19_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
370 +                tmp19_AST = astFactory->create(LT(1));
371 +                astFactory->makeASTRoot(currentAST, tmp19_AST);
372 +                match(RNEMD);
373 +                match(LCURLY);
374 +                { // ( ... )*
375 +                for (;;) {
376 +                        if ((LA(1) == ID)) {
377 +                                assignment();
378 +                                astFactory->addASTChild( currentAST, returnAST );
379 +                        }
380 +                        else {
381 +                                goto _loop21;
382 +                        }
383 +                        
384 +                }
385 +                _loop21:;
386 +                } // ( ... )*
387 +                ANTLR_USE_NAMESPACE(antlr)RefAST tmp21_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
388 +                tmp21_AST = astFactory->create(LT(1));
389 +                astFactory->addASTChild(currentAST, tmp21_AST);
390 +                match(RCURLY);
391 + #line 85 "MDParser.g"
392 +                tmp21_AST->setType(ENDBLOCK);
393 + #line 394 "MDParser.cpp"
394 +                rnemdblock_AST = currentAST.root;
395 +        }
396 +        catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
397 +                reportError(ex);
398 +                recover(ex,_tokenSet_2);
399 +        }
400 +        returnAST = rnemdblock_AST;
401 + }
402 +
403 + void MDParser::minimizerblock() {
404 +        returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
405 +        ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
406 +        ANTLR_USE_NAMESPACE(antlr)RefAST minimizerblock_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
407 +        
408 +        try {      // for error handling
409 +                ANTLR_USE_NAMESPACE(antlr)RefAST tmp22_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
410 +                tmp22_AST = astFactory->create(LT(1));
411 +                astFactory->makeASTRoot(currentAST, tmp22_AST);
412 +                match(MINIMIZER);
413 +                match(LCURLY);
414 +                { // ( ... )*
415 +                for (;;) {
416 +                        if ((LA(1) == ID)) {
417 +                                assignment();
418 +                                astFactory->addASTChild( currentAST, returnAST );
419 +                        }
420 +                        else {
421 +                                goto _loop24;
422 +                        }
423 +                        
424 +                }
425 +                _loop24:;
426 +                } // ( ... )*
427 +                ANTLR_USE_NAMESPACE(antlr)RefAST tmp24_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
428 +                tmp24_AST = astFactory->create(LT(1));
429 +                astFactory->addASTChild(currentAST, tmp24_AST);
430 +                match(RCURLY);
431 + #line 88 "MDParser.g"
432 +                tmp24_AST->setType(ENDBLOCK);
433 + #line 434 "MDParser.cpp"
434 +                minimizerblock_AST = currentAST.root;
435 +        }
436 +        catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
437 +                reportError(ex);
438 +                recover(ex,_tokenSet_2);
439 +        }
440 +        returnAST = minimizerblock_AST;
441 + }
442 +
443   void MDParser::constant() {
444          returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
445          ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
# Line 259 | Line 447 | void MDParser::constant() {
447          
448          try {      // for error handling
449                  switch ( LA(1)) {
450 <                case OCTALINT:
451 <                case DECIMALINT:
264 <                case HEXADECIMALINT:
265 <                case FLOATONE:
266 <                case FLOATTWO:
450 >                case NUM_INT:
451 >                case NUM_LONG:
452                  {
453 <                        signedNumber();
453 >                        intConst();
454                          astFactory->addASTChild( currentAST, returnAST );
455                          constant_AST = currentAST.root;
456                          break;
457                  }
458 +                case NUM_FLOAT:
459 +                case NUM_DOUBLE:
460 +                {
461 +                        floatConst();
462 +                        astFactory->addASTChild( currentAST, returnAST );
463 +                        constant_AST = currentAST.root;
464 +                        break;
465 +                }
466                  case ID:
467                  {
468 <                        ANTLR_USE_NAMESPACE(antlr)RefAST 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 301 | Line 494 | void MDParser::constant() {
494          returnAST = constant_AST;
495   }
496  
497 < void MDParser::signedNumber() {
497 > void MDParser::intConst() {
498          returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
499          ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
500 <        ANTLR_USE_NAMESPACE(antlr)RefAST signedNumber_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
500 >        ANTLR_USE_NAMESPACE(antlr)RefAST intConst_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
501          
502          try {      // for error handling
310                {
503                  switch ( LA(1)) {
504 <                case OCTALINT:
313 <                case DECIMALINT:
314 <                case HEXADECIMALINT:
504 >                case NUM_INT:
505                  {
506 <                        intConst();
507 <                        astFactory->addASTChild( currentAST, returnAST );
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 FLOATONE:
321 <                case FLOATTWO:
513 >                case NUM_LONG:
514                  {
515 <                        floatConst();
516 <                        astFactory->addASTChild( currentAST, returnAST );
515 >                        ANTLR_USE_NAMESPACE(antlr)RefAST tmp28_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
516 >                        tmp28_AST = astFactory->create(LT(1));
517 >                        astFactory->addASTChild(currentAST, tmp28_AST);
518 >                        match(NUM_LONG);
519 >                        intConst_AST = currentAST.root;
520                          break;
521                  }
522                  default:
# Line 329 | Line 524 | void MDParser::signedNumber() {
524                          throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
525                  }
526                  }
332                }
333                signedNumber_AST = currentAST.root;
527          }
528          catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
529                  reportError(ex);
530                  recover(ex,_tokenSet_6);
531          }
532 <        returnAST = signedNumber_AST;
532 >        returnAST = intConst_AST;
533   }
534  
535 + void MDParser::floatConst() {
536 +        returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
537 +        ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
538 +        ANTLR_USE_NAMESPACE(antlr)RefAST floatConst_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
539 +        
540 +        try {      // for error handling
541 +                switch ( LA(1)) {
542 +                case NUM_FLOAT:
543 +                {
544 +                        ANTLR_USE_NAMESPACE(antlr)RefAST tmp29_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
545 +                        tmp29_AST = astFactory->create(LT(1));
546 +                        astFactory->addASTChild(currentAST, tmp29_AST);
547 +                        match(NUM_FLOAT);
548 +                        floatConst_AST = currentAST.root;
549 +                        break;
550 +                }
551 +                case NUM_DOUBLE:
552 +                {
553 +                        ANTLR_USE_NAMESPACE(antlr)RefAST tmp30_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
554 +                        tmp30_AST = astFactory->create(LT(1));
555 +                        astFactory->addASTChild(currentAST, tmp30_AST);
556 +                        match(NUM_DOUBLE);
557 +                        floatConst_AST = currentAST.root;
558 +                        break;
559 +                }
560 +                default:
561 +                {
562 +                        throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
563 +                }
564 +                }
565 +        }
566 +        catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
567 +                reportError(ex);
568 +                recover(ex,_tokenSet_7);
569 +        }
570 +        returnAST = floatConst_AST;
571 + }
572 +
573   void MDParser::moleculestatement() {
574          returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
575          ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
# Line 381 | 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 410 | Line 648 | void MDParser::moleculestatement() {
648          }
649          catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
650                  reportError(ex);
651 <                recover(ex,_tokenSet_7);
651 >                recover(ex,_tokenSet_8);
652          }
653          returnAST = moleculestatement_AST;
654   }
# Line 421 | 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 tmp15_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
663 <                tmp15_AST = astFactory->create(LT(1));
664 <                astFactory->makeASTRoot(currentAST, tmp15_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 432 | Line 670 | void MDParser::atomblock() {
670                  match(LCURLY);
671                  { // ( ... )*
672                  for (;;) {
673 <                        if ((_tokenSet_8.member(LA(1)))) {
673 >                        if ((_tokenSet_9.member(LA(1)))) {
674                                  atomstatement();
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 tmp19_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
685 <                tmp19_AST = astFactory->create(LT(1));
686 <                astFactory->addASTChild(currentAST, tmp19_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 81 "MDParser.g"
689 <                tmp19_AST->setType(ENDBLOCK);
690 < #line 453 "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 <                recover(ex,_tokenSet_7);
695 >                recover(ex,_tokenSet_8);
696          }
697          returnAST = atomblock_AST;
698   }
# Line 465 | 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 tmp20_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
707 <                tmp20_AST = astFactory->create(LT(1));
708 <                astFactory->makeASTRoot(currentAST, tmp20_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 496 | 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 tmp24_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
744 <                tmp24_AST = astFactory->create(LT(1));
745 <                astFactory->addASTChild(currentAST, tmp24_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 90 "MDParser.g"
748 <                tmp24_AST->setType(ENDBLOCK);
749 < #line 512 "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 <                recover(ex,_tokenSet_7);
754 >                recover(ex,_tokenSet_8);
755          }
756          returnAST = bondblock_AST;
757   }
# Line 524 | 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 tmp25_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
766 <                tmp25_AST = astFactory->create(LT(1));
767 <                astFactory->makeASTRoot(currentAST, tmp25_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 555 | 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 tmp29_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
803 <                tmp29_AST = astFactory->create(LT(1));
804 <                astFactory->addASTChild(currentAST, tmp29_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 97 "MDParser.g"
807 <                tmp29_AST->setType(ENDBLOCK);
808 < #line 571 "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 <                recover(ex,_tokenSet_7);
813 >                recover(ex,_tokenSet_8);
814          }
815          returnAST = bendblock_AST;
816   }
# Line 583 | 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 tmp30_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
825 <                tmp30_AST = astFactory->create(LT(1));
826 <                astFactory->makeASTRoot(currentAST, tmp30_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 614 | 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 tmp34_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
862 <                tmp34_AST = astFactory->create(LT(1));
863 <                astFactory->addASTChild(currentAST, tmp34_AST);
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 104 "MDParser.g"
866 <                tmp34_AST->setType(ENDBLOCK);
867 < #line 630 "MDParser.cpp"
865 > #line 128 "MDParser.g"
866 >                tmp50_AST->setType(ENDBLOCK);
867 > #line 868 "MDParser.cpp"
868                  torsionblock_AST = currentAST.root;
869          }
870          catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
871                  reportError(ex);
872 <                recover(ex,_tokenSet_7);
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 tmp35_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
943 <                tmp35_AST = astFactory->create(LT(1));
944 <                astFactory->makeASTRoot(currentAST, tmp35_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 658 | Line 955 | void MDParser::rigidbodyblock() {
955                                  astFactory->addASTChild( currentAST, returnAST );
956                          }
957                          else {
958 <                                goto _loop38;
958 >                                goto _loop55;
959                          }
960                          
961                  }
962 <                _loop38:;
962 >                _loop55:;
963                  } // ( ... )*
964 <                ANTLR_USE_NAMESPACE(antlr)RefAST tmp39_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
965 <                tmp39_AST = astFactory->create(LT(1));
966 <                astFactory->addASTChild(currentAST, tmp39_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 111 "MDParser.g"
969 <                tmp39_AST->setType(ENDBLOCK);
970 < #line 674 "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 <                recover(ex,_tokenSet_7);
975 >                recover(ex,_tokenSet_8);
976          }
977          returnAST = rigidbodyblock_AST;
978   }
# Line 686 | 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 tmp40_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
987 <                tmp40_AST = astFactory->create(LT(1));
988 <                astFactory->makeASTRoot(currentAST, tmp40_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 717 | Line 1014 | void MDParser::cutoffgroupblock() {
1014                                  astFactory->addASTChild( currentAST, returnAST );
1015                          }
1016                          else {
1017 <                                goto _loop43;
1017 >                                goto _loop60;
1018                          }
1019                          
1020                  }
1021 <                _loop43:;
1021 >                _loop60:;
1022                  } // ( ... )*
1023 <                ANTLR_USE_NAMESPACE(antlr)RefAST tmp44_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1024 <                tmp44_AST = astFactory->create(LT(1));
1025 <                astFactory->addASTChild(currentAST, tmp44_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 118 "MDParser.g"
1028 <                tmp44_AST->setType(ENDBLOCK);
1029 < #line 733 "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 <                recover(ex,_tokenSet_7);
1034 >                recover(ex,_tokenSet_8);
1035          }
1036          returnAST = cutoffgroupblock_AST;
1037   }
# Line 745 | 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 tmp45_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1046 <                tmp45_AST = astFactory->create(LT(1));
1047 <                astFactory->makeASTRoot(currentAST, tmp45_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 761 | Line 1058 | void MDParser::fragmentblock() {
1058                                  astFactory->addASTChild( currentAST, returnAST );
1059                          }
1060                          else {
1061 <                                goto _loop47;
1061 >                                goto _loop64;
1062                          }
1063                          
1064                  }
1065 <                _loop47:;
1065 >                _loop64:;
1066                  } // ( ... )*
1067 <                ANTLR_USE_NAMESPACE(antlr)RefAST tmp49_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1068 <                tmp49_AST = astFactory->create(LT(1));
1069 <                astFactory->addASTChild(currentAST, tmp49_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 125 "MDParser.g"
1072 <                tmp49_AST->setType(ENDBLOCK);
1073 < #line 777 "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 <                recover(ex,_tokenSet_7);
1078 >                recover(ex,_tokenSet_8);
1079          }
1080          returnAST = fragmentblock_AST;
1081   }
1082  
786 void MDParser::intConst() {
787        returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
788        ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
789        ANTLR_USE_NAMESPACE(antlr)RefAST intConst_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
790        
791        try {      // for error handling
792                switch ( LA(1)) {
793                case OCTALINT:
794                {
795                        ANTLR_USE_NAMESPACE(antlr)RefAST tmp50_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
796                        tmp50_AST = astFactory->create(LT(1));
797                        astFactory->addASTChild(currentAST, tmp50_AST);
798                        match(OCTALINT);
799                        intConst_AST = currentAST.root;
800                        break;
801                }
802                case DECIMALINT:
803                {
804                        ANTLR_USE_NAMESPACE(antlr)RefAST tmp51_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
805                        tmp51_AST = astFactory->create(LT(1));
806                        astFactory->addASTChild(currentAST, tmp51_AST);
807                        match(DECIMALINT);
808                        intConst_AST = currentAST.root;
809                        break;
810                }
811                case HEXADECIMALINT:
812                {
813                        ANTLR_USE_NAMESPACE(antlr)RefAST tmp52_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
814                        tmp52_AST = astFactory->create(LT(1));
815                        astFactory->addASTChild(currentAST, tmp52_AST);
816                        match(HEXADECIMALINT);
817                        intConst_AST = currentAST.root;
818                        break;
819                }
820                default:
821                {
822                        throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
823                }
824                }
825        }
826        catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
827                reportError(ex);
828                recover(ex,_tokenSet_9);
829        }
830        returnAST = intConst_AST;
831 }
832
1083   void MDParser::atomstatement() {
1084          returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1085          ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
# Line 846 | Line 1096 | void MDParser::atomstatement() {
1096                  }
1097                  case POSITION:
1098                  {
1099 <                        ANTLR_USE_NAMESPACE(antlr)RefAST tmp53_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1100 <                        tmp53_AST = astFactory->create(LT(1));
1101 <                        astFactory->makeASTRoot(currentAST, tmp53_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 <                        signedNumberTuple();
1104 >                        doubleNumberTuple();
1105                          astFactory->addASTChild( currentAST, returnAST );
1106                          match(RPAREN);
1107                          match(SEMICOLON);
# Line 860 | Line 1110 | void MDParser::atomstatement() {
1110                  }
1111                  case ORIENTATION:
1112                  {
1113 <                        ANTLR_USE_NAMESPACE(antlr)RefAST tmp57_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1114 <                        tmp57_AST = astFactory->create(LT(1));
1115 <                        astFactory->makeASTRoot(currentAST, tmp57_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 <                        signedNumberTuple();
1118 >                        doubleNumberTuple();
1119                          astFactory->addASTChild( currentAST, returnAST );
1120                          match(RPAREN);
1121                          match(SEMICOLON);
# Line 885 | Line 1135 | void MDParser::atomstatement() {
1135          returnAST = atomstatement_AST;
1136   }
1137  
1138 < void MDParser::signedNumberTuple() {
1138 > void MDParser::doubleNumberTuple() {
1139          returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1140          ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
1141 <        ANTLR_USE_NAMESPACE(antlr)RefAST signedNumberTuple_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1141 >        ANTLR_USE_NAMESPACE(antlr)RefAST doubleNumberTuple_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1142          
1143          try {      // for error handling
1144 <                signedNumber();
1144 >                doubleNumber();
1145                  astFactory->addASTChild( currentAST, returnAST );
1146                  { // ( ... )*
1147                  for (;;) {
1148                          if ((LA(1) == COMMA)) {
1149                                  match(COMMA);
1150 <                                signedNumber();
1150 >                                doubleNumber();
1151                                  astFactory->addASTChild( currentAST, returnAST );
1152                          }
1153                          else {
1154 <                                goto _loop51;
1154 >                                goto _loop68;
1155                          }
1156                          
1157                  }
1158 <                _loop51:;
1158 >                _loop68:;
1159                  } // ( ... )*
1160 <                signedNumberTuple_AST = currentAST.root;
1160 >                doubleNumberTuple_AST = currentAST.root;
1161          }
1162          catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
1163                  reportError(ex);
1164                  recover(ex,_tokenSet_11);
1165          }
1166 <        returnAST = signedNumberTuple_AST;
1166 >        returnAST = doubleNumberTuple_AST;
1167   }
1168  
1169   void MDParser::bondstatement() {
# Line 932 | Line 1182 | void MDParser::bondstatement() {
1182                  }
1183                  case MEMBERS:
1184                  {
1185 <                        ANTLR_USE_NAMESPACE(antlr)RefAST tmp62_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1186 <                        tmp62_AST = astFactory->create(LT(1));
1187 <                        astFactory->makeASTRoot(currentAST, tmp62_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 973 | Line 1223 | void MDParser::inttuple() {
1223                                  astFactory->addASTChild( currentAST, returnAST );
1224                          }
1225                          else {
1226 <                                goto _loop54;
1226 >                                goto _loop71;
1227                          }
1228                          
1229                  }
1230 <                _loop54:;
1230 >                _loop71:;
1231                  } // ( ... )*
1232                  inttuple_AST = currentAST.root;
1233          }
# Line 1004 | Line 1254 | void MDParser::bendstatement() {
1254                  }
1255                  case MEMBERS:
1256                  {
1257 <                        ANTLR_USE_NAMESPACE(antlr)RefAST tmp67_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1258 <                        tmp67_AST = astFactory->create(LT(1));
1259 <                        astFactory->makeASTRoot(currentAST, tmp67_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 1045 | Line 1295 | void MDParser::torsionstatement() {
1295                  }
1296                  case MEMBERS:
1297                  {
1298 <                        ANTLR_USE_NAMESPACE(antlr)RefAST tmp71_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1299 <                        tmp71_AST = astFactory->create(LT(1));
1300 <                        astFactory->makeASTRoot(currentAST, tmp71_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 1070 | Line 1320 | void MDParser::torsionstatement() {
1320          returnAST = torsionstatement_AST;
1321   }
1322  
1323 + void MDParser::inversionstatement() {
1324 +        returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1325 +        ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
1326 +        ANTLR_USE_NAMESPACE(antlr)RefAST inversionstatement_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1327 +        
1328 +        try {      // for error handling
1329 +                switch ( LA(1)) {
1330 +                case ID:
1331 +                {
1332 +                        assignment();
1333 +                        astFactory->addASTChild( currentAST, returnAST );
1334 +                        inversionstatement_AST = currentAST.root;
1335 +                        break;
1336 +                }
1337 +                case CENTER:
1338 +                {
1339 +                        ANTLR_USE_NAMESPACE(antlr)RefAST tmp93_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1340 +                        tmp93_AST = astFactory->create(LT(1));
1341 +                        astFactory->makeASTRoot(currentAST, tmp93_AST);
1342 +                        match(CENTER);
1343 +                        match(LPAREN);
1344 +                        intConst();
1345 +                        astFactory->addASTChild( currentAST, returnAST );
1346 +                        match(RPAREN);
1347 +                        match(SEMICOLON);
1348 +                        inversionstatement_AST = currentAST.root;
1349 +                        break;
1350 +                }
1351 +                default:
1352 +                {
1353 +                        throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
1354 +                }
1355 +                }
1356 +        }
1357 +        catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
1358 +                reportError(ex);
1359 +                recover(ex,_tokenSet_13);
1360 +        }
1361 +        returnAST = inversionstatement_AST;
1362 + }
1363 +
1364   void MDParser::rigidbodystatement() {
1365          returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1366          ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
# Line 1086 | Line 1377 | void MDParser::rigidbodystatement() {
1377                  }
1378                  case MEMBERS:
1379                  {
1380 <                        ANTLR_USE_NAMESPACE(antlr)RefAST tmp75_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1381 <                        tmp75_AST = astFactory->create(LT(1));
1382 <                        astFactory->makeASTRoot(currentAST, tmp75_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 1127 | Line 1418 | void MDParser::cutoffgroupstatement() {
1418                  }
1419                  case MEMBERS:
1420                  {
1421 <                        ANTLR_USE_NAMESPACE(antlr)RefAST tmp79_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1422 <                        tmp79_AST = astFactory->create(LT(1));
1423 <                        astFactory->makeASTRoot(currentAST, tmp79_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 1164 | Line 1455 | void MDParser::fragmentstatement() {
1455          }
1456          catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
1457                  reportError(ex);
1458 <                recover(ex,_tokenSet_13);
1458 >                recover(ex,_tokenSet_14);
1459          }
1460          returnAST = fragmentstatement_AST;
1461   }
1462  
1463 < void MDParser::floatConst() {
1463 > void MDParser::doubleNumber() {
1464          returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1465          ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
1466 <        ANTLR_USE_NAMESPACE(antlr)RefAST floatConst_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1466 >        ANTLR_USE_NAMESPACE(antlr)RefAST doubleNumber_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1467          
1468          try {      // for error handling
1469 +                {
1470                  switch ( LA(1)) {
1471 <                case FLOATONE:
1471 >                case NUM_INT:
1472 >                case NUM_LONG:
1473                  {
1474 <                        ANTLR_USE_NAMESPACE(antlr)RefAST tmp83_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1475 <                        tmp83_AST = astFactory->create(LT(1));
1183 <                        astFactory->addASTChild(currentAST, tmp83_AST);
1184 <                        match(FLOATONE);
1185 <                        floatConst_AST = currentAST.root;
1474 >                        intConst();
1475 >                        astFactory->addASTChild( currentAST, returnAST );
1476                          break;
1477                  }
1478 <                case FLOATTWO:
1478 >                case NUM_FLOAT:
1479 >                case NUM_DOUBLE:
1480                  {
1481 <                        ANTLR_USE_NAMESPACE(antlr)RefAST tmp84_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1482 <                        tmp84_AST = astFactory->create(LT(1));
1192 <                        astFactory->addASTChild(currentAST, tmp84_AST);
1193 <                        match(FLOATTWO);
1194 <                        floatConst_AST = currentAST.root;
1481 >                        floatConst();
1482 >                        astFactory->addASTChild( currentAST, returnAST );
1483                          break;
1484                  }
1485                  default:
# Line 1199 | Line 1487 | void MDParser::floatConst() {
1487                          throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
1488                  }
1489                  }
1490 +                }
1491 +                doubleNumber_AST = currentAST.root;
1492          }
1493          catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
1494                  reportError(ex);
1495 <                recover(ex,_tokenSet_6);
1495 >                recover(ex,_tokenSet_15);
1496          }
1497 <        returnAST = floatConst_AST;
1497 >        returnAST = doubleNumber_AST;
1498   }
1499  
1500   void MDParser::initializeASTFactory( ANTLR_USE_NAMESPACE(antlr)ASTFactory& factory )
1501   {
1502 <        factory.setMaxNodeType(53);
1502 >        factory.setMaxNodeType(56);
1503   }
1504   const char* MDParser::tokenNames[] = {
1505          "<0>",
# Line 1219 | Line 1509 | const char* MDParser::tokenNames[] = {
1509          "\"component\"",
1510          "\"molecule\"",
1511          "\"zconstraint\"",
1512 +        "\"restraint\"",
1513          "\"atom\"",
1514          "\"bond\"",
1515          "\"bend\"",
1516          "\"torsion\"",
1517 +        "\"inversion\"",
1518          "\"rigidBody\"",
1519          "\"cutoffGroup\"",
1520          "\"fragment\"",
1521          "\"members\"",
1522 +        "\"center\"",
1523          "\"position\"",
1524          "\"orientation\"",
1525 +        "\"flucQ\"",
1526 +        "\"RNEMD\"",
1527 +        "\"minimizer\"",
1528          "ENDBLOCK",
1529          "ID",
1530          "ASSIGNEQUAL",
# Line 1241 | Line 1537 | const char* MDParser::tokenNames[] = {
1537          "LPAREN",
1538          "RPAREN",
1539          "COMMA",
1540 <        "OCTALINT",
1541 <        "DECIMALINT",
1542 <        "HEXADECIMALINT",
1543 <        "FLOATONE",
1248 <        "FLOATTWO",
1540 >        "NUM_INT",
1541 >        "NUM_LONG",
1542 >        "NUM_FLOAT",
1543 >        "NUM_DOUBLE",
1544          "DOT",
1545          "COLON",
1546          "QUESTIONMARK",
# Line 1258 | Line 1553 | const char* MDParser::tokenNames[] = {
1553          "CharLiteral",
1554          "EndOfLine",
1555          "Escape",
1556 +        "Vocabulary",
1557          "Digit",
1558          "Decimal",
1559 <        "LongSuffix",
1560 <        "UnsignedSuffix",
1561 <        "FloatSuffix",
1266 <        "Exponent",
1267 <        "Vocabulary",
1268 <        "Number",
1559 >        "HEX_DIGIT",
1560 >        "EXPONENT",
1561 >        "FLOAT_SUFFIX",
1562          0
1563   };
1564  
1565 < const unsigned long MDParser::_tokenSet_0_data_[] = { 262256UL, 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_[] = { 262258UL, 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_[] = { 8781810UL, 0UL, 0UL, 0UL };
1577 < // EOF "component" "molecule" "zconstraint" "atom" "bond" "bend" "torsion"
1578 < // "rigidBody" "cutoffGroup" "fragment" "members" "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_[] = { 278400UL, 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_[] = { 1048576UL, 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_[] = { 403701760UL, 0UL, 0UL, 0UL };
1589 < // SEMICOLON RPAREN COMMA
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_[] = { 8667008UL, 0UL, 0UL, 0UL };
1592 < // "atom" "bond" "bend" "torsion" "rigidBody" "cutoffGroup" "fragment"
1298 < // ID RCURLY
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_[] = { 360448UL, 0UL, 0UL, 0UL };
1595 < // "position" "orientation" ID
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_[] = { 437256192UL, 0UL, 0UL, 0UL };
1599 < // SEMICOLON RBRACKET RPAREN COMMA
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_[] = { 8749056UL, 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_[] = { 134217728UL, 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_[] = { 8667136UL, 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_[] = { 8650752UL, 0UL, 0UL, 0UL };
1611 < // ID RCURLY
1610 > const unsigned long MDParser::_tokenSet_13_data_[] = { 553779200UL, 0UL, 0UL, 0UL };
1611 > // "center" ID RCURLY
1612   const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_13(_tokenSet_13_data_,4);
1613 + const unsigned long MDParser::_tokenSet_14_data_[] = { 553648128UL, 0UL, 0UL, 0UL };
1614 + // ID RCURLY
1615 + const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_14(_tokenSet_14_data_,4);
1616 + const unsigned long MDParser::_tokenSet_15_data_[] = { 0UL, 6UL, 0UL, 0UL };
1617 + // RPAREN COMMA
1618 + const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_15(_tokenSet_15_data_,4);
1619  
1620  

Comparing:
trunk/src/mdParser/MDParser.cpp (property svn:keywords), Revision 810 by tim, Wed Dec 14 18:02:28 2005 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