2#include "antlr4-runtime.h"
4#include "omdParser/FilenameObserver.hpp"
10#include "OMDListener.h"
11#include "OMDVisitor.h"
16using namespace antlrcpp;
18using namespace antlr4;
22struct OMDParserStaticData final {
23 OMDParserStaticData(std::vector<std::string> ruleNames,
24 std::vector<std::string> literalNames,
25 std::vector<std::string> symbolicNames)
26 : ruleNames(std::move(ruleNames)), literalNames(std::move(literalNames)),
27 symbolicNames(std::move(symbolicNames)),
28 vocabulary(this->literalNames, this->symbolicNames) {}
30 OMDParserStaticData(
const OMDParserStaticData&) =
delete;
31 OMDParserStaticData(OMDParserStaticData&&) =
delete;
32 OMDParserStaticData& operator=(
const OMDParserStaticData&) =
delete;
33 OMDParserStaticData& operator=(OMDParserStaticData&&) =
delete;
35 std::vector<antlr4::dfa::DFA> decisionToDFA;
36 antlr4::atn::PredictionContextCache sharedContextCache;
37 const std::vector<std::string> ruleNames;
38 const std::vector<std::string> literalNames;
39 const std::vector<std::string> symbolicNames;
40 const antlr4::dfa::Vocabulary vocabulary;
41 antlr4::atn::SerializedATNView serializedATN;
42 std::unique_ptr<antlr4::atn::ATN> atn;
45::antlr4::internal::OnceFlag omdParserOnceFlag;
46#if ANTLR4_USE_THREAD_LOCAL_CACHE
49std::unique_ptr<OMDParserStaticData> omdParserStaticData =
nullptr;
51void omdParserInitialize() {
52#if ANTLR4_USE_THREAD_LOCAL_CACHE
53 if (omdParserStaticData !=
nullptr) {
57 assert(omdParserStaticData ==
nullptr);
59 auto staticData = std::make_unique<OMDParserStaticData>(
60 std::vector<std::string>{
61 "omdfile",
"statement",
"assignment",
"constant",
"componentblock",
62 "zconstraintblock",
"restraintblock",
"flucqblock",
"rnemdblock",
63 "lightblock",
"velocityfieldblock",
"minimizerblock",
"moleculeblock",
64 "moleculestatement",
"atomblock",
"atomstatement",
"bondblock",
"bondstatement",
65 "bendblock",
"bendstatement",
"torsionblock",
"torsionstatement",
66 "inversionblock",
"inversionstatement",
"rigidbodyblock",
"rigidbodystatement",
67 "cutoffgroupblock",
"cutoffgroupstatement",
"nodesblock",
"nodesstatement",
68 "fragmentblock",
"fragmentstatement",
"constraintblock",
"constraintstatement",
69 "sequencestring",
"doubleNumberTuple",
"inttuple",
"intConst",
"doubleNumber",
70 "floatConst",
"vectorConst"
72 std::vector<std::string>{
73 "",
"'true'",
"'false'",
"'component'",
"'molecule'",
"'zconstraint'",
74 "'restraint'",
"'atom'",
"'bond'",
"'bend'",
"'torsion'",
"'inversion'",
75 "'rigidBody'",
"'cutoffGroup'",
"'constraint'",
"'distance'",
"'fragment'",
76 "'sequence'",
"'members'",
"'center'",
"'satellites'",
"'position'",
77 "'orientation'",
"'flucQ'",
"'RNEMD'",
"'light'",
"'velocityField'",
78 "'minimizer'",
"'Fixed'",
"'Harmonic'",
"'Cubic'",
"'Quartic'",
"'Polynomial'",
79 "'Morse'",
"'GhostBend'",
"'UreyBradley'",
"'Cosine'",
"'GhostTorsion'",
80 "'Charmm'",
"'Opls'",
"'Trappe'",
"'AmberImproper'",
"'ImproperCosine'",
81 "'CentralAtomHeight'",
"'Dreiding'",
"'charge'",
"'nodes'",
"'='",
82 "':'",
"','",
"'\\u003F'",
"';'",
"'.'",
"'('",
"')'",
"'['",
"']'",
85 std::vector<std::string>{
86 "",
"TRUE",
"FALSE",
"COMPONENT",
"MOLECULE",
"ZCONSTRAINT",
"RESTRAINT",
87 "ATOM",
"BOND",
"BEND",
"TORSION",
"INVERSION",
"RIGIDBODY",
"CUTOFFGROUP",
88 "CONSTRAINT",
"DISTANCE",
"FRAGMENT",
"SEQUENCE",
"MEMBERS",
"CENTER",
89 "SATELLITES",
"POSITION",
"ORIENTATION",
"FLUCQ",
"RNEMD",
"LIGHT",
90 "VELOCITYFIELD",
"MINIMIZER",
"FIXED",
"HARMONIC",
"CUBIC",
"QUARTIC",
91 "POLYNOMIAL",
"MORSE",
"GHOSTBEND",
"UREYBRADLEY",
"COSINE",
"GHOSTTORSION",
92 "CHARMM",
"OPLS",
"TRAPPE",
"AMBERIMPROPER",
"IMPROPERCOSINE",
"CENTRALATOMHEIGHT",
93 "DREIDING",
"CHARGE",
"NODES",
"ASSIGNEQUAL",
"COLON",
"COMMA",
"QUESTIONMARK",
94 "SEMICOLON",
"DOT",
"LPAREN",
"RPAREN",
"LBRACKET",
"RBRACKET",
"LCURLY",
95 "RCURLY",
"NUM_LONG",
"NUM_INT",
"NUM_FLOAT",
"NUM_DOUBLE",
"CharLiteral",
96 "StringLiteral",
"ID",
"Whitespace",
"Newline",
"LineContinuation",
97 "Comment",
"CPPComment",
"PREPROC_DIRECTIVE"
100 static const int32_t serializedATNSegment[] = {
101 4,1,71,668,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2,
102 7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14,7,
103 14,2,15,7,15,2,16,7,16,2,17,7,17,2,18,7,18,2,19,7,19,2,20,7,20,2,21,7,
104 21,2,22,7,22,2,23,7,23,2,24,7,24,2,25,7,25,2,26,7,26,2,27,7,27,2,28,7,
105 28,2,29,7,29,2,30,7,30,2,31,7,31,2,32,7,32,2,33,7,33,2,34,7,34,2,35,7,
106 35,2,36,7,36,2,37,7,37,2,38,7,38,2,39,7,39,2,40,7,40,1,0,5,0,84,8,0,10,
107 0,12,0,87,9,0,1,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,
108 102,8,1,1,2,1,2,1,2,1,2,1,2,1,3,1,3,1,3,1,3,1,3,1,3,1,3,3,3,116,8,3,1,
109 4,1,4,1,4,5,4,121,8,4,10,4,12,4,124,9,4,1,4,1,4,1,5,1,5,1,5,5,5,131,8,
110 5,10,5,12,5,134,9,5,1,5,1,5,1,6,1,6,1,6,5,6,141,8,6,10,6,12,6,144,9,6,
111 1,6,1,6,1,7,1,7,1,7,5,7,151,8,7,10,7,12,7,154,9,7,1,7,1,7,1,8,1,8,1,8,
112 5,8,161,8,8,10,8,12,8,164,9,8,1,8,1,8,1,9,1,9,1,9,5,9,171,8,9,10,9,12,
113 9,174,9,9,1,9,1,9,1,10,1,10,1,10,5,10,181,8,10,10,10,12,10,184,9,10,1,
114 10,1,10,1,11,1,11,1,11,5,11,191,8,11,10,11,12,11,194,9,11,1,11,1,11,1,
115 12,1,12,1,12,5,12,201,8,12,10,12,12,12,204,9,12,1,12,1,12,1,13,1,13,1,
116 13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,3,13,218,8,13,1,14,1,14,1,14,1,
117 14,1,14,1,14,5,14,226,8,14,10,14,12,14,229,9,14,1,14,1,14,1,15,1,15,1,
118 15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,
119 15,1,15,1,15,3,15,252,8,15,1,16,1,16,1,16,1,16,1,16,3,16,259,8,16,1,16,
120 1,16,5,16,263,8,16,10,16,12,16,266,9,16,1,16,1,16,1,17,1,17,1,17,1,17,
121 1,17,1,17,1,17,1,17,1,17,1,17,1,17,1,17,1,17,1,17,1,17,1,17,1,17,1,17,
122 1,17,1,17,1,17,1,17,1,17,1,17,1,17,1,17,1,17,1,17,1,17,1,17,1,17,1,17,
123 1,17,1,17,1,17,1,17,1,17,1,17,1,17,1,17,1,17,1,17,1,17,3,17,313,8,17,
124 1,18,1,18,1,18,1,18,1,18,3,18,320,8,18,1,18,1,18,5,18,324,8,18,10,18,
125 12,18,327,9,18,1,18,1,18,1,19,1,19,1,19,1,19,1,19,1,19,1,19,1,19,1,19,
126 1,19,1,19,1,19,1,19,1,19,1,19,1,19,1,19,1,19,1,19,1,19,1,19,1,19,1,19,
127 1,19,1,19,1,19,1,19,1,19,1,19,1,19,1,19,1,19,1,19,1,19,1,19,1,19,1,19,
128 1,19,1,19,1,19,1,19,1,19,1,19,1,19,1,19,1,19,1,19,1,19,1,19,3,19,380,
129 8,19,1,20,1,20,1,20,1,20,1,20,3,20,387,8,20,1,20,1,20,5,20,391,8,20,10,
130 20,12,20,394,9,20,1,20,1,20,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,
131 21,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,
132 21,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,
133 21,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,
134 21,1,21,1,21,1,21,1,21,3,21,453,8,21,1,22,1,22,1,22,1,22,1,22,3,22,460,
135 8,22,1,22,1,22,5,22,464,8,22,10,22,12,22,467,9,22,1,22,1,22,1,23,1,23,
136 1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,
137 1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,
138 1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,3,23,
139 514,8,23,1,24,1,24,1,24,1,24,1,24,1,24,5,24,522,8,24,10,24,12,24,525,
140 9,24,1,24,1,24,1,25,1,25,1,25,1,25,1,25,1,25,1,25,3,25,536,8,25,1,26,
141 1,26,1,26,1,26,1,26,3,26,543,8,26,1,26,1,26,5,26,547,8,26,10,26,12,26,
142 550,9,26,1,26,1,26,1,27,1,27,1,27,1,27,1,27,1,27,1,27,3,27,561,8,27,1,
143 28,1,28,1,28,1,28,1,28,3,28,568,8,28,1,28,1,28,5,28,572,8,28,10,28,12,
144 28,575,9,28,1,28,1,28,1,29,1,29,1,29,1,29,1,29,1,29,1,29,3,29,586,8,29,
145 1,30,1,30,1,30,5,30,591,8,30,10,30,12,30,594,9,30,1,30,1,30,1,31,1,31,
146 1,31,1,31,1,31,1,31,1,31,1,31,1,31,1,31,3,31,608,8,31,1,32,1,32,1,32,
147 1,32,1,32,3,32,615,8,32,1,32,1,32,5,32,619,8,32,10,32,12,32,622,9,32,
148 1,32,1,32,1,33,1,33,1,33,1,33,1,33,1,33,1,33,3,33,633,8,33,1,34,1,34,
149 1,34,1,34,1,34,1,35,1,35,1,35,5,35,643,8,35,10,35,12,35,646,9,35,1,36,
150 1,36,1,36,5,36,651,8,36,10,36,12,36,654,9,36,1,37,1,37,1,38,1,38,3,38,
151 660,8,38,1,39,1,39,1,40,1,40,1,40,1,40,1,40,0,0,41,0,2,4,6,8,10,12,14,
152 16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,50,52,54,56,58,60,
153 62,64,66,68,70,72,74,76,78,80,0,2,1,0,59,60,1,0,61,62,728,0,85,1,0,0,
154 0,2,101,1,0,0,0,4,103,1,0,0,0,6,115,1,0,0,0,8,117,1,0,0,0,10,127,1,0,
155 0,0,12,137,1,0,0,0,14,147,1,0,0,0,16,157,1,0,0,0,18,167,1,0,0,0,20,177,
156 1,0,0,0,22,187,1,0,0,0,24,197,1,0,0,0,26,217,1,0,0,0,28,219,1,0,0,0,30,
157 251,1,0,0,0,32,253,1,0,0,0,34,312,1,0,0,0,36,314,1,0,0,0,38,379,1,0,0,
158 0,40,381,1,0,0,0,42,452,1,0,0,0,44,454,1,0,0,0,46,513,1,0,0,0,48,515,
159 1,0,0,0,50,535,1,0,0,0,52,537,1,0,0,0,54,560,1,0,0,0,56,562,1,0,0,0,58,
160 585,1,0,0,0,60,587,1,0,0,0,62,607,1,0,0,0,64,609,1,0,0,0,66,632,1,0,0,
161 0,68,634,1,0,0,0,70,639,1,0,0,0,72,647,1,0,0,0,74,655,1,0,0,0,76,659,
162 1,0,0,0,78,661,1,0,0,0,80,663,1,0,0,0,82,84,3,2,1,0,83,82,1,0,0,0,84,
163 87,1,0,0,0,85,83,1,0,0,0,85,86,1,0,0,0,86,88,1,0,0,0,87,85,1,0,0,0,88,
164 89,5,0,0,1,89,1,1,0,0,0,90,102,3,4,2,0,91,102,3,8,4,0,92,102,3,24,12,
165 0,93,102,3,60,30,0,94,102,3,10,5,0,95,102,3,12,6,0,96,102,3,14,7,0,97,
166 102,3,16,8,0,98,102,3,18,9,0,99,102,3,20,10,0,100,102,3,22,11,0,101,90,
167 1,0,0,0,101,91,1,0,0,0,101,92,1,0,0,0,101,93,1,0,0,0,101,94,1,0,0,0,101,
168 95,1,0,0,0,101,96,1,0,0,0,101,97,1,0,0,0,101,98,1,0,0,0,101,99,1,0,0,
169 0,101,100,1,0,0,0,102,3,1,0,0,0,103,104,5,65,0,0,104,105,5,47,0,0,105,
170 106,3,6,3,0,106,107,5,51,0,0,107,5,1,0,0,0,108,116,3,74,37,0,109,116,
171 3,78,39,0,110,116,3,80,40,0,111,116,5,1,0,0,112,116,5,2,0,0,113,116,5,
172 65,0,0,114,116,5,64,0,0,115,108,1,0,0,0,115,109,1,0,0,0,115,110,1,0,0,
173 0,115,111,1,0,0,0,115,112,1,0,0,0,115,113,1,0,0,0,115,114,1,0,0,0,116,
174 7,1,0,0,0,117,118,5,3,0,0,118,122,5,57,0,0,119,121,3,4,2,0,120,119,1,
175 0,0,0,121,124,1,0,0,0,122,120,1,0,0,0,122,123,1,0,0,0,123,125,1,0,0,0,
176 124,122,1,0,0,0,125,126,5,58,0,0,126,9,1,0,0,0,127,128,5,5,0,0,128,132,
177 5,57,0,0,129,131,3,4,2,0,130,129,1,0,0,0,131,134,1,0,0,0,132,130,1,0,
178 0,0,132,133,1,0,0,0,133,135,1,0,0,0,134,132,1,0,0,0,135,136,5,58,0,0,
179 136,11,1,0,0,0,137,138,5,6,0,0,138,142,5,57,0,0,139,141,3,4,2,0,140,139,
180 1,0,0,0,141,144,1,0,0,0,142,140,1,0,0,0,142,143,1,0,0,0,143,145,1,0,0,
181 0,144,142,1,0,0,0,145,146,5,58,0,0,146,13,1,0,0,0,147,148,5,23,0,0,148,
182 152,5,57,0,0,149,151,3,4,2,0,150,149,1,0,0,0,151,154,1,0,0,0,152,150,
183 1,0,0,0,152,153,1,0,0,0,153,155,1,0,0,0,154,152,1,0,0,0,155,156,5,58,
184 0,0,156,15,1,0,0,0,157,158,5,24,0,0,158,162,5,57,0,0,159,161,3,4,2,0,
185 160,159,1,0,0,0,161,164,1,0,0,0,162,160,1,0,0,0,162,163,1,0,0,0,163,165,
186 1,0,0,0,164,162,1,0,0,0,165,166,5,58,0,0,166,17,1,0,0,0,167,168,5,25,
187 0,0,168,172,5,57,0,0,169,171,3,4,2,0,170,169,1,0,0,0,171,174,1,0,0,0,
188 172,170,1,0,0,0,172,173,1,0,0,0,173,175,1,0,0,0,174,172,1,0,0,0,175,176,
189 5,58,0,0,176,19,1,0,0,0,177,178,5,26,0,0,178,182,5,57,0,0,179,181,3,4,
190 2,0,180,179,1,0,0,0,181,184,1,0,0,0,182,180,1,0,0,0,182,183,1,0,0,0,183,
191 185,1,0,0,0,184,182,1,0,0,0,185,186,5,58,0,0,186,21,1,0,0,0,187,188,5,
192 27,0,0,188,192,5,57,0,0,189,191,3,4,2,0,190,189,1,0,0,0,191,194,1,0,0,
193 0,192,190,1,0,0,0,192,193,1,0,0,0,193,195,1,0,0,0,194,192,1,0,0,0,195,
194 196,5,58,0,0,196,23,1,0,0,0,197,198,5,4,0,0,198,202,5,57,0,0,199,201,
195 3,26,13,0,200,199,1,0,0,0,201,204,1,0,0,0,202,200,1,0,0,0,202,203,1,0,
196 0,0,203,205,1,0,0,0,204,202,1,0,0,0,205,206,5,58,0,0,206,25,1,0,0,0,207,
197 218,3,4,2,0,208,218,3,28,14,0,209,218,3,32,16,0,210,218,3,36,18,0,211,
198 218,3,40,20,0,212,218,3,44,22,0,213,218,3,48,24,0,214,218,3,52,26,0,215,
199 218,3,64,32,0,216,218,3,68,34,0,217,207,1,0,0,0,217,208,1,0,0,0,217,209,
200 1,0,0,0,217,210,1,0,0,0,217,211,1,0,0,0,217,212,1,0,0,0,217,213,1,0,0,
201 0,217,214,1,0,0,0,217,215,1,0,0,0,217,216,1,0,0,0,218,27,1,0,0,0,219,
202 220,5,7,0,0,220,221,5,55,0,0,221,222,3,74,37,0,222,223,5,56,0,0,223,227,
203 5,57,0,0,224,226,3,30,15,0,225,224,1,0,0,0,226,229,1,0,0,0,227,225,1,
204 0,0,0,227,228,1,0,0,0,228,230,1,0,0,0,229,227,1,0,0,0,230,231,5,58,0,
205 0,231,29,1,0,0,0,232,252,3,4,2,0,233,234,5,21,0,0,234,235,5,53,0,0,235,
206 236,3,70,35,0,236,237,5,54,0,0,237,238,5,51,0,0,238,252,1,0,0,0,239,240,
207 5,22,0,0,240,241,5,53,0,0,241,242,3,70,35,0,242,243,5,54,0,0,243,244,
208 5,51,0,0,244,252,1,0,0,0,245,246,5,45,0,0,246,247,5,53,0,0,247,248,3,
209 78,39,0,248,249,5,54,0,0,249,250,5,51,0,0,250,252,1,0,0,0,251,232,1,0,
210 0,0,251,233,1,0,0,0,251,239,1,0,0,0,251,245,1,0,0,0,252,31,1,0,0,0,253,
211 258,5,8,0,0,254,255,5,55,0,0,255,256,3,74,37,0,256,257,5,56,0,0,257,259,
212 1,0,0,0,258,254,1,0,0,0,258,259,1,0,0,0,259,260,1,0,0,0,260,264,5,57,
213 0,0,261,263,3,34,17,0,262,261,1,0,0,0,263,266,1,0,0,0,264,262,1,0,0,0,
214 264,265,1,0,0,0,265,267,1,0,0,0,266,264,1,0,0,0,267,268,5,58,0,0,268,
215 33,1,0,0,0,269,313,3,4,2,0,270,271,5,18,0,0,271,272,5,53,0,0,272,273,
216 3,72,36,0,273,274,5,54,0,0,274,275,5,51,0,0,275,313,1,0,0,0,276,277,5,
217 28,0,0,277,278,5,53,0,0,278,279,3,78,39,0,279,280,5,54,0,0,280,281,5,
218 51,0,0,281,313,1,0,0,0,282,283,5,29,0,0,283,284,5,53,0,0,284,285,3,70,
219 35,0,285,286,5,54,0,0,286,287,5,51,0,0,287,313,1,0,0,0,288,289,5,30,0,
220 0,289,290,5,53,0,0,290,291,3,70,35,0,291,292,5,54,0,0,292,293,5,51,0,
221 0,293,313,1,0,0,0,294,295,5,31,0,0,295,296,5,53,0,0,296,297,3,70,35,0,
222 297,298,5,54,0,0,298,299,5,51,0,0,299,313,1,0,0,0,300,301,5,32,0,0,301,
223 302,5,53,0,0,302,303,3,70,35,0,303,304,5,54,0,0,304,305,5,51,0,0,305,
224 313,1,0,0,0,306,307,5,33,0,0,307,308,5,53,0,0,308,309,3,70,35,0,309,310,
225 5,54,0,0,310,311,5,51,0,0,311,313,1,0,0,0,312,269,1,0,0,0,312,270,1,0,
226 0,0,312,276,1,0,0,0,312,282,1,0,0,0,312,288,1,0,0,0,312,294,1,0,0,0,312,
227 300,1,0,0,0,312,306,1,0,0,0,313,35,1,0,0,0,314,319,5,9,0,0,315,316,5,
228 55,0,0,316,317,3,74,37,0,317,318,5,56,0,0,318,320,1,0,0,0,319,315,1,0,
229 0,0,319,320,1,0,0,0,320,321,1,0,0,0,321,325,5,57,0,0,322,324,3,38,19,
230 0,323,322,1,0,0,0,324,327,1,0,0,0,325,323,1,0,0,0,325,326,1,0,0,0,326,
231 328,1,0,0,0,327,325,1,0,0,0,328,329,5,58,0,0,329,37,1,0,0,0,330,380,3,
232 4,2,0,331,332,5,18,0,0,332,333,5,53,0,0,333,334,3,72,36,0,334,335,5,54,
233 0,0,335,336,5,51,0,0,336,380,1,0,0,0,337,338,5,29,0,0,338,339,5,53,0,
234 0,339,340,3,70,35,0,340,341,5,54,0,0,341,342,5,51,0,0,342,380,1,0,0,0,
235 343,344,5,34,0,0,344,345,5,53,0,0,345,346,3,70,35,0,346,347,5,54,0,0,
236 347,348,5,51,0,0,348,380,1,0,0,0,349,350,5,35,0,0,350,351,5,53,0,0,351,
237 352,3,70,35,0,352,353,5,54,0,0,353,354,5,51,0,0,354,380,1,0,0,0,355,356,
238 5,30,0,0,356,357,5,53,0,0,357,358,3,70,35,0,358,359,5,54,0,0,359,360,
239 5,51,0,0,360,380,1,0,0,0,361,362,5,31,0,0,362,363,5,53,0,0,363,364,3,
240 70,35,0,364,365,5,54,0,0,365,366,5,51,0,0,366,380,1,0,0,0,367,368,5,32,
241 0,0,368,369,5,53,0,0,369,370,3,70,35,0,370,371,5,54,0,0,371,372,5,51,
242 0,0,372,380,1,0,0,0,373,374,5,36,0,0,374,375,5,53,0,0,375,376,3,70,35,
243 0,376,377,5,54,0,0,377,378,5,51,0,0,378,380,1,0,0,0,379,330,1,0,0,0,379,
244 331,1,0,0,0,379,337,1,0,0,0,379,343,1,0,0,0,379,349,1,0,0,0,379,355,1,
245 0,0,0,379,361,1,0,0,0,379,367,1,0,0,0,379,373,1,0,0,0,380,39,1,0,0,0,
246 381,386,5,10,0,0,382,383,5,55,0,0,383,384,3,74,37,0,384,385,5,56,0,0,
247 385,387,1,0,0,0,386,382,1,0,0,0,386,387,1,0,0,0,387,388,1,0,0,0,388,392,
248 5,57,0,0,389,391,3,42,21,0,390,389,1,0,0,0,391,394,1,0,0,0,392,390,1,
249 0,0,0,392,393,1,0,0,0,393,395,1,0,0,0,394,392,1,0,0,0,395,396,5,58,0,
250 0,396,41,1,0,0,0,397,453,3,4,2,0,398,399,5,18,0,0,399,400,5,53,0,0,400,
251 401,3,72,36,0,401,402,5,54,0,0,402,403,5,51,0,0,403,453,1,0,0,0,404,405,
252 5,37,0,0,405,406,5,53,0,0,406,407,3,70,35,0,407,408,5,54,0,0,408,409,
253 5,51,0,0,409,453,1,0,0,0,410,411,5,30,0,0,411,412,5,53,0,0,412,413,3,
254 70,35,0,413,414,5,54,0,0,414,415,5,51,0,0,415,453,1,0,0,0,416,417,5,31,
255 0,0,417,418,5,53,0,0,418,419,3,70,35,0,419,420,5,54,0,0,420,421,5,51,
256 0,0,421,453,1,0,0,0,422,423,5,32,0,0,423,424,5,53,0,0,424,425,3,70,35,
257 0,425,426,5,54,0,0,426,427,5,51,0,0,427,453,1,0,0,0,428,429,5,38,0,0,
258 429,430,5,53,0,0,430,431,3,70,35,0,431,432,5,54,0,0,432,433,5,51,0,0,
259 433,453,1,0,0,0,434,435,5,39,0,0,435,436,5,53,0,0,436,437,3,70,35,0,437,
260 438,5,54,0,0,438,439,5,51,0,0,439,453,1,0,0,0,440,441,5,40,0,0,441,442,
261 5,53,0,0,442,443,3,70,35,0,443,444,5,54,0,0,444,445,5,51,0,0,445,453,
262 1,0,0,0,446,447,5,29,0,0,447,448,5,53,0,0,448,449,3,70,35,0,449,450,5,
263 54,0,0,450,451,5,51,0,0,451,453,1,0,0,0,452,397,1,0,0,0,452,398,1,0,0,
264 0,452,404,1,0,0,0,452,410,1,0,0,0,452,416,1,0,0,0,452,422,1,0,0,0,452,
265 428,1,0,0,0,452,434,1,0,0,0,452,440,1,0,0,0,452,446,1,0,0,0,453,43,1,
266 0,0,0,454,459,5,11,0,0,455,456,5,55,0,0,456,457,3,74,37,0,457,458,5,56,
267 0,0,458,460,1,0,0,0,459,455,1,0,0,0,459,460,1,0,0,0,460,461,1,0,0,0,461,
268 465,5,57,0,0,462,464,3,46,23,0,463,462,1,0,0,0,464,467,1,0,0,0,465,463,
269 1,0,0,0,465,466,1,0,0,0,466,468,1,0,0,0,467,465,1,0,0,0,468,469,5,58,
270 0,0,469,45,1,0,0,0,470,514,3,4,2,0,471,472,5,19,0,0,472,473,5,53,0,0,
271 473,474,3,74,37,0,474,475,5,54,0,0,475,476,5,51,0,0,476,514,1,0,0,0,477,
272 478,5,20,0,0,478,479,5,53,0,0,479,480,3,72,36,0,480,481,5,54,0,0,481,
273 482,5,51,0,0,482,514,1,0,0,0,483,484,5,41,0,0,484,485,5,53,0,0,485,486,
274 3,70,35,0,486,487,5,54,0,0,487,488,5,51,0,0,488,514,1,0,0,0,489,490,5,
275 42,0,0,490,491,5,53,0,0,491,492,3,70,35,0,492,493,5,54,0,0,493,494,5,
276 51,0,0,494,514,1,0,0,0,495,496,5,29,0,0,496,497,5,53,0,0,497,498,3,70,
277 35,0,498,499,5,54,0,0,499,500,5,51,0,0,500,514,1,0,0,0,501,502,5,43,0,
278 0,502,503,5,53,0,0,503,504,3,70,35,0,504,505,5,54,0,0,505,506,5,51,0,
279 0,506,514,1,0,0,0,507,508,5,44,0,0,508,509,5,53,0,0,509,510,3,70,35,0,
280 510,511,5,54,0,0,511,512,5,51,0,0,512,514,1,0,0,0,513,470,1,0,0,0,513,
281 471,1,0,0,0,513,477,1,0,0,0,513,483,1,0,0,0,513,489,1,0,0,0,513,495,1,
282 0,0,0,513,501,1,0,0,0,513,507,1,0,0,0,514,47,1,0,0,0,515,516,5,12,0,0,
283 516,517,5,55,0,0,517,518,3,74,37,0,518,519,5,56,0,0,519,523,5,57,0,0,
284 520,522,3,50,25,0,521,520,1,0,0,0,522,525,1,0,0,0,523,521,1,0,0,0,523,
285 524,1,0,0,0,524,526,1,0,0,0,525,523,1,0,0,0,526,527,5,58,0,0,527,49,1,
286 0,0,0,528,536,3,4,2,0,529,530,5,18,0,0,530,531,5,53,0,0,531,532,3,72,
287 36,0,532,533,5,54,0,0,533,534,5,51,0,0,534,536,1,0,0,0,535,528,1,0,0,
288 0,535,529,1,0,0,0,536,51,1,0,0,0,537,542,5,13,0,0,538,539,5,55,0,0,539,
289 540,3,74,37,0,540,541,5,56,0,0,541,543,1,0,0,0,542,538,1,0,0,0,542,543,
290 1,0,0,0,543,544,1,0,0,0,544,548,5,57,0,0,545,547,3,54,27,0,546,545,1,
291 0,0,0,547,550,1,0,0,0,548,546,1,0,0,0,548,549,1,0,0,0,549,551,1,0,0,0,
292 550,548,1,0,0,0,551,552,5,58,0,0,552,53,1,0,0,0,553,561,3,4,2,0,554,555,
293 5,18,0,0,555,556,5,53,0,0,556,557,3,72,36,0,557,558,5,54,0,0,558,559,
294 5,51,0,0,559,561,1,0,0,0,560,553,1,0,0,0,560,554,1,0,0,0,561,55,1,0,0,
295 0,562,567,5,46,0,0,563,564,5,55,0,0,564,565,3,74,37,0,565,566,5,56,0,
296 0,566,568,1,0,0,0,567,563,1,0,0,0,567,568,1,0,0,0,568,569,1,0,0,0,569,
297 573,5,57,0,0,570,572,3,58,29,0,571,570,1,0,0,0,572,575,1,0,0,0,573,571,
298 1,0,0,0,573,574,1,0,0,0,574,576,1,0,0,0,575,573,1,0,0,0,576,577,5,58,
299 0,0,577,57,1,0,0,0,578,586,3,4,2,0,579,580,5,18,0,0,580,581,5,53,0,0,
300 581,582,3,72,36,0,582,583,5,54,0,0,583,584,5,51,0,0,584,586,1,0,0,0,585,
301 578,1,0,0,0,585,579,1,0,0,0,586,59,1,0,0,0,587,588,5,16,0,0,588,592,5,
302 57,0,0,589,591,3,62,31,0,590,589,1,0,0,0,591,594,1,0,0,0,592,590,1,0,
303 0,0,592,593,1,0,0,0,593,595,1,0,0,0,594,592,1,0,0,0,595,596,5,58,0,0,
304 596,61,1,0,0,0,597,608,3,4,2,0,598,608,3,28,14,0,599,608,3,32,16,0,600,
305 608,3,36,18,0,601,608,3,40,20,0,602,608,3,44,22,0,603,608,3,48,24,0,604,
306 608,3,52,26,0,605,608,3,64,32,0,606,608,3,56,28,0,607,597,1,0,0,0,607,
307 598,1,0,0,0,607,599,1,0,0,0,607,600,1,0,0,0,607,601,1,0,0,0,607,602,1,
308 0,0,0,607,603,1,0,0,0,607,604,1,0,0,0,607,605,1,0,0,0,607,606,1,0,0,0,
309 608,63,1,0,0,0,609,614,5,14,0,0,610,611,5,55,0,0,611,612,3,74,37,0,612,
310 613,5,56,0,0,613,615,1,0,0,0,614,610,1,0,0,0,614,615,1,0,0,0,615,616,
311 1,0,0,0,616,620,5,57,0,0,617,619,3,66,33,0,618,617,1,0,0,0,619,622,1,
312 0,0,0,620,618,1,0,0,0,620,621,1,0,0,0,621,623,1,0,0,0,622,620,1,0,0,0,
313 623,624,5,58,0,0,624,65,1,0,0,0,625,633,3,4,2,0,626,627,5,18,0,0,627,
314 628,5,53,0,0,628,629,3,72,36,0,629,630,5,54,0,0,630,631,5,51,0,0,631,
315 633,1,0,0,0,632,625,1,0,0,0,632,626,1,0,0,0,633,67,1,0,0,0,634,635,5,
316 17,0,0,635,636,5,47,0,0,636,637,3,6,3,0,637,638,5,51,0,0,638,69,1,0,0,
317 0,639,644,3,76,38,0,640,641,5,49,0,0,641,643,3,76,38,0,642,640,1,0,0,
318 0,643,646,1,0,0,0,644,642,1,0,0,0,644,645,1,0,0,0,645,71,1,0,0,0,646,
319 644,1,0,0,0,647,652,3,74,37,0,648,649,5,49,0,0,649,651,3,74,37,0,650,
320 648,1,0,0,0,651,654,1,0,0,0,652,650,1,0,0,0,652,653,1,0,0,0,653,73,1,
321 0,0,0,654,652,1,0,0,0,655,656,7,0,0,0,656,75,1,0,0,0,657,660,3,74,37,
322 0,658,660,3,78,39,0,659,657,1,0,0,0,659,658,1,0,0,0,660,77,1,0,0,0,661,
323 662,7,1,0,0,662,79,1,0,0,0,663,664,5,53,0,0,664,665,3,70,35,0,665,666,
324 5,54,0,0,666,81,1,0,0,0,43,85,101,115,122,132,142,152,162,172,182,192,
325 202,217,227,251,258,264,312,319,325,379,386,392,452,459,465,513,523,535,
326 542,548,560,567,573,585,592,607,614,620,632,644,652,659
328 staticData->serializedATN = antlr4::atn::SerializedATNView(serializedATNSegment,
sizeof(serializedATNSegment) /
sizeof(serializedATNSegment[0]));
330 antlr4::atn::ATNDeserializer deserializer;
331 staticData->atn = deserializer.deserialize(staticData->serializedATN);
333 const size_t count = staticData->atn->getNumberOfDecisions();
334 staticData->decisionToDFA.reserve(count);
335 for (
size_t i = 0; i < count; i++) {
336 staticData->decisionToDFA.emplace_back(staticData->atn->getDecisionState(i), i);
338 omdParserStaticData = std::move(staticData);
343OMDParser::OMDParser(TokenStream *input) :
OMDParser(input, antlr4::atn::ParserATNSimulatorOptions()) {}
345OMDParser::OMDParser(TokenStream *input,
const antlr4::atn::ParserATNSimulatorOptions &options) : Parser(input) {
346 OMDParser::initialize();
347 _interpreter =
new atn::ParserATNSimulator(
this, *omdParserStaticData->atn, omdParserStaticData->decisionToDFA, omdParserStaticData->sharedContextCache, options);
350OMDParser::~OMDParser() {
354const atn::ATN& OMDParser::getATN()
const {
355 return *omdParserStaticData->atn;
358std::string OMDParser::getGrammarFileName()
const {
362const std::vector<std::string>& OMDParser::getRuleNames()
const {
363 return omdParserStaticData->ruleNames;
366const dfa::Vocabulary& OMDParser::getVocabulary()
const {
367 return omdParserStaticData->vocabulary;
370antlr4::atn::SerializedATNView OMDParser::getSerializedATN()
const {
371 return omdParserStaticData->serializedATN;
377OMDParser::OmdfileContext::OmdfileContext(ParserRuleContext *parent,
size_t invokingState)
378 : ParserRuleContext(parent, invokingState) {
381tree::TerminalNode* OMDParser::OmdfileContext::EOF() {
382 return getToken(OMDParser::EOF, 0);
385std::vector<OMDParser::StatementContext *> OMDParser::OmdfileContext::statement() {
386 return getRuleContexts<OMDParser::StatementContext>();
389OMDParser::StatementContext* OMDParser::OmdfileContext::statement(
size_t i) {
390 return getRuleContext<OMDParser::StatementContext>(i);
394size_t OMDParser::OmdfileContext::getRuleIndex()
const {
395 return OMDParser::RuleOmdfile;
398void OMDParser::OmdfileContext::enterRule(tree::ParseTreeListener *listener) {
399 auto parserListener =
dynamic_cast<OMDListener *
>(listener);
400 if (parserListener !=
nullptr)
401 parserListener->enterOmdfile(
this);
404void OMDParser::OmdfileContext::exitRule(tree::ParseTreeListener *listener) {
405 auto parserListener =
dynamic_cast<OMDListener *
>(listener);
406 if (parserListener !=
nullptr)
407 parserListener->exitOmdfile(
this);
411std::any OMDParser::OmdfileContext::accept(tree::ParseTreeVisitor *visitor) {
412 if (
auto parserVisitor =
dynamic_cast<OMDVisitor*
>(visitor))
413 return parserVisitor->visitOmdfile(
this);
415 return visitor->visitChildren(
this);
418OMDParser::OmdfileContext* OMDParser::omdfile() {
420 enterRule(_localctx, 0, OMDParser::RuleOmdfile);
423#if __cplusplus > 201703L
424 auto onExit =
finally([=,
this] {
426 auto onExit =
finally([=] {
431 enterOuterAlt(_localctx, 1);
433 _errHandler->sync(
this);
435 while (((((_la - 3) & ~ 0x3fULL) == 0) &&
436 ((1ULL << (_la - 3)) & 4611686018459901967) != 0)) {
440 _errHandler->sync(
this);
444 match(OMDParser::EOF);
447 catch (RecognitionException &e) {
448 _errHandler->reportError(
this, e);
449 _localctx->exception = std::current_exception();
450 _errHandler->recover(
this, _localctx->exception);
458OMDParser::StatementContext::StatementContext(ParserRuleContext *parent,
size_t invokingState)
459 : ParserRuleContext(parent, invokingState) {
463 return getRuleContext<OMDParser::AssignmentContext>(0);
466OMDParser::ComponentblockContext* OMDParser::StatementContext::componentblock() {
467 return getRuleContext<OMDParser::ComponentblockContext>(0);
470OMDParser::MoleculeblockContext* OMDParser::StatementContext::moleculeblock() {
471 return getRuleContext<OMDParser::MoleculeblockContext>(0);
474OMDParser::FragmentblockContext* OMDParser::StatementContext::fragmentblock() {
475 return getRuleContext<OMDParser::FragmentblockContext>(0);
478OMDParser::ZconstraintblockContext* OMDParser::StatementContext::zconstraintblock() {
479 return getRuleContext<OMDParser::ZconstraintblockContext>(0);
482OMDParser::RestraintblockContext* OMDParser::StatementContext::restraintblock() {
483 return getRuleContext<OMDParser::RestraintblockContext>(0);
486OMDParser::FlucqblockContext* OMDParser::StatementContext::flucqblock() {
487 return getRuleContext<OMDParser::FlucqblockContext>(0);
490OMDParser::RnemdblockContext* OMDParser::StatementContext::rnemdblock() {
491 return getRuleContext<OMDParser::RnemdblockContext>(0);
494OMDParser::LightblockContext* OMDParser::StatementContext::lightblock() {
495 return getRuleContext<OMDParser::LightblockContext>(0);
498OMDParser::VelocityfieldblockContext* OMDParser::StatementContext::velocityfieldblock() {
499 return getRuleContext<OMDParser::VelocityfieldblockContext>(0);
502OMDParser::MinimizerblockContext* OMDParser::StatementContext::minimizerblock() {
503 return getRuleContext<OMDParser::MinimizerblockContext>(0);
507size_t OMDParser::StatementContext::getRuleIndex()
const {
508 return OMDParser::RuleStatement;
511void OMDParser::StatementContext::enterRule(tree::ParseTreeListener *listener) {
512 auto parserListener =
dynamic_cast<OMDListener *
>(listener);
513 if (parserListener !=
nullptr)
514 parserListener->enterStatement(
this);
517void OMDParser::StatementContext::exitRule(tree::ParseTreeListener *listener) {
518 auto parserListener =
dynamic_cast<OMDListener *
>(listener);
519 if (parserListener !=
nullptr)
520 parserListener->exitStatement(
this);
524std::any OMDParser::StatementContext::accept(tree::ParseTreeVisitor *visitor) {
525 if (
auto parserVisitor =
dynamic_cast<OMDVisitor*
>(visitor))
526 return parserVisitor->visitStatement(
this);
528 return visitor->visitChildren(
this);
531OMDParser::StatementContext* OMDParser::statement() {
533 enterRule(_localctx, 2, OMDParser::RuleStatement);
535#if __cplusplus > 201703L
536 auto onExit =
finally([=,
this] {
538 auto onExit =
finally([=] {
544 _errHandler->sync(
this);
545 switch (_input->LA(1)) {
546 case OMDParser::ID: {
547 enterOuterAlt(_localctx, 1);
553 case OMDParser::COMPONENT: {
554 enterOuterAlt(_localctx, 2);
560 case OMDParser::MOLECULE: {
561 enterOuterAlt(_localctx, 3);
567 case OMDParser::FRAGMENT: {
568 enterOuterAlt(_localctx, 4);
574 case OMDParser::ZCONSTRAINT: {
575 enterOuterAlt(_localctx, 5);
581 case OMDParser::RESTRAINT: {
582 enterOuterAlt(_localctx, 6);
588 case OMDParser::FLUCQ: {
589 enterOuterAlt(_localctx, 7);
595 case OMDParser::RNEMD: {
596 enterOuterAlt(_localctx, 8);
602 case OMDParser::LIGHT: {
603 enterOuterAlt(_localctx, 9);
609 case OMDParser::VELOCITYFIELD: {
610 enterOuterAlt(_localctx, 10);
612 velocityfieldblock();
616 case OMDParser::MINIMIZER: {
617 enterOuterAlt(_localctx, 11);
624 throw NoViableAltException(
this);
628 catch (RecognitionException &e) {
629 _errHandler->reportError(
this, e);
630 _localctx->exception = std::current_exception();
631 _errHandler->recover(
this, _localctx->exception);
639OMDParser::AssignmentContext::AssignmentContext(ParserRuleContext *parent,
size_t invokingState)
640 : ParserRuleContext(parent, invokingState) {
643tree::TerminalNode* OMDParser::AssignmentContext::ID() {
644 return getToken(OMDParser::ID, 0);
647tree::TerminalNode* OMDParser::AssignmentContext::ASSIGNEQUAL() {
648 return getToken(OMDParser::ASSIGNEQUAL, 0);
651OMDParser::ConstantContext* OMDParser::AssignmentContext::constant() {
652 return getRuleContext<OMDParser::ConstantContext>(0);
655tree::TerminalNode* OMDParser::AssignmentContext::SEMICOLON() {
656 return getToken(OMDParser::SEMICOLON, 0);
660size_t OMDParser::AssignmentContext::getRuleIndex()
const {
661 return OMDParser::RuleAssignment;
664void OMDParser::AssignmentContext::enterRule(tree::ParseTreeListener *listener) {
665 auto parserListener =
dynamic_cast<OMDListener *
>(listener);
666 if (parserListener !=
nullptr)
667 parserListener->enterAssignment(
this);
670void OMDParser::AssignmentContext::exitRule(tree::ParseTreeListener *listener) {
671 auto parserListener =
dynamic_cast<OMDListener *
>(listener);
672 if (parserListener !=
nullptr)
673 parserListener->exitAssignment(
this);
677std::any OMDParser::AssignmentContext::accept(tree::ParseTreeVisitor *visitor) {
678 if (
auto parserVisitor =
dynamic_cast<OMDVisitor*
>(visitor))
679 return parserVisitor->visitAssignment(
this);
681 return visitor->visitChildren(
this);
684OMDParser::AssignmentContext* OMDParser::assignment() {
686 enterRule(_localctx, 4, OMDParser::RuleAssignment);
688#if __cplusplus > 201703L
689 auto onExit =
finally([=,
this] {
691 auto onExit =
finally([=] {
696 enterOuterAlt(_localctx, 1);
698 match(OMDParser::ID);
700 match(OMDParser::ASSIGNEQUAL);
704 match(OMDParser::SEMICOLON);
707 catch (RecognitionException &e) {
708 _errHandler->reportError(
this, e);
709 _localctx->exception = std::current_exception();
710 _errHandler->recover(
this, _localctx->exception);
718OMDParser::ConstantContext::ConstantContext(ParserRuleContext *parent,
size_t invokingState)
719 : ParserRuleContext(parent, invokingState) {
723 return getRuleContext<OMDParser::IntConstContext>(0);
726OMDParser::FloatConstContext* OMDParser::ConstantContext::floatConst() {
727 return getRuleContext<OMDParser::FloatConstContext>(0);
730OMDParser::VectorConstContext* OMDParser::ConstantContext::vectorConst() {
731 return getRuleContext<OMDParser::VectorConstContext>(0);
734tree::TerminalNode* OMDParser::ConstantContext::TRUE() {
735 return getToken(OMDParser::TRUE, 0);
738tree::TerminalNode* OMDParser::ConstantContext::FALSE() {
739 return getToken(OMDParser::FALSE, 0);
742tree::TerminalNode* OMDParser::ConstantContext::ID() {
743 return getToken(OMDParser::ID, 0);
746tree::TerminalNode* OMDParser::ConstantContext::StringLiteral() {
747 return getToken(OMDParser::StringLiteral, 0);
751size_t OMDParser::ConstantContext::getRuleIndex()
const {
752 return OMDParser::RuleConstant;
755void OMDParser::ConstantContext::enterRule(tree::ParseTreeListener *listener) {
756 auto parserListener =
dynamic_cast<OMDListener *
>(listener);
757 if (parserListener !=
nullptr)
758 parserListener->enterConstant(
this);
761void OMDParser::ConstantContext::exitRule(tree::ParseTreeListener *listener) {
762 auto parserListener =
dynamic_cast<OMDListener *
>(listener);
763 if (parserListener !=
nullptr)
764 parserListener->exitConstant(
this);
768std::any OMDParser::ConstantContext::accept(tree::ParseTreeVisitor *visitor) {
769 if (
auto parserVisitor =
dynamic_cast<OMDVisitor*
>(visitor))
770 return parserVisitor->visitConstant(
this);
772 return visitor->visitChildren(
this);
775OMDParser::ConstantContext* OMDParser::constant() {
777 enterRule(_localctx, 6, OMDParser::RuleConstant);
779#if __cplusplus > 201703L
780 auto onExit =
finally([=,
this] {
782 auto onExit =
finally([=] {
788 _errHandler->sync(
this);
789 switch (_input->LA(1)) {
790 case OMDParser::NUM_LONG:
791 case OMDParser::NUM_INT: {
792 enterOuterAlt(_localctx, 1);
798 case OMDParser::NUM_FLOAT:
799 case OMDParser::NUM_DOUBLE: {
800 enterOuterAlt(_localctx, 2);
806 case OMDParser::LPAREN: {
807 enterOuterAlt(_localctx, 3);
813 case OMDParser::TRUE: {
814 enterOuterAlt(_localctx, 4);
816 match(OMDParser::TRUE);
820 case OMDParser::FALSE: {
821 enterOuterAlt(_localctx, 5);
823 match(OMDParser::FALSE);
827 case OMDParser::ID: {
828 enterOuterAlt(_localctx, 6);
830 match(OMDParser::ID);
834 case OMDParser::StringLiteral: {
835 enterOuterAlt(_localctx, 7);
837 match(OMDParser::StringLiteral);
842 throw NoViableAltException(
this);
846 catch (RecognitionException &e) {
847 _errHandler->reportError(
this, e);
848 _localctx->exception = std::current_exception();
849 _errHandler->recover(
this, _localctx->exception);
857OMDParser::ComponentblockContext::ComponentblockContext(ParserRuleContext *parent,
size_t invokingState)
858 : ParserRuleContext(parent, invokingState) {
861tree::TerminalNode* OMDParser::ComponentblockContext::COMPONENT() {
862 return getToken(OMDParser::COMPONENT, 0);
865tree::TerminalNode* OMDParser::ComponentblockContext::LCURLY() {
866 return getToken(OMDParser::LCURLY, 0);
869tree::TerminalNode* OMDParser::ComponentblockContext::RCURLY() {
870 return getToken(OMDParser::RCURLY, 0);
873std::vector<OMDParser::AssignmentContext *> OMDParser::ComponentblockContext::assignment() {
874 return getRuleContexts<OMDParser::AssignmentContext>();
877OMDParser::AssignmentContext* OMDParser::ComponentblockContext::assignment(
size_t i) {
878 return getRuleContext<OMDParser::AssignmentContext>(i);
882size_t OMDParser::ComponentblockContext::getRuleIndex()
const {
883 return OMDParser::RuleComponentblock;
886void OMDParser::ComponentblockContext::enterRule(tree::ParseTreeListener *listener) {
887 auto parserListener =
dynamic_cast<OMDListener *
>(listener);
888 if (parserListener !=
nullptr)
889 parserListener->enterComponentblock(
this);
892void OMDParser::ComponentblockContext::exitRule(tree::ParseTreeListener *listener) {
893 auto parserListener =
dynamic_cast<OMDListener *
>(listener);
894 if (parserListener !=
nullptr)
895 parserListener->exitComponentblock(
this);
899std::any OMDParser::ComponentblockContext::accept(tree::ParseTreeVisitor *visitor) {
900 if (
auto parserVisitor =
dynamic_cast<OMDVisitor*
>(visitor))
901 return parserVisitor->visitComponentblock(
this);
903 return visitor->visitChildren(
this);
906OMDParser::ComponentblockContext* OMDParser::componentblock() {
908 enterRule(_localctx, 8, OMDParser::RuleComponentblock);
911#if __cplusplus > 201703L
912 auto onExit =
finally([=,
this] {
914 auto onExit =
finally([=] {
919 enterOuterAlt(_localctx, 1);
921 match(OMDParser::COMPONENT);
923 match(OMDParser::LCURLY);
925 _errHandler->sync(
this);
927 while (_la == OMDParser::ID) {
931 _errHandler->sync(
this);
935 match(OMDParser::RCURLY);
938 catch (RecognitionException &e) {
939 _errHandler->reportError(
this, e);
940 _localctx->exception = std::current_exception();
941 _errHandler->recover(
this, _localctx->exception);
949OMDParser::ZconstraintblockContext::ZconstraintblockContext(ParserRuleContext *parent,
size_t invokingState)
950 : ParserRuleContext(parent, invokingState) {
953tree::TerminalNode* OMDParser::ZconstraintblockContext::ZCONSTRAINT() {
954 return getToken(OMDParser::ZCONSTRAINT, 0);
957tree::TerminalNode* OMDParser::ZconstraintblockContext::LCURLY() {
958 return getToken(OMDParser::LCURLY, 0);
961tree::TerminalNode* OMDParser::ZconstraintblockContext::RCURLY() {
962 return getToken(OMDParser::RCURLY, 0);
965std::vector<OMDParser::AssignmentContext *> OMDParser::ZconstraintblockContext::assignment() {
966 return getRuleContexts<OMDParser::AssignmentContext>();
969OMDParser::AssignmentContext* OMDParser::ZconstraintblockContext::assignment(
size_t i) {
970 return getRuleContext<OMDParser::AssignmentContext>(i);
974size_t OMDParser::ZconstraintblockContext::getRuleIndex()
const {
975 return OMDParser::RuleZconstraintblock;
978void OMDParser::ZconstraintblockContext::enterRule(tree::ParseTreeListener *listener) {
979 auto parserListener =
dynamic_cast<OMDListener *
>(listener);
980 if (parserListener !=
nullptr)
981 parserListener->enterZconstraintblock(
this);
984void OMDParser::ZconstraintblockContext::exitRule(tree::ParseTreeListener *listener) {
985 auto parserListener =
dynamic_cast<OMDListener *
>(listener);
986 if (parserListener !=
nullptr)
987 parserListener->exitZconstraintblock(
this);
991std::any OMDParser::ZconstraintblockContext::accept(tree::ParseTreeVisitor *visitor) {
992 if (
auto parserVisitor =
dynamic_cast<OMDVisitor*
>(visitor))
993 return parserVisitor->visitZconstraintblock(
this);
995 return visitor->visitChildren(
this);
998OMDParser::ZconstraintblockContext* OMDParser::zconstraintblock() {
1000 enterRule(_localctx, 10, OMDParser::RuleZconstraintblock);
1003#if __cplusplus > 201703L
1004 auto onExit =
finally([=,
this] {
1006 auto onExit =
finally([=] {
1011 enterOuterAlt(_localctx, 1);
1013 match(OMDParser::ZCONSTRAINT);
1015 match(OMDParser::LCURLY);
1017 _errHandler->sync(
this);
1018 _la = _input->LA(1);
1019 while (_la == OMDParser::ID) {
1023 _errHandler->sync(
this);
1024 _la = _input->LA(1);
1027 match(OMDParser::RCURLY);
1030 catch (RecognitionException &e) {
1031 _errHandler->reportError(
this, e);
1032 _localctx->exception = std::current_exception();
1033 _errHandler->recover(
this, _localctx->exception);
1041OMDParser::RestraintblockContext::RestraintblockContext(ParserRuleContext *parent,
size_t invokingState)
1042 : ParserRuleContext(parent, invokingState) {
1045tree::TerminalNode* OMDParser::RestraintblockContext::RESTRAINT() {
1046 return getToken(OMDParser::RESTRAINT, 0);
1049tree::TerminalNode* OMDParser::RestraintblockContext::LCURLY() {
1050 return getToken(OMDParser::LCURLY, 0);
1053tree::TerminalNode* OMDParser::RestraintblockContext::RCURLY() {
1054 return getToken(OMDParser::RCURLY, 0);
1057std::vector<OMDParser::AssignmentContext *> OMDParser::RestraintblockContext::assignment() {
1058 return getRuleContexts<OMDParser::AssignmentContext>();
1061OMDParser::AssignmentContext* OMDParser::RestraintblockContext::assignment(
size_t i) {
1062 return getRuleContext<OMDParser::AssignmentContext>(i);
1066size_t OMDParser::RestraintblockContext::getRuleIndex()
const {
1067 return OMDParser::RuleRestraintblock;
1070void OMDParser::RestraintblockContext::enterRule(tree::ParseTreeListener *listener) {
1071 auto parserListener =
dynamic_cast<OMDListener *
>(listener);
1072 if (parserListener !=
nullptr)
1073 parserListener->enterRestraintblock(
this);
1076void OMDParser::RestraintblockContext::exitRule(tree::ParseTreeListener *listener) {
1077 auto parserListener =
dynamic_cast<OMDListener *
>(listener);
1078 if (parserListener !=
nullptr)
1079 parserListener->exitRestraintblock(
this);
1083std::any OMDParser::RestraintblockContext::accept(tree::ParseTreeVisitor *visitor) {
1084 if (
auto parserVisitor =
dynamic_cast<OMDVisitor*
>(visitor))
1085 return parserVisitor->visitRestraintblock(
this);
1087 return visitor->visitChildren(
this);
1090OMDParser::RestraintblockContext* OMDParser::restraintblock() {
1092 enterRule(_localctx, 12, OMDParser::RuleRestraintblock);
1095#if __cplusplus > 201703L
1096 auto onExit =
finally([=,
this] {
1098 auto onExit =
finally([=] {
1103 enterOuterAlt(_localctx, 1);
1105 match(OMDParser::RESTRAINT);
1107 match(OMDParser::LCURLY);
1109 _errHandler->sync(
this);
1110 _la = _input->LA(1);
1111 while (_la == OMDParser::ID) {
1115 _errHandler->sync(
this);
1116 _la = _input->LA(1);
1119 match(OMDParser::RCURLY);
1122 catch (RecognitionException &e) {
1123 _errHandler->reportError(
this, e);
1124 _localctx->exception = std::current_exception();
1125 _errHandler->recover(
this, _localctx->exception);
1133OMDParser::FlucqblockContext::FlucqblockContext(ParserRuleContext *parent,
size_t invokingState)
1134 : ParserRuleContext(parent, invokingState) {
1137tree::TerminalNode* OMDParser::FlucqblockContext::FLUCQ() {
1138 return getToken(OMDParser::FLUCQ, 0);
1141tree::TerminalNode* OMDParser::FlucqblockContext::LCURLY() {
1142 return getToken(OMDParser::LCURLY, 0);
1145tree::TerminalNode* OMDParser::FlucqblockContext::RCURLY() {
1146 return getToken(OMDParser::RCURLY, 0);
1149std::vector<OMDParser::AssignmentContext *> OMDParser::FlucqblockContext::assignment() {
1150 return getRuleContexts<OMDParser::AssignmentContext>();
1153OMDParser::AssignmentContext* OMDParser::FlucqblockContext::assignment(
size_t i) {
1154 return getRuleContext<OMDParser::AssignmentContext>(i);
1158size_t OMDParser::FlucqblockContext::getRuleIndex()
const {
1159 return OMDParser::RuleFlucqblock;
1162void OMDParser::FlucqblockContext::enterRule(tree::ParseTreeListener *listener) {
1163 auto parserListener =
dynamic_cast<OMDListener *
>(listener);
1164 if (parserListener !=
nullptr)
1165 parserListener->enterFlucqblock(
this);
1168void OMDParser::FlucqblockContext::exitRule(tree::ParseTreeListener *listener) {
1169 auto parserListener =
dynamic_cast<OMDListener *
>(listener);
1170 if (parserListener !=
nullptr)
1171 parserListener->exitFlucqblock(
this);
1175std::any OMDParser::FlucqblockContext::accept(tree::ParseTreeVisitor *visitor) {
1176 if (
auto parserVisitor =
dynamic_cast<OMDVisitor*
>(visitor))
1177 return parserVisitor->visitFlucqblock(
this);
1179 return visitor->visitChildren(
this);
1182OMDParser::FlucqblockContext* OMDParser::flucqblock() {
1184 enterRule(_localctx, 14, OMDParser::RuleFlucqblock);
1187#if __cplusplus > 201703L
1188 auto onExit =
finally([=,
this] {
1190 auto onExit =
finally([=] {
1195 enterOuterAlt(_localctx, 1);
1197 match(OMDParser::FLUCQ);
1199 match(OMDParser::LCURLY);
1201 _errHandler->sync(
this);
1202 _la = _input->LA(1);
1203 while (_la == OMDParser::ID) {
1207 _errHandler->sync(
this);
1208 _la = _input->LA(1);
1211 match(OMDParser::RCURLY);
1214 catch (RecognitionException &e) {
1215 _errHandler->reportError(
this, e);
1216 _localctx->exception = std::current_exception();
1217 _errHandler->recover(
this, _localctx->exception);
1225OMDParser::RnemdblockContext::RnemdblockContext(ParserRuleContext *parent,
size_t invokingState)
1226 : ParserRuleContext(parent, invokingState) {
1229tree::TerminalNode* OMDParser::RnemdblockContext::RNEMD() {
1230 return getToken(OMDParser::RNEMD, 0);
1233tree::TerminalNode* OMDParser::RnemdblockContext::LCURLY() {
1234 return getToken(OMDParser::LCURLY, 0);
1237tree::TerminalNode* OMDParser::RnemdblockContext::RCURLY() {
1238 return getToken(OMDParser::RCURLY, 0);
1241std::vector<OMDParser::AssignmentContext *> OMDParser::RnemdblockContext::assignment() {
1242 return getRuleContexts<OMDParser::AssignmentContext>();
1245OMDParser::AssignmentContext* OMDParser::RnemdblockContext::assignment(
size_t i) {
1246 return getRuleContext<OMDParser::AssignmentContext>(i);
1250size_t OMDParser::RnemdblockContext::getRuleIndex()
const {
1251 return OMDParser::RuleRnemdblock;
1254void OMDParser::RnemdblockContext::enterRule(tree::ParseTreeListener *listener) {
1255 auto parserListener =
dynamic_cast<OMDListener *
>(listener);
1256 if (parserListener !=
nullptr)
1257 parserListener->enterRnemdblock(
this);
1260void OMDParser::RnemdblockContext::exitRule(tree::ParseTreeListener *listener) {
1261 auto parserListener =
dynamic_cast<OMDListener *
>(listener);
1262 if (parserListener !=
nullptr)
1263 parserListener->exitRnemdblock(
this);
1267std::any OMDParser::RnemdblockContext::accept(tree::ParseTreeVisitor *visitor) {
1268 if (
auto parserVisitor =
dynamic_cast<OMDVisitor*
>(visitor))
1269 return parserVisitor->visitRnemdblock(
this);
1271 return visitor->visitChildren(
this);
1274OMDParser::RnemdblockContext* OMDParser::rnemdblock() {
1276 enterRule(_localctx, 16, OMDParser::RuleRnemdblock);
1279#if __cplusplus > 201703L
1280 auto onExit =
finally([=,
this] {
1282 auto onExit =
finally([=] {
1287 enterOuterAlt(_localctx, 1);
1289 match(OMDParser::RNEMD);
1291 match(OMDParser::LCURLY);
1293 _errHandler->sync(
this);
1294 _la = _input->LA(1);
1295 while (_la == OMDParser::ID) {
1299 _errHandler->sync(
this);
1300 _la = _input->LA(1);
1303 match(OMDParser::RCURLY);
1306 catch (RecognitionException &e) {
1307 _errHandler->reportError(
this, e);
1308 _localctx->exception = std::current_exception();
1309 _errHandler->recover(
this, _localctx->exception);
1317OMDParser::LightblockContext::LightblockContext(ParserRuleContext *parent,
size_t invokingState)
1318 : ParserRuleContext(parent, invokingState) {
1321tree::TerminalNode* OMDParser::LightblockContext::LIGHT() {
1322 return getToken(OMDParser::LIGHT, 0);
1325tree::TerminalNode* OMDParser::LightblockContext::LCURLY() {
1326 return getToken(OMDParser::LCURLY, 0);
1329tree::TerminalNode* OMDParser::LightblockContext::RCURLY() {
1330 return getToken(OMDParser::RCURLY, 0);
1333std::vector<OMDParser::AssignmentContext *> OMDParser::LightblockContext::assignment() {
1334 return getRuleContexts<OMDParser::AssignmentContext>();
1337OMDParser::AssignmentContext* OMDParser::LightblockContext::assignment(
size_t i) {
1338 return getRuleContext<OMDParser::AssignmentContext>(i);
1342size_t OMDParser::LightblockContext::getRuleIndex()
const {
1343 return OMDParser::RuleLightblock;
1346void OMDParser::LightblockContext::enterRule(tree::ParseTreeListener *listener) {
1347 auto parserListener =
dynamic_cast<OMDListener *
>(listener);
1348 if (parserListener !=
nullptr)
1349 parserListener->enterLightblock(
this);
1352void OMDParser::LightblockContext::exitRule(tree::ParseTreeListener *listener) {
1353 auto parserListener =
dynamic_cast<OMDListener *
>(listener);
1354 if (parserListener !=
nullptr)
1355 parserListener->exitLightblock(
this);
1359std::any OMDParser::LightblockContext::accept(tree::ParseTreeVisitor *visitor) {
1360 if (
auto parserVisitor =
dynamic_cast<OMDVisitor*
>(visitor))
1361 return parserVisitor->visitLightblock(
this);
1363 return visitor->visitChildren(
this);
1366OMDParser::LightblockContext* OMDParser::lightblock() {
1368 enterRule(_localctx, 18, OMDParser::RuleLightblock);
1371#if __cplusplus > 201703L
1372 auto onExit =
finally([=,
this] {
1374 auto onExit =
finally([=] {
1379 enterOuterAlt(_localctx, 1);
1381 match(OMDParser::LIGHT);
1383 match(OMDParser::LCURLY);
1385 _errHandler->sync(
this);
1386 _la = _input->LA(1);
1387 while (_la == OMDParser::ID) {
1391 _errHandler->sync(
this);
1392 _la = _input->LA(1);
1395 match(OMDParser::RCURLY);
1398 catch (RecognitionException &e) {
1399 _errHandler->reportError(
this, e);
1400 _localctx->exception = std::current_exception();
1401 _errHandler->recover(
this, _localctx->exception);
1409OMDParser::VelocityfieldblockContext::VelocityfieldblockContext(ParserRuleContext *parent,
size_t invokingState)
1410 : ParserRuleContext(parent, invokingState) {
1413tree::TerminalNode* OMDParser::VelocityfieldblockContext::VELOCITYFIELD() {
1414 return getToken(OMDParser::VELOCITYFIELD, 0);
1417tree::TerminalNode* OMDParser::VelocityfieldblockContext::LCURLY() {
1418 return getToken(OMDParser::LCURLY, 0);
1421tree::TerminalNode* OMDParser::VelocityfieldblockContext::RCURLY() {
1422 return getToken(OMDParser::RCURLY, 0);
1425std::vector<OMDParser::AssignmentContext *> OMDParser::VelocityfieldblockContext::assignment() {
1426 return getRuleContexts<OMDParser::AssignmentContext>();
1429OMDParser::AssignmentContext* OMDParser::VelocityfieldblockContext::assignment(
size_t i) {
1430 return getRuleContext<OMDParser::AssignmentContext>(i);
1434size_t OMDParser::VelocityfieldblockContext::getRuleIndex()
const {
1435 return OMDParser::RuleVelocityfieldblock;
1438void OMDParser::VelocityfieldblockContext::enterRule(tree::ParseTreeListener *listener) {
1439 auto parserListener =
dynamic_cast<OMDListener *
>(listener);
1440 if (parserListener !=
nullptr)
1441 parserListener->enterVelocityfieldblock(
this);
1444void OMDParser::VelocityfieldblockContext::exitRule(tree::ParseTreeListener *listener) {
1445 auto parserListener =
dynamic_cast<OMDListener *
>(listener);
1446 if (parserListener !=
nullptr)
1447 parserListener->exitVelocityfieldblock(
this);
1451std::any OMDParser::VelocityfieldblockContext::accept(tree::ParseTreeVisitor *visitor) {
1452 if (
auto parserVisitor =
dynamic_cast<OMDVisitor*
>(visitor))
1453 return parserVisitor->visitVelocityfieldblock(
this);
1455 return visitor->visitChildren(
this);
1458OMDParser::VelocityfieldblockContext* OMDParser::velocityfieldblock() {
1460 enterRule(_localctx, 20, OMDParser::RuleVelocityfieldblock);
1463#if __cplusplus > 201703L
1464 auto onExit =
finally([=,
this] {
1466 auto onExit =
finally([=] {
1471 enterOuterAlt(_localctx, 1);
1473 match(OMDParser::VELOCITYFIELD);
1475 match(OMDParser::LCURLY);
1477 _errHandler->sync(
this);
1478 _la = _input->LA(1);
1479 while (_la == OMDParser::ID) {
1483 _errHandler->sync(
this);
1484 _la = _input->LA(1);
1487 match(OMDParser::RCURLY);
1490 catch (RecognitionException &e) {
1491 _errHandler->reportError(
this, e);
1492 _localctx->exception = std::current_exception();
1493 _errHandler->recover(
this, _localctx->exception);
1501OMDParser::MinimizerblockContext::MinimizerblockContext(ParserRuleContext *parent,
size_t invokingState)
1502 : ParserRuleContext(parent, invokingState) {
1505tree::TerminalNode* OMDParser::MinimizerblockContext::MINIMIZER() {
1506 return getToken(OMDParser::MINIMIZER, 0);
1509tree::TerminalNode* OMDParser::MinimizerblockContext::LCURLY() {
1510 return getToken(OMDParser::LCURLY, 0);
1513tree::TerminalNode* OMDParser::MinimizerblockContext::RCURLY() {
1514 return getToken(OMDParser::RCURLY, 0);
1517std::vector<OMDParser::AssignmentContext *> OMDParser::MinimizerblockContext::assignment() {
1518 return getRuleContexts<OMDParser::AssignmentContext>();
1521OMDParser::AssignmentContext* OMDParser::MinimizerblockContext::assignment(
size_t i) {
1522 return getRuleContext<OMDParser::AssignmentContext>(i);
1526size_t OMDParser::MinimizerblockContext::getRuleIndex()
const {
1527 return OMDParser::RuleMinimizerblock;
1530void OMDParser::MinimizerblockContext::enterRule(tree::ParseTreeListener *listener) {
1531 auto parserListener =
dynamic_cast<OMDListener *
>(listener);
1532 if (parserListener !=
nullptr)
1533 parserListener->enterMinimizerblock(
this);
1536void OMDParser::MinimizerblockContext::exitRule(tree::ParseTreeListener *listener) {
1537 auto parserListener =
dynamic_cast<OMDListener *
>(listener);
1538 if (parserListener !=
nullptr)
1539 parserListener->exitMinimizerblock(
this);
1543std::any OMDParser::MinimizerblockContext::accept(tree::ParseTreeVisitor *visitor) {
1544 if (
auto parserVisitor =
dynamic_cast<OMDVisitor*
>(visitor))
1545 return parserVisitor->visitMinimizerblock(
this);
1547 return visitor->visitChildren(
this);
1550OMDParser::MinimizerblockContext* OMDParser::minimizerblock() {
1552 enterRule(_localctx, 22, OMDParser::RuleMinimizerblock);
1555#if __cplusplus > 201703L
1556 auto onExit =
finally([=,
this] {
1558 auto onExit =
finally([=] {
1563 enterOuterAlt(_localctx, 1);
1565 match(OMDParser::MINIMIZER);
1567 match(OMDParser::LCURLY);
1569 _errHandler->sync(
this);
1570 _la = _input->LA(1);
1571 while (_la == OMDParser::ID) {
1575 _errHandler->sync(
this);
1576 _la = _input->LA(1);
1579 match(OMDParser::RCURLY);
1582 catch (RecognitionException &e) {
1583 _errHandler->reportError(
this, e);
1584 _localctx->exception = std::current_exception();
1585 _errHandler->recover(
this, _localctx->exception);
1593OMDParser::MoleculeblockContext::MoleculeblockContext(ParserRuleContext *parent,
size_t invokingState)
1594 : ParserRuleContext(parent, invokingState) {
1597tree::TerminalNode* OMDParser::MoleculeblockContext::MOLECULE() {
1598 return getToken(OMDParser::MOLECULE, 0);
1601tree::TerminalNode* OMDParser::MoleculeblockContext::LCURLY() {
1602 return getToken(OMDParser::LCURLY, 0);
1605tree::TerminalNode* OMDParser::MoleculeblockContext::RCURLY() {
1606 return getToken(OMDParser::RCURLY, 0);
1609std::vector<OMDParser::MoleculestatementContext *> OMDParser::MoleculeblockContext::moleculestatement() {
1610 return getRuleContexts<OMDParser::MoleculestatementContext>();
1613OMDParser::MoleculestatementContext* OMDParser::MoleculeblockContext::moleculestatement(
size_t i) {
1614 return getRuleContext<OMDParser::MoleculestatementContext>(i);
1618size_t OMDParser::MoleculeblockContext::getRuleIndex()
const {
1619 return OMDParser::RuleMoleculeblock;
1622void OMDParser::MoleculeblockContext::enterRule(tree::ParseTreeListener *listener) {
1623 auto parserListener =
dynamic_cast<OMDListener *
>(listener);
1624 if (parserListener !=
nullptr)
1625 parserListener->enterMoleculeblock(
this);
1628void OMDParser::MoleculeblockContext::exitRule(tree::ParseTreeListener *listener) {
1629 auto parserListener =
dynamic_cast<OMDListener *
>(listener);
1630 if (parserListener !=
nullptr)
1631 parserListener->exitMoleculeblock(
this);
1635std::any OMDParser::MoleculeblockContext::accept(tree::ParseTreeVisitor *visitor) {
1636 if (
auto parserVisitor =
dynamic_cast<OMDVisitor*
>(visitor))
1637 return parserVisitor->visitMoleculeblock(
this);
1639 return visitor->visitChildren(
this);
1642OMDParser::MoleculeblockContext* OMDParser::moleculeblock() {
1644 enterRule(_localctx, 24, OMDParser::RuleMoleculeblock);
1647#if __cplusplus > 201703L
1648 auto onExit =
finally([=,
this] {
1650 auto onExit =
finally([=] {
1655 enterOuterAlt(_localctx, 1);
1657 match(OMDParser::MOLECULE);
1659 match(OMDParser::LCURLY);
1661 _errHandler->sync(
this);
1662 _la = _input->LA(1);
1663 while (((((_la - 7) & ~ 0x3fULL) == 0) &&
1664 ((1ULL << (_la - 7)) & 288230376151713023) != 0)) {
1666 moleculestatement();
1668 _errHandler->sync(
this);
1669 _la = _input->LA(1);
1672 match(OMDParser::RCURLY);
1675 catch (RecognitionException &e) {
1676 _errHandler->reportError(
this, e);
1677 _localctx->exception = std::current_exception();
1678 _errHandler->recover(
this, _localctx->exception);
1686OMDParser::MoleculestatementContext::MoleculestatementContext(ParserRuleContext *parent,
size_t invokingState)
1687 : ParserRuleContext(parent, invokingState) {
1691 return getRuleContext<OMDParser::AssignmentContext>(0);
1694OMDParser::AtomblockContext* OMDParser::MoleculestatementContext::atomblock() {
1695 return getRuleContext<OMDParser::AtomblockContext>(0);
1698OMDParser::BondblockContext* OMDParser::MoleculestatementContext::bondblock() {
1699 return getRuleContext<OMDParser::BondblockContext>(0);
1702OMDParser::BendblockContext* OMDParser::MoleculestatementContext::bendblock() {
1703 return getRuleContext<OMDParser::BendblockContext>(0);
1706OMDParser::TorsionblockContext* OMDParser::MoleculestatementContext::torsionblock() {
1707 return getRuleContext<OMDParser::TorsionblockContext>(0);
1710OMDParser::InversionblockContext* OMDParser::MoleculestatementContext::inversionblock() {
1711 return getRuleContext<OMDParser::InversionblockContext>(0);
1714OMDParser::RigidbodyblockContext* OMDParser::MoleculestatementContext::rigidbodyblock() {
1715 return getRuleContext<OMDParser::RigidbodyblockContext>(0);
1718OMDParser::CutoffgroupblockContext* OMDParser::MoleculestatementContext::cutoffgroupblock() {
1719 return getRuleContext<OMDParser::CutoffgroupblockContext>(0);
1722OMDParser::ConstraintblockContext* OMDParser::MoleculestatementContext::constraintblock() {
1723 return getRuleContext<OMDParser::ConstraintblockContext>(0);
1726OMDParser::SequencestringContext* OMDParser::MoleculestatementContext::sequencestring() {
1727 return getRuleContext<OMDParser::SequencestringContext>(0);
1731size_t OMDParser::MoleculestatementContext::getRuleIndex()
const {
1732 return OMDParser::RuleMoleculestatement;
1735void OMDParser::MoleculestatementContext::enterRule(tree::ParseTreeListener *listener) {
1736 auto parserListener =
dynamic_cast<OMDListener *
>(listener);
1737 if (parserListener !=
nullptr)
1738 parserListener->enterMoleculestatement(
this);
1741void OMDParser::MoleculestatementContext::exitRule(tree::ParseTreeListener *listener) {
1742 auto parserListener =
dynamic_cast<OMDListener *
>(listener);
1743 if (parserListener !=
nullptr)
1744 parserListener->exitMoleculestatement(
this);
1748std::any OMDParser::MoleculestatementContext::accept(tree::ParseTreeVisitor *visitor) {
1749 if (
auto parserVisitor =
dynamic_cast<OMDVisitor*
>(visitor))
1750 return parserVisitor->visitMoleculestatement(
this);
1752 return visitor->visitChildren(
this);
1755OMDParser::MoleculestatementContext* OMDParser::moleculestatement() {
1757 enterRule(_localctx, 26, OMDParser::RuleMoleculestatement);
1759#if __cplusplus > 201703L
1760 auto onExit =
finally([=,
this] {
1762 auto onExit =
finally([=] {
1768 _errHandler->sync(
this);
1769 switch (_input->LA(1)) {
1770 case OMDParser::ID: {
1771 enterOuterAlt(_localctx, 1);
1777 case OMDParser::ATOM: {
1778 enterOuterAlt(_localctx, 2);
1784 case OMDParser::BOND: {
1785 enterOuterAlt(_localctx, 3);
1791 case OMDParser::BEND: {
1792 enterOuterAlt(_localctx, 4);
1798 case OMDParser::TORSION: {
1799 enterOuterAlt(_localctx, 5);
1805 case OMDParser::INVERSION: {
1806 enterOuterAlt(_localctx, 6);
1812 case OMDParser::RIGIDBODY: {
1813 enterOuterAlt(_localctx, 7);
1819 case OMDParser::CUTOFFGROUP: {
1820 enterOuterAlt(_localctx, 8);
1826 case OMDParser::CONSTRAINT: {
1827 enterOuterAlt(_localctx, 9);
1833 case OMDParser::SEQUENCE: {
1834 enterOuterAlt(_localctx, 10);
1841 throw NoViableAltException(
this);
1845 catch (RecognitionException &e) {
1846 _errHandler->reportError(
this, e);
1847 _localctx->exception = std::current_exception();
1848 _errHandler->recover(
this, _localctx->exception);
1856OMDParser::AtomblockContext::AtomblockContext(ParserRuleContext *parent,
size_t invokingState)
1857 : ParserRuleContext(parent, invokingState) {
1860tree::TerminalNode* OMDParser::AtomblockContext::ATOM() {
1861 return getToken(OMDParser::ATOM, 0);
1864tree::TerminalNode* OMDParser::AtomblockContext::LBRACKET() {
1865 return getToken(OMDParser::LBRACKET, 0);
1868OMDParser::IntConstContext* OMDParser::AtomblockContext::intConst() {
1869 return getRuleContext<OMDParser::IntConstContext>(0);
1872tree::TerminalNode* OMDParser::AtomblockContext::RBRACKET() {
1873 return getToken(OMDParser::RBRACKET, 0);
1876tree::TerminalNode* OMDParser::AtomblockContext::LCURLY() {
1877 return getToken(OMDParser::LCURLY, 0);
1880tree::TerminalNode* OMDParser::AtomblockContext::RCURLY() {
1881 return getToken(OMDParser::RCURLY, 0);
1884std::vector<OMDParser::AtomstatementContext *> OMDParser::AtomblockContext::atomstatement() {
1885 return getRuleContexts<OMDParser::AtomstatementContext>();
1888OMDParser::AtomstatementContext* OMDParser::AtomblockContext::atomstatement(
size_t i) {
1889 return getRuleContext<OMDParser::AtomstatementContext>(i);
1893size_t OMDParser::AtomblockContext::getRuleIndex()
const {
1894 return OMDParser::RuleAtomblock;
1897void OMDParser::AtomblockContext::enterRule(tree::ParseTreeListener *listener) {
1898 auto parserListener =
dynamic_cast<OMDListener *
>(listener);
1899 if (parserListener !=
nullptr)
1900 parserListener->enterAtomblock(
this);
1903void OMDParser::AtomblockContext::exitRule(tree::ParseTreeListener *listener) {
1904 auto parserListener =
dynamic_cast<OMDListener *
>(listener);
1905 if (parserListener !=
nullptr)
1906 parserListener->exitAtomblock(
this);
1910std::any OMDParser::AtomblockContext::accept(tree::ParseTreeVisitor *visitor) {
1911 if (
auto parserVisitor =
dynamic_cast<OMDVisitor*
>(visitor))
1912 return parserVisitor->visitAtomblock(
this);
1914 return visitor->visitChildren(
this);
1917OMDParser::AtomblockContext* OMDParser::atomblock() {
1919 enterRule(_localctx, 28, OMDParser::RuleAtomblock);
1922#if __cplusplus > 201703L
1923 auto onExit =
finally([=,
this] {
1925 auto onExit =
finally([=] {
1930 enterOuterAlt(_localctx, 1);
1932 match(OMDParser::ATOM);
1934 match(OMDParser::LBRACKET);
1938 match(OMDParser::RBRACKET);
1940 match(OMDParser::LCURLY);
1942 _errHandler->sync(
this);
1943 _la = _input->LA(1);
1944 while (((((_la - 21) & ~ 0x3fULL) == 0) &&
1945 ((1ULL << (_la - 21)) & 17592202821635) != 0)) {
1949 _errHandler->sync(
this);
1950 _la = _input->LA(1);
1953 match(OMDParser::RCURLY);
1956 catch (RecognitionException &e) {
1957 _errHandler->reportError(
this, e);
1958 _localctx->exception = std::current_exception();
1959 _errHandler->recover(
this, _localctx->exception);
1967OMDParser::AtomstatementContext::AtomstatementContext(ParserRuleContext *parent,
size_t invokingState)
1968 : ParserRuleContext(parent, invokingState) {
1972 return getRuleContext<OMDParser::AssignmentContext>(0);
1975tree::TerminalNode* OMDParser::AtomstatementContext::POSITION() {
1976 return getToken(OMDParser::POSITION, 0);
1979tree::TerminalNode* OMDParser::AtomstatementContext::LPAREN() {
1980 return getToken(OMDParser::LPAREN, 0);
1983OMDParser::DoubleNumberTupleContext* OMDParser::AtomstatementContext::doubleNumberTuple() {
1984 return getRuleContext<OMDParser::DoubleNumberTupleContext>(0);
1987tree::TerminalNode* OMDParser::AtomstatementContext::RPAREN() {
1988 return getToken(OMDParser::RPAREN, 0);
1991tree::TerminalNode* OMDParser::AtomstatementContext::SEMICOLON() {
1992 return getToken(OMDParser::SEMICOLON, 0);
1995tree::TerminalNode* OMDParser::AtomstatementContext::ORIENTATION() {
1996 return getToken(OMDParser::ORIENTATION, 0);
1999tree::TerminalNode* OMDParser::AtomstatementContext::CHARGE() {
2000 return getToken(OMDParser::CHARGE, 0);
2003OMDParser::FloatConstContext* OMDParser::AtomstatementContext::floatConst() {
2004 return getRuleContext<OMDParser::FloatConstContext>(0);
2008size_t OMDParser::AtomstatementContext::getRuleIndex()
const {
2009 return OMDParser::RuleAtomstatement;
2012void OMDParser::AtomstatementContext::enterRule(tree::ParseTreeListener *listener) {
2013 auto parserListener =
dynamic_cast<OMDListener *
>(listener);
2014 if (parserListener !=
nullptr)
2015 parserListener->enterAtomstatement(
this);
2018void OMDParser::AtomstatementContext::exitRule(tree::ParseTreeListener *listener) {
2019 auto parserListener =
dynamic_cast<OMDListener *
>(listener);
2020 if (parserListener !=
nullptr)
2021 parserListener->exitAtomstatement(
this);
2025std::any OMDParser::AtomstatementContext::accept(tree::ParseTreeVisitor *visitor) {
2026 if (
auto parserVisitor =
dynamic_cast<OMDVisitor*
>(visitor))
2027 return parserVisitor->visitAtomstatement(
this);
2029 return visitor->visitChildren(
this);
2032OMDParser::AtomstatementContext* OMDParser::atomstatement() {
2034 enterRule(_localctx, 30, OMDParser::RuleAtomstatement);
2036#if __cplusplus > 201703L
2037 auto onExit =
finally([=,
this] {
2039 auto onExit =
finally([=] {
2045 _errHandler->sync(
this);
2046 switch (_input->LA(1)) {
2047 case OMDParser::ID: {
2048 enterOuterAlt(_localctx, 1);
2054 case OMDParser::POSITION: {
2055 enterOuterAlt(_localctx, 2);
2057 match(OMDParser::POSITION);
2059 match(OMDParser::LPAREN);
2061 doubleNumberTuple();
2063 match(OMDParser::RPAREN);
2065 match(OMDParser::SEMICOLON);
2069 case OMDParser::ORIENTATION: {
2070 enterOuterAlt(_localctx, 3);
2072 match(OMDParser::ORIENTATION);
2074 match(OMDParser::LPAREN);
2076 doubleNumberTuple();
2078 match(OMDParser::RPAREN);
2080 match(OMDParser::SEMICOLON);
2084 case OMDParser::CHARGE: {
2085 enterOuterAlt(_localctx, 4);
2087 match(OMDParser::CHARGE);
2089 match(OMDParser::LPAREN);
2093 match(OMDParser::RPAREN);
2095 match(OMDParser::SEMICOLON);
2100 throw NoViableAltException(
this);
2104 catch (RecognitionException &e) {
2105 _errHandler->reportError(
this, e);
2106 _localctx->exception = std::current_exception();
2107 _errHandler->recover(
this, _localctx->exception);
2115OMDParser::BondblockContext::BondblockContext(ParserRuleContext *parent,
size_t invokingState)
2116 : ParserRuleContext(parent, invokingState) {
2119tree::TerminalNode* OMDParser::BondblockContext::BOND() {
2120 return getToken(OMDParser::BOND, 0);
2123tree::TerminalNode* OMDParser::BondblockContext::LCURLY() {
2124 return getToken(OMDParser::LCURLY, 0);
2127tree::TerminalNode* OMDParser::BondblockContext::RCURLY() {
2128 return getToken(OMDParser::RCURLY, 0);
2131tree::TerminalNode* OMDParser::BondblockContext::LBRACKET() {
2132 return getToken(OMDParser::LBRACKET, 0);
2135OMDParser::IntConstContext* OMDParser::BondblockContext::intConst() {
2136 return getRuleContext<OMDParser::IntConstContext>(0);
2139tree::TerminalNode* OMDParser::BondblockContext::RBRACKET() {
2140 return getToken(OMDParser::RBRACKET, 0);
2143std::vector<OMDParser::BondstatementContext *> OMDParser::BondblockContext::bondstatement() {
2144 return getRuleContexts<OMDParser::BondstatementContext>();
2147OMDParser::BondstatementContext* OMDParser::BondblockContext::bondstatement(
size_t i) {
2148 return getRuleContext<OMDParser::BondstatementContext>(i);
2152size_t OMDParser::BondblockContext::getRuleIndex()
const {
2153 return OMDParser::RuleBondblock;
2156void OMDParser::BondblockContext::enterRule(tree::ParseTreeListener *listener) {
2157 auto parserListener =
dynamic_cast<OMDListener *
>(listener);
2158 if (parserListener !=
nullptr)
2159 parserListener->enterBondblock(
this);
2162void OMDParser::BondblockContext::exitRule(tree::ParseTreeListener *listener) {
2163 auto parserListener =
dynamic_cast<OMDListener *
>(listener);
2164 if (parserListener !=
nullptr)
2165 parserListener->exitBondblock(
this);
2169std::any OMDParser::BondblockContext::accept(tree::ParseTreeVisitor *visitor) {
2170 if (
auto parserVisitor =
dynamic_cast<OMDVisitor*
>(visitor))
2171 return parserVisitor->visitBondblock(
this);
2173 return visitor->visitChildren(
this);
2176OMDParser::BondblockContext* OMDParser::bondblock() {
2178 enterRule(_localctx, 32, OMDParser::RuleBondblock);
2181#if __cplusplus > 201703L
2182 auto onExit =
finally([=,
this] {
2184 auto onExit =
finally([=] {
2189 enterOuterAlt(_localctx, 1);
2191 match(OMDParser::BOND);
2193 _errHandler->sync(
this);
2195 _la = _input->LA(1);
2196 if (_la == OMDParser::LBRACKET) {
2198 match(OMDParser::LBRACKET);
2202 match(OMDParser::RBRACKET);
2205 match(OMDParser::LCURLY);
2207 _errHandler->sync(
this);
2208 _la = _input->LA(1);
2209 while (((((_la - 18) & ~ 0x3fULL) == 0) &&
2210 ((1ULL << (_la - 18)) & 140737488419841) != 0)) {
2214 _errHandler->sync(
this);
2215 _la = _input->LA(1);
2218 match(OMDParser::RCURLY);
2221 catch (RecognitionException &e) {
2222 _errHandler->reportError(
this, e);
2223 _localctx->exception = std::current_exception();
2224 _errHandler->recover(
this, _localctx->exception);
2232OMDParser::BondstatementContext::BondstatementContext(ParserRuleContext *parent,
size_t invokingState)
2233 : ParserRuleContext(parent, invokingState) {
2237 return getRuleContext<OMDParser::AssignmentContext>(0);
2240tree::TerminalNode* OMDParser::BondstatementContext::MEMBERS() {
2241 return getToken(OMDParser::MEMBERS, 0);
2244tree::TerminalNode* OMDParser::BondstatementContext::LPAREN() {
2245 return getToken(OMDParser::LPAREN, 0);
2248OMDParser::InttupleContext* OMDParser::BondstatementContext::inttuple() {
2249 return getRuleContext<OMDParser::InttupleContext>(0);
2252tree::TerminalNode* OMDParser::BondstatementContext::RPAREN() {
2253 return getToken(OMDParser::RPAREN, 0);
2256tree::TerminalNode* OMDParser::BondstatementContext::SEMICOLON() {
2257 return getToken(OMDParser::SEMICOLON, 0);
2260tree::TerminalNode* OMDParser::BondstatementContext::FIXED() {
2261 return getToken(OMDParser::FIXED, 0);
2264OMDParser::FloatConstContext* OMDParser::BondstatementContext::floatConst() {
2265 return getRuleContext<OMDParser::FloatConstContext>(0);
2268tree::TerminalNode* OMDParser::BondstatementContext::HARMONIC() {
2269 return getToken(OMDParser::HARMONIC, 0);
2272OMDParser::DoubleNumberTupleContext* OMDParser::BondstatementContext::doubleNumberTuple() {
2273 return getRuleContext<OMDParser::DoubleNumberTupleContext>(0);
2276tree::TerminalNode* OMDParser::BondstatementContext::CUBIC() {
2277 return getToken(OMDParser::CUBIC, 0);
2280tree::TerminalNode* OMDParser::BondstatementContext::QUARTIC() {
2281 return getToken(OMDParser::QUARTIC, 0);
2284tree::TerminalNode* OMDParser::BondstatementContext::POLYNOMIAL() {
2285 return getToken(OMDParser::POLYNOMIAL, 0);
2288tree::TerminalNode* OMDParser::BondstatementContext::MORSE() {
2289 return getToken(OMDParser::MORSE, 0);
2293size_t OMDParser::BondstatementContext::getRuleIndex()
const {
2294 return OMDParser::RuleBondstatement;
2297void OMDParser::BondstatementContext::enterRule(tree::ParseTreeListener *listener) {
2298 auto parserListener =
dynamic_cast<OMDListener *
>(listener);
2299 if (parserListener !=
nullptr)
2300 parserListener->enterBondstatement(
this);
2303void OMDParser::BondstatementContext::exitRule(tree::ParseTreeListener *listener) {
2304 auto parserListener =
dynamic_cast<OMDListener *
>(listener);
2305 if (parserListener !=
nullptr)
2306 parserListener->exitBondstatement(
this);
2310std::any OMDParser::BondstatementContext::accept(tree::ParseTreeVisitor *visitor) {
2311 if (
auto parserVisitor =
dynamic_cast<OMDVisitor*
>(visitor))
2312 return parserVisitor->visitBondstatement(
this);
2314 return visitor->visitChildren(
this);
2317OMDParser::BondstatementContext* OMDParser::bondstatement() {
2319 enterRule(_localctx, 34, OMDParser::RuleBondstatement);
2321#if __cplusplus > 201703L
2322 auto onExit =
finally([=,
this] {
2324 auto onExit =
finally([=] {
2330 _errHandler->sync(
this);
2331 switch (_input->LA(1)) {
2332 case OMDParser::ID: {
2333 enterOuterAlt(_localctx, 1);
2339 case OMDParser::MEMBERS: {
2340 enterOuterAlt(_localctx, 2);
2342 match(OMDParser::MEMBERS);
2344 match(OMDParser::LPAREN);
2348 match(OMDParser::RPAREN);
2350 match(OMDParser::SEMICOLON);
2354 case OMDParser::FIXED: {
2355 enterOuterAlt(_localctx, 3);
2357 match(OMDParser::FIXED);
2359 match(OMDParser::LPAREN);
2363 match(OMDParser::RPAREN);
2365 match(OMDParser::SEMICOLON);
2369 case OMDParser::HARMONIC: {
2370 enterOuterAlt(_localctx, 4);
2372 match(OMDParser::HARMONIC);
2374 match(OMDParser::LPAREN);
2376 doubleNumberTuple();
2378 match(OMDParser::RPAREN);
2380 match(OMDParser::SEMICOLON);
2384 case OMDParser::CUBIC: {
2385 enterOuterAlt(_localctx, 5);
2387 match(OMDParser::CUBIC);
2389 match(OMDParser::LPAREN);
2391 doubleNumberTuple();
2393 match(OMDParser::RPAREN);
2395 match(OMDParser::SEMICOLON);
2399 case OMDParser::QUARTIC: {
2400 enterOuterAlt(_localctx, 6);
2402 match(OMDParser::QUARTIC);
2404 match(OMDParser::LPAREN);
2406 doubleNumberTuple();
2408 match(OMDParser::RPAREN);
2410 match(OMDParser::SEMICOLON);
2414 case OMDParser::POLYNOMIAL: {
2415 enterOuterAlt(_localctx, 7);
2417 match(OMDParser::POLYNOMIAL);
2419 match(OMDParser::LPAREN);
2421 doubleNumberTuple();
2423 match(OMDParser::RPAREN);
2425 match(OMDParser::SEMICOLON);
2429 case OMDParser::MORSE: {
2430 enterOuterAlt(_localctx, 8);
2432 match(OMDParser::MORSE);
2434 match(OMDParser::LPAREN);
2436 doubleNumberTuple();
2438 match(OMDParser::RPAREN);
2440 match(OMDParser::SEMICOLON);
2445 throw NoViableAltException(
this);
2449 catch (RecognitionException &e) {
2450 _errHandler->reportError(
this, e);
2451 _localctx->exception = std::current_exception();
2452 _errHandler->recover(
this, _localctx->exception);
2460OMDParser::BendblockContext::BendblockContext(ParserRuleContext *parent,
size_t invokingState)
2461 : ParserRuleContext(parent, invokingState) {
2464tree::TerminalNode* OMDParser::BendblockContext::BEND() {
2465 return getToken(OMDParser::BEND, 0);
2468tree::TerminalNode* OMDParser::BendblockContext::LCURLY() {
2469 return getToken(OMDParser::LCURLY, 0);
2472tree::TerminalNode* OMDParser::BendblockContext::RCURLY() {
2473 return getToken(OMDParser::RCURLY, 0);
2476tree::TerminalNode* OMDParser::BendblockContext::LBRACKET() {
2477 return getToken(OMDParser::LBRACKET, 0);
2480OMDParser::IntConstContext* OMDParser::BendblockContext::intConst() {
2481 return getRuleContext<OMDParser::IntConstContext>(0);
2484tree::TerminalNode* OMDParser::BendblockContext::RBRACKET() {
2485 return getToken(OMDParser::RBRACKET, 0);
2488std::vector<OMDParser::BendstatementContext *> OMDParser::BendblockContext::bendstatement() {
2489 return getRuleContexts<OMDParser::BendstatementContext>();
2492OMDParser::BendstatementContext* OMDParser::BendblockContext::bendstatement(
size_t i) {
2493 return getRuleContext<OMDParser::BendstatementContext>(i);
2497size_t OMDParser::BendblockContext::getRuleIndex()
const {
2498 return OMDParser::RuleBendblock;
2501void OMDParser::BendblockContext::enterRule(tree::ParseTreeListener *listener) {
2502 auto parserListener =
dynamic_cast<OMDListener *
>(listener);
2503 if (parserListener !=
nullptr)
2504 parserListener->enterBendblock(
this);
2507void OMDParser::BendblockContext::exitRule(tree::ParseTreeListener *listener) {
2508 auto parserListener =
dynamic_cast<OMDListener *
>(listener);
2509 if (parserListener !=
nullptr)
2510 parserListener->exitBendblock(
this);
2514std::any OMDParser::BendblockContext::accept(tree::ParseTreeVisitor *visitor) {
2515 if (
auto parserVisitor =
dynamic_cast<OMDVisitor*
>(visitor))
2516 return parserVisitor->visitBendblock(
this);
2518 return visitor->visitChildren(
this);
2521OMDParser::BendblockContext* OMDParser::bendblock() {
2523 enterRule(_localctx, 36, OMDParser::RuleBendblock);
2526#if __cplusplus > 201703L
2527 auto onExit =
finally([=,
this] {
2529 auto onExit =
finally([=] {
2534 enterOuterAlt(_localctx, 1);
2536 match(OMDParser::BEND);
2538 _errHandler->sync(
this);
2540 _la = _input->LA(1);
2541 if (_la == OMDParser::LBRACKET) {
2543 match(OMDParser::LBRACKET);
2547 match(OMDParser::RBRACKET);
2550 match(OMDParser::LCURLY);
2552 _errHandler->sync(
this);
2553 _la = _input->LA(1);
2554 while (((((_la - 18) & ~ 0x3fULL) == 0) &&
2555 ((1ULL << (_la - 18)) & 140737488844801) != 0)) {
2559 _errHandler->sync(
this);
2560 _la = _input->LA(1);
2563 match(OMDParser::RCURLY);
2566 catch (RecognitionException &e) {
2567 _errHandler->reportError(
this, e);
2568 _localctx->exception = std::current_exception();
2569 _errHandler->recover(
this, _localctx->exception);
2577OMDParser::BendstatementContext::BendstatementContext(ParserRuleContext *parent,
size_t invokingState)
2578 : ParserRuleContext(parent, invokingState) {
2582 return getRuleContext<OMDParser::AssignmentContext>(0);
2585tree::TerminalNode* OMDParser::BendstatementContext::MEMBERS() {
2586 return getToken(OMDParser::MEMBERS, 0);
2589tree::TerminalNode* OMDParser::BendstatementContext::LPAREN() {
2590 return getToken(OMDParser::LPAREN, 0);
2593OMDParser::InttupleContext* OMDParser::BendstatementContext::inttuple() {
2594 return getRuleContext<OMDParser::InttupleContext>(0);
2597tree::TerminalNode* OMDParser::BendstatementContext::RPAREN() {
2598 return getToken(OMDParser::RPAREN, 0);
2601tree::TerminalNode* OMDParser::BendstatementContext::SEMICOLON() {
2602 return getToken(OMDParser::SEMICOLON, 0);
2605tree::TerminalNode* OMDParser::BendstatementContext::HARMONIC() {
2606 return getToken(OMDParser::HARMONIC, 0);
2609OMDParser::DoubleNumberTupleContext* OMDParser::BendstatementContext::doubleNumberTuple() {
2610 return getRuleContext<OMDParser::DoubleNumberTupleContext>(0);
2613tree::TerminalNode* OMDParser::BendstatementContext::GHOSTBEND() {
2614 return getToken(OMDParser::GHOSTBEND, 0);
2617tree::TerminalNode* OMDParser::BendstatementContext::UREYBRADLEY() {
2618 return getToken(OMDParser::UREYBRADLEY, 0);
2621tree::TerminalNode* OMDParser::BendstatementContext::CUBIC() {
2622 return getToken(OMDParser::CUBIC, 0);
2625tree::TerminalNode* OMDParser::BendstatementContext::QUARTIC() {
2626 return getToken(OMDParser::QUARTIC, 0);
2629tree::TerminalNode* OMDParser::BendstatementContext::POLYNOMIAL() {
2630 return getToken(OMDParser::POLYNOMIAL, 0);
2633tree::TerminalNode* OMDParser::BendstatementContext::COSINE() {
2634 return getToken(OMDParser::COSINE, 0);
2638size_t OMDParser::BendstatementContext::getRuleIndex()
const {
2639 return OMDParser::RuleBendstatement;
2642void OMDParser::BendstatementContext::enterRule(tree::ParseTreeListener *listener) {
2643 auto parserListener =
dynamic_cast<OMDListener *
>(listener);
2644 if (parserListener !=
nullptr)
2645 parserListener->enterBendstatement(
this);
2648void OMDParser::BendstatementContext::exitRule(tree::ParseTreeListener *listener) {
2649 auto parserListener =
dynamic_cast<OMDListener *
>(listener);
2650 if (parserListener !=
nullptr)
2651 parserListener->exitBendstatement(
this);
2655std::any OMDParser::BendstatementContext::accept(tree::ParseTreeVisitor *visitor) {
2656 if (
auto parserVisitor =
dynamic_cast<OMDVisitor*
>(visitor))
2657 return parserVisitor->visitBendstatement(
this);
2659 return visitor->visitChildren(
this);
2662OMDParser::BendstatementContext* OMDParser::bendstatement() {
2664 enterRule(_localctx, 38, OMDParser::RuleBendstatement);
2666#if __cplusplus > 201703L
2667 auto onExit =
finally([=,
this] {
2669 auto onExit =
finally([=] {
2675 _errHandler->sync(
this);
2676 switch (_input->LA(1)) {
2677 case OMDParser::ID: {
2678 enterOuterAlt(_localctx, 1);
2684 case OMDParser::MEMBERS: {
2685 enterOuterAlt(_localctx, 2);
2687 match(OMDParser::MEMBERS);
2689 match(OMDParser::LPAREN);
2693 match(OMDParser::RPAREN);
2695 match(OMDParser::SEMICOLON);
2699 case OMDParser::HARMONIC: {
2700 enterOuterAlt(_localctx, 3);
2702 match(OMDParser::HARMONIC);
2704 match(OMDParser::LPAREN);
2706 doubleNumberTuple();
2708 match(OMDParser::RPAREN);
2710 match(OMDParser::SEMICOLON);
2714 case OMDParser::GHOSTBEND: {
2715 enterOuterAlt(_localctx, 4);
2717 match(OMDParser::GHOSTBEND);
2719 match(OMDParser::LPAREN);
2721 doubleNumberTuple();
2723 match(OMDParser::RPAREN);
2725 match(OMDParser::SEMICOLON);
2729 case OMDParser::UREYBRADLEY: {
2730 enterOuterAlt(_localctx, 5);
2732 match(OMDParser::UREYBRADLEY);
2734 match(OMDParser::LPAREN);
2736 doubleNumberTuple();
2738 match(OMDParser::RPAREN);
2740 match(OMDParser::SEMICOLON);
2744 case OMDParser::CUBIC: {
2745 enterOuterAlt(_localctx, 6);
2747 match(OMDParser::CUBIC);
2749 match(OMDParser::LPAREN);
2751 doubleNumberTuple();
2753 match(OMDParser::RPAREN);
2755 match(OMDParser::SEMICOLON);
2759 case OMDParser::QUARTIC: {
2760 enterOuterAlt(_localctx, 7);
2762 match(OMDParser::QUARTIC);
2764 match(OMDParser::LPAREN);
2766 doubleNumberTuple();
2768 match(OMDParser::RPAREN);
2770 match(OMDParser::SEMICOLON);
2774 case OMDParser::POLYNOMIAL: {
2775 enterOuterAlt(_localctx, 8);
2777 match(OMDParser::POLYNOMIAL);
2779 match(OMDParser::LPAREN);
2781 doubleNumberTuple();
2783 match(OMDParser::RPAREN);
2785 match(OMDParser::SEMICOLON);
2789 case OMDParser::COSINE: {
2790 enterOuterAlt(_localctx, 9);
2792 match(OMDParser::COSINE);
2794 match(OMDParser::LPAREN);
2796 doubleNumberTuple();
2798 match(OMDParser::RPAREN);
2800 match(OMDParser::SEMICOLON);
2805 throw NoViableAltException(
this);
2809 catch (RecognitionException &e) {
2810 _errHandler->reportError(
this, e);
2811 _localctx->exception = std::current_exception();
2812 _errHandler->recover(
this, _localctx->exception);
2820OMDParser::TorsionblockContext::TorsionblockContext(ParserRuleContext *parent,
size_t invokingState)
2821 : ParserRuleContext(parent, invokingState) {
2824tree::TerminalNode* OMDParser::TorsionblockContext::TORSION() {
2825 return getToken(OMDParser::TORSION, 0);
2828tree::TerminalNode* OMDParser::TorsionblockContext::LCURLY() {
2829 return getToken(OMDParser::LCURLY, 0);
2832tree::TerminalNode* OMDParser::TorsionblockContext::RCURLY() {
2833 return getToken(OMDParser::RCURLY, 0);
2836tree::TerminalNode* OMDParser::TorsionblockContext::LBRACKET() {
2837 return getToken(OMDParser::LBRACKET, 0);
2840OMDParser::IntConstContext* OMDParser::TorsionblockContext::intConst() {
2841 return getRuleContext<OMDParser::IntConstContext>(0);
2844tree::TerminalNode* OMDParser::TorsionblockContext::RBRACKET() {
2845 return getToken(OMDParser::RBRACKET, 0);
2848std::vector<OMDParser::TorsionstatementContext *> OMDParser::TorsionblockContext::torsionstatement() {
2849 return getRuleContexts<OMDParser::TorsionstatementContext>();
2852OMDParser::TorsionstatementContext* OMDParser::TorsionblockContext::torsionstatement(
size_t i) {
2853 return getRuleContext<OMDParser::TorsionstatementContext>(i);
2857size_t OMDParser::TorsionblockContext::getRuleIndex()
const {
2858 return OMDParser::RuleTorsionblock;
2861void OMDParser::TorsionblockContext::enterRule(tree::ParseTreeListener *listener) {
2862 auto parserListener =
dynamic_cast<OMDListener *
>(listener);
2863 if (parserListener !=
nullptr)
2864 parserListener->enterTorsionblock(
this);
2867void OMDParser::TorsionblockContext::exitRule(tree::ParseTreeListener *listener) {
2868 auto parserListener =
dynamic_cast<OMDListener *
>(listener);
2869 if (parserListener !=
nullptr)
2870 parserListener->exitTorsionblock(
this);
2874std::any OMDParser::TorsionblockContext::accept(tree::ParseTreeVisitor *visitor) {
2875 if (
auto parserVisitor =
dynamic_cast<OMDVisitor*
>(visitor))
2876 return parserVisitor->visitTorsionblock(
this);
2878 return visitor->visitChildren(
this);
2881OMDParser::TorsionblockContext* OMDParser::torsionblock() {
2883 enterRule(_localctx, 40, OMDParser::RuleTorsionblock);
2886#if __cplusplus > 201703L
2887 auto onExit =
finally([=,
this] {
2889 auto onExit =
finally([=] {
2894 enterOuterAlt(_localctx, 1);
2896 match(OMDParser::TORSION);
2898 _errHandler->sync(
this);
2900 _la = _input->LA(1);
2901 if (_la == OMDParser::LBRACKET) {
2903 match(OMDParser::LBRACKET);
2907 match(OMDParser::RBRACKET);
2910 match(OMDParser::LCURLY);
2912 _errHandler->sync(
this);
2913 _la = _input->LA(1);
2914 while (((((_la - 18) & ~ 0x3fULL) == 0) &&
2915 ((1ULL << (_la - 18)) & 140737496250369) != 0)) {
2919 _errHandler->sync(
this);
2920 _la = _input->LA(1);
2923 match(OMDParser::RCURLY);
2926 catch (RecognitionException &e) {
2927 _errHandler->reportError(
this, e);
2928 _localctx->exception = std::current_exception();
2929 _errHandler->recover(
this, _localctx->exception);
2937OMDParser::TorsionstatementContext::TorsionstatementContext(ParserRuleContext *parent,
size_t invokingState)
2938 : ParserRuleContext(parent, invokingState) {
2942 return getRuleContext<OMDParser::AssignmentContext>(0);
2945tree::TerminalNode* OMDParser::TorsionstatementContext::MEMBERS() {
2946 return getToken(OMDParser::MEMBERS, 0);
2949tree::TerminalNode* OMDParser::TorsionstatementContext::LPAREN() {
2950 return getToken(OMDParser::LPAREN, 0);
2953OMDParser::InttupleContext* OMDParser::TorsionstatementContext::inttuple() {
2954 return getRuleContext<OMDParser::InttupleContext>(0);
2957tree::TerminalNode* OMDParser::TorsionstatementContext::RPAREN() {
2958 return getToken(OMDParser::RPAREN, 0);
2961tree::TerminalNode* OMDParser::TorsionstatementContext::SEMICOLON() {
2962 return getToken(OMDParser::SEMICOLON, 0);
2965tree::TerminalNode* OMDParser::TorsionstatementContext::GHOSTTORSION() {
2966 return getToken(OMDParser::GHOSTTORSION, 0);
2969OMDParser::DoubleNumberTupleContext* OMDParser::TorsionstatementContext::doubleNumberTuple() {
2970 return getRuleContext<OMDParser::DoubleNumberTupleContext>(0);
2973tree::TerminalNode* OMDParser::TorsionstatementContext::CUBIC() {
2974 return getToken(OMDParser::CUBIC, 0);
2977tree::TerminalNode* OMDParser::TorsionstatementContext::QUARTIC() {
2978 return getToken(OMDParser::QUARTIC, 0);
2981tree::TerminalNode* OMDParser::TorsionstatementContext::POLYNOMIAL() {
2982 return getToken(OMDParser::POLYNOMIAL, 0);
2985tree::TerminalNode* OMDParser::TorsionstatementContext::CHARMM() {
2986 return getToken(OMDParser::CHARMM, 0);
2989tree::TerminalNode* OMDParser::TorsionstatementContext::OPLS() {
2990 return getToken(OMDParser::OPLS, 0);
2993tree::TerminalNode* OMDParser::TorsionstatementContext::TRAPPE() {
2994 return getToken(OMDParser::TRAPPE, 0);
2997tree::TerminalNode* OMDParser::TorsionstatementContext::HARMONIC() {
2998 return getToken(OMDParser::HARMONIC, 0);
3002size_t OMDParser::TorsionstatementContext::getRuleIndex()
const {
3003 return OMDParser::RuleTorsionstatement;
3006void OMDParser::TorsionstatementContext::enterRule(tree::ParseTreeListener *listener) {
3007 auto parserListener =
dynamic_cast<OMDListener *
>(listener);
3008 if (parserListener !=
nullptr)
3009 parserListener->enterTorsionstatement(
this);
3012void OMDParser::TorsionstatementContext::exitRule(tree::ParseTreeListener *listener) {
3013 auto parserListener =
dynamic_cast<OMDListener *
>(listener);
3014 if (parserListener !=
nullptr)
3015 parserListener->exitTorsionstatement(
this);
3019std::any OMDParser::TorsionstatementContext::accept(tree::ParseTreeVisitor *visitor) {
3020 if (
auto parserVisitor =
dynamic_cast<OMDVisitor*
>(visitor))
3021 return parserVisitor->visitTorsionstatement(
this);
3023 return visitor->visitChildren(
this);
3026OMDParser::TorsionstatementContext* OMDParser::torsionstatement() {
3028 enterRule(_localctx, 42, OMDParser::RuleTorsionstatement);
3030#if __cplusplus > 201703L
3031 auto onExit =
finally([=,
this] {
3033 auto onExit =
finally([=] {
3039 _errHandler->sync(
this);
3040 switch (_input->LA(1)) {
3041 case OMDParser::ID: {
3042 enterOuterAlt(_localctx, 1);
3048 case OMDParser::MEMBERS: {
3049 enterOuterAlt(_localctx, 2);
3051 match(OMDParser::MEMBERS);
3053 match(OMDParser::LPAREN);
3057 match(OMDParser::RPAREN);
3059 match(OMDParser::SEMICOLON);
3063 case OMDParser::GHOSTTORSION: {
3064 enterOuterAlt(_localctx, 3);
3066 match(OMDParser::GHOSTTORSION);
3068 match(OMDParser::LPAREN);
3070 doubleNumberTuple();
3072 match(OMDParser::RPAREN);
3074 match(OMDParser::SEMICOLON);
3078 case OMDParser::CUBIC: {
3079 enterOuterAlt(_localctx, 4);
3081 match(OMDParser::CUBIC);
3083 match(OMDParser::LPAREN);
3085 doubleNumberTuple();
3087 match(OMDParser::RPAREN);
3089 match(OMDParser::SEMICOLON);
3093 case OMDParser::QUARTIC: {
3094 enterOuterAlt(_localctx, 5);
3096 match(OMDParser::QUARTIC);
3098 match(OMDParser::LPAREN);
3100 doubleNumberTuple();
3102 match(OMDParser::RPAREN);
3104 match(OMDParser::SEMICOLON);
3108 case OMDParser::POLYNOMIAL: {
3109 enterOuterAlt(_localctx, 6);
3111 match(OMDParser::POLYNOMIAL);
3113 match(OMDParser::LPAREN);
3115 doubleNumberTuple();
3117 match(OMDParser::RPAREN);
3119 match(OMDParser::SEMICOLON);
3123 case OMDParser::CHARMM: {
3124 enterOuterAlt(_localctx, 7);
3126 match(OMDParser::CHARMM);
3128 match(OMDParser::LPAREN);
3130 doubleNumberTuple();
3132 match(OMDParser::RPAREN);
3134 match(OMDParser::SEMICOLON);
3138 case OMDParser::OPLS: {
3139 enterOuterAlt(_localctx, 8);
3141 match(OMDParser::OPLS);
3143 match(OMDParser::LPAREN);
3145 doubleNumberTuple();
3147 match(OMDParser::RPAREN);
3149 match(OMDParser::SEMICOLON);
3153 case OMDParser::TRAPPE: {
3154 enterOuterAlt(_localctx, 9);
3156 match(OMDParser::TRAPPE);
3158 match(OMDParser::LPAREN);
3160 doubleNumberTuple();
3162 match(OMDParser::RPAREN);
3164 match(OMDParser::SEMICOLON);
3168 case OMDParser::HARMONIC: {
3169 enterOuterAlt(_localctx, 10);
3171 match(OMDParser::HARMONIC);
3173 match(OMDParser::LPAREN);
3175 doubleNumberTuple();
3177 match(OMDParser::RPAREN);
3179 match(OMDParser::SEMICOLON);
3184 throw NoViableAltException(
this);
3188 catch (RecognitionException &e) {
3189 _errHandler->reportError(
this, e);
3190 _localctx->exception = std::current_exception();
3191 _errHandler->recover(
this, _localctx->exception);
3199OMDParser::InversionblockContext::InversionblockContext(ParserRuleContext *parent,
size_t invokingState)
3200 : ParserRuleContext(parent, invokingState) {
3203tree::TerminalNode* OMDParser::InversionblockContext::INVERSION() {
3204 return getToken(OMDParser::INVERSION, 0);
3207tree::TerminalNode* OMDParser::InversionblockContext::LCURLY() {
3208 return getToken(OMDParser::LCURLY, 0);
3211tree::TerminalNode* OMDParser::InversionblockContext::RCURLY() {
3212 return getToken(OMDParser::RCURLY, 0);
3215tree::TerminalNode* OMDParser::InversionblockContext::LBRACKET() {
3216 return getToken(OMDParser::LBRACKET, 0);
3219OMDParser::IntConstContext* OMDParser::InversionblockContext::intConst() {
3220 return getRuleContext<OMDParser::IntConstContext>(0);
3223tree::TerminalNode* OMDParser::InversionblockContext::RBRACKET() {
3224 return getToken(OMDParser::RBRACKET, 0);
3227std::vector<OMDParser::InversionstatementContext *> OMDParser::InversionblockContext::inversionstatement() {
3228 return getRuleContexts<OMDParser::InversionstatementContext>();
3231OMDParser::InversionstatementContext* OMDParser::InversionblockContext::inversionstatement(
size_t i) {
3232 return getRuleContext<OMDParser::InversionstatementContext>(i);
3236size_t OMDParser::InversionblockContext::getRuleIndex()
const {
3237 return OMDParser::RuleInversionblock;
3240void OMDParser::InversionblockContext::enterRule(tree::ParseTreeListener *listener) {
3241 auto parserListener =
dynamic_cast<OMDListener *
>(listener);
3242 if (parserListener !=
nullptr)
3243 parserListener->enterInversionblock(
this);
3246void OMDParser::InversionblockContext::exitRule(tree::ParseTreeListener *listener) {
3247 auto parserListener =
dynamic_cast<OMDListener *
>(listener);
3248 if (parserListener !=
nullptr)
3249 parserListener->exitInversionblock(
this);
3253std::any OMDParser::InversionblockContext::accept(tree::ParseTreeVisitor *visitor) {
3254 if (
auto parserVisitor =
dynamic_cast<OMDVisitor*
>(visitor))
3255 return parserVisitor->visitInversionblock(
this);
3257 return visitor->visitChildren(
this);
3260OMDParser::InversionblockContext* OMDParser::inversionblock() {
3262 enterRule(_localctx, 44, OMDParser::RuleInversionblock);
3265#if __cplusplus > 201703L
3266 auto onExit =
finally([=,
this] {
3268 auto onExit =
finally([=] {
3273 enterOuterAlt(_localctx, 1);
3275 match(OMDParser::INVERSION);
3277 _errHandler->sync(
this);
3279 _la = _input->LA(1);
3280 if (_la == OMDParser::LBRACKET) {
3282 match(OMDParser::LBRACKET);
3286 match(OMDParser::RBRACKET);
3289 match(OMDParser::LCURLY);
3291 _errHandler->sync(
this);
3292 _la = _input->LA(1);
3293 while (((((_la - 19) & ~ 0x3fULL) == 0) &&
3294 ((1ULL << (_la - 19)) & 70368807093251) != 0)) {
3296 inversionstatement();
3298 _errHandler->sync(
this);
3299 _la = _input->LA(1);
3302 match(OMDParser::RCURLY);
3305 catch (RecognitionException &e) {
3306 _errHandler->reportError(
this, e);
3307 _localctx->exception = std::current_exception();
3308 _errHandler->recover(
this, _localctx->exception);
3316OMDParser::InversionstatementContext::InversionstatementContext(ParserRuleContext *parent,
size_t invokingState)
3317 : ParserRuleContext(parent, invokingState) {
3321 return getRuleContext<OMDParser::AssignmentContext>(0);
3324tree::TerminalNode* OMDParser::InversionstatementContext::CENTER() {
3325 return getToken(OMDParser::CENTER, 0);
3328tree::TerminalNode* OMDParser::InversionstatementContext::LPAREN() {
3329 return getToken(OMDParser::LPAREN, 0);
3332OMDParser::IntConstContext* OMDParser::InversionstatementContext::intConst() {
3333 return getRuleContext<OMDParser::IntConstContext>(0);
3336tree::TerminalNode* OMDParser::InversionstatementContext::RPAREN() {
3337 return getToken(OMDParser::RPAREN, 0);
3340tree::TerminalNode* OMDParser::InversionstatementContext::SEMICOLON() {
3341 return getToken(OMDParser::SEMICOLON, 0);
3344tree::TerminalNode* OMDParser::InversionstatementContext::SATELLITES() {
3345 return getToken(OMDParser::SATELLITES, 0);
3348OMDParser::InttupleContext* OMDParser::InversionstatementContext::inttuple() {
3349 return getRuleContext<OMDParser::InttupleContext>(0);
3352tree::TerminalNode* OMDParser::InversionstatementContext::AMBERIMPROPER() {
3353 return getToken(OMDParser::AMBERIMPROPER, 0);
3356OMDParser::DoubleNumberTupleContext* OMDParser::InversionstatementContext::doubleNumberTuple() {
3357 return getRuleContext<OMDParser::DoubleNumberTupleContext>(0);
3360tree::TerminalNode* OMDParser::InversionstatementContext::IMPROPERCOSINE() {
3361 return getToken(OMDParser::IMPROPERCOSINE, 0);
3364tree::TerminalNode* OMDParser::InversionstatementContext::HARMONIC() {
3365 return getToken(OMDParser::HARMONIC, 0);
3368tree::TerminalNode* OMDParser::InversionstatementContext::CENTRALATOMHEIGHT() {
3369 return getToken(OMDParser::CENTRALATOMHEIGHT, 0);
3372tree::TerminalNode* OMDParser::InversionstatementContext::DREIDING() {
3373 return getToken(OMDParser::DREIDING, 0);
3377size_t OMDParser::InversionstatementContext::getRuleIndex()
const {
3378 return OMDParser::RuleInversionstatement;
3381void OMDParser::InversionstatementContext::enterRule(tree::ParseTreeListener *listener) {
3382 auto parserListener =
dynamic_cast<OMDListener *
>(listener);
3383 if (parserListener !=
nullptr)
3384 parserListener->enterInversionstatement(
this);
3387void OMDParser::InversionstatementContext::exitRule(tree::ParseTreeListener *listener) {
3388 auto parserListener =
dynamic_cast<OMDListener *
>(listener);
3389 if (parserListener !=
nullptr)
3390 parserListener->exitInversionstatement(
this);
3394std::any OMDParser::InversionstatementContext::accept(tree::ParseTreeVisitor *visitor) {
3395 if (
auto parserVisitor =
dynamic_cast<OMDVisitor*
>(visitor))
3396 return parserVisitor->visitInversionstatement(
this);
3398 return visitor->visitChildren(
this);
3401OMDParser::InversionstatementContext* OMDParser::inversionstatement() {
3403 enterRule(_localctx, 46, OMDParser::RuleInversionstatement);
3405#if __cplusplus > 201703L
3406 auto onExit =
finally([=,
this] {
3408 auto onExit =
finally([=] {
3414 _errHandler->sync(
this);
3415 switch (_input->LA(1)) {
3416 case OMDParser::ID: {
3417 enterOuterAlt(_localctx, 1);
3423 case OMDParser::CENTER: {
3424 enterOuterAlt(_localctx, 2);
3426 match(OMDParser::CENTER);
3428 match(OMDParser::LPAREN);
3432 match(OMDParser::RPAREN);
3434 match(OMDParser::SEMICOLON);
3438 case OMDParser::SATELLITES: {
3439 enterOuterAlt(_localctx, 3);
3441 match(OMDParser::SATELLITES);
3443 match(OMDParser::LPAREN);
3447 match(OMDParser::RPAREN);
3449 match(OMDParser::SEMICOLON);
3453 case OMDParser::AMBERIMPROPER: {
3454 enterOuterAlt(_localctx, 4);
3456 match(OMDParser::AMBERIMPROPER);
3458 match(OMDParser::LPAREN);
3460 doubleNumberTuple();
3462 match(OMDParser::RPAREN);
3464 match(OMDParser::SEMICOLON);
3468 case OMDParser::IMPROPERCOSINE: {
3469 enterOuterAlt(_localctx, 5);
3471 match(OMDParser::IMPROPERCOSINE);
3473 match(OMDParser::LPAREN);
3475 doubleNumberTuple();
3477 match(OMDParser::RPAREN);
3479 match(OMDParser::SEMICOLON);
3483 case OMDParser::HARMONIC: {
3484 enterOuterAlt(_localctx, 6);
3486 match(OMDParser::HARMONIC);
3488 match(OMDParser::LPAREN);
3490 doubleNumberTuple();
3492 match(OMDParser::RPAREN);
3494 match(OMDParser::SEMICOLON);
3498 case OMDParser::CENTRALATOMHEIGHT: {
3499 enterOuterAlt(_localctx, 7);
3501 match(OMDParser::CENTRALATOMHEIGHT);
3503 match(OMDParser::LPAREN);
3505 doubleNumberTuple();
3507 match(OMDParser::RPAREN);
3509 match(OMDParser::SEMICOLON);
3513 case OMDParser::DREIDING: {
3514 enterOuterAlt(_localctx, 8);
3516 match(OMDParser::DREIDING);
3518 match(OMDParser::LPAREN);
3520 doubleNumberTuple();
3522 match(OMDParser::RPAREN);
3524 match(OMDParser::SEMICOLON);
3529 throw NoViableAltException(
this);
3533 catch (RecognitionException &e) {
3534 _errHandler->reportError(
this, e);
3535 _localctx->exception = std::current_exception();
3536 _errHandler->recover(
this, _localctx->exception);
3544OMDParser::RigidbodyblockContext::RigidbodyblockContext(ParserRuleContext *parent,
size_t invokingState)
3545 : ParserRuleContext(parent, invokingState) {
3548tree::TerminalNode* OMDParser::RigidbodyblockContext::RIGIDBODY() {
3549 return getToken(OMDParser::RIGIDBODY, 0);
3552tree::TerminalNode* OMDParser::RigidbodyblockContext::LBRACKET() {
3553 return getToken(OMDParser::LBRACKET, 0);
3556OMDParser::IntConstContext* OMDParser::RigidbodyblockContext::intConst() {
3557 return getRuleContext<OMDParser::IntConstContext>(0);
3560tree::TerminalNode* OMDParser::RigidbodyblockContext::RBRACKET() {
3561 return getToken(OMDParser::RBRACKET, 0);
3564tree::TerminalNode* OMDParser::RigidbodyblockContext::LCURLY() {
3565 return getToken(OMDParser::LCURLY, 0);
3568tree::TerminalNode* OMDParser::RigidbodyblockContext::RCURLY() {
3569 return getToken(OMDParser::RCURLY, 0);
3572std::vector<OMDParser::RigidbodystatementContext *> OMDParser::RigidbodyblockContext::rigidbodystatement() {
3573 return getRuleContexts<OMDParser::RigidbodystatementContext>();
3576OMDParser::RigidbodystatementContext* OMDParser::RigidbodyblockContext::rigidbodystatement(
size_t i) {
3577 return getRuleContext<OMDParser::RigidbodystatementContext>(i);
3581size_t OMDParser::RigidbodyblockContext::getRuleIndex()
const {
3582 return OMDParser::RuleRigidbodyblock;
3585void OMDParser::RigidbodyblockContext::enterRule(tree::ParseTreeListener *listener) {
3586 auto parserListener =
dynamic_cast<OMDListener *
>(listener);
3587 if (parserListener !=
nullptr)
3588 parserListener->enterRigidbodyblock(
this);
3591void OMDParser::RigidbodyblockContext::exitRule(tree::ParseTreeListener *listener) {
3592 auto parserListener =
dynamic_cast<OMDListener *
>(listener);
3593 if (parserListener !=
nullptr)
3594 parserListener->exitRigidbodyblock(
this);
3598std::any OMDParser::RigidbodyblockContext::accept(tree::ParseTreeVisitor *visitor) {
3599 if (
auto parserVisitor =
dynamic_cast<OMDVisitor*
>(visitor))
3600 return parserVisitor->visitRigidbodyblock(
this);
3602 return visitor->visitChildren(
this);
3605OMDParser::RigidbodyblockContext* OMDParser::rigidbodyblock() {
3607 enterRule(_localctx, 48, OMDParser::RuleRigidbodyblock);
3610#if __cplusplus > 201703L
3611 auto onExit =
finally([=,
this] {
3613 auto onExit =
finally([=] {
3618 enterOuterAlt(_localctx, 1);
3620 match(OMDParser::RIGIDBODY);
3622 match(OMDParser::LBRACKET);
3626 match(OMDParser::RBRACKET);
3628 match(OMDParser::LCURLY);
3630 _errHandler->sync(
this);
3631 _la = _input->LA(1);
3632 while (_la == OMDParser::MEMBERS
3634 || _la == OMDParser::ID) {
3636 rigidbodystatement();
3638 _errHandler->sync(
this);
3639 _la = _input->LA(1);
3642 match(OMDParser::RCURLY);
3645 catch (RecognitionException &e) {
3646 _errHandler->reportError(
this, e);
3647 _localctx->exception = std::current_exception();
3648 _errHandler->recover(
this, _localctx->exception);
3656OMDParser::RigidbodystatementContext::RigidbodystatementContext(ParserRuleContext *parent,
size_t invokingState)
3657 : ParserRuleContext(parent, invokingState) {
3661 return getRuleContext<OMDParser::AssignmentContext>(0);
3664tree::TerminalNode* OMDParser::RigidbodystatementContext::MEMBERS() {
3665 return getToken(OMDParser::MEMBERS, 0);
3668tree::TerminalNode* OMDParser::RigidbodystatementContext::LPAREN() {
3669 return getToken(OMDParser::LPAREN, 0);
3672OMDParser::InttupleContext* OMDParser::RigidbodystatementContext::inttuple() {
3673 return getRuleContext<OMDParser::InttupleContext>(0);
3676tree::TerminalNode* OMDParser::RigidbodystatementContext::RPAREN() {
3677 return getToken(OMDParser::RPAREN, 0);
3680tree::TerminalNode* OMDParser::RigidbodystatementContext::SEMICOLON() {
3681 return getToken(OMDParser::SEMICOLON, 0);
3685size_t OMDParser::RigidbodystatementContext::getRuleIndex()
const {
3686 return OMDParser::RuleRigidbodystatement;
3689void OMDParser::RigidbodystatementContext::enterRule(tree::ParseTreeListener *listener) {
3690 auto parserListener =
dynamic_cast<OMDListener *
>(listener);
3691 if (parserListener !=
nullptr)
3692 parserListener->enterRigidbodystatement(
this);
3695void OMDParser::RigidbodystatementContext::exitRule(tree::ParseTreeListener *listener) {
3696 auto parserListener =
dynamic_cast<OMDListener *
>(listener);
3697 if (parserListener !=
nullptr)
3698 parserListener->exitRigidbodystatement(
this);
3702std::any OMDParser::RigidbodystatementContext::accept(tree::ParseTreeVisitor *visitor) {
3703 if (
auto parserVisitor =
dynamic_cast<OMDVisitor*
>(visitor))
3704 return parserVisitor->visitRigidbodystatement(
this);
3706 return visitor->visitChildren(
this);
3709OMDParser::RigidbodystatementContext* OMDParser::rigidbodystatement() {
3711 enterRule(_localctx, 50, OMDParser::RuleRigidbodystatement);
3713#if __cplusplus > 201703L
3714 auto onExit =
finally([=,
this] {
3716 auto onExit =
finally([=] {
3722 _errHandler->sync(
this);
3723 switch (_input->LA(1)) {
3724 case OMDParser::ID: {
3725 enterOuterAlt(_localctx, 1);
3731 case OMDParser::MEMBERS: {
3732 enterOuterAlt(_localctx, 2);
3734 match(OMDParser::MEMBERS);
3736 match(OMDParser::LPAREN);
3740 match(OMDParser::RPAREN);
3742 match(OMDParser::SEMICOLON);
3747 throw NoViableAltException(
this);
3751 catch (RecognitionException &e) {
3752 _errHandler->reportError(
this, e);
3753 _localctx->exception = std::current_exception();
3754 _errHandler->recover(
this, _localctx->exception);
3762OMDParser::CutoffgroupblockContext::CutoffgroupblockContext(ParserRuleContext *parent,
size_t invokingState)
3763 : ParserRuleContext(parent, invokingState) {
3766tree::TerminalNode* OMDParser::CutoffgroupblockContext::CUTOFFGROUP() {
3767 return getToken(OMDParser::CUTOFFGROUP, 0);
3770tree::TerminalNode* OMDParser::CutoffgroupblockContext::LCURLY() {
3771 return getToken(OMDParser::LCURLY, 0);
3774tree::TerminalNode* OMDParser::CutoffgroupblockContext::RCURLY() {
3775 return getToken(OMDParser::RCURLY, 0);
3778tree::TerminalNode* OMDParser::CutoffgroupblockContext::LBRACKET() {
3779 return getToken(OMDParser::LBRACKET, 0);
3782OMDParser::IntConstContext* OMDParser::CutoffgroupblockContext::intConst() {
3783 return getRuleContext<OMDParser::IntConstContext>(0);
3786tree::TerminalNode* OMDParser::CutoffgroupblockContext::RBRACKET() {
3787 return getToken(OMDParser::RBRACKET, 0);
3790std::vector<OMDParser::CutoffgroupstatementContext *> OMDParser::CutoffgroupblockContext::cutoffgroupstatement() {
3791 return getRuleContexts<OMDParser::CutoffgroupstatementContext>();
3794OMDParser::CutoffgroupstatementContext* OMDParser::CutoffgroupblockContext::cutoffgroupstatement(
size_t i) {
3795 return getRuleContext<OMDParser::CutoffgroupstatementContext>(i);
3799size_t OMDParser::CutoffgroupblockContext::getRuleIndex()
const {
3800 return OMDParser::RuleCutoffgroupblock;
3803void OMDParser::CutoffgroupblockContext::enterRule(tree::ParseTreeListener *listener) {
3804 auto parserListener =
dynamic_cast<OMDListener *
>(listener);
3805 if (parserListener !=
nullptr)
3806 parserListener->enterCutoffgroupblock(
this);
3809void OMDParser::CutoffgroupblockContext::exitRule(tree::ParseTreeListener *listener) {
3810 auto parserListener =
dynamic_cast<OMDListener *
>(listener);
3811 if (parserListener !=
nullptr)
3812 parserListener->exitCutoffgroupblock(
this);
3816std::any OMDParser::CutoffgroupblockContext::accept(tree::ParseTreeVisitor *visitor) {
3817 if (
auto parserVisitor =
dynamic_cast<OMDVisitor*
>(visitor))
3818 return parserVisitor->visitCutoffgroupblock(
this);
3820 return visitor->visitChildren(
this);
3823OMDParser::CutoffgroupblockContext* OMDParser::cutoffgroupblock() {
3825 enterRule(_localctx, 52, OMDParser::RuleCutoffgroupblock);
3828#if __cplusplus > 201703L
3829 auto onExit =
finally([=,
this] {
3831 auto onExit =
finally([=] {
3836 enterOuterAlt(_localctx, 1);
3838 match(OMDParser::CUTOFFGROUP);
3840 _errHandler->sync(
this);
3842 _la = _input->LA(1);
3843 if (_la == OMDParser::LBRACKET) {
3845 match(OMDParser::LBRACKET);
3849 match(OMDParser::RBRACKET);
3852 match(OMDParser::LCURLY);
3854 _errHandler->sync(
this);
3855 _la = _input->LA(1);
3856 while (_la == OMDParser::MEMBERS
3858 || _la == OMDParser::ID) {
3860 cutoffgroupstatement();
3862 _errHandler->sync(
this);
3863 _la = _input->LA(1);
3866 match(OMDParser::RCURLY);
3869 catch (RecognitionException &e) {
3870 _errHandler->reportError(
this, e);
3871 _localctx->exception = std::current_exception();
3872 _errHandler->recover(
this, _localctx->exception);
3880OMDParser::CutoffgroupstatementContext::CutoffgroupstatementContext(ParserRuleContext *parent,
size_t invokingState)
3881 : ParserRuleContext(parent, invokingState) {
3885 return getRuleContext<OMDParser::AssignmentContext>(0);
3888tree::TerminalNode* OMDParser::CutoffgroupstatementContext::MEMBERS() {
3889 return getToken(OMDParser::MEMBERS, 0);
3892tree::TerminalNode* OMDParser::CutoffgroupstatementContext::LPAREN() {
3893 return getToken(OMDParser::LPAREN, 0);
3896OMDParser::InttupleContext* OMDParser::CutoffgroupstatementContext::inttuple() {
3897 return getRuleContext<OMDParser::InttupleContext>(0);
3900tree::TerminalNode* OMDParser::CutoffgroupstatementContext::RPAREN() {
3901 return getToken(OMDParser::RPAREN, 0);
3904tree::TerminalNode* OMDParser::CutoffgroupstatementContext::SEMICOLON() {
3905 return getToken(OMDParser::SEMICOLON, 0);
3909size_t OMDParser::CutoffgroupstatementContext::getRuleIndex()
const {
3910 return OMDParser::RuleCutoffgroupstatement;
3913void OMDParser::CutoffgroupstatementContext::enterRule(tree::ParseTreeListener *listener) {
3914 auto parserListener =
dynamic_cast<OMDListener *
>(listener);
3915 if (parserListener !=
nullptr)
3916 parserListener->enterCutoffgroupstatement(
this);
3919void OMDParser::CutoffgroupstatementContext::exitRule(tree::ParseTreeListener *listener) {
3920 auto parserListener =
dynamic_cast<OMDListener *
>(listener);
3921 if (parserListener !=
nullptr)
3922 parserListener->exitCutoffgroupstatement(
this);
3926std::any OMDParser::CutoffgroupstatementContext::accept(tree::ParseTreeVisitor *visitor) {
3927 if (
auto parserVisitor =
dynamic_cast<OMDVisitor*
>(visitor))
3928 return parserVisitor->visitCutoffgroupstatement(
this);
3930 return visitor->visitChildren(
this);
3933OMDParser::CutoffgroupstatementContext* OMDParser::cutoffgroupstatement() {
3935 enterRule(_localctx, 54, OMDParser::RuleCutoffgroupstatement);
3937#if __cplusplus > 201703L
3938 auto onExit =
finally([=,
this] {
3940 auto onExit =
finally([=] {
3946 _errHandler->sync(
this);
3947 switch (_input->LA(1)) {
3948 case OMDParser::ID: {
3949 enterOuterAlt(_localctx, 1);
3955 case OMDParser::MEMBERS: {
3956 enterOuterAlt(_localctx, 2);
3958 match(OMDParser::MEMBERS);
3960 match(OMDParser::LPAREN);
3964 match(OMDParser::RPAREN);
3966 match(OMDParser::SEMICOLON);
3971 throw NoViableAltException(
this);
3975 catch (RecognitionException &e) {
3976 _errHandler->reportError(
this, e);
3977 _localctx->exception = std::current_exception();
3978 _errHandler->recover(
this, _localctx->exception);
3986OMDParser::NodesblockContext::NodesblockContext(ParserRuleContext *parent,
size_t invokingState)
3987 : ParserRuleContext(parent, invokingState) {
3990tree::TerminalNode* OMDParser::NodesblockContext::NODES() {
3991 return getToken(OMDParser::NODES, 0);
3994tree::TerminalNode* OMDParser::NodesblockContext::LCURLY() {
3995 return getToken(OMDParser::LCURLY, 0);
3998tree::TerminalNode* OMDParser::NodesblockContext::RCURLY() {
3999 return getToken(OMDParser::RCURLY, 0);
4002tree::TerminalNode* OMDParser::NodesblockContext::LBRACKET() {
4003 return getToken(OMDParser::LBRACKET, 0);
4006OMDParser::IntConstContext* OMDParser::NodesblockContext::intConst() {
4007 return getRuleContext<OMDParser::IntConstContext>(0);
4010tree::TerminalNode* OMDParser::NodesblockContext::RBRACKET() {
4011 return getToken(OMDParser::RBRACKET, 0);
4014std::vector<OMDParser::NodesstatementContext *> OMDParser::NodesblockContext::nodesstatement() {
4015 return getRuleContexts<OMDParser::NodesstatementContext>();
4018OMDParser::NodesstatementContext* OMDParser::NodesblockContext::nodesstatement(
size_t i) {
4019 return getRuleContext<OMDParser::NodesstatementContext>(i);
4023size_t OMDParser::NodesblockContext::getRuleIndex()
const {
4024 return OMDParser::RuleNodesblock;
4027void OMDParser::NodesblockContext::enterRule(tree::ParseTreeListener *listener) {
4028 auto parserListener =
dynamic_cast<OMDListener *
>(listener);
4029 if (parserListener !=
nullptr)
4030 parserListener->enterNodesblock(
this);
4033void OMDParser::NodesblockContext::exitRule(tree::ParseTreeListener *listener) {
4034 auto parserListener =
dynamic_cast<OMDListener *
>(listener);
4035 if (parserListener !=
nullptr)
4036 parserListener->exitNodesblock(
this);
4040std::any OMDParser::NodesblockContext::accept(tree::ParseTreeVisitor *visitor) {
4041 if (
auto parserVisitor =
dynamic_cast<OMDVisitor*
>(visitor))
4042 return parserVisitor->visitNodesblock(
this);
4044 return visitor->visitChildren(
this);
4047OMDParser::NodesblockContext* OMDParser::nodesblock() {
4049 enterRule(_localctx, 56, OMDParser::RuleNodesblock);
4052#if __cplusplus > 201703L
4053 auto onExit =
finally([=,
this] {
4055 auto onExit =
finally([=] {
4060 enterOuterAlt(_localctx, 1);
4062 match(OMDParser::NODES);
4064 _errHandler->sync(
this);
4066 _la = _input->LA(1);
4067 if (_la == OMDParser::LBRACKET) {
4069 match(OMDParser::LBRACKET);
4073 match(OMDParser::RBRACKET);
4076 match(OMDParser::LCURLY);
4078 _errHandler->sync(
this);
4079 _la = _input->LA(1);
4080 while (_la == OMDParser::MEMBERS
4082 || _la == OMDParser::ID) {
4086 _errHandler->sync(
this);
4087 _la = _input->LA(1);
4090 match(OMDParser::RCURLY);
4093 catch (RecognitionException &e) {
4094 _errHandler->reportError(
this, e);
4095 _localctx->exception = std::current_exception();
4096 _errHandler->recover(
this, _localctx->exception);
4104OMDParser::NodesstatementContext::NodesstatementContext(ParserRuleContext *parent,
size_t invokingState)
4105 : ParserRuleContext(parent, invokingState) {
4109 return getRuleContext<OMDParser::AssignmentContext>(0);
4112tree::TerminalNode* OMDParser::NodesstatementContext::MEMBERS() {
4113 return getToken(OMDParser::MEMBERS, 0);
4116tree::TerminalNode* OMDParser::NodesstatementContext::LPAREN() {
4117 return getToken(OMDParser::LPAREN, 0);
4120OMDParser::InttupleContext* OMDParser::NodesstatementContext::inttuple() {
4121 return getRuleContext<OMDParser::InttupleContext>(0);
4124tree::TerminalNode* OMDParser::NodesstatementContext::RPAREN() {
4125 return getToken(OMDParser::RPAREN, 0);
4128tree::TerminalNode* OMDParser::NodesstatementContext::SEMICOLON() {
4129 return getToken(OMDParser::SEMICOLON, 0);
4133size_t OMDParser::NodesstatementContext::getRuleIndex()
const {
4134 return OMDParser::RuleNodesstatement;
4137void OMDParser::NodesstatementContext::enterRule(tree::ParseTreeListener *listener) {
4138 auto parserListener =
dynamic_cast<OMDListener *
>(listener);
4139 if (parserListener !=
nullptr)
4140 parserListener->enterNodesstatement(
this);
4143void OMDParser::NodesstatementContext::exitRule(tree::ParseTreeListener *listener) {
4144 auto parserListener =
dynamic_cast<OMDListener *
>(listener);
4145 if (parserListener !=
nullptr)
4146 parserListener->exitNodesstatement(
this);
4150std::any OMDParser::NodesstatementContext::accept(tree::ParseTreeVisitor *visitor) {
4151 if (
auto parserVisitor =
dynamic_cast<OMDVisitor*
>(visitor))
4152 return parserVisitor->visitNodesstatement(
this);
4154 return visitor->visitChildren(
this);
4157OMDParser::NodesstatementContext* OMDParser::nodesstatement() {
4159 enterRule(_localctx, 58, OMDParser::RuleNodesstatement);
4161#if __cplusplus > 201703L
4162 auto onExit =
finally([=,
this] {
4164 auto onExit =
finally([=] {
4170 _errHandler->sync(
this);
4171 switch (_input->LA(1)) {
4172 case OMDParser::ID: {
4173 enterOuterAlt(_localctx, 1);
4179 case OMDParser::MEMBERS: {
4180 enterOuterAlt(_localctx, 2);
4182 match(OMDParser::MEMBERS);
4184 match(OMDParser::LPAREN);
4188 match(OMDParser::RPAREN);
4190 match(OMDParser::SEMICOLON);
4195 throw NoViableAltException(
this);
4199 catch (RecognitionException &e) {
4200 _errHandler->reportError(
this, e);
4201 _localctx->exception = std::current_exception();
4202 _errHandler->recover(
this, _localctx->exception);
4210OMDParser::FragmentblockContext::FragmentblockContext(ParserRuleContext *parent,
size_t invokingState)
4211 : ParserRuleContext(parent, invokingState) {
4214tree::TerminalNode* OMDParser::FragmentblockContext::FRAGMENT() {
4215 return getToken(OMDParser::FRAGMENT, 0);
4218tree::TerminalNode* OMDParser::FragmentblockContext::LCURLY() {
4219 return getToken(OMDParser::LCURLY, 0);
4222tree::TerminalNode* OMDParser::FragmentblockContext::RCURLY() {
4223 return getToken(OMDParser::RCURLY, 0);
4226std::vector<OMDParser::FragmentstatementContext *> OMDParser::FragmentblockContext::fragmentstatement() {
4227 return getRuleContexts<OMDParser::FragmentstatementContext>();
4230OMDParser::FragmentstatementContext* OMDParser::FragmentblockContext::fragmentstatement(
size_t i) {
4231 return getRuleContext<OMDParser::FragmentstatementContext>(i);
4235size_t OMDParser::FragmentblockContext::getRuleIndex()
const {
4236 return OMDParser::RuleFragmentblock;
4239void OMDParser::FragmentblockContext::enterRule(tree::ParseTreeListener *listener) {
4240 auto parserListener =
dynamic_cast<OMDListener *
>(listener);
4241 if (parserListener !=
nullptr)
4242 parserListener->enterFragmentblock(
this);
4245void OMDParser::FragmentblockContext::exitRule(tree::ParseTreeListener *listener) {
4246 auto parserListener =
dynamic_cast<OMDListener *
>(listener);
4247 if (parserListener !=
nullptr)
4248 parserListener->exitFragmentblock(
this);
4252std::any OMDParser::FragmentblockContext::accept(tree::ParseTreeVisitor *visitor) {
4253 if (
auto parserVisitor =
dynamic_cast<OMDVisitor*
>(visitor))
4254 return parserVisitor->visitFragmentblock(
this);
4256 return visitor->visitChildren(
this);
4259OMDParser::FragmentblockContext* OMDParser::fragmentblock() {
4261 enterRule(_localctx, 60, OMDParser::RuleFragmentblock);
4264#if __cplusplus > 201703L
4265 auto onExit =
finally([=,
this] {
4267 auto onExit =
finally([=] {
4272 enterOuterAlt(_localctx, 1);
4274 match(OMDParser::FRAGMENT);
4276 match(OMDParser::LCURLY);
4278 _errHandler->sync(
this);
4279 _la = _input->LA(1);
4280 while (((((_la - 7) & ~ 0x3fULL) == 0) &&
4281 ((1ULL << (_la - 7)) & 288230925907525887) != 0)) {
4283 fragmentstatement();
4285 _errHandler->sync(
this);
4286 _la = _input->LA(1);
4289 match(OMDParser::RCURLY);
4292 catch (RecognitionException &e) {
4293 _errHandler->reportError(
this, e);
4294 _localctx->exception = std::current_exception();
4295 _errHandler->recover(
this, _localctx->exception);
4303OMDParser::FragmentstatementContext::FragmentstatementContext(ParserRuleContext *parent,
size_t invokingState)
4304 : ParserRuleContext(parent, invokingState) {
4308 return getRuleContext<OMDParser::AssignmentContext>(0);
4311OMDParser::AtomblockContext* OMDParser::FragmentstatementContext::atomblock() {
4312 return getRuleContext<OMDParser::AtomblockContext>(0);
4315OMDParser::BondblockContext* OMDParser::FragmentstatementContext::bondblock() {
4316 return getRuleContext<OMDParser::BondblockContext>(0);
4319OMDParser::BendblockContext* OMDParser::FragmentstatementContext::bendblock() {
4320 return getRuleContext<OMDParser::BendblockContext>(0);
4323OMDParser::TorsionblockContext* OMDParser::FragmentstatementContext::torsionblock() {
4324 return getRuleContext<OMDParser::TorsionblockContext>(0);
4327OMDParser::InversionblockContext* OMDParser::FragmentstatementContext::inversionblock() {
4328 return getRuleContext<OMDParser::InversionblockContext>(0);
4331OMDParser::RigidbodyblockContext* OMDParser::FragmentstatementContext::rigidbodyblock() {
4332 return getRuleContext<OMDParser::RigidbodyblockContext>(0);
4335OMDParser::CutoffgroupblockContext* OMDParser::FragmentstatementContext::cutoffgroupblock() {
4336 return getRuleContext<OMDParser::CutoffgroupblockContext>(0);
4339OMDParser::ConstraintblockContext* OMDParser::FragmentstatementContext::constraintblock() {
4340 return getRuleContext<OMDParser::ConstraintblockContext>(0);
4343OMDParser::NodesblockContext* OMDParser::FragmentstatementContext::nodesblock() {
4344 return getRuleContext<OMDParser::NodesblockContext>(0);
4348size_t OMDParser::FragmentstatementContext::getRuleIndex()
const {
4349 return OMDParser::RuleFragmentstatement;
4352void OMDParser::FragmentstatementContext::enterRule(tree::ParseTreeListener *listener) {
4353 auto parserListener =
dynamic_cast<OMDListener *
>(listener);
4354 if (parserListener !=
nullptr)
4355 parserListener->enterFragmentstatement(
this);
4358void OMDParser::FragmentstatementContext::exitRule(tree::ParseTreeListener *listener) {
4359 auto parserListener =
dynamic_cast<OMDListener *
>(listener);
4360 if (parserListener !=
nullptr)
4361 parserListener->exitFragmentstatement(
this);
4365std::any OMDParser::FragmentstatementContext::accept(tree::ParseTreeVisitor *visitor) {
4366 if (
auto parserVisitor =
dynamic_cast<OMDVisitor*
>(visitor))
4367 return parserVisitor->visitFragmentstatement(
this);
4369 return visitor->visitChildren(
this);
4372OMDParser::FragmentstatementContext* OMDParser::fragmentstatement() {
4374 enterRule(_localctx, 62, OMDParser::RuleFragmentstatement);
4376#if __cplusplus > 201703L
4377 auto onExit =
finally([=,
this] {
4379 auto onExit =
finally([=] {
4385 _errHandler->sync(
this);
4386 switch (_input->LA(1)) {
4387 case OMDParser::ID: {
4388 enterOuterAlt(_localctx, 1);
4394 case OMDParser::ATOM: {
4395 enterOuterAlt(_localctx, 2);
4401 case OMDParser::BOND: {
4402 enterOuterAlt(_localctx, 3);
4408 case OMDParser::BEND: {
4409 enterOuterAlt(_localctx, 4);
4415 case OMDParser::TORSION: {
4416 enterOuterAlt(_localctx, 5);
4422 case OMDParser::INVERSION: {
4423 enterOuterAlt(_localctx, 6);
4429 case OMDParser::RIGIDBODY: {
4430 enterOuterAlt(_localctx, 7);
4436 case OMDParser::CUTOFFGROUP: {
4437 enterOuterAlt(_localctx, 8);
4443 case OMDParser::CONSTRAINT: {
4444 enterOuterAlt(_localctx, 9);
4450 case OMDParser::NODES: {
4451 enterOuterAlt(_localctx, 10);
4458 throw NoViableAltException(
this);
4462 catch (RecognitionException &e) {
4463 _errHandler->reportError(
this, e);
4464 _localctx->exception = std::current_exception();
4465 _errHandler->recover(
this, _localctx->exception);
4473OMDParser::ConstraintblockContext::ConstraintblockContext(ParserRuleContext *parent,
size_t invokingState)
4474 : ParserRuleContext(parent, invokingState) {
4477tree::TerminalNode* OMDParser::ConstraintblockContext::CONSTRAINT() {
4478 return getToken(OMDParser::CONSTRAINT, 0);
4481tree::TerminalNode* OMDParser::ConstraintblockContext::LCURLY() {
4482 return getToken(OMDParser::LCURLY, 0);
4485tree::TerminalNode* OMDParser::ConstraintblockContext::RCURLY() {
4486 return getToken(OMDParser::RCURLY, 0);
4489tree::TerminalNode* OMDParser::ConstraintblockContext::LBRACKET() {
4490 return getToken(OMDParser::LBRACKET, 0);
4493OMDParser::IntConstContext* OMDParser::ConstraintblockContext::intConst() {
4494 return getRuleContext<OMDParser::IntConstContext>(0);
4497tree::TerminalNode* OMDParser::ConstraintblockContext::RBRACKET() {
4498 return getToken(OMDParser::RBRACKET, 0);
4501std::vector<OMDParser::ConstraintstatementContext *> OMDParser::ConstraintblockContext::constraintstatement() {
4502 return getRuleContexts<OMDParser::ConstraintstatementContext>();
4505OMDParser::ConstraintstatementContext* OMDParser::ConstraintblockContext::constraintstatement(
size_t i) {
4506 return getRuleContext<OMDParser::ConstraintstatementContext>(i);
4510size_t OMDParser::ConstraintblockContext::getRuleIndex()
const {
4511 return OMDParser::RuleConstraintblock;
4514void OMDParser::ConstraintblockContext::enterRule(tree::ParseTreeListener *listener) {
4515 auto parserListener =
dynamic_cast<OMDListener *
>(listener);
4516 if (parserListener !=
nullptr)
4517 parserListener->enterConstraintblock(
this);
4520void OMDParser::ConstraintblockContext::exitRule(tree::ParseTreeListener *listener) {
4521 auto parserListener =
dynamic_cast<OMDListener *
>(listener);
4522 if (parserListener !=
nullptr)
4523 parserListener->exitConstraintblock(
this);
4527std::any OMDParser::ConstraintblockContext::accept(tree::ParseTreeVisitor *visitor) {
4528 if (
auto parserVisitor =
dynamic_cast<OMDVisitor*
>(visitor))
4529 return parserVisitor->visitConstraintblock(
this);
4531 return visitor->visitChildren(
this);
4534OMDParser::ConstraintblockContext* OMDParser::constraintblock() {
4536 enterRule(_localctx, 64, OMDParser::RuleConstraintblock);
4539#if __cplusplus > 201703L
4540 auto onExit =
finally([=,
this] {
4542 auto onExit =
finally([=] {
4547 enterOuterAlt(_localctx, 1);
4549 match(OMDParser::CONSTRAINT);
4551 _errHandler->sync(
this);
4553 _la = _input->LA(1);
4554 if (_la == OMDParser::LBRACKET) {
4556 match(OMDParser::LBRACKET);
4560 match(OMDParser::RBRACKET);
4563 match(OMDParser::LCURLY);
4565 _errHandler->sync(
this);
4566 _la = _input->LA(1);
4567 while (_la == OMDParser::MEMBERS
4569 || _la == OMDParser::ID) {
4571 constraintstatement();
4573 _errHandler->sync(
this);
4574 _la = _input->LA(1);
4577 match(OMDParser::RCURLY);
4580 catch (RecognitionException &e) {
4581 _errHandler->reportError(
this, e);
4582 _localctx->exception = std::current_exception();
4583 _errHandler->recover(
this, _localctx->exception);
4591OMDParser::ConstraintstatementContext::ConstraintstatementContext(ParserRuleContext *parent,
size_t invokingState)
4592 : ParserRuleContext(parent, invokingState) {
4596 return getRuleContext<OMDParser::AssignmentContext>(0);
4599tree::TerminalNode* OMDParser::ConstraintstatementContext::MEMBERS() {
4600 return getToken(OMDParser::MEMBERS, 0);
4603tree::TerminalNode* OMDParser::ConstraintstatementContext::LPAREN() {
4604 return getToken(OMDParser::LPAREN, 0);
4607OMDParser::InttupleContext* OMDParser::ConstraintstatementContext::inttuple() {
4608 return getRuleContext<OMDParser::InttupleContext>(0);
4611tree::TerminalNode* OMDParser::ConstraintstatementContext::RPAREN() {
4612 return getToken(OMDParser::RPAREN, 0);
4615tree::TerminalNode* OMDParser::ConstraintstatementContext::SEMICOLON() {
4616 return getToken(OMDParser::SEMICOLON, 0);
4620size_t OMDParser::ConstraintstatementContext::getRuleIndex()
const {
4621 return OMDParser::RuleConstraintstatement;
4624void OMDParser::ConstraintstatementContext::enterRule(tree::ParseTreeListener *listener) {
4625 auto parserListener =
dynamic_cast<OMDListener *
>(listener);
4626 if (parserListener !=
nullptr)
4627 parserListener->enterConstraintstatement(
this);
4630void OMDParser::ConstraintstatementContext::exitRule(tree::ParseTreeListener *listener) {
4631 auto parserListener =
dynamic_cast<OMDListener *
>(listener);
4632 if (parserListener !=
nullptr)
4633 parserListener->exitConstraintstatement(
this);
4637std::any OMDParser::ConstraintstatementContext::accept(tree::ParseTreeVisitor *visitor) {
4638 if (
auto parserVisitor =
dynamic_cast<OMDVisitor*
>(visitor))
4639 return parserVisitor->visitConstraintstatement(
this);
4641 return visitor->visitChildren(
this);
4644OMDParser::ConstraintstatementContext* OMDParser::constraintstatement() {
4646 enterRule(_localctx, 66, OMDParser::RuleConstraintstatement);
4648#if __cplusplus > 201703L
4649 auto onExit =
finally([=,
this] {
4651 auto onExit =
finally([=] {
4657 _errHandler->sync(
this);
4658 switch (_input->LA(1)) {
4659 case OMDParser::ID: {
4660 enterOuterAlt(_localctx, 1);
4666 case OMDParser::MEMBERS: {
4667 enterOuterAlt(_localctx, 2);
4669 match(OMDParser::MEMBERS);
4671 match(OMDParser::LPAREN);
4675 match(OMDParser::RPAREN);
4677 match(OMDParser::SEMICOLON);
4682 throw NoViableAltException(
this);
4686 catch (RecognitionException &e) {
4687 _errHandler->reportError(
this, e);
4688 _localctx->exception = std::current_exception();
4689 _errHandler->recover(
this, _localctx->exception);
4697OMDParser::SequencestringContext::SequencestringContext(ParserRuleContext *parent,
size_t invokingState)
4698 : ParserRuleContext(parent, invokingState) {
4701tree::TerminalNode* OMDParser::SequencestringContext::SEQUENCE() {
4702 return getToken(OMDParser::SEQUENCE, 0);
4705tree::TerminalNode* OMDParser::SequencestringContext::ASSIGNEQUAL() {
4706 return getToken(OMDParser::ASSIGNEQUAL, 0);
4709OMDParser::ConstantContext* OMDParser::SequencestringContext::constant() {
4710 return getRuleContext<OMDParser::ConstantContext>(0);
4713tree::TerminalNode* OMDParser::SequencestringContext::SEMICOLON() {
4714 return getToken(OMDParser::SEMICOLON, 0);
4718size_t OMDParser::SequencestringContext::getRuleIndex()
const {
4719 return OMDParser::RuleSequencestring;
4722void OMDParser::SequencestringContext::enterRule(tree::ParseTreeListener *listener) {
4723 auto parserListener =
dynamic_cast<OMDListener *
>(listener);
4724 if (parserListener !=
nullptr)
4725 parserListener->enterSequencestring(
this);
4728void OMDParser::SequencestringContext::exitRule(tree::ParseTreeListener *listener) {
4729 auto parserListener =
dynamic_cast<OMDListener *
>(listener);
4730 if (parserListener !=
nullptr)
4731 parserListener->exitSequencestring(
this);
4735std::any OMDParser::SequencestringContext::accept(tree::ParseTreeVisitor *visitor) {
4736 if (
auto parserVisitor =
dynamic_cast<OMDVisitor*
>(visitor))
4737 return parserVisitor->visitSequencestring(
this);
4739 return visitor->visitChildren(
this);
4742OMDParser::SequencestringContext* OMDParser::sequencestring() {
4744 enterRule(_localctx, 68, OMDParser::RuleSequencestring);
4746#if __cplusplus > 201703L
4747 auto onExit =
finally([=,
this] {
4749 auto onExit =
finally([=] {
4754 enterOuterAlt(_localctx, 1);
4756 match(OMDParser::SEQUENCE);
4758 match(OMDParser::ASSIGNEQUAL);
4762 match(OMDParser::SEMICOLON);
4765 catch (RecognitionException &e) {
4766 _errHandler->reportError(
this, e);
4767 _localctx->exception = std::current_exception();
4768 _errHandler->recover(
this, _localctx->exception);
4776OMDParser::DoubleNumberTupleContext::DoubleNumberTupleContext(ParserRuleContext *parent,
size_t invokingState)
4777 : ParserRuleContext(parent, invokingState) {
4780std::vector<OMDParser::DoubleNumberContext *> OMDParser::DoubleNumberTupleContext::doubleNumber() {
4781 return getRuleContexts<OMDParser::DoubleNumberContext>();
4784OMDParser::DoubleNumberContext* OMDParser::DoubleNumberTupleContext::doubleNumber(
size_t i) {
4785 return getRuleContext<OMDParser::DoubleNumberContext>(i);
4788std::vector<tree::TerminalNode *> OMDParser::DoubleNumberTupleContext::COMMA() {
4789 return getTokens(OMDParser::COMMA);
4792tree::TerminalNode* OMDParser::DoubleNumberTupleContext::COMMA(
size_t i) {
4793 return getToken(OMDParser::COMMA, i);
4797size_t OMDParser::DoubleNumberTupleContext::getRuleIndex()
const {
4798 return OMDParser::RuleDoubleNumberTuple;
4801void OMDParser::DoubleNumberTupleContext::enterRule(tree::ParseTreeListener *listener) {
4802 auto parserListener =
dynamic_cast<OMDListener *
>(listener);
4803 if (parserListener !=
nullptr)
4804 parserListener->enterDoubleNumberTuple(
this);
4807void OMDParser::DoubleNumberTupleContext::exitRule(tree::ParseTreeListener *listener) {
4808 auto parserListener =
dynamic_cast<OMDListener *
>(listener);
4809 if (parserListener !=
nullptr)
4810 parserListener->exitDoubleNumberTuple(
this);
4814std::any OMDParser::DoubleNumberTupleContext::accept(tree::ParseTreeVisitor *visitor) {
4815 if (
auto parserVisitor =
dynamic_cast<OMDVisitor*
>(visitor))
4816 return parserVisitor->visitDoubleNumberTuple(
this);
4818 return visitor->visitChildren(
this);
4821OMDParser::DoubleNumberTupleContext* OMDParser::doubleNumberTuple() {
4823 enterRule(_localctx, 70, OMDParser::RuleDoubleNumberTuple);
4826#if __cplusplus > 201703L
4827 auto onExit =
finally([=,
this] {
4829 auto onExit =
finally([=] {
4834 enterOuterAlt(_localctx, 1);
4838 _errHandler->sync(
this);
4839 _la = _input->LA(1);
4840 while (_la == OMDParser::COMMA) {
4842 match(OMDParser::COMMA);
4846 _errHandler->sync(
this);
4847 _la = _input->LA(1);
4851 catch (RecognitionException &e) {
4852 _errHandler->reportError(
this, e);
4853 _localctx->exception = std::current_exception();
4854 _errHandler->recover(
this, _localctx->exception);
4862OMDParser::InttupleContext::InttupleContext(ParserRuleContext *parent,
size_t invokingState)
4863 : ParserRuleContext(parent, invokingState) {
4866std::vector<OMDParser::IntConstContext *> OMDParser::InttupleContext::intConst() {
4867 return getRuleContexts<OMDParser::IntConstContext>();
4870OMDParser::IntConstContext* OMDParser::InttupleContext::intConst(
size_t i) {
4871 return getRuleContext<OMDParser::IntConstContext>(i);
4874std::vector<tree::TerminalNode *> OMDParser::InttupleContext::COMMA() {
4875 return getTokens(OMDParser::COMMA);
4878tree::TerminalNode* OMDParser::InttupleContext::COMMA(
size_t i) {
4879 return getToken(OMDParser::COMMA, i);
4883size_t OMDParser::InttupleContext::getRuleIndex()
const {
4884 return OMDParser::RuleInttuple;
4887void OMDParser::InttupleContext::enterRule(tree::ParseTreeListener *listener) {
4888 auto parserListener =
dynamic_cast<OMDListener *
>(listener);
4889 if (parserListener !=
nullptr)
4890 parserListener->enterInttuple(
this);
4893void OMDParser::InttupleContext::exitRule(tree::ParseTreeListener *listener) {
4894 auto parserListener =
dynamic_cast<OMDListener *
>(listener);
4895 if (parserListener !=
nullptr)
4896 parserListener->exitInttuple(
this);
4900std::any OMDParser::InttupleContext::accept(tree::ParseTreeVisitor *visitor) {
4901 if (
auto parserVisitor =
dynamic_cast<OMDVisitor*
>(visitor))
4902 return parserVisitor->visitInttuple(
this);
4904 return visitor->visitChildren(
this);
4907OMDParser::InttupleContext* OMDParser::inttuple() {
4909 enterRule(_localctx, 72, OMDParser::RuleInttuple);
4912#if __cplusplus > 201703L
4913 auto onExit =
finally([=,
this] {
4915 auto onExit =
finally([=] {
4920 enterOuterAlt(_localctx, 1);
4924 _errHandler->sync(
this);
4925 _la = _input->LA(1);
4926 while (_la == OMDParser::COMMA) {
4928 match(OMDParser::COMMA);
4932 _errHandler->sync(
this);
4933 _la = _input->LA(1);
4937 catch (RecognitionException &e) {
4938 _errHandler->reportError(
this, e);
4939 _localctx->exception = std::current_exception();
4940 _errHandler->recover(
this, _localctx->exception);
4948OMDParser::IntConstContext::IntConstContext(ParserRuleContext *parent,
size_t invokingState)
4949 : ParserRuleContext(parent, invokingState) {
4952tree::TerminalNode* OMDParser::IntConstContext::NUM_INT() {
4953 return getToken(OMDParser::NUM_INT, 0);
4956tree::TerminalNode* OMDParser::IntConstContext::NUM_LONG() {
4957 return getToken(OMDParser::NUM_LONG, 0);
4961size_t OMDParser::IntConstContext::getRuleIndex()
const {
4962 return OMDParser::RuleIntConst;
4965void OMDParser::IntConstContext::enterRule(tree::ParseTreeListener *listener) {
4966 auto parserListener =
dynamic_cast<OMDListener *
>(listener);
4967 if (parserListener !=
nullptr)
4968 parserListener->enterIntConst(
this);
4971void OMDParser::IntConstContext::exitRule(tree::ParseTreeListener *listener) {
4972 auto parserListener =
dynamic_cast<OMDListener *
>(listener);
4973 if (parserListener !=
nullptr)
4974 parserListener->exitIntConst(
this);
4978std::any OMDParser::IntConstContext::accept(tree::ParseTreeVisitor *visitor) {
4979 if (
auto parserVisitor =
dynamic_cast<OMDVisitor*
>(visitor))
4980 return parserVisitor->visitIntConst(
this);
4982 return visitor->visitChildren(
this);
4985OMDParser::IntConstContext* OMDParser::intConst() {
4987 enterRule(_localctx, 74, OMDParser::RuleIntConst);
4990#if __cplusplus > 201703L
4991 auto onExit =
finally([=,
this] {
4993 auto onExit =
finally([=] {
4998 enterOuterAlt(_localctx, 1);
5000 _la = _input->LA(1);
5001 if (!(_la == OMDParser::NUM_LONG
5003 || _la == OMDParser::NUM_INT)) {
5004 _errHandler->recoverInline(
this);
5007 _errHandler->reportMatch(
this);
5012 catch (RecognitionException &e) {
5013 _errHandler->reportError(
this, e);
5014 _localctx->exception = std::current_exception();
5015 _errHandler->recover(
this, _localctx->exception);
5023OMDParser::DoubleNumberContext::DoubleNumberContext(ParserRuleContext *parent,
size_t invokingState)
5024 : ParserRuleContext(parent, invokingState) {
5028 return getRuleContext<OMDParser::IntConstContext>(0);
5031OMDParser::FloatConstContext* OMDParser::DoubleNumberContext::floatConst() {
5032 return getRuleContext<OMDParser::FloatConstContext>(0);
5036size_t OMDParser::DoubleNumberContext::getRuleIndex()
const {
5037 return OMDParser::RuleDoubleNumber;
5040void OMDParser::DoubleNumberContext::enterRule(tree::ParseTreeListener *listener) {
5041 auto parserListener =
dynamic_cast<OMDListener *
>(listener);
5042 if (parserListener !=
nullptr)
5043 parserListener->enterDoubleNumber(
this);
5046void OMDParser::DoubleNumberContext::exitRule(tree::ParseTreeListener *listener) {
5047 auto parserListener =
dynamic_cast<OMDListener *
>(listener);
5048 if (parserListener !=
nullptr)
5049 parserListener->exitDoubleNumber(
this);
5053std::any OMDParser::DoubleNumberContext::accept(tree::ParseTreeVisitor *visitor) {
5054 if (
auto parserVisitor =
dynamic_cast<OMDVisitor*
>(visitor))
5055 return parserVisitor->visitDoubleNumber(
this);
5057 return visitor->visitChildren(
this);
5060OMDParser::DoubleNumberContext* OMDParser::doubleNumber() {
5062 enterRule(_localctx, 76, OMDParser::RuleDoubleNumber);
5064#if __cplusplus > 201703L
5065 auto onExit =
finally([=,
this] {
5067 auto onExit =
finally([=] {
5073 _errHandler->sync(
this);
5074 switch (_input->LA(1)) {
5075 case OMDParser::NUM_LONG:
5076 case OMDParser::NUM_INT: {
5077 enterOuterAlt(_localctx, 1);
5083 case OMDParser::NUM_FLOAT:
5084 case OMDParser::NUM_DOUBLE: {
5085 enterOuterAlt(_localctx, 2);
5092 throw NoViableAltException(
this);
5096 catch (RecognitionException &e) {
5097 _errHandler->reportError(
this, e);
5098 _localctx->exception = std::current_exception();
5099 _errHandler->recover(
this, _localctx->exception);
5107OMDParser::FloatConstContext::FloatConstContext(ParserRuleContext *parent,
size_t invokingState)
5108 : ParserRuleContext(parent, invokingState) {
5111tree::TerminalNode* OMDParser::FloatConstContext::NUM_FLOAT() {
5112 return getToken(OMDParser::NUM_FLOAT, 0);
5115tree::TerminalNode* OMDParser::FloatConstContext::NUM_DOUBLE() {
5116 return getToken(OMDParser::NUM_DOUBLE, 0);
5120size_t OMDParser::FloatConstContext::getRuleIndex()
const {
5121 return OMDParser::RuleFloatConst;
5124void OMDParser::FloatConstContext::enterRule(tree::ParseTreeListener *listener) {
5125 auto parserListener =
dynamic_cast<OMDListener *
>(listener);
5126 if (parserListener !=
nullptr)
5127 parserListener->enterFloatConst(
this);
5130void OMDParser::FloatConstContext::exitRule(tree::ParseTreeListener *listener) {
5131 auto parserListener =
dynamic_cast<OMDListener *
>(listener);
5132 if (parserListener !=
nullptr)
5133 parserListener->exitFloatConst(
this);
5137std::any OMDParser::FloatConstContext::accept(tree::ParseTreeVisitor *visitor) {
5138 if (
auto parserVisitor =
dynamic_cast<OMDVisitor*
>(visitor))
5139 return parserVisitor->visitFloatConst(
this);
5141 return visitor->visitChildren(
this);
5144OMDParser::FloatConstContext* OMDParser::floatConst() {
5146 enterRule(_localctx, 78, OMDParser::RuleFloatConst);
5149#if __cplusplus > 201703L
5150 auto onExit =
finally([=,
this] {
5152 auto onExit =
finally([=] {
5157 enterOuterAlt(_localctx, 1);
5159 _la = _input->LA(1);
5160 if (!(_la == OMDParser::NUM_FLOAT
5162 || _la == OMDParser::NUM_DOUBLE)) {
5163 _errHandler->recoverInline(
this);
5166 _errHandler->reportMatch(
this);
5171 catch (RecognitionException &e) {
5172 _errHandler->reportError(
this, e);
5173 _localctx->exception = std::current_exception();
5174 _errHandler->recover(
this, _localctx->exception);
5182OMDParser::VectorConstContext::VectorConstContext(ParserRuleContext *parent,
size_t invokingState)
5183 : ParserRuleContext(parent, invokingState) {
5186tree::TerminalNode* OMDParser::VectorConstContext::LPAREN() {
5187 return getToken(OMDParser::LPAREN, 0);
5190OMDParser::DoubleNumberTupleContext* OMDParser::VectorConstContext::doubleNumberTuple() {
5191 return getRuleContext<OMDParser::DoubleNumberTupleContext>(0);
5194tree::TerminalNode* OMDParser::VectorConstContext::RPAREN() {
5195 return getToken(OMDParser::RPAREN, 0);
5199size_t OMDParser::VectorConstContext::getRuleIndex()
const {
5200 return OMDParser::RuleVectorConst;
5203void OMDParser::VectorConstContext::enterRule(tree::ParseTreeListener *listener) {
5204 auto parserListener =
dynamic_cast<OMDListener *
>(listener);
5205 if (parserListener !=
nullptr)
5206 parserListener->enterVectorConst(
this);
5209void OMDParser::VectorConstContext::exitRule(tree::ParseTreeListener *listener) {
5210 auto parserListener =
dynamic_cast<OMDListener *
>(listener);
5211 if (parserListener !=
nullptr)
5212 parserListener->exitVectorConst(
this);
5216std::any OMDParser::VectorConstContext::accept(tree::ParseTreeVisitor *visitor) {
5217 if (
auto parserVisitor =
dynamic_cast<OMDVisitor*
>(visitor))
5218 return parserVisitor->visitVectorConst(
this);
5220 return visitor->visitChildren(
this);
5223OMDParser::VectorConstContext* OMDParser::vectorConst() {
5225 enterRule(_localctx, 80, OMDParser::RuleVectorConst);
5227#if __cplusplus > 201703L
5228 auto onExit =
finally([=,
this] {
5230 auto onExit =
finally([=] {
5235 enterOuterAlt(_localctx, 1);
5237 match(OMDParser::LPAREN);
5239 doubleNumberTuple();
5241 match(OMDParser::RPAREN);
5244 catch (RecognitionException &e) {
5245 _errHandler->reportError(
this, e);
5246 _localctx->exception = std::current_exception();
5247 _errHandler->recover(
this, _localctx->exception);
5253void OMDParser::initialize() {
5254#if ANTLR4_USE_THREAD_LOCAL_CACHE
5255 omdParserInitialize();
5257 ::antlr4::internal::call_once(omdParserOnceFlag, omdParserInitialize);