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()) {
103 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
107 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
109 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
110 _t = _t->getNextSibling();
115void MDTreeParser::assignment(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
116 ANTLR_USE_NAMESPACE(antlr)RefAST assignment_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
117 ANTLR_USE_NAMESPACE(antlr)RefAST
id = ANTLR_USE_NAMESPACE(antlr)nullAST;
120 ANTLR_USE_NAMESPACE(antlr)RefAST __t6 = _t;
121 ANTLR_USE_NAMESPACE(antlr)RefAST tmp1_AST_in = _t;
122 match(_t,ASSIGNEQUAL);
123 _t = _t->getFirstChild();
126 _t = _t->getNextSibling();
132 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
134 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
135 _t = _t->getNextSibling();
140void MDTreeParser::componentblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
141 ANTLR_USE_NAMESPACE(antlr)RefAST componentblock_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
144 ANTLR_USE_NAMESPACE(antlr)RefAST __t10 = _t;
145 ANTLR_USE_NAMESPACE(antlr)RefAST tmp2_AST_in = _t;
147 _t = _t->getFirstChild();
148#line 70 "MDTreeParser.g"
150#line 151 "MDTreeParser.cpp"
153 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
155 if ((_t->getType() == ASSIGNEQUAL)) {
166 ANTLR_USE_NAMESPACE(antlr)RefAST tmp3_AST_in = _t;
168 _t = _t->getNextSibling();
170 _t = _t->getNextSibling();
171#line 72 "MDTreeParser.g"
172 blockStack.top()->validate();blockStack.pop(); currConf->addComponent(currComponet);
173#line 174 "MDTreeParser.cpp"
175 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
177 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
178 _t = _t->getNextSibling();
183void MDTreeParser::moleculeblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
184 ANTLR_USE_NAMESPACE(antlr)RefAST moleculeblock_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
187 ANTLR_USE_NAMESPACE(antlr)RefAST __t34 = _t;
188 ANTLR_USE_NAMESPACE(antlr)RefAST tmp4_AST_in = _t;
190 _t = _t->getFirstChild();
191#line 101 "MDTreeParser.g"
193#line 194 "MDTreeParser.cpp"
196 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
198 if ((_tokenSet_1.member(_t->getType()))) {
199 moleculestatement(_t);
209 ANTLR_USE_NAMESPACE(antlr)RefAST tmp5_AST_in = _t;
211 _t = _t->getNextSibling();
213 _t = _t->getNextSibling();
214#line 103 "MDTreeParser.g"
215 blockStack.top()->validate(); blockStack.pop(); currConf->addMoleculeStamp(currMoleculeStamp);
216#line 217 "MDTreeParser.cpp"
218 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
220 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
221 _t = _t->getNextSibling();
226void MDTreeParser::zconstraintblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
227 ANTLR_USE_NAMESPACE(antlr)RefAST zconstraintblock_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
230 ANTLR_USE_NAMESPACE(antlr)RefAST __t14 = _t;
231 ANTLR_USE_NAMESPACE(antlr)RefAST tmp6_AST_in = _t;
232 match(_t,ZCONSTRAINT);
233 _t = _t->getFirstChild();
234#line 75 "MDTreeParser.g"
236#line 237 "MDTreeParser.cpp"
239 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
241 if ((_t->getType() == ASSIGNEQUAL)) {
252 ANTLR_USE_NAMESPACE(antlr)RefAST tmp7_AST_in = _t;
254 _t = _t->getNextSibling();
256 _t = _t->getNextSibling();
257#line 77 "MDTreeParser.g"
258 blockStack.top()->validate();blockStack.pop(); currConf->addZConsStamp(currZConsStamp);
259#line 260 "MDTreeParser.cpp"
261 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
263 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
264 _t = _t->getNextSibling();
269void MDTreeParser::restraintblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
270 ANTLR_USE_NAMESPACE(antlr)RefAST restraintblock_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
273 ANTLR_USE_NAMESPACE(antlr)RefAST __t18 = _t;
274 ANTLR_USE_NAMESPACE(antlr)RefAST tmp8_AST_in = _t;
276 _t = _t->getFirstChild();
277#line 80 "MDTreeParser.g"
279#line 280 "MDTreeParser.cpp"
282 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
284 if ((_t->getType() == ASSIGNEQUAL)) {
295 ANTLR_USE_NAMESPACE(antlr)RefAST tmp9_AST_in = _t;
297 _t = _t->getNextSibling();
299 _t = _t->getNextSibling();
300#line 82 "MDTreeParser.g"
301 blockStack.top()->validate();blockStack.pop(); currConf->addRestraintStamp(currRestraintStamp);
302#line 303 "MDTreeParser.cpp"
304 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
306 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
307 _t = _t->getNextSibling();
312void MDTreeParser::flucqblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
313 ANTLR_USE_NAMESPACE(antlr)RefAST flucqblock_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
316 ANTLR_USE_NAMESPACE(antlr)RefAST __t22 = _t;
317 ANTLR_USE_NAMESPACE(antlr)RefAST tmp10_AST_in = _t;
319 _t = _t->getFirstChild();
320#line 85 "MDTreeParser.g"
322#line 323 "MDTreeParser.cpp"
325 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
327 if ((_t->getType() == ASSIGNEQUAL)) {
338 ANTLR_USE_NAMESPACE(antlr)RefAST tmp11_AST_in = _t;
340 _t = _t->getNextSibling();
342 _t = _t->getNextSibling();
343#line 87 "MDTreeParser.g"
344 blockStack.top()->validate();blockStack.pop(); currConf->addFluctuatingChargeParameters(flucQpars);
345#line 346 "MDTreeParser.cpp"
347 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
349 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
350 _t = _t->getNextSibling();
355void MDTreeParser::rnemdblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
356 ANTLR_USE_NAMESPACE(antlr)RefAST rnemdblock_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
359 ANTLR_USE_NAMESPACE(antlr)RefAST __t26 = _t;
360 ANTLR_USE_NAMESPACE(antlr)RefAST tmp12_AST_in = _t;
362 _t = _t->getFirstChild();
363#line 90 "MDTreeParser.g"
364 RNEMDParameters* rnemdPars =
new RNEMDParameters(); blockStack.push(rnemdPars);
365#line 366 "MDTreeParser.cpp"
368 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
370 if ((_t->getType() == ASSIGNEQUAL)) {
381 ANTLR_USE_NAMESPACE(antlr)RefAST tmp13_AST_in = _t;
383 _t = _t->getNextSibling();
385 _t = _t->getNextSibling();
386#line 92 "MDTreeParser.g"
387 blockStack.top()->validate();blockStack.pop(); currConf->addRNEMDParameters(rnemdPars);
388#line 389 "MDTreeParser.cpp"
390 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
392 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
393 _t = _t->getNextSibling();
398void MDTreeParser::minimizerblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
399 ANTLR_USE_NAMESPACE(antlr)RefAST minimizerblock_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
402 ANTLR_USE_NAMESPACE(antlr)RefAST __t30 = _t;
403 ANTLR_USE_NAMESPACE(antlr)RefAST tmp14_AST_in = _t;
405 _t = _t->getFirstChild();
406#line 95 "MDTreeParser.g"
408#line 409 "MDTreeParser.cpp"
411 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
413 if ((_t->getType() == ASSIGNEQUAL)) {
424 ANTLR_USE_NAMESPACE(antlr)RefAST tmp15_AST_in = _t;
426 _t = _t->getNextSibling();
428 _t = _t->getNextSibling();
429#line 97 "MDTreeParser.g"
430 blockStack.top()->validate();blockStack.pop(); currConf->addMinimizerParameters(minimizerPars);
431#line 432 "MDTreeParser.cpp"
433 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
435 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
436 _t = _t->getNextSibling();
441void MDTreeParser::constant(ANTLR_USE_NAMESPACE(antlr)RefAST _t,
442 ANTLR_USE_NAMESPACE(antlr)RefAST
id
444 ANTLR_USE_NAMESPACE(antlr)RefAST constant_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
445 ANTLR_USE_NAMESPACE(antlr)RefAST str1 = ANTLR_USE_NAMESPACE(antlr)nullAST;
446 ANTLR_USE_NAMESPACE(antlr)RefAST str2 = ANTLR_USE_NAMESPACE(antlr)nullAST;
447#line 50 "MDTreeParser.g"
451 std::vector<RealType> dvec;
453#line 454 "MDTreeParser.cpp"
456 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
458 switch ( _t->getType()) {
464#line 56 "MDTreeParser.g"
465 blockStack.top()->assign(id->getText(), ival);
466#line 467 "MDTreeParser.cpp"
474#line 57 "MDTreeParser.g"
475 blockStack.top()->assign(id->getText(), dval);
476#line 477 "MDTreeParser.cpp"
483 _t = _t->getNextSibling();
484#line 58 "MDTreeParser.g"
485 blockStack.top()->assign(id->getText(), str1->getText());
486#line 487 "MDTreeParser.cpp"
492 match(_t,StringLiteral);
493 _t = _t->getNextSibling();
494#line 59 "MDTreeParser.g"
495 std::string s = str2->getText();
496 s = s.substr(1, s.length()-2);
497 blockStack.top()->assign(id->getText(),s);
499#line 500 "MDTreeParser.cpp"
504 ANTLR_USE_NAMESPACE(antlr)RefAST __t8 = _t;
505 ANTLR_USE_NAMESPACE(antlr)RefAST tmp16_AST_in = _t;
507 _t = _t->getFirstChild();
508 dvec=doubleNumberTuple(_t);
510 ANTLR_USE_NAMESPACE(antlr)RefAST tmp17_AST_in = _t;
512 _t = _t->getNextSibling();
514 _t = _t->getNextSibling();
515#line 64 "MDTreeParser.g"
517 blockStack.top()->assign(id->getText(), dvec);
519#line 520 "MDTreeParser.cpp"
524 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
528 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
530 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
531 _t = _t->getNextSibling();
536int MDTreeParser::intConst(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
537#line 349 "MDTreeParser.g"
539#line 540 "MDTreeParser.cpp"
540 ANTLR_USE_NAMESPACE(antlr)RefAST intConst_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
541 ANTLR_USE_NAMESPACE(antlr)RefAST i1 = ANTLR_USE_NAMESPACE(antlr)nullAST;
542 ANTLR_USE_NAMESPACE(antlr)RefAST i2 = ANTLR_USE_NAMESPACE(antlr)nullAST;
545 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
547 switch ( _t->getType()) {
552 _t = _t->getNextSibling();
553#line 350 "MDTreeParser.g"
554 ival = lexi_cast<int>(i1->getText());
555#line 556 "MDTreeParser.cpp"
562 _t = _t->getNextSibling();
563#line 351 "MDTreeParser.g"
564 ival = lexi_cast<int>(i2->getText());
565#line 566 "MDTreeParser.cpp"
570 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
574 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
576 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
577 _t = _t->getNextSibling();
583RealType MDTreeParser::floatConst(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
584#line 361 "MDTreeParser.g"
586#line 587 "MDTreeParser.cpp"
587 ANTLR_USE_NAMESPACE(antlr)RefAST floatConst_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
588 ANTLR_USE_NAMESPACE(antlr)RefAST d1 = ANTLR_USE_NAMESPACE(antlr)nullAST;
589 ANTLR_USE_NAMESPACE(antlr)RefAST d2 = ANTLR_USE_NAMESPACE(antlr)nullAST;
592 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
594 switch ( _t->getType()) {
599 _t = _t->getNextSibling();
600#line 362 "MDTreeParser.g"
601 dval = lexi_cast<RealType>(d1->getText());
602#line 603 "MDTreeParser.cpp"
608 match(_t,NUM_DOUBLE);
609 _t = _t->getNextSibling();
610#line 363 "MDTreeParser.g"
611 dval = lexi_cast<RealType>(d2->getText());
612#line 613 "MDTreeParser.cpp"
617 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
621 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
623 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
624 _t = _t->getNextSibling();
630vector<RealType> MDTreeParser::doubleNumberTuple(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
631#line 333 "MDTreeParser.g"
632 vector<RealType> dvec;
633#line 634 "MDTreeParser.cpp"
634 ANTLR_USE_NAMESPACE(antlr)RefAST doubleNumberTuple_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
635#line 333 "MDTreeParser.g"
639#line 640 "MDTreeParser.cpp"
645 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
647 if (((_t->getType() >= NUM_INT && _t->getType() <= NUM_DOUBLE))) {
648 dval=doubleNumber(_t);
650#line 337 "MDTreeParser.g"
651 dvec.push_back(dval);
652#line 653 "MDTreeParser.cpp"
655 if ( _cnt122>=1 ) {
goto _loop122; }
else {
throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);}
663 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
665 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
666 _t = _t->getNextSibling();
672void MDTreeParser::moleculestatement(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
673 ANTLR_USE_NAMESPACE(antlr)RefAST moleculestatement_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
676 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
678 switch ( _t->getType()) {
723 cutoffgroupblock(_t);
741 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
745 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
747 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
748 _t = _t->getNextSibling();
753void MDTreeParser::atomblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
754 ANTLR_USE_NAMESPACE(antlr)RefAST atomblock_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
755#line 118 "MDTreeParser.g"
759#line 760 "MDTreeParser.cpp"
762 ANTLR_USE_NAMESPACE(antlr)RefAST __t39 = _t;
763 ANTLR_USE_NAMESPACE(antlr)RefAST tmp18_AST_in = _t;
765 _t = _t->getFirstChild();
768#line 122 "MDTreeParser.g"
770#line 771 "MDTreeParser.cpp"
773 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
775 if ((_tokenSet_2.member(_t->getType()))) {
786 ANTLR_USE_NAMESPACE(antlr)RefAST tmp19_AST_in = _t;
788 _t = _t->getNextSibling();
790 _t = _t->getNextSibling();
791#line 124 "MDTreeParser.g"
793 blockStack.top()->validate();
796 currMoleculeStamp->addAtomStamp(currAtomStamp);
798#line 799 "MDTreeParser.cpp"
800 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
802 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
803 _t = _t->getNextSibling();
808void MDTreeParser::bondblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
809 ANTLR_USE_NAMESPACE(antlr)RefAST bondblock_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
812 ANTLR_USE_NAMESPACE(antlr)RefAST __t47 = _t;
813 ANTLR_USE_NAMESPACE(antlr)RefAST tmp20_AST_in = _t;
815 _t = _t->getFirstChild();
816#line 147 "MDTreeParser.g"
818#line 819 "MDTreeParser.cpp"
821 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
823 if ((_tokenSet_3.member(_t->getType()))) {
834 ANTLR_USE_NAMESPACE(antlr)RefAST tmp21_AST_in = _t;
836 _t = _t->getNextSibling();
838 _t = _t->getNextSibling();
839#line 149 "MDTreeParser.g"
841 blockStack.top()->validate();
844 currMoleculeStamp->addBondStamp(currBondStamp);
846#line 847 "MDTreeParser.cpp"
848 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
850 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
851 _t = _t->getNextSibling();
856void MDTreeParser::bendblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
857 ANTLR_USE_NAMESPACE(antlr)RefAST bendblock_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
860 ANTLR_USE_NAMESPACE(antlr)RefAST __t59 = _t;
861 ANTLR_USE_NAMESPACE(antlr)RefAST tmp22_AST_in = _t;
863 _t = _t->getFirstChild();
864#line 174 "MDTreeParser.g"
866#line 867 "MDTreeParser.cpp"
869 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
871 if ((_tokenSet_4.member(_t->getType()))) {
882 ANTLR_USE_NAMESPACE(antlr)RefAST tmp23_AST_in = _t;
884 _t = _t->getNextSibling();
886 _t = _t->getNextSibling();
887#line 176 "MDTreeParser.g"
889 blockStack.top()->validate();
892 currMoleculeStamp->addBendStamp(currBendStamp);
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::torsionblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
905 ANTLR_USE_NAMESPACE(antlr)RefAST torsionblock_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
908 ANTLR_USE_NAMESPACE(antlr)RefAST __t72 = _t;
909 ANTLR_USE_NAMESPACE(antlr)RefAST tmp24_AST_in = _t;
911 _t = _t->getFirstChild();
912#line 201 "MDTreeParser.g"
914#line 915 "MDTreeParser.cpp"
917 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
919 if ((_tokenSet_5.member(_t->getType()))) {
920 torsionstatement(_t);
930 ANTLR_USE_NAMESPACE(antlr)RefAST tmp25_AST_in = _t;
932 _t = _t->getNextSibling();
934 _t = _t->getNextSibling();
935#line 203 "MDTreeParser.g"
937 blockStack.top()->validate();
940 currMoleculeStamp->addTorsionStamp(currTorsionStamp);
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::inversionblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
953 ANTLR_USE_NAMESPACE(antlr)RefAST inversionblock_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
956 ANTLR_USE_NAMESPACE(antlr)RefAST __t86 = _t;
957 ANTLR_USE_NAMESPACE(antlr)RefAST tmp26_AST_in = _t;
959 _t = _t->getFirstChild();
960#line 230 "MDTreeParser.g"
962#line 963 "MDTreeParser.cpp"
965 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
967 if ((_tokenSet_6.member(_t->getType()))) {
968 inversionstatement(_t);
978 ANTLR_USE_NAMESPACE(antlr)RefAST tmp27_AST_in = _t;
980 _t = _t->getNextSibling();
982 _t = _t->getNextSibling();
983#line 232 "MDTreeParser.g"
985 blockStack.top()->validate();
988 currMoleculeStamp->addInversionStamp(currInversionStamp);
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::rigidbodyblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
1001 ANTLR_USE_NAMESPACE(antlr)RefAST rigidbodyblock_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
1002#line 258 "MDTreeParser.g"
1006#line 1007 "MDTreeParser.cpp"
1009 ANTLR_USE_NAMESPACE(antlr)RefAST __t98 = _t;
1010 ANTLR_USE_NAMESPACE(antlr)RefAST tmp28_AST_in = _t;
1011 match(_t,RIGIDBODY);
1012 _t = _t->getFirstChild();
1015#line 262 "MDTreeParser.g"
1017#line 1018 "MDTreeParser.cpp"
1020 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
1022 if ((_t->getType() == MEMBERS || _t->getType() == ASSIGNEQUAL)) {
1023 rigidbodystatement(_t);
1033 ANTLR_USE_NAMESPACE(antlr)RefAST tmp29_AST_in = _t;
1035 _t = _t->getNextSibling();
1037 _t = _t->getNextSibling();
1038#line 264 "MDTreeParser.g"
1040 blockStack.top()->validate();
1043 currMoleculeStamp->addRigidBodyStamp(currRigidBodyStamp);
1045#line 1046 "MDTreeParser.cpp"
1047 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
1049 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
1050 _t = _t->getNextSibling();
1055void MDTreeParser::cutoffgroupblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
1056 ANTLR_USE_NAMESPACE(antlr)RefAST cutoffgroupblock_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
1059 ANTLR_USE_NAMESPACE(antlr)RefAST __t104 = _t;
1060 ANTLR_USE_NAMESPACE(antlr)RefAST tmp30_AST_in = _t;
1061 match(_t,CUTOFFGROUP);
1062 _t = _t->getFirstChild();
1063#line 281 "MDTreeParser.g"
1065#line 1066 "MDTreeParser.cpp"
1068 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
1070 if ((_t->getType() == MEMBERS || _t->getType() == ASSIGNEQUAL)) {
1071 cutoffgroupstatement(_t);
1081 ANTLR_USE_NAMESPACE(antlr)RefAST tmp31_AST_in = _t;
1083 _t = _t->getNextSibling();
1085 _t = _t->getNextSibling();
1086#line 283 "MDTreeParser.g"
1088 blockStack.top()->validate();
1091 currMoleculeStamp->addCutoffGroupStamp(currCutoffGroupStamp);
1093#line 1094 "MDTreeParser.cpp"
1095 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
1097 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
1098 _t = _t->getNextSibling();
1103void MDTreeParser::fragmentblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
1104 ANTLR_USE_NAMESPACE(antlr)RefAST fragmentblock_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
1105#line 300 "MDTreeParser.g"
1107#line 1108 "MDTreeParser.cpp"
1110 ANTLR_USE_NAMESPACE(antlr)RefAST __t110 = _t;
1111 ANTLR_USE_NAMESPACE(antlr)RefAST tmp32_AST_in = _t;
1113 _t = _t->getFirstChild();
1116#line 301 "MDTreeParser.g"
1118#line 1119 "MDTreeParser.cpp"
1121 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
1123 if ((_t->getType() == ASSIGNEQUAL)) {
1124 fragmentstatement(_t);
1134 ANTLR_USE_NAMESPACE(antlr)RefAST tmp33_AST_in = _t;
1136 _t = _t->getNextSibling();
1138 _t = _t->getNextSibling();
1139#line 303 "MDTreeParser.g"
1141 blockStack.top()->validate();
1144 currMoleculeStamp->addFragmentStamp(currFragmentStamp);
1146#line 1147 "MDTreeParser.cpp"
1148 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
1150 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
1151 _t = _t->getNextSibling();
1156void MDTreeParser::constraintblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
1157 ANTLR_USE_NAMESPACE(antlr)RefAST constraintblock_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
1160 ANTLR_USE_NAMESPACE(antlr)RefAST __t115 = _t;
1161 ANTLR_USE_NAMESPACE(antlr)RefAST tmp34_AST_in = _t;
1162 match(_t,CONSTRAINT);
1163 _t = _t->getFirstChild();
1164#line 314 "MDTreeParser.g"
1166#line 1167 "MDTreeParser.cpp"
1169 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
1171 if ((_t->getType() == MEMBERS || _t->getType() == ASSIGNEQUAL)) {
1172 constraintstatement(_t);
1182 ANTLR_USE_NAMESPACE(antlr)RefAST tmp35_AST_in = _t;
1184 _t = _t->getNextSibling();
1186 _t = _t->getNextSibling();
1187#line 316 "MDTreeParser.g"
1191 currMoleculeStamp->addConstraintStamp(currConstraintStamp);
1193#line 1194 "MDTreeParser.cpp"
1195 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
1197 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
1198 _t = _t->getNextSibling();
1203void MDTreeParser::atomstatement(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
1204 ANTLR_USE_NAMESPACE(antlr)RefAST atomstatement_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
1205#line 132 "MDTreeParser.g"
1207 vector<RealType> dvec;
1212#line 1213 "MDTreeParser.cpp"
1215 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
1217 switch ( _t->getType()) {
1226 ANTLR_USE_NAMESPACE(antlr)RefAST __t43 = _t;
1227 ANTLR_USE_NAMESPACE(antlr)RefAST tmp36_AST_in = _t;
1229 _t = _t->getFirstChild();
1230 dvec=doubleNumberTuple(_t);
1234#line 140 "MDTreeParser.g"
1235 currAtomStamp->setPosition(dvec);
1236#line 1237 "MDTreeParser.cpp"
1241 ANTLR_USE_NAMESPACE(antlr)RefAST __t44 = _t;
1242 ANTLR_USE_NAMESPACE(antlr)RefAST tmp37_AST_in = _t;
1243 match(_t,ORIENTATION);
1244 _t = _t->getFirstChild();
1245 dvec=doubleNumberTuple(_t);
1249#line 141 "MDTreeParser.g"
1250 currAtomStamp->setOrientation(dvec);
1251#line 1252 "MDTreeParser.cpp"
1256 ANTLR_USE_NAMESPACE(antlr)RefAST __t45 = _t;
1257 ANTLR_USE_NAMESPACE(antlr)RefAST tmp38_AST_in = _t;
1259 _t = _t->getFirstChild();
1260 rval=doubleNumber(_t);
1264#line 142 "MDTreeParser.g"
1265 currAtomStamp->overrideCharge(rval);
1266#line 1267 "MDTreeParser.cpp"
1271 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
1275 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
1277 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
1278 _t = _t->getNextSibling();
1283RealType MDTreeParser::doubleNumber(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
1284#line 355 "MDTreeParser.g"
1286#line 1287 "MDTreeParser.cpp"
1287 ANTLR_USE_NAMESPACE(antlr)RefAST doubleNumber_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
1288 ANTLR_USE_NAMESPACE(antlr)RefAST ic = ANTLR_USE_NAMESPACE(antlr)nullAST;
1289 ANTLR_USE_NAMESPACE(antlr)RefAST fc = ANTLR_USE_NAMESPACE(antlr)nullAST;
1292 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
1294 switch ( _t->getType()) {
1298 ic = (_t == ASTNULL) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
1301#line 356 "MDTreeParser.g"
1302 dval = lexi_cast<RealType>(ic->getText());
1303#line 1304 "MDTreeParser.cpp"
1309 fc = (_t == ASTNULL) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
1312#line 357 "MDTreeParser.g"
1313 dval = lexi_cast<RealType>(fc->getText());
1314#line 1315 "MDTreeParser.cpp"
1319 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
1323 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
1325 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
1326 _t = _t->getNextSibling();
1332void MDTreeParser::bondstatement(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
1333 ANTLR_USE_NAMESPACE(antlr)RefAST bondstatement_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
1334#line 157 "MDTreeParser.g"
1338 vector<RealType> dvec;
1341#line 1342 "MDTreeParser.cpp"
1344 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
1346 switch ( _t->getType()) {
1355 ANTLR_USE_NAMESPACE(antlr)RefAST __t51 = _t;
1356 ANTLR_USE_NAMESPACE(antlr)RefAST tmp39_AST_in = _t;
1358 _t = _t->getFirstChild();
1363#line 165 "MDTreeParser.g"
1364 currBondStamp->setMembers(ivec);
1365#line 1366 "MDTreeParser.cpp"
1370 ANTLR_USE_NAMESPACE(antlr)RefAST __t52 = _t;
1371 ANTLR_USE_NAMESPACE(antlr)RefAST tmp40_AST_in = _t;
1373 _t = _t->getFirstChild();
1374 rval=doubleNumber(_t);
1378#line 166 "MDTreeParser.g"
1379 currBondStamp->overrideType(
"Fixed", rval);
1380#line 1381 "MDTreeParser.cpp"
1385 ANTLR_USE_NAMESPACE(antlr)RefAST __t53 = _t;
1386 ANTLR_USE_NAMESPACE(antlr)RefAST tmp41_AST_in = _t;
1388 _t = _t->getFirstChild();
1389 dvec=doubleNumberTuple(_t);
1393#line 167 "MDTreeParser.g"
1394 currBondStamp->overrideType(
"Harmonic", dvec);
1395#line 1396 "MDTreeParser.cpp"
1400 ANTLR_USE_NAMESPACE(antlr)RefAST __t54 = _t;
1401 ANTLR_USE_NAMESPACE(antlr)RefAST tmp42_AST_in = _t;
1403 _t = _t->getFirstChild();
1404 dvec=doubleNumberTuple(_t);
1408#line 168 "MDTreeParser.g"
1409 currBondStamp->overrideType(
"Cubic", dvec);
1410#line 1411 "MDTreeParser.cpp"
1415 ANTLR_USE_NAMESPACE(antlr)RefAST __t55 = _t;
1416 ANTLR_USE_NAMESPACE(antlr)RefAST tmp43_AST_in = _t;
1418 _t = _t->getFirstChild();
1419 dvec=doubleNumberTuple(_t);
1423#line 169 "MDTreeParser.g"
1424 currBondStamp->overrideType(
"Quartic", dvec);
1425#line 1426 "MDTreeParser.cpp"
1430 ANTLR_USE_NAMESPACE(antlr)RefAST __t56 = _t;
1431 ANTLR_USE_NAMESPACE(antlr)RefAST tmp44_AST_in = _t;
1432 match(_t,POLYNOMIAL);
1433 _t = _t->getFirstChild();
1434 dvec=doubleNumberTuple(_t);
1438#line 170 "MDTreeParser.g"
1439 currBondStamp->overrideType(
"Polynomial", dvec);
1440#line 1441 "MDTreeParser.cpp"
1445 ANTLR_USE_NAMESPACE(antlr)RefAST __t57 = _t;
1446 ANTLR_USE_NAMESPACE(antlr)RefAST tmp45_AST_in = _t;
1448 _t = _t->getFirstChild();
1449 dvec=doubleNumberTuple(_t);
1453#line 171 "MDTreeParser.g"
1454 currBondStamp->overrideType(
"Morse", dvec);
1455#line 1456 "MDTreeParser.cpp"
1460 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
1464 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
1466 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
1467 _t = _t->getNextSibling();
1472vector<int> MDTreeParser::inttuple(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
1473#line 341 "MDTreeParser.g"
1475#line 1476 "MDTreeParser.cpp"
1476 ANTLR_USE_NAMESPACE(antlr)RefAST inttuple_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
1477#line 341 "MDTreeParser.g"
1481#line 1482 "MDTreeParser.cpp"
1487 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
1489 if ((_t->getType() == NUM_INT || _t->getType() == NUM_LONG)) {
1492#line 345 "MDTreeParser.g"
1493 ivec.push_back(ival);
1494#line 1495 "MDTreeParser.cpp"
1497 if ( _cnt125>=1 ) {
goto _loop125; }
else {
throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);}
1505 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
1507 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
1508 _t = _t->getNextSibling();
1514void MDTreeParser::bendstatement(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
1515 ANTLR_USE_NAMESPACE(antlr)RefAST bendstatement_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
1516#line 184 "MDTreeParser.g"
1519 vector<RealType> dvec;
1522#line 1523 "MDTreeParser.cpp"
1525 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
1527 switch ( _t->getType()) {
1536 ANTLR_USE_NAMESPACE(antlr)RefAST __t63 = _t;
1537 ANTLR_USE_NAMESPACE(antlr)RefAST tmp46_AST_in = _t;
1539 _t = _t->getFirstChild();
1544#line 191 "MDTreeParser.g"
1545 currBendStamp->setMembers(ivec);
1546#line 1547 "MDTreeParser.cpp"
1551 ANTLR_USE_NAMESPACE(antlr)RefAST __t64 = _t;
1552 ANTLR_USE_NAMESPACE(antlr)RefAST tmp47_AST_in = _t;
1554 _t = _t->getFirstChild();
1555 dvec=doubleNumberTuple(_t);
1559#line 192 "MDTreeParser.g"
1560 currBendStamp->overrideType(
"Harmonic", dvec);
1561#line 1562 "MDTreeParser.cpp"
1566 ANTLR_USE_NAMESPACE(antlr)RefAST __t65 = _t;
1567 ANTLR_USE_NAMESPACE(antlr)RefAST tmp48_AST_in = _t;
1568 match(_t,GHOSTBEND);
1569 _t = _t->getFirstChild();
1570 dvec=doubleNumberTuple(_t);
1574#line 193 "MDTreeParser.g"
1575 currBendStamp->overrideType(
"GhostBend", dvec);
1576#line 1577 "MDTreeParser.cpp"
1581 ANTLR_USE_NAMESPACE(antlr)RefAST __t66 = _t;
1582 ANTLR_USE_NAMESPACE(antlr)RefAST tmp49_AST_in = _t;
1583 match(_t,UREYBRADLEY);
1584 _t = _t->getFirstChild();
1585 dvec=doubleNumberTuple(_t);
1589#line 194 "MDTreeParser.g"
1590 currBendStamp->overrideType(
"UreyBradley", dvec);
1591#line 1592 "MDTreeParser.cpp"
1596 ANTLR_USE_NAMESPACE(antlr)RefAST __t67 = _t;
1597 ANTLR_USE_NAMESPACE(antlr)RefAST tmp50_AST_in = _t;
1599 _t = _t->getFirstChild();
1600 dvec=doubleNumberTuple(_t);
1604#line 195 "MDTreeParser.g"
1605 currBendStamp->overrideType(
"Cubic", dvec);
1606#line 1607 "MDTreeParser.cpp"
1611 ANTLR_USE_NAMESPACE(antlr)RefAST __t68 = _t;
1612 ANTLR_USE_NAMESPACE(antlr)RefAST tmp51_AST_in = _t;
1614 _t = _t->getFirstChild();
1615 dvec=doubleNumberTuple(_t);
1619#line 196 "MDTreeParser.g"
1620 currBendStamp->overrideType(
"Quartic", dvec);
1621#line 1622 "MDTreeParser.cpp"
1626 ANTLR_USE_NAMESPACE(antlr)RefAST __t69 = _t;
1627 ANTLR_USE_NAMESPACE(antlr)RefAST tmp52_AST_in = _t;
1628 match(_t,POLYNOMIAL);
1629 _t = _t->getFirstChild();
1630 dvec=doubleNumberTuple(_t);
1634#line 197 "MDTreeParser.g"
1635 currBendStamp->overrideType(
"Polynomial", dvec);
1636#line 1637 "MDTreeParser.cpp"
1641 ANTLR_USE_NAMESPACE(antlr)RefAST __t70 = _t;
1642 ANTLR_USE_NAMESPACE(antlr)RefAST tmp53_AST_in = _t;
1644 _t = _t->getFirstChild();
1645 dvec=doubleNumberTuple(_t);
1649#line 198 "MDTreeParser.g"
1650 currBendStamp->overrideType(
"Cosine", dvec);
1651#line 1652 "MDTreeParser.cpp"
1656 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
1660 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
1662 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
1663 _t = _t->getNextSibling();
1668void MDTreeParser::torsionstatement(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
1669 ANTLR_USE_NAMESPACE(antlr)RefAST torsionstatement_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
1670#line 211 "MDTreeParser.g"
1673 vector<RealType> dvec;
1676#line 1677 "MDTreeParser.cpp"
1679 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
1681 switch ( _t->getType()) {
1690 ANTLR_USE_NAMESPACE(antlr)RefAST __t76 = _t;
1691 ANTLR_USE_NAMESPACE(antlr)RefAST tmp54_AST_in = _t;
1693 _t = _t->getFirstChild();
1698#line 218 "MDTreeParser.g"
1699 currTorsionStamp->setMembers(ivec);
1700#line 1701 "MDTreeParser.cpp"
1705 ANTLR_USE_NAMESPACE(antlr)RefAST __t77 = _t;
1706 ANTLR_USE_NAMESPACE(antlr)RefAST tmp55_AST_in = _t;
1707 match(_t,GHOSTTORSION);
1708 _t = _t->getFirstChild();
1709 dvec=doubleNumberTuple(_t);
1713#line 219 "MDTreeParser.g"
1714 currTorsionStamp->overrideType(
"GhostTorsion", dvec);
1715#line 1716 "MDTreeParser.cpp"
1720 ANTLR_USE_NAMESPACE(antlr)RefAST __t78 = _t;
1721 ANTLR_USE_NAMESPACE(antlr)RefAST tmp56_AST_in = _t;
1723 _t = _t->getFirstChild();
1724 dvec=doubleNumberTuple(_t);
1728#line 220 "MDTreeParser.g"
1729 currTorsionStamp->overrideType(
"Cubic", dvec);
1730#line 1731 "MDTreeParser.cpp"
1735 ANTLR_USE_NAMESPACE(antlr)RefAST __t79 = _t;
1736 ANTLR_USE_NAMESPACE(antlr)RefAST tmp57_AST_in = _t;
1738 _t = _t->getFirstChild();
1739 dvec=doubleNumberTuple(_t);
1743#line 221 "MDTreeParser.g"
1744 currTorsionStamp->overrideType(
"Quartic", dvec);
1745#line 1746 "MDTreeParser.cpp"
1750 ANTLR_USE_NAMESPACE(antlr)RefAST __t80 = _t;
1751 ANTLR_USE_NAMESPACE(antlr)RefAST tmp58_AST_in = _t;
1752 match(_t,POLYNOMIAL);
1753 _t = _t->getFirstChild();
1754 dvec=doubleNumberTuple(_t);
1758#line 222 "MDTreeParser.g"
1759 currTorsionStamp->overrideType(
"Polynomial", dvec);
1760#line 1761 "MDTreeParser.cpp"
1765 ANTLR_USE_NAMESPACE(antlr)RefAST __t81 = _t;
1766 ANTLR_USE_NAMESPACE(antlr)RefAST tmp59_AST_in = _t;
1768 _t = _t->getFirstChild();
1769 dvec=doubleNumberTuple(_t);
1773#line 223 "MDTreeParser.g"
1774 currTorsionStamp->overrideType(
"Charmm", dvec);
1775#line 1776 "MDTreeParser.cpp"
1780 ANTLR_USE_NAMESPACE(antlr)RefAST __t82 = _t;
1781 ANTLR_USE_NAMESPACE(antlr)RefAST tmp60_AST_in = _t;
1783 _t = _t->getFirstChild();
1784 dvec=doubleNumberTuple(_t);
1788#line 224 "MDTreeParser.g"
1789 currTorsionStamp->overrideType(
"Opls", dvec);
1790#line 1791 "MDTreeParser.cpp"
1795 ANTLR_USE_NAMESPACE(antlr)RefAST __t83 = _t;
1796 ANTLR_USE_NAMESPACE(antlr)RefAST tmp61_AST_in = _t;
1798 _t = _t->getFirstChild();
1799 dvec=doubleNumberTuple(_t);
1803#line 225 "MDTreeParser.g"
1804 currTorsionStamp->overrideType(
"Trappe", dvec);
1805#line 1806 "MDTreeParser.cpp"
1810 ANTLR_USE_NAMESPACE(antlr)RefAST __t84 = _t;
1811 ANTLR_USE_NAMESPACE(antlr)RefAST tmp62_AST_in = _t;
1813 _t = _t->getFirstChild();
1814 dvec=doubleNumberTuple(_t);
1818#line 226 "MDTreeParser.g"
1819 currTorsionStamp->overrideType(
"Harmonic", dvec);
1820#line 1821 "MDTreeParser.cpp"
1825 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
1829 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
1831 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
1832 _t = _t->getNextSibling();
1837void MDTreeParser::inversionstatement(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
1838 ANTLR_USE_NAMESPACE(antlr)RefAST inversionstatement_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
1839#line 240 "MDTreeParser.g"
1843 vector<RealType> dvec;
1846#line 1847 "MDTreeParser.cpp"
1849 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
1851 switch ( _t->getType()) {
1860 ANTLR_USE_NAMESPACE(antlr)RefAST __t90 = _t;
1861 ANTLR_USE_NAMESPACE(antlr)RefAST tmp63_AST_in = _t;
1863 _t = _t->getFirstChild();
1868#line 248 "MDTreeParser.g"
1869 currInversionStamp->setCenter(icent);
1870#line 1871 "MDTreeParser.cpp"
1875 ANTLR_USE_NAMESPACE(antlr)RefAST __t91 = _t;
1876 ANTLR_USE_NAMESPACE(antlr)RefAST tmp64_AST_in = _t;
1877 match(_t,SATELLITES);
1878 _t = _t->getFirstChild();
1883#line 249 "MDTreeParser.g"
1884 currInversionStamp->setSatellites(ivec);
1885#line 1886 "MDTreeParser.cpp"
1890 ANTLR_USE_NAMESPACE(antlr)RefAST __t92 = _t;
1891 ANTLR_USE_NAMESPACE(antlr)RefAST tmp65_AST_in = _t;
1892 match(_t,AMBERIMPROPER);
1893 _t = _t->getFirstChild();
1894 dvec=doubleNumberTuple(_t);
1898#line 250 "MDTreeParser.g"
1899 currInversionStamp->overrideType(
"AmberImproper", dvec);
1900#line 1901 "MDTreeParser.cpp"
1903 case IMPROPERCOSINE:
1905 ANTLR_USE_NAMESPACE(antlr)RefAST __t93 = _t;
1906 ANTLR_USE_NAMESPACE(antlr)RefAST tmp66_AST_in = _t;
1907 match(_t,IMPROPERCOSINE);
1908 _t = _t->getFirstChild();
1909 dvec=doubleNumberTuple(_t);
1913#line 251 "MDTreeParser.g"
1914 currInversionStamp->overrideType(
"ImproperCosine", dvec);
1915#line 1916 "MDTreeParser.cpp"
1920 ANTLR_USE_NAMESPACE(antlr)RefAST __t94 = _t;
1921 ANTLR_USE_NAMESPACE(antlr)RefAST tmp67_AST_in = _t;
1923 _t = _t->getFirstChild();
1924 dvec=doubleNumberTuple(_t);
1928#line 252 "MDTreeParser.g"
1929 currInversionStamp->overrideType(
"Harmonic", dvec);
1930#line 1931 "MDTreeParser.cpp"
1933 case CENTRALATOMHEIGHT:
1935 ANTLR_USE_NAMESPACE(antlr)RefAST __t95 = _t;
1936 ANTLR_USE_NAMESPACE(antlr)RefAST tmp68_AST_in = _t;
1937 match(_t,CENTRALATOMHEIGHT);
1938 _t = _t->getFirstChild();
1939 dvec=doubleNumberTuple(_t);
1943#line 253 "MDTreeParser.g"
1944 currInversionStamp->overrideType(
"CentralAtomHeight", dvec);
1945#line 1946 "MDTreeParser.cpp"
1950 ANTLR_USE_NAMESPACE(antlr)RefAST __t96 = _t;
1951 ANTLR_USE_NAMESPACE(antlr)RefAST tmp69_AST_in = _t;
1953 _t = _t->getFirstChild();
1954 dvec=doubleNumberTuple(_t);
1958#line 254 "MDTreeParser.g"
1959 currInversionStamp->overrideType(
"Dreiding", dvec);
1960#line 1961 "MDTreeParser.cpp"
1965 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
1969 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
1971 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
1972 _t = _t->getNextSibling();
1977void MDTreeParser::rigidbodystatement(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
1978 ANTLR_USE_NAMESPACE(antlr)RefAST rigidbodystatement_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
1979#line 272 "MDTreeParser.g"
1984#line 1985 "MDTreeParser.cpp"
1987 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
1989 switch ( _t->getType()) {
1998 ANTLR_USE_NAMESPACE(antlr)RefAST __t102 = _t;
1999 ANTLR_USE_NAMESPACE(antlr)RefAST tmp70_AST_in = _t;
2001 _t = _t->getFirstChild();
2006#line 278 "MDTreeParser.g"
2007 currRigidBodyStamp->setMembers(ivec);
2008#line 2009 "MDTreeParser.cpp"
2013 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
2017 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
2019 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
2020 _t = _t->getNextSibling();
2025void MDTreeParser::cutoffgroupstatement(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
2026 ANTLR_USE_NAMESPACE(antlr)RefAST cutoffgroupstatement_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
2027#line 291 "MDTreeParser.g"
2032#line 2033 "MDTreeParser.cpp"
2035 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
2037 switch ( _t->getType()) {
2046 ANTLR_USE_NAMESPACE(antlr)RefAST __t108 = _t;
2047 ANTLR_USE_NAMESPACE(antlr)RefAST tmp71_AST_in = _t;
2049 _t = _t->getFirstChild();
2054#line 297 "MDTreeParser.g"
2055 currCutoffGroupStamp->setMembers(ivec);
2056#line 2057 "MDTreeParser.cpp"
2061 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
2065 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
2067 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
2068 _t = _t->getNextSibling();
2073void MDTreeParser::fragmentstatement(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
2074 ANTLR_USE_NAMESPACE(antlr)RefAST fragmentstatement_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
2080 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
2082 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
2083 _t = _t->getNextSibling();
2088void MDTreeParser::constraintstatement(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
2089 ANTLR_USE_NAMESPACE(antlr)RefAST constraintstatement_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
2090#line 323 "MDTreeParser.g"
2095#line 2096 "MDTreeParser.cpp"
2098 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
2100 switch ( _t->getType()) {
2109 ANTLR_USE_NAMESPACE(antlr)RefAST __t119 = _t;
2110 ANTLR_USE_NAMESPACE(antlr)RefAST tmp72_AST_in = _t;
2112 _t = _t->getFirstChild();
2117#line 329 "MDTreeParser.g"
2118 currConstraintStamp->setMembers(ivec);
2119#line 2120 "MDTreeParser.cpp"
2124 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
2128 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
2130 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
2131 _t = _t->getNextSibling();
2136void MDTreeParser::initializeASTFactory( ANTLR_USE_NAMESPACE(antlr)ASTFactory& )
2139const char* MDTreeParser::tokenNames[] = {
2143 "NULL_TREE_LOOKAHEAD",
2179 "\"AmberImproper\"",
2180 "\"ImproperCosine\"",
2181 "\"CentralAtomHeight\"",
2221const unsigned long MDTreeParser::_tokenSet_0_data_[] = { 58720496UL, 16384UL, 0UL, 0UL };
2224const ANTLR_USE_NAMESPACE(antlr)BitSet MDTreeParser::_tokenSet_0(_tokenSet_0_data_,4);
2225const unsigned long MDTreeParser::_tokenSet_1_data_[] = { 196352UL, 16384UL, 0UL, 0UL };
2228const ANTLR_USE_NAMESPACE(antlr)BitSet MDTreeParser::_tokenSet_1(_tokenSet_1_data_,4);
2229const unsigned long MDTreeParser::_tokenSet_2_data_[] = { 6291456UL, 18432UL, 0UL, 0UL };
2231const ANTLR_USE_NAMESPACE(antlr)BitSet MDTreeParser::_tokenSet_2(_tokenSet_2_data_,4);
2232const unsigned long MDTreeParser::_tokenSet_3_data_[] = { 4228120576UL, 16384UL, 0UL, 0UL };
2235const ANTLR_USE_NAMESPACE(antlr)BitSet MDTreeParser::_tokenSet_3(_tokenSet_3_data_,4);
2236const unsigned long MDTreeParser::_tokenSet_4_data_[] = { 2013528064UL, 16391UL, 0UL, 0UL };
2239const ANTLR_USE_NAMESPACE(antlr)BitSet MDTreeParser::_tokenSet_4(_tokenSet_4_data_,4);
2240const unsigned long MDTreeParser::_tokenSet_5_data_[] = { 2013528064UL, 16504UL, 0UL, 0UL };
2243const ANTLR_USE_NAMESPACE(antlr)BitSet MDTreeParser::_tokenSet_5(_tokenSet_5_data_,4);
2244const unsigned long MDTreeParser::_tokenSet_6_data_[] = { 135790592UL, 18304UL, 0UL, 0UL };
2247const ANTLR_USE_NAMESPACE(antlr)BitSet MDTreeParser::_tokenSet_6(_tokenSet_6_data_,4);
virtual RefAST getNextSibling() const =0
Get the next sibling in line after this one.