ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/OpenMD/branches/development/src/mdParser/MDTreeParser.hpp
Revision: 1277
Committed: Mon Jul 14 12:35:58 2008 UTC (16 years, 9 months ago) by gezelter
Original Path: trunk/src/mdParser/MDTreeParser.hpp
File size: 3812 byte(s)
Log Message:
Changes for implementing Amber force field:  Added Inversions and
worked on BaseAtomTypes so that they'd function with the fortran side.

File Contents

# User Rev Content
1 tim 770 #ifndef INC_MDTreeParser_hpp_
2     #define INC_MDTreeParser_hpp_
3    
4     #include <antlr/config.hpp>
5     #include "MDTreeParserTokenTypes.hpp"
6 gezelter 1277 /* $ANTLR 2.7.7 (20080702): "MDTreeParser.g" -> "MDTreeParser.hpp"$ */
7 tim 770 #include <antlr/TreeParser.hpp>
8    
9     #line 2 "MDTreeParser.g"
10    
11     #include <stack>
12     #include "io/Globals.hpp"
13     #include "utils/StringUtils.hpp"
14     using namespace std;
15     using namespace oopse;
16    
17     #line 18 "MDTreeParser.hpp"
18     class 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"
34     public:
35     MDTreeParser();
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 constant(ANTLR_USE_NAMESPACE(antlr)RefAST _t,
57     ANTLR_USE_NAMESPACE(antlr)RefAST id
58     );
59     protected: int intConst(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
60 tim 963 protected: RealType floatConst(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
61 tim 770 public: void moleculestatement(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
62     public: void atomblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
63     public: void bondblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
64     public: void bendblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
65     public: void torsionblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
66 cli2 1275 public: void inversionblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
67 tim 770 public: void rigidbodyblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
68     public: void cutoffgroupblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
69     public: void fragmentblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
70     public: void atomstatement(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
71 tim 963 public: vector<RealType> doubleNumberTuple(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
72 tim 770 public: void bondstatement(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
73     public: vector<int> inttuple(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
74     public: void bendstatement(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
75     public: void torsionstatement(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
76 cli2 1275 public: void inversionstatement(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
77 tim 770 public: void rigidbodystatement(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
78     public: void cutoffgroupstatement(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
79     public: void fragmentstatement(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
80 tim 963 protected: RealType doubleNumber(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
81 tim 770 public:
82     ANTLR_USE_NAMESPACE(antlr)RefAST getAST()
83     {
84     return returnAST;
85     }
86    
87     protected:
88     ANTLR_USE_NAMESPACE(antlr)RefAST returnAST;
89     ANTLR_USE_NAMESPACE(antlr)RefAST _retTree;
90     private:
91     static const char* tokenNames[];
92     #ifndef NO_STATIC_CONSTS
93 cli2 1275 static const int NUM_TOKENS = 53;
94 tim 770 #else
95     enum {
96 cli2 1275 NUM_TOKENS = 53
97 tim 770 };
98     #endif
99    
100     static const unsigned long _tokenSet_0_data_[];
101     static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_0;
102     static const unsigned long _tokenSet_1_data_[];
103     static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_1;
104     };
105    
106     #endif /*INC_MDTreeParser_hpp_*/