--- trunk/src/mdParser/MDParser.cpp 2010/05/10 17:28:26 1442 +++ trunk/src/mdParser/MDParser.cpp 2014/12/02 22:11:04 2046 @@ -1,4 +1,4 @@ -/* $ANTLR 2.7.7 (20090623): "MDParser.g" -> "MDParser.cpp"$ */ +/* $ANTLR 2.7.7 (20141024): "MDParser.g" -> "MDParser.cpp"$ */ #include "MDParser.hpp" #include #include @@ -100,6 +100,27 @@ void MDParser::statement() { 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; + } + case MINIMIZER: + { + minimizerblock(); + astFactory->addASTChild( currentAST, returnAST ); + statement_AST = currentAST.root; + break; + } default: { throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename()); @@ -167,9 +188,9 @@ void MDParser::componentblock() { tmp6_AST = astFactory->create(LT(1)); astFactory->addASTChild(currentAST, tmp6_AST); match(RCURLY); -#line 67 "MDParser.g" +#line 95 "MDParser.g" tmp6_AST->setType(ENDBLOCK); -#line 173 "MDParser.cpp" +#line 194 "MDParser.cpp" componentblock_AST = currentAST.root; } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { @@ -197,19 +218,19 @@ void MDParser::moleculeblock() { astFactory->addASTChild( currentAST, returnAST ); } else { - goto _loop18; + goto _loop27; } } - _loop18:; + _loop27:; } // ( ... )* 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 76 "MDParser.g" +#line 113 "MDParser.g" tmp9_AST->setType(ENDBLOCK); -#line 213 "MDParser.cpp" +#line 234 "MDParser.cpp" moleculeblock_AST = currentAST.root; } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { @@ -247,9 +268,9 @@ void MDParser::zconstraintblock() { tmp12_AST = astFactory->create(LT(1)); astFactory->addASTChild(currentAST, tmp12_AST); match(RCURLY); -#line 70 "MDParser.g" +#line 98 "MDParser.g" tmp12_AST->setType(ENDBLOCK); -#line 253 "MDParser.cpp" +#line 274 "MDParser.cpp" zconstraintblock_AST = currentAST.root; } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { @@ -287,9 +308,9 @@ void MDParser::restraintblock() { tmp15_AST = astFactory->create(LT(1)); astFactory->addASTChild(currentAST, tmp15_AST); match(RCURLY); -#line 73 "MDParser.g" +#line 101 "MDParser.g" tmp15_AST->setType(ENDBLOCK); -#line 293 "MDParser.cpp" +#line 314 "MDParser.cpp" restraintblock_AST = currentAST.root; } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { @@ -297,6 +318,126 @@ void MDParser::restraintblock() { 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 104 "MDParser.g" + tmp18_AST->setType(ENDBLOCK); +#line 354 "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 107 "MDParser.g" + tmp21_AST->setType(ENDBLOCK); +#line 394 "MDParser.cpp" + rnemdblock_AST = currentAST.root; + } + catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { + reportError(ex); + recover(ex,_tokenSet_2); + } + returnAST = rnemdblock_AST; +} + +void MDParser::minimizerblock() { + returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST; + ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST; + ANTLR_USE_NAMESPACE(antlr)RefAST minimizerblock_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + + try { // for error handling + ANTLR_USE_NAMESPACE(antlr)RefAST tmp22_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp22_AST = astFactory->create(LT(1)); + astFactory->makeASTRoot(currentAST, tmp22_AST); + match(MINIMIZER); + match(LCURLY); + { // ( ... )* + for (;;) { + if ((LA(1) == ID)) { + assignment(); + astFactory->addASTChild( currentAST, returnAST ); + } + else { + goto _loop24; + } + + } + _loop24:; + } // ( ... )* + ANTLR_USE_NAMESPACE(antlr)RefAST tmp24_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp24_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp24_AST); + match(RCURLY); +#line 110 "MDParser.g" + tmp24_AST->setType(ENDBLOCK); +#line 434 "MDParser.cpp" + minimizerblock_AST = currentAST.root; + } + catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { + reportError(ex); + recover(ex,_tokenSet_2); + } + returnAST = minimizerblock_AST; } void MDParser::constant() { @@ -322,20 +463,27 @@ void MDParser::constant() { constant_AST = currentAST.root; break; } + case LPAREN: + { + vectorConst(); + astFactory->addASTChild( currentAST, returnAST ); + constant_AST = currentAST.root; + break; + } case ID: { - 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(ID); constant_AST = currentAST.root; break; } case StringLiteral: { - 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(StringLiteral); constant_AST = currentAST.root; break; @@ -362,18 +510,18 @@ void MDParser::intConst() { switch ( LA(1)) { case NUM_INT: { - 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_INT); intConst_AST = currentAST.root; break; } case NUM_LONG: { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp19_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - tmp19_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp19_AST); + ANTLR_USE_NAMESPACE(antlr)RefAST tmp28_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp28_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp28_AST); match(NUM_LONG); intConst_AST = currentAST.root; break; @@ -400,18 +548,18 @@ void MDParser::floatConst() { switch ( LA(1)) { case NUM_FLOAT: { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp20_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - tmp20_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp20_AST); + ANTLR_USE_NAMESPACE(antlr)RefAST tmp29_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp29_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp29_AST); match(NUM_FLOAT); floatConst_AST = currentAST.root; break; } case NUM_DOUBLE: { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp21_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - tmp21_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp21_AST); + ANTLR_USE_NAMESPACE(antlr)RefAST tmp30_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp30_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp30_AST); match(NUM_DOUBLE); floatConst_AST = currentAST.root; break; @@ -427,6 +575,31 @@ void MDParser::floatConst() { recover(ex,_tokenSet_7); } returnAST = floatConst_AST; +} + +void MDParser::vectorConst() { + returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST; + ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST; + ANTLR_USE_NAMESPACE(antlr)RefAST vectorConst_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + + try { // for error handling + ANTLR_USE_NAMESPACE(antlr)RefAST tmp31_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp31_AST = astFactory->create(LT(1)); + astFactory->makeASTRoot(currentAST, tmp31_AST); + match(LPAREN); + doubleNumberTuple(); + astFactory->addASTChild( currentAST, returnAST ); + ANTLR_USE_NAMESPACE(antlr)RefAST tmp32_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp32_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp32_AST); + match(RPAREN); + vectorConst_AST = currentAST.root; + } + catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { + reportError(ex); + recover(ex,_tokenSet_5); + } + returnAST = vectorConst_AST; } void MDParser::moleculestatement() { @@ -499,6 +672,13 @@ void MDParser::moleculestatement() { moleculestatement_AST = currentAST.root; break; } + case CONSTRAINT: + { + constraintblock(); + astFactory->addASTChild( currentAST, returnAST ); + moleculestatement_AST = currentAST.root; + break; + } default: { throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename()); @@ -518,9 +698,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 tmp22_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - tmp22_AST = astFactory->create(LT(1)); - astFactory->makeASTRoot(currentAST, tmp22_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(ATOM); match(LBRACKET); intConst(); @@ -534,19 +714,19 @@ void MDParser::atomblock() { astFactory->addASTChild( currentAST, returnAST ); } else { - goto _loop22; + goto _loop31; } } - _loop22:; + _loop31:; } // ( ... )* - ANTLR_USE_NAMESPACE(antlr)RefAST tmp26_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - tmp26_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp26_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 90 "MDParser.g" - tmp26_AST->setType(ENDBLOCK); -#line 550 "MDParser.cpp" +#line 128 "MDParser.g" + tmp37_AST->setType(ENDBLOCK); +#line 730 "MDParser.cpp" atomblock_AST = currentAST.root; } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { @@ -562,9 +742,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 tmp27_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - tmp27_AST = astFactory->create(LT(1)); - astFactory->makeASTRoot(currentAST, tmp27_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(BOND); { switch ( LA(1)) { @@ -588,24 +768,24 @@ void MDParser::bondblock() { match(LCURLY); { // ( ... )* for (;;) { - if ((LA(1) == MEMBERS || LA(1) == ID)) { + if ((_tokenSet_10.member(LA(1)))) { bondstatement(); astFactory->addASTChild( currentAST, returnAST ); } else { - goto _loop27; + goto _loop36; } } - _loop27:; + _loop36:; } // ( ... )* - ANTLR_USE_NAMESPACE(antlr)RefAST tmp31_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - tmp31_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp31_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 99 "MDParser.g" - tmp31_AST->setType(ENDBLOCK); -#line 609 "MDParser.cpp" +#line 138 "MDParser.g" + tmp42_AST->setType(ENDBLOCK); +#line 789 "MDParser.cpp" bondblock_AST = currentAST.root; } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { @@ -621,9 +801,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 tmp32_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - tmp32_AST = astFactory->create(LT(1)); - astFactory->makeASTRoot(currentAST, tmp32_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(BEND); { switch ( LA(1)) { @@ -647,24 +827,24 @@ void MDParser::bendblock() { match(LCURLY); { // ( ... )* for (;;) { - if ((LA(1) == MEMBERS || LA(1) == ID)) { + if ((_tokenSet_11.member(LA(1)))) { bendstatement(); astFactory->addASTChild( currentAST, returnAST ); } else { - goto _loop32; + goto _loop41; } } - _loop32:; + _loop41:; } // ( ... )* - ANTLR_USE_NAMESPACE(antlr)RefAST tmp36_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - tmp36_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp36_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 106 "MDParser.g" - tmp36_AST->setType(ENDBLOCK); -#line 668 "MDParser.cpp" +#line 151 "MDParser.g" + tmp47_AST->setType(ENDBLOCK); +#line 848 "MDParser.cpp" bendblock_AST = currentAST.root; } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { @@ -680,9 +860,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 tmp37_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - tmp37_AST = astFactory->create(LT(1)); - astFactory->makeASTRoot(currentAST, tmp37_AST); + ANTLR_USE_NAMESPACE(antlr)RefAST tmp48_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp48_AST = astFactory->create(LT(1)); + astFactory->makeASTRoot(currentAST, tmp48_AST); match(TORSION); { switch ( LA(1)) { @@ -706,24 +886,24 @@ void MDParser::torsionblock() { match(LCURLY); { // ( ... )* for (;;) { - if ((LA(1) == MEMBERS || LA(1) == ID)) { + if ((_tokenSet_12.member(LA(1)))) { torsionstatement(); astFactory->addASTChild( currentAST, returnAST ); } else { - goto _loop37; + goto _loop46; } } - _loop37:; + _loop46:; } // ( ... )* - ANTLR_USE_NAMESPACE(antlr)RefAST tmp41_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - tmp41_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp41_AST); + 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 113 "MDParser.g" - tmp41_AST->setType(ENDBLOCK); -#line 727 "MDParser.cpp" +#line 165 "MDParser.g" + tmp52_AST->setType(ENDBLOCK); +#line 907 "MDParser.cpp" torsionblock_AST = currentAST.root; } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { @@ -739,9 +919,9 @@ void MDParser::inversionblock() { ANTLR_USE_NAMESPACE(antlr)RefAST inversionblock_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; try { // for error handling - ANTLR_USE_NAMESPACE(antlr)RefAST tmp42_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - tmp42_AST = astFactory->create(LT(1)); - astFactory->makeASTRoot(currentAST, tmp42_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(INVERSION); { switch ( LA(1)) { @@ -765,24 +945,24 @@ void MDParser::inversionblock() { match(LCURLY); { // ( ... )* for (;;) { - if ((LA(1) == CENTER || LA(1) == ID)) { + if ((_tokenSet_13.member(LA(1)))) { inversionstatement(); astFactory->addASTChild( currentAST, returnAST ); } else { - goto _loop42; + goto _loop51; } } - _loop42:; + _loop51:; } // ( ... )* - ANTLR_USE_NAMESPACE(antlr)RefAST tmp46_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - tmp46_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp46_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 120 "MDParser.g" - tmp46_AST->setType(ENDBLOCK); -#line 786 "MDParser.cpp" +#line 180 "MDParser.g" + tmp57_AST->setType(ENDBLOCK); +#line 966 "MDParser.cpp" inversionblock_AST = currentAST.root; } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { @@ -798,9 +978,9 @@ void MDParser::rigidbodyblock() { ANTLR_USE_NAMESPACE(antlr)RefAST rigidbodyblock_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; try { // for error handling - ANTLR_USE_NAMESPACE(antlr)RefAST tmp47_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - tmp47_AST = astFactory->create(LT(1)); - astFactory->makeASTRoot(currentAST, tmp47_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(RIGIDBODY); match(LBRACKET); intConst(); @@ -814,19 +994,19 @@ void MDParser::rigidbodyblock() { astFactory->addASTChild( currentAST, returnAST ); } else { - goto _loop46; + goto _loop55; } } - _loop46:; + _loop55:; } // ( ... )* - ANTLR_USE_NAMESPACE(antlr)RefAST tmp51_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - tmp51_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp51_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 127 "MDParser.g" - tmp51_AST->setType(ENDBLOCK); -#line 830 "MDParser.cpp" +#line 193 "MDParser.g" + tmp62_AST->setType(ENDBLOCK); +#line 1010 "MDParser.cpp" rigidbodyblock_AST = currentAST.root; } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { @@ -842,9 +1022,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 tmp52_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - tmp52_AST = astFactory->create(LT(1)); - astFactory->makeASTRoot(currentAST, tmp52_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(CUTOFFGROUP); { switch ( LA(1)) { @@ -873,19 +1053,19 @@ void MDParser::cutoffgroupblock() { astFactory->addASTChild( currentAST, returnAST ); } else { - goto _loop51; + goto _loop60; } } - _loop51:; + _loop60:; } // ( ... )* - ANTLR_USE_NAMESPACE(antlr)RefAST tmp56_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - tmp56_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp56_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 134 "MDParser.g" - tmp56_AST->setType(ENDBLOCK); -#line 889 "MDParser.cpp" +#line 200 "MDParser.g" + tmp67_AST->setType(ENDBLOCK); +#line 1069 "MDParser.cpp" cutoffgroupblock_AST = currentAST.root; } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { @@ -901,9 +1081,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 tmp57_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - tmp57_AST = astFactory->create(LT(1)); - astFactory->makeASTRoot(currentAST, tmp57_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(FRAGMENT); match(LBRACKET); intConst(); @@ -917,19 +1097,19 @@ void MDParser::fragmentblock() { astFactory->addASTChild( currentAST, returnAST ); } else { - goto _loop55; + goto _loop64; } } - _loop55:; + _loop64:; } // ( ... )* - ANTLR_USE_NAMESPACE(antlr)RefAST tmp61_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - tmp61_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp61_AST); + ANTLR_USE_NAMESPACE(antlr)RefAST tmp72_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp72_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp72_AST); match(RCURLY); -#line 141 "MDParser.g" - tmp61_AST->setType(ENDBLOCK); -#line 933 "MDParser.cpp" +#line 207 "MDParser.g" + tmp72_AST->setType(ENDBLOCK); +#line 1113 "MDParser.cpp" fragmentblock_AST = currentAST.root; } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { @@ -939,6 +1119,65 @@ void MDParser::fragmentblock() { returnAST = fragmentblock_AST; } +void MDParser::constraintblock() { + returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST; + ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST; + ANTLR_USE_NAMESPACE(antlr)RefAST constraintblock_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + + try { // for error handling + ANTLR_USE_NAMESPACE(antlr)RefAST tmp73_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp73_AST = astFactory->create(LT(1)); + astFactory->makeASTRoot(currentAST, tmp73_AST); + match(CONSTRAINT); + { + 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) == MEMBERS || LA(1) == ID)) { + constraintstatement(); + astFactory->addASTChild( currentAST, returnAST ); + } + else { + goto _loop69; + } + + } + _loop69:; + } // ( ... )* + ANTLR_USE_NAMESPACE(antlr)RefAST tmp77_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp77_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp77_AST); + match(RCURLY); +#line 213 "MDParser.g" + tmp77_AST->setType(ENDBLOCK); +#line 1172 "MDParser.cpp" + constraintblock_AST = currentAST.root; + } + catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { + reportError(ex); + recover(ex,_tokenSet_8); + } + returnAST = constraintblock_AST; +} + void MDParser::atomstatement() { returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST; ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST; @@ -955,9 +1194,9 @@ void MDParser::atomstatement() { } case POSITION: { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp62_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - tmp62_AST = astFactory->create(LT(1)); - astFactory->makeASTRoot(currentAST, tmp62_AST); + ANTLR_USE_NAMESPACE(antlr)RefAST tmp78_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp78_AST = astFactory->create(LT(1)); + astFactory->makeASTRoot(currentAST, tmp78_AST); match(POSITION); match(LPAREN); doubleNumberTuple(); @@ -969,9 +1208,9 @@ void MDParser::atomstatement() { } case ORIENTATION: { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp66_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - tmp66_AST = astFactory->create(LT(1)); - astFactory->makeASTRoot(currentAST, tmp66_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(ORIENTATION); match(LPAREN); doubleNumberTuple(); @@ -981,6 +1220,20 @@ void MDParser::atomstatement() { atomstatement_AST = currentAST.root; break; } + case CHARGE: + { + ANTLR_USE_NAMESPACE(antlr)RefAST tmp86_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp86_AST = astFactory->create(LT(1)); + astFactory->makeASTRoot(currentAST, tmp86_AST); + match(CHARGE); + match(LPAREN); + floatConst(); + astFactory->addASTChild( currentAST, returnAST ); + match(RPAREN); + match(SEMICOLON); + atomstatement_AST = currentAST.root; + break; + } default: { throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename()); @@ -989,7 +1242,7 @@ void MDParser::atomstatement() { } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - recover(ex,_tokenSet_10); + recover(ex,_tokenSet_14); } returnAST = atomstatement_AST; } @@ -1010,17 +1263,17 @@ void MDParser::doubleNumberTuple() { astFactory->addASTChild( currentAST, returnAST ); } else { - goto _loop59; + goto _loop73; } } - _loop59:; + _loop73:; } // ( ... )* doubleNumberTuple_AST = currentAST.root; } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - recover(ex,_tokenSet_11); + recover(ex,_tokenSet_15); } returnAST = doubleNumberTuple_AST; } @@ -1041,9 +1294,9 @@ void MDParser::bondstatement() { } case MEMBERS: { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp71_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - tmp71_AST = astFactory->create(LT(1)); - astFactory->makeASTRoot(currentAST, tmp71_AST); + ANTLR_USE_NAMESPACE(antlr)RefAST tmp91_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp91_AST = astFactory->create(LT(1)); + astFactory->makeASTRoot(currentAST, tmp91_AST); match(MEMBERS); match(LPAREN); inttuple(); @@ -1053,6 +1306,90 @@ void MDParser::bondstatement() { bondstatement_AST = currentAST.root; break; } + case FIXED: + { + ANTLR_USE_NAMESPACE(antlr)RefAST tmp95_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp95_AST = astFactory->create(LT(1)); + astFactory->makeASTRoot(currentAST, tmp95_AST); + match(FIXED); + match(LPAREN); + floatConst(); + astFactory->addASTChild( currentAST, returnAST ); + match(RPAREN); + match(SEMICOLON); + bondstatement_AST = currentAST.root; + break; + } + case HARMONIC: + { + ANTLR_USE_NAMESPACE(antlr)RefAST tmp99_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp99_AST = astFactory->create(LT(1)); + astFactory->makeASTRoot(currentAST, tmp99_AST); + match(HARMONIC); + match(LPAREN); + doubleNumberTuple(); + astFactory->addASTChild( currentAST, returnAST ); + match(RPAREN); + match(SEMICOLON); + bondstatement_AST = currentAST.root; + break; + } + case CUBIC: + { + ANTLR_USE_NAMESPACE(antlr)RefAST tmp103_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp103_AST = astFactory->create(LT(1)); + astFactory->makeASTRoot(currentAST, tmp103_AST); + match(CUBIC); + match(LPAREN); + doubleNumberTuple(); + astFactory->addASTChild( currentAST, returnAST ); + match(RPAREN); + match(SEMICOLON); + bondstatement_AST = currentAST.root; + break; + } + case QUARTIC: + { + ANTLR_USE_NAMESPACE(antlr)RefAST tmp107_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp107_AST = astFactory->create(LT(1)); + astFactory->makeASTRoot(currentAST, tmp107_AST); + match(QUARTIC); + match(LPAREN); + doubleNumberTuple(); + astFactory->addASTChild( currentAST, returnAST ); + match(RPAREN); + match(SEMICOLON); + bondstatement_AST = currentAST.root; + break; + } + case POLYNOMIAL: + { + ANTLR_USE_NAMESPACE(antlr)RefAST tmp111_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp111_AST = astFactory->create(LT(1)); + astFactory->makeASTRoot(currentAST, tmp111_AST); + match(POLYNOMIAL); + match(LPAREN); + doubleNumberTuple(); + astFactory->addASTChild( currentAST, returnAST ); + match(RPAREN); + match(SEMICOLON); + bondstatement_AST = currentAST.root; + break; + } + case MORSE: + { + ANTLR_USE_NAMESPACE(antlr)RefAST tmp115_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp115_AST = astFactory->create(LT(1)); + astFactory->makeASTRoot(currentAST, tmp115_AST); + match(MORSE); + match(LPAREN); + doubleNumberTuple(); + astFactory->addASTChild( currentAST, returnAST ); + match(RPAREN); + match(SEMICOLON); + bondstatement_AST = currentAST.root; + break; + } default: { throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename()); @@ -1061,7 +1398,7 @@ void MDParser::bondstatement() { } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - recover(ex,_tokenSet_12); + recover(ex,_tokenSet_16); } returnAST = bondstatement_AST; } @@ -1082,17 +1419,17 @@ void MDParser::inttuple() { astFactory->addASTChild( currentAST, returnAST ); } else { - goto _loop62; + goto _loop76; } } - _loop62:; + _loop76:; } // ( ... )* inttuple_AST = currentAST.root; } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - recover(ex,_tokenSet_11); + recover(ex,_tokenSet_15); } returnAST = inttuple_AST; } @@ -1113,9 +1450,9 @@ void MDParser::bendstatement() { } 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 tmp120_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp120_AST = astFactory->create(LT(1)); + astFactory->makeASTRoot(currentAST, tmp120_AST); match(MEMBERS); match(LPAREN); inttuple(); @@ -1125,6 +1462,104 @@ void MDParser::bendstatement() { bendstatement_AST = currentAST.root; break; } + case HARMONIC: + { + ANTLR_USE_NAMESPACE(antlr)RefAST tmp124_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp124_AST = astFactory->create(LT(1)); + astFactory->makeASTRoot(currentAST, tmp124_AST); + match(HARMONIC); + match(LPAREN); + doubleNumberTuple(); + astFactory->addASTChild( currentAST, returnAST ); + match(RPAREN); + match(SEMICOLON); + bendstatement_AST = currentAST.root; + break; + } + case GHOSTBEND: + { + ANTLR_USE_NAMESPACE(antlr)RefAST tmp128_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp128_AST = astFactory->create(LT(1)); + astFactory->makeASTRoot(currentAST, tmp128_AST); + match(GHOSTBEND); + match(LPAREN); + doubleNumberTuple(); + astFactory->addASTChild( currentAST, returnAST ); + match(RPAREN); + match(SEMICOLON); + bendstatement_AST = currentAST.root; + break; + } + case UREYBRADLEY: + { + ANTLR_USE_NAMESPACE(antlr)RefAST tmp132_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp132_AST = astFactory->create(LT(1)); + astFactory->makeASTRoot(currentAST, tmp132_AST); + match(UREYBRADLEY); + match(LPAREN); + doubleNumberTuple(); + astFactory->addASTChild( currentAST, returnAST ); + match(RPAREN); + match(SEMICOLON); + bendstatement_AST = currentAST.root; + break; + } + case CUBIC: + { + ANTLR_USE_NAMESPACE(antlr)RefAST tmp136_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp136_AST = astFactory->create(LT(1)); + astFactory->makeASTRoot(currentAST, tmp136_AST); + match(CUBIC); + match(LPAREN); + doubleNumberTuple(); + astFactory->addASTChild( currentAST, returnAST ); + match(RPAREN); + match(SEMICOLON); + bendstatement_AST = currentAST.root; + break; + } + case QUARTIC: + { + ANTLR_USE_NAMESPACE(antlr)RefAST tmp140_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp140_AST = astFactory->create(LT(1)); + astFactory->makeASTRoot(currentAST, tmp140_AST); + match(QUARTIC); + match(LPAREN); + doubleNumberTuple(); + astFactory->addASTChild( currentAST, returnAST ); + match(RPAREN); + match(SEMICOLON); + bendstatement_AST = currentAST.root; + break; + } + case POLYNOMIAL: + { + ANTLR_USE_NAMESPACE(antlr)RefAST tmp144_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp144_AST = astFactory->create(LT(1)); + astFactory->makeASTRoot(currentAST, tmp144_AST); + match(POLYNOMIAL); + match(LPAREN); + doubleNumberTuple(); + astFactory->addASTChild( currentAST, returnAST ); + match(RPAREN); + match(SEMICOLON); + bendstatement_AST = currentAST.root; + break; + } + case COSINE: + { + ANTLR_USE_NAMESPACE(antlr)RefAST tmp148_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp148_AST = astFactory->create(LT(1)); + astFactory->makeASTRoot(currentAST, tmp148_AST); + match(COSINE); + match(LPAREN); + doubleNumberTuple(); + astFactory->addASTChild( currentAST, returnAST ); + match(RPAREN); + match(SEMICOLON); + bendstatement_AST = currentAST.root; + break; + } default: { throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename()); @@ -1133,7 +1568,7 @@ void MDParser::bendstatement() { } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - recover(ex,_tokenSet_12); + recover(ex,_tokenSet_17); } returnAST = bendstatement_AST; } @@ -1154,9 +1589,9 @@ void MDParser::torsionstatement() { } 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 tmp152_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp152_AST = astFactory->create(LT(1)); + astFactory->makeASTRoot(currentAST, tmp152_AST); match(MEMBERS); match(LPAREN); inttuple(); @@ -1166,6 +1601,118 @@ void MDParser::torsionstatement() { torsionstatement_AST = currentAST.root; break; } + case GHOSTTORSION: + { + ANTLR_USE_NAMESPACE(antlr)RefAST tmp156_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp156_AST = astFactory->create(LT(1)); + astFactory->makeASTRoot(currentAST, tmp156_AST); + match(GHOSTTORSION); + match(LPAREN); + doubleNumberTuple(); + astFactory->addASTChild( currentAST, returnAST ); + match(RPAREN); + match(SEMICOLON); + torsionstatement_AST = currentAST.root; + break; + } + case CUBIC: + { + ANTLR_USE_NAMESPACE(antlr)RefAST tmp160_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp160_AST = astFactory->create(LT(1)); + astFactory->makeASTRoot(currentAST, tmp160_AST); + match(CUBIC); + match(LPAREN); + doubleNumberTuple(); + astFactory->addASTChild( currentAST, returnAST ); + match(RPAREN); + match(SEMICOLON); + torsionstatement_AST = currentAST.root; + break; + } + case QUARTIC: + { + ANTLR_USE_NAMESPACE(antlr)RefAST tmp164_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp164_AST = astFactory->create(LT(1)); + astFactory->makeASTRoot(currentAST, tmp164_AST); + match(QUARTIC); + match(LPAREN); + doubleNumberTuple(); + astFactory->addASTChild( currentAST, returnAST ); + match(RPAREN); + match(SEMICOLON); + torsionstatement_AST = currentAST.root; + break; + } + case POLYNOMIAL: + { + ANTLR_USE_NAMESPACE(antlr)RefAST tmp168_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp168_AST = astFactory->create(LT(1)); + astFactory->makeASTRoot(currentAST, tmp168_AST); + match(POLYNOMIAL); + match(LPAREN); + doubleNumberTuple(); + astFactory->addASTChild( currentAST, returnAST ); + match(RPAREN); + match(SEMICOLON); + torsionstatement_AST = currentAST.root; + break; + } + case CHARMM: + { + ANTLR_USE_NAMESPACE(antlr)RefAST tmp172_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp172_AST = astFactory->create(LT(1)); + astFactory->makeASTRoot(currentAST, tmp172_AST); + match(CHARMM); + match(LPAREN); + doubleNumberTuple(); + astFactory->addASTChild( currentAST, returnAST ); + match(RPAREN); + match(SEMICOLON); + torsionstatement_AST = currentAST.root; + break; + } + case OPLS: + { + ANTLR_USE_NAMESPACE(antlr)RefAST tmp176_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp176_AST = astFactory->create(LT(1)); + astFactory->makeASTRoot(currentAST, tmp176_AST); + match(OPLS); + match(LPAREN); + doubleNumberTuple(); + astFactory->addASTChild( currentAST, returnAST ); + match(RPAREN); + match(SEMICOLON); + torsionstatement_AST = currentAST.root; + break; + } + case TRAPPE: + { + ANTLR_USE_NAMESPACE(antlr)RefAST tmp180_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp180_AST = astFactory->create(LT(1)); + astFactory->makeASTRoot(currentAST, tmp180_AST); + match(TRAPPE); + match(LPAREN); + doubleNumberTuple(); + astFactory->addASTChild( currentAST, returnAST ); + match(RPAREN); + match(SEMICOLON); + torsionstatement_AST = currentAST.root; + break; + } + case HARMONIC: + { + ANTLR_USE_NAMESPACE(antlr)RefAST tmp184_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp184_AST = astFactory->create(LT(1)); + astFactory->makeASTRoot(currentAST, tmp184_AST); + match(HARMONIC); + match(LPAREN); + doubleNumberTuple(); + astFactory->addASTChild( currentAST, returnAST ); + match(RPAREN); + match(SEMICOLON); + torsionstatement_AST = currentAST.root; + break; + } default: { throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename()); @@ -1174,7 +1721,7 @@ void MDParser::torsionstatement() { } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - recover(ex,_tokenSet_12); + recover(ex,_tokenSet_18); } returnAST = torsionstatement_AST; } @@ -1195,18 +1742,102 @@ void MDParser::inversionstatement() { } case CENTER: { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp84_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - tmp84_AST = astFactory->create(LT(1)); - astFactory->makeASTRoot(currentAST, tmp84_AST); + ANTLR_USE_NAMESPACE(antlr)RefAST tmp188_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp188_AST = astFactory->create(LT(1)); + astFactory->makeASTRoot(currentAST, tmp188_AST); match(CENTER); match(LPAREN); intConst(); + astFactory->addASTChild( currentAST, returnAST ); + match(RPAREN); + match(SEMICOLON); + inversionstatement_AST = currentAST.root; + break; + } + case SATELLITES: + { + ANTLR_USE_NAMESPACE(antlr)RefAST tmp192_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp192_AST = astFactory->create(LT(1)); + astFactory->makeASTRoot(currentAST, tmp192_AST); + match(SATELLITES); + match(LPAREN); + inttuple(); astFactory->addASTChild( currentAST, returnAST ); match(RPAREN); match(SEMICOLON); inversionstatement_AST = currentAST.root; break; } + case AMBERIMPROPER: + { + ANTLR_USE_NAMESPACE(antlr)RefAST tmp196_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp196_AST = astFactory->create(LT(1)); + astFactory->makeASTRoot(currentAST, tmp196_AST); + match(AMBERIMPROPER); + match(LPAREN); + doubleNumberTuple(); + astFactory->addASTChild( currentAST, returnAST ); + match(RPAREN); + match(SEMICOLON); + inversionstatement_AST = currentAST.root; + break; + } + case IMPROPERCOSINE: + { + ANTLR_USE_NAMESPACE(antlr)RefAST tmp200_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp200_AST = astFactory->create(LT(1)); + astFactory->makeASTRoot(currentAST, tmp200_AST); + match(IMPROPERCOSINE); + match(LPAREN); + doubleNumberTuple(); + astFactory->addASTChild( currentAST, returnAST ); + match(RPAREN); + match(SEMICOLON); + inversionstatement_AST = currentAST.root; + break; + } + case HARMONIC: + { + ANTLR_USE_NAMESPACE(antlr)RefAST tmp204_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp204_AST = astFactory->create(LT(1)); + astFactory->makeASTRoot(currentAST, tmp204_AST); + match(HARMONIC); + match(LPAREN); + doubleNumberTuple(); + astFactory->addASTChild( currentAST, returnAST ); + match(RPAREN); + match(SEMICOLON); + inversionstatement_AST = currentAST.root; + break; + } + case CENTRALATOMHEIGHT: + { + ANTLR_USE_NAMESPACE(antlr)RefAST tmp208_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp208_AST = astFactory->create(LT(1)); + astFactory->makeASTRoot(currentAST, tmp208_AST); + match(CENTRALATOMHEIGHT); + match(LPAREN); + doubleNumberTuple(); + astFactory->addASTChild( currentAST, returnAST ); + match(RPAREN); + match(SEMICOLON); + inversionstatement_AST = currentAST.root; + break; + } + case DREIDING: + { + ANTLR_USE_NAMESPACE(antlr)RefAST tmp212_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp212_AST = astFactory->create(LT(1)); + astFactory->makeASTRoot(currentAST, tmp212_AST); + match(DREIDING); + match(LPAREN); + doubleNumberTuple(); + astFactory->addASTChild( currentAST, returnAST ); + match(RPAREN); + match(SEMICOLON); + inversionstatement_AST = currentAST.root; + break; + } default: { throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename()); @@ -1215,7 +1846,7 @@ void MDParser::inversionstatement() { } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - recover(ex,_tokenSet_13); + recover(ex,_tokenSet_19); } returnAST = inversionstatement_AST; } @@ -1236,9 +1867,9 @@ void MDParser::rigidbodystatement() { } case MEMBERS: { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp88_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - tmp88_AST = astFactory->create(LT(1)); - astFactory->makeASTRoot(currentAST, tmp88_AST); + ANTLR_USE_NAMESPACE(antlr)RefAST tmp216_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp216_AST = astFactory->create(LT(1)); + astFactory->makeASTRoot(currentAST, tmp216_AST); match(MEMBERS); match(LPAREN); inttuple(); @@ -1256,7 +1887,7 @@ void MDParser::rigidbodystatement() { } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - recover(ex,_tokenSet_12); + recover(ex,_tokenSet_20); } returnAST = rigidbodystatement_AST; } @@ -1277,9 +1908,9 @@ void MDParser::cutoffgroupstatement() { } case MEMBERS: { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp92_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - tmp92_AST = astFactory->create(LT(1)); - astFactory->makeASTRoot(currentAST, tmp92_AST); + ANTLR_USE_NAMESPACE(antlr)RefAST tmp220_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp220_AST = astFactory->create(LT(1)); + astFactory->makeASTRoot(currentAST, tmp220_AST); match(MEMBERS); match(LPAREN); inttuple(); @@ -1297,7 +1928,7 @@ void MDParser::cutoffgroupstatement() { } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - recover(ex,_tokenSet_12); + recover(ex,_tokenSet_20); } returnAST = cutoffgroupstatement_AST; } @@ -1314,11 +1945,52 @@ void MDParser::fragmentstatement() { } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - recover(ex,_tokenSet_14); + recover(ex,_tokenSet_21); } returnAST = fragmentstatement_AST; } +void MDParser::constraintstatement() { + returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST; + ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST; + ANTLR_USE_NAMESPACE(antlr)RefAST constraintstatement_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + + try { // for error handling + switch ( LA(1)) { + case ID: + { + assignment(); + astFactory->addASTChild( currentAST, returnAST ); + constraintstatement_AST = currentAST.root; + break; + } + case MEMBERS: + { + ANTLR_USE_NAMESPACE(antlr)RefAST tmp224_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp224_AST = astFactory->create(LT(1)); + astFactory->makeASTRoot(currentAST, tmp224_AST); + match(MEMBERS); + match(LPAREN); + inttuple(); + astFactory->addASTChild( currentAST, returnAST ); + match(RPAREN); + match(SEMICOLON); + constraintstatement_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_20); + } + returnAST = constraintstatement_AST; +} + void MDParser::doubleNumber() { returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST; ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST; @@ -1351,14 +2023,14 @@ void MDParser::doubleNumber() { } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - recover(ex,_tokenSet_15); + recover(ex,_tokenSet_22); } returnAST = doubleNumber_AST; } void MDParser::initializeASTFactory( ANTLR_USE_NAMESPACE(antlr)ASTFactory& factory ) { - factory.setMaxNodeType(53); + factory.setMaxNodeType(77); } const char* MDParser::tokenNames[] = { "<0>", @@ -1376,11 +2048,35 @@ const char* MDParser::tokenNames[] = { "\"inversion\"", "\"rigidBody\"", "\"cutoffGroup\"", + "\"constraint\"", + "\"distance\"", "\"fragment\"", "\"members\"", "\"center\"", + "\"satellites\"", "\"position\"", "\"orientation\"", + "\"flucQ\"", + "\"RNEMD\"", + "\"minimizer\"", + "\"Fixed\"", + "\"Harmonic\"", + "\"Cubic\"", + "\"Quartic\"", + "\"Polynomial\"", + "\"Morse\"", + "\"GhostBend\"", + "\"UreyBradley\"", + "\"Cosine\"", + "\"GhostTorsion\"", + "\"Charmm\"", + "\"Opls\"", + "\"Trappe\"", + "\"AmberImproper\"", + "\"ImproperCosine\"", + "\"CentralAtomHeight\"", + "\"Dreiding\"", + "\"charge\"", "ENDBLOCK", "ID", "ASSIGNEQUAL", @@ -1418,57 +2114,92 @@ const char* MDParser::tokenNames[] = { 0 }; -const unsigned long MDParser::_tokenSet_0_data_[] = { 2097392UL, 0UL, 0UL, 0UL }; -// "component" "molecule" "zconstraint" "restraint" ID +const unsigned long MDParser::_tokenSet_0_data_[] = { 58720496UL, 8192UL, 0UL, 0UL }; +// "component" "molecule" "zconstraint" "restraint" "flucQ" "RNEMD" "minimizer" +// 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_[] = { 2097394UL, 0UL, 0UL, 0UL }; -// EOF "component" "molecule" "zconstraint" "restraint" ID +const unsigned long MDParser::_tokenSet_2_data_[] = { 58720498UL, 8192UL, 0UL, 0UL }; +// EOF "component" "molecule" "zconstraint" "restraint" "flucQ" "RNEMD" +// "minimizer" ID const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_2(_tokenSet_2_data_,4); -const unsigned long MDParser::_tokenSet_3_data_[] = { 70254578UL, 0UL, 0UL, 0UL }; +const unsigned long MDParser::_tokenSet_3_data_[] = { 4294901746UL, 274431UL, 0UL, 0UL }; // EOF "component" "molecule" "zconstraint" "restraint" "atom" "bond" "bend" -// "torsion" "inversion" "rigidBody" "cutoffGroup" "fragment" "members" -// "center" "position" "orientation" ID RCURLY +// "torsion" "inversion" "rigidBody" "cutoffGroup" "constraint" "fragment" +// "members" "center" "satellites" "position" "orientation" "flucQ" "RNEMD" +// "minimizer" "Fixed" "Harmonic" "Cubic" "Quartic" "Polynomial" "Morse" +// "GhostBend" "UreyBradley" "Cosine" "GhostTorsion" "Charmm" "Opls" "Trappe" +// "AmberImproper" "ImproperCosine" "CentralAtomHeight" "Dreiding" "charge" +// ID RCURLY const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_3(_tokenSet_3_data_,4); -const unsigned long MDParser::_tokenSet_4_data_[] = { 2162432UL, 0UL, 0UL, 0UL }; +const unsigned long MDParser::_tokenSet_4_data_[] = { 196352UL, 8192UL, 0UL, 0UL }; // "atom" "bond" "bend" "torsion" "inversion" "rigidBody" "cutoffGroup" -// "fragment" ID +// "constraint" "fragment" ID const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_4(_tokenSet_4_data_,4); -const unsigned long MDParser::_tokenSet_5_data_[] = { 8388608UL, 0UL, 0UL, 0UL }; +const unsigned long MDParser::_tokenSet_5_data_[] = { 0UL, 32768UL, 0UL, 0UL }; // SEMICOLON const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_5(_tokenSet_5_data_,4); -const unsigned long MDParser::_tokenSet_6_data_[] = { 3498049536UL, 0UL, 0UL, 0UL }; +const unsigned long MDParser::_tokenSet_6_data_[] = { 0UL, 13664256UL, 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_[] = { 3229614080UL, 0UL, 0UL, 0UL }; +const unsigned long MDParser::_tokenSet_7_data_[] = { 0UL, 12615680UL, 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_[] = { 69271296UL, 0UL, 0UL, 0UL }; +const unsigned long MDParser::_tokenSet_8_data_[] = { 196352UL, 270336UL, 0UL, 0UL }; // "atom" "bond" "bend" "torsion" "inversion" "rigidBody" "cutoffGroup" -// "fragment" ID RCURLY +// "constraint" "fragment" ID RCURLY const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_8(_tokenSet_8_data_,4); -const unsigned long MDParser::_tokenSet_9_data_[] = { 2883584UL, 0UL, 0UL, 0UL }; -// "position" "orientation" ID +const unsigned long MDParser::_tokenSet_9_data_[] = { 6291456UL, 10240UL, 0UL, 0UL }; +// "position" "orientation" "charge" ID const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_9(_tokenSet_9_data_,4); -const unsigned long MDParser::_tokenSet_10_data_[] = { 69992448UL, 0UL, 0UL, 0UL }; -// "position" "orientation" ID RCURLY +const unsigned long MDParser::_tokenSet_10_data_[] = { 4228120576UL, 8192UL, 0UL, 0UL }; +// "members" "Fixed" "Harmonic" "Cubic" "Quartic" "Polynomial" "Morse" +// ID const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_10(_tokenSet_10_data_,4); -const unsigned long MDParser::_tokenSet_11_data_[] = { 1073741824UL, 0UL, 0UL, 0UL }; -// RPAREN +const unsigned long MDParser::_tokenSet_11_data_[] = { 2013528064UL, 8199UL, 0UL, 0UL }; +// "members" "Harmonic" "Cubic" "Quartic" "Polynomial" "GhostBend" "UreyBradley" +// "Cosine" ID const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_11(_tokenSet_11_data_,4); -const unsigned long MDParser::_tokenSet_12_data_[] = { 69271552UL, 0UL, 0UL, 0UL }; -// "members" ID RCURLY +const unsigned long MDParser::_tokenSet_12_data_[] = { 2013528064UL, 8312UL, 0UL, 0UL }; +// "members" "Harmonic" "Cubic" "Quartic" "Polynomial" "GhostTorsion" "Charmm" +// "Opls" "Trappe" ID const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_12(_tokenSet_12_data_,4); -const unsigned long MDParser::_tokenSet_13_data_[] = { 69337088UL, 0UL, 0UL, 0UL }; -// "center" ID RCURLY +const unsigned long MDParser::_tokenSet_13_data_[] = { 135790592UL, 10112UL, 0UL, 0UL }; +// "center" "satellites" "Harmonic" "AmberImproper" "ImproperCosine" "CentralAtomHeight" +// "Dreiding" ID const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_13(_tokenSet_13_data_,4); -const unsigned long MDParser::_tokenSet_14_data_[] = { 69206016UL, 0UL, 0UL, 0UL }; -// ID RCURLY +const unsigned long MDParser::_tokenSet_14_data_[] = { 6291456UL, 272384UL, 0UL, 0UL }; +// "position" "orientation" "charge" ID RCURLY const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_14(_tokenSet_14_data_,4); -const unsigned long MDParser::_tokenSet_15_data_[] = { 3221225472UL, 0UL, 0UL, 0UL }; -// RPAREN COMMA +const unsigned long MDParser::_tokenSet_15_data_[] = { 0UL, 4194304UL, 0UL, 0UL }; +// RPAREN const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_15(_tokenSet_15_data_,4); +const unsigned long MDParser::_tokenSet_16_data_[] = { 4228120576UL, 270336UL, 0UL, 0UL }; +// "members" "Fixed" "Harmonic" "Cubic" "Quartic" "Polynomial" "Morse" +// ID RCURLY +const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_16(_tokenSet_16_data_,4); +const unsigned long MDParser::_tokenSet_17_data_[] = { 2013528064UL, 270343UL, 0UL, 0UL }; +// "members" "Harmonic" "Cubic" "Quartic" "Polynomial" "GhostBend" "UreyBradley" +// "Cosine" ID RCURLY +const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_17(_tokenSet_17_data_,4); +const unsigned long MDParser::_tokenSet_18_data_[] = { 2013528064UL, 270456UL, 0UL, 0UL }; +// "members" "Harmonic" "Cubic" "Quartic" "Polynomial" "GhostTorsion" "Charmm" +// "Opls" "Trappe" ID RCURLY +const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_18(_tokenSet_18_data_,4); +const unsigned long MDParser::_tokenSet_19_data_[] = { 135790592UL, 272256UL, 0UL, 0UL }; +// "center" "satellites" "Harmonic" "AmberImproper" "ImproperCosine" "CentralAtomHeight" +// "Dreiding" ID RCURLY +const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_19(_tokenSet_19_data_,4); +const unsigned long MDParser::_tokenSet_20_data_[] = { 262144UL, 270336UL, 0UL, 0UL }; +// "members" ID RCURLY +const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_20(_tokenSet_20_data_,4); +const unsigned long MDParser::_tokenSet_21_data_[] = { 0UL, 270336UL, 0UL, 0UL }; +// ID RCURLY +const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_21(_tokenSet_21_data_,4); +const unsigned long MDParser::_tokenSet_22_data_[] = { 0UL, 12582912UL, 0UL, 0UL }; +// RPAREN COMMA +const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_22(_tokenSet_22_data_,4);