Update 2.202
1.8.2026
v2.202.0.0BETAMINOR
Seymour1. Aug. 2026
F5-L3: vollständiger Compiler — persistente Vars, while (Jump-Table-Loop), func/call (Inline-Makro) + 9 Tests
FfxLib/Ai/AtelScript/AtelProgramCompiler.cs(neu): Schritt 0 sammeltfunc(benannte Blöcke); Schritt 1 persistente Vars —var name = expr;löst den Namen in der AiFile-Tabelle auf oder erstellt eine private Variable (AppendPrivateVariableDescriptor+TryFindFreePrivateVariableSlot) und initialisiert; Schritt 2 ifs/whiles/assigns/calls.EmitWhile: Jump-Table-Loop nach dem bewiesenenAppendGuardedAction-Muster (guard →D7zum Original-Flow → body →B0zurück zum guard;Rebuild+GrowWorkerJumpTable+ Entrypoint-Recount — Ziele im Test verifiziert: exit=originaler Entrypoint, loop=baseRel).call name;expandiert die Funktion inline (Makro — kein JSR/RTS-Stack, dokumentiert).- AST/Parser erweitert:
AtelWhile/AtelFuncDecl/AtelCall+while/func/call-Parsing (call-Schlüsselwort im Lexer). - Tests (9 + 1 aktualisierter Parser-Test): var erstellt private (m001) / kein Duplikat (bestehender Name) / m000 ohne privaten Speicher → klarer ehrlicher Fehler; while round-trips mit Jump-Table +2 Slots und verifizierten Zielen; func/call expandiert inline; call ohne func → Fehler; if+while kombiniert; while mit call im Body;
>-Guard (getauschte Reihenfolge) innerhalb von while. - Baseline: 324/324 PASS (312 + 12 neue). ### MINOR ### MINOR
v2.201.0.0