200 это количество локальных переменных по умолчанию для одной функции. В этом месте QLua собрана без изменений
| Код | 
|---|
/*
@@ LUAI_MAXVARS is the maximum number of local variables per function
@* (must be smaller than 250).
*/
#define LUAI_MAXVARS      200 
  | 
причем это количество локальных переменных для одного блока кода
| Код | 
|---|
MAX_LOCALS=arg[1] or 200
for i=1, MAX_LOCALS do
   if i%10 ==0 then
      io.write("\n")
   end
   io.write(string.format("local x%03d ", i))
end
io.write("\n")
print("function foo()\n")
io.write("\t")
for i=1, MAX_LOCALS do
   if i%10 ==0 then
      io.write("\n\t")
   end
   io.write(string.format("local x%03d ", i))
end
print("\n\treturn 1\nend\n")
print("function foo1()\n")
io.write("\t")
for i=1, MAX_LOCALS do
   if i%10 ==0 then
      io.write("\n\t")
   end
   io.write(string.format("local x%03d ", i))
end
print("\n\treturn 1\nend\n")
  | 
при MAX_LOCALS <=200 генерируется вполне рабочий код, который Lua может обработать. Хотя лично я не представляю себе осмысленного кода с таким количеством локальных переменных.