feat(charka): PERFORM ... THRU como rango real de párrafos
PERFORM A THRU C ejecuta A, B y C; antes el transpilador sólo ejecutaba A (lo marcaba como aproximado). - charka-codegen: Symbols registra ahora los párrafos en orden con su nombre de método; Symbols::build toma el Ir completo. paragraph_range(name, thru) da los métodos del rango; emit_perform emite la llamada a cada uno. - charka-shadow: run_paragraph_range ejecuta los párrafos de name a thru inclusive. - Corpus: programa nuevo 17-rangopar (PERFORM PASO-A THRU PASO-C sobre tres párrafos). Verificado: el intérprete sombra y el crate compilado por scaffold dan la misma salida. Tests: charka-codegen 24, charka-shadow 22. fmt + clippy limpios. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
* corpus charka — nivel 5: PERFORM ... THRU (rango de párrafos)
|
||||
IDENTIFICATION DIVISION.
|
||||
PROGRAM-ID. RANGOPAR.
|
||||
DATA DIVISION.
|
||||
WORKING-STORAGE SECTION.
|
||||
01 WS-X PIC 9(3) VALUE 0.
|
||||
PROCEDURE DIVISION.
|
||||
MAIN.
|
||||
PERFORM PASO-A THRU PASO-C.
|
||||
DISPLAY 'X FINAL = ' WS-X.
|
||||
STOP RUN.
|
||||
PASO-A.
|
||||
ADD 1 TO WS-X.
|
||||
DISPLAY 'PASO A'.
|
||||
PASO-B.
|
||||
ADD 10 TO WS-X.
|
||||
DISPLAY 'PASO B'.
|
||||
PASO-C.
|
||||
ADD 100 TO WS-X.
|
||||
DISPLAY 'PASO C'.
|
||||
Reference in New Issue
Block a user