Suggest:
while(pos < local_vars.size(); ++pos) { if (sym == local_vars[pos])
{ local_vars[pos] = local_vars.back();
local_vars.pop_back(); } }instead of:
for (; pos < local_vars.size(); ++pos) { if (sym == local_vars[pos])
{ local_vars[pos] = local_vars.back();
local_vars.pop_back(); } }
