ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/OpenMD/trunk/src/mdParser/MDTreeParser.hpp
Revision: 1360
Committed: Mon Sep 7 16:31:51 2009 UTC (15 years, 7 months ago) by cli2
File size: 3879 byte(s)
Log Message:
Added new restraint infrastructure
Added MolecularRestraints
Added ObjectRestraints
Added RestraintStamp
Updated thermodynamic integration to use ObjectRestraints
Added Quaternion mathematics for twist swing decompositions
Significantly updated RestWriter and RestReader to use dump-like files
Added selections for x, y, and z coordinates of atoms
Removed monolithic Restraints class
Fixed a few bugs in gradients of Euler angles in DirectionalAtom and RigidBody
Added some rotational capabilities to prinicpalAxisCalculator

File Contents

# Content
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 (20090623): "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"
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 restraintblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
57 public: void constant(ANTLR_USE_NAMESPACE(antlr)RefAST _t,
58 ANTLR_USE_NAMESPACE(antlr)RefAST id
59 );
60 protected: int intConst(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
61 protected: RealType floatConst(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
62 public: void moleculestatement(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
63 public: void atomblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
64 public: void bondblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
65 public: void bendblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
66 public: void torsionblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
67 public: void inversionblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
68 public: void rigidbodyblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
69 public: void cutoffgroupblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
70 public: void fragmentblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
71 public: void atomstatement(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
72 public: vector<RealType> doubleNumberTuple(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
73 public: void bondstatement(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
74 public: vector<int> inttuple(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
75 public: void bendstatement(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
76 public: void torsionstatement(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
77 public: void inversionstatement(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
78 public: void rigidbodystatement(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
79 public: void cutoffgroupstatement(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
80 public: void fragmentstatement(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
81 protected: RealType doubleNumber(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
82 public:
83 ANTLR_USE_NAMESPACE(antlr)RefAST getAST()
84 {
85 return returnAST;
86 }
87
88 protected:
89 ANTLR_USE_NAMESPACE(antlr)RefAST returnAST;
90 ANTLR_USE_NAMESPACE(antlr)RefAST _retTree;
91 private:
92 static const char* tokenNames[];
93 #ifndef NO_STATIC_CONSTS
94 static const int NUM_TOKENS = 54;
95 #else
96 enum {
97 NUM_TOKENS = 54
98 };
99 #endif
100
101 static const unsigned long _tokenSet_0_data_[];
102 static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_0;
103 static const unsigned long _tokenSet_1_data_[];
104 static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_1;
105 };
106
107 #endif /*INC_MDTreeParser_hpp_*/