| 1 | < | /* $ANTLR 2.7.4: "MDParser.g" -> "MDParser.cpp"$ */ | 
| 1 | > | /* $ANTLR 2.7.7 (20101020): "MDParser.g" -> "MDParser.cpp"$ */ | 
| 2 |  | #include "MDParser.hpp" | 
| 3 |  | #include <antlr/NoViableAltException.hpp> | 
| 4 |  | #include <antlr/SemanticException.hpp> | 
| 53 |  | } | 
| 54 |  | catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { | 
| 55 |  | reportError(ex); | 
| 56 | < | consume(); | 
| 57 | < | consumeUntil(_tokenSet_1); | 
| 56 | > | recover(ex,_tokenSet_1); | 
| 57 |  | } | 
| 58 |  | returnAST = mdfile_AST; | 
| 59 |  | } | 
| 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 |  | default: | 
| 104 |  | { | 
| 105 |  | throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename()); | 
| 108 |  | } | 
| 109 |  | catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { | 
| 110 |  | reportError(ex); | 
| 111 | < | consume(); | 
| 106 | < | consumeUntil(_tokenSet_2); | 
| 111 | > | recover(ex,_tokenSet_2); | 
| 112 |  | } | 
| 113 |  | returnAST = statement_AST; | 
| 114 |  | } | 
| 134 |  | } | 
| 135 |  | catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { | 
| 136 |  | reportError(ex); | 
| 137 | < | consume(); | 
| 133 | < | consumeUntil(_tokenSet_3); | 
| 137 | > | recover(ex,_tokenSet_3); | 
| 138 |  | } | 
| 139 |  | returnAST = assignment_AST; | 
| 140 |  | } | 
| 167 |  | tmp6_AST = astFactory->create(LT(1)); | 
| 168 |  | astFactory->addASTChild(currentAST, tmp6_AST); | 
| 169 |  | match(RCURLY); | 
| 170 | < | #line 65 "MDParser.g" | 
| 170 | > | #line 67 "MDParser.g" | 
| 171 |  | tmp6_AST->setType(ENDBLOCK); | 
| 172 | < | #line 169 "MDParser.cpp" | 
| 172 | > | #line 173 "MDParser.cpp" | 
| 173 |  | componentblock_AST = currentAST.root; | 
| 174 |  | } | 
| 175 |  | catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { | 
| 176 |  | reportError(ex); | 
| 177 | < | consume(); | 
| 174 | < | consumeUntil(_tokenSet_2); | 
| 177 | > | recover(ex,_tokenSet_2); | 
| 178 |  | } | 
| 179 |  | returnAST = componentblock_AST; | 
| 180 |  | } | 
| 197 |  | astFactory->addASTChild( currentAST, returnAST ); | 
| 198 |  | } | 
| 199 |  | else { | 
| 200 | < | goto _loop15; | 
| 200 | > | goto _loop18; | 
| 201 |  | } | 
| 202 |  |  | 
| 203 |  | } | 
| 204 | < | _loop15:; | 
| 204 | > | _loop18:; | 
| 205 |  | } // ( ... )* | 
| 206 |  | ANTLR_USE_NAMESPACE(antlr)RefAST tmp9_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; | 
| 207 |  | tmp9_AST = astFactory->create(LT(1)); | 
| 208 |  | astFactory->addASTChild(currentAST, tmp9_AST); | 
| 209 |  | match(RCURLY); | 
| 210 | < | #line 71 "MDParser.g" | 
| 210 | > | #line 76 "MDParser.g" | 
| 211 |  | tmp9_AST->setType(ENDBLOCK); | 
| 212 | < | #line 210 "MDParser.cpp" | 
| 212 | > | #line 213 "MDParser.cpp" | 
| 213 |  | moleculeblock_AST = currentAST.root; | 
| 214 |  | } | 
| 215 |  | catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { | 
| 216 |  | reportError(ex); | 
| 217 | < | consume(); | 
| 215 | < | consumeUntil(_tokenSet_2); | 
| 217 | > | recover(ex,_tokenSet_2); | 
| 218 |  | } | 
| 219 |  | returnAST = moleculeblock_AST; | 
| 220 |  | } | 
| 247 |  | tmp12_AST = astFactory->create(LT(1)); | 
| 248 |  | astFactory->addASTChild(currentAST, tmp12_AST); | 
| 249 |  | match(RCURLY); | 
| 250 | < | #line 68 "MDParser.g" | 
| 250 | > | #line 70 "MDParser.g" | 
| 251 |  | tmp12_AST->setType(ENDBLOCK); | 
| 252 | < | #line 251 "MDParser.cpp" | 
| 252 | > | #line 253 "MDParser.cpp" | 
| 253 |  | zconstraintblock_AST = currentAST.root; | 
| 254 |  | } | 
| 255 |  | catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { | 
| 256 |  | reportError(ex); | 
| 257 | < | consume(); | 
| 256 | < | consumeUntil(_tokenSet_2); | 
| 257 | > | recover(ex,_tokenSet_2); | 
| 258 |  | } | 
| 259 |  | returnAST = zconstraintblock_AST; | 
| 260 | + | } | 
| 261 | + |  | 
| 262 | + | void MDParser::restraintblock() { | 
| 263 | + | returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST; | 
| 264 | + | ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST; | 
| 265 | + | ANTLR_USE_NAMESPACE(antlr)RefAST restraintblock_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; | 
| 266 | + |  | 
| 267 | + | try {      // for error handling | 
| 268 | + | ANTLR_USE_NAMESPACE(antlr)RefAST tmp13_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; | 
| 269 | + | tmp13_AST = astFactory->create(LT(1)); | 
| 270 | + | astFactory->makeASTRoot(currentAST, tmp13_AST); | 
| 271 | + | match(RESTRAINT); | 
| 272 | + | match(LCURLY); | 
| 273 | + | { // ( ... )* | 
| 274 | + | for (;;) { | 
| 275 | + | if ((LA(1) == ID)) { | 
| 276 | + | assignment(); | 
| 277 | + | astFactory->addASTChild( currentAST, returnAST ); | 
| 278 | + | } | 
| 279 | + | else { | 
| 280 | + | goto _loop15; | 
| 281 | + | } | 
| 282 | + |  | 
| 283 | + | } | 
| 284 | + | _loop15:; | 
| 285 | + | } // ( ... )* | 
| 286 | + | ANTLR_USE_NAMESPACE(antlr)RefAST tmp15_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; | 
| 287 | + | tmp15_AST = astFactory->create(LT(1)); | 
| 288 | + | astFactory->addASTChild(currentAST, tmp15_AST); | 
| 289 | + | match(RCURLY); | 
| 290 | + | #line 73 "MDParser.g" | 
| 291 | + | tmp15_AST->setType(ENDBLOCK); | 
| 292 | + | #line 293 "MDParser.cpp" | 
| 293 | + | restraintblock_AST = currentAST.root; | 
| 294 | + | } | 
| 295 | + | catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { | 
| 296 | + | reportError(ex); | 
| 297 | + | recover(ex,_tokenSet_2); | 
| 298 | + | } | 
| 299 | + | returnAST = restraintblock_AST; | 
| 300 |  | } | 
| 301 |  |  | 
| 302 |  | void MDParser::constant() { | 
| 324 |  | } | 
| 325 |  | case ID: | 
| 326 |  | { | 
| 327 | < | ANTLR_USE_NAMESPACE(antlr)RefAST tmp13_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; | 
| 328 | < | tmp13_AST = astFactory->create(LT(1)); | 
| 329 | < | astFactory->addASTChild(currentAST, tmp13_AST); | 
| 327 | > | ANTLR_USE_NAMESPACE(antlr)RefAST tmp16_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; | 
| 328 | > | tmp16_AST = astFactory->create(LT(1)); | 
| 329 | > | astFactory->addASTChild(currentAST, tmp16_AST); | 
| 330 |  | match(ID); | 
| 331 |  | constant_AST = currentAST.root; | 
| 332 |  | break; | 
| 333 |  | } | 
| 334 |  | case StringLiteral: | 
| 335 |  | { | 
| 336 | < | ANTLR_USE_NAMESPACE(antlr)RefAST tmp14_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; | 
| 337 | < | tmp14_AST = astFactory->create(LT(1)); | 
| 338 | < | astFactory->addASTChild(currentAST, tmp14_AST); | 
| 336 | > | ANTLR_USE_NAMESPACE(antlr)RefAST tmp17_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; | 
| 337 | > | tmp17_AST = astFactory->create(LT(1)); | 
| 338 | > | astFactory->addASTChild(currentAST, tmp17_AST); | 
| 339 |  | match(StringLiteral); | 
| 340 |  | constant_AST = currentAST.root; | 
| 341 |  | break; | 
| 348 |  | } | 
| 349 |  | catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { | 
| 350 |  | reportError(ex); | 
| 351 | < | consume(); | 
| 311 | < | consumeUntil(_tokenSet_5); | 
| 351 | > | recover(ex,_tokenSet_5); | 
| 352 |  | } | 
| 353 |  | returnAST = constant_AST; | 
| 354 |  | } | 
| 362 |  | switch ( LA(1)) { | 
| 363 |  | case NUM_INT: | 
| 364 |  | { | 
| 365 | < | ANTLR_USE_NAMESPACE(antlr)RefAST tmp15_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; | 
| 366 | < | tmp15_AST = astFactory->create(LT(1)); | 
| 367 | < | astFactory->addASTChild(currentAST, tmp15_AST); | 
| 365 | > | ANTLR_USE_NAMESPACE(antlr)RefAST tmp18_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; | 
| 366 | > | tmp18_AST = astFactory->create(LT(1)); | 
| 367 | > | astFactory->addASTChild(currentAST, tmp18_AST); | 
| 368 |  | match(NUM_INT); | 
| 369 |  | intConst_AST = currentAST.root; | 
| 370 |  | break; | 
| 371 |  | } | 
| 372 |  | case NUM_LONG: | 
| 373 |  | { | 
| 374 | < | ANTLR_USE_NAMESPACE(antlr)RefAST tmp16_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; | 
| 375 | < | tmp16_AST = astFactory->create(LT(1)); | 
| 376 | < | astFactory->addASTChild(currentAST, tmp16_AST); | 
| 374 | > | ANTLR_USE_NAMESPACE(antlr)RefAST tmp19_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; | 
| 375 | > | tmp19_AST = astFactory->create(LT(1)); | 
| 376 | > | astFactory->addASTChild(currentAST, tmp19_AST); | 
| 377 |  | match(NUM_LONG); | 
| 378 |  | intConst_AST = currentAST.root; | 
| 379 |  | break; | 
| 386 |  | } | 
| 387 |  | catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { | 
| 388 |  | reportError(ex); | 
| 389 | < | consume(); | 
| 350 | < | consumeUntil(_tokenSet_6); | 
| 389 | > | recover(ex,_tokenSet_6); | 
| 390 |  | } | 
| 391 |  | returnAST = intConst_AST; | 
| 392 |  | } | 
| 400 |  | switch ( LA(1)) { | 
| 401 |  | case NUM_FLOAT: | 
| 402 |  | { | 
| 403 | < | ANTLR_USE_NAMESPACE(antlr)RefAST tmp17_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; | 
| 404 | < | tmp17_AST = astFactory->create(LT(1)); | 
| 405 | < | astFactory->addASTChild(currentAST, tmp17_AST); | 
| 403 | > | ANTLR_USE_NAMESPACE(antlr)RefAST tmp20_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; | 
| 404 | > | tmp20_AST = astFactory->create(LT(1)); | 
| 405 | > | astFactory->addASTChild(currentAST, tmp20_AST); | 
| 406 |  | match(NUM_FLOAT); | 
| 407 |  | floatConst_AST = currentAST.root; | 
| 408 |  | break; | 
| 409 |  | } | 
| 410 |  | case NUM_DOUBLE: | 
| 411 |  | { | 
| 412 | < | ANTLR_USE_NAMESPACE(antlr)RefAST tmp18_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; | 
| 413 | < | tmp18_AST = astFactory->create(LT(1)); | 
| 414 | < | astFactory->addASTChild(currentAST, tmp18_AST); | 
| 412 | > | ANTLR_USE_NAMESPACE(antlr)RefAST tmp21_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; | 
| 413 | > | tmp21_AST = astFactory->create(LT(1)); | 
| 414 | > | astFactory->addASTChild(currentAST, tmp21_AST); | 
| 415 |  | match(NUM_DOUBLE); | 
| 416 |  | floatConst_AST = currentAST.root; | 
| 417 |  | break; | 
| 424 |  | } | 
| 425 |  | catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { | 
| 426 |  | reportError(ex); | 
| 427 | < | consume(); | 
| 389 | < | consumeUntil(_tokenSet_7); | 
| 427 | > | recover(ex,_tokenSet_7); | 
| 428 |  | } | 
| 429 |  | returnAST = floatConst_AST; | 
| 430 |  | } | 
| 471 |  | moleculestatement_AST = currentAST.root; | 
| 472 |  | break; | 
| 473 |  | } | 
| 474 | + | case INVERSION: | 
| 475 | + | { | 
| 476 | + | inversionblock(); | 
| 477 | + | astFactory->addASTChild( currentAST, returnAST ); | 
| 478 | + | moleculestatement_AST = currentAST.root; | 
| 479 | + | break; | 
| 480 | + | } | 
| 481 |  | case RIGIDBODY: | 
| 482 |  | { | 
| 483 |  | rigidbodyblock(); | 
| 507 |  | } | 
| 508 |  | catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { | 
| 509 |  | reportError(ex); | 
| 510 | < | consume(); | 
| 466 | < | consumeUntil(_tokenSet_8); | 
| 510 | > | recover(ex,_tokenSet_8); | 
| 511 |  | } | 
| 512 |  | returnAST = moleculestatement_AST; | 
| 513 |  | } | 
| 518 |  | ANTLR_USE_NAMESPACE(antlr)RefAST atomblock_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; | 
| 519 |  |  | 
| 520 |  | try {      // for error handling | 
| 521 | < | ANTLR_USE_NAMESPACE(antlr)RefAST tmp19_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; | 
| 522 | < | tmp19_AST = astFactory->create(LT(1)); | 
| 523 | < | astFactory->makeASTRoot(currentAST, tmp19_AST); | 
| 521 | > | ANTLR_USE_NAMESPACE(antlr)RefAST tmp22_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; | 
| 522 | > | tmp22_AST = astFactory->create(LT(1)); | 
| 523 | > | astFactory->makeASTRoot(currentAST, tmp22_AST); | 
| 524 |  | match(ATOM); | 
| 525 |  | match(LBRACKET); | 
| 526 |  | intConst(); | 
| 534 |  | astFactory->addASTChild( currentAST, returnAST ); | 
| 535 |  | } | 
| 536 |  | else { | 
| 537 | < | goto _loop19; | 
| 537 | > | goto _loop22; | 
| 538 |  | } | 
| 539 |  |  | 
| 540 |  | } | 
| 541 | < | _loop19:; | 
| 541 | > | _loop22:; | 
| 542 |  | } // ( ... )* | 
| 543 | < | ANTLR_USE_NAMESPACE(antlr)RefAST tmp23_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; | 
| 544 | < | tmp23_AST = astFactory->create(LT(1)); | 
| 545 | < | astFactory->addASTChild(currentAST, tmp23_AST); | 
| 543 | > | ANTLR_USE_NAMESPACE(antlr)RefAST tmp26_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; | 
| 544 | > | tmp26_AST = astFactory->create(LT(1)); | 
| 545 | > | astFactory->addASTChild(currentAST, tmp26_AST); | 
| 546 |  | match(RCURLY); | 
| 547 | < | #line 84 "MDParser.g" | 
| 548 | < | tmp23_AST->setType(ENDBLOCK); | 
| 549 | < | #line 506 "MDParser.cpp" | 
| 547 | > | #line 90 "MDParser.g" | 
| 548 | > | tmp26_AST->setType(ENDBLOCK); | 
| 549 | > | #line 550 "MDParser.cpp" | 
| 550 |  | atomblock_AST = currentAST.root; | 
| 551 |  | } | 
| 552 |  | catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { | 
| 553 |  | reportError(ex); | 
| 554 | < | consume(); | 
| 511 | < | consumeUntil(_tokenSet_8); | 
| 554 | > | recover(ex,_tokenSet_8); | 
| 555 |  | } | 
| 556 |  | returnAST = atomblock_AST; | 
| 557 |  | } | 
| 562 |  | ANTLR_USE_NAMESPACE(antlr)RefAST bondblock_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; | 
| 563 |  |  | 
| 564 |  | try {      // for error handling | 
| 565 | < | ANTLR_USE_NAMESPACE(antlr)RefAST tmp24_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; | 
| 566 | < | tmp24_AST = astFactory->create(LT(1)); | 
| 567 | < | astFactory->makeASTRoot(currentAST, tmp24_AST); | 
| 565 | > | ANTLR_USE_NAMESPACE(antlr)RefAST tmp27_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; | 
| 566 | > | tmp27_AST = astFactory->create(LT(1)); | 
| 567 | > | astFactory->makeASTRoot(currentAST, tmp27_AST); | 
| 568 |  | match(BOND); | 
| 569 |  | { | 
| 570 |  | switch ( LA(1)) { | 
| 593 |  | astFactory->addASTChild( currentAST, returnAST ); | 
| 594 |  | } | 
| 595 |  | else { | 
| 596 | < | goto _loop24; | 
| 596 | > | goto _loop27; | 
| 597 |  | } | 
| 598 |  |  | 
| 599 |  | } | 
| 600 | < | _loop24:; | 
| 600 | > | _loop27:; | 
| 601 |  | } // ( ... )* | 
| 602 | < | ANTLR_USE_NAMESPACE(antlr)RefAST tmp28_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; | 
| 603 | < | tmp28_AST = astFactory->create(LT(1)); | 
| 604 | < | astFactory->addASTChild(currentAST, tmp28_AST); | 
| 602 | > | ANTLR_USE_NAMESPACE(antlr)RefAST tmp31_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; | 
| 603 | > | tmp31_AST = astFactory->create(LT(1)); | 
| 604 | > | astFactory->addASTChild(currentAST, tmp31_AST); | 
| 605 |  | match(RCURLY); | 
| 606 | < | #line 93 "MDParser.g" | 
| 607 | < | tmp28_AST->setType(ENDBLOCK); | 
| 608 | < | #line 566 "MDParser.cpp" | 
| 606 | > | #line 99 "MDParser.g" | 
| 607 | > | tmp31_AST->setType(ENDBLOCK); | 
| 608 | > | #line 609 "MDParser.cpp" | 
| 609 |  | bondblock_AST = currentAST.root; | 
| 610 |  | } | 
| 611 |  | catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { | 
| 612 |  | reportError(ex); | 
| 613 | < | consume(); | 
| 571 | < | consumeUntil(_tokenSet_8); | 
| 613 | > | recover(ex,_tokenSet_8); | 
| 614 |  | } | 
| 615 |  | returnAST = bondblock_AST; | 
| 616 |  | } | 
| 621 |  | ANTLR_USE_NAMESPACE(antlr)RefAST bendblock_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; | 
| 622 |  |  | 
| 623 |  | try {      // for error handling | 
| 624 | < | ANTLR_USE_NAMESPACE(antlr)RefAST tmp29_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; | 
| 625 | < | tmp29_AST = astFactory->create(LT(1)); | 
| 626 | < | astFactory->makeASTRoot(currentAST, tmp29_AST); | 
| 624 | > | ANTLR_USE_NAMESPACE(antlr)RefAST tmp32_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; | 
| 625 | > | tmp32_AST = astFactory->create(LT(1)); | 
| 626 | > | astFactory->makeASTRoot(currentAST, tmp32_AST); | 
| 627 |  | match(BEND); | 
| 628 |  | { | 
| 629 |  | switch ( LA(1)) { | 
| 652 |  | astFactory->addASTChild( currentAST, returnAST ); | 
| 653 |  | } | 
| 654 |  | else { | 
| 655 | < | goto _loop29; | 
| 655 | > | goto _loop32; | 
| 656 |  | } | 
| 657 |  |  | 
| 658 |  | } | 
| 659 | < | _loop29:; | 
| 659 | > | _loop32:; | 
| 660 |  | } // ( ... )* | 
| 661 | < | ANTLR_USE_NAMESPACE(antlr)RefAST tmp33_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; | 
| 662 | < | tmp33_AST = astFactory->create(LT(1)); | 
| 663 | < | astFactory->addASTChild(currentAST, tmp33_AST); | 
| 661 | > | ANTLR_USE_NAMESPACE(antlr)RefAST tmp36_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; | 
| 662 | > | tmp36_AST = astFactory->create(LT(1)); | 
| 663 | > | astFactory->addASTChild(currentAST, tmp36_AST); | 
| 664 |  | match(RCURLY); | 
| 665 | < | #line 100 "MDParser.g" | 
| 666 | < | tmp33_AST->setType(ENDBLOCK); | 
| 667 | < | #line 626 "MDParser.cpp" | 
| 665 | > | #line 106 "MDParser.g" | 
| 666 | > | tmp36_AST->setType(ENDBLOCK); | 
| 667 | > | #line 668 "MDParser.cpp" | 
| 668 |  | bendblock_AST = currentAST.root; | 
| 669 |  | } | 
| 670 |  | catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { | 
| 671 |  | reportError(ex); | 
| 672 | < | consume(); | 
| 631 | < | consumeUntil(_tokenSet_8); | 
| 672 | > | recover(ex,_tokenSet_8); | 
| 673 |  | } | 
| 674 |  | returnAST = bendblock_AST; | 
| 675 |  | } | 
| 680 |  | ANTLR_USE_NAMESPACE(antlr)RefAST torsionblock_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; | 
| 681 |  |  | 
| 682 |  | try {      // for error handling | 
| 683 | < | ANTLR_USE_NAMESPACE(antlr)RefAST tmp34_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; | 
| 684 | < | tmp34_AST = astFactory->create(LT(1)); | 
| 685 | < | astFactory->makeASTRoot(currentAST, tmp34_AST); | 
| 683 | > | ANTLR_USE_NAMESPACE(antlr)RefAST tmp37_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; | 
| 684 | > | tmp37_AST = astFactory->create(LT(1)); | 
| 685 | > | astFactory->makeASTRoot(currentAST, tmp37_AST); | 
| 686 |  | match(TORSION); | 
| 687 |  | { | 
| 688 |  | switch ( LA(1)) { | 
| 711 |  | astFactory->addASTChild( currentAST, returnAST ); | 
| 712 |  | } | 
| 713 |  | else { | 
| 714 | < | goto _loop34; | 
| 714 | > | goto _loop37; | 
| 715 |  | } | 
| 716 |  |  | 
| 717 |  | } | 
| 718 | < | _loop34:; | 
| 718 | > | _loop37:; | 
| 719 |  | } // ( ... )* | 
| 720 | < | ANTLR_USE_NAMESPACE(antlr)RefAST tmp38_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; | 
| 721 | < | tmp38_AST = astFactory->create(LT(1)); | 
| 722 | < | astFactory->addASTChild(currentAST, tmp38_AST); | 
| 720 | > | ANTLR_USE_NAMESPACE(antlr)RefAST tmp41_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; | 
| 721 | > | tmp41_AST = astFactory->create(LT(1)); | 
| 722 | > | astFactory->addASTChild(currentAST, tmp41_AST); | 
| 723 |  | match(RCURLY); | 
| 724 | < | #line 107 "MDParser.g" | 
| 725 | < | tmp38_AST->setType(ENDBLOCK); | 
| 726 | < | #line 686 "MDParser.cpp" | 
| 724 | > | #line 113 "MDParser.g" | 
| 725 | > | tmp41_AST->setType(ENDBLOCK); | 
| 726 | > | #line 727 "MDParser.cpp" | 
| 727 |  | torsionblock_AST = currentAST.root; | 
| 728 |  | } | 
| 729 |  | catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { | 
| 730 |  | reportError(ex); | 
| 731 | < | consume(); | 
| 691 | < | consumeUntil(_tokenSet_8); | 
| 731 | > | recover(ex,_tokenSet_8); | 
| 732 |  | } | 
| 733 |  | returnAST = torsionblock_AST; | 
| 734 | + | } | 
| 735 | + |  | 
| 736 | + | void MDParser::inversionblock() { | 
| 737 | + | returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST; | 
| 738 | + | ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST; | 
| 739 | + | ANTLR_USE_NAMESPACE(antlr)RefAST inversionblock_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; | 
| 740 | + |  | 
| 741 | + | try {      // for error handling | 
| 742 | + | ANTLR_USE_NAMESPACE(antlr)RefAST tmp42_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; | 
| 743 | + | tmp42_AST = astFactory->create(LT(1)); | 
| 744 | + | astFactory->makeASTRoot(currentAST, tmp42_AST); | 
| 745 | + | match(INVERSION); | 
| 746 | + | { | 
| 747 | + | switch ( LA(1)) { | 
| 748 | + | case LBRACKET: | 
| 749 | + | { | 
| 750 | + | match(LBRACKET); | 
| 751 | + | intConst(); | 
| 752 | + | match(RBRACKET); | 
| 753 | + | break; | 
| 754 | + | } | 
| 755 | + | case LCURLY: | 
| 756 | + | { | 
| 757 | + | break; | 
| 758 | + | } | 
| 759 | + | default: | 
| 760 | + | { | 
| 761 | + | throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename()); | 
| 762 | + | } | 
| 763 | + | } | 
| 764 | + | } | 
| 765 | + | match(LCURLY); | 
| 766 | + | { // ( ... )* | 
| 767 | + | for (;;) { | 
| 768 | + | if ((LA(1) == CENTER || LA(1) == ID)) { | 
| 769 | + | inversionstatement(); | 
| 770 | + | astFactory->addASTChild( currentAST, returnAST ); | 
| 771 | + | } | 
| 772 | + | else { | 
| 773 | + | goto _loop42; | 
| 774 | + | } | 
| 775 | + |  | 
| 776 | + | } | 
| 777 | + | _loop42:; | 
| 778 | + | } // ( ... )* | 
| 779 | + | ANTLR_USE_NAMESPACE(antlr)RefAST tmp46_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; | 
| 780 | + | tmp46_AST = astFactory->create(LT(1)); | 
| 781 | + | astFactory->addASTChild(currentAST, tmp46_AST); | 
| 782 | + | match(RCURLY); | 
| 783 | + | #line 120 "MDParser.g" | 
| 784 | + | tmp46_AST->setType(ENDBLOCK); | 
| 785 | + | #line 786 "MDParser.cpp" | 
| 786 | + | inversionblock_AST = currentAST.root; | 
| 787 | + | } | 
| 788 | + | catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { | 
| 789 | + | reportError(ex); | 
| 790 | + | recover(ex,_tokenSet_8); | 
| 791 | + | } | 
| 792 | + | returnAST = inversionblock_AST; | 
| 793 |  | } | 
| 794 |  |  | 
| 795 |  | void MDParser::rigidbodyblock() { | 
| 798 |  | ANTLR_USE_NAMESPACE(antlr)RefAST rigidbodyblock_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; | 
| 799 |  |  | 
| 800 |  | try {      // for error handling | 
| 801 | < | ANTLR_USE_NAMESPACE(antlr)RefAST tmp39_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; | 
| 802 | < | tmp39_AST = astFactory->create(LT(1)); | 
| 803 | < | astFactory->makeASTRoot(currentAST, tmp39_AST); | 
| 801 | > | ANTLR_USE_NAMESPACE(antlr)RefAST tmp47_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; | 
| 802 | > | tmp47_AST = astFactory->create(LT(1)); | 
| 803 | > | astFactory->makeASTRoot(currentAST, tmp47_AST); | 
| 804 |  | match(RIGIDBODY); | 
| 805 |  | match(LBRACKET); | 
| 806 |  | intConst(); | 
| 814 |  | astFactory->addASTChild( currentAST, returnAST ); | 
| 815 |  | } | 
| 816 |  | else { | 
| 817 | < | goto _loop43; | 
| 817 | > | goto _loop46; | 
| 818 |  | } | 
| 819 |  |  | 
| 820 |  | } | 
| 821 | < | _loop43:; | 
| 821 | > | _loop46:; | 
| 822 |  | } // ( ... )* | 
| 823 | < | ANTLR_USE_NAMESPACE(antlr)RefAST tmp43_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; | 
| 824 | < | tmp43_AST = astFactory->create(LT(1)); | 
| 825 | < | astFactory->addASTChild(currentAST, tmp43_AST); | 
| 823 | > | ANTLR_USE_NAMESPACE(antlr)RefAST tmp51_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; | 
| 824 | > | tmp51_AST = astFactory->create(LT(1)); | 
| 825 | > | astFactory->addASTChild(currentAST, tmp51_AST); | 
| 826 |  | match(RCURLY); | 
| 827 | < | #line 121 "MDParser.g" | 
| 828 | < | tmp43_AST->setType(ENDBLOCK); | 
| 829 | < | #line 731 "MDParser.cpp" | 
| 827 | > | #line 127 "MDParser.g" | 
| 828 | > | tmp51_AST->setType(ENDBLOCK); | 
| 829 | > | #line 830 "MDParser.cpp" | 
| 830 |  | rigidbodyblock_AST = currentAST.root; | 
| 831 |  | } | 
| 832 |  | catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { | 
| 833 |  | reportError(ex); | 
| 834 | < | consume(); | 
| 736 | < | consumeUntil(_tokenSet_8); | 
| 834 | > | recover(ex,_tokenSet_8); | 
| 835 |  | } | 
| 836 |  | returnAST = rigidbodyblock_AST; | 
| 837 |  | } | 
| 842 |  | ANTLR_USE_NAMESPACE(antlr)RefAST cutoffgroupblock_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; | 
| 843 |  |  | 
| 844 |  | try {      // for error handling | 
| 845 | < | ANTLR_USE_NAMESPACE(antlr)RefAST tmp44_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; | 
| 846 | < | tmp44_AST = astFactory->create(LT(1)); | 
| 847 | < | astFactory->makeASTRoot(currentAST, tmp44_AST); | 
| 845 | > | ANTLR_USE_NAMESPACE(antlr)RefAST tmp52_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; | 
| 846 | > | tmp52_AST = astFactory->create(LT(1)); | 
| 847 | > | astFactory->makeASTRoot(currentAST, tmp52_AST); | 
| 848 |  | match(CUTOFFGROUP); | 
| 849 |  | { | 
| 850 |  | switch ( LA(1)) { | 
| 873 |  | astFactory->addASTChild( currentAST, returnAST ); | 
| 874 |  | } | 
| 875 |  | else { | 
| 876 | < | goto _loop48; | 
| 876 | > | goto _loop51; | 
| 877 |  | } | 
| 878 |  |  | 
| 879 |  | } | 
| 880 | < | _loop48:; | 
| 880 | > | _loop51:; | 
| 881 |  | } // ( ... )* | 
| 882 | < | ANTLR_USE_NAMESPACE(antlr)RefAST tmp48_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; | 
| 883 | < | tmp48_AST = astFactory->create(LT(1)); | 
| 884 | < | astFactory->addASTChild(currentAST, tmp48_AST); | 
| 882 | > | ANTLR_USE_NAMESPACE(antlr)RefAST tmp56_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; | 
| 883 | > | tmp56_AST = astFactory->create(LT(1)); | 
| 884 | > | astFactory->addASTChild(currentAST, tmp56_AST); | 
| 885 |  | match(RCURLY); | 
| 886 | < | #line 128 "MDParser.g" | 
| 887 | < | tmp48_AST->setType(ENDBLOCK); | 
| 888 | < | #line 791 "MDParser.cpp" | 
| 886 | > | #line 134 "MDParser.g" | 
| 887 | > | tmp56_AST->setType(ENDBLOCK); | 
| 888 | > | #line 889 "MDParser.cpp" | 
| 889 |  | cutoffgroupblock_AST = currentAST.root; | 
| 890 |  | } | 
| 891 |  | catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { | 
| 892 |  | reportError(ex); | 
| 893 | < | consume(); | 
| 796 | < | consumeUntil(_tokenSet_8); | 
| 893 | > | recover(ex,_tokenSet_8); | 
| 894 |  | } | 
| 895 |  | returnAST = cutoffgroupblock_AST; | 
| 896 |  | } | 
| 901 |  | ANTLR_USE_NAMESPACE(antlr)RefAST fragmentblock_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; | 
| 902 |  |  | 
| 903 |  | try {      // for error handling | 
| 904 | < | ANTLR_USE_NAMESPACE(antlr)RefAST tmp49_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; | 
| 905 | < | tmp49_AST = astFactory->create(LT(1)); | 
| 906 | < | astFactory->makeASTRoot(currentAST, tmp49_AST); | 
| 904 | > | ANTLR_USE_NAMESPACE(antlr)RefAST tmp57_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; | 
| 905 | > | tmp57_AST = astFactory->create(LT(1)); | 
| 906 | > | astFactory->makeASTRoot(currentAST, tmp57_AST); | 
| 907 |  | match(FRAGMENT); | 
| 908 |  | match(LBRACKET); | 
| 909 |  | intConst(); | 
| 917 |  | astFactory->addASTChild( currentAST, returnAST ); | 
| 918 |  | } | 
| 919 |  | else { | 
| 920 | < | goto _loop52; | 
| 920 | > | goto _loop55; | 
| 921 |  | } | 
| 922 |  |  | 
| 923 |  | } | 
| 924 | < | _loop52:; | 
| 924 | > | _loop55:; | 
| 925 |  | } // ( ... )* | 
| 926 | < | ANTLR_USE_NAMESPACE(antlr)RefAST tmp53_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; | 
| 927 | < | tmp53_AST = astFactory->create(LT(1)); | 
| 928 | < | astFactory->addASTChild(currentAST, tmp53_AST); | 
| 926 | > | ANTLR_USE_NAMESPACE(antlr)RefAST tmp61_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; | 
| 927 | > | tmp61_AST = astFactory->create(LT(1)); | 
| 928 | > | astFactory->addASTChild(currentAST, tmp61_AST); | 
| 929 |  | match(RCURLY); | 
| 930 | < | #line 135 "MDParser.g" | 
| 931 | < | tmp53_AST->setType(ENDBLOCK); | 
| 932 | < | #line 836 "MDParser.cpp" | 
| 930 | > | #line 141 "MDParser.g" | 
| 931 | > | tmp61_AST->setType(ENDBLOCK); | 
| 932 | > | #line 933 "MDParser.cpp" | 
| 933 |  | fragmentblock_AST = currentAST.root; | 
| 934 |  | } | 
| 935 |  | catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { | 
| 936 |  | reportError(ex); | 
| 937 | < | consume(); | 
| 841 | < | consumeUntil(_tokenSet_8); | 
| 937 | > | recover(ex,_tokenSet_8); | 
| 938 |  | } | 
| 939 |  | returnAST = fragmentblock_AST; | 
| 940 |  | } | 
| 955 |  | } | 
| 956 |  | case POSITION: | 
| 957 |  | { | 
| 958 | < | ANTLR_USE_NAMESPACE(antlr)RefAST tmp54_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; | 
| 959 | < | tmp54_AST = astFactory->create(LT(1)); | 
| 960 | < | astFactory->makeASTRoot(currentAST, tmp54_AST); | 
| 958 | > | ANTLR_USE_NAMESPACE(antlr)RefAST tmp62_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; | 
| 959 | > | tmp62_AST = astFactory->create(LT(1)); | 
| 960 | > | astFactory->makeASTRoot(currentAST, tmp62_AST); | 
| 961 |  | match(POSITION); | 
| 962 |  | match(LPAREN); | 
| 963 |  | doubleNumberTuple(); | 
| 969 |  | } | 
| 970 |  | case ORIENTATION: | 
| 971 |  | { | 
| 972 | < | ANTLR_USE_NAMESPACE(antlr)RefAST tmp58_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; | 
| 973 | < | tmp58_AST = astFactory->create(LT(1)); | 
| 974 | < | astFactory->makeASTRoot(currentAST, tmp58_AST); | 
| 972 | > | ANTLR_USE_NAMESPACE(antlr)RefAST tmp66_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; | 
| 973 | > | tmp66_AST = astFactory->create(LT(1)); | 
| 974 | > | astFactory->makeASTRoot(currentAST, tmp66_AST); | 
| 975 |  | match(ORIENTATION); | 
| 976 |  | match(LPAREN); | 
| 977 |  | doubleNumberTuple(); | 
| 989 |  | } | 
| 990 |  | catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { | 
| 991 |  | reportError(ex); | 
| 992 | < | consume(); | 
| 897 | < | consumeUntil(_tokenSet_10); | 
| 992 | > | recover(ex,_tokenSet_10); | 
| 993 |  | } | 
| 994 |  | returnAST = atomstatement_AST; | 
| 995 |  | } | 
| 1010 |  | astFactory->addASTChild( currentAST, returnAST ); | 
| 1011 |  | } | 
| 1012 |  | else { | 
| 1013 | < | goto _loop56; | 
| 1013 | > | goto _loop59; | 
| 1014 |  | } | 
| 1015 |  |  | 
| 1016 |  | } | 
| 1017 | < | _loop56:; | 
| 1017 | > | _loop59:; | 
| 1018 |  | } // ( ... )* | 
| 1019 |  | doubleNumberTuple_AST = currentAST.root; | 
| 1020 |  | } | 
| 1021 |  | catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { | 
| 1022 |  | reportError(ex); | 
| 1023 | < | consume(); | 
| 929 | < | consumeUntil(_tokenSet_11); | 
| 1023 | > | recover(ex,_tokenSet_11); | 
| 1024 |  | } | 
| 1025 |  | returnAST = doubleNumberTuple_AST; | 
| 1026 |  | } | 
| 1041 |  | } | 
| 1042 |  | case MEMBERS: | 
| 1043 |  | { | 
| 1044 | < | ANTLR_USE_NAMESPACE(antlr)RefAST tmp63_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; | 
| 1045 | < | tmp63_AST = astFactory->create(LT(1)); | 
| 1046 | < | astFactory->makeASTRoot(currentAST, tmp63_AST); | 
| 1044 | > | ANTLR_USE_NAMESPACE(antlr)RefAST tmp71_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; | 
| 1045 | > | tmp71_AST = astFactory->create(LT(1)); | 
| 1046 | > | astFactory->makeASTRoot(currentAST, tmp71_AST); | 
| 1047 |  | match(MEMBERS); | 
| 1048 |  | match(LPAREN); | 
| 1049 |  | inttuple(); | 
| 1061 |  | } | 
| 1062 |  | catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { | 
| 1063 |  | reportError(ex); | 
| 1064 | < | consume(); | 
| 971 | < | consumeUntil(_tokenSet_12); | 
| 1064 | > | recover(ex,_tokenSet_12); | 
| 1065 |  | } | 
| 1066 |  | returnAST = bondstatement_AST; | 
| 1067 |  | } | 
| 1082 |  | astFactory->addASTChild( currentAST, returnAST ); | 
| 1083 |  | } | 
| 1084 |  | else { | 
| 1085 | < | goto _loop59; | 
| 1085 | > | goto _loop62; | 
| 1086 |  | } | 
| 1087 |  |  | 
| 1088 |  | } | 
| 1089 | < | _loop59:; | 
| 1089 | > | _loop62:; | 
| 1090 |  | } // ( ... )* | 
| 1091 |  | inttuple_AST = currentAST.root; | 
| 1092 |  | } | 
| 1093 |  | catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { | 
| 1094 |  | reportError(ex); | 
| 1095 | < | consume(); | 
| 1003 | < | consumeUntil(_tokenSet_11); | 
| 1095 | > | recover(ex,_tokenSet_11); | 
| 1096 |  | } | 
| 1097 |  | returnAST = inttuple_AST; | 
| 1098 |  | } | 
| 1113 |  | } | 
| 1114 |  | case MEMBERS: | 
| 1115 |  | { | 
| 1116 | < | ANTLR_USE_NAMESPACE(antlr)RefAST tmp68_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; | 
| 1117 | < | tmp68_AST = astFactory->create(LT(1)); | 
| 1118 | < | astFactory->makeASTRoot(currentAST, tmp68_AST); | 
| 1116 | > | ANTLR_USE_NAMESPACE(antlr)RefAST tmp76_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; | 
| 1117 | > | tmp76_AST = astFactory->create(LT(1)); | 
| 1118 | > | astFactory->makeASTRoot(currentAST, tmp76_AST); | 
| 1119 |  | match(MEMBERS); | 
| 1120 |  | match(LPAREN); | 
| 1121 |  | inttuple(); | 
| 1133 |  | } | 
| 1134 |  | catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { | 
| 1135 |  | reportError(ex); | 
| 1136 | < | consume(); | 
| 1045 | < | consumeUntil(_tokenSet_12); | 
| 1136 | > | recover(ex,_tokenSet_12); | 
| 1137 |  | } | 
| 1138 |  | returnAST = bendstatement_AST; | 
| 1139 |  | } | 
| 1154 |  | } | 
| 1155 |  | case MEMBERS: | 
| 1156 |  | { | 
| 1157 | < | ANTLR_USE_NAMESPACE(antlr)RefAST tmp72_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; | 
| 1158 | < | tmp72_AST = astFactory->create(LT(1)); | 
| 1159 | < | astFactory->makeASTRoot(currentAST, tmp72_AST); | 
| 1157 | > | ANTLR_USE_NAMESPACE(antlr)RefAST tmp80_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; | 
| 1158 | > | tmp80_AST = astFactory->create(LT(1)); | 
| 1159 | > | astFactory->makeASTRoot(currentAST, tmp80_AST); | 
| 1160 |  | match(MEMBERS); | 
| 1161 |  | match(LPAREN); | 
| 1162 |  | inttuple(); | 
| 1174 |  | } | 
| 1175 |  | catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { | 
| 1176 |  | reportError(ex); | 
| 1177 | < | consume(); | 
| 1087 | < | consumeUntil(_tokenSet_12); | 
| 1177 | > | recover(ex,_tokenSet_12); | 
| 1178 |  | } | 
| 1179 |  | returnAST = torsionstatement_AST; | 
| 1180 |  | } | 
| 1181 |  |  | 
| 1092 | – | void MDParser::inversionblock() { | 
| 1093 | – | returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST; | 
| 1094 | – | ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST; | 
| 1095 | – | ANTLR_USE_NAMESPACE(antlr)RefAST inversionblock_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; | 
| 1096 | – |  | 
| 1097 | – | try {      // for error handling | 
| 1098 | – | ANTLR_USE_NAMESPACE(antlr)RefAST tmp76_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; | 
| 1099 | – | tmp76_AST = astFactory->create(LT(1)); | 
| 1100 | – | astFactory->makeASTRoot(currentAST, tmp76_AST); | 
| 1101 | – | match(INVERSION); | 
| 1102 | – | { | 
| 1103 | – | switch ( LA(1)) { | 
| 1104 | – | case LBRACKET: | 
| 1105 | – | { | 
| 1106 | – | match(LBRACKET); | 
| 1107 | – | intConst(); | 
| 1108 | – | match(RBRACKET); | 
| 1109 | – | break; | 
| 1110 | – | } | 
| 1111 | – | case LCURLY: | 
| 1112 | – | { | 
| 1113 | – | break; | 
| 1114 | – | } | 
| 1115 | – | default: | 
| 1116 | – | { | 
| 1117 | – | throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename()); | 
| 1118 | – | } | 
| 1119 | – | } | 
| 1120 | – | } | 
| 1121 | – | match(LCURLY); | 
| 1122 | – | { // ( ... )* | 
| 1123 | – | for (;;) { | 
| 1124 | – | if ((LA(1) == CENTER || LA(1) == ID)) { | 
| 1125 | – | inversionstatement(); | 
| 1126 | – | astFactory->addASTChild( currentAST, returnAST ); | 
| 1127 | – | } | 
| 1128 | – | else { | 
| 1129 | – | goto _loop39; | 
| 1130 | – | } | 
| 1131 | – |  | 
| 1132 | – | } | 
| 1133 | – | _loop39:; | 
| 1134 | – | } // ( ... )* | 
| 1135 | – | ANTLR_USE_NAMESPACE(antlr)RefAST tmp80_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; | 
| 1136 | – | tmp80_AST = astFactory->create(LT(1)); | 
| 1137 | – | astFactory->addASTChild(currentAST, tmp80_AST); | 
| 1138 | – | match(RCURLY); | 
| 1139 | – | #line 114 "MDParser.g" | 
| 1140 | – | tmp80_AST->setType(ENDBLOCK); | 
| 1141 | – | #line 1142 "MDParser.cpp" | 
| 1142 | – | inversionblock_AST = currentAST.root; | 
| 1143 | – | } | 
| 1144 | – | catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { | 
| 1145 | – | reportError(ex); | 
| 1146 | – | consume(); | 
| 1147 | – | consumeUntil(_tokenSet_1); | 
| 1148 | – | } | 
| 1149 | – | returnAST = inversionblock_AST; | 
| 1150 | – | } | 
| 1151 | – |  | 
| 1182 |  | void MDParser::inversionstatement() { | 
| 1183 |  | returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST; | 
| 1184 |  | ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST; | 
| 1195 |  | } | 
| 1196 |  | case CENTER: | 
| 1197 |  | { | 
| 1198 | < | ANTLR_USE_NAMESPACE(antlr)RefAST tmp81_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; | 
| 1199 | < | tmp81_AST = astFactory->create(LT(1)); | 
| 1200 | < | astFactory->makeASTRoot(currentAST, tmp81_AST); | 
| 1198 | > | ANTLR_USE_NAMESPACE(antlr)RefAST tmp84_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; | 
| 1199 | > | tmp84_AST = astFactory->create(LT(1)); | 
| 1200 | > | astFactory->makeASTRoot(currentAST, tmp84_AST); | 
| 1201 |  | match(CENTER); | 
| 1202 |  | match(LPAREN); | 
| 1203 |  | intConst(); | 
| 1215 |  | } | 
| 1216 |  | catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { | 
| 1217 |  | reportError(ex); | 
| 1218 | < | consume(); | 
| 1189 | < | consumeUntil(_tokenSet_13); | 
| 1218 | > | recover(ex,_tokenSet_13); | 
| 1219 |  | } | 
| 1220 |  | returnAST = inversionstatement_AST; | 
| 1221 |  | } | 
| 1236 |  | } | 
| 1237 |  | case MEMBERS: | 
| 1238 |  | { | 
| 1239 | < | ANTLR_USE_NAMESPACE(antlr)RefAST tmp85_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; | 
| 1240 | < | tmp85_AST = astFactory->create(LT(1)); | 
| 1241 | < | astFactory->makeASTRoot(currentAST, tmp85_AST); | 
| 1239 | > | ANTLR_USE_NAMESPACE(antlr)RefAST tmp88_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; | 
| 1240 | > | tmp88_AST = astFactory->create(LT(1)); | 
| 1241 | > | astFactory->makeASTRoot(currentAST, tmp88_AST); | 
| 1242 |  | match(MEMBERS); | 
| 1243 |  | match(LPAREN); | 
| 1244 |  | inttuple(); | 
| 1256 |  | } | 
| 1257 |  | catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { | 
| 1258 |  | reportError(ex); | 
| 1259 | < | consume(); | 
| 1231 | < | consumeUntil(_tokenSet_12); | 
| 1259 | > | recover(ex,_tokenSet_12); | 
| 1260 |  | } | 
| 1261 |  | returnAST = rigidbodystatement_AST; | 
| 1262 |  | } | 
| 1277 |  | } | 
| 1278 |  | case MEMBERS: | 
| 1279 |  | { | 
| 1280 | < | ANTLR_USE_NAMESPACE(antlr)RefAST tmp89_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; | 
| 1281 | < | tmp89_AST = astFactory->create(LT(1)); | 
| 1282 | < | astFactory->makeASTRoot(currentAST, tmp89_AST); | 
| 1280 | > | ANTLR_USE_NAMESPACE(antlr)RefAST tmp92_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; | 
| 1281 | > | tmp92_AST = astFactory->create(LT(1)); | 
| 1282 | > | astFactory->makeASTRoot(currentAST, tmp92_AST); | 
| 1283 |  | match(MEMBERS); | 
| 1284 |  | match(LPAREN); | 
| 1285 |  | inttuple(); | 
| 1297 |  | } | 
| 1298 |  | catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { | 
| 1299 |  | reportError(ex); | 
| 1300 | < | consume(); | 
| 1273 | < | consumeUntil(_tokenSet_12); | 
| 1300 | > | recover(ex,_tokenSet_12); | 
| 1301 |  | } | 
| 1302 |  | returnAST = cutoffgroupstatement_AST; | 
| 1303 |  | } | 
| 1314 |  | } | 
| 1315 |  | catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { | 
| 1316 |  | reportError(ex); | 
| 1317 | < | consume(); | 
| 1291 | < | consumeUntil(_tokenSet_14); | 
| 1317 | > | recover(ex,_tokenSet_14); | 
| 1318 |  | } | 
| 1319 |  | returnAST = fragmentstatement_AST; | 
| 1320 |  | } | 
| 1351 |  | } | 
| 1352 |  | catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { | 
| 1353 |  | reportError(ex); | 
| 1354 | < | consume(); | 
| 1329 | < | consumeUntil(_tokenSet_15); | 
| 1354 | > | recover(ex,_tokenSet_15); | 
| 1355 |  | } | 
| 1356 |  | returnAST = doubleNumber_AST; | 
| 1357 |  | } | 
| 1358 |  |  | 
| 1359 |  | void MDParser::initializeASTFactory( ANTLR_USE_NAMESPACE(antlr)ASTFactory& factory ) | 
| 1360 |  | { | 
| 1361 | < | factory.setMaxNodeType(52); | 
| 1361 | > | factory.setMaxNodeType(53); | 
| 1362 |  | } | 
| 1363 |  | const char* MDParser::tokenNames[] = { | 
| 1364 |  | "<0>", | 
| 1368 |  | "\"component\"", | 
| 1369 |  | "\"molecule\"", | 
| 1370 |  | "\"zconstraint\"", | 
| 1371 | + | "\"restraint\"", | 
| 1372 |  | "\"atom\"", | 
| 1373 |  | "\"bond\"", | 
| 1374 |  | "\"bend\"", | 
| 1418 |  | 0 | 
| 1419 |  | }; | 
| 1420 |  |  | 
| 1421 | < | const unsigned long MDParser::_tokenSet_0_data_[] = { 1048688UL, 0UL, 0UL, 0UL }; | 
| 1422 | < | // "component" "molecule" "zconstraint" ID | 
| 1421 | > | const unsigned long MDParser::_tokenSet_0_data_[] = { 2097392UL, 0UL, 0UL, 0UL }; | 
| 1422 | > | // "component" "molecule" "zconstraint" "restraint" ID | 
| 1423 |  | const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_0(_tokenSet_0_data_,4); | 
| 1424 |  | const unsigned long MDParser::_tokenSet_1_data_[] = { 2UL, 0UL, 0UL, 0UL }; | 
| 1425 |  | // EOF | 
| 1426 |  | const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_1(_tokenSet_1_data_,4); | 
| 1427 | < | const unsigned long MDParser::_tokenSet_2_data_[] = { 1048690UL, 0UL, 0UL, 0UL }; | 
| 1428 | < | // EOF "component" "molecule" "zconstraint" ID | 
| 1427 | > | const unsigned long MDParser::_tokenSet_2_data_[] = { 2097394UL, 0UL, 0UL, 0UL }; | 
| 1428 | > | // EOF "component" "molecule" "zconstraint" "restraint" ID | 
| 1429 |  | const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_2(_tokenSet_2_data_,4); | 
| 1430 | < | const unsigned long MDParser::_tokenSet_3_data_[] = { 35125234UL, 0UL, 0UL, 0UL }; | 
| 1431 | < | // EOF "component" "molecule" "zconstraint" "atom" "bond" "bend" "torsion" | 
| 1432 | < | // "rigidBody" "cutoffGroup" "fragment" "members" "center" "position" "orientation" | 
| 1433 | < | // ID RCURLY | 
| 1430 | > | const unsigned long MDParser::_tokenSet_3_data_[] = { 70254578UL, 0UL, 0UL, 0UL }; | 
| 1431 | > | // EOF "component" "molecule" "zconstraint" "restraint" "atom" "bond" "bend" | 
| 1432 | > | // "torsion" "inversion" "rigidBody" "cutoffGroup" "fragment" "members" | 
| 1433 | > | // "center" "position" "orientation" ID RCURLY | 
| 1434 |  | const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_3(_tokenSet_3_data_,4); | 
| 1435 | < | const unsigned long MDParser::_tokenSet_4_data_[] = { 1079168UL, 0UL, 0UL, 0UL }; | 
| 1436 | < | // "atom" "bond" "bend" "torsion" "rigidBody" "cutoffGroup" "fragment" | 
| 1437 | < | // ID | 
| 1435 | > | const unsigned long MDParser::_tokenSet_4_data_[] = { 2162432UL, 0UL, 0UL, 0UL }; | 
| 1436 | > | // "atom" "bond" "bend" "torsion" "inversion" "rigidBody" "cutoffGroup" | 
| 1437 | > | // "fragment" ID | 
| 1438 |  | const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_4(_tokenSet_4_data_,4); | 
| 1439 | < | const unsigned long MDParser::_tokenSet_5_data_[] = { 4194304UL, 0UL, 0UL, 0UL }; | 
| 1439 | > | const unsigned long MDParser::_tokenSet_5_data_[] = { 8388608UL, 0UL, 0UL, 0UL }; | 
| 1440 |  | // SEMICOLON | 
| 1441 |  | const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_5(_tokenSet_5_data_,4); | 
| 1442 | < | const unsigned long MDParser::_tokenSet_6_data_[] = { 1749024768UL, 0UL, 0UL, 0UL }; | 
| 1442 | > | const unsigned long MDParser::_tokenSet_6_data_[] = { 3498049536UL, 0UL, 0UL, 0UL }; | 
| 1443 |  | // SEMICOLON RBRACKET RPAREN COMMA | 
| 1444 |  | const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_6(_tokenSet_6_data_,4); | 
| 1445 | < | const unsigned long MDParser::_tokenSet_7_data_[] = { 1614807040UL, 0UL, 0UL, 0UL }; | 
| 1445 | > | const unsigned long MDParser::_tokenSet_7_data_[] = { 3229614080UL, 0UL, 0UL, 0UL }; | 
| 1446 |  | // SEMICOLON RPAREN COMMA | 
| 1447 |  | const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_7(_tokenSet_7_data_,4); | 
| 1448 | < | const unsigned long MDParser::_tokenSet_8_data_[] = { 34633600UL, 0UL, 0UL, 0UL }; | 
| 1449 | < | // "atom" "bond" "bend" "torsion" "rigidBody" "cutoffGroup" "fragment" | 
| 1450 | < | // ID RCURLY | 
| 1448 | > | const unsigned long MDParser::_tokenSet_8_data_[] = { 69271296UL, 0UL, 0UL, 0UL }; | 
| 1449 | > | // "atom" "bond" "bend" "torsion" "inversion" "rigidBody" "cutoffGroup" | 
| 1450 | > | // "fragment" ID RCURLY | 
| 1451 |  | const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_8(_tokenSet_8_data_,4); | 
| 1452 | < | const unsigned long MDParser::_tokenSet_9_data_[] = { 1441792UL, 0UL, 0UL, 0UL }; | 
| 1452 | > | const unsigned long MDParser::_tokenSet_9_data_[] = { 2883584UL, 0UL, 0UL, 0UL }; | 
| 1453 |  | // "position" "orientation" ID | 
| 1454 |  | const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_9(_tokenSet_9_data_,4); | 
| 1455 | < | const unsigned long MDParser::_tokenSet_10_data_[] = { 34996224UL, 0UL, 0UL, 0UL }; | 
| 1455 | > | const unsigned long MDParser::_tokenSet_10_data_[] = { 69992448UL, 0UL, 0UL, 0UL }; | 
| 1456 |  | // "position" "orientation" ID RCURLY | 
| 1457 |  | const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_10(_tokenSet_10_data_,4); | 
| 1458 | < | const unsigned long MDParser::_tokenSet_11_data_[] = { 536870912UL, 0UL, 0UL, 0UL }; | 
| 1458 | > | const unsigned long MDParser::_tokenSet_11_data_[] = { 1073741824UL, 0UL, 0UL, 0UL }; | 
| 1459 |  | // RPAREN | 
| 1460 |  | const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_11(_tokenSet_11_data_,4); | 
| 1461 | < | const unsigned long MDParser::_tokenSet_12_data_[] = { 34635776UL, 0UL, 0UL, 0UL }; | 
| 1461 | > | const unsigned long MDParser::_tokenSet_12_data_[] = { 69271552UL, 0UL, 0UL, 0UL }; | 
| 1462 |  | // "members" ID RCURLY | 
| 1463 |  | const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_12(_tokenSet_12_data_,4); | 
| 1464 | < | const unsigned long MDParser::_tokenSet_13_data_[] = { 34668544UL, 0UL, 0UL, 0UL }; | 
| 1464 | > | const unsigned long MDParser::_tokenSet_13_data_[] = { 69337088UL, 0UL, 0UL, 0UL }; | 
| 1465 |  | // "center" ID RCURLY | 
| 1466 |  | const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_13(_tokenSet_13_data_,4); | 
| 1467 | < | const unsigned long MDParser::_tokenSet_14_data_[] = { 34603008UL, 0UL, 0UL, 0UL }; | 
| 1467 | > | const unsigned long MDParser::_tokenSet_14_data_[] = { 69206016UL, 0UL, 0UL, 0UL }; | 
| 1468 |  | // ID RCURLY | 
| 1469 |  | const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_14(_tokenSet_14_data_,4); | 
| 1470 | < | const unsigned long MDParser::_tokenSet_15_data_[] = { 1610612736UL, 0UL, 0UL, 0UL }; | 
| 1470 | > | const unsigned long MDParser::_tokenSet_15_data_[] = { 3221225472UL, 0UL, 0UL, 0UL }; | 
| 1471 |  | // RPAREN COMMA | 
| 1472 |  | const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_15(_tokenSet_15_data_,4); | 
| 1473 |  |  |