--- trunk/src/mdParser/MDParser.cpp 2013/07/16 17:16:45 1902 +++ trunk/src/mdParser/MDParser.cpp 2014/10/22 12:23:59 2026 @@ -1,4 +1,4 @@ -/* $ANTLR 2.7.7 (20121118): "MDParser.g" -> "MDParser.cpp"$ */ +/* $ANTLR 2.7.7 (20131114): "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 75 "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 93 "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 78 "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 81 "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 84 "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 87 "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 90 "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; } @@ -684,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()); @@ -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 107 "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 116 "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 123 "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 130 "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)) { @@ -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 137 "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 145 "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 152 "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 159 "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) { @@ -1124,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 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() { returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST; ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST; @@ -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(); @@ -1195,11 +1249,11 @@ void MDParser::doubleNumberTuple() { astFactory->addASTChild( currentAST, returnAST ); } else { - goto _loop68; + goto _loop73; } } - _loop68:; + _loop73:; } // ( ... )* doubleNumberTuple_AST = currentAST.root; } @@ -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(); @@ -1267,11 +1321,11 @@ void MDParser::inttuple() { astFactory->addASTChild( currentAST, returnAST ); } else { - goto _loop71; + goto _loop76; } } - _loop71:; + _loop76:; } // ( ... )* inttuple_AST = currentAST.root; } @@ -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(); @@ -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(); @@ -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(); @@ -1394,9 +1448,9 @@ void MDParser::inversionstatement() { } case SATELLITES: { - 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 tmp104_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp104_AST = astFactory->create(LT(1)); + astFactory->makeASTRoot(currentAST, tmp104_AST); match(SATELLITES); match(LPAREN); inttuple(); @@ -1435,9 +1489,9 @@ void MDParser::rigidbodystatement() { } 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 tmp108_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp108_AST = astFactory->create(LT(1)); + astFactory->makeASTRoot(currentAST, tmp108_AST); match(MEMBERS); match(LPAREN); inttuple(); @@ -1476,9 +1530,9 @@ void MDParser::cutoffgroupstatement() { } case MEMBERS: { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp109_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - tmp109_AST = astFactory->create(LT(1)); - astFactory->makeASTRoot(currentAST, tmp109_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(); @@ -1518,6 +1572,47 @@ void MDParser::fragmentstatement() { 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() { returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST; ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST; @@ -1557,7 +1652,7 @@ void MDParser::initializeASTFactory( ANTLR_USE_NAMESPA void MDParser::initializeASTFactory( ANTLR_USE_NAMESPACE(antlr)ASTFactory& factory ) { - factory.setMaxNodeType(57); + factory.setMaxNodeType(59); } const char* MDParser::tokenNames[] = { "<0>", @@ -1575,6 +1670,8 @@ const char* MDParser::tokenNames[] = { "\"inversion\"", "\"rigidBody\"", "\"cutoffGroup\"", + "\"constraint\"", + "\"distance\"", "\"fragment\"", "\"members\"", "\"center\"", @@ -1621,62 +1718,62 @@ const char* MDParser::tokenNames[] = { 0 }; -const unsigned long MDParser::_tokenSet_0_data_[] = { 48234736UL, 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_[] = { 48234738UL, 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_[] = { 1124073458UL, 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" "satellites" "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_[] = { 33619712UL, 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_[] = { 134217728UL, 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_[] = { 134217728UL, 13UL, 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_[] = { 134217728UL, 12UL, 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_[] = { 1107361536UL, 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_[] = { 35127296UL, 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_[] = { 33947648UL, 0UL, 0UL, 0UL }; +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_[] = { 1108869120UL, 0UL, 0UL, 0UL }; +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_[] = { 0UL, 4UL, 0UL, 0UL }; +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_[] = { 1107361792UL, 0UL, 0UL, 0UL }; +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_[] = { 1107689472UL, 0UL, 0UL, 0UL }; +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_[] = { 1107296256UL, 0UL, 0UL, 0UL }; +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, 12UL, 0UL, 0UL }; +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);