Atualização 2.202
01/08/2026
v2.202.0.0BETAMINOR
Seymour1 de ago. de 2026
F5-L3: compilador completo — vars persistentes, while (loop jump-table), func/call (macro inline) + 9 testes
FfxLib/Ai/AtelScript/AtelProgramCompiler.cs(novo): passo 0 coletafunc(blocos nomeados); passo 1 vars persistentes —var name = expr;resolve o nome na tabela AiFile ou cria uma variável privada (AppendPrivateVariableDescriptor+TryFindFreePrivateVariableSlot) e inicializa; passo 2 ifs/whiles/assigns/calls.EmitWhile: loop jump-table seguindo o padrão provadoAppendGuardedAction(guard →D7ao fluxo original → body →B0de volta ao guard;Rebuild+GrowWorkerJumpTable+ repoint de entrypoint — alvos verificados no teste: exit=entrypoint original, loop=baseRel).call name;expande a função inline (macro — sem stack JSR/RTS, documentado).- AST/parser estendidos:
AtelWhile/AtelFuncDecl/AtelCall+ parsewhile/func/call(keywordcallno lexer). - Testes (4 + 1 teste de parser atualizado): var cria privada (m001) / sem duplicata (nome existente) / m000 sem storage privado → erro honesto claro; while round-trips com jump table +2 slots e alvos verificados; func/call expande inline; call sem func → erro; if+while combinados; while com call no body; guard
>(ordem trocada) dentro de while. - Baseline: 324/324 PASS (312 + 12 novos). ### MINOR ### MINOR
v2.201.0.0