fa65f20206
El verbo de COBOL para volver un dato (o un registro entero) a su
valor por defecto.
- IR: Stmt::Initialize { targets }. El model de charka-ir registra
ahora los grupos y sus datos elementales (DataModel::groups,
GroupInfo { name, members }).
- Parser: INITIALIZE name-1 name-2 ...
- Codegen y shadow: cada destino, si es un grupo, se expande a sus
miembros; cada dato elemental se pone a 0 (numérico) o a espacios
(alfanumérico); una tabla OCCURS resetea todos sus elementos.
- Corpus: programa nuevo 15-resetear (resetea un grupo y un escalar).
Verificado: el intérprete sombra y el crate compilado por scaffold
dan la misma salida.
Tests: charka-ir 28, charka-codegen 22, charka-shadow 20. fmt +
clippy limpios.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
21 lines
597 B
COBOL
21 lines
597 B
COBOL
* corpus charka — nivel 6: INITIALIZE (resetear datos y grupos)
|
|
IDENTIFICATION DIVISION.
|
|
PROGRAM-ID. RESETEAR.
|
|
DATA DIVISION.
|
|
WORKING-STORAGE SECTION.
|
|
01 WS-REGISTRO.
|
|
05 WS-NOMBRE PIC X(6) VALUE 'PEDRO'.
|
|
05 WS-EDAD PIC 9(3) VALUE 42.
|
|
01 WS-CONTADOR PIC 9(3) VALUE 77.
|
|
PROCEDURE DIVISION.
|
|
MAIN.
|
|
DISPLAY 'ANTES NOMBRE=' WS-NOMBRE.
|
|
DISPLAY 'ANTES EDAD=' WS-EDAD.
|
|
DISPLAY 'ANTES CONT=' WS-CONTADOR.
|
|
INITIALIZE WS-REGISTRO.
|
|
INITIALIZE WS-CONTADOR.
|
|
DISPLAY 'DESP NOMBRE=' WS-NOMBRE.
|
|
DISPLAY 'DESP EDAD=' WS-EDAD.
|
|
DISPLAY 'DESP CONT=' WS-CONTADOR.
|
|
STOP RUN.
|