ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE-4/src/mdParser/MDTreeParser.hpp
Revision: 2509
Committed: Wed Dec 14 18:02:28 2005 UTC (18 years, 7 months ago) by tim
File size: 3778 byte(s)
Log Message:
fix a nasty negative integer parsing problem by refining the grammar

File Contents

# User Rev Content
1 tim 2469 #ifndef INC_MDTreeParser_hpp_
2     #define INC_MDTreeParser_hpp_
3    
4     #include <antlr/config.hpp>
5     #include "MDTreeParserTokenTypes.hpp"
6     /* $ANTLR 2.7.5 (20050406): "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 constant(ANTLR_USE_NAMESPACE(antlr)RefAST _t,
57     ANTLR_USE_NAMESPACE(antlr)RefAST id
58     );
59     public: void signedIntOrFloat(ANTLR_USE_NAMESPACE(antlr)RefAST _t,
60     ANTLR_USE_NAMESPACE(antlr)RefAST id
61     );
62     protected: int intConst(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
63     protected: double floatConst(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
64     public: void moleculestatement(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
65     public: void atomblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
66     public: void bondblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
67     public: void bendblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
68     public: void torsionblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
69     public: void rigidbodyblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
70     public: void cutoffgroupblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
71     public: void fragmentblock(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
72     public: void atomstatement(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
73     public: vector<double> signedNumberTuple(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
74     public: void bondstatement(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
75     public: vector<int> inttuple(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
76     public: void bendstatement(ANTLR_USE_NAMESPACE(antlr)RefAST _t);
77     public: void torsionstatement(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: double signedNumber(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 tim 2509 static const int NUM_TOKENS = 55;
95 tim 2469 #else
96     enum {
97 tim 2509 NUM_TOKENS = 55
98 tim 2469 };
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_*/