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()) {
109 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
113 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
115 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
116 _t = _t->getNextSibling();
121void MDTreeParser::assignment(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
122 ANTLR_USE_NAMESPACE(antlr)RefAST assignment_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
123 ANTLR_USE_NAMESPACE(antlr)RefAST
id = ANTLR_USE_NAMESPACE(antlr)nullAST;
126 ANTLR_USE_NAMESPACE(antlr)RefAST __t6 = _t;
127 ANTLR_USE_NAMESPACE(antlr)RefAST tmp1_AST_in = _t;
128 match(_t,ASSIGNEQUAL);
129 _t = _t->getFirstChild();
132 _t = _t->getNextSibling();
138 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
140 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
141 _t = _t->getNextSibling();
146void MDTreeParser::componentblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
147 ANTLR_USE_NAMESPACE(antlr)RefAST componentblock_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
150 ANTLR_USE_NAMESPACE(antlr)RefAST __t10 = _t;
151 ANTLR_USE_NAMESPACE(antlr)RefAST tmp2_AST_in = _t;
153 _t = _t->getFirstChild();
154#line 71 "MDTreeParser.g"
156#line 157 "MDTreeParser.cpp"
159 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
161 if ((_t->getType() == ASSIGNEQUAL)) {
172 ANTLR_USE_NAMESPACE(antlr)RefAST tmp3_AST_in = _t;
174 _t = _t->getNextSibling();
176 _t = _t->getNextSibling();
177#line 73 "MDTreeParser.g"
178 blockStack.top()->validate();blockStack.pop(); currConf->addComponent(currComponet);
179#line 180 "MDTreeParser.cpp"
181 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
183 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
184 _t = _t->getNextSibling();
189void MDTreeParser::moleculeblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
190 ANTLR_USE_NAMESPACE(antlr)RefAST moleculeblock_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
193 ANTLR_USE_NAMESPACE(antlr)RefAST __t34 = _t;
194 ANTLR_USE_NAMESPACE(antlr)RefAST tmp4_AST_in = _t;
196 _t = _t->getFirstChild();
197#line 102 "MDTreeParser.g"
199#line 200 "MDTreeParser.cpp"
202 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
204 if ((_tokenSet_1.member(_t->getType()))) {
205 moleculestatement(_t);
215 ANTLR_USE_NAMESPACE(antlr)RefAST tmp5_AST_in = _t;
217 _t = _t->getNextSibling();
219 _t = _t->getNextSibling();
220#line 104 "MDTreeParser.g"
221 blockStack.top()->validate(); blockStack.pop(); currConf->addMoleculeStamp(currMoleculeStamp);
222#line 223 "MDTreeParser.cpp"
224 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
226 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
227 _t = _t->getNextSibling();
232void MDTreeParser::fragmentblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
233 ANTLR_USE_NAMESPACE(antlr)RefAST fragmentblock_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
236 ANTLR_USE_NAMESPACE(antlr)RefAST __t41 = _t;
237 ANTLR_USE_NAMESPACE(antlr)RefAST tmp6_AST_in = _t;
239 _t = _t->getFirstChild();
240#line 122 "MDTreeParser.g"
242#line 243 "MDTreeParser.cpp"
245 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
247 if ((_tokenSet_2.member(_t->getType()))) {
248 fragmentstatement(_t);
258 ANTLR_USE_NAMESPACE(antlr)RefAST tmp7_AST_in = _t;
260 _t = _t->getNextSibling();
262 _t = _t->getNextSibling();
263#line 124 "MDTreeParser.g"
264 blockStack.top()->validate(); blockStack.pop(); currConf->addFragmentStamp(currFragmentStamp);
265#line 266 "MDTreeParser.cpp"
267 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
269 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
270 _t = _t->getNextSibling();
275void MDTreeParser::zconstraintblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
276 ANTLR_USE_NAMESPACE(antlr)RefAST zconstraintblock_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
279 ANTLR_USE_NAMESPACE(antlr)RefAST __t14 = _t;
280 ANTLR_USE_NAMESPACE(antlr)RefAST tmp8_AST_in = _t;
281 match(_t,ZCONSTRAINT);
282 _t = _t->getFirstChild();
283#line 76 "MDTreeParser.g"
285#line 286 "MDTreeParser.cpp"
288 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
290 if ((_t->getType() == ASSIGNEQUAL)) {
301 ANTLR_USE_NAMESPACE(antlr)RefAST tmp9_AST_in = _t;
303 _t = _t->getNextSibling();
305 _t = _t->getNextSibling();
306#line 78 "MDTreeParser.g"
307 blockStack.top()->validate();blockStack.pop(); currConf->addZConsStamp(currZConsStamp);
308#line 309 "MDTreeParser.cpp"
310 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
312 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
313 _t = _t->getNextSibling();
318void MDTreeParser::restraintblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
319 ANTLR_USE_NAMESPACE(antlr)RefAST restraintblock_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
322 ANTLR_USE_NAMESPACE(antlr)RefAST __t18 = _t;
323 ANTLR_USE_NAMESPACE(antlr)RefAST tmp10_AST_in = _t;
325 _t = _t->getFirstChild();
326#line 81 "MDTreeParser.g"
328#line 329 "MDTreeParser.cpp"
331 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
333 if ((_t->getType() == ASSIGNEQUAL)) {
344 ANTLR_USE_NAMESPACE(antlr)RefAST tmp11_AST_in = _t;
346 _t = _t->getNextSibling();
348 _t = _t->getNextSibling();
349#line 83 "MDTreeParser.g"
350 blockStack.top()->validate();blockStack.pop(); currConf->addRestraintStamp(currRestraintStamp);
351#line 352 "MDTreeParser.cpp"
353 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
355 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
356 _t = _t->getNextSibling();
361void MDTreeParser::flucqblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
362 ANTLR_USE_NAMESPACE(antlr)RefAST flucqblock_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
365 ANTLR_USE_NAMESPACE(antlr)RefAST __t22 = _t;
366 ANTLR_USE_NAMESPACE(antlr)RefAST tmp12_AST_in = _t;
368 _t = _t->getFirstChild();
369#line 86 "MDTreeParser.g"
371#line 372 "MDTreeParser.cpp"
374 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
376 if ((_t->getType() == ASSIGNEQUAL)) {
387 ANTLR_USE_NAMESPACE(antlr)RefAST tmp13_AST_in = _t;
389 _t = _t->getNextSibling();
391 _t = _t->getNextSibling();
392#line 88 "MDTreeParser.g"
393 blockStack.top()->validate();blockStack.pop(); currConf->addFluctuatingChargeParameters(flucQpars);
394#line 395 "MDTreeParser.cpp"
396 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
398 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
399 _t = _t->getNextSibling();
404void MDTreeParser::rnemdblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
405 ANTLR_USE_NAMESPACE(antlr)RefAST rnemdblock_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
408 ANTLR_USE_NAMESPACE(antlr)RefAST __t26 = _t;
409 ANTLR_USE_NAMESPACE(antlr)RefAST tmp14_AST_in = _t;
411 _t = _t->getFirstChild();
412#line 91 "MDTreeParser.g"
413 RNEMD::RNEMDParameters* rnemdPars =
new RNEMD::RNEMDParameters(); blockStack.push(rnemdPars);
414#line 415 "MDTreeParser.cpp"
417 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
419 if ((_t->getType() == ASSIGNEQUAL)) {
430 ANTLR_USE_NAMESPACE(antlr)RefAST tmp15_AST_in = _t;
432 _t = _t->getNextSibling();
434 _t = _t->getNextSibling();
435#line 93 "MDTreeParser.g"
436 blockStack.top()->validate();blockStack.pop(); currConf->addRNEMDParameters(rnemdPars);
437#line 438 "MDTreeParser.cpp"
439 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
441 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
442 _t = _t->getNextSibling();
447void MDTreeParser::minimizerblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
448 ANTLR_USE_NAMESPACE(antlr)RefAST minimizerblock_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
451 ANTLR_USE_NAMESPACE(antlr)RefAST __t30 = _t;
452 ANTLR_USE_NAMESPACE(antlr)RefAST tmp16_AST_in = _t;
454 _t = _t->getFirstChild();
455#line 96 "MDTreeParser.g"
457#line 458 "MDTreeParser.cpp"
460 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
462 if ((_t->getType() == ASSIGNEQUAL)) {
473 ANTLR_USE_NAMESPACE(antlr)RefAST tmp17_AST_in = _t;
475 _t = _t->getNextSibling();
477 _t = _t->getNextSibling();
478#line 98 "MDTreeParser.g"
479 blockStack.top()->validate();blockStack.pop(); currConf->addMinimizerParameters(minimizerPars);
480#line 481 "MDTreeParser.cpp"
482 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
484 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
485 _t = _t->getNextSibling();
490void MDTreeParser::constant(ANTLR_USE_NAMESPACE(antlr)RefAST _t,
491 ANTLR_USE_NAMESPACE(antlr)RefAST
id
493 ANTLR_USE_NAMESPACE(antlr)RefAST constant_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
494 ANTLR_USE_NAMESPACE(antlr)RefAST str1 = ANTLR_USE_NAMESPACE(antlr)nullAST;
495 ANTLR_USE_NAMESPACE(antlr)RefAST str2 = ANTLR_USE_NAMESPACE(antlr)nullAST;
496#line 51 "MDTreeParser.g"
500 std::vector<RealType> dvec;
502#line 503 "MDTreeParser.cpp"
505 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
507 switch ( _t->getType()) {
513#line 57 "MDTreeParser.g"
514 blockStack.top()->assign(id->getText(), ival);
515#line 516 "MDTreeParser.cpp"
523#line 58 "MDTreeParser.g"
524 blockStack.top()->assign(id->getText(), dval);
525#line 526 "MDTreeParser.cpp"
532 _t = _t->getNextSibling();
533#line 59 "MDTreeParser.g"
534 blockStack.top()->assign(id->getText(), str1->getText());
535#line 536 "MDTreeParser.cpp"
541 match(_t,StringLiteral);
542 _t = _t->getNextSibling();
543#line 60 "MDTreeParser.g"
544 std::string s = str2->getText();
545 s = s.substr(1, s.length()-2);
546 blockStack.top()->assign(id->getText(),s);
548#line 549 "MDTreeParser.cpp"
553 ANTLR_USE_NAMESPACE(antlr)RefAST __t8 = _t;
554 ANTLR_USE_NAMESPACE(antlr)RefAST tmp18_AST_in = _t;
556 _t = _t->getFirstChild();
557 dvec=doubleNumberTuple(_t);
559 ANTLR_USE_NAMESPACE(antlr)RefAST tmp19_AST_in = _t;
561 _t = _t->getNextSibling();
563 _t = _t->getNextSibling();
564#line 65 "MDTreeParser.g"
566 blockStack.top()->assign(id->getText(), dvec);
568#line 569 "MDTreeParser.cpp"
573 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
577 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
579 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
580 _t = _t->getNextSibling();
585int MDTreeParser::intConst(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
586#line 376 "MDTreeParser.g"
588#line 589 "MDTreeParser.cpp"
589 ANTLR_USE_NAMESPACE(antlr)RefAST intConst_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
590 ANTLR_USE_NAMESPACE(antlr)RefAST i1 = ANTLR_USE_NAMESPACE(antlr)nullAST;
591 ANTLR_USE_NAMESPACE(antlr)RefAST i2 = ANTLR_USE_NAMESPACE(antlr)nullAST;
594 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
596 switch ( _t->getType()) {
601 _t = _t->getNextSibling();
602#line 377 "MDTreeParser.g"
603 ival = lexi_cast<int>(i1->getText());
604#line 605 "MDTreeParser.cpp"
611 _t = _t->getNextSibling();
612#line 378 "MDTreeParser.g"
613 ival = lexi_cast<int>(i2->getText());
614#line 615 "MDTreeParser.cpp"
619 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
623 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
625 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
626 _t = _t->getNextSibling();
632RealType MDTreeParser::floatConst(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
633#line 388 "MDTreeParser.g"
635#line 636 "MDTreeParser.cpp"
636 ANTLR_USE_NAMESPACE(antlr)RefAST floatConst_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
637 ANTLR_USE_NAMESPACE(antlr)RefAST d1 = ANTLR_USE_NAMESPACE(antlr)nullAST;
638 ANTLR_USE_NAMESPACE(antlr)RefAST d2 = ANTLR_USE_NAMESPACE(antlr)nullAST;
641 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
643 switch ( _t->getType()) {
648 _t = _t->getNextSibling();
649#line 389 "MDTreeParser.g"
650 dval = lexi_cast<RealType>(d1->getText());
651#line 652 "MDTreeParser.cpp"
657 match(_t,NUM_DOUBLE);
658 _t = _t->getNextSibling();
659#line 390 "MDTreeParser.g"
660 dval = lexi_cast<RealType>(d2->getText());
661#line 662 "MDTreeParser.cpp"
666 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
670 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
672 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
673 _t = _t->getNextSibling();
679vector<RealType> MDTreeParser::doubleNumberTuple(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
680#line 360 "MDTreeParser.g"
681 vector<RealType> dvec;
682#line 683 "MDTreeParser.cpp"
683 ANTLR_USE_NAMESPACE(antlr)RefAST doubleNumberTuple_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
684#line 360 "MDTreeParser.g"
688#line 689 "MDTreeParser.cpp"
694 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
696 if (((_t->getType() >= NUM_INT && _t->getType() <= NUM_DOUBLE))) {
697 dval=doubleNumber(_t);
699#line 364 "MDTreeParser.g"
700 dvec.push_back(dval);
701#line 702 "MDTreeParser.cpp"
704 if ( _cnt130>=1 ) {
goto _loop130; }
else {
throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);}
712 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
714 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
715 _t = _t->getNextSibling();
721void MDTreeParser::moleculestatement(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
722 ANTLR_USE_NAMESPACE(antlr)RefAST moleculestatement_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
725 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
727 switch ( _t->getType()) {
766 cutoffgroupblock(_t);
777 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
779 if ((_t->getType() == ASSIGNEQUAL)) {
783 else if ((_t->getType() == ASSIGNEQUAL)) {
788 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
792 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
794 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
795 _t = _t->getNextSibling();
800void MDTreeParser::atomblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
801 ANTLR_USE_NAMESPACE(antlr)RefAST atomblock_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
802#line 139 "MDTreeParser.g"
806#line 807 "MDTreeParser.cpp"
809 ANTLR_USE_NAMESPACE(antlr)RefAST __t46 = _t;
810 ANTLR_USE_NAMESPACE(antlr)RefAST tmp20_AST_in = _t;
812 _t = _t->getFirstChild();
815#line 143 "MDTreeParser.g"
817#line 818 "MDTreeParser.cpp"
820 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
822 if ((_tokenSet_3.member(_t->getType()))) {
833 ANTLR_USE_NAMESPACE(antlr)RefAST tmp21_AST_in = _t;
835 _t = _t->getNextSibling();
837 _t = _t->getNextSibling();
838#line 145 "MDTreeParser.g"
840 blockStack.top()->validate();
843 currMoleculeStamp->addAtomStamp(currAtomStamp);
845#line 846 "MDTreeParser.cpp"
847 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
849 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
850 _t = _t->getNextSibling();
855void MDTreeParser::bondblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
856 ANTLR_USE_NAMESPACE(antlr)RefAST bondblock_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
859 ANTLR_USE_NAMESPACE(antlr)RefAST __t54 = _t;
860 ANTLR_USE_NAMESPACE(antlr)RefAST tmp22_AST_in = _t;
862 _t = _t->getFirstChild();
863#line 168 "MDTreeParser.g"
865#line 866 "MDTreeParser.cpp"
868 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
870 if ((_tokenSet_4.member(_t->getType()))) {
881 ANTLR_USE_NAMESPACE(antlr)RefAST tmp23_AST_in = _t;
883 _t = _t->getNextSibling();
885 _t = _t->getNextSibling();
886#line 170 "MDTreeParser.g"
888 blockStack.top()->validate();
891 currMoleculeStamp->addBondStamp(currBondStamp);
893#line 894 "MDTreeParser.cpp"
895 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
897 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
898 _t = _t->getNextSibling();
903void MDTreeParser::bendblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
904 ANTLR_USE_NAMESPACE(antlr)RefAST bendblock_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
907 ANTLR_USE_NAMESPACE(antlr)RefAST __t66 = _t;
908 ANTLR_USE_NAMESPACE(antlr)RefAST tmp24_AST_in = _t;
910 _t = _t->getFirstChild();
911#line 195 "MDTreeParser.g"
913#line 914 "MDTreeParser.cpp"
916 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
918 if ((_tokenSet_5.member(_t->getType()))) {
929 ANTLR_USE_NAMESPACE(antlr)RefAST tmp25_AST_in = _t;
931 _t = _t->getNextSibling();
933 _t = _t->getNextSibling();
934#line 197 "MDTreeParser.g"
936 blockStack.top()->validate();
939 currMoleculeStamp->addBendStamp(currBendStamp);
941#line 942 "MDTreeParser.cpp"
943 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
945 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
946 _t = _t->getNextSibling();
951void MDTreeParser::torsionblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
952 ANTLR_USE_NAMESPACE(antlr)RefAST torsionblock_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
955 ANTLR_USE_NAMESPACE(antlr)RefAST __t79 = _t;
956 ANTLR_USE_NAMESPACE(antlr)RefAST tmp26_AST_in = _t;
958 _t = _t->getFirstChild();
959#line 222 "MDTreeParser.g"
961#line 962 "MDTreeParser.cpp"
964 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
966 if ((_tokenSet_6.member(_t->getType()))) {
967 torsionstatement(_t);
977 ANTLR_USE_NAMESPACE(antlr)RefAST tmp27_AST_in = _t;
979 _t = _t->getNextSibling();
981 _t = _t->getNextSibling();
982#line 224 "MDTreeParser.g"
984 blockStack.top()->validate();
987 currMoleculeStamp->addTorsionStamp(currTorsionStamp);
989#line 990 "MDTreeParser.cpp"
991 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
993 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
994 _t = _t->getNextSibling();
999void MDTreeParser::inversionblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
1000 ANTLR_USE_NAMESPACE(antlr)RefAST inversionblock_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
1003 ANTLR_USE_NAMESPACE(antlr)RefAST __t93 = _t;
1004 ANTLR_USE_NAMESPACE(antlr)RefAST tmp28_AST_in = _t;
1006 _t = _t->getFirstChild();
1007#line 251 "MDTreeParser.g"
1009#line 1010 "MDTreeParser.cpp"
1012 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
1014 if ((_tokenSet_7.member(_t->getType()))) {
1015 inversionstatement(_t);
1025 ANTLR_USE_NAMESPACE(antlr)RefAST tmp29_AST_in = _t;
1027 _t = _t->getNextSibling();
1029 _t = _t->getNextSibling();
1030#line 253 "MDTreeParser.g"
1032 blockStack.top()->validate();
1035 currMoleculeStamp->addInversionStamp(currInversionStamp);
1037#line 1038 "MDTreeParser.cpp"
1039 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
1041 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
1042 _t = _t->getNextSibling();
1047void MDTreeParser::rigidbodyblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
1048 ANTLR_USE_NAMESPACE(antlr)RefAST rigidbodyblock_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
1049#line 279 "MDTreeParser.g"
1053#line 1054 "MDTreeParser.cpp"
1056 ANTLR_USE_NAMESPACE(antlr)RefAST __t105 = _t;
1057 ANTLR_USE_NAMESPACE(antlr)RefAST tmp30_AST_in = _t;
1058 match(_t,RIGIDBODY);
1059 _t = _t->getFirstChild();
1062#line 283 "MDTreeParser.g"
1064#line 1065 "MDTreeParser.cpp"
1067 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
1069 if ((_t->getType() == MEMBERS || _t->getType() == ASSIGNEQUAL)) {
1070 rigidbodystatement(_t);
1080 ANTLR_USE_NAMESPACE(antlr)RefAST tmp31_AST_in = _t;
1082 _t = _t->getNextSibling();
1084 _t = _t->getNextSibling();
1085#line 285 "MDTreeParser.g"
1087 blockStack.top()->validate();
1090 currMoleculeStamp->addRigidBodyStamp(currRigidBodyStamp);
1092#line 1093 "MDTreeParser.cpp"
1094 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
1096 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
1097 _t = _t->getNextSibling();
1102void MDTreeParser::cutoffgroupblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
1103 ANTLR_USE_NAMESPACE(antlr)RefAST cutoffgroupblock_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
1106 ANTLR_USE_NAMESPACE(antlr)RefAST __t111 = _t;
1107 ANTLR_USE_NAMESPACE(antlr)RefAST tmp32_AST_in = _t;
1108 match(_t,CUTOFFGROUP);
1109 _t = _t->getFirstChild();
1110#line 302 "MDTreeParser.g"
1112#line 1113 "MDTreeParser.cpp"
1115 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
1117 if ((_t->getType() == MEMBERS || _t->getType() == ASSIGNEQUAL)) {
1118 cutoffgroupstatement(_t);
1128 ANTLR_USE_NAMESPACE(antlr)RefAST tmp33_AST_in = _t;
1130 _t = _t->getNextSibling();
1132 _t = _t->getNextSibling();
1133#line 304 "MDTreeParser.g"
1135 blockStack.top()->validate();
1138 currMoleculeStamp->addCutoffGroupStamp(currCutoffGroupStamp);
1140#line 1141 "MDTreeParser.cpp"
1142 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
1144 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
1145 _t = _t->getNextSibling();
1150void MDTreeParser::constraintblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
1151 ANTLR_USE_NAMESPACE(antlr)RefAST constraintblock_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
1154 ANTLR_USE_NAMESPACE(antlr)RefAST __t117 = _t;
1155 ANTLR_USE_NAMESPACE(antlr)RefAST tmp34_AST_in = _t;
1156 match(_t,CONSTRAINT);
1157 _t = _t->getFirstChild();
1158#line 322 "MDTreeParser.g"
1160#line 1161 "MDTreeParser.cpp"
1163 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
1165 if ((_t->getType() == MEMBERS || _t->getType() == ASSIGNEQUAL)) {
1166 constraintstatement(_t);
1176 ANTLR_USE_NAMESPACE(antlr)RefAST tmp35_AST_in = _t;
1178 _t = _t->getNextSibling();
1180 _t = _t->getNextSibling();
1181#line 324 "MDTreeParser.g"
1185 currMoleculeStamp->addConstraintStamp(currConstraintStamp);
1187#line 1188 "MDTreeParser.cpp"
1189 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
1191 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
1192 _t = _t->getNextSibling();
1197void MDTreeParser::sequencestring(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
1198 ANTLR_USE_NAMESPACE(antlr)RefAST sequencestring_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
1199 ANTLR_USE_NAMESPACE(antlr)RefAST
id = ANTLR_USE_NAMESPACE(antlr)nullAST;
1202 ANTLR_USE_NAMESPACE(antlr)RefAST __t39 = _t;
1203 ANTLR_USE_NAMESPACE(antlr)RefAST tmp36_AST_in = _t;
1204 match(_t,ASSIGNEQUAL);
1205 _t = _t->getFirstChild();
1208 _t = _t->getNextSibling();
1214 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
1216 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
1217 _t = _t->getNextSibling();
1222void MDTreeParser::fragmentstatement(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
1223 ANTLR_USE_NAMESPACE(antlr)RefAST fragmentstatement_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
1226 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
1228 switch ( _t->getType()) {
1273 cutoffgroupblock(_t);
1279 constraintblock(_t);
1291 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
1295 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
1297 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
1298 _t = _t->getNextSibling();
1303void MDTreeParser::nodesblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
1304 ANTLR_USE_NAMESPACE(antlr)RefAST nodesblock_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
1307 ANTLR_USE_NAMESPACE(antlr)RefAST __t123 = _t;
1308 ANTLR_USE_NAMESPACE(antlr)RefAST tmp37_AST_in = _t;
1310 _t = _t->getFirstChild();
1311#line 341 "MDTreeParser.g"
1313#line 1314 "MDTreeParser.cpp"
1316 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
1318 if ((_t->getType() == MEMBERS || _t->getType() == ASSIGNEQUAL)) {
1329 ANTLR_USE_NAMESPACE(antlr)RefAST tmp38_AST_in = _t;
1331 _t = _t->getNextSibling();
1333 _t = _t->getNextSibling();
1334#line 343 "MDTreeParser.g"
1336 blockStack.top()->validate();
1339 currFragmentStamp->addNodesStamp(currNodesStamp);
1341#line 1342 "MDTreeParser.cpp"
1343 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
1345 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
1346 _t = _t->getNextSibling();
1351void MDTreeParser::atomstatement(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
1352 ANTLR_USE_NAMESPACE(antlr)RefAST atomstatement_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
1353#line 153 "MDTreeParser.g"
1355 vector<RealType> dvec;
1360#line 1361 "MDTreeParser.cpp"
1363 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
1365 switch ( _t->getType()) {
1374 ANTLR_USE_NAMESPACE(antlr)RefAST __t50 = _t;
1375 ANTLR_USE_NAMESPACE(antlr)RefAST tmp39_AST_in = _t;
1377 _t = _t->getFirstChild();
1378 dvec=doubleNumberTuple(_t);
1382#line 161 "MDTreeParser.g"
1383 currAtomStamp->setPosition(dvec);
1384#line 1385 "MDTreeParser.cpp"
1389 ANTLR_USE_NAMESPACE(antlr)RefAST __t51 = _t;
1390 ANTLR_USE_NAMESPACE(antlr)RefAST tmp40_AST_in = _t;
1391 match(_t,ORIENTATION);
1392 _t = _t->getFirstChild();
1393 dvec=doubleNumberTuple(_t);
1397#line 162 "MDTreeParser.g"
1398 currAtomStamp->setOrientation(dvec);
1399#line 1400 "MDTreeParser.cpp"
1404 ANTLR_USE_NAMESPACE(antlr)RefAST __t52 = _t;
1405 ANTLR_USE_NAMESPACE(antlr)RefAST tmp41_AST_in = _t;
1407 _t = _t->getFirstChild();
1408 rval=doubleNumber(_t);
1412#line 163 "MDTreeParser.g"
1413 currAtomStamp->overrideCharge(rval);
1414#line 1415 "MDTreeParser.cpp"
1419 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
1423 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
1425 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
1426 _t = _t->getNextSibling();
1431RealType MDTreeParser::doubleNumber(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
1432#line 382 "MDTreeParser.g"
1434#line 1435 "MDTreeParser.cpp"
1435 ANTLR_USE_NAMESPACE(antlr)RefAST doubleNumber_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
1436 ANTLR_USE_NAMESPACE(antlr)RefAST ic = ANTLR_USE_NAMESPACE(antlr)nullAST;
1437 ANTLR_USE_NAMESPACE(antlr)RefAST fc = ANTLR_USE_NAMESPACE(antlr)nullAST;
1440 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
1442 switch ( _t->getType()) {
1446 ic = (_t == ASTNULL) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
1449#line 383 "MDTreeParser.g"
1450 dval = lexi_cast<RealType>(ic->getText());
1451#line 1452 "MDTreeParser.cpp"
1457 fc = (_t == ASTNULL) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
1460#line 384 "MDTreeParser.g"
1461 dval = lexi_cast<RealType>(fc->getText());
1462#line 1463 "MDTreeParser.cpp"
1467 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
1471 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
1473 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
1474 _t = _t->getNextSibling();
1480void MDTreeParser::bondstatement(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
1481 ANTLR_USE_NAMESPACE(antlr)RefAST bondstatement_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
1482#line 178 "MDTreeParser.g"
1486 vector<RealType> dvec;
1489#line 1490 "MDTreeParser.cpp"
1492 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
1494 switch ( _t->getType()) {
1503 ANTLR_USE_NAMESPACE(antlr)RefAST __t58 = _t;
1504 ANTLR_USE_NAMESPACE(antlr)RefAST tmp42_AST_in = _t;
1506 _t = _t->getFirstChild();
1511#line 186 "MDTreeParser.g"
1512 currBondStamp->setMembers(ivec);
1513#line 1514 "MDTreeParser.cpp"
1518 ANTLR_USE_NAMESPACE(antlr)RefAST __t59 = _t;
1519 ANTLR_USE_NAMESPACE(antlr)RefAST tmp43_AST_in = _t;
1521 _t = _t->getFirstChild();
1522 rval=doubleNumber(_t);
1526#line 187 "MDTreeParser.g"
1527 currBondStamp->overrideType(
"Fixed", rval);
1528#line 1529 "MDTreeParser.cpp"
1533 ANTLR_USE_NAMESPACE(antlr)RefAST __t60 = _t;
1534 ANTLR_USE_NAMESPACE(antlr)RefAST tmp44_AST_in = _t;
1536 _t = _t->getFirstChild();
1537 dvec=doubleNumberTuple(_t);
1541#line 188 "MDTreeParser.g"
1542 currBondStamp->overrideType(
"Harmonic", dvec);
1543#line 1544 "MDTreeParser.cpp"
1548 ANTLR_USE_NAMESPACE(antlr)RefAST __t61 = _t;
1549 ANTLR_USE_NAMESPACE(antlr)RefAST tmp45_AST_in = _t;
1551 _t = _t->getFirstChild();
1552 dvec=doubleNumberTuple(_t);
1556#line 189 "MDTreeParser.g"
1557 currBondStamp->overrideType(
"Cubic", dvec);
1558#line 1559 "MDTreeParser.cpp"
1563 ANTLR_USE_NAMESPACE(antlr)RefAST __t62 = _t;
1564 ANTLR_USE_NAMESPACE(antlr)RefAST tmp46_AST_in = _t;
1566 _t = _t->getFirstChild();
1567 dvec=doubleNumberTuple(_t);
1571#line 190 "MDTreeParser.g"
1572 currBondStamp->overrideType(
"Quartic", dvec);
1573#line 1574 "MDTreeParser.cpp"
1578 ANTLR_USE_NAMESPACE(antlr)RefAST __t63 = _t;
1579 ANTLR_USE_NAMESPACE(antlr)RefAST tmp47_AST_in = _t;
1580 match(_t,POLYNOMIAL);
1581 _t = _t->getFirstChild();
1582 dvec=doubleNumberTuple(_t);
1586#line 191 "MDTreeParser.g"
1587 currBondStamp->overrideType(
"Polynomial", dvec);
1588#line 1589 "MDTreeParser.cpp"
1593 ANTLR_USE_NAMESPACE(antlr)RefAST __t64 = _t;
1594 ANTLR_USE_NAMESPACE(antlr)RefAST tmp48_AST_in = _t;
1596 _t = _t->getFirstChild();
1597 dvec=doubleNumberTuple(_t);
1601#line 192 "MDTreeParser.g"
1602 currBondStamp->overrideType(
"Morse", dvec);
1603#line 1604 "MDTreeParser.cpp"
1608 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
1612 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
1614 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
1615 _t = _t->getNextSibling();
1620vector<int> MDTreeParser::inttuple(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
1621#line 368 "MDTreeParser.g"
1623#line 1624 "MDTreeParser.cpp"
1624 ANTLR_USE_NAMESPACE(antlr)RefAST inttuple_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
1625#line 368 "MDTreeParser.g"
1629#line 1630 "MDTreeParser.cpp"
1635 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
1637 if ((_t->getType() == NUM_INT || _t->getType() == NUM_LONG)) {
1640#line 372 "MDTreeParser.g"
1641 ivec.push_back(ival);
1642#line 1643 "MDTreeParser.cpp"
1645 if ( _cnt133>=1 ) {
goto _loop133; }
else {
throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);}
1653 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
1655 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
1656 _t = _t->getNextSibling();
1662void MDTreeParser::bendstatement(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
1663 ANTLR_USE_NAMESPACE(antlr)RefAST bendstatement_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
1664#line 205 "MDTreeParser.g"
1667 vector<RealType> dvec;
1670#line 1671 "MDTreeParser.cpp"
1673 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
1675 switch ( _t->getType()) {
1684 ANTLR_USE_NAMESPACE(antlr)RefAST __t70 = _t;
1685 ANTLR_USE_NAMESPACE(antlr)RefAST tmp49_AST_in = _t;
1687 _t = _t->getFirstChild();
1692#line 212 "MDTreeParser.g"
1693 currBendStamp->setMembers(ivec);
1694#line 1695 "MDTreeParser.cpp"
1699 ANTLR_USE_NAMESPACE(antlr)RefAST __t71 = _t;
1700 ANTLR_USE_NAMESPACE(antlr)RefAST tmp50_AST_in = _t;
1702 _t = _t->getFirstChild();
1703 dvec=doubleNumberTuple(_t);
1707#line 213 "MDTreeParser.g"
1708 currBendStamp->overrideType(
"Harmonic", dvec);
1709#line 1710 "MDTreeParser.cpp"
1714 ANTLR_USE_NAMESPACE(antlr)RefAST __t72 = _t;
1715 ANTLR_USE_NAMESPACE(antlr)RefAST tmp51_AST_in = _t;
1716 match(_t,GHOSTBEND);
1717 _t = _t->getFirstChild();
1718 dvec=doubleNumberTuple(_t);
1722#line 214 "MDTreeParser.g"
1723 currBendStamp->overrideType(
"GhostBend", dvec);
1724#line 1725 "MDTreeParser.cpp"
1729 ANTLR_USE_NAMESPACE(antlr)RefAST __t73 = _t;
1730 ANTLR_USE_NAMESPACE(antlr)RefAST tmp52_AST_in = _t;
1731 match(_t,UREYBRADLEY);
1732 _t = _t->getFirstChild();
1733 dvec=doubleNumberTuple(_t);
1737#line 215 "MDTreeParser.g"
1738 currBendStamp->overrideType(
"UreyBradley", dvec);
1739#line 1740 "MDTreeParser.cpp"
1744 ANTLR_USE_NAMESPACE(antlr)RefAST __t74 = _t;
1745 ANTLR_USE_NAMESPACE(antlr)RefAST tmp53_AST_in = _t;
1747 _t = _t->getFirstChild();
1748 dvec=doubleNumberTuple(_t);
1752#line 216 "MDTreeParser.g"
1753 currBendStamp->overrideType(
"Cubic", dvec);
1754#line 1755 "MDTreeParser.cpp"
1759 ANTLR_USE_NAMESPACE(antlr)RefAST __t75 = _t;
1760 ANTLR_USE_NAMESPACE(antlr)RefAST tmp54_AST_in = _t;
1762 _t = _t->getFirstChild();
1763 dvec=doubleNumberTuple(_t);
1767#line 217 "MDTreeParser.g"
1768 currBendStamp->overrideType(
"Quartic", dvec);
1769#line 1770 "MDTreeParser.cpp"
1774 ANTLR_USE_NAMESPACE(antlr)RefAST __t76 = _t;
1775 ANTLR_USE_NAMESPACE(antlr)RefAST tmp55_AST_in = _t;
1776 match(_t,POLYNOMIAL);
1777 _t = _t->getFirstChild();
1778 dvec=doubleNumberTuple(_t);
1782#line 218 "MDTreeParser.g"
1783 currBendStamp->overrideType(
"Polynomial", dvec);
1784#line 1785 "MDTreeParser.cpp"
1789 ANTLR_USE_NAMESPACE(antlr)RefAST __t77 = _t;
1790 ANTLR_USE_NAMESPACE(antlr)RefAST tmp56_AST_in = _t;
1792 _t = _t->getFirstChild();
1793 dvec=doubleNumberTuple(_t);
1797#line 219 "MDTreeParser.g"
1798 currBendStamp->overrideType(
"Cosine", dvec);
1799#line 1800 "MDTreeParser.cpp"
1804 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
1808 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
1810 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
1811 _t = _t->getNextSibling();
1816void MDTreeParser::torsionstatement(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
1817 ANTLR_USE_NAMESPACE(antlr)RefAST torsionstatement_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
1818#line 232 "MDTreeParser.g"
1821 vector<RealType> dvec;
1824#line 1825 "MDTreeParser.cpp"
1827 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
1829 switch ( _t->getType()) {
1838 ANTLR_USE_NAMESPACE(antlr)RefAST __t83 = _t;
1839 ANTLR_USE_NAMESPACE(antlr)RefAST tmp57_AST_in = _t;
1841 _t = _t->getFirstChild();
1846#line 239 "MDTreeParser.g"
1847 currTorsionStamp->setMembers(ivec);
1848#line 1849 "MDTreeParser.cpp"
1853 ANTLR_USE_NAMESPACE(antlr)RefAST __t84 = _t;
1854 ANTLR_USE_NAMESPACE(antlr)RefAST tmp58_AST_in = _t;
1855 match(_t,GHOSTTORSION);
1856 _t = _t->getFirstChild();
1857 dvec=doubleNumberTuple(_t);
1861#line 240 "MDTreeParser.g"
1862 currTorsionStamp->overrideType(
"GhostTorsion", dvec);
1863#line 1864 "MDTreeParser.cpp"
1868 ANTLR_USE_NAMESPACE(antlr)RefAST __t85 = _t;
1869 ANTLR_USE_NAMESPACE(antlr)RefAST tmp59_AST_in = _t;
1871 _t = _t->getFirstChild();
1872 dvec=doubleNumberTuple(_t);
1876#line 241 "MDTreeParser.g"
1877 currTorsionStamp->overrideType(
"Cubic", dvec);
1878#line 1879 "MDTreeParser.cpp"
1883 ANTLR_USE_NAMESPACE(antlr)RefAST __t86 = _t;
1884 ANTLR_USE_NAMESPACE(antlr)RefAST tmp60_AST_in = _t;
1886 _t = _t->getFirstChild();
1887 dvec=doubleNumberTuple(_t);
1891#line 242 "MDTreeParser.g"
1892 currTorsionStamp->overrideType(
"Quartic", dvec);
1893#line 1894 "MDTreeParser.cpp"
1898 ANTLR_USE_NAMESPACE(antlr)RefAST __t87 = _t;
1899 ANTLR_USE_NAMESPACE(antlr)RefAST tmp61_AST_in = _t;
1900 match(_t,POLYNOMIAL);
1901 _t = _t->getFirstChild();
1902 dvec=doubleNumberTuple(_t);
1906#line 243 "MDTreeParser.g"
1907 currTorsionStamp->overrideType(
"Polynomial", dvec);
1908#line 1909 "MDTreeParser.cpp"
1913 ANTLR_USE_NAMESPACE(antlr)RefAST __t88 = _t;
1914 ANTLR_USE_NAMESPACE(antlr)RefAST tmp62_AST_in = _t;
1916 _t = _t->getFirstChild();
1917 dvec=doubleNumberTuple(_t);
1921#line 244 "MDTreeParser.g"
1922 currTorsionStamp->overrideType(
"Charmm", dvec);
1923#line 1924 "MDTreeParser.cpp"
1928 ANTLR_USE_NAMESPACE(antlr)RefAST __t89 = _t;
1929 ANTLR_USE_NAMESPACE(antlr)RefAST tmp63_AST_in = _t;
1931 _t = _t->getFirstChild();
1932 dvec=doubleNumberTuple(_t);
1936#line 245 "MDTreeParser.g"
1937 currTorsionStamp->overrideType(
"Opls", dvec);
1938#line 1939 "MDTreeParser.cpp"
1943 ANTLR_USE_NAMESPACE(antlr)RefAST __t90 = _t;
1944 ANTLR_USE_NAMESPACE(antlr)RefAST tmp64_AST_in = _t;
1946 _t = _t->getFirstChild();
1947 dvec=doubleNumberTuple(_t);
1951#line 246 "MDTreeParser.g"
1952 currTorsionStamp->overrideType(
"Trappe", dvec);
1953#line 1954 "MDTreeParser.cpp"
1958 ANTLR_USE_NAMESPACE(antlr)RefAST __t91 = _t;
1959 ANTLR_USE_NAMESPACE(antlr)RefAST tmp65_AST_in = _t;
1961 _t = _t->getFirstChild();
1962 dvec=doubleNumberTuple(_t);
1966#line 247 "MDTreeParser.g"
1967 currTorsionStamp->overrideType(
"Harmonic", dvec);
1968#line 1969 "MDTreeParser.cpp"
1973 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
1977 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
1979 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
1980 _t = _t->getNextSibling();
1985void MDTreeParser::inversionstatement(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
1986 ANTLR_USE_NAMESPACE(antlr)RefAST inversionstatement_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
1987#line 261 "MDTreeParser.g"
1991 vector<RealType> dvec;
1994#line 1995 "MDTreeParser.cpp"
1997 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
1999 switch ( _t->getType()) {
2008 ANTLR_USE_NAMESPACE(antlr)RefAST __t97 = _t;
2009 ANTLR_USE_NAMESPACE(antlr)RefAST tmp66_AST_in = _t;
2011 _t = _t->getFirstChild();
2016#line 269 "MDTreeParser.g"
2017 currInversionStamp->setCenter(icent);
2018#line 2019 "MDTreeParser.cpp"
2023 ANTLR_USE_NAMESPACE(antlr)RefAST __t98 = _t;
2024 ANTLR_USE_NAMESPACE(antlr)RefAST tmp67_AST_in = _t;
2025 match(_t,SATELLITES);
2026 _t = _t->getFirstChild();
2031#line 270 "MDTreeParser.g"
2032 currInversionStamp->setSatellites(ivec);
2033#line 2034 "MDTreeParser.cpp"
2038 ANTLR_USE_NAMESPACE(antlr)RefAST __t99 = _t;
2039 ANTLR_USE_NAMESPACE(antlr)RefAST tmp68_AST_in = _t;
2040 match(_t,AMBERIMPROPER);
2041 _t = _t->getFirstChild();
2042 dvec=doubleNumberTuple(_t);
2046#line 271 "MDTreeParser.g"
2047 currInversionStamp->overrideType(
"AmberImproper", dvec);
2048#line 2049 "MDTreeParser.cpp"
2051 case IMPROPERCOSINE:
2053 ANTLR_USE_NAMESPACE(antlr)RefAST __t100 = _t;
2054 ANTLR_USE_NAMESPACE(antlr)RefAST tmp69_AST_in = _t;
2055 match(_t,IMPROPERCOSINE);
2056 _t = _t->getFirstChild();
2057 dvec=doubleNumberTuple(_t);
2061#line 272 "MDTreeParser.g"
2062 currInversionStamp->overrideType(
"ImproperCosine", dvec);
2063#line 2064 "MDTreeParser.cpp"
2068 ANTLR_USE_NAMESPACE(antlr)RefAST __t101 = _t;
2069 ANTLR_USE_NAMESPACE(antlr)RefAST tmp70_AST_in = _t;
2071 _t = _t->getFirstChild();
2072 dvec=doubleNumberTuple(_t);
2076#line 273 "MDTreeParser.g"
2077 currInversionStamp->overrideType(
"Harmonic", dvec);
2078#line 2079 "MDTreeParser.cpp"
2081 case CENTRALATOMHEIGHT:
2083 ANTLR_USE_NAMESPACE(antlr)RefAST __t102 = _t;
2084 ANTLR_USE_NAMESPACE(antlr)RefAST tmp71_AST_in = _t;
2085 match(_t,CENTRALATOMHEIGHT);
2086 _t = _t->getFirstChild();
2087 dvec=doubleNumberTuple(_t);
2091#line 274 "MDTreeParser.g"
2092 currInversionStamp->overrideType(
"CentralAtomHeight", dvec);
2093#line 2094 "MDTreeParser.cpp"
2098 ANTLR_USE_NAMESPACE(antlr)RefAST __t103 = _t;
2099 ANTLR_USE_NAMESPACE(antlr)RefAST tmp72_AST_in = _t;
2101 _t = _t->getFirstChild();
2102 dvec=doubleNumberTuple(_t);
2106#line 275 "MDTreeParser.g"
2107 currInversionStamp->overrideType(
"Dreiding", dvec);
2108#line 2109 "MDTreeParser.cpp"
2113 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
2117 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
2119 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
2120 _t = _t->getNextSibling();
2125void MDTreeParser::rigidbodystatement(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
2126 ANTLR_USE_NAMESPACE(antlr)RefAST rigidbodystatement_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
2127#line 293 "MDTreeParser.g"
2132#line 2133 "MDTreeParser.cpp"
2135 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
2137 switch ( _t->getType()) {
2146 ANTLR_USE_NAMESPACE(antlr)RefAST __t109 = _t;
2147 ANTLR_USE_NAMESPACE(antlr)RefAST tmp73_AST_in = _t;
2149 _t = _t->getFirstChild();
2154#line 299 "MDTreeParser.g"
2155 currRigidBodyStamp->setMembers(ivec);
2156#line 2157 "MDTreeParser.cpp"
2161 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
2165 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
2167 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
2168 _t = _t->getNextSibling();
2173void MDTreeParser::cutoffgroupstatement(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
2174 ANTLR_USE_NAMESPACE(antlr)RefAST cutoffgroupstatement_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
2175#line 312 "MDTreeParser.g"
2180#line 2181 "MDTreeParser.cpp"
2183 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
2185 switch ( _t->getType()) {
2194 ANTLR_USE_NAMESPACE(antlr)RefAST __t115 = _t;
2195 ANTLR_USE_NAMESPACE(antlr)RefAST tmp74_AST_in = _t;
2197 _t = _t->getFirstChild();
2202#line 318 "MDTreeParser.g"
2203 currCutoffGroupStamp->setMembers(ivec);
2204#line 2205 "MDTreeParser.cpp"
2209 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
2213 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
2215 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
2216 _t = _t->getNextSibling();
2221void MDTreeParser::constraintstatement(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
2222 ANTLR_USE_NAMESPACE(antlr)RefAST constraintstatement_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
2223#line 331 "MDTreeParser.g"
2228#line 2229 "MDTreeParser.cpp"
2231 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
2233 switch ( _t->getType()) {
2242 ANTLR_USE_NAMESPACE(antlr)RefAST __t121 = _t;
2243 ANTLR_USE_NAMESPACE(antlr)RefAST tmp75_AST_in = _t;
2245 _t = _t->getFirstChild();
2250#line 337 "MDTreeParser.g"
2251 currConstraintStamp->setMembers(ivec);
2252#line 2253 "MDTreeParser.cpp"
2257 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
2261 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
2263 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
2264 _t = _t->getNextSibling();
2269void MDTreeParser::nodesstatement(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
2270 ANTLR_USE_NAMESPACE(antlr)RefAST nodesstatement_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
2271#line 351 "MDTreeParser.g"
2276#line 2277 "MDTreeParser.cpp"
2279 if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
2281 switch ( _t->getType()) {
2290 ANTLR_USE_NAMESPACE(antlr)RefAST __t127 = _t;
2291 ANTLR_USE_NAMESPACE(antlr)RefAST tmp76_AST_in = _t;
2293 _t = _t->getFirstChild();
2298#line 357 "MDTreeParser.g"
2299 currNodesStamp->setMembers(ivec);
2300#line 2301 "MDTreeParser.cpp"
2305 throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
2309 catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
2311 if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
2312 _t = _t->getNextSibling();
2317void MDTreeParser::initializeASTFactory( ANTLR_USE_NAMESPACE(antlr)ASTFactory& )
2320const char* MDTreeParser::tokenNames[] = {
2324 "NULL_TREE_LOOKAHEAD",
2361 "\"AmberImproper\"",
2362 "\"ImproperCosine\"",
2363 "\"CentralAtomHeight\"",
2404const unsigned long MDTreeParser::_tokenSet_0_data_[] = { 117571824UL, 65536UL, 0UL, 0UL };
2407const ANTLR_USE_NAMESPACE(antlr)BitSet MDTreeParser::_tokenSet_0(_tokenSet_0_data_,4);
2408const unsigned long MDTreeParser::_tokenSet_1_data_[] = { 65280UL, 65536UL, 0UL, 0UL };
2411const ANTLR_USE_NAMESPACE(antlr)BitSet MDTreeParser::_tokenSet_1(_tokenSet_1_data_,4);
2412const unsigned long MDTreeParser::_tokenSet_2_data_[] = { 65280UL, 73728UL, 0UL, 0UL };
2415const ANTLR_USE_NAMESPACE(antlr)BitSet MDTreeParser::_tokenSet_2(_tokenSet_2_data_,4);
2416const unsigned long MDTreeParser::_tokenSet_3_data_[] = { 12582912UL, 69632UL, 0UL, 0UL };
2418const ANTLR_USE_NAMESPACE(antlr)BitSet MDTreeParser::_tokenSet_3(_tokenSet_3_data_,4);
2419const unsigned long MDTreeParser::_tokenSet_4_data_[] = { 4161273856UL, 65537UL, 0UL, 0UL };
2422const ANTLR_USE_NAMESPACE(antlr)BitSet MDTreeParser::_tokenSet_4(_tokenSet_4_data_,4);
2423const unsigned long MDTreeParser::_tokenSet_5_data_[] = { 4027056128UL, 65550UL, 0UL, 0UL };
2426const ANTLR_USE_NAMESPACE(antlr)BitSet MDTreeParser::_tokenSet_5(_tokenSet_5_data_,4);
2427const unsigned long MDTreeParser::_tokenSet_6_data_[] = { 4027056128UL, 65776UL, 0UL, 0UL };
2430const ANTLR_USE_NAMESPACE(antlr)BitSet MDTreeParser::_tokenSet_6(_tokenSet_6_data_,4);
2431const unsigned long MDTreeParser::_tokenSet_7_data_[] = { 271581184UL, 69376UL, 0UL, 0UL };
2434const 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.