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:
@@ -0,0 +1,22 @@
|
||||
* corpus charka — nivel 19: PICTURE de edición (Z, coma, punto)
|
||||
IDENTIFICATION DIVISION.
|
||||
PROGRAM-ID. REPORTE.
|
||||
DATA DIVISION.
|
||||
WORKING-STORAGE SECTION.
|
||||
01 WS-A PIC 9(5)V99 VALUE 1234.5.
|
||||
01 WS-B PIC 9(5)V99 VALUE 7.
|
||||
01 WS-EDIT PIC Z,ZZZ,ZZ9.99.
|
||||
01 WS-CONT PIC ZZZ,ZZ9.
|
||||
PROCEDURE DIVISION.
|
||||
MAIN.
|
||||
MOVE WS-A TO WS-EDIT.
|
||||
DISPLAY '[' WS-EDIT ']'.
|
||||
MOVE WS-B TO WS-EDIT.
|
||||
DISPLAY '[' WS-EDIT ']'.
|
||||
MOVE 0 TO WS-EDIT.
|
||||
DISPLAY '[' WS-EDIT ']'.
|
||||
MOVE 234567 TO WS-CONT.
|
||||
DISPLAY '[' WS-CONT ']'.
|
||||
MOVE 89 TO WS-CONT.
|
||||
DISPLAY '[' WS-CONT ']'.
|
||||
STOP RUN.
|
||||
Reference in New Issue
Block a user