#include <limits>
#include <list>
#include <stack>
+#include <vector>
#include "format.h"
#include "regex.h"
Count repeat_min = 1;
Count repeat_max = 1;
- parse_repeat(expr, i, repeat_min, repeat_max);
+ if(i!=end)
+ parse_repeat(expr, i, repeat_min, repeat_max);
for(unsigned j=0; j<repeat_min; ++j)
result += atom;
result += atom;
}
result += ND_JUMP;
- write_int<Offset>(-(atom.size()+jump_size), result);
+ write_int<Offset>(-static_cast<Offset>(atom.size()+jump_size), result);
}
else if(repeat_max>repeat_min)
{
}
else
{
- list<Code> branches;
+ vector<Code> branches;
for(auto i=iter;;)
{
branches.push_back(compile(expr, i, group, true));