Actualización 2.202
1/8/2026
v2.202.0.0BETAMINOR
Seymour1 ago 2026
F5-L3: compilador completo — vars persistentes, mientras (bucle de salto de tabla), func/llamada (macro en línea) + 9 pruebas
FfxLib/Ai/AtelScript/AtelProgramCompiler.cs(nuevo): el paso 0 recopilafunc(bloques con nombre); paso 1 vars persistentes:var name = expr;resuelve el nombre en la tabla AiFile o crea una variable privada (AppendPrivateVariableDescriptor+TryFindFreePrivateVariableSlot) e inicializa; paso 2 si/mientras/asigna/llama.EmitWhile: bucle de tabla de salto siguiendo el patrón probadoAppendGuardedAction(guardia →D7al flujo original → cuerpo →B0de regreso a la guardia;Rebuild+GrowWorkerJumpTable+ punto de entrada repunto - objetivos verificados en la prueba: salida=punto de entrada original, bucle=baseRel).call name;expande la función en línea (macro: sin pila JSR/RTS, documentada).- AST/analizador extendido:
AtelWhile/AtelFuncDecl/AtelCall+while/func/callanálisis (palabra clavecallen el lexer). - Pruebas (9 + 1 prueba de analizador actualizada): var crea privado (m001) / sin duplicado (nombre existente) / m000 sin almacenamiento privado → borrar error honesto; mientras que los viajes de ida y vuelta con mesa de salto +2 ranuras y objetivos verificados; func/llamada se expande en línea; llamada sin función → error; si+mientras se combinan; mientras con llamada en cuerpo;
>guardia (orden intercambiado) dentro mientras. - Línea base: 324/324 PASS (312 + 12 nuevos). ### MENOR ### MENOR
v2.201.0.0