feat(charka): PICTURE de edición — Z, coma de millares y punto decimal
El formateo de informes de COBOL: supresión de ceros a la izquierda, coma de millares e inserción del punto decimal. Rebanada vertical. - charka-lexer: el punto separador exige un espacio detrás; un punto pegado a un carácter (ZZ9.99) ya no es terminador, sino símbolo — el parser lo reensambla dentro de la cláusula PICTURE. - charka-runtime: format_edited(valor, pic) — 9, Z, coma, punto, B. - charka-ir: Field::edit guarda la PICTURE; el campo es texto. - charka-codegen / charka-shadow: MOVE a un campo de edición pasa por format_edited antes de almacenar. - Corpus: 19-reporte. Sombra y crate compilado dan la misma salida. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -189,8 +189,8 @@ que corre el `Ir` directamente sobre `charka-runtime`, sin compilar.
|
||||
|
||||
## El corpus
|
||||
|
||||
`crates/modules/charka/corpus/` — 18 programas COBOL graduados
|
||||
(`01-hola` … `18-fichero`), cada uno con su `.expected`. Ejercita el
|
||||
`crates/modules/charka/corpus/` — 19 programas COBOL graduados
|
||||
(`01-hola` … `19-reporte`), cada uno con su `.expected`. Ejercita el
|
||||
pipeline completo de punta a punta. Ver su `README.md`.
|
||||
|
||||
## La CLI
|
||||
@@ -203,9 +203,9 @@ no transpilados.
|
||||
|
||||
## Estado
|
||||
|
||||
Pipeline **completo** — `charka-bcd` (22 tests), `charka-lexer` (17),
|
||||
`charka-parser` (15), `charka-ir` (17), `charka-runtime` (17),
|
||||
`charka-codegen` (14), `charka-shadow` (11) y la CLI `charka` (4)
|
||||
Pipeline **completo** — `charka-bcd` (22 tests), `charka-lexer` (18),
|
||||
`charka-parser` (17), `charka-ir` (30), `charka-runtime` (22),
|
||||
`charka-codegen` (26), `charka-shadow` (24) y la CLI `charka` (4)
|
||||
implementados y verdes. COBOL → Rust corre de punta a punta, validado
|
||||
contra el corpus. El crate que genera `scaffold` compila y su salida
|
||||
coincide con la del intérprete sombra — las dos rutas de ejecución
|
||||
|
||||
Reference in New Issue
Block a user