feat(charka): SET ... TO TRUE — escribir nombres de condición (88)
La cara de escritura de los nombres de condición de COBOL: si
IF ES-VALIDO los lee, SET ES-VALIDO TO TRUE los escribe.
- IR: Stmt::SetTrue { conditions }.
- Parser: SET cond-1 cond-2 ... TO TRUE. Otras formas de SET
(índices, TO FALSE) caen a Stmt::Unknown.
- Codegen y shadow: SET cond TO TRUE asigna a su dato padre el valor
del 88 (un MOVE del valor a la variable).
- Corpus: programa nuevo 16-bandera (cambia banderas de texto y de
número con SET). Verificado: el intérprete sombra y el crate
compilado por scaffold dan la misma salida.
Tests: charka-ir 29, charka-codegen 23, charka-shadow 21. fmt +
clippy limpios.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -3,6 +3,19 @@
|
||||
Transpilador COBOL → Rust. El módulo más grande del ecosistema (Fase D
|
||||
del plan macro) — el parser COBOL completo es un esfuerzo multi-mes.
|
||||
|
||||
### feat(charka): SET ... TO TRUE — escribir nombres de condición (88)
|
||||
|
||||
La cara de escritura de los nombres de condición de COBOL: si `IF
|
||||
ES-VALIDO` los lee, `SET ES-VALIDO TO TRUE` los escribe.
|
||||
|
||||
- IR: `Stmt::SetTrue { conditions }`.
|
||||
- Parser: `SET cond-1 cond-2 ... TO TRUE`. Otras formas de `SET`
|
||||
(índices, `TO FALSE`) caen a `Stmt::Unknown`.
|
||||
- Codegen y shadow: `SET cond TO TRUE` asigna a su dato padre el valor
|
||||
del 88 (un `MOVE` del valor a la variable).
|
||||
- Corpus: programa nuevo `16-bandera` (cambia banderas de texto y de
|
||||
número con `SET`). Verificado en ambas rutas.
|
||||
|
||||
### feat(charka): INITIALIZE — resetear datos y grupos
|
||||
|
||||
El verbo de COBOL para volver un dato (o un registro entero) a su
|
||||
|
||||
Reference in New Issue
Block a user