Cleans up by freeing all the regexps on the stack.
| 204 | |
| 205 | // Cleans up by freeing all the regexps on the stack. |
| 206 | Regexp::ParseState::~ParseState() { |
| 207 | Regexp* next; |
| 208 | for (Regexp* re = stacktop_; re != NULL; re = next) { |
| 209 | next = re->down_; |
| 210 | re->down_ = NULL; |
| 211 | if (re->op() == kLeftParen) |
| 212 | delete re->name_; |
| 213 | re->Decref(); |
| 214 | } |
| 215 | } |
| 216 | |
| 217 | // Finishes the regexp if necessary, preparing it for use in |
| 218 | // a more complex expression. |