--- trunk/src/mdParser/MDParser.cpp 2005/12/02 15:38:03 770 +++ trunk/src/mdParser/MDParser.cpp 2008/07/04 20:54:29 1275 @@ -1,4 +1,4 @@ -/* $ANTLR 2.7.5 (20050406): "MDParser.g" -> "MDParser.cpp"$ */ +/* $ANTLR 2.7.4: "MDParser.g" -> "MDParser.cpp"$ */ #include "MDParser.hpp" #include #include @@ -53,7 +53,8 @@ void MDParser::mdfile() { } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - recover(ex,_tokenSet_1); + consume(); + consumeUntil(_tokenSet_1); } returnAST = mdfile_AST; } @@ -101,7 +102,8 @@ void MDParser::statement() { } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - recover(ex,_tokenSet_2); + consume(); + consumeUntil(_tokenSet_2); } returnAST = statement_AST; } @@ -127,7 +129,8 @@ void MDParser::assignment() { } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - recover(ex,_tokenSet_3); + consume(); + consumeUntil(_tokenSet_3); } returnAST = assignment_AST; } @@ -162,12 +165,13 @@ void MDParser::componentblock() { match(RCURLY); #line 65 "MDParser.g" tmp6_AST->setType(ENDBLOCK); -#line 166 "MDParser.cpp" +#line 169 "MDParser.cpp" componentblock_AST = currentAST.root; } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - recover(ex,_tokenSet_2); + consume(); + consumeUntil(_tokenSet_2); } returnAST = componentblock_AST; } @@ -202,12 +206,13 @@ void MDParser::moleculeblock() { match(RCURLY); #line 71 "MDParser.g" tmp9_AST->setType(ENDBLOCK); -#line 206 "MDParser.cpp" +#line 210 "MDParser.cpp" moleculeblock_AST = currentAST.root; } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - recover(ex,_tokenSet_2); + consume(); + consumeUntil(_tokenSet_2); } returnAST = moleculeblock_AST; } @@ -242,12 +247,13 @@ void MDParser::zconstraintblock() { match(RCURLY); #line 68 "MDParser.g" tmp12_AST->setType(ENDBLOCK); -#line 246 "MDParser.cpp" +#line 251 "MDParser.cpp" zconstraintblock_AST = currentAST.root; } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - recover(ex,_tokenSet_2); + consume(); + consumeUntil(_tokenSet_2); } returnAST = zconstraintblock_AST; } @@ -259,19 +265,22 @@ void MDParser::constant() { try { // for error handling switch ( LA(1)) { - case OCTALINT: - case DECIMALINT: - case HEXADECIMALINT: - case PLUS: - case MINUS: - case FLOATONE: - case FLOATTWO: + case NUM_INT: + case NUM_LONG: { - signedNumber(); + intConst(); astFactory->addASTChild( currentAST, returnAST ); constant_AST = currentAST.root; break; } + case NUM_FLOAT: + case NUM_DOUBLE: + { + floatConst(); + astFactory->addASTChild( currentAST, returnAST ); + constant_AST = currentAST.root; + break; + } case ID: { ANTLR_USE_NAMESPACE(antlr)RefAST tmp13_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; @@ -298,61 +307,74 @@ void MDParser::constant() { } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - recover(ex,_tokenSet_5); + consume(); + consumeUntil(_tokenSet_5); } returnAST = constant_AST; } -void MDParser::signedNumber() { +void MDParser::intConst() { returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST; ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST; - ANTLR_USE_NAMESPACE(antlr)RefAST signedNumber_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + ANTLR_USE_NAMESPACE(antlr)RefAST intConst_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; try { // for error handling - { switch ( LA(1)) { - case PLUS: + case NUM_INT: { - match(PLUS); + ANTLR_USE_NAMESPACE(antlr)RefAST tmp15_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp15_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp15_AST); + match(NUM_INT); + intConst_AST = currentAST.root; break; } - case MINUS: + case NUM_LONG: { ANTLR_USE_NAMESPACE(antlr)RefAST tmp16_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; tmp16_AST = astFactory->create(LT(1)); - astFactory->makeASTRoot(currentAST, tmp16_AST); - match(MINUS); + astFactory->addASTChild(currentAST, tmp16_AST); + match(NUM_LONG); + intConst_AST = currentAST.root; break; } - case OCTALINT: - case DECIMALINT: - case HEXADECIMALINT: - case FLOATONE: - case FLOATTWO: - { - break; - } default: { throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename()); } } - } - { - switch ( LA(1)) { - case OCTALINT: - case DECIMALINT: - case HEXADECIMALINT: + } + catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { + reportError(ex); + consume(); + consumeUntil(_tokenSet_6); + } + returnAST = intConst_AST; +} + +void MDParser::floatConst() { + returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST; + ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST; + ANTLR_USE_NAMESPACE(antlr)RefAST floatConst_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + + try { // for error handling + switch ( LA(1)) { + case NUM_FLOAT: { - intConst(); - astFactory->addASTChild( currentAST, returnAST ); + ANTLR_USE_NAMESPACE(antlr)RefAST tmp17_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp17_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp17_AST); + match(NUM_FLOAT); + floatConst_AST = currentAST.root; break; } - case FLOATONE: - case FLOATTWO: + case NUM_DOUBLE: { - floatConst(); - astFactory->addASTChild( currentAST, returnAST ); + ANTLR_USE_NAMESPACE(antlr)RefAST tmp18_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp18_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp18_AST); + match(NUM_DOUBLE); + floatConst_AST = currentAST.root; break; } default: @@ -360,14 +382,13 @@ void MDParser::signedNumber() { throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename()); } } - } - signedNumber_AST = currentAST.root; } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - recover(ex,_tokenSet_6); + consume(); + consumeUntil(_tokenSet_7); } - returnAST = signedNumber_AST; + returnAST = floatConst_AST; } void MDParser::moleculestatement() { @@ -441,7 +462,8 @@ void MDParser::moleculestatement() { } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - recover(ex,_tokenSet_7); + consume(); + consumeUntil(_tokenSet_8); } returnAST = moleculestatement_AST; } @@ -452,9 +474,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 tmp17_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - tmp17_AST = astFactory->create(LT(1)); - astFactory->makeASTRoot(currentAST, tmp17_AST); + ANTLR_USE_NAMESPACE(antlr)RefAST tmp19_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp19_AST = astFactory->create(LT(1)); + astFactory->makeASTRoot(currentAST, tmp19_AST); match(ATOM); match(LBRACKET); intConst(); @@ -463,7 +485,7 @@ void MDParser::atomblock() { match(LCURLY); { // ( ... )* for (;;) { - if ((_tokenSet_8.member(LA(1)))) { + if ((_tokenSet_9.member(LA(1)))) { atomstatement(); astFactory->addASTChild( currentAST, returnAST ); } @@ -474,18 +496,19 @@ void MDParser::atomblock() { } _loop19:; } // ( ... )* - 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 tmp23_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp23_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp23_AST); match(RCURLY); #line 84 "MDParser.g" - tmp21_AST->setType(ENDBLOCK); -#line 484 "MDParser.cpp" + tmp23_AST->setType(ENDBLOCK); +#line 506 "MDParser.cpp" atomblock_AST = currentAST.root; } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - recover(ex,_tokenSet_7); + consume(); + consumeUntil(_tokenSet_8); } returnAST = atomblock_AST; } @@ -496,9 +519,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 tmp22_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - tmp22_AST = astFactory->create(LT(1)); - astFactory->makeASTRoot(currentAST, tmp22_AST); + ANTLR_USE_NAMESPACE(antlr)RefAST tmp24_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp24_AST = astFactory->create(LT(1)); + astFactory->makeASTRoot(currentAST, tmp24_AST); match(BOND); { switch ( LA(1)) { @@ -533,18 +556,19 @@ void MDParser::bondblock() { } _loop24:; } // ( ... )* - 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 tmp28_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp28_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp28_AST); match(RCURLY); #line 93 "MDParser.g" - tmp26_AST->setType(ENDBLOCK); -#line 543 "MDParser.cpp" + tmp28_AST->setType(ENDBLOCK); +#line 566 "MDParser.cpp" bondblock_AST = currentAST.root; } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - recover(ex,_tokenSet_7); + consume(); + consumeUntil(_tokenSet_8); } returnAST = bondblock_AST; } @@ -555,9 +579,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 tmp27_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - tmp27_AST = astFactory->create(LT(1)); - astFactory->makeASTRoot(currentAST, tmp27_AST); + ANTLR_USE_NAMESPACE(antlr)RefAST tmp29_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp29_AST = astFactory->create(LT(1)); + astFactory->makeASTRoot(currentAST, tmp29_AST); match(BEND); { switch ( LA(1)) { @@ -592,18 +616,19 @@ void MDParser::bendblock() { } _loop29:; } // ( ... )* - 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 tmp33_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp33_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp33_AST); match(RCURLY); #line 100 "MDParser.g" - tmp31_AST->setType(ENDBLOCK); -#line 602 "MDParser.cpp" + tmp33_AST->setType(ENDBLOCK); +#line 626 "MDParser.cpp" bendblock_AST = currentAST.root; } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - recover(ex,_tokenSet_7); + consume(); + consumeUntil(_tokenSet_8); } returnAST = bendblock_AST; } @@ -614,9 +639,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 tmp32_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - tmp32_AST = astFactory->create(LT(1)); - astFactory->makeASTRoot(currentAST, tmp32_AST); + ANTLR_USE_NAMESPACE(antlr)RefAST tmp34_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp34_AST = astFactory->create(LT(1)); + astFactory->makeASTRoot(currentAST, tmp34_AST); match(TORSION); { switch ( LA(1)) { @@ -651,18 +676,19 @@ void MDParser::torsionblock() { } _loop34:; } // ( ... )* - 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 tmp38_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp38_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp38_AST); match(RCURLY); #line 107 "MDParser.g" - tmp36_AST->setType(ENDBLOCK); -#line 661 "MDParser.cpp" + tmp38_AST->setType(ENDBLOCK); +#line 686 "MDParser.cpp" torsionblock_AST = currentAST.root; } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - recover(ex,_tokenSet_7); + consume(); + consumeUntil(_tokenSet_8); } returnAST = torsionblock_AST; } @@ -673,9 +699,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 tmp37_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - tmp37_AST = astFactory->create(LT(1)); - astFactory->makeASTRoot(currentAST, tmp37_AST); + ANTLR_USE_NAMESPACE(antlr)RefAST tmp39_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp39_AST = astFactory->create(LT(1)); + astFactory->makeASTRoot(currentAST, tmp39_AST); match(RIGIDBODY); match(LBRACKET); intConst(); @@ -689,24 +715,25 @@ void MDParser::rigidbodyblock() { astFactory->addASTChild( currentAST, returnAST ); } else { - goto _loop38; + goto _loop43; } } - _loop38:; + _loop43:; } // ( ... )* - 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 tmp43_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp43_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp43_AST); match(RCURLY); -#line 114 "MDParser.g" - tmp41_AST->setType(ENDBLOCK); -#line 705 "MDParser.cpp" +#line 121 "MDParser.g" + tmp43_AST->setType(ENDBLOCK); +#line 731 "MDParser.cpp" rigidbodyblock_AST = currentAST.root; } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - recover(ex,_tokenSet_7); + consume(); + consumeUntil(_tokenSet_8); } returnAST = rigidbodyblock_AST; } @@ -717,9 +744,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 tmp42_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - tmp42_AST = astFactory->create(LT(1)); - astFactory->makeASTRoot(currentAST, tmp42_AST); + ANTLR_USE_NAMESPACE(antlr)RefAST tmp44_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp44_AST = astFactory->create(LT(1)); + astFactory->makeASTRoot(currentAST, tmp44_AST); match(CUTOFFGROUP); { switch ( LA(1)) { @@ -748,24 +775,25 @@ void MDParser::cutoffgroupblock() { astFactory->addASTChild( currentAST, returnAST ); } else { - goto _loop43; + goto _loop48; } } - _loop43:; + _loop48:; } // ( ... )* - 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 tmp48_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp48_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp48_AST); match(RCURLY); -#line 121 "MDParser.g" - tmp46_AST->setType(ENDBLOCK); -#line 764 "MDParser.cpp" +#line 128 "MDParser.g" + tmp48_AST->setType(ENDBLOCK); +#line 791 "MDParser.cpp" cutoffgroupblock_AST = currentAST.root; } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - recover(ex,_tokenSet_7); + consume(); + consumeUntil(_tokenSet_8); } returnAST = cutoffgroupblock_AST; } @@ -776,9 +804,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 tmp47_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - tmp47_AST = astFactory->create(LT(1)); - astFactory->makeASTRoot(currentAST, tmp47_AST); + ANTLR_USE_NAMESPACE(antlr)RefAST tmp49_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp49_AST = astFactory->create(LT(1)); + astFactory->makeASTRoot(currentAST, tmp49_AST); match(FRAGMENT); match(LBRACKET); intConst(); @@ -792,73 +820,27 @@ void MDParser::fragmentblock() { astFactory->addASTChild( currentAST, returnAST ); } else { - goto _loop47; + goto _loop52; } } - _loop47:; + _loop52:; } // ( ... )* - 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 tmp53_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp53_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp53_AST); match(RCURLY); -#line 128 "MDParser.g" - tmp51_AST->setType(ENDBLOCK); -#line 808 "MDParser.cpp" +#line 135 "MDParser.g" + tmp53_AST->setType(ENDBLOCK); +#line 836 "MDParser.cpp" fragmentblock_AST = currentAST.root; } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - recover(ex,_tokenSet_7); + consume(); + consumeUntil(_tokenSet_8); } returnAST = fragmentblock_AST; -} - -void MDParser::intConst() { - returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST; - ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST; - ANTLR_USE_NAMESPACE(antlr)RefAST intConst_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - - try { // for error handling - switch ( LA(1)) { - case OCTALINT: - { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp52_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - tmp52_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp52_AST); - match(OCTALINT); - intConst_AST = currentAST.root; - break; - } - case DECIMALINT: - { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp53_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - tmp53_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp53_AST); - match(DECIMALINT); - intConst_AST = currentAST.root; - break; - } - case HEXADECIMALINT: - { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp54_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - tmp54_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp54_AST); - match(HEXADECIMALINT); - intConst_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_9); - } - returnAST = intConst_AST; } void MDParser::atomstatement() { @@ -877,12 +859,12 @@ void MDParser::atomstatement() { } case POSITION: { - 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 tmp54_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp54_AST = astFactory->create(LT(1)); + astFactory->makeASTRoot(currentAST, tmp54_AST); match(POSITION); match(LPAREN); - signedNumberTuple(); + doubleNumberTuple(); astFactory->addASTChild( currentAST, returnAST ); match(RPAREN); match(SEMICOLON); @@ -891,12 +873,12 @@ void MDParser::atomstatement() { } case ORIENTATION: { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp59_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - tmp59_AST = astFactory->create(LT(1)); - astFactory->makeASTRoot(currentAST, tmp59_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(ORIENTATION); match(LPAREN); - signedNumberTuple(); + doubleNumberTuple(); astFactory->addASTChild( currentAST, returnAST ); match(RPAREN); match(SEMICOLON); @@ -911,40 +893,42 @@ void MDParser::atomstatement() { } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - recover(ex,_tokenSet_10); + consume(); + consumeUntil(_tokenSet_10); } returnAST = atomstatement_AST; } -void MDParser::signedNumberTuple() { +void MDParser::doubleNumberTuple() { returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST; ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST; - ANTLR_USE_NAMESPACE(antlr)RefAST signedNumberTuple_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + ANTLR_USE_NAMESPACE(antlr)RefAST doubleNumberTuple_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; try { // for error handling - signedNumber(); + doubleNumber(); astFactory->addASTChild( currentAST, returnAST ); { // ( ... )* for (;;) { if ((LA(1) == COMMA)) { match(COMMA); - signedNumber(); + doubleNumber(); astFactory->addASTChild( currentAST, returnAST ); } else { - goto _loop51; + goto _loop56; } } - _loop51:; + _loop56:; } // ( ... )* - signedNumberTuple_AST = currentAST.root; + doubleNumberTuple_AST = currentAST.root; } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - recover(ex,_tokenSet_11); + consume(); + consumeUntil(_tokenSet_11); } - returnAST = signedNumberTuple_AST; + returnAST = doubleNumberTuple_AST; } void MDParser::bondstatement() { @@ -963,9 +947,9 @@ void MDParser::bondstatement() { } case MEMBERS: { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp64_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - tmp64_AST = astFactory->create(LT(1)); - astFactory->makeASTRoot(currentAST, tmp64_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(MEMBERS); match(LPAREN); inttuple(); @@ -983,7 +967,8 @@ void MDParser::bondstatement() { } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - recover(ex,_tokenSet_12); + consume(); + consumeUntil(_tokenSet_12); } returnAST = bondstatement_AST; } @@ -1004,17 +989,18 @@ void MDParser::inttuple() { astFactory->addASTChild( currentAST, returnAST ); } else { - goto _loop54; + goto _loop59; } } - _loop54:; + _loop59:; } // ( ... )* inttuple_AST = currentAST.root; } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - recover(ex,_tokenSet_11); + consume(); + consumeUntil(_tokenSet_11); } returnAST = inttuple_AST; } @@ -1035,9 +1021,9 @@ void MDParser::bendstatement() { } case MEMBERS: { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp69_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - tmp69_AST = astFactory->create(LT(1)); - astFactory->makeASTRoot(currentAST, tmp69_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(MEMBERS); match(LPAREN); inttuple(); @@ -1055,7 +1041,8 @@ void MDParser::bendstatement() { } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - recover(ex,_tokenSet_12); + consume(); + consumeUntil(_tokenSet_12); } returnAST = bendstatement_AST; } @@ -1076,9 +1063,9 @@ void MDParser::torsionstatement() { } case MEMBERS: { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp73_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - tmp73_AST = astFactory->create(LT(1)); - astFactory->makeASTRoot(currentAST, tmp73_AST); + ANTLR_USE_NAMESPACE(antlr)RefAST tmp72_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp72_AST = astFactory->create(LT(1)); + astFactory->makeASTRoot(currentAST, tmp72_AST); match(MEMBERS); match(LPAREN); inttuple(); @@ -1096,9 +1083,112 @@ void MDParser::torsionstatement() { } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - recover(ex,_tokenSet_12); + consume(); + consumeUntil(_tokenSet_12); } returnAST = torsionstatement_AST; +} + +void MDParser::inversionblock() { + returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST; + ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST; + ANTLR_USE_NAMESPACE(antlr)RefAST inversionblock_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + + try { // for error handling + ANTLR_USE_NAMESPACE(antlr)RefAST tmp76_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp76_AST = astFactory->create(LT(1)); + astFactory->makeASTRoot(currentAST, tmp76_AST); + match(INVERSION); + { + switch ( LA(1)) { + case LBRACKET: + { + match(LBRACKET); + intConst(); + match(RBRACKET); + break; + } + case LCURLY: + { + break; + } + default: + { + throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename()); + } + } + } + match(LCURLY); + { // ( ... )* + for (;;) { + if ((LA(1) == CENTER || LA(1) == ID)) { + inversionstatement(); + astFactory->addASTChild( currentAST, returnAST ); + } + else { + goto _loop39; + } + + } + _loop39:; + } // ( ... )* + ANTLR_USE_NAMESPACE(antlr)RefAST tmp80_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp80_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp80_AST); + match(RCURLY); +#line 114 "MDParser.g" + tmp80_AST->setType(ENDBLOCK); +#line 1142 "MDParser.cpp" + inversionblock_AST = currentAST.root; + } + catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { + reportError(ex); + consume(); + consumeUntil(_tokenSet_1); + } + returnAST = inversionblock_AST; +} + +void MDParser::inversionstatement() { + returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST; + ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST; + ANTLR_USE_NAMESPACE(antlr)RefAST inversionstatement_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + + try { // for error handling + switch ( LA(1)) { + case ID: + { + assignment(); + astFactory->addASTChild( currentAST, returnAST ); + inversionstatement_AST = currentAST.root; + break; + } + case CENTER: + { + ANTLR_USE_NAMESPACE(antlr)RefAST tmp81_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp81_AST = astFactory->create(LT(1)); + astFactory->makeASTRoot(currentAST, tmp81_AST); + match(CENTER); + match(LPAREN); + intConst(); + astFactory->addASTChild( currentAST, returnAST ); + match(RPAREN); + match(SEMICOLON); + inversionstatement_AST = currentAST.root; + break; + } + default: + { + throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename()); + } + } + } + catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { + reportError(ex); + consume(); + consumeUntil(_tokenSet_13); + } + returnAST = inversionstatement_AST; } void MDParser::rigidbodystatement() { @@ -1117,9 +1207,9 @@ void MDParser::rigidbodystatement() { } case MEMBERS: { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp77_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - tmp77_AST = astFactory->create(LT(1)); - astFactory->makeASTRoot(currentAST, tmp77_AST); + ANTLR_USE_NAMESPACE(antlr)RefAST tmp85_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp85_AST = astFactory->create(LT(1)); + astFactory->makeASTRoot(currentAST, tmp85_AST); match(MEMBERS); match(LPAREN); inttuple(); @@ -1137,7 +1227,8 @@ void MDParser::rigidbodystatement() { } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - recover(ex,_tokenSet_12); + consume(); + consumeUntil(_tokenSet_12); } returnAST = rigidbodystatement_AST; } @@ -1158,9 +1249,9 @@ void MDParser::cutoffgroupstatement() { } case MEMBERS: { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp81_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - tmp81_AST = astFactory->create(LT(1)); - astFactory->makeASTRoot(currentAST, tmp81_AST); + ANTLR_USE_NAMESPACE(antlr)RefAST tmp89_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + tmp89_AST = astFactory->create(LT(1)); + astFactory->makeASTRoot(currentAST, tmp89_AST); match(MEMBERS); match(LPAREN); inttuple(); @@ -1178,7 +1269,8 @@ void MDParser::cutoffgroupstatement() { } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - recover(ex,_tokenSet_12); + consume(); + consumeUntil(_tokenSet_12); } returnAST = cutoffgroupstatement_AST; } @@ -1195,34 +1287,32 @@ void MDParser::fragmentstatement() { } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - recover(ex,_tokenSet_13); + consume(); + consumeUntil(_tokenSet_14); } returnAST = fragmentstatement_AST; } -void MDParser::floatConst() { +void MDParser::doubleNumber() { returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST; ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST; - ANTLR_USE_NAMESPACE(antlr)RefAST floatConst_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + ANTLR_USE_NAMESPACE(antlr)RefAST doubleNumber_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; try { // for error handling + { switch ( LA(1)) { - case FLOATONE: + case NUM_INT: + case NUM_LONG: { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp85_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - tmp85_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp85_AST); - match(FLOATONE); - floatConst_AST = currentAST.root; + intConst(); + astFactory->addASTChild( currentAST, returnAST ); break; } - case FLOATTWO: + case NUM_FLOAT: + case NUM_DOUBLE: { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp86_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - tmp86_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp86_AST); - match(FLOATTWO); - floatConst_AST = currentAST.root; + floatConst(); + astFactory->addASTChild( currentAST, returnAST ); break; } default: @@ -1230,17 +1320,20 @@ void MDParser::floatConst() { throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename()); } } + } + doubleNumber_AST = currentAST.root; } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - recover(ex,_tokenSet_6); + consume(); + consumeUntil(_tokenSet_15); } - returnAST = floatConst_AST; + returnAST = doubleNumber_AST; } void MDParser::initializeASTFactory( ANTLR_USE_NAMESPACE(antlr)ASTFactory& factory ) { - factory.setMaxNodeType(55); + factory.setMaxNodeType(52); } const char* MDParser::tokenNames[] = { "<0>", @@ -1254,10 +1347,12 @@ const char* MDParser::tokenNames[] = { "\"bond\"", "\"bend\"", "\"torsion\"", + "\"inversion\"", "\"rigidBody\"", "\"cutoffGroup\"", "\"fragment\"", "\"members\"", + "\"center\"", "\"position\"", "\"orientation\"", "ENDBLOCK", @@ -1272,13 +1367,10 @@ const char* MDParser::tokenNames[] = { "LPAREN", "RPAREN", "COMMA", - "OCTALINT", - "DECIMALINT", - "HEXADECIMALINT", - "PLUS", - "MINUS", - "FLOATONE", - "FLOATTWO", + "NUM_INT", + "NUM_LONG", + "NUM_FLOAT", + "NUM_DOUBLE", "DOT", "COLON", "QUESTIONMARK", @@ -1291,62 +1383,66 @@ const char* MDParser::tokenNames[] = { "CharLiteral", "EndOfLine", "Escape", + "Vocabulary", "Digit", "Decimal", - "LongSuffix", - "UnsignedSuffix", - "FloatSuffix", - "Exponent", - "Vocabulary", - "Number", + "HEX_DIGIT", + "EXPONENT", + "FLOAT_SUFFIX", 0 }; -const unsigned long MDParser::_tokenSet_0_data_[] = { 262256UL, 0UL, 0UL, 0UL }; +const unsigned long MDParser::_tokenSet_0_data_[] = { 1048688UL, 0UL, 0UL, 0UL }; // "component" "molecule" "zconstraint" ID const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_0(_tokenSet_0_data_,4); const unsigned long MDParser::_tokenSet_1_data_[] = { 2UL, 0UL, 0UL, 0UL }; // EOF const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_1(_tokenSet_1_data_,4); -const unsigned long MDParser::_tokenSet_2_data_[] = { 262258UL, 0UL, 0UL, 0UL }; +const unsigned long MDParser::_tokenSet_2_data_[] = { 1048690UL, 0UL, 0UL, 0UL }; // EOF "component" "molecule" "zconstraint" ID const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_2(_tokenSet_2_data_,4); -const unsigned long MDParser::_tokenSet_3_data_[] = { 8781810UL, 0UL, 0UL, 0UL }; +const unsigned long MDParser::_tokenSet_3_data_[] = { 35125234UL, 0UL, 0UL, 0UL }; // EOF "component" "molecule" "zconstraint" "atom" "bond" "bend" "torsion" -// "rigidBody" "cutoffGroup" "fragment" "members" "position" "orientation" +// "rigidBody" "cutoffGroup" "fragment" "members" "center" "position" "orientation" // ID RCURLY const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_3(_tokenSet_3_data_,4); -const unsigned long MDParser::_tokenSet_4_data_[] = { 278400UL, 0UL, 0UL, 0UL }; +const unsigned long MDParser::_tokenSet_4_data_[] = { 1079168UL, 0UL, 0UL, 0UL }; // "atom" "bond" "bend" "torsion" "rigidBody" "cutoffGroup" "fragment" // ID const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_4(_tokenSet_4_data_,4); -const unsigned long MDParser::_tokenSet_5_data_[] = { 1048576UL, 0UL, 0UL, 0UL }; +const unsigned long MDParser::_tokenSet_5_data_[] = { 4194304UL, 0UL, 0UL, 0UL }; // SEMICOLON const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_5(_tokenSet_5_data_,4); -const unsigned long MDParser::_tokenSet_6_data_[] = { 403701760UL, 0UL, 0UL, 0UL }; -// SEMICOLON RPAREN COMMA +const unsigned long MDParser::_tokenSet_6_data_[] = { 1749024768UL, 0UL, 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_[] = { 8667008UL, 0UL, 0UL, 0UL }; +const unsigned long MDParser::_tokenSet_7_data_[] = { 1614807040UL, 0UL, 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_[] = { 34633600UL, 0UL, 0UL, 0UL }; // "atom" "bond" "bend" "torsion" "rigidBody" "cutoffGroup" "fragment" // ID RCURLY -const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_7(_tokenSet_7_data_,4); -const unsigned long MDParser::_tokenSet_8_data_[] = { 360448UL, 0UL, 0UL, 0UL }; -// "position" "orientation" ID const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_8(_tokenSet_8_data_,4); -const unsigned long MDParser::_tokenSet_9_data_[] = { 437256192UL, 0UL, 0UL, 0UL }; -// SEMICOLON RBRACKET RPAREN COMMA +const unsigned long MDParser::_tokenSet_9_data_[] = { 1441792UL, 0UL, 0UL, 0UL }; +// "position" "orientation" ID const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_9(_tokenSet_9_data_,4); -const unsigned long MDParser::_tokenSet_10_data_[] = { 8749056UL, 0UL, 0UL, 0UL }; +const unsigned long MDParser::_tokenSet_10_data_[] = { 34996224UL, 0UL, 0UL, 0UL }; // "position" "orientation" ID RCURLY const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_10(_tokenSet_10_data_,4); -const unsigned long MDParser::_tokenSet_11_data_[] = { 134217728UL, 0UL, 0UL, 0UL }; +const unsigned long MDParser::_tokenSet_11_data_[] = { 536870912UL, 0UL, 0UL, 0UL }; // RPAREN const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_11(_tokenSet_11_data_,4); -const unsigned long MDParser::_tokenSet_12_data_[] = { 8667136UL, 0UL, 0UL, 0UL }; +const unsigned long MDParser::_tokenSet_12_data_[] = { 34635776UL, 0UL, 0UL, 0UL }; // "members" ID RCURLY const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_12(_tokenSet_12_data_,4); -const unsigned long MDParser::_tokenSet_13_data_[] = { 8650752UL, 0UL, 0UL, 0UL }; -// ID RCURLY +const unsigned long MDParser::_tokenSet_13_data_[] = { 34668544UL, 0UL, 0UL, 0UL }; +// "center" ID RCURLY const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_13(_tokenSet_13_data_,4); +const unsigned long MDParser::_tokenSet_14_data_[] = { 34603008UL, 0UL, 0UL, 0UL }; +// ID RCURLY +const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_14(_tokenSet_14_data_,4); +const unsigned long MDParser::_tokenSet_15_data_[] = { 1610612736UL, 0UL, 0UL, 0UL }; +// RPAREN COMMA +const ANTLR_USE_NAMESPACE(antlr)BitSet MDParser::_tokenSet_15(_tokenSet_15_data_,4);