50 |
|
#include "selection/Token.hpp" |
51 |
|
#include "selection/SelectionCompiler.hpp" |
52 |
|
#include "selection/NameFinder.hpp" |
53 |
+ |
#include "selection/DistanceFinder.hpp" |
54 |
|
#include "utils/BitSet.hpp" |
55 |
|
#include "primitives/StuntDouble.hpp" |
56 |
+ |
#include "utils/StringUtils.hpp" |
57 |
|
namespace oopse { |
58 |
|
|
59 |
|
|
144 |
|
BitSet comparatorInstruction(const Token& instruction); |
145 |
|
void compareProperty(StuntDouble* sd, BitSet& bs, int property, int comparator, float comparisonValue); |
146 |
|
BitSet nameInstruction(const std::string& name); |
147 |
< |
|
147 |
> |
BitSet indexInstruction(const boost::any& value); |
148 |
|
BitSet expression(const std::vector<Token>& tokens, int pc); |
149 |
|
|
150 |
|
BitSet lookupValue(const std::string& variable); |
169 |
|
evalError("unrecognized identifier:" + identifier); |
170 |
|
} |
171 |
|
|
172 |
+ |
void invalidIndexRange(std::pair<int, int> range) { |
173 |
+ |
evalError("invalid index range: [" + toString(range.first) + ", " + toString(range.second) + ")"); |
174 |
+ |
} |
175 |
+ |
|
176 |
+ |
void invalidIndex(int index) { |
177 |
+ |
evalError("invalid index : " + toString(index) ); |
178 |
+ |
} |
179 |
+ |
|
180 |
+ |
|
181 |
|
bool containDynamicToken(const std::vector<Token>& tokens); |
182 |
|
|
183 |
|
SelectionCompiler compiler; |
201 |
|
int statementLength; |
202 |
|
|
203 |
|
SimInfo* info; |
204 |
< |
NameFinder finder; |
204 |
> |
NameFinder nameFinder; |
205 |
> |
DistanceFinder distanceFinder; |
206 |
|
int nStuntDouble; //natoms + nrigidbodies |
207 |
|
std::map<std::string, boost::any > variables; |
208 |
|
|