ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/OpenMD/trunk/src/selection/SelectionEvaluator.hpp
(Generate patch)

Comparing trunk/src/selection/SelectionEvaluator.hpp (file contents):
Revision 278 by tim, Tue Feb 1 22:49:23 2005 UTC vs.
Revision 282 by tim, Thu Feb 3 14:04:59 2005 UTC

# Line 54 | Line 54 | class Context {
54   namespace oopse {
55  
56   class Context {
57 <    std::string filename;
58 <    std::tring script;
59 <    std::vector<int> linenumbers;
60 <    std::vector<int> lineIndices;
61 <    std::vector<std::vector<Token> > aatoken;
62 <    int pc;
63 < }
57 >    public:
58 >        
59 >        void clear() {
60 >            linenumbers.clear();
61 >            lineIndices.clear();
62 >            aatoken.clear();
63 >        }
64 >        
65 >        std::string filename;
66 >        std::string script;
67 >        std::vector<int> linenumbers;
68 >        std::vector<int> lineIndices;
69 >        std::vector<std::vector<Token> > aatoken;
70 >        int pc;
71 > };
72  
73   /**
74   * @class SelectionEvaluator SelectionEvaluator.hpp "selection/SelectionEvaluator"
# Line 98 | Line 106 | class SelectionEvaluator{
106          std::string getLine() {
107              int ichBegin = lineIndices[pc];
108              int ichEnd;
109 <            if ((ichEnd = script.find('\r', ichBegin)) == std::string:npos &&
110 <                (ichEnd = script.find('\n', ichBegin)) == std::string:npos) {
109 >            if ((ichEnd = script.find('\r', ichBegin)) == std::string::npos &&
110 >                (ichEnd = script.find('\n', ichBegin)) == std::string::npos) {
111                  ichEnd = script.size();
112              }            
113              return script.substr(ichBegin, ichEnd);
# Line 110 | Line 118 | class SelectionEvaluator{
118          void clearState();
119          
120          bool loadScript(const std::string& filename, const std::string& script);
113
121          bool loadScriptString(const std::string& script);
115
122          bool loadScriptFileInternal(const std::string& filename);
123 +        bool loadScriptFile(const std::string& filename);
124  
125          void clearDefinitionsAndLoadPredefined();
126          
127          void define();
128 <
128 >        void select();
129          void predefine();
130  
131          void instructionDispatchLoop();
132  
133 <        withinInstruction(Token instruction, BitSet , BitSet);
133 >        void withinInstruction(const Token& instruction, BitSet& , BitSet&);
134  
135          BitSet expression(std::vector<Token>& tokens, int pc);
136  
137 +
138 +        void evalError(const std::string& message);
139 +
140 +        void unrecognizedCommand(const Token& token) {
141 +            evalError("unrecognized command:" + token.value);
142 +        }        
143 +        
144          SelectionCompiler compiler;
145  
146          const static int scriptLevelMax = 10;
# Line 141 | Line 155 | class SelectionEvaluator{
155          std::vector<std::vector<Token> > aatoken;
156          int pc; // program counter
157  
158 <        boolean error;
158 >        bool error;
159          std::string errorMessage;
160  
161          std::vector<Token> statement;
162          int statementLength;
163  
164 <        SimInfo* info_;
164 >        SimInfo* info;
165  
166 <        std::map<std::string, std::vector<Token> > variables_;
153 <        std::string script_;
154 <
155 <        Hashtable variables = new Hashtable();        
166 >        std::map<std::string, std::vector<Token> > variables;
167   };
168  
169   }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines