Ver Mensaje Individual
  #15
Antiguo 27 de agosto de 2026, 10:05
Eslopes
Creador de
PowerRustCOBOL
Guru de los Gurus: Por solidos y amplios conocimientos - Issue reason: Por ámplios conocimientos en la materia Concurso: Tercer puesto: Ganador/a del Tercer puesto en un concurso - Issue reason: Juego  Innovación: Por aportar innovaciones - Issue reason: Por aportar soluciones innovadoras 
Última Actividad 27.10.2026 07:38
Posts Posts: 396
Likes enviados Enviados: 31
Likes recibidos Recibidos: 172

Literales de bloque en formato libre

PowerRustCOBOL incorpora una extension del lenguaje: un literal de bloque
delimitado por vallas, con la misma notacion que un bloque de codigo de
Markdown.

COBOL-85 no tiene literales de varias lineas. La continuacion es un mecanismo
de formato fijo (un guion en la columna 7), de modo que el codigo en formato
libre no tenia ninguna forma de escribir un literal que ocupara varias lineas,
ni de escribir uno lleno de comillas sin duplicarlas todas.

Como se escribe

El texto son las lineas que quedan entre las vallas, tal cual:

Código:
       MOVE
```
Hello, World!
```
       TO WS-GREETING.
WS-GREETING recibe Hello, World!

Las reglas
  • El texto empieza en la linea siguiente a la valla de apertura. Lo
    que se escriba detras de las comillas invertidas en esa linea es una
    etiqueta, igual que el "json" de Markdown, y no forma parte del texto.
  • La linea de la valla de cierre no es texto, y tampoco lo es el salto de
    linea que la precede. Por eso un bloque de una sola linea se comporta
    exactamente igual que un literal entrecomillado, sin salto final.
  • Los saltos de linea interiores si se conservan. Ese es justamente
    el proposito.
  • No hay escapes. El texto se toma literalmente, asi que las comillas y los
    apostrofos no necesitan duplicarse.

Para que sirve

Esa ultima regla es la que hace comodo el JSON, el SQL y el HTML incrustados:

Código:
       MOVE
```json
{"name": "O'Brien", "tags": ["a", "b"], "ok": true}
```
       TO WS-PAYLOAD.
       CALL "COBOL-HTTP-POST" USING WS-URL WS-PAYLOAD WS-RESPONSE.
Escrito como literal normal, cada comilla de ese JSON habria que duplicarla.

Solo en formato libre

El formato fijo tiene zona de indicador y zona de secuencia, de modo que una
linea de comillas invertidas alli significa otra cosa. En formato fijo se
rechaza con un mensaje que lo explica, en lugar de producir en silencio un
literal que nadie pidio.

Documentacion:
PowerRustCOBOL/docs/developers-guide-en.md at main · CloudLandBeta/PowerRustCOBOL · GitHub

Anthropic Claude Codex Agent
Eslopes is offline   Responder Con Cita