OpenMD 3.0
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 (2006-11-01): "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 fragmentblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
56 public: void zconstraintblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
57 public: void restraintblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
58 public: void flucqblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
59 public: void rnemdblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
60 public: void minimizerblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
61 public: void constant(ANTLR_USE_NAMESPACE(antlr)RefAST _t,
62 ANTLR_USE_NAMESPACE(antlr)RefAST id
63 );
64 protected: int intConst(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
65 protected: RealType floatConst(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
66 public: vector<RealType> doubleNumberTuple(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
67 public: void moleculestatement(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
68 public: void atomblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
69 public: void bondblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
70 public: void bendblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
71 public: void torsionblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
72 public: void inversionblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
73 public: void rigidbodyblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
74 public: void cutoffgroupblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
75 public: void constraintblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
76 public: void sequencestring(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
77 public: void fragmentstatement(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
78 public: void nodesblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
79 public: void atomstatement(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
80 protected: RealType doubleNumber(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
81 public: void bondstatement(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
82 public: vector<int> inttuple(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
83 public: void bendstatement(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
84 public: void torsionstatement(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
85 public: void inversionstatement(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
86 public: void rigidbodystatement(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
87 public: void cutoffgroupstatement(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
88 public: void constraintstatement(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
89 public: void nodesstatement(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
90public:
91 ANTLR_USE_NAMESPACE(antlr)RefAST getAST()
92 {
93 return returnAST;
94 }
95
96protected:
97 ANTLR_USE_NAMESPACE(antlr)RefAST returnAST;
98 ANTLR_USE_NAMESPACE(antlr)RefAST _retTree;
99private:
100 static const char* tokenNames[];
101#ifndef NO_STATIC_CONSTS
102 static const int NUM_TOKENS = 80;
103#else
104 enum {
105 NUM_TOKENS = 80
106 };
107#endif
108
109 static const unsigned long _tokenSet_0_data_[];
110 static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_0;
111 static const unsigned long _tokenSet_1_data_[];
112 static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_1;
113 static const unsigned long _tokenSet_2_data_[];
114 static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_2;
115 static const unsigned long _tokenSet_3_data_[];
116 static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_3;
117 static const unsigned long _tokenSet_4_data_[];
118 static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_4;
119 static const unsigned long _tokenSet_5_data_[];
120 static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_5;
121 static const unsigned long _tokenSet_6_data_[];
122 static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_6;
123 static const unsigned long _tokenSet_7_data_[];
124 static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_7;
125};
126
127#endif /*INC_MDTreeParser_hpp_*/
This basic Periodic Table class was originally taken from the data.cpp file in OpenBabel.