Update 2.202
8/1/2026
v2.202.0.0BETAMINOR
SeymourAug 1, 2026
F5-L3: full compiler — persistent vars, while (jump-table loop), func/call (inline macro) + 9 tests
FfxLib/Ai/AtelScript/AtelProgramCompiler.cs(new): step 0 collectsfunc(named blocks); step 1 persistent vars —var name = expr;resolves the name in the AiFile table or creates a private variable (AppendPrivateVariableDescriptor+TryFindFreePrivateVariableSlot) and initializes; step 2 ifs/whiles/assigns/calls.EmitWhile: jump-table loop following the provenAppendGuardedActionpattern (guard →D7to the original flow → body →B0back to the guard;Rebuild+GrowWorkerJumpTable+ entrypoint repoint — targets verified in test: exit=original entrypoint, loop=baseRel).call name;expands the function inline (macro — no JSR/RTS stack, documented).- AST/parser extended:
AtelWhile/AtelFuncDecl/AtelCall+while/func/callparsing (callkeyword in the lexer). - Tests (9 + 1 updated parser test): var creates private (m001) / no duplicate (existing name) / m000 without private storage → clear honest error; while round-trips with jump table +2 slots and verified targets; func/call expands inline; call without func → error; if+while combined; while with call in body;
>guard (swapped order) inside while. - Baseline: 324/324 PASS (312 + 12 new). ### MINOR ### MINOR
v2.201.0.0