--- trunk/src/mdParser/MDParser.cpp 2005/12/16 02:57:00 814 +++ branches/development/src/mdParser/MDParser.cpp 2012/05/31 12:25:30 1731 @@ -1,4 +1,4 @@ -/* $ANTLR 2.7.5 (20050406): "MDParser.g" -> "MDParser.cpp"$ */ +/* $ANTLR 2.7.7 (20110725): "MDParser.g" -> "MDParser.cpp"$ */ #include "MDParser.hpp" #include #include @@ -93,6 +93,27 @@ void MDParser::statement() { statement_AST = currentAST.root; break; } + case RESTRAINT: + { + restraintblock(); + astFactory->addASTChild( currentAST, returnAST ); + statement_AST = currentAST.root; + break; + } + case FLUCQ: + { + flucqblock(); + astFactory->addASTChild( currentAST, returnAST ); + statement_AST = currentAST.root; + break; + } + case RNEMD: + { + rnemdblock(); + astFactory->addASTChild( currentAST, returnAST ); + statement_AST = currentAST.root; + break; + } default: { throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename()); @@ -160,9 +181,9 @@ void MDParser::componentblock() { tmp6_AST = astFactory->create(LT(1)); astFactory->addASTChild(currentAST, tmp6_AST); match(RCURLY); -#line 63 "MDParser.g" +#line 71 "MDParser.g" tmp6_AST->setType(ENDBLOCK); -#line 166 "MDParser.cpp" +#line 187 "MDParser.cpp" componentblock_AST = currentAST.root; } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { @@ -190,19 +211,19 @@ void MDParser::moleculeblock() { astFactory->addASTChild( currentAST, returnAST ); } else { - goto _loop15; + goto _loop24; } } - _loop15:; + _loop24:; } // ( ... )* ANTLR_USE_NAMESPACE(antlr)RefAST tmp9_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; tmp9_AST = astFactory->create(LT(1)); astFactory->addASTChild(currentAST, tmp9_AST); match(RCURLY); -#line 69 "MDParser.g" +#line 86 "MDParser.g" tmp9_AST->setType(ENDBLOCK); -#line 206 "MDParser.cpp" +#line 227 "MDParser.cpp" moleculeblock_AST = currentAST.root; } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { @@ -240,9 +261,9 @@ void MDParser::zconstraintblock() { tmp12_AST = astFactory->create(LT(1)); astFactory->addASTChild(currentAST, tmp12_AST); match(RCURLY); -#line 66 "MDParser.g" +#line 74 "MDParser.g" tmp12_AST->setType(ENDBLOCK); -#line 246 "MDParser.cpp" +#line 267 "MDParser.cpp" zconstraintblock_AST = currentAST.root; } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { @@ -250,8 +271,128 @@ void MDParser::zconstraintblock() { recover(ex,_tokenSet_2); } returnAST = zconstraintblock_AST; +} + +void MDParser::restraintblock() { + returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST; + ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST; + ANTLR_USE_NAMESPACE(antlr)RefAST restraintblock_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + + try { // for error handling + ANTLR_USE_NAMESPACE(antlr)RefAST tmp13_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp13_AST = astFactory->create(LT(1)); + astFactory->makeASTRoot(currentAST, tmp13_AST); + match(RESTRAINT); + match(LCURLY); + { // ( ... )* + for (;;) { + if ((LA(1) == ID)) { + assignment(); + astFactory->addASTChild( currentAST, returnAST ); + } + else { + goto _loop15; + } + + } + _loop15:; + } // ( ... )* + ANTLR_USE_NAMESPACE(antlr)RefAST tmp15_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp15_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp15_AST); + match(RCURLY); +#line 77 "MDParser.g" + tmp15_AST->setType(ENDBLOCK); +#line 307 "MDParser.cpp" + restraintblock_AST = currentAST.root; + } + catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { + reportError(ex); + recover(ex,_tokenSet_2); + } + returnAST = restraintblock_AST; } +void MDParser::flucqblock() { + returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST; + ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST; + ANTLR_USE_NAMESPACE(antlr)RefAST flucqblock_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + + try { // for error handling + ANTLR_USE_NAMESPACE(antlr)RefAST tmp16_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp16_AST = astFactory->create(LT(1)); + astFactory->makeASTRoot(currentAST, tmp16_AST); + match(FLUCQ); + match(LCURLY); + { // ( ... )* + for (;;) { + if ((LA(1) == ID)) { + assignment(); + astFactory->addASTChild( currentAST, returnAST ); + } + else { + goto _loop18; + } + + } + _loop18:; + } // ( ... )* + ANTLR_USE_NAMESPACE(antlr)RefAST tmp18_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp18_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp18_AST); + match(RCURLY); +#line 80 "MDParser.g" + tmp18_AST->setType(ENDBLOCK); +#line 347 "MDParser.cpp" + flucqblock_AST = currentAST.root; + } + catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { + reportError(ex); + recover(ex,_tokenSet_2); + } + returnAST = flucqblock_AST; +} + +void MDParser::rnemdblock() { + returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST; + ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST; + ANTLR_USE_NAMESPACE(antlr)RefAST rnemdblock_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + + try { // for error handling + ANTLR_USE_NAMESPACE(antlr)RefAST tmp19_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp19_AST = astFactory->create(LT(1)); + astFactory->makeASTRoot(currentAST, tmp19_AST); + match(RNEMD); + match(LCURLY); + { // ( ... )* + for (;;) { + if ((LA(1) == ID)) { + assignment(); + astFactory->addASTChild( currentAST, returnAST ); + } + else { + goto _loop21; + } + + } + _loop21:; + } // ( ... )* + ANTLR_USE_NAMESPACE(antlr)RefAST tmp21_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp21_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp21_AST); + match(RCURLY); +#line 83 "MDParser.g" + tmp21_AST->setType(ENDBLOCK); +#line 387 "MDParser.cpp" + rnemdblock_AST = currentAST.root; + } + catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { + reportError(ex); + recover(ex,_tokenSet_2); + } + returnAST = rnemdblock_AST; +} + void MDParser::constant() { returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST; ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST; @@ -277,18 +418,18 @@ void MDParser::constant() { } case ID: { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp13_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - tmp13_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp13_AST); + ANTLR_USE_NAMESPACE(antlr)RefAST tmp22_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp22_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp22_AST); match(ID); constant_AST = currentAST.root; break; } case StringLiteral: { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp14_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - tmp14_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp14_AST); + ANTLR_USE_NAMESPACE(antlr)RefAST tmp23_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp23_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp23_AST); match(StringLiteral); constant_AST = currentAST.root; break; @@ -315,18 +456,18 @@ void MDParser::intConst() { switch ( LA(1)) { case NUM_INT: { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp15_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - tmp15_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp15_AST); + ANTLR_USE_NAMESPACE(antlr)RefAST tmp24_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp24_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp24_AST); match(NUM_INT); intConst_AST = currentAST.root; break; } case NUM_LONG: { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp16_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - tmp16_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp16_AST); + ANTLR_USE_NAMESPACE(antlr)RefAST tmp25_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp25_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp25_AST); match(NUM_LONG); intConst_AST = currentAST.root; break; @@ -353,18 +494,18 @@ void MDParser::floatConst() { switch ( LA(1)) { case NUM_FLOAT: { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp17_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - tmp17_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp17_AST); + ANTLR_USE_NAMESPACE(antlr)RefAST tmp26_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp26_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp26_AST); match(NUM_FLOAT); floatConst_AST = currentAST.root; break; } case NUM_DOUBLE: { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp18_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - tmp18_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp18_AST); + ANTLR_USE_NAMESPACE(antlr)RefAST tmp27_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp27_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp27_AST); match(NUM_DOUBLE); floatConst_AST = currentAST.root; break; @@ -420,6 +561,13 @@ void MDParser::moleculestatement() { case TORSION: { torsionblock(); + astFactory->addASTChild( currentAST, returnAST ); + moleculestatement_AST = currentAST.root; + break; + } + case INVERSION: + { + inversionblock(); astFactory->addASTChild( currentAST, returnAST ); moleculestatement_AST = currentAST.root; break; @@ -464,9 +612,9 @@ void MDParser::atomblock() { ANTLR_USE_NAMESPACE(antlr)RefAST atomblock_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; try { // for error handling - ANTLR_USE_NAMESPACE(antlr)RefAST tmp19_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - tmp19_AST = astFactory->create(LT(1)); - astFactory->makeASTRoot(currentAST, tmp19_AST); + ANTLR_USE_NAMESPACE(antlr)RefAST tmp28_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp28_AST = astFactory->create(LT(1)); + astFactory->makeASTRoot(currentAST, tmp28_AST); match(ATOM); match(LBRACKET); intConst(); @@ -480,19 +628,19 @@ void MDParser::atomblock() { astFactory->addASTChild( currentAST, returnAST ); } else { - goto _loop19; + goto _loop28; } } - _loop19:; + _loop28:; } // ( ... )* - ANTLR_USE_NAMESPACE(antlr)RefAST tmp23_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - tmp23_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp23_AST); + ANTLR_USE_NAMESPACE(antlr)RefAST tmp32_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp32_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp32_AST); match(RCURLY); -#line 82 "MDParser.g" - tmp23_AST->setType(ENDBLOCK); -#line 496 "MDParser.cpp" +#line 100 "MDParser.g" + tmp32_AST->setType(ENDBLOCK); +#line 644 "MDParser.cpp" atomblock_AST = currentAST.root; } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { @@ -508,9 +656,9 @@ void MDParser::bondblock() { ANTLR_USE_NAMESPACE(antlr)RefAST bondblock_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; try { // for error handling - ANTLR_USE_NAMESPACE(antlr)RefAST tmp24_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - tmp24_AST = astFactory->create(LT(1)); - astFactory->makeASTRoot(currentAST, tmp24_AST); + ANTLR_USE_NAMESPACE(antlr)RefAST tmp33_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp33_AST = astFactory->create(LT(1)); + astFactory->makeASTRoot(currentAST, tmp33_AST); match(BOND); { switch ( LA(1)) { @@ -539,19 +687,19 @@ void MDParser::bondblock() { astFactory->addASTChild( currentAST, returnAST ); } else { - goto _loop24; + goto _loop33; } } - _loop24:; + _loop33:; } // ( ... )* - ANTLR_USE_NAMESPACE(antlr)RefAST tmp28_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - tmp28_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp28_AST); + ANTLR_USE_NAMESPACE(antlr)RefAST tmp37_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp37_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp37_AST); match(RCURLY); -#line 91 "MDParser.g" - tmp28_AST->setType(ENDBLOCK); -#line 555 "MDParser.cpp" +#line 109 "MDParser.g" + tmp37_AST->setType(ENDBLOCK); +#line 703 "MDParser.cpp" bondblock_AST = currentAST.root; } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { @@ -567,9 +715,9 @@ void MDParser::bendblock() { ANTLR_USE_NAMESPACE(antlr)RefAST bendblock_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; try { // for error handling - ANTLR_USE_NAMESPACE(antlr)RefAST tmp29_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - tmp29_AST = astFactory->create(LT(1)); - astFactory->makeASTRoot(currentAST, tmp29_AST); + ANTLR_USE_NAMESPACE(antlr)RefAST tmp38_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp38_AST = astFactory->create(LT(1)); + astFactory->makeASTRoot(currentAST, tmp38_AST); match(BEND); { switch ( LA(1)) { @@ -598,19 +746,19 @@ void MDParser::bendblock() { astFactory->addASTChild( currentAST, returnAST ); } else { - goto _loop29; + goto _loop38; } } - _loop29:; + _loop38:; } // ( ... )* - ANTLR_USE_NAMESPACE(antlr)RefAST tmp33_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - tmp33_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp33_AST); + ANTLR_USE_NAMESPACE(antlr)RefAST tmp42_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp42_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp42_AST); match(RCURLY); -#line 98 "MDParser.g" - tmp33_AST->setType(ENDBLOCK); -#line 614 "MDParser.cpp" +#line 116 "MDParser.g" + tmp42_AST->setType(ENDBLOCK); +#line 762 "MDParser.cpp" bendblock_AST = currentAST.root; } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { @@ -626,9 +774,9 @@ void MDParser::torsionblock() { ANTLR_USE_NAMESPACE(antlr)RefAST torsionblock_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; try { // for error handling - ANTLR_USE_NAMESPACE(antlr)RefAST tmp34_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - tmp34_AST = astFactory->create(LT(1)); - astFactory->makeASTRoot(currentAST, tmp34_AST); + ANTLR_USE_NAMESPACE(antlr)RefAST tmp43_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp43_AST = astFactory->create(LT(1)); + astFactory->makeASTRoot(currentAST, tmp43_AST); match(TORSION); { switch ( LA(1)) { @@ -657,19 +805,19 @@ void MDParser::torsionblock() { astFactory->addASTChild( currentAST, returnAST ); } else { - goto _loop34; + goto _loop43; } } - _loop34:; + _loop43:; } // ( ... )* - ANTLR_USE_NAMESPACE(antlr)RefAST tmp38_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - tmp38_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp38_AST); + ANTLR_USE_NAMESPACE(antlr)RefAST tmp47_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp47_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp47_AST); match(RCURLY); -#line 105 "MDParser.g" - tmp38_AST->setType(ENDBLOCK); -#line 673 "MDParser.cpp" +#line 123 "MDParser.g" + tmp47_AST->setType(ENDBLOCK); +#line 821 "MDParser.cpp" torsionblock_AST = currentAST.root; } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { @@ -679,15 +827,74 @@ void MDParser::torsionblock() { returnAST = torsionblock_AST; } +void MDParser::inversionblock() { + returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST; + ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST; + ANTLR_USE_NAMESPACE(antlr)RefAST inversionblock_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + + try { // for error handling + ANTLR_USE_NAMESPACE(antlr)RefAST tmp48_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp48_AST = astFactory->create(LT(1)); + astFactory->makeASTRoot(currentAST, tmp48_AST); + match(INVERSION); + { + switch ( LA(1)) { + case LBRACKET: + { + match(LBRACKET); + intConst(); + match(RBRACKET); + break; + } + case LCURLY: + { + break; + } + default: + { + throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename()); + } + } + } + match(LCURLY); + { // ( ... )* + for (;;) { + if ((LA(1) == CENTER || LA(1) == ID)) { + inversionstatement(); + astFactory->addASTChild( currentAST, returnAST ); + } + else { + goto _loop48; + } + + } + _loop48:; + } // ( ... )* + ANTLR_USE_NAMESPACE(antlr)RefAST tmp52_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp52_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp52_AST); + match(RCURLY); +#line 130 "MDParser.g" + tmp52_AST->setType(ENDBLOCK); +#line 880 "MDParser.cpp" + inversionblock_AST = currentAST.root; + } + catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { + reportError(ex); + recover(ex,_tokenSet_8); + } + returnAST = inversionblock_AST; +} + void MDParser::rigidbodyblock() { returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST; ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST; ANTLR_USE_NAMESPACE(antlr)RefAST rigidbodyblock_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; try { // for error handling - ANTLR_USE_NAMESPACE(antlr)RefAST tmp39_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - tmp39_AST = astFactory->create(LT(1)); - astFactory->makeASTRoot(currentAST, tmp39_AST); + ANTLR_USE_NAMESPACE(antlr)RefAST tmp53_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp53_AST = astFactory->create(LT(1)); + astFactory->makeASTRoot(currentAST, tmp53_AST); match(RIGIDBODY); match(LBRACKET); intConst(); @@ -701,19 +908,19 @@ void MDParser::rigidbodyblock() { astFactory->addASTChild( currentAST, returnAST ); } else { - goto _loop38; + goto _loop52; } } - _loop38:; + _loop52:; } // ( ... )* - ANTLR_USE_NAMESPACE(antlr)RefAST tmp43_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - tmp43_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp43_AST); + ANTLR_USE_NAMESPACE(antlr)RefAST tmp57_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp57_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp57_AST); match(RCURLY); -#line 112 "MDParser.g" - tmp43_AST->setType(ENDBLOCK); -#line 717 "MDParser.cpp" +#line 137 "MDParser.g" + tmp57_AST->setType(ENDBLOCK); +#line 924 "MDParser.cpp" rigidbodyblock_AST = currentAST.root; } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { @@ -729,9 +936,9 @@ void MDParser::cutoffgroupblock() { ANTLR_USE_NAMESPACE(antlr)RefAST cutoffgroupblock_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; try { // for error handling - ANTLR_USE_NAMESPACE(antlr)RefAST tmp44_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - tmp44_AST = astFactory->create(LT(1)); - astFactory->makeASTRoot(currentAST, tmp44_AST); + ANTLR_USE_NAMESPACE(antlr)RefAST tmp58_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp58_AST = astFactory->create(LT(1)); + astFactory->makeASTRoot(currentAST, tmp58_AST); match(CUTOFFGROUP); { switch ( LA(1)) { @@ -760,19 +967,19 @@ void MDParser::cutoffgroupblock() { astFactory->addASTChild( currentAST, returnAST ); } else { - goto _loop43; + goto _loop57; } } - _loop43:; + _loop57:; } // ( ... )* - ANTLR_USE_NAMESPACE(antlr)RefAST tmp48_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - tmp48_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp48_AST); + ANTLR_USE_NAMESPACE(antlr)RefAST tmp62_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp62_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp62_AST); match(RCURLY); -#line 119 "MDParser.g" - tmp48_AST->setType(ENDBLOCK); -#line 776 "MDParser.cpp" +#line 144 "MDParser.g" + tmp62_AST->setType(ENDBLOCK); +#line 983 "MDParser.cpp" cutoffgroupblock_AST = currentAST.root; } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { @@ -788,9 +995,9 @@ void MDParser::fragmentblock() { ANTLR_USE_NAMESPACE(antlr)RefAST fragmentblock_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; try { // for error handling - ANTLR_USE_NAMESPACE(antlr)RefAST tmp49_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - tmp49_AST = astFactory->create(LT(1)); - astFactory->makeASTRoot(currentAST, tmp49_AST); + ANTLR_USE_NAMESPACE(antlr)RefAST tmp63_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp63_AST = astFactory->create(LT(1)); + astFactory->makeASTRoot(currentAST, tmp63_AST); match(FRAGMENT); match(LBRACKET); intConst(); @@ -804,19 +1011,19 @@ void MDParser::fragmentblock() { astFactory->addASTChild( currentAST, returnAST ); } else { - goto _loop47; + goto _loop61; } } - _loop47:; + _loop61:; } // ( ... )* - ANTLR_USE_NAMESPACE(antlr)RefAST tmp53_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - tmp53_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp53_AST); + ANTLR_USE_NAMESPACE(antlr)RefAST tmp67_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp67_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp67_AST); match(RCURLY); -#line 126 "MDParser.g" - tmp53_AST->setType(ENDBLOCK); -#line 820 "MDParser.cpp" +#line 151 "MDParser.g" + tmp67_AST->setType(ENDBLOCK); +#line 1027 "MDParser.cpp" fragmentblock_AST = currentAST.root; } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { @@ -842,9 +1049,9 @@ void MDParser::atomstatement() { } case POSITION: { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp54_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - tmp54_AST = astFactory->create(LT(1)); - astFactory->makeASTRoot(currentAST, tmp54_AST); + ANTLR_USE_NAMESPACE(antlr)RefAST tmp68_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp68_AST = astFactory->create(LT(1)); + astFactory->makeASTRoot(currentAST, tmp68_AST); match(POSITION); match(LPAREN); doubleNumberTuple(); @@ -856,9 +1063,9 @@ void MDParser::atomstatement() { } case ORIENTATION: { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp58_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - tmp58_AST = astFactory->create(LT(1)); - astFactory->makeASTRoot(currentAST, tmp58_AST); + ANTLR_USE_NAMESPACE(antlr)RefAST tmp72_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp72_AST = astFactory->create(LT(1)); + astFactory->makeASTRoot(currentAST, tmp72_AST); match(ORIENTATION); match(LPAREN); doubleNumberTuple(); @@ -897,11 +1104,11 @@ void MDParser::doubleNumberTuple() { astFactory->addASTChild( currentAST, returnAST ); } else { - goto _loop51; + goto _loop65; } } - _loop51:; + _loop65:; } // ( ... )* doubleNumberTuple_AST = currentAST.root; } @@ -928,9 +1135,9 @@ void MDParser::bondstatement() { } case MEMBERS: { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp63_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - tmp63_AST = astFactory->create(LT(1)); - astFactory->makeASTRoot(currentAST, tmp63_AST); + ANTLR_USE_NAMESPACE(antlr)RefAST tmp77_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp77_AST = astFactory->create(LT(1)); + astFactory->makeASTRoot(currentAST, tmp77_AST); match(MEMBERS); match(LPAREN); inttuple(); @@ -969,11 +1176,11 @@ void MDParser::inttuple() { astFactory->addASTChild( currentAST, returnAST ); } else { - goto _loop54; + goto _loop68; } } - _loop54:; + _loop68:; } // ( ... )* inttuple_AST = currentAST.root; } @@ -1000,9 +1207,9 @@ void MDParser::bendstatement() { } case MEMBERS: { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp68_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - tmp68_AST = astFactory->create(LT(1)); - astFactory->makeASTRoot(currentAST, tmp68_AST); + ANTLR_USE_NAMESPACE(antlr)RefAST tmp82_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp82_AST = astFactory->create(LT(1)); + astFactory->makeASTRoot(currentAST, tmp82_AST); match(MEMBERS); match(LPAREN); inttuple(); @@ -1041,9 +1248,9 @@ void MDParser::torsionstatement() { } case MEMBERS: { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp72_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - tmp72_AST = astFactory->create(LT(1)); - astFactory->makeASTRoot(currentAST, tmp72_AST); + ANTLR_USE_NAMESPACE(antlr)RefAST tmp86_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp86_AST = astFactory->create(LT(1)); + astFactory->makeASTRoot(currentAST, tmp86_AST); match(MEMBERS); match(LPAREN); inttuple(); @@ -1066,6 +1273,47 @@ void MDParser::torsionstatement() { returnAST = torsionstatement_AST; } +void MDParser::inversionstatement() { + returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST; + ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST; + ANTLR_USE_NAMESPACE(antlr)RefAST inversionstatement_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + + try { // for error handling + switch ( LA(1)) { + case ID: + { + assignment(); + astFactory->addASTChild( currentAST, returnAST ); + inversionstatement_AST = currentAST.root; + break; + } + case CENTER: + { + ANTLR_USE_NAMESPACE(antlr)RefAST tmp90_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp90_AST = astFactory->create(LT(1)); + astFactory->makeASTRoot(currentAST, tmp90_AST); + match(CENTER); + match(LPAREN); + intConst(); + astFactory->addASTChild( currentAST, returnAST ); + match(RPAREN); + match(SEMICOLON); + inversionstatement_AST = currentAST.root; + break; + } + default: + { + throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename()); + } + } + } + catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { + reportError(ex); + recover(ex,_tokenSet_13); + } + returnAST = inversionstatement_AST; +} + void MDParser::rigidbodystatement() { returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST; ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST; @@ -1082,9 +1330,9 @@ void MDParser::rigidbodystatement() { } case MEMBERS: { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp76_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - tmp76_AST = astFactory->create(LT(1)); - astFactory->makeASTRoot(currentAST, tmp76_AST); + ANTLR_USE_NAMESPACE(antlr)RefAST tmp94_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp94_AST = astFactory->create(LT(1)); + astFactory->makeASTRoot(currentAST, tmp94_AST); match(MEMBERS); match(LPAREN); inttuple(); @@ -1123,9 +1371,9 @@ void MDParser::cutoffgroupstatement() { } case MEMBERS: { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp80_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - tmp80_AST = astFactory->create(LT(1)); - astFactory->makeASTRoot(currentAST, tmp80_AST); + ANTLR_USE_NAMESPACE(antlr)RefAST tmp98_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp98_AST = astFactory->create(LT(1)); + astFactory->makeASTRoot(currentAST, tmp98_AST); match(MEMBERS); match(LPAREN); inttuple(); @@ -1160,7 +1408,7 @@ void MDParser::fragmentstatement() { } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - recover(ex,_tokenSet_13); + recover(ex,_tokenSet_14); } returnAST = fragmentstatement_AST; } @@ -1197,14 +1445,14 @@ void MDParser::doubleNumber() { } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - recover(ex,_tokenSet_14); + recover(ex,_tokenSet_15); } returnAST = doubleNumber_AST; } void MDParser::initializeASTFactory( ANTLR_USE_NAMESPACE(antlr)ASTFactory& factory ) { - factory.setMaxNodeType(50); + factory.setMaxNodeType(55); } const char* MDParser::tokenNames[] = { "<0>", @@ -1214,16 +1462,21 @@ const char* MDParser::tokenNames[] = { "\"component\"", "\"molecule\"", "\"zconstraint\"", + "\"restraint\"", "\"atom\"", "\"bond\"", "\"bend\"", "\"torsion\"", + "\"inversion\"", "\"rigidBody\"", "\"cutoffGroup\"", "\"fragment\"", "\"members\"", + "\"center\"", "\"position\"", "\"orientation\"", + "\"flucQ\"", + "\"RNEMD\"", "ENDBLOCK", "ID", "ASSIGNEQUAL", @@ -1261,54 +1514,58 @@ const char* MDParser::tokenNames[] = { 0 }; -const unsigned long MDParser::_tokenSet_0_data_[] = { 262256UL, 0UL, 0UL, 0UL }; -// "component" "molecule" "zconstraint" ID +const unsigned long MDParser::_tokenSet_0_data_[] = { 11534576UL, 0UL, 0UL, 0UL }; +// "component" "molecule" "zconstraint" "restraint" "flucQ" "RNEMD" ID const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_0(_tokenSet_0_data_,4); const unsigned long MDParser::_tokenSet_1_data_[] = { 2UL, 0UL, 0UL, 0UL }; // EOF const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_1(_tokenSet_1_data_,4); -const unsigned long MDParser::_tokenSet_2_data_[] = { 262258UL, 0UL, 0UL, 0UL }; -// EOF "component" "molecule" "zconstraint" ID +const unsigned long MDParser::_tokenSet_2_data_[] = { 11534578UL, 0UL, 0UL, 0UL }; +// EOF "component" "molecule" "zconstraint" "restraint" "flucQ" "RNEMD" +// ID const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_2(_tokenSet_2_data_,4); -const unsigned long MDParser::_tokenSet_3_data_[] = { 8781810UL, 0UL, 0UL, 0UL }; -// EOF "component" "molecule" "zconstraint" "atom" "bond" "bend" "torsion" -// "rigidBody" "cutoffGroup" "fragment" "members" "position" "orientation" -// ID RCURLY +const unsigned long MDParser::_tokenSet_3_data_[] = { 281018354UL, 0UL, 0UL, 0UL }; +// EOF "component" "molecule" "zconstraint" "restraint" "atom" "bond" "bend" +// "torsion" "inversion" "rigidBody" "cutoffGroup" "fragment" "members" +// "center" "position" "orientation" "flucQ" "RNEMD" ID RCURLY const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_3(_tokenSet_3_data_,4); -const unsigned long MDParser::_tokenSet_4_data_[] = { 278400UL, 0UL, 0UL, 0UL }; -// "atom" "bond" "bend" "torsion" "rigidBody" "cutoffGroup" "fragment" -// ID +const unsigned long MDParser::_tokenSet_4_data_[] = { 8453888UL, 0UL, 0UL, 0UL }; +// "atom" "bond" "bend" "torsion" "inversion" "rigidBody" "cutoffGroup" +// "fragment" ID const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_4(_tokenSet_4_data_,4); -const unsigned long MDParser::_tokenSet_5_data_[] = { 1048576UL, 0UL, 0UL, 0UL }; +const unsigned long MDParser::_tokenSet_5_data_[] = { 33554432UL, 0UL, 0UL, 0UL }; // SEMICOLON const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_5(_tokenSet_5_data_,4); -const unsigned long MDParser::_tokenSet_6_data_[] = { 437256192UL, 0UL, 0UL, 0UL }; +const unsigned long MDParser::_tokenSet_6_data_[] = { 1107296256UL, 3UL, 0UL, 0UL }; // SEMICOLON RBRACKET RPAREN COMMA const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_6(_tokenSet_6_data_,4); -const unsigned long MDParser::_tokenSet_7_data_[] = { 403701760UL, 0UL, 0UL, 0UL }; +const unsigned long MDParser::_tokenSet_7_data_[] = { 33554432UL, 3UL, 0UL, 0UL }; // SEMICOLON RPAREN COMMA const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_7(_tokenSet_7_data_,4); -const unsigned long MDParser::_tokenSet_8_data_[] = { 8667008UL, 0UL, 0UL, 0UL }; -// "atom" "bond" "bend" "torsion" "rigidBody" "cutoffGroup" "fragment" -// ID RCURLY +const unsigned long MDParser::_tokenSet_8_data_[] = { 276889344UL, 0UL, 0UL, 0UL }; +// "atom" "bond" "bend" "torsion" "inversion" "rigidBody" "cutoffGroup" +// "fragment" ID RCURLY const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_8(_tokenSet_8_data_,4); -const unsigned long MDParser::_tokenSet_9_data_[] = { 360448UL, 0UL, 0UL, 0UL }; +const unsigned long MDParser::_tokenSet_9_data_[] = { 9175040UL, 0UL, 0UL, 0UL }; // "position" "orientation" ID const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_9(_tokenSet_9_data_,4); -const unsigned long MDParser::_tokenSet_10_data_[] = { 8749056UL, 0UL, 0UL, 0UL }; +const unsigned long MDParser::_tokenSet_10_data_[] = { 277610496UL, 0UL, 0UL, 0UL }; // "position" "orientation" ID RCURLY const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_10(_tokenSet_10_data_,4); -const unsigned long MDParser::_tokenSet_11_data_[] = { 134217728UL, 0UL, 0UL, 0UL }; +const unsigned long MDParser::_tokenSet_11_data_[] = { 0UL, 1UL, 0UL, 0UL }; // RPAREN const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_11(_tokenSet_11_data_,4); -const unsigned long MDParser::_tokenSet_12_data_[] = { 8667136UL, 0UL, 0UL, 0UL }; +const unsigned long MDParser::_tokenSet_12_data_[] = { 276889600UL, 0UL, 0UL, 0UL }; // "members" ID RCURLY const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_12(_tokenSet_12_data_,4); -const unsigned long MDParser::_tokenSet_13_data_[] = { 8650752UL, 0UL, 0UL, 0UL }; -// ID RCURLY +const unsigned long MDParser::_tokenSet_13_data_[] = { 276955136UL, 0UL, 0UL, 0UL }; +// "center" ID RCURLY const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_13(_tokenSet_13_data_,4); -const unsigned long MDParser::_tokenSet_14_data_[] = { 402653184UL, 0UL, 0UL, 0UL }; -// RPAREN COMMA +const unsigned long MDParser::_tokenSet_14_data_[] = { 276824064UL, 0UL, 0UL, 0UL }; +// ID RCURLY const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_14(_tokenSet_14_data_,4); +const unsigned long MDParser::_tokenSet_15_data_[] = { 0UL, 3UL, 0UL, 0UL }; +// RPAREN COMMA +const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_15(_tokenSet_15_data_,4);