| 132 | |
| 133 | |
| 134 | void Foam::dimensionSet::tokeniser::splitWord(const word& w) |
| 135 | { |
| 136 | size_t start = 0; |
| 137 | for (size_t i=0; i<w.size(); ++i) |
| 138 | { |
| 139 | if (!valid(w[i])) |
| 140 | { |
| 141 | if (i > start) |
| 142 | { |
| 143 | word subWord = w(start, i-start); |
| 144 | if (isdigit(subWord[0]) || subWord[0] == token::SUBTRACT) |
| 145 | { |
| 146 | push(token(readScalar(IStringStream(subWord)()))); |
| 147 | } |
| 148 | else |
| 149 | { |
| 150 | push(token(subWord)); |
| 151 | } |
| 152 | } |
| 153 | if (w[i] != token::SPACE) |
| 154 | { |
| 155 | if (isdigit(w[i])) |
| 156 | { |
| 157 | push(token(readScalar(IStringStream(w[i])()))); |
| 158 | } |
| 159 | else |
| 160 | { |
| 161 | push(token::punctuationToken(w[i])); |
| 162 | } |
| 163 | } |
| 164 | start = i+1; |
| 165 | } |
| 166 | } |
| 167 | if (start < w.size()) |
| 168 | { |
| 169 | word subWord = w(start, w.size()-start); |
| 170 | if (isdigit(subWord[0]) || subWord[0] == token::SUBTRACT) |
| 171 | { |
| 172 | push(token(readScalar(IStringStream(subWord)()))); |
| 173 | } |
| 174 | else |
| 175 | { |
| 176 | push(token(subWord)); |
| 177 | } |
| 178 | } |
| 179 | } |
| 180 | |
| 181 | |
| 182 | Foam::token Foam::dimensionSet::tokeniser::nextToken() |
no test coverage detected