--- trunk/src/mdParser/MDParser.cpp 2012/08/22 02:28:28 1782 +++ trunk/src/mdParser/MDParser.cpp 2014/11/13 17:49:44 2040 @@ -1,4 +1,4 @@ -/* $ANTLR 2.7.7 (20120725): "MDParser.g" -> "MDParser.cpp"$ */ +/* $ANTLR 2.7.7 (20141024): "MDParser.g" -> "MDParser.cpp"$ */ #include "MDParser.hpp" #include #include @@ -188,7 +188,7 @@ void MDParser::componentblock() { tmp6_AST = astFactory->create(LT(1)); astFactory->addASTChild(currentAST, tmp6_AST); match(RCURLY); -#line 74 "MDParser.g" +#line 77 "MDParser.g" tmp6_AST->setType(ENDBLOCK); #line 194 "MDParser.cpp" componentblock_AST = currentAST.root; @@ -228,7 +228,7 @@ void MDParser::moleculeblock() { tmp9_AST = astFactory->create(LT(1)); astFactory->addASTChild(currentAST, tmp9_AST); match(RCURLY); -#line 92 "MDParser.g" +#line 95 "MDParser.g" tmp9_AST->setType(ENDBLOCK); #line 234 "MDParser.cpp" moleculeblock_AST = currentAST.root; @@ -268,7 +268,7 @@ void MDParser::zconstraintblock() { tmp12_AST = astFactory->create(LT(1)); astFactory->addASTChild(currentAST, tmp12_AST); match(RCURLY); -#line 77 "MDParser.g" +#line 80 "MDParser.g" tmp12_AST->setType(ENDBLOCK); #line 274 "MDParser.cpp" zconstraintblock_AST = currentAST.root; @@ -308,7 +308,7 @@ void MDParser::restraintblock() { tmp15_AST = astFactory->create(LT(1)); astFactory->addASTChild(currentAST, tmp15_AST); match(RCURLY); -#line 80 "MDParser.g" +#line 83 "MDParser.g" tmp15_AST->setType(ENDBLOCK); #line 314 "MDParser.cpp" restraintblock_AST = currentAST.root; @@ -348,7 +348,7 @@ void MDParser::flucqblock() { tmp18_AST = astFactory->create(LT(1)); astFactory->addASTChild(currentAST, tmp18_AST); match(RCURLY); -#line 83 "MDParser.g" +#line 86 "MDParser.g" tmp18_AST->setType(ENDBLOCK); #line 354 "MDParser.cpp" flucqblock_AST = currentAST.root; @@ -388,7 +388,7 @@ void MDParser::rnemdblock() { tmp21_AST = astFactory->create(LT(1)); astFactory->addASTChild(currentAST, tmp21_AST); match(RCURLY); -#line 86 "MDParser.g" +#line 89 "MDParser.g" tmp21_AST->setType(ENDBLOCK); #line 394 "MDParser.cpp" rnemdblock_AST = currentAST.root; @@ -428,7 +428,7 @@ void MDParser::minimizerblock() { tmp24_AST = astFactory->create(LT(1)); astFactory->addASTChild(currentAST, tmp24_AST); match(RCURLY); -#line 89 "MDParser.g" +#line 92 "MDParser.g" tmp24_AST->setType(ENDBLOCK); #line 434 "MDParser.cpp" minimizerblock_AST = currentAST.root; @@ -587,23 +587,11 @@ void MDParser::vectorConst() { tmp31_AST = astFactory->create(LT(1)); astFactory->makeASTRoot(currentAST, tmp31_AST); match(LPAREN); - doubleNumber(); + 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(COMMA); - doubleNumber(); - astFactory->addASTChild( currentAST, returnAST ); - ANTLR_USE_NAMESPACE(antlr)RefAST tmp33_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - tmp33_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp33_AST); - match(COMMA); - doubleNumber(); - astFactory->addASTChild( currentAST, returnAST ); - ANTLR_USE_NAMESPACE(antlr)RefAST tmp34_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - tmp34_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp34_AST); match(RPAREN); vectorConst_AST = currentAST.root; } @@ -680,6 +668,13 @@ void MDParser::moleculestatement() { case FRAGMENT: { fragmentblock(); + astFactory->addASTChild( currentAST, returnAST ); + moleculestatement_AST = currentAST.root; + break; + } + case CONSTRAINT: + { + constraintblock(); astFactory->addASTChild( currentAST, returnAST ); moleculestatement_AST = currentAST.root; break; @@ -703,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 tmp35_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - tmp35_AST = astFactory->create(LT(1)); - astFactory->makeASTRoot(currentAST, tmp35_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(); @@ -725,13 +720,13 @@ void MDParser::atomblock() { } _loop31:; } // ( ... )* - ANTLR_USE_NAMESPACE(antlr)RefAST tmp39_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - tmp39_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp39_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 106 "MDParser.g" - tmp39_AST->setType(ENDBLOCK); -#line 735 "MDParser.cpp" +#line 110 "MDParser.g" + tmp37_AST->setType(ENDBLOCK); +#line 730 "MDParser.cpp" atomblock_AST = currentAST.root; } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { @@ -747,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 tmp40_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - tmp40_AST = astFactory->create(LT(1)); - astFactory->makeASTRoot(currentAST, tmp40_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)) { @@ -784,13 +779,13 @@ void MDParser::bondblock() { } _loop36:; } // ( ... )* - ANTLR_USE_NAMESPACE(antlr)RefAST tmp44_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - tmp44_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp44_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 115 "MDParser.g" - tmp44_AST->setType(ENDBLOCK); -#line 794 "MDParser.cpp" +#line 119 "MDParser.g" + tmp42_AST->setType(ENDBLOCK); +#line 789 "MDParser.cpp" bondblock_AST = currentAST.root; } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { @@ -806,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 tmp45_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - tmp45_AST = astFactory->create(LT(1)); - astFactory->makeASTRoot(currentAST, tmp45_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)) { @@ -843,13 +838,13 @@ void MDParser::bendblock() { } _loop41:; } // ( ... )* - ANTLR_USE_NAMESPACE(antlr)RefAST tmp49_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - tmp49_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp49_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 122 "MDParser.g" - tmp49_AST->setType(ENDBLOCK); -#line 853 "MDParser.cpp" +#line 126 "MDParser.g" + tmp47_AST->setType(ENDBLOCK); +#line 848 "MDParser.cpp" bendblock_AST = currentAST.root; } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { @@ -865,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 tmp50_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - tmp50_AST = astFactory->create(LT(1)); - astFactory->makeASTRoot(currentAST, tmp50_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)) { @@ -902,13 +897,13 @@ void MDParser::torsionblock() { } _loop46:; } // ( ... )* - ANTLR_USE_NAMESPACE(antlr)RefAST tmp54_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - tmp54_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp54_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 129 "MDParser.g" - tmp54_AST->setType(ENDBLOCK); -#line 912 "MDParser.cpp" +#line 133 "MDParser.g" + tmp52_AST->setType(ENDBLOCK); +#line 907 "MDParser.cpp" torsionblock_AST = currentAST.root; } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { @@ -924,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 tmp55_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - tmp55_AST = astFactory->create(LT(1)); - astFactory->makeASTRoot(currentAST, tmp55_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)) { @@ -950,7 +945,7 @@ void MDParser::inversionblock() { match(LCURLY); { // ( ... )* for (;;) { - if ((LA(1) == CENTER || LA(1) == ID)) { + if ((_tokenSet_10.member(LA(1)))) { inversionstatement(); astFactory->addASTChild( currentAST, returnAST ); } @@ -961,13 +956,13 @@ void MDParser::inversionblock() { } _loop51:; } // ( ... )* - ANTLR_USE_NAMESPACE(antlr)RefAST tmp59_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - tmp59_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp59_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 136 "MDParser.g" - tmp59_AST->setType(ENDBLOCK); -#line 971 "MDParser.cpp" +#line 140 "MDParser.g" + tmp57_AST->setType(ENDBLOCK); +#line 966 "MDParser.cpp" inversionblock_AST = currentAST.root; } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { @@ -983,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 tmp60_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - tmp60_AST = astFactory->create(LT(1)); - astFactory->makeASTRoot(currentAST, tmp60_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(); @@ -1005,13 +1000,13 @@ void MDParser::rigidbodyblock() { } _loop55:; } // ( ... )* - ANTLR_USE_NAMESPACE(antlr)RefAST tmp64_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - tmp64_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp64_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 143 "MDParser.g" - tmp64_AST->setType(ENDBLOCK); -#line 1015 "MDParser.cpp" +#line 148 "MDParser.g" + tmp62_AST->setType(ENDBLOCK); +#line 1010 "MDParser.cpp" rigidbodyblock_AST = currentAST.root; } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { @@ -1027,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 tmp65_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - tmp65_AST = astFactory->create(LT(1)); - astFactory->makeASTRoot(currentAST, tmp65_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)) { @@ -1064,13 +1059,13 @@ void MDParser::cutoffgroupblock() { } _loop60:; } // ( ... )* - ANTLR_USE_NAMESPACE(antlr)RefAST tmp69_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - tmp69_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp69_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 150 "MDParser.g" - tmp69_AST->setType(ENDBLOCK); -#line 1074 "MDParser.cpp" +#line 155 "MDParser.g" + tmp67_AST->setType(ENDBLOCK); +#line 1069 "MDParser.cpp" cutoffgroupblock_AST = currentAST.root; } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { @@ -1086,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 tmp70_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - tmp70_AST = astFactory->create(LT(1)); - astFactory->makeASTRoot(currentAST, tmp70_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(); @@ -1108,13 +1103,13 @@ void MDParser::fragmentblock() { } _loop64:; } // ( ... )* - ANTLR_USE_NAMESPACE(antlr)RefAST tmp74_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - tmp74_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp74_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 157 "MDParser.g" - tmp74_AST->setType(ENDBLOCK); -#line 1118 "MDParser.cpp" +#line 162 "MDParser.g" + tmp72_AST->setType(ENDBLOCK); +#line 1113 "MDParser.cpp" fragmentblock_AST = currentAST.root; } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { @@ -1122,6 +1117,65 @@ void MDParser::fragmentblock() { recover(ex,_tokenSet_8); } 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 168 "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() { @@ -1140,9 +1194,9 @@ void MDParser::atomstatement() { } case POSITION: { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp75_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - tmp75_AST = astFactory->create(LT(1)); - astFactory->makeASTRoot(currentAST, tmp75_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(); @@ -1154,9 +1208,9 @@ void MDParser::atomstatement() { } case ORIENTATION: { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp79_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - tmp79_AST = astFactory->create(LT(1)); - astFactory->makeASTRoot(currentAST, tmp79_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(); @@ -1174,7 +1228,7 @@ void MDParser::atomstatement() { } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - recover(ex,_tokenSet_10); + recover(ex,_tokenSet_11); } returnAST = atomstatement_AST; } @@ -1195,17 +1249,17 @@ void MDParser::doubleNumberTuple() { astFactory->addASTChild( currentAST, returnAST ); } else { - goto _loop68; + goto _loop73; } } - _loop68:; + _loop73:; } // ( ... )* doubleNumberTuple_AST = currentAST.root; } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - recover(ex,_tokenSet_11); + recover(ex,_tokenSet_12); } returnAST = doubleNumberTuple_AST; } @@ -1226,9 +1280,9 @@ void MDParser::bondstatement() { } case MEMBERS: { - 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 tmp87_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp87_AST = astFactory->create(LT(1)); + astFactory->makeASTRoot(currentAST, tmp87_AST); match(MEMBERS); match(LPAREN); inttuple(); @@ -1246,7 +1300,7 @@ void MDParser::bondstatement() { } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - recover(ex,_tokenSet_12); + recover(ex,_tokenSet_13); } returnAST = bondstatement_AST; } @@ -1267,17 +1321,17 @@ void MDParser::inttuple() { astFactory->addASTChild( currentAST, returnAST ); } else { - goto _loop71; + goto _loop76; } } - _loop71:; + _loop76:; } // ( ... )* inttuple_AST = currentAST.root; } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - recover(ex,_tokenSet_11); + recover(ex,_tokenSet_12); } returnAST = inttuple_AST; } @@ -1298,9 +1352,9 @@ void MDParser::bendstatement() { } case MEMBERS: { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp89_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - tmp89_AST = astFactory->create(LT(1)); - astFactory->makeASTRoot(currentAST, tmp89_AST); + ANTLR_USE_NAMESPACE(antlr)RefAST tmp92_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp92_AST = astFactory->create(LT(1)); + astFactory->makeASTRoot(currentAST, tmp92_AST); match(MEMBERS); match(LPAREN); inttuple(); @@ -1318,7 +1372,7 @@ void MDParser::bendstatement() { } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - recover(ex,_tokenSet_12); + recover(ex,_tokenSet_13); } returnAST = bendstatement_AST; } @@ -1339,9 +1393,9 @@ void MDParser::torsionstatement() { } case MEMBERS: { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp93_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - tmp93_AST = astFactory->create(LT(1)); - astFactory->makeASTRoot(currentAST, tmp93_AST); + ANTLR_USE_NAMESPACE(antlr)RefAST tmp96_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp96_AST = astFactory->create(LT(1)); + astFactory->makeASTRoot(currentAST, tmp96_AST); match(MEMBERS); match(LPAREN); inttuple(); @@ -1359,7 +1413,7 @@ void MDParser::torsionstatement() { } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - recover(ex,_tokenSet_12); + recover(ex,_tokenSet_13); } returnAST = torsionstatement_AST; } @@ -1380,9 +1434,9 @@ void MDParser::inversionstatement() { } case CENTER: { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp97_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - tmp97_AST = astFactory->create(LT(1)); - astFactory->makeASTRoot(currentAST, tmp97_AST); + ANTLR_USE_NAMESPACE(antlr)RefAST tmp100_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp100_AST = astFactory->create(LT(1)); + astFactory->makeASTRoot(currentAST, tmp100_AST); match(CENTER); match(LPAREN); intConst(); @@ -1392,6 +1446,20 @@ void MDParser::inversionstatement() { inversionstatement_AST = currentAST.root; break; } + case SATELLITES: + { + ANTLR_USE_NAMESPACE(antlr)RefAST tmp104_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp104_AST = astFactory->create(LT(1)); + astFactory->makeASTRoot(currentAST, tmp104_AST); + match(SATELLITES); + match(LPAREN); + inttuple(); + astFactory->addASTChild( currentAST, returnAST ); + match(RPAREN); + match(SEMICOLON); + inversionstatement_AST = currentAST.root; + break; + } default: { throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename()); @@ -1400,7 +1468,7 @@ void MDParser::inversionstatement() { } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - recover(ex,_tokenSet_13); + recover(ex,_tokenSet_14); } returnAST = inversionstatement_AST; } @@ -1421,9 +1489,9 @@ void MDParser::rigidbodystatement() { } case MEMBERS: { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp101_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - tmp101_AST = astFactory->create(LT(1)); - astFactory->makeASTRoot(currentAST, tmp101_AST); + ANTLR_USE_NAMESPACE(antlr)RefAST tmp108_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp108_AST = astFactory->create(LT(1)); + astFactory->makeASTRoot(currentAST, tmp108_AST); match(MEMBERS); match(LPAREN); inttuple(); @@ -1441,7 +1509,7 @@ void MDParser::rigidbodystatement() { } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - recover(ex,_tokenSet_12); + recover(ex,_tokenSet_13); } returnAST = rigidbodystatement_AST; } @@ -1462,9 +1530,9 @@ void MDParser::cutoffgroupstatement() { } case MEMBERS: { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp105_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - tmp105_AST = astFactory->create(LT(1)); - astFactory->makeASTRoot(currentAST, tmp105_AST); + ANTLR_USE_NAMESPACE(antlr)RefAST tmp112_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp112_AST = astFactory->create(LT(1)); + astFactory->makeASTRoot(currentAST, tmp112_AST); match(MEMBERS); match(LPAREN); inttuple(); @@ -1482,7 +1550,7 @@ void MDParser::cutoffgroupstatement() { } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - recover(ex,_tokenSet_12); + recover(ex,_tokenSet_13); } returnAST = cutoffgroupstatement_AST; } @@ -1499,9 +1567,50 @@ void MDParser::fragmentstatement() { } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - recover(ex,_tokenSet_14); + recover(ex,_tokenSet_15); } 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 tmp116_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp116_AST = astFactory->create(LT(1)); + astFactory->makeASTRoot(currentAST, tmp116_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_13); + } + returnAST = constraintstatement_AST; } void MDParser::doubleNumber() { @@ -1536,14 +1645,14 @@ void MDParser::doubleNumber() { } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - recover(ex,_tokenSet_15); + recover(ex,_tokenSet_16); } returnAST = doubleNumber_AST; } void MDParser::initializeASTFactory( ANTLR_USE_NAMESPACE(antlr)ASTFactory& factory ) { - factory.setMaxNodeType(56); + factory.setMaxNodeType(59); } const char* MDParser::tokenNames[] = { "<0>", @@ -1561,9 +1670,12 @@ const char* MDParser::tokenNames[] = { "\"inversion\"", "\"rigidBody\"", "\"cutoffGroup\"", + "\"constraint\"", + "\"distance\"", "\"fragment\"", "\"members\"", "\"center\"", + "\"satellites\"", "\"position\"", "\"orientation\"", "\"flucQ\"", @@ -1606,59 +1718,63 @@ const char* MDParser::tokenNames[] = { 0 }; -const unsigned long MDParser::_tokenSet_0_data_[] = { 24117488UL, 0UL, 0UL, 0UL }; +const unsigned long MDParser::_tokenSet_0_data_[] = { 192938224UL, 0UL, 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_[] = { 24117490UL, 0UL, 0UL, 0UL }; +const unsigned long MDParser::_tokenSet_2_data_[] = { 192938226UL, 0UL, 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_[] = { 562036722UL, 0UL, 0UL, 0UL }; +const unsigned long MDParser::_tokenSet_3_data_[] = { 201261042UL, 1UL, 0UL, 0UL }; // EOF "component" "molecule" "zconstraint" "restraint" "atom" "bond" "bend" -// "torsion" "inversion" "rigidBody" "cutoffGroup" "fragment" "members" -// "center" "position" "orientation" "flucQ" "RNEMD" "minimizer" ID RCURLY +// "torsion" "inversion" "rigidBody" "cutoffGroup" "constraint" "fragment" +// "members" "center" "satellites" "position" "orientation" "flucQ" "RNEMD" +// "minimizer" ID RCURLY const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_3(_tokenSet_3_data_,4); -const unsigned long MDParser::_tokenSet_4_data_[] = { 16842496UL, 0UL, 0UL, 0UL }; +const unsigned long MDParser::_tokenSet_4_data_[] = { 134414080UL, 0UL, 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_[] = { 67108864UL, 0UL, 0UL, 0UL }; +const unsigned long MDParser::_tokenSet_5_data_[] = { 536870912UL, 0UL, 0UL, 0UL }; // SEMICOLON const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_5(_tokenSet_5_data_,4); -const unsigned long MDParser::_tokenSet_6_data_[] = { 2214592512UL, 6UL, 0UL, 0UL }; +const unsigned long MDParser::_tokenSet_6_data_[] = { 536870912UL, 52UL, 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_[] = { 67108864UL, 6UL, 0UL, 0UL }; +const unsigned long MDParser::_tokenSet_7_data_[] = { 536870912UL, 48UL, 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_[] = { 553713408UL, 0UL, 0UL, 0UL }; +const unsigned long MDParser::_tokenSet_8_data_[] = { 134414080UL, 1UL, 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_[] = { 17563648UL, 0UL, 0UL, 0UL }; +const unsigned long MDParser::_tokenSet_9_data_[] = { 140509184UL, 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_[] = { 554434560UL, 0UL, 0UL, 0UL }; -// "position" "orientation" ID RCURLY +const unsigned long MDParser::_tokenSet_10_data_[] = { 135790592UL, 0UL, 0UL, 0UL }; +// "center" "satellites" ID const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_10(_tokenSet_10_data_,4); -const unsigned long MDParser::_tokenSet_11_data_[] = { 0UL, 2UL, 0UL, 0UL }; -// RPAREN +const unsigned long MDParser::_tokenSet_11_data_[] = { 140509184UL, 1UL, 0UL, 0UL }; +// "position" "orientation" ID RCURLY const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_11(_tokenSet_11_data_,4); -const unsigned long MDParser::_tokenSet_12_data_[] = { 553713664UL, 0UL, 0UL, 0UL }; -// "members" ID RCURLY +const unsigned long MDParser::_tokenSet_12_data_[] = { 0UL, 16UL, 0UL, 0UL }; +// RPAREN const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_12(_tokenSet_12_data_,4); -const unsigned long MDParser::_tokenSet_13_data_[] = { 553779200UL, 0UL, 0UL, 0UL }; -// "center" ID RCURLY +const unsigned long MDParser::_tokenSet_13_data_[] = { 134479872UL, 1UL, 0UL, 0UL }; +// "members" ID RCURLY const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_13(_tokenSet_13_data_,4); -const unsigned long MDParser::_tokenSet_14_data_[] = { 553648128UL, 0UL, 0UL, 0UL }; -// ID RCURLY +const unsigned long MDParser::_tokenSet_14_data_[] = { 135790592UL, 1UL, 0UL, 0UL }; +// "center" "satellites" ID RCURLY const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_14(_tokenSet_14_data_,4); -const unsigned long MDParser::_tokenSet_15_data_[] = { 0UL, 6UL, 0UL, 0UL }; -// RPAREN COMMA +const unsigned long MDParser::_tokenSet_15_data_[] = { 134217728UL, 1UL, 0UL, 0UL }; +// ID RCURLY const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_15(_tokenSet_15_data_,4); +const unsigned long MDParser::_tokenSet_16_data_[] = { 0UL, 48UL, 0UL, 0UL }; +// RPAREN COMMA +const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_16(_tokenSet_16_data_,4);