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 770 by tim, Fri Dec 2 15:38:03 2005 UTC vs.
branches/development/src/mdParser/MDParser.cpp (file contents), Revision 1776 by gezelter, Thu Aug 9 15:52:59 2012 UTC

# Line 1 | Line 1
1 < /* $ANTLR 2.7.5 (20050406): "MDParser.g" -> "MDParser.cpp"$ */
1 > /* $ANTLR 2.7.7 (20120725): "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 65 "MDParser.g"
191 > #line 74 "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 71 "MDParser.g"
231 > #line 92 "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 68 "MDParser.g"
271 > #line 77 "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 80 "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 83 "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 86 "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 89 "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 PLUS:
266 <                case MINUS:
267 <                case FLOATONE:
268 <                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 LPAREN:
467 +                {
468 +                        vectorConst();
469 +                        astFactory->addASTChild( currentAST, returnAST );
470 +                        constant_AST = currentAST.root;
471 +                        break;
472 +                }
473                  case ID:
474                  {
475 <                        ANTLR_USE_NAMESPACE(antlr)RefAST tmp13_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
476 <                        tmp13_AST = astFactory->create(LT(1));
477 <                        astFactory->addASTChild(currentAST, tmp13_AST);
475 >                        ANTLR_USE_NAMESPACE(antlr)RefAST tmp25_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
476 >                        tmp25_AST = astFactory->create(LT(1));
477 >                        astFactory->addASTChild(currentAST, tmp25_AST);
478                          match(ID);
479                          constant_AST = currentAST.root;
480                          break;
481                  }
482                  case StringLiteral:
483                  {
484 <                        ANTLR_USE_NAMESPACE(antlr)RefAST tmp14_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
485 <                        tmp14_AST = astFactory->create(LT(1));
486 <                        astFactory->addASTChild(currentAST, tmp14_AST);
484 >                        ANTLR_USE_NAMESPACE(antlr)RefAST tmp26_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
485 >                        tmp26_AST = astFactory->create(LT(1));
486 >                        astFactory->addASTChild(currentAST, tmp26_AST);
487                          match(StringLiteral);
488                          constant_AST = currentAST.root;
489                          break;
# Line 303 | Line 501 | void MDParser::constant() {
501          returnAST = constant_AST;
502   }
503  
504 < void MDParser::signedNumber() {
504 > void MDParser::intConst() {
505          returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
506          ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
507 <        ANTLR_USE_NAMESPACE(antlr)RefAST signedNumber_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
507 >        ANTLR_USE_NAMESPACE(antlr)RefAST intConst_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
508          
509          try {      // for error handling
312                {
510                  switch ( LA(1)) {
511 <                case PLUS:
511 >                case NUM_INT:
512                  {
513 <                        match(PLUS);
513 >                        ANTLR_USE_NAMESPACE(antlr)RefAST tmp27_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
514 >                        tmp27_AST = astFactory->create(LT(1));
515 >                        astFactory->addASTChild(currentAST, tmp27_AST);
516 >                        match(NUM_INT);
517 >                        intConst_AST = currentAST.root;
518                          break;
519                  }
520 <                case MINUS:
520 >                case NUM_LONG:
521                  {
522 <                        ANTLR_USE_NAMESPACE(antlr)RefAST tmp16_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
523 <                        tmp16_AST = astFactory->create(LT(1));
524 <                        astFactory->makeASTRoot(currentAST, tmp16_AST);
525 <                        match(MINUS);
522 >                        ANTLR_USE_NAMESPACE(antlr)RefAST tmp28_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
523 >                        tmp28_AST = astFactory->create(LT(1));
524 >                        astFactory->addASTChild(currentAST, tmp28_AST);
525 >                        match(NUM_LONG);
526 >                        intConst_AST = currentAST.root;
527                          break;
528                  }
327                case OCTALINT:
328                case DECIMALINT:
329                case HEXADECIMALINT:
330                case FLOATONE:
331                case FLOATTWO:
332                {
333                        break;
334                }
529                  default:
530                  {
531                          throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
532                  }
533                  }
534 <                }
535 <                {
534 >        }
535 >        catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
536 >                reportError(ex);
537 >                recover(ex,_tokenSet_6);
538 >        }
539 >        returnAST = intConst_AST;
540 > }
541 >
542 > void MDParser::floatConst() {
543 >        returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
544 >        ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
545 >        ANTLR_USE_NAMESPACE(antlr)RefAST floatConst_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
546 >        
547 >        try {      // for error handling
548                  switch ( LA(1)) {
549 <                case OCTALINT:
344 <                case DECIMALINT:
345 <                case HEXADECIMALINT:
549 >                case NUM_FLOAT:
550                  {
551 <                        intConst();
552 <                        astFactory->addASTChild( currentAST, returnAST );
551 >                        ANTLR_USE_NAMESPACE(antlr)RefAST tmp29_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
552 >                        tmp29_AST = astFactory->create(LT(1));
553 >                        astFactory->addASTChild(currentAST, tmp29_AST);
554 >                        match(NUM_FLOAT);
555 >                        floatConst_AST = currentAST.root;
556                          break;
557                  }
558 <                case FLOATONE:
352 <                case FLOATTWO:
558 >                case NUM_DOUBLE:
559                  {
560 <                        floatConst();
561 <                        astFactory->addASTChild( currentAST, returnAST );
560 >                        ANTLR_USE_NAMESPACE(antlr)RefAST tmp30_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
561 >                        tmp30_AST = astFactory->create(LT(1));
562 >                        astFactory->addASTChild(currentAST, tmp30_AST);
563 >                        match(NUM_DOUBLE);
564 >                        floatConst_AST = currentAST.root;
565                          break;
566                  }
567                  default:
# Line 360 | Line 569 | void MDParser::signedNumber() {
569                          throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
570                  }
571                  }
363                }
364                signedNumber_AST = currentAST.root;
572          }
573          catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
574                  reportError(ex);
575 <                recover(ex,_tokenSet_6);
575 >                recover(ex,_tokenSet_7);
576          }
577 <        returnAST = signedNumber_AST;
577 >        returnAST = floatConst_AST;
578   }
579  
580 + void MDParser::vectorConst() {
581 +        returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
582 +        ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
583 +        ANTLR_USE_NAMESPACE(antlr)RefAST vectorConst_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
584 +        
585 +        try {      // for error handling
586 +                ANTLR_USE_NAMESPACE(antlr)RefAST tmp31_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
587 +                tmp31_AST = astFactory->create(LT(1));
588 +                astFactory->makeASTRoot(currentAST, tmp31_AST);
589 +                match(LPAREN);
590 +                doubleNumber();
591 +                astFactory->addASTChild( currentAST, returnAST );
592 +                ANTLR_USE_NAMESPACE(antlr)RefAST tmp32_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
593 +                tmp32_AST = astFactory->create(LT(1));
594 +                astFactory->addASTChild(currentAST, tmp32_AST);
595 +                match(COMMA);
596 +                doubleNumber();
597 +                astFactory->addASTChild( currentAST, returnAST );
598 +                ANTLR_USE_NAMESPACE(antlr)RefAST tmp33_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
599 +                tmp33_AST = astFactory->create(LT(1));
600 +                astFactory->addASTChild(currentAST, tmp33_AST);
601 +                match(COMMA);
602 +                doubleNumber();
603 +                astFactory->addASTChild( currentAST, returnAST );
604 +                ANTLR_USE_NAMESPACE(antlr)RefAST tmp34_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
605 +                tmp34_AST = astFactory->create(LT(1));
606 +                astFactory->addASTChild(currentAST, tmp34_AST);
607 +                match(RPAREN);
608 +                vectorConst_AST = currentAST.root;
609 +        }
610 +        catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
611 +                reportError(ex);
612 +                recover(ex,_tokenSet_5);
613 +        }
614 +        returnAST = vectorConst_AST;
615 + }
616 +
617   void MDParser::moleculestatement() {
618          returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
619          ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
# Line 408 | Line 652 | void MDParser::moleculestatement() {
652                  case TORSION:
653                  {
654                          torsionblock();
655 +                        astFactory->addASTChild( currentAST, returnAST );
656 +                        moleculestatement_AST = currentAST.root;
657 +                        break;
658 +                }
659 +                case INVERSION:
660 +                {
661 +                        inversionblock();
662                          astFactory->addASTChild( currentAST, returnAST );
663                          moleculestatement_AST = currentAST.root;
664                          break;
# Line 441 | Line 692 | void MDParser::moleculestatement() {
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 = moleculestatement_AST;
698   }
# Line 452 | Line 703 | void MDParser::atomblock() {
703          ANTLR_USE_NAMESPACE(antlr)RefAST atomblock_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
704          
705          try {      // for error handling
706 <                ANTLR_USE_NAMESPACE(antlr)RefAST tmp17_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
707 <                tmp17_AST = astFactory->create(LT(1));
708 <                astFactory->makeASTRoot(currentAST, tmp17_AST);
706 >                ANTLR_USE_NAMESPACE(antlr)RefAST tmp35_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
707 >                tmp35_AST = astFactory->create(LT(1));
708 >                astFactory->makeASTRoot(currentAST, tmp35_AST);
709                  match(ATOM);
710                  match(LBRACKET);
711                  intConst();
# Line 463 | Line 714 | void MDParser::atomblock() {
714                  match(LCURLY);
715                  { // ( ... )*
716                  for (;;) {
717 <                        if ((_tokenSet_8.member(LA(1)))) {
717 >                        if ((_tokenSet_9.member(LA(1)))) {
718                                  atomstatement();
719                                  astFactory->addASTChild( currentAST, returnAST );
720                          }
721                          else {
722 <                                goto _loop19;
722 >                                goto _loop31;
723                          }
724                          
725                  }
726 <                _loop19:;
726 >                _loop31:;
727                  } // ( ... )*
728 <                ANTLR_USE_NAMESPACE(antlr)RefAST tmp21_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
729 <                tmp21_AST = astFactory->create(LT(1));
730 <                astFactory->addASTChild(currentAST, tmp21_AST);
728 >                ANTLR_USE_NAMESPACE(antlr)RefAST tmp39_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
729 >                tmp39_AST = astFactory->create(LT(1));
730 >                astFactory->addASTChild(currentAST, tmp39_AST);
731                  match(RCURLY);
732 < #line 84 "MDParser.g"
733 <                tmp21_AST->setType(ENDBLOCK);
734 < #line 484 "MDParser.cpp"
732 > #line 106 "MDParser.g"
733 >                tmp39_AST->setType(ENDBLOCK);
734 > #line 735 "MDParser.cpp"
735                  atomblock_AST = currentAST.root;
736          }
737          catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
738                  reportError(ex);
739 <                recover(ex,_tokenSet_7);
739 >                recover(ex,_tokenSet_8);
740          }
741          returnAST = atomblock_AST;
742   }
# Line 496 | Line 747 | void MDParser::bondblock() {
747          ANTLR_USE_NAMESPACE(antlr)RefAST bondblock_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
748          
749          try {      // for error handling
750 <                ANTLR_USE_NAMESPACE(antlr)RefAST tmp22_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
751 <                tmp22_AST = astFactory->create(LT(1));
752 <                astFactory->makeASTRoot(currentAST, tmp22_AST);
750 >                ANTLR_USE_NAMESPACE(antlr)RefAST tmp40_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
751 >                tmp40_AST = astFactory->create(LT(1));
752 >                astFactory->makeASTRoot(currentAST, tmp40_AST);
753                  match(BOND);
754                  {
755                  switch ( LA(1)) {
# Line 527 | Line 778 | void MDParser::bondblock() {
778                                  astFactory->addASTChild( currentAST, returnAST );
779                          }
780                          else {
781 <                                goto _loop24;
781 >                                goto _loop36;
782                          }
783                          
784                  }
785 <                _loop24:;
785 >                _loop36:;
786                  } // ( ... )*
787 <                ANTLR_USE_NAMESPACE(antlr)RefAST tmp26_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
788 <                tmp26_AST = astFactory->create(LT(1));
789 <                astFactory->addASTChild(currentAST, tmp26_AST);
787 >                ANTLR_USE_NAMESPACE(antlr)RefAST tmp44_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
788 >                tmp44_AST = astFactory->create(LT(1));
789 >                astFactory->addASTChild(currentAST, tmp44_AST);
790                  match(RCURLY);
791 < #line 93 "MDParser.g"
792 <                tmp26_AST->setType(ENDBLOCK);
793 < #line 543 "MDParser.cpp"
791 > #line 115 "MDParser.g"
792 >                tmp44_AST->setType(ENDBLOCK);
793 > #line 794 "MDParser.cpp"
794                  bondblock_AST = currentAST.root;
795          }
796          catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
797                  reportError(ex);
798 <                recover(ex,_tokenSet_7);
798 >                recover(ex,_tokenSet_8);
799          }
800          returnAST = bondblock_AST;
801   }
# Line 555 | Line 806 | void MDParser::bendblock() {
806          ANTLR_USE_NAMESPACE(antlr)RefAST bendblock_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
807          
808          try {      // for error handling
809 <                ANTLR_USE_NAMESPACE(antlr)RefAST tmp27_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
810 <                tmp27_AST = astFactory->create(LT(1));
811 <                astFactory->makeASTRoot(currentAST, tmp27_AST);
809 >                ANTLR_USE_NAMESPACE(antlr)RefAST tmp45_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
810 >                tmp45_AST = astFactory->create(LT(1));
811 >                astFactory->makeASTRoot(currentAST, tmp45_AST);
812                  match(BEND);
813                  {
814                  switch ( LA(1)) {
# Line 586 | Line 837 | void MDParser::bendblock() {
837                                  astFactory->addASTChild( currentAST, returnAST );
838                          }
839                          else {
840 <                                goto _loop29;
840 >                                goto _loop41;
841                          }
842                          
843                  }
844 <                _loop29:;
844 >                _loop41:;
845                  } // ( ... )*
846 <                ANTLR_USE_NAMESPACE(antlr)RefAST tmp31_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
847 <                tmp31_AST = astFactory->create(LT(1));
848 <                astFactory->addASTChild(currentAST, tmp31_AST);
846 >                ANTLR_USE_NAMESPACE(antlr)RefAST tmp49_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
847 >                tmp49_AST = astFactory->create(LT(1));
848 >                astFactory->addASTChild(currentAST, tmp49_AST);
849                  match(RCURLY);
850 < #line 100 "MDParser.g"
851 <                tmp31_AST->setType(ENDBLOCK);
852 < #line 602 "MDParser.cpp"
850 > #line 122 "MDParser.g"
851 >                tmp49_AST->setType(ENDBLOCK);
852 > #line 853 "MDParser.cpp"
853                  bendblock_AST = currentAST.root;
854          }
855          catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
856                  reportError(ex);
857 <                recover(ex,_tokenSet_7);
857 >                recover(ex,_tokenSet_8);
858          }
859          returnAST = bendblock_AST;
860   }
# Line 614 | Line 865 | void MDParser::torsionblock() {
865          ANTLR_USE_NAMESPACE(antlr)RefAST torsionblock_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
866          
867          try {      // for error handling
868 <                ANTLR_USE_NAMESPACE(antlr)RefAST tmp32_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
869 <                tmp32_AST = astFactory->create(LT(1));
870 <                astFactory->makeASTRoot(currentAST, tmp32_AST);
868 >                ANTLR_USE_NAMESPACE(antlr)RefAST tmp50_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
869 >                tmp50_AST = astFactory->create(LT(1));
870 >                astFactory->makeASTRoot(currentAST, tmp50_AST);
871                  match(TORSION);
872                  {
873                  switch ( LA(1)) {
# Line 645 | Line 896 | void MDParser::torsionblock() {
896                                  astFactory->addASTChild( currentAST, returnAST );
897                          }
898                          else {
899 <                                goto _loop34;
899 >                                goto _loop46;
900                          }
901                          
902                  }
903 <                _loop34:;
903 >                _loop46:;
904                  } // ( ... )*
905 <                ANTLR_USE_NAMESPACE(antlr)RefAST tmp36_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
906 <                tmp36_AST = astFactory->create(LT(1));
907 <                astFactory->addASTChild(currentAST, tmp36_AST);
908 <                match(RCURLY);
909 < #line 107 "MDParser.g"
910 <                tmp36_AST->setType(ENDBLOCK);
911 < #line 661 "MDParser.cpp"
905 >                ANTLR_USE_NAMESPACE(antlr)RefAST tmp54_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
906 >                tmp54_AST = astFactory->create(LT(1));
907 >                astFactory->addASTChild(currentAST, tmp54_AST);
908 >                match(RCURLY);
909 > #line 129 "MDParser.g"
910 >                tmp54_AST->setType(ENDBLOCK);
911 > #line 912 "MDParser.cpp"
912                  torsionblock_AST = currentAST.root;
913          }
914          catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
915                  reportError(ex);
916 <                recover(ex,_tokenSet_7);
916 >                recover(ex,_tokenSet_8);
917          }
918          returnAST = torsionblock_AST;
919   }
920  
921 + void MDParser::inversionblock() {
922 +        returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
923 +        ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
924 +        ANTLR_USE_NAMESPACE(antlr)RefAST inversionblock_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
925 +        
926 +        try {      // for error handling
927 +                ANTLR_USE_NAMESPACE(antlr)RefAST tmp55_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
928 +                tmp55_AST = astFactory->create(LT(1));
929 +                astFactory->makeASTRoot(currentAST, tmp55_AST);
930 +                match(INVERSION);
931 +                {
932 +                switch ( LA(1)) {
933 +                case LBRACKET:
934 +                {
935 +                        match(LBRACKET);
936 +                        intConst();
937 +                        match(RBRACKET);
938 +                        break;
939 +                }
940 +                case LCURLY:
941 +                {
942 +                        break;
943 +                }
944 +                default:
945 +                {
946 +                        throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
947 +                }
948 +                }
949 +                }
950 +                match(LCURLY);
951 +                { // ( ... )*
952 +                for (;;) {
953 +                        if ((LA(1) == CENTER || LA(1) == ID)) {
954 +                                inversionstatement();
955 +                                astFactory->addASTChild( currentAST, returnAST );
956 +                        }
957 +                        else {
958 +                                goto _loop51;
959 +                        }
960 +                        
961 +                }
962 +                _loop51:;
963 +                } // ( ... )*
964 +                ANTLR_USE_NAMESPACE(antlr)RefAST tmp59_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
965 +                tmp59_AST = astFactory->create(LT(1));
966 +                astFactory->addASTChild(currentAST, tmp59_AST);
967 +                match(RCURLY);
968 + #line 136 "MDParser.g"
969 +                tmp59_AST->setType(ENDBLOCK);
970 + #line 971 "MDParser.cpp"
971 +                inversionblock_AST = currentAST.root;
972 +        }
973 +        catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
974 +                reportError(ex);
975 +                recover(ex,_tokenSet_8);
976 +        }
977 +        returnAST = inversionblock_AST;
978 + }
979 +
980   void MDParser::rigidbodyblock() {
981          returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
982          ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
983          ANTLR_USE_NAMESPACE(antlr)RefAST rigidbodyblock_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
984          
985          try {      // for error handling
986 <                ANTLR_USE_NAMESPACE(antlr)RefAST tmp37_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
987 <                tmp37_AST = astFactory->create(LT(1));
988 <                astFactory->makeASTRoot(currentAST, tmp37_AST);
986 >                ANTLR_USE_NAMESPACE(antlr)RefAST tmp60_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
987 >                tmp60_AST = astFactory->create(LT(1));
988 >                astFactory->makeASTRoot(currentAST, tmp60_AST);
989                  match(RIGIDBODY);
990                  match(LBRACKET);
991                  intConst();
# Line 689 | Line 999 | void MDParser::rigidbodyblock() {
999                                  astFactory->addASTChild( currentAST, returnAST );
1000                          }
1001                          else {
1002 <                                goto _loop38;
1002 >                                goto _loop55;
1003                          }
1004                          
1005                  }
1006 <                _loop38:;
1006 >                _loop55:;
1007                  } // ( ... )*
1008 <                ANTLR_USE_NAMESPACE(antlr)RefAST tmp41_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1009 <                tmp41_AST = astFactory->create(LT(1));
1010 <                astFactory->addASTChild(currentAST, tmp41_AST);
1008 >                ANTLR_USE_NAMESPACE(antlr)RefAST tmp64_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1009 >                tmp64_AST = astFactory->create(LT(1));
1010 >                astFactory->addASTChild(currentAST, tmp64_AST);
1011                  match(RCURLY);
1012 < #line 114 "MDParser.g"
1013 <                tmp41_AST->setType(ENDBLOCK);
1014 < #line 705 "MDParser.cpp"
1012 > #line 143 "MDParser.g"
1013 >                tmp64_AST->setType(ENDBLOCK);
1014 > #line 1015 "MDParser.cpp"
1015                  rigidbodyblock_AST = currentAST.root;
1016          }
1017          catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
1018                  reportError(ex);
1019 <                recover(ex,_tokenSet_7);
1019 >                recover(ex,_tokenSet_8);
1020          }
1021          returnAST = rigidbodyblock_AST;
1022   }
# Line 717 | Line 1027 | void MDParser::cutoffgroupblock() {
1027          ANTLR_USE_NAMESPACE(antlr)RefAST cutoffgroupblock_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1028          
1029          try {      // for error handling
1030 <                ANTLR_USE_NAMESPACE(antlr)RefAST tmp42_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1031 <                tmp42_AST = astFactory->create(LT(1));
1032 <                astFactory->makeASTRoot(currentAST, tmp42_AST);
1030 >                ANTLR_USE_NAMESPACE(antlr)RefAST tmp65_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1031 >                tmp65_AST = astFactory->create(LT(1));
1032 >                astFactory->makeASTRoot(currentAST, tmp65_AST);
1033                  match(CUTOFFGROUP);
1034                  {
1035                  switch ( LA(1)) {
# Line 748 | Line 1058 | void MDParser::cutoffgroupblock() {
1058                                  astFactory->addASTChild( currentAST, returnAST );
1059                          }
1060                          else {
1061 <                                goto _loop43;
1061 >                                goto _loop60;
1062                          }
1063                          
1064                  }
1065 <                _loop43:;
1065 >                _loop60:;
1066                  } // ( ... )*
1067 <                ANTLR_USE_NAMESPACE(antlr)RefAST tmp46_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1068 <                tmp46_AST = astFactory->create(LT(1));
1069 <                astFactory->addASTChild(currentAST, tmp46_AST);
1067 >                ANTLR_USE_NAMESPACE(antlr)RefAST tmp69_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1068 >                tmp69_AST = astFactory->create(LT(1));
1069 >                astFactory->addASTChild(currentAST, tmp69_AST);
1070                  match(RCURLY);
1071 < #line 121 "MDParser.g"
1072 <                tmp46_AST->setType(ENDBLOCK);
1073 < #line 764 "MDParser.cpp"
1071 > #line 150 "MDParser.g"
1072 >                tmp69_AST->setType(ENDBLOCK);
1073 > #line 1074 "MDParser.cpp"
1074                  cutoffgroupblock_AST = currentAST.root;
1075          }
1076          catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
1077                  reportError(ex);
1078 <                recover(ex,_tokenSet_7);
1078 >                recover(ex,_tokenSet_8);
1079          }
1080          returnAST = cutoffgroupblock_AST;
1081   }
# Line 776 | Line 1086 | void MDParser::fragmentblock() {
1086          ANTLR_USE_NAMESPACE(antlr)RefAST fragmentblock_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1087          
1088          try {      // for error handling
1089 <                ANTLR_USE_NAMESPACE(antlr)RefAST tmp47_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1090 <                tmp47_AST = astFactory->create(LT(1));
1091 <                astFactory->makeASTRoot(currentAST, tmp47_AST);
1089 >                ANTLR_USE_NAMESPACE(antlr)RefAST tmp70_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1090 >                tmp70_AST = astFactory->create(LT(1));
1091 >                astFactory->makeASTRoot(currentAST, tmp70_AST);
1092                  match(FRAGMENT);
1093                  match(LBRACKET);
1094                  intConst();
# Line 792 | Line 1102 | void MDParser::fragmentblock() {
1102                                  astFactory->addASTChild( currentAST, returnAST );
1103                          }
1104                          else {
1105 <                                goto _loop47;
1105 >                                goto _loop64;
1106                          }
1107                          
1108                  }
1109 <                _loop47:;
1109 >                _loop64:;
1110                  } // ( ... )*
1111 <                ANTLR_USE_NAMESPACE(antlr)RefAST tmp51_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1112 <                tmp51_AST = astFactory->create(LT(1));
1113 <                astFactory->addASTChild(currentAST, tmp51_AST);
1111 >                ANTLR_USE_NAMESPACE(antlr)RefAST tmp74_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1112 >                tmp74_AST = astFactory->create(LT(1));
1113 >                astFactory->addASTChild(currentAST, tmp74_AST);
1114                  match(RCURLY);
1115 < #line 128 "MDParser.g"
1116 <                tmp51_AST->setType(ENDBLOCK);
1117 < #line 808 "MDParser.cpp"
1115 > #line 157 "MDParser.g"
1116 >                tmp74_AST->setType(ENDBLOCK);
1117 > #line 1118 "MDParser.cpp"
1118                  fragmentblock_AST = currentAST.root;
1119          }
1120          catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
1121                  reportError(ex);
1122 <                recover(ex,_tokenSet_7);
1122 >                recover(ex,_tokenSet_8);
1123          }
1124          returnAST = fragmentblock_AST;
1125   }
1126  
817 void MDParser::intConst() {
818        returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
819        ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
820        ANTLR_USE_NAMESPACE(antlr)RefAST intConst_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
821        
822        try {      // for error handling
823                switch ( LA(1)) {
824                case OCTALINT:
825                {
826                        ANTLR_USE_NAMESPACE(antlr)RefAST tmp52_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
827                        tmp52_AST = astFactory->create(LT(1));
828                        astFactory->addASTChild(currentAST, tmp52_AST);
829                        match(OCTALINT);
830                        intConst_AST = currentAST.root;
831                        break;
832                }
833                case DECIMALINT:
834                {
835                        ANTLR_USE_NAMESPACE(antlr)RefAST tmp53_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
836                        tmp53_AST = astFactory->create(LT(1));
837                        astFactory->addASTChild(currentAST, tmp53_AST);
838                        match(DECIMALINT);
839                        intConst_AST = currentAST.root;
840                        break;
841                }
842                case HEXADECIMALINT:
843                {
844                        ANTLR_USE_NAMESPACE(antlr)RefAST tmp54_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
845                        tmp54_AST = astFactory->create(LT(1));
846                        astFactory->addASTChild(currentAST, tmp54_AST);
847                        match(HEXADECIMALINT);
848                        intConst_AST = currentAST.root;
849                        break;
850                }
851                default:
852                {
853                        throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
854                }
855                }
856        }
857        catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
858                reportError(ex);
859                recover(ex,_tokenSet_9);
860        }
861        returnAST = intConst_AST;
862 }
863
1127   void MDParser::atomstatement() {
1128          returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1129          ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
# Line 877 | Line 1140 | void MDParser::atomstatement() {
1140                  }
1141                  case POSITION:
1142                  {
1143 <                        ANTLR_USE_NAMESPACE(antlr)RefAST tmp55_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1144 <                        tmp55_AST = astFactory->create(LT(1));
1145 <                        astFactory->makeASTRoot(currentAST, tmp55_AST);
1143 >                        ANTLR_USE_NAMESPACE(antlr)RefAST tmp75_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1144 >                        tmp75_AST = astFactory->create(LT(1));
1145 >                        astFactory->makeASTRoot(currentAST, tmp75_AST);
1146                          match(POSITION);
1147                          match(LPAREN);
1148 <                        signedNumberTuple();
1148 >                        doubleNumberTuple();
1149                          astFactory->addASTChild( currentAST, returnAST );
1150                          match(RPAREN);
1151                          match(SEMICOLON);
# Line 891 | Line 1154 | void MDParser::atomstatement() {
1154                  }
1155                  case ORIENTATION:
1156                  {
1157 <                        ANTLR_USE_NAMESPACE(antlr)RefAST tmp59_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1158 <                        tmp59_AST = astFactory->create(LT(1));
1159 <                        astFactory->makeASTRoot(currentAST, tmp59_AST);
1157 >                        ANTLR_USE_NAMESPACE(antlr)RefAST tmp79_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1158 >                        tmp79_AST = astFactory->create(LT(1));
1159 >                        astFactory->makeASTRoot(currentAST, tmp79_AST);
1160                          match(ORIENTATION);
1161                          match(LPAREN);
1162 <                        signedNumberTuple();
1162 >                        doubleNumberTuple();
1163                          astFactory->addASTChild( currentAST, returnAST );
1164                          match(RPAREN);
1165                          match(SEMICOLON);
# Line 916 | Line 1179 | void MDParser::atomstatement() {
1179          returnAST = atomstatement_AST;
1180   }
1181  
1182 < void MDParser::signedNumberTuple() {
1182 > void MDParser::doubleNumberTuple() {
1183          returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1184          ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
1185 <        ANTLR_USE_NAMESPACE(antlr)RefAST signedNumberTuple_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1185 >        ANTLR_USE_NAMESPACE(antlr)RefAST doubleNumberTuple_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1186          
1187          try {      // for error handling
1188 <                signedNumber();
1188 >                doubleNumber();
1189                  astFactory->addASTChild( currentAST, returnAST );
1190                  { // ( ... )*
1191                  for (;;) {
1192                          if ((LA(1) == COMMA)) {
1193                                  match(COMMA);
1194 <                                signedNumber();
1194 >                                doubleNumber();
1195                                  astFactory->addASTChild( currentAST, returnAST );
1196                          }
1197                          else {
1198 <                                goto _loop51;
1198 >                                goto _loop68;
1199                          }
1200                          
1201                  }
1202 <                _loop51:;
1202 >                _loop68:;
1203                  } // ( ... )*
1204 <                signedNumberTuple_AST = currentAST.root;
1204 >                doubleNumberTuple_AST = currentAST.root;
1205          }
1206          catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
1207                  reportError(ex);
1208                  recover(ex,_tokenSet_11);
1209          }
1210 <        returnAST = signedNumberTuple_AST;
1210 >        returnAST = doubleNumberTuple_AST;
1211   }
1212  
1213   void MDParser::bondstatement() {
# Line 963 | Line 1226 | void MDParser::bondstatement() {
1226                  }
1227                  case MEMBERS:
1228                  {
1229 <                        ANTLR_USE_NAMESPACE(antlr)RefAST tmp64_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1230 <                        tmp64_AST = astFactory->create(LT(1));
1231 <                        astFactory->makeASTRoot(currentAST, tmp64_AST);
1229 >                        ANTLR_USE_NAMESPACE(antlr)RefAST tmp84_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1230 >                        tmp84_AST = astFactory->create(LT(1));
1231 >                        astFactory->makeASTRoot(currentAST, tmp84_AST);
1232                          match(MEMBERS);
1233                          match(LPAREN);
1234                          inttuple();
# Line 1004 | Line 1267 | void MDParser::inttuple() {
1267                                  astFactory->addASTChild( currentAST, returnAST );
1268                          }
1269                          else {
1270 <                                goto _loop54;
1270 >                                goto _loop71;
1271                          }
1272                          
1273                  }
1274 <                _loop54:;
1274 >                _loop71:;
1275                  } // ( ... )*
1276                  inttuple_AST = currentAST.root;
1277          }
# Line 1035 | Line 1298 | void MDParser::bendstatement() {
1298                  }
1299                  case MEMBERS:
1300                  {
1301 <                        ANTLR_USE_NAMESPACE(antlr)RefAST tmp69_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1302 <                        tmp69_AST = astFactory->create(LT(1));
1303 <                        astFactory->makeASTRoot(currentAST, tmp69_AST);
1301 >                        ANTLR_USE_NAMESPACE(antlr)RefAST tmp89_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1302 >                        tmp89_AST = astFactory->create(LT(1));
1303 >                        astFactory->makeASTRoot(currentAST, tmp89_AST);
1304                          match(MEMBERS);
1305                          match(LPAREN);
1306                          inttuple();
# Line 1076 | Line 1339 | void MDParser::torsionstatement() {
1339                  }
1340                  case MEMBERS:
1341                  {
1342 <                        ANTLR_USE_NAMESPACE(antlr)RefAST tmp73_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1343 <                        tmp73_AST = astFactory->create(LT(1));
1344 <                        astFactory->makeASTRoot(currentAST, tmp73_AST);
1342 >                        ANTLR_USE_NAMESPACE(antlr)RefAST tmp93_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1343 >                        tmp93_AST = astFactory->create(LT(1));
1344 >                        astFactory->makeASTRoot(currentAST, tmp93_AST);
1345                          match(MEMBERS);
1346                          match(LPAREN);
1347                          inttuple();
# Line 1099 | Line 1362 | void MDParser::torsionstatement() {
1362                  recover(ex,_tokenSet_12);
1363          }
1364          returnAST = torsionstatement_AST;
1365 + }
1366 +
1367 + void MDParser::inversionstatement() {
1368 +        returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1369 +        ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
1370 +        ANTLR_USE_NAMESPACE(antlr)RefAST inversionstatement_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1371 +        
1372 +        try {      // for error handling
1373 +                switch ( LA(1)) {
1374 +                case ID:
1375 +                {
1376 +                        assignment();
1377 +                        astFactory->addASTChild( currentAST, returnAST );
1378 +                        inversionstatement_AST = currentAST.root;
1379 +                        break;
1380 +                }
1381 +                case CENTER:
1382 +                {
1383 +                        ANTLR_USE_NAMESPACE(antlr)RefAST tmp97_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1384 +                        tmp97_AST = astFactory->create(LT(1));
1385 +                        astFactory->makeASTRoot(currentAST, tmp97_AST);
1386 +                        match(CENTER);
1387 +                        match(LPAREN);
1388 +                        intConst();
1389 +                        astFactory->addASTChild( currentAST, returnAST );
1390 +                        match(RPAREN);
1391 +                        match(SEMICOLON);
1392 +                        inversionstatement_AST = currentAST.root;
1393 +                        break;
1394 +                }
1395 +                default:
1396 +                {
1397 +                        throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
1398 +                }
1399 +                }
1400 +        }
1401 +        catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
1402 +                reportError(ex);
1403 +                recover(ex,_tokenSet_13);
1404 +        }
1405 +        returnAST = inversionstatement_AST;
1406   }
1407  
1408   void MDParser::rigidbodystatement() {
# Line 1117 | Line 1421 | void MDParser::rigidbodystatement() {
1421                  }
1422                  case MEMBERS:
1423                  {
1424 <                        ANTLR_USE_NAMESPACE(antlr)RefAST tmp77_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1425 <                        tmp77_AST = astFactory->create(LT(1));
1426 <                        astFactory->makeASTRoot(currentAST, tmp77_AST);
1424 >                        ANTLR_USE_NAMESPACE(antlr)RefAST tmp101_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1425 >                        tmp101_AST = astFactory->create(LT(1));
1426 >                        astFactory->makeASTRoot(currentAST, tmp101_AST);
1427                          match(MEMBERS);
1428                          match(LPAREN);
1429                          inttuple();
# Line 1158 | Line 1462 | void MDParser::cutoffgroupstatement() {
1462                  }
1463                  case MEMBERS:
1464                  {
1465 <                        ANTLR_USE_NAMESPACE(antlr)RefAST tmp81_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1466 <                        tmp81_AST = astFactory->create(LT(1));
1467 <                        astFactory->makeASTRoot(currentAST, tmp81_AST);
1465 >                        ANTLR_USE_NAMESPACE(antlr)RefAST tmp105_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1466 >                        tmp105_AST = astFactory->create(LT(1));
1467 >                        astFactory->makeASTRoot(currentAST, tmp105_AST);
1468                          match(MEMBERS);
1469                          match(LPAREN);
1470                          inttuple();
# Line 1195 | Line 1499 | void MDParser::fragmentstatement() {
1499          }
1500          catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
1501                  reportError(ex);
1502 <                recover(ex,_tokenSet_13);
1502 >                recover(ex,_tokenSet_14);
1503          }
1504          returnAST = fragmentstatement_AST;
1505   }
1506  
1507 < void MDParser::floatConst() {
1507 > void MDParser::doubleNumber() {
1508          returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1509          ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
1510 <        ANTLR_USE_NAMESPACE(antlr)RefAST floatConst_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1510 >        ANTLR_USE_NAMESPACE(antlr)RefAST doubleNumber_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1511          
1512          try {      // for error handling
1513 +                {
1514                  switch ( LA(1)) {
1515 <                case FLOATONE:
1515 >                case NUM_INT:
1516 >                case NUM_LONG:
1517                  {
1518 <                        ANTLR_USE_NAMESPACE(antlr)RefAST tmp85_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1519 <                        tmp85_AST = astFactory->create(LT(1));
1214 <                        astFactory->addASTChild(currentAST, tmp85_AST);
1215 <                        match(FLOATONE);
1216 <                        floatConst_AST = currentAST.root;
1518 >                        intConst();
1519 >                        astFactory->addASTChild( currentAST, returnAST );
1520                          break;
1521                  }
1522 <                case FLOATTWO:
1522 >                case NUM_FLOAT:
1523 >                case NUM_DOUBLE:
1524                  {
1525 <                        ANTLR_USE_NAMESPACE(antlr)RefAST tmp86_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
1526 <                        tmp86_AST = astFactory->create(LT(1));
1223 <                        astFactory->addASTChild(currentAST, tmp86_AST);
1224 <                        match(FLOATTWO);
1225 <                        floatConst_AST = currentAST.root;
1525 >                        floatConst();
1526 >                        astFactory->addASTChild( currentAST, returnAST );
1527                          break;
1528                  }
1529                  default:
# Line 1230 | Line 1531 | void MDParser::floatConst() {
1531                          throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
1532                  }
1533                  }
1534 +                }
1535 +                doubleNumber_AST = currentAST.root;
1536          }
1537          catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
1538                  reportError(ex);
1539 <                recover(ex,_tokenSet_6);
1539 >                recover(ex,_tokenSet_15);
1540          }
1541 <        returnAST = floatConst_AST;
1541 >        returnAST = doubleNumber_AST;
1542   }
1543  
1544   void MDParser::initializeASTFactory( ANTLR_USE_NAMESPACE(antlr)ASTFactory& factory )
1545   {
1546 <        factory.setMaxNodeType(55);
1546 >        factory.setMaxNodeType(56);
1547   }
1548   const char* MDParser::tokenNames[] = {
1549          "<0>",
# Line 1250 | Line 1553 | const char* MDParser::tokenNames[] = {
1553          "\"component\"",
1554          "\"molecule\"",
1555          "\"zconstraint\"",
1556 +        "\"restraint\"",
1557          "\"atom\"",
1558          "\"bond\"",
1559          "\"bend\"",
1560          "\"torsion\"",
1561 +        "\"inversion\"",
1562          "\"rigidBody\"",
1563          "\"cutoffGroup\"",
1564          "\"fragment\"",
1565          "\"members\"",
1566 +        "\"center\"",
1567          "\"position\"",
1568          "\"orientation\"",
1569 +        "\"flucQ\"",
1570 +        "\"RNEMD\"",
1571 +        "\"minimizer\"",
1572          "ENDBLOCK",
1573          "ID",
1574          "ASSIGNEQUAL",
# Line 1272 | Line 1581 | const char* MDParser::tokenNames[] = {
1581          "LPAREN",
1582          "RPAREN",
1583          "COMMA",
1584 <        "OCTALINT",
1585 <        "DECIMALINT",
1586 <        "HEXADECIMALINT",
1587 <        "PLUS",
1279 <        "MINUS",
1280 <        "FLOATONE",
1281 <        "FLOATTWO",
1584 >        "NUM_INT",
1585 >        "NUM_LONG",
1586 >        "NUM_FLOAT",
1587 >        "NUM_DOUBLE",
1588          "DOT",
1589          "COLON",
1590          "QUESTIONMARK",
# Line 1291 | Line 1597 | const char* MDParser::tokenNames[] = {
1597          "CharLiteral",
1598          "EndOfLine",
1599          "Escape",
1600 +        "Vocabulary",
1601          "Digit",
1602          "Decimal",
1603 <        "LongSuffix",
1604 <        "UnsignedSuffix",
1605 <        "FloatSuffix",
1299 <        "Exponent",
1300 <        "Vocabulary",
1301 <        "Number",
1603 >        "HEX_DIGIT",
1604 >        "EXPONENT",
1605 >        "FLOAT_SUFFIX",
1606          0
1607   };
1608  
1609 < const unsigned long MDParser::_tokenSet_0_data_[] = { 262256UL, 0UL, 0UL, 0UL };
1610 < // "component" "molecule" "zconstraint" ID
1609 > const unsigned long MDParser::_tokenSet_0_data_[] = { 24117488UL, 0UL, 0UL, 0UL };
1610 > // "component" "molecule" "zconstraint" "restraint" "flucQ" "RNEMD" "minimizer"
1611 > // ID
1612   const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_0(_tokenSet_0_data_,4);
1613   const unsigned long MDParser::_tokenSet_1_data_[] = { 2UL, 0UL, 0UL, 0UL };
1614   // EOF
1615   const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_1(_tokenSet_1_data_,4);
1616 < const unsigned long MDParser::_tokenSet_2_data_[] = { 262258UL, 0UL, 0UL, 0UL };
1617 < // EOF "component" "molecule" "zconstraint" ID
1616 > const unsigned long MDParser::_tokenSet_2_data_[] = { 24117490UL, 0UL, 0UL, 0UL };
1617 > // EOF "component" "molecule" "zconstraint" "restraint" "flucQ" "RNEMD"
1618 > // "minimizer" ID
1619   const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_2(_tokenSet_2_data_,4);
1620 < const unsigned long MDParser::_tokenSet_3_data_[] = { 8781810UL, 0UL, 0UL, 0UL };
1621 < // EOF "component" "molecule" "zconstraint" "atom" "bond" "bend" "torsion"
1622 < // "rigidBody" "cutoffGroup" "fragment" "members" "position" "orientation"
1623 < // ID RCURLY
1620 > const unsigned long MDParser::_tokenSet_3_data_[] = { 562036722UL, 0UL, 0UL, 0UL };
1621 > // EOF "component" "molecule" "zconstraint" "restraint" "atom" "bond" "bend"
1622 > // "torsion" "inversion" "rigidBody" "cutoffGroup" "fragment" "members"
1623 > // "center" "position" "orientation" "flucQ" "RNEMD" "minimizer" ID RCURLY
1624   const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_3(_tokenSet_3_data_,4);
1625 < const unsigned long MDParser::_tokenSet_4_data_[] = { 278400UL, 0UL, 0UL, 0UL };
1626 < // "atom" "bond" "bend" "torsion" "rigidBody" "cutoffGroup" "fragment"
1627 < // ID
1625 > const unsigned long MDParser::_tokenSet_4_data_[] = { 16842496UL, 0UL, 0UL, 0UL };
1626 > // "atom" "bond" "bend" "torsion" "inversion" "rigidBody" "cutoffGroup"
1627 > // "fragment" ID
1628   const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_4(_tokenSet_4_data_,4);
1629 < const unsigned long MDParser::_tokenSet_5_data_[] = { 1048576UL, 0UL, 0UL, 0UL };
1629 > const unsigned long MDParser::_tokenSet_5_data_[] = { 67108864UL, 0UL, 0UL, 0UL };
1630   // SEMICOLON
1631   const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_5(_tokenSet_5_data_,4);
1632 < const unsigned long MDParser::_tokenSet_6_data_[] = { 403701760UL, 0UL, 0UL, 0UL };
1633 < // SEMICOLON RPAREN COMMA
1632 > const unsigned long MDParser::_tokenSet_6_data_[] = { 2214592512UL, 6UL, 0UL, 0UL };
1633 > // SEMICOLON RBRACKET RPAREN COMMA
1634   const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_6(_tokenSet_6_data_,4);
1635 < const unsigned long MDParser::_tokenSet_7_data_[] = { 8667008UL, 0UL, 0UL, 0UL };
1636 < // "atom" "bond" "bend" "torsion" "rigidBody" "cutoffGroup" "fragment"
1331 < // ID RCURLY
1635 > const unsigned long MDParser::_tokenSet_7_data_[] = { 67108864UL, 6UL, 0UL, 0UL };
1636 > // SEMICOLON RPAREN COMMA
1637   const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_7(_tokenSet_7_data_,4);
1638 < const unsigned long MDParser::_tokenSet_8_data_[] = { 360448UL, 0UL, 0UL, 0UL };
1639 < // "position" "orientation" ID
1638 > const unsigned long MDParser::_tokenSet_8_data_[] = { 553713408UL, 0UL, 0UL, 0UL };
1639 > // "atom" "bond" "bend" "torsion" "inversion" "rigidBody" "cutoffGroup"
1640 > // "fragment" ID RCURLY
1641   const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_8(_tokenSet_8_data_,4);
1642 < const unsigned long MDParser::_tokenSet_9_data_[] = { 437256192UL, 0UL, 0UL, 0UL };
1643 < // SEMICOLON RBRACKET RPAREN COMMA
1642 > const unsigned long MDParser::_tokenSet_9_data_[] = { 17563648UL, 0UL, 0UL, 0UL };
1643 > // "position" "orientation" ID
1644   const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_9(_tokenSet_9_data_,4);
1645 < const unsigned long MDParser::_tokenSet_10_data_[] = { 8749056UL, 0UL, 0UL, 0UL };
1645 > const unsigned long MDParser::_tokenSet_10_data_[] = { 554434560UL, 0UL, 0UL, 0UL };
1646   // "position" "orientation" ID RCURLY
1647   const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_10(_tokenSet_10_data_,4);
1648 < const unsigned long MDParser::_tokenSet_11_data_[] = { 134217728UL, 0UL, 0UL, 0UL };
1648 > const unsigned long MDParser::_tokenSet_11_data_[] = { 0UL, 2UL, 0UL, 0UL };
1649   // RPAREN
1650   const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_11(_tokenSet_11_data_,4);
1651 < const unsigned long MDParser::_tokenSet_12_data_[] = { 8667136UL, 0UL, 0UL, 0UL };
1651 > const unsigned long MDParser::_tokenSet_12_data_[] = { 553713664UL, 0UL, 0UL, 0UL };
1652   // "members" ID RCURLY
1653   const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_12(_tokenSet_12_data_,4);
1654 < const unsigned long MDParser::_tokenSet_13_data_[] = { 8650752UL, 0UL, 0UL, 0UL };
1655 < // ID RCURLY
1654 > const unsigned long MDParser::_tokenSet_13_data_[] = { 553779200UL, 0UL, 0UL, 0UL };
1655 > // "center" ID RCURLY
1656   const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_13(_tokenSet_13_data_,4);
1657 + const unsigned long MDParser::_tokenSet_14_data_[] = { 553648128UL, 0UL, 0UL, 0UL };
1658 + // ID RCURLY
1659 + const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_14(_tokenSet_14_data_,4);
1660 + const unsigned long MDParser::_tokenSet_15_data_[] = { 0UL, 6UL, 0UL, 0UL };
1661 + // RPAREN COMMA
1662 + const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_15(_tokenSet_15_data_,4);
1663  
1664  

Comparing:
trunk/src/mdParser/MDParser.cpp (property svn:keywords), Revision 770 by tim, Fri Dec 2 15:38:03 2005 UTC vs.
branches/development/src/mdParser/MDParser.cpp (property svn:keywords), Revision 1776 by gezelter, Thu Aug 9 15:52:59 2012 UTC

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

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines