OpenMD 3.1
Molecular Dynamics in the Open
Loading...
Searching...
No Matches
MDTreeParser.hpp
1#ifndef INC_MDTreeParser_hpp_
2#define INC_MDTreeParser_hpp_
3
4#include <antlr/config.hpp>
5#include "MDTreeParserTokenTypes.hpp"
6/* $ANTLR 2.7.7 (20191228): "MDTreeParser.g" -> "MDTreeParser.hpp"$ */
7#include <antlr/TreeParser.hpp>
8
9#line 2 "MDTreeParser.g"
10
11#include <stack>
12#include "io/Globals.hpp"
13#include "utils/StringUtils.hpp"
14using namespace std;
15using namespace OpenMD;
16
17#line 18 "MDTreeParser.hpp"
18class CUSTOM_API MDTreeParser : public ANTLR_USE_NAMESPACE(antlr)TreeParser, public MDTreeParserTokenTypes
19{
20#line 21 "MDTreeParser.g"
21
22 public:
23 Globals* walkTree(ANTLR_USE_NAMESPACE(antlr)RefAST tree)
24 {
25 currConf = new Globals;
26 blockStack.push(currConf);
27 mdfile(tree);
28 return currConf;
29 }
30 private:
31 Globals* currConf;
32 stack<DataHolder*> blockStack;
33#line 22 "MDTreeParser.hpp"
34public:
36 static void initializeASTFactory( ANTLR_USE_NAMESPACE(antlr)ASTFactory& factory );
37 int getNumTokens() const
38 {
39 return MDTreeParser::NUM_TOKENS;
40 }
41 const char* getTokenName( int type ) const
42 {
43 if( type > getNumTokens() ) return 0;
44 return MDTreeParser::tokenNames[type];
45 }
46 const char* const* getTokenNames() const
47 {
48 return MDTreeParser::tokenNames;
49 }
50 public: void mdfile(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
51 public: void statement(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
52 public: void assignment(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
53 public: void componentblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
54 public: void moleculeblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
55 public: void zconstraintblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
56 public: void restraintblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
57 public: void flucqblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
58 public: void rnemdblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
59 public: void minimizerblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
60 public: void constant(ANTLR_USE_NAMESPACE(antlr)RefAST _t,
61 ANTLR_USE_NAMESPACE(antlr)RefAST id
62 );
63 protected: int intConst(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
64 protected: RealType floatConst(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
65 public: vector<RealType> doubleNumberTuple(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
66 public: void moleculestatement(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
67 public: void atomblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
68 public: void bondblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
69 public: void bendblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
70 public: void torsionblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
71 public: void inversionblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
72 public: void rigidbodyblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
73 public: void cutoffgroupblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
74 public: void fragmentblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
75 public: void constraintblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
76 public: void atomstatement(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
77 protected: RealType doubleNumber(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
78 public: void bondstatement(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
79 public: vector<int> inttuple(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
80 public: void bendstatement(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
81 public: void torsionstatement(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
82 public: void inversionstatement(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
83 public: void rigidbodystatement(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
84 public: void cutoffgroupstatement(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
85 public: void fragmentstatement(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
86 public: void constraintstatement(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
87public:
88 ANTLR_USE_NAMESPACE(antlr)RefAST getAST()
89 {
90 return returnAST;
91 }
92
93protected:
94 ANTLR_USE_NAMESPACE(antlr)RefAST returnAST;
95 ANTLR_USE_NAMESPACE(antlr)RefAST _retTree;
96private:
97 static const char* tokenNames[];
98#ifndef NO_STATIC_CONSTS
99 static const int NUM_TOKENS = 78;
100#else
101 enum {
102 NUM_TOKENS = 78
103 };
104#endif
105
106 static const unsigned long _tokenSet_0_data_[];
107 static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_0;
108 static const unsigned long _tokenSet_1_data_[];
109 static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_1;
110 static const unsigned long _tokenSet_2_data_[];
111 static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_2;
112 static const unsigned long _tokenSet_3_data_[];
113 static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_3;
114 static const unsigned long _tokenSet_4_data_[];
115 static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_4;
116 static const unsigned long _tokenSet_5_data_[];
117 static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_5;
118 static const unsigned long _tokenSet_6_data_[];
119 static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_6;
120};
121
122#endif /*INC_MDTreeParser_hpp_*/
This basic Periodic Table class was originally taken from the data.cpp file in OpenBabel.