d3cdbb2d2d
Segunda etapa del transpilador: Vec<Token> -> Program. Alcance v1 = el esqueleto del programa. - parse(&[Token]) -> Result<Program, ParseError>. AST: Program (program_id, data, paragraphs), DataItem, Paragraph, Sentence. - Particiona el flujo en las 4 divisions por sus encabezados; extrae el PROGRAM-ID de la IDENTIFICATION. - DATA division -> árbol de DataItem: nivel, nombre, PICTURE reensamblado (S9 ( 5 ) V99 -> S9(5)V99) y VALUE. Anida por número de nivel (01/77 raíces, 88 cuelga del precedente). - PROCEDURE division -> Vec<Paragraph> con Sentence de tokens crudos (sin parseo de statement). Sentencias previas al primer encabezado van a un párrafo implícito "". - Tolerante: salta SECTION, FD/SD y cláusulas que no sean PIC/VALUE. - 15 tests verdes; fmt + clippy limpios. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
3 lines
370 B
JSON
3 lines
370 B
JSON
{"kind":"seed","seq":0,"entity":"Cliente","id":"b300a04f-36e6-4d22-99d9-b036c1b7b0db","data":{"nombre":"\\xc","email":"sad","empresa":"ww","id":"b300a04f-36e6-4d22-99d9-b036c1b7b0db"}}
|
|
{"kind":"seed","seq":1,"entity":"Cliente","id":"50129365-f780-43a5-9704-e33dbe8da27e","data":{"nombre":"sds","email":"sas","empresa":"asd","id":"50129365-f780-43a5-9704-e33dbe8da27e"}}
|