2#include "MDTreeParser.hpp"
3#include <antlr/Token.hpp>
4#include <antlr/AST.hpp>
5#include <antlr/NoViableAltException.hpp>
6#include <antlr/MismatchedTokenException.hpp>
7#include <antlr/SemanticException.hpp>
8#include <antlr/BitSet.hpp>
9#line 1 "MDTreeParser.g"
10#line 11 "MDTreeParser.cpp"
11MDTreeParser::MDTreeParser()
12 : ANTLR_USE_NAMESPACE(antlr)TreeParser() {
15void MDTreeParser::mdfile(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
16 ANTLR_USE_NAMESPACE(antlr)RefAST mdfile_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
21 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
23 if ((_tokenSet_0.member(_t->getType()))) {
34#line 34 "MDTreeParser.g"
35 blockStack.top()->validate(); blockStack.pop();
36#line 37 "MDTreeParser.cpp"
38 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
40 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
41 _t = _t->getNextSibling();
46void MDTreeParser::statement(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
47 ANTLR_USE_NAMESPACE(antlr)RefAST statement_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
50 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
52 switch ( _t->getType()) {
115 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
119 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
121 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
122 _t = _t->getNextSibling();
127void MDTreeParser::assignment(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
128 ANTLR_USE_NAMESPACE(antlr)RefAST assignment_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
129 ANTLR_USE_NAMESPACE(antlr)RefAST
id = ANTLR_USE_NAMESPACE(antlr)nullAST;
132 ANTLR_USE_NAMESPACE(antlr)RefAST __t6 = _t;
133 ANTLR_USE_NAMESPACE(antlr)RefAST tmp1_AST_in = _t;
134 match(_t,ASSIGNEQUAL);
135 _t = _t->getFirstChild();
138 _t = _t->getNextSibling();
144 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
146 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
147 _t = _t->getNextSibling();
152void MDTreeParser::componentblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
153 ANTLR_USE_NAMESPACE(antlr)RefAST componentblock_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
156 ANTLR_USE_NAMESPACE(antlr)RefAST __t10 = _t;
157 ANTLR_USE_NAMESPACE(antlr)RefAST tmp2_AST_in = _t;
159 _t = _t->getFirstChild();
160#line 72 "MDTreeParser.g"
162#line 163 "MDTreeParser.cpp"
165 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
167 if ((_t->getType() == ASSIGNEQUAL)) {
178 ANTLR_USE_NAMESPACE(antlr)RefAST tmp3_AST_in = _t;
180 _t = _t->getNextSibling();
182 _t = _t->getNextSibling();
183#line 74 "MDTreeParser.g"
184 blockStack.top()->validate();blockStack.pop(); currConf->addComponent(currComponet);
185#line 186 "MDTreeParser.cpp"
187 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
189 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
190 _t = _t->getNextSibling();
195void MDTreeParser::moleculeblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
196 ANTLR_USE_NAMESPACE(antlr)RefAST moleculeblock_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
199 ANTLR_USE_NAMESPACE(antlr)RefAST __t38 = _t;
200 ANTLR_USE_NAMESPACE(antlr)RefAST tmp4_AST_in = _t;
202 _t = _t->getFirstChild();
203#line 108 "MDTreeParser.g"
205#line 206 "MDTreeParser.cpp"
208 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
210 if ((_tokenSet_1.member(_t->getType()))) {
211 moleculestatement(_t);
221 ANTLR_USE_NAMESPACE(antlr)RefAST tmp5_AST_in = _t;
223 _t = _t->getNextSibling();
225 _t = _t->getNextSibling();
226#line 110 "MDTreeParser.g"
227 blockStack.top()->validate(); blockStack.pop(); currConf->addMoleculeStamp(currMoleculeStamp);
228#line 229 "MDTreeParser.cpp"
230 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
232 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
233 _t = _t->getNextSibling();
238void MDTreeParser::fragmentblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
239 ANTLR_USE_NAMESPACE(antlr)RefAST fragmentblock_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
242 ANTLR_USE_NAMESPACE(antlr)RefAST __t45 = _t;
243 ANTLR_USE_NAMESPACE(antlr)RefAST tmp6_AST_in = _t;
245 _t = _t->getFirstChild();
246#line 128 "MDTreeParser.g"
248#line 249 "MDTreeParser.cpp"
251 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
253 if ((_tokenSet_2.member(_t->getType()))) {
254 fragmentstatement(_t);
264 ANTLR_USE_NAMESPACE(antlr)RefAST tmp7_AST_in = _t;
266 _t = _t->getNextSibling();
268 _t = _t->getNextSibling();
269#line 130 "MDTreeParser.g"
270 blockStack.top()->validate(); blockStack.pop(); currConf->addFragmentStamp(currFragmentStamp);
271#line 272 "MDTreeParser.cpp"
273 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
275 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
276 _t = _t->getNextSibling();
281void MDTreeParser::zconstraintblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
282 ANTLR_USE_NAMESPACE(antlr)RefAST zconstraintblock_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
285 ANTLR_USE_NAMESPACE(antlr)RefAST __t14 = _t;
286 ANTLR_USE_NAMESPACE(antlr)RefAST tmp8_AST_in = _t;
287 match(_t,ZCONSTRAINT);
288 _t = _t->getFirstChild();
289#line 77 "MDTreeParser.g"
291#line 292 "MDTreeParser.cpp"
294 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
296 if ((_t->getType() == ASSIGNEQUAL)) {
307 ANTLR_USE_NAMESPACE(antlr)RefAST tmp9_AST_in = _t;
309 _t = _t->getNextSibling();
311 _t = _t->getNextSibling();
312#line 79 "MDTreeParser.g"
313 blockStack.top()->validate();blockStack.pop(); currConf->addZConsStamp(currZConsStamp);
314#line 315 "MDTreeParser.cpp"
316 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
318 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
319 _t = _t->getNextSibling();
324void MDTreeParser::restraintblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
325 ANTLR_USE_NAMESPACE(antlr)RefAST restraintblock_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
328 ANTLR_USE_NAMESPACE(antlr)RefAST __t18 = _t;
329 ANTLR_USE_NAMESPACE(antlr)RefAST tmp10_AST_in = _t;
331 _t = _t->getFirstChild();
332#line 82 "MDTreeParser.g"
334#line 335 "MDTreeParser.cpp"
337 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
339 if ((_t->getType() == ASSIGNEQUAL)) {
350 ANTLR_USE_NAMESPACE(antlr)RefAST tmp11_AST_in = _t;
352 _t = _t->getNextSibling();
354 _t = _t->getNextSibling();
355#line 84 "MDTreeParser.g"
356 blockStack.top()->validate();blockStack.pop(); currConf->addRestraintStamp(currRestraintStamp);
357#line 358 "MDTreeParser.cpp"
359 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
361 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
362 _t = _t->getNextSibling();
367void MDTreeParser::flucqblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
368 ANTLR_USE_NAMESPACE(antlr)RefAST flucqblock_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
371 ANTLR_USE_NAMESPACE(antlr)RefAST __t22 = _t;
372 ANTLR_USE_NAMESPACE(antlr)RefAST tmp12_AST_in = _t;
374 _t = _t->getFirstChild();
375#line 87 "MDTreeParser.g"
377#line 378 "MDTreeParser.cpp"
380 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
382 if ((_t->getType() == ASSIGNEQUAL)) {
393 ANTLR_USE_NAMESPACE(antlr)RefAST tmp13_AST_in = _t;
395 _t = _t->getNextSibling();
397 _t = _t->getNextSibling();
398#line 89 "MDTreeParser.g"
399 blockStack.top()->validate();blockStack.pop(); currConf->addFluctuatingChargeParameters(flucQpars);
400#line 401 "MDTreeParser.cpp"
402 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
404 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
405 _t = _t->getNextSibling();
410void MDTreeParser::rnemdblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
411 ANTLR_USE_NAMESPACE(antlr)RefAST rnemdblock_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
414 ANTLR_USE_NAMESPACE(antlr)RefAST __t26 = _t;
415 ANTLR_USE_NAMESPACE(antlr)RefAST tmp14_AST_in = _t;
417 _t = _t->getFirstChild();
418#line 92 "MDTreeParser.g"
419 RNEMD::RNEMDParameters* rnemdPars =
new RNEMD::RNEMDParameters(); blockStack.push(rnemdPars);
420#line 421 "MDTreeParser.cpp"
423 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
425 if ((_t->getType() == ASSIGNEQUAL)) {
436 ANTLR_USE_NAMESPACE(antlr)RefAST tmp15_AST_in = _t;
438 _t = _t->getNextSibling();
440 _t = _t->getNextSibling();
441#line 94 "MDTreeParser.g"
442 blockStack.top()->validate();blockStack.pop(); currConf->addRNEMDParameters(rnemdPars);
443#line 444 "MDTreeParser.cpp"
445 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
447 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
448 _t = _t->getNextSibling();
453void MDTreeParser::lightblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
454 ANTLR_USE_NAMESPACE(antlr)RefAST lightblock_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
457 ANTLR_USE_NAMESPACE(antlr)RefAST __t30 = _t;
458 ANTLR_USE_NAMESPACE(antlr)RefAST tmp16_AST_in = _t;
460 _t = _t->getFirstChild();
461#line 97 "MDTreeParser.g"
463#line 464 "MDTreeParser.cpp"
466 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
468 if ((_t->getType() == ASSIGNEQUAL)) {
479 ANTLR_USE_NAMESPACE(antlr)RefAST tmp17_AST_in = _t;
481 _t = _t->getNextSibling();
483 _t = _t->getNextSibling();
484#line 99 "MDTreeParser.g"
485 blockStack.top()->validate();blockStack.pop(); currConf->addLightParameters(lightPars);
486#line 487 "MDTreeParser.cpp"
488 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
490 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
491 _t = _t->getNextSibling();
496void MDTreeParser::minimizerblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
497 ANTLR_USE_NAMESPACE(antlr)RefAST minimizerblock_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
500 ANTLR_USE_NAMESPACE(antlr)RefAST __t34 = _t;
501 ANTLR_USE_NAMESPACE(antlr)RefAST tmp18_AST_in = _t;
503 _t = _t->getFirstChild();
504#line 102 "MDTreeParser.g"
506#line 507 "MDTreeParser.cpp"
509 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
511 if ((_t->getType() == ASSIGNEQUAL)) {
522 ANTLR_USE_NAMESPACE(antlr)RefAST tmp19_AST_in = _t;
524 _t = _t->getNextSibling();
526 _t = _t->getNextSibling();
527#line 104 "MDTreeParser.g"
528 blockStack.top()->validate();blockStack.pop(); currConf->addMinimizerParameters(minimizerPars);
529#line 530 "MDTreeParser.cpp"
531 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
533 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
534 _t = _t->getNextSibling();
539void MDTreeParser::constant(ANTLR_USE_NAMESPACE(antlr)RefAST _t,
540 ANTLR_USE_NAMESPACE(antlr)RefAST
id
542 ANTLR_USE_NAMESPACE(antlr)RefAST constant_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
543 ANTLR_USE_NAMESPACE(antlr)RefAST str1 = ANTLR_USE_NAMESPACE(antlr)nullAST;
544 ANTLR_USE_NAMESPACE(antlr)RefAST str2 = ANTLR_USE_NAMESPACE(antlr)nullAST;
545#line 52 "MDTreeParser.g"
549 std::vector<RealType> dvec;
551#line 552 "MDTreeParser.cpp"
554 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
556 switch ( _t->getType()) {
562#line 58 "MDTreeParser.g"
563 blockStack.top()->assign(id->getText(), ival);
564#line 565 "MDTreeParser.cpp"
572#line 59 "MDTreeParser.g"
573 blockStack.top()->assign(id->getText(), dval);
574#line 575 "MDTreeParser.cpp"
581 _t = _t->getNextSibling();
582#line 60 "MDTreeParser.g"
583 blockStack.top()->assign(id->getText(), str1->getText());
584#line 585 "MDTreeParser.cpp"
590 match(_t,StringLiteral);
591 _t = _t->getNextSibling();
592#line 61 "MDTreeParser.g"
593 std::string s = str2->getText();
594 s = s.substr(1, s.length()-2);
595 blockStack.top()->assign(id->getText(),s);
597#line 598 "MDTreeParser.cpp"
602 ANTLR_USE_NAMESPACE(antlr)RefAST __t8 = _t;
603 ANTLR_USE_NAMESPACE(antlr)RefAST tmp20_AST_in = _t;
605 _t = _t->getFirstChild();
606 dvec=doubleNumberTuple(_t);
608 ANTLR_USE_NAMESPACE(antlr)RefAST tmp21_AST_in = _t;
610 _t = _t->getNextSibling();
612 _t = _t->getNextSibling();
613#line 66 "MDTreeParser.g"
615 blockStack.top()->assign(id->getText(), dvec);
617#line 618 "MDTreeParser.cpp"
622 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
626 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
628 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
629 _t = _t->getNextSibling();
634int MDTreeParser::intConst(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
635#line 382 "MDTreeParser.g"
637#line 638 "MDTreeParser.cpp"
638 ANTLR_USE_NAMESPACE(antlr)RefAST intConst_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
639 ANTLR_USE_NAMESPACE(antlr)RefAST i1 = ANTLR_USE_NAMESPACE(antlr)nullAST;
640 ANTLR_USE_NAMESPACE(antlr)RefAST i2 = ANTLR_USE_NAMESPACE(antlr)nullAST;
643 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
645 switch ( _t->getType()) {
650 _t = _t->getNextSibling();
651#line 383 "MDTreeParser.g"
652 ival = lexi_cast<int>(i1->getText());
653#line 654 "MDTreeParser.cpp"
660 _t = _t->getNextSibling();
661#line 384 "MDTreeParser.g"
662 ival = lexi_cast<int>(i2->getText());
663#line 664 "MDTreeParser.cpp"
668 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
672 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
674 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
675 _t = _t->getNextSibling();
681RealType MDTreeParser::floatConst(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
682#line 394 "MDTreeParser.g"
684#line 685 "MDTreeParser.cpp"
685 ANTLR_USE_NAMESPACE(antlr)RefAST floatConst_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
686 ANTLR_USE_NAMESPACE(antlr)RefAST d1 = ANTLR_USE_NAMESPACE(antlr)nullAST;
687 ANTLR_USE_NAMESPACE(antlr)RefAST d2 = ANTLR_USE_NAMESPACE(antlr)nullAST;
690 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
692 switch ( _t->getType()) {
697 _t = _t->getNextSibling();
698#line 395 "MDTreeParser.g"
699 dval = lexi_cast<RealType>(d1->getText());
700#line 701 "MDTreeParser.cpp"
706 match(_t,NUM_DOUBLE);
707 _t = _t->getNextSibling();
708#line 396 "MDTreeParser.g"
709 dval = lexi_cast<RealType>(d2->getText());
710#line 711 "MDTreeParser.cpp"
715 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
719 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
721 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
722 _t = _t->getNextSibling();
728vector<RealType> MDTreeParser::doubleNumberTuple(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
729#line 366 "MDTreeParser.g"
730 vector<RealType> dvec;
731#line 732 "MDTreeParser.cpp"
732 ANTLR_USE_NAMESPACE(antlr)RefAST doubleNumberTuple_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
733#line 366 "MDTreeParser.g"
737#line 738 "MDTreeParser.cpp"
743 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
745 if (((_t->getType() >= NUM_INT && _t->getType() <= NUM_DOUBLE))) {
746 dval=doubleNumber(_t);
748#line 370 "MDTreeParser.g"
749 dvec.push_back(dval);
750#line 751 "MDTreeParser.cpp"
753 if ( _cnt134>=1 ) {
goto _loop134; }
else {
throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);}
761 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
763 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
764 _t = _t->getNextSibling();
770void MDTreeParser::moleculestatement(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
771 ANTLR_USE_NAMESPACE(antlr)RefAST moleculestatement_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
774 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
776 switch ( _t->getType()) {
815 cutoffgroupblock(_t);
826 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
828 if ((_t->getType() == ASSIGNEQUAL)) {
832 else if ((_t->getType() == ASSIGNEQUAL)) {
837 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
841 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
843 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
844 _t = _t->getNextSibling();
849void MDTreeParser::atomblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
850 ANTLR_USE_NAMESPACE(antlr)RefAST atomblock_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
851#line 145 "MDTreeParser.g"
855#line 856 "MDTreeParser.cpp"
858 ANTLR_USE_NAMESPACE(antlr)RefAST __t50 = _t;
859 ANTLR_USE_NAMESPACE(antlr)RefAST tmp22_AST_in = _t;
861 _t = _t->getFirstChild();
864#line 149 "MDTreeParser.g"
866#line 867 "MDTreeParser.cpp"
869 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
871 if ((_tokenSet_3.member(_t->getType()))) {
882 ANTLR_USE_NAMESPACE(antlr)RefAST tmp23_AST_in = _t;
884 _t = _t->getNextSibling();
886 _t = _t->getNextSibling();
887#line 151 "MDTreeParser.g"
889 blockStack.top()->validate();
892 currMoleculeStamp->addAtomStamp(currAtomStamp);
894#line 895 "MDTreeParser.cpp"
896 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
898 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
899 _t = _t->getNextSibling();
904void MDTreeParser::bondblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
905 ANTLR_USE_NAMESPACE(antlr)RefAST bondblock_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
908 ANTLR_USE_NAMESPACE(antlr)RefAST __t58 = _t;
909 ANTLR_USE_NAMESPACE(antlr)RefAST tmp24_AST_in = _t;
911 _t = _t->getFirstChild();
912#line 174 "MDTreeParser.g"
914#line 915 "MDTreeParser.cpp"
917 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
919 if ((_tokenSet_4.member(_t->getType()))) {
930 ANTLR_USE_NAMESPACE(antlr)RefAST tmp25_AST_in = _t;
932 _t = _t->getNextSibling();
934 _t = _t->getNextSibling();
935#line 176 "MDTreeParser.g"
937 blockStack.top()->validate();
940 currMoleculeStamp->addBondStamp(currBondStamp);
942#line 943 "MDTreeParser.cpp"
944 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
946 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
947 _t = _t->getNextSibling();
952void MDTreeParser::bendblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
953 ANTLR_USE_NAMESPACE(antlr)RefAST bendblock_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
956 ANTLR_USE_NAMESPACE(antlr)RefAST __t70 = _t;
957 ANTLR_USE_NAMESPACE(antlr)RefAST tmp26_AST_in = _t;
959 _t = _t->getFirstChild();
960#line 201 "MDTreeParser.g"
962#line 963 "MDTreeParser.cpp"
965 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
967 if ((_tokenSet_5.member(_t->getType()))) {
978 ANTLR_USE_NAMESPACE(antlr)RefAST tmp27_AST_in = _t;
980 _t = _t->getNextSibling();
982 _t = _t->getNextSibling();
983#line 203 "MDTreeParser.g"
985 blockStack.top()->validate();
988 currMoleculeStamp->addBendStamp(currBendStamp);
990#line 991 "MDTreeParser.cpp"
992 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
994 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
995 _t = _t->getNextSibling();
1000void MDTreeParser::torsionblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
1001 ANTLR_USE_NAMESPACE(antlr)RefAST torsionblock_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
1004 ANTLR_USE_NAMESPACE(antlr)RefAST __t83 = _t;
1005 ANTLR_USE_NAMESPACE(antlr)RefAST tmp28_AST_in = _t;
1007 _t = _t->getFirstChild();
1008#line 228 "MDTreeParser.g"
1010#line 1011 "MDTreeParser.cpp"
1013 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
1015 if ((_tokenSet_6.member(_t->getType()))) {
1016 torsionstatement(_t);
1026 ANTLR_USE_NAMESPACE(antlr)RefAST tmp29_AST_in = _t;
1028 _t = _t->getNextSibling();
1030 _t = _t->getNextSibling();
1031#line 230 "MDTreeParser.g"
1033 blockStack.top()->validate();
1036 currMoleculeStamp->addTorsionStamp(currTorsionStamp);
1038#line 1039 "MDTreeParser.cpp"
1040 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
1042 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
1043 _t = _t->getNextSibling();
1048void MDTreeParser::inversionblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
1049 ANTLR_USE_NAMESPACE(antlr)RefAST inversionblock_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
1052 ANTLR_USE_NAMESPACE(antlr)RefAST __t97 = _t;
1053 ANTLR_USE_NAMESPACE(antlr)RefAST tmp30_AST_in = _t;
1055 _t = _t->getFirstChild();
1056#line 257 "MDTreeParser.g"
1058#line 1059 "MDTreeParser.cpp"
1061 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
1063 if ((_tokenSet_7.member(_t->getType()))) {
1064 inversionstatement(_t);
1074 ANTLR_USE_NAMESPACE(antlr)RefAST tmp31_AST_in = _t;
1076 _t = _t->getNextSibling();
1078 _t = _t->getNextSibling();
1079#line 259 "MDTreeParser.g"
1081 blockStack.top()->validate();
1084 currMoleculeStamp->addInversionStamp(currInversionStamp);
1086#line 1087 "MDTreeParser.cpp"
1088 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
1090 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
1091 _t = _t->getNextSibling();
1096void MDTreeParser::rigidbodyblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
1097 ANTLR_USE_NAMESPACE(antlr)RefAST rigidbodyblock_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
1098#line 285 "MDTreeParser.g"
1102#line 1103 "MDTreeParser.cpp"
1105 ANTLR_USE_NAMESPACE(antlr)RefAST __t109 = _t;
1106 ANTLR_USE_NAMESPACE(antlr)RefAST tmp32_AST_in = _t;
1107 match(_t,RIGIDBODY);
1108 _t = _t->getFirstChild();
1111#line 289 "MDTreeParser.g"
1113#line 1114 "MDTreeParser.cpp"
1116 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
1118 if ((_t->getType() == MEMBERS || _t->getType() == ASSIGNEQUAL)) {
1119 rigidbodystatement(_t);
1129 ANTLR_USE_NAMESPACE(antlr)RefAST tmp33_AST_in = _t;
1131 _t = _t->getNextSibling();
1133 _t = _t->getNextSibling();
1134#line 291 "MDTreeParser.g"
1136 blockStack.top()->validate();
1139 currMoleculeStamp->addRigidBodyStamp(currRigidBodyStamp);
1141#line 1142 "MDTreeParser.cpp"
1143 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
1145 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
1146 _t = _t->getNextSibling();
1151void MDTreeParser::cutoffgroupblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
1152 ANTLR_USE_NAMESPACE(antlr)RefAST cutoffgroupblock_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
1155 ANTLR_USE_NAMESPACE(antlr)RefAST __t115 = _t;
1156 ANTLR_USE_NAMESPACE(antlr)RefAST tmp34_AST_in = _t;
1157 match(_t,CUTOFFGROUP);
1158 _t = _t->getFirstChild();
1159#line 308 "MDTreeParser.g"
1161#line 1162 "MDTreeParser.cpp"
1164 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
1166 if ((_t->getType() == MEMBERS || _t->getType() == ASSIGNEQUAL)) {
1167 cutoffgroupstatement(_t);
1177 ANTLR_USE_NAMESPACE(antlr)RefAST tmp35_AST_in = _t;
1179 _t = _t->getNextSibling();
1181 _t = _t->getNextSibling();
1182#line 310 "MDTreeParser.g"
1184 blockStack.top()->validate();
1187 currMoleculeStamp->addCutoffGroupStamp(currCutoffGroupStamp);
1189#line 1190 "MDTreeParser.cpp"
1191 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
1193 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
1194 _t = _t->getNextSibling();
1199void MDTreeParser::constraintblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
1200 ANTLR_USE_NAMESPACE(antlr)RefAST constraintblock_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
1203 ANTLR_USE_NAMESPACE(antlr)RefAST __t121 = _t;
1204 ANTLR_USE_NAMESPACE(antlr)RefAST tmp36_AST_in = _t;
1205 match(_t,CONSTRAINT);
1206 _t = _t->getFirstChild();
1207#line 328 "MDTreeParser.g"
1209#line 1210 "MDTreeParser.cpp"
1212 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
1214 if ((_t->getType() == MEMBERS || _t->getType() == ASSIGNEQUAL)) {
1215 constraintstatement(_t);
1225 ANTLR_USE_NAMESPACE(antlr)RefAST tmp37_AST_in = _t;
1227 _t = _t->getNextSibling();
1229 _t = _t->getNextSibling();
1230#line 330 "MDTreeParser.g"
1234 currMoleculeStamp->addConstraintStamp(currConstraintStamp);
1236#line 1237 "MDTreeParser.cpp"
1238 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
1240 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
1241 _t = _t->getNextSibling();
1246void MDTreeParser::sequencestring(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
1247 ANTLR_USE_NAMESPACE(antlr)RefAST sequencestring_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
1248 ANTLR_USE_NAMESPACE(antlr)RefAST
id = ANTLR_USE_NAMESPACE(antlr)nullAST;
1251 ANTLR_USE_NAMESPACE(antlr)RefAST __t43 = _t;
1252 ANTLR_USE_NAMESPACE(antlr)RefAST tmp38_AST_in = _t;
1253 match(_t,ASSIGNEQUAL);
1254 _t = _t->getFirstChild();
1257 _t = _t->getNextSibling();
1263 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
1265 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
1266 _t = _t->getNextSibling();
1271void MDTreeParser::fragmentstatement(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
1272 ANTLR_USE_NAMESPACE(antlr)RefAST fragmentstatement_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
1275 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
1277 switch ( _t->getType()) {
1322 cutoffgroupblock(_t);
1328 constraintblock(_t);
1340 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
1344 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
1346 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
1347 _t = _t->getNextSibling();
1352void MDTreeParser::nodesblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
1353 ANTLR_USE_NAMESPACE(antlr)RefAST nodesblock_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
1356 ANTLR_USE_NAMESPACE(antlr)RefAST __t127 = _t;
1357 ANTLR_USE_NAMESPACE(antlr)RefAST tmp39_AST_in = _t;
1359 _t = _t->getFirstChild();
1360#line 347 "MDTreeParser.g"
1362#line 1363 "MDTreeParser.cpp"
1365 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
1367 if ((_t->getType() == MEMBERS || _t->getType() == ASSIGNEQUAL)) {
1378 ANTLR_USE_NAMESPACE(antlr)RefAST tmp40_AST_in = _t;
1380 _t = _t->getNextSibling();
1382 _t = _t->getNextSibling();
1383#line 349 "MDTreeParser.g"
1385 blockStack.top()->validate();
1388 currFragmentStamp->addNodesStamp(currNodesStamp);
1390#line 1391 "MDTreeParser.cpp"
1392 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
1394 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
1395 _t = _t->getNextSibling();
1400void MDTreeParser::atomstatement(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
1401 ANTLR_USE_NAMESPACE(antlr)RefAST atomstatement_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
1402#line 159 "MDTreeParser.g"
1404 vector<RealType> dvec;
1409#line 1410 "MDTreeParser.cpp"
1412 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
1414 switch ( _t->getType()) {
1423 ANTLR_USE_NAMESPACE(antlr)RefAST __t54 = _t;
1424 ANTLR_USE_NAMESPACE(antlr)RefAST tmp41_AST_in = _t;
1426 _t = _t->getFirstChild();
1427 dvec=doubleNumberTuple(_t);
1431#line 167 "MDTreeParser.g"
1432 currAtomStamp->setPosition(dvec);
1433#line 1434 "MDTreeParser.cpp"
1438 ANTLR_USE_NAMESPACE(antlr)RefAST __t55 = _t;
1439 ANTLR_USE_NAMESPACE(antlr)RefAST tmp42_AST_in = _t;
1440 match(_t,ORIENTATION);
1441 _t = _t->getFirstChild();
1442 dvec=doubleNumberTuple(_t);
1446#line 168 "MDTreeParser.g"
1447 currAtomStamp->setOrientation(dvec);
1448#line 1449 "MDTreeParser.cpp"
1453 ANTLR_USE_NAMESPACE(antlr)RefAST __t56 = _t;
1454 ANTLR_USE_NAMESPACE(antlr)RefAST tmp43_AST_in = _t;
1456 _t = _t->getFirstChild();
1457 rval=doubleNumber(_t);
1461#line 169 "MDTreeParser.g"
1462 currAtomStamp->overrideCharge(rval);
1463#line 1464 "MDTreeParser.cpp"
1468 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
1472 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
1474 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
1475 _t = _t->getNextSibling();
1480RealType MDTreeParser::doubleNumber(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
1481#line 388 "MDTreeParser.g"
1483#line 1484 "MDTreeParser.cpp"
1484 ANTLR_USE_NAMESPACE(antlr)RefAST doubleNumber_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
1485 ANTLR_USE_NAMESPACE(antlr)RefAST ic = ANTLR_USE_NAMESPACE(antlr)nullAST;
1486 ANTLR_USE_NAMESPACE(antlr)RefAST fc = ANTLR_USE_NAMESPACE(antlr)nullAST;
1489 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
1491 switch ( _t->getType()) {
1495 ic = (_t == ASTNULL) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
1498#line 389 "MDTreeParser.g"
1499 dval = lexi_cast<RealType>(ic->getText());
1500#line 1501 "MDTreeParser.cpp"
1506 fc = (_t == ASTNULL) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
1509#line 390 "MDTreeParser.g"
1510 dval = lexi_cast<RealType>(fc->getText());
1511#line 1512 "MDTreeParser.cpp"
1516 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
1520 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
1522 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
1523 _t = _t->getNextSibling();
1529void MDTreeParser::bondstatement(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
1530 ANTLR_USE_NAMESPACE(antlr)RefAST bondstatement_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
1531#line 184 "MDTreeParser.g"
1535 vector<RealType> dvec;
1538#line 1539 "MDTreeParser.cpp"
1541 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
1543 switch ( _t->getType()) {
1552 ANTLR_USE_NAMESPACE(antlr)RefAST __t62 = _t;
1553 ANTLR_USE_NAMESPACE(antlr)RefAST tmp44_AST_in = _t;
1555 _t = _t->getFirstChild();
1560#line 192 "MDTreeParser.g"
1561 currBondStamp->setMembers(ivec);
1562#line 1563 "MDTreeParser.cpp"
1567 ANTLR_USE_NAMESPACE(antlr)RefAST __t63 = _t;
1568 ANTLR_USE_NAMESPACE(antlr)RefAST tmp45_AST_in = _t;
1570 _t = _t->getFirstChild();
1571 rval=doubleNumber(_t);
1575#line 193 "MDTreeParser.g"
1576 currBondStamp->overrideType(
"Fixed", rval);
1577#line 1578 "MDTreeParser.cpp"
1582 ANTLR_USE_NAMESPACE(antlr)RefAST __t64 = _t;
1583 ANTLR_USE_NAMESPACE(antlr)RefAST tmp46_AST_in = _t;
1585 _t = _t->getFirstChild();
1586 dvec=doubleNumberTuple(_t);
1590#line 194 "MDTreeParser.g"
1591 currBondStamp->overrideType(
"Harmonic", dvec);
1592#line 1593 "MDTreeParser.cpp"
1597 ANTLR_USE_NAMESPACE(antlr)RefAST __t65 = _t;
1598 ANTLR_USE_NAMESPACE(antlr)RefAST tmp47_AST_in = _t;
1600 _t = _t->getFirstChild();
1601 dvec=doubleNumberTuple(_t);
1605#line 195 "MDTreeParser.g"
1606 currBondStamp->overrideType(
"Cubic", dvec);
1607#line 1608 "MDTreeParser.cpp"
1612 ANTLR_USE_NAMESPACE(antlr)RefAST __t66 = _t;
1613 ANTLR_USE_NAMESPACE(antlr)RefAST tmp48_AST_in = _t;
1615 _t = _t->getFirstChild();
1616 dvec=doubleNumberTuple(_t);
1620#line 196 "MDTreeParser.g"
1621 currBondStamp->overrideType(
"Quartic", dvec);
1622#line 1623 "MDTreeParser.cpp"
1627 ANTLR_USE_NAMESPACE(antlr)RefAST __t67 = _t;
1628 ANTLR_USE_NAMESPACE(antlr)RefAST tmp49_AST_in = _t;
1629 match(_t,POLYNOMIAL);
1630 _t = _t->getFirstChild();
1631 dvec=doubleNumberTuple(_t);
1635#line 197 "MDTreeParser.g"
1636 currBondStamp->overrideType(
"Polynomial", dvec);
1637#line 1638 "MDTreeParser.cpp"
1642 ANTLR_USE_NAMESPACE(antlr)RefAST __t68 = _t;
1643 ANTLR_USE_NAMESPACE(antlr)RefAST tmp50_AST_in = _t;
1645 _t = _t->getFirstChild();
1646 dvec=doubleNumberTuple(_t);
1650#line 198 "MDTreeParser.g"
1651 currBondStamp->overrideType(
"Morse", dvec);
1652#line 1653 "MDTreeParser.cpp"
1657 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
1661 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
1663 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
1664 _t = _t->getNextSibling();
1669vector<int> MDTreeParser::inttuple(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
1670#line 374 "MDTreeParser.g"
1672#line 1673 "MDTreeParser.cpp"
1673 ANTLR_USE_NAMESPACE(antlr)RefAST inttuple_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
1674#line 374 "MDTreeParser.g"
1678#line 1679 "MDTreeParser.cpp"
1684 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
1686 if ((_t->getType() == NUM_INT || _t->getType() == NUM_LONG)) {
1689#line 378 "MDTreeParser.g"
1690 ivec.push_back(ival);
1691#line 1692 "MDTreeParser.cpp"
1694 if ( _cnt137>=1 ) {
goto _loop137; }
else {
throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);}
1702 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
1704 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
1705 _t = _t->getNextSibling();
1711void MDTreeParser::bendstatement(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
1712 ANTLR_USE_NAMESPACE(antlr)RefAST bendstatement_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
1713#line 211 "MDTreeParser.g"
1716 vector<RealType> dvec;
1719#line 1720 "MDTreeParser.cpp"
1722 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
1724 switch ( _t->getType()) {
1733 ANTLR_USE_NAMESPACE(antlr)RefAST __t74 = _t;
1734 ANTLR_USE_NAMESPACE(antlr)RefAST tmp51_AST_in = _t;
1736 _t = _t->getFirstChild();
1741#line 218 "MDTreeParser.g"
1742 currBendStamp->setMembers(ivec);
1743#line 1744 "MDTreeParser.cpp"
1748 ANTLR_USE_NAMESPACE(antlr)RefAST __t75 = _t;
1749 ANTLR_USE_NAMESPACE(antlr)RefAST tmp52_AST_in = _t;
1751 _t = _t->getFirstChild();
1752 dvec=doubleNumberTuple(_t);
1756#line 219 "MDTreeParser.g"
1757 currBendStamp->overrideType(
"Harmonic", dvec);
1758#line 1759 "MDTreeParser.cpp"
1763 ANTLR_USE_NAMESPACE(antlr)RefAST __t76 = _t;
1764 ANTLR_USE_NAMESPACE(antlr)RefAST tmp53_AST_in = _t;
1765 match(_t,GHOSTBEND);
1766 _t = _t->getFirstChild();
1767 dvec=doubleNumberTuple(_t);
1771#line 220 "MDTreeParser.g"
1772 currBendStamp->overrideType(
"GhostBend", dvec);
1773#line 1774 "MDTreeParser.cpp"
1778 ANTLR_USE_NAMESPACE(antlr)RefAST __t77 = _t;
1779 ANTLR_USE_NAMESPACE(antlr)RefAST tmp54_AST_in = _t;
1780 match(_t,UREYBRADLEY);
1781 _t = _t->getFirstChild();
1782 dvec=doubleNumberTuple(_t);
1786#line 221 "MDTreeParser.g"
1787 currBendStamp->overrideType(
"UreyBradley", dvec);
1788#line 1789 "MDTreeParser.cpp"
1793 ANTLR_USE_NAMESPACE(antlr)RefAST __t78 = _t;
1794 ANTLR_USE_NAMESPACE(antlr)RefAST tmp55_AST_in = _t;
1796 _t = _t->getFirstChild();
1797 dvec=doubleNumberTuple(_t);
1801#line 222 "MDTreeParser.g"
1802 currBendStamp->overrideType(
"Cubic", dvec);
1803#line 1804 "MDTreeParser.cpp"
1808 ANTLR_USE_NAMESPACE(antlr)RefAST __t79 = _t;
1809 ANTLR_USE_NAMESPACE(antlr)RefAST tmp56_AST_in = _t;
1811 _t = _t->getFirstChild();
1812 dvec=doubleNumberTuple(_t);
1816#line 223 "MDTreeParser.g"
1817 currBendStamp->overrideType(
"Quartic", dvec);
1818#line 1819 "MDTreeParser.cpp"
1823 ANTLR_USE_NAMESPACE(antlr)RefAST __t80 = _t;
1824 ANTLR_USE_NAMESPACE(antlr)RefAST tmp57_AST_in = _t;
1825 match(_t,POLYNOMIAL);
1826 _t = _t->getFirstChild();
1827 dvec=doubleNumberTuple(_t);
1831#line 224 "MDTreeParser.g"
1832 currBendStamp->overrideType(
"Polynomial", dvec);
1833#line 1834 "MDTreeParser.cpp"
1838 ANTLR_USE_NAMESPACE(antlr)RefAST __t81 = _t;
1839 ANTLR_USE_NAMESPACE(antlr)RefAST tmp58_AST_in = _t;
1841 _t = _t->getFirstChild();
1842 dvec=doubleNumberTuple(_t);
1846#line 225 "MDTreeParser.g"
1847 currBendStamp->overrideType(
"Cosine", dvec);
1848#line 1849 "MDTreeParser.cpp"
1853 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
1857 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
1859 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
1860 _t = _t->getNextSibling();
1865void MDTreeParser::torsionstatement(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
1866 ANTLR_USE_NAMESPACE(antlr)RefAST torsionstatement_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
1867#line 238 "MDTreeParser.g"
1870 vector<RealType> dvec;
1873#line 1874 "MDTreeParser.cpp"
1876 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
1878 switch ( _t->getType()) {
1887 ANTLR_USE_NAMESPACE(antlr)RefAST __t87 = _t;
1888 ANTLR_USE_NAMESPACE(antlr)RefAST tmp59_AST_in = _t;
1890 _t = _t->getFirstChild();
1895#line 245 "MDTreeParser.g"
1896 currTorsionStamp->setMembers(ivec);
1897#line 1898 "MDTreeParser.cpp"
1902 ANTLR_USE_NAMESPACE(antlr)RefAST __t88 = _t;
1903 ANTLR_USE_NAMESPACE(antlr)RefAST tmp60_AST_in = _t;
1904 match(_t,GHOSTTORSION);
1905 _t = _t->getFirstChild();
1906 dvec=doubleNumberTuple(_t);
1910#line 246 "MDTreeParser.g"
1911 currTorsionStamp->overrideType(
"GhostTorsion", dvec);
1912#line 1913 "MDTreeParser.cpp"
1917 ANTLR_USE_NAMESPACE(antlr)RefAST __t89 = _t;
1918 ANTLR_USE_NAMESPACE(antlr)RefAST tmp61_AST_in = _t;
1920 _t = _t->getFirstChild();
1921 dvec=doubleNumberTuple(_t);
1925#line 247 "MDTreeParser.g"
1926 currTorsionStamp->overrideType(
"Cubic", dvec);
1927#line 1928 "MDTreeParser.cpp"
1932 ANTLR_USE_NAMESPACE(antlr)RefAST __t90 = _t;
1933 ANTLR_USE_NAMESPACE(antlr)RefAST tmp62_AST_in = _t;
1935 _t = _t->getFirstChild();
1936 dvec=doubleNumberTuple(_t);
1940#line 248 "MDTreeParser.g"
1941 currTorsionStamp->overrideType(
"Quartic", dvec);
1942#line 1943 "MDTreeParser.cpp"
1947 ANTLR_USE_NAMESPACE(antlr)RefAST __t91 = _t;
1948 ANTLR_USE_NAMESPACE(antlr)RefAST tmp63_AST_in = _t;
1949 match(_t,POLYNOMIAL);
1950 _t = _t->getFirstChild();
1951 dvec=doubleNumberTuple(_t);
1955#line 249 "MDTreeParser.g"
1956 currTorsionStamp->overrideType(
"Polynomial", dvec);
1957#line 1958 "MDTreeParser.cpp"
1962 ANTLR_USE_NAMESPACE(antlr)RefAST __t92 = _t;
1963 ANTLR_USE_NAMESPACE(antlr)RefAST tmp64_AST_in = _t;
1965 _t = _t->getFirstChild();
1966 dvec=doubleNumberTuple(_t);
1970#line 250 "MDTreeParser.g"
1971 currTorsionStamp->overrideType(
"Charmm", dvec);
1972#line 1973 "MDTreeParser.cpp"
1977 ANTLR_USE_NAMESPACE(antlr)RefAST __t93 = _t;
1978 ANTLR_USE_NAMESPACE(antlr)RefAST tmp65_AST_in = _t;
1980 _t = _t->getFirstChild();
1981 dvec=doubleNumberTuple(_t);
1985#line 251 "MDTreeParser.g"
1986 currTorsionStamp->overrideType(
"Opls", dvec);
1987#line 1988 "MDTreeParser.cpp"
1992 ANTLR_USE_NAMESPACE(antlr)RefAST __t94 = _t;
1993 ANTLR_USE_NAMESPACE(antlr)RefAST tmp66_AST_in = _t;
1995 _t = _t->getFirstChild();
1996 dvec=doubleNumberTuple(_t);
2000#line 252 "MDTreeParser.g"
2001 currTorsionStamp->overrideType(
"Trappe", dvec);
2002#line 2003 "MDTreeParser.cpp"
2007 ANTLR_USE_NAMESPACE(antlr)RefAST __t95 = _t;
2008 ANTLR_USE_NAMESPACE(antlr)RefAST tmp67_AST_in = _t;
2010 _t = _t->getFirstChild();
2011 dvec=doubleNumberTuple(_t);
2015#line 253 "MDTreeParser.g"
2016 currTorsionStamp->overrideType(
"Harmonic", dvec);
2017#line 2018 "MDTreeParser.cpp"
2022 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
2026 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
2028 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
2029 _t = _t->getNextSibling();
2034void MDTreeParser::inversionstatement(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
2035 ANTLR_USE_NAMESPACE(antlr)RefAST inversionstatement_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
2036#line 267 "MDTreeParser.g"
2040 vector<RealType> dvec;
2043#line 2044 "MDTreeParser.cpp"
2046 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
2048 switch ( _t->getType()) {
2057 ANTLR_USE_NAMESPACE(antlr)RefAST __t101 = _t;
2058 ANTLR_USE_NAMESPACE(antlr)RefAST tmp68_AST_in = _t;
2060 _t = _t->getFirstChild();
2065#line 275 "MDTreeParser.g"
2066 currInversionStamp->setCenter(icent);
2067#line 2068 "MDTreeParser.cpp"
2072 ANTLR_USE_NAMESPACE(antlr)RefAST __t102 = _t;
2073 ANTLR_USE_NAMESPACE(antlr)RefAST tmp69_AST_in = _t;
2074 match(_t,SATELLITES);
2075 _t = _t->getFirstChild();
2080#line 276 "MDTreeParser.g"
2081 currInversionStamp->setSatellites(ivec);
2082#line 2083 "MDTreeParser.cpp"
2087 ANTLR_USE_NAMESPACE(antlr)RefAST __t103 = _t;
2088 ANTLR_USE_NAMESPACE(antlr)RefAST tmp70_AST_in = _t;
2089 match(_t,AMBERIMPROPER);
2090 _t = _t->getFirstChild();
2091 dvec=doubleNumberTuple(_t);
2095#line 277 "MDTreeParser.g"
2096 currInversionStamp->overrideType(
"AmberImproper", dvec);
2097#line 2098 "MDTreeParser.cpp"
2100 case IMPROPERCOSINE:
2102 ANTLR_USE_NAMESPACE(antlr)RefAST __t104 = _t;
2103 ANTLR_USE_NAMESPACE(antlr)RefAST tmp71_AST_in = _t;
2104 match(_t,IMPROPERCOSINE);
2105 _t = _t->getFirstChild();
2106 dvec=doubleNumberTuple(_t);
2110#line 278 "MDTreeParser.g"
2111 currInversionStamp->overrideType(
"ImproperCosine", dvec);
2112#line 2113 "MDTreeParser.cpp"
2117 ANTLR_USE_NAMESPACE(antlr)RefAST __t105 = _t;
2118 ANTLR_USE_NAMESPACE(antlr)RefAST tmp72_AST_in = _t;
2120 _t = _t->getFirstChild();
2121 dvec=doubleNumberTuple(_t);
2125#line 279 "MDTreeParser.g"
2126 currInversionStamp->overrideType(
"Harmonic", dvec);
2127#line 2128 "MDTreeParser.cpp"
2130 case CENTRALATOMHEIGHT:
2132 ANTLR_USE_NAMESPACE(antlr)RefAST __t106 = _t;
2133 ANTLR_USE_NAMESPACE(antlr)RefAST tmp73_AST_in = _t;
2134 match(_t,CENTRALATOMHEIGHT);
2135 _t = _t->getFirstChild();
2136 dvec=doubleNumberTuple(_t);
2140#line 280 "MDTreeParser.g"
2141 currInversionStamp->overrideType(
"CentralAtomHeight", dvec);
2142#line 2143 "MDTreeParser.cpp"
2147 ANTLR_USE_NAMESPACE(antlr)RefAST __t107 = _t;
2148 ANTLR_USE_NAMESPACE(antlr)RefAST tmp74_AST_in = _t;
2150 _t = _t->getFirstChild();
2151 dvec=doubleNumberTuple(_t);
2155#line 281 "MDTreeParser.g"
2156 currInversionStamp->overrideType(
"Dreiding", dvec);
2157#line 2158 "MDTreeParser.cpp"
2162 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
2166 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
2168 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
2169 _t = _t->getNextSibling();
2174void MDTreeParser::rigidbodystatement(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
2175 ANTLR_USE_NAMESPACE(antlr)RefAST rigidbodystatement_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
2176#line 299 "MDTreeParser.g"
2181#line 2182 "MDTreeParser.cpp"
2184 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
2186 switch ( _t->getType()) {
2195 ANTLR_USE_NAMESPACE(antlr)RefAST __t113 = _t;
2196 ANTLR_USE_NAMESPACE(antlr)RefAST tmp75_AST_in = _t;
2198 _t = _t->getFirstChild();
2203#line 305 "MDTreeParser.g"
2204 currRigidBodyStamp->setMembers(ivec);
2205#line 2206 "MDTreeParser.cpp"
2210 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
2214 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
2216 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
2217 _t = _t->getNextSibling();
2222void MDTreeParser::cutoffgroupstatement(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
2223 ANTLR_USE_NAMESPACE(antlr)RefAST cutoffgroupstatement_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
2224#line 318 "MDTreeParser.g"
2229#line 2230 "MDTreeParser.cpp"
2232 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
2234 switch ( _t->getType()) {
2243 ANTLR_USE_NAMESPACE(antlr)RefAST __t119 = _t;
2244 ANTLR_USE_NAMESPACE(antlr)RefAST tmp76_AST_in = _t;
2246 _t = _t->getFirstChild();
2251#line 324 "MDTreeParser.g"
2252 currCutoffGroupStamp->setMembers(ivec);
2253#line 2254 "MDTreeParser.cpp"
2258 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
2262 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
2264 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
2265 _t = _t->getNextSibling();
2270void MDTreeParser::constraintstatement(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
2271 ANTLR_USE_NAMESPACE(antlr)RefAST constraintstatement_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
2272#line 337 "MDTreeParser.g"
2277#line 2278 "MDTreeParser.cpp"
2280 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
2282 switch ( _t->getType()) {
2291 ANTLR_USE_NAMESPACE(antlr)RefAST __t125 = _t;
2292 ANTLR_USE_NAMESPACE(antlr)RefAST tmp77_AST_in = _t;
2294 _t = _t->getFirstChild();
2299#line 343 "MDTreeParser.g"
2300 currConstraintStamp->setMembers(ivec);
2301#line 2302 "MDTreeParser.cpp"
2306 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
2310 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
2312 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
2313 _t = _t->getNextSibling();
2318void MDTreeParser::nodesstatement(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
2319 ANTLR_USE_NAMESPACE(antlr)RefAST nodesstatement_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
2320#line 357 "MDTreeParser.g"
2325#line 2326 "MDTreeParser.cpp"
2328 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
2330 switch ( _t->getType()) {
2339 ANTLR_USE_NAMESPACE(antlr)RefAST __t131 = _t;
2340 ANTLR_USE_NAMESPACE(antlr)RefAST tmp78_AST_in = _t;
2342 _t = _t->getFirstChild();
2347#line 363 "MDTreeParser.g"
2348 currNodesStamp->setMembers(ivec);
2349#line 2350 "MDTreeParser.cpp"
2354 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
2358 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
2360 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
2361 _t = _t->getNextSibling();
2366void MDTreeParser::initializeASTFactory( ANTLR_USE_NAMESPACE(antlr)ASTFactory& )
2369const char* MDTreeParser::tokenNames[] = {
2373 "NULL_TREE_LOOKAHEAD",
2411 "\"AmberImproper\"",
2412 "\"ImproperCosine\"",
2413 "\"CentralAtomHeight\"",
2454const unsigned long MDTreeParser::_tokenSet_0_data_[] = { 251789552UL, 131072UL, 0UL, 0UL };
2457const ANTLR_USE_NAMESPACE(antlr)BitSet MDTreeParser::_tokenSet_0(_tokenSet_0_data_,4);
2458const unsigned long MDTreeParser::_tokenSet_1_data_[] = { 65280UL, 131072UL, 0UL, 0UL };
2461const ANTLR_USE_NAMESPACE(antlr)BitSet MDTreeParser::_tokenSet_1(_tokenSet_1_data_,4);
2462const unsigned long MDTreeParser::_tokenSet_2_data_[] = { 65280UL, 147456UL, 0UL, 0UL };
2465const ANTLR_USE_NAMESPACE(antlr)BitSet MDTreeParser::_tokenSet_2(_tokenSet_2_data_,4);
2466const unsigned long MDTreeParser::_tokenSet_3_data_[] = { 12582912UL, 139264UL, 0UL, 0UL };
2468const ANTLR_USE_NAMESPACE(antlr)BitSet MDTreeParser::_tokenSet_3(_tokenSet_3_data_,4);
2469const unsigned long MDTreeParser::_tokenSet_4_data_[] = { 4027056128UL, 131075UL, 0UL, 0UL };
2472const ANTLR_USE_NAMESPACE(antlr)BitSet MDTreeParser::_tokenSet_4(_tokenSet_4_data_,4);
2473const unsigned long MDTreeParser::_tokenSet_5_data_[] = { 3758620672UL, 131101UL, 0UL, 0UL };
2476const ANTLR_USE_NAMESPACE(antlr)BitSet MDTreeParser::_tokenSet_5(_tokenSet_5_data_,4);
2477const unsigned long MDTreeParser::_tokenSet_6_data_[] = { 3758620672UL, 131553UL, 0UL, 0UL };
2480const ANTLR_USE_NAMESPACE(antlr)BitSet MDTreeParser::_tokenSet_6(_tokenSet_6_data_,4);
2481const unsigned long MDTreeParser::_tokenSet_7_data_[] = { 540016640UL, 138752UL, 0UL, 0UL };
2484const ANTLR_USE_NAMESPACE(antlr)BitSet MDTreeParser::_tokenSet_7(_tokenSet_7_data_,4);
virtual RefAST getNextSibling() const =0
Get the next sibling in line after this one.