Set COBOL-STRING length to 6, changed escapes to be balanced again

This commit is contained in:
Quinn Evans 2015-09-29 07:43:22 -06:00
parent 85688c998c
commit a467cccb35
2 changed files with 53 additions and 54 deletions

View File

@ -110,92 +110,92 @@
88 ASCII-TLDE VALUE 126. 88 ASCII-TLDE VALUE 126.
* LONELY CONTROL CHAR * LONELY CONTROL CHAR
88 ASCII-DEL VALUE 127. 88 ASCII-DEL VALUE 127.
03 COBOL-STRING PIC X(5). 03 COBOL-STRING PIC X(6).
03 FIRST-CHAR REDEFINES COBOL-STRING PIC X. 03 FIRST-CHAR REDEFINES COBOL-STRING PIC X.
PROCEDURE DIVISION USING CONVERSION. PROCEDURE DIVISION USING CONVERSION.
MOVE SPACES TO COBOL-STRING. MOVE SPACES TO COBOL-STRING.
IF ASCII-NUL THEN IF ASCII-NUL THEN
MOVE "$NUL" TO COBOL-STRING MOVE "$NUL$" TO COBOL-STRING
ELSE IF ASCII-SOH THEN ELSE IF ASCII-SOH THEN
MOVE "$SOH" TO COBOL-STRING MOVE "$SOH$" TO COBOL-STRING
ELSE IF ASCII-STX THEN ELSE IF ASCII-STX THEN
MOVE "$STX" TO COBOL-STRING MOVE "$STX$" TO COBOL-STRING
ELSE IF ASCII-ETX THEN ELSE IF ASCII-ETX THEN
MOVE "$ETX" TO COBOL-STRING MOVE "$ETX$" TO COBOL-STRING
ELSE IF ASCII-EOT THEN ELSE IF ASCII-EOT THEN
MOVE "$EOT" TO COBOL-STRING MOVE "$EOT$" TO COBOL-STRING
ELSE IF ASCII-ENQ THEN ELSE IF ASCII-ENQ THEN
MOVE "$ENQ" TO COBOL-STRING MOVE "$ENQ$" TO COBOL-STRING
ELSE IF ASCII-ACK THEN ELSE IF ASCII-ACK THEN
MOVE "$ACK" TO COBOL-STRING MOVE "$ACK$" TO COBOL-STRING
ELSE IF ASCII-BEL THEN ELSE IF ASCII-BEL THEN
MOVE "$BEL" TO COBOL-STRING MOVE "$BEL$" TO COBOL-STRING
ELSE IF ASCII-BS THEN ELSE IF ASCII-BS THEN
MOVE "$BS" TO COBOL-STRING MOVE "$BS$" TO COBOL-STRING
ELSE IF ASCII-TAB THEN ELSE IF ASCII-TAB THEN
MOVE "$TAB" TO COBOL-STRING MOVE "$TAB$" TO COBOL-STRING
ELSE IF ASCII-LF THEN ELSE IF ASCII-LF THEN
MOVE "$LF" TO COBOL-STRING MOVE "$LF$" TO COBOL-STRING
ELSE IF ASCII-VT THEN ELSE IF ASCII-VT THEN
MOVE "$VT" TO COBOL-STRING MOVE "$VT$" TO COBOL-STRING
ELSE IF ASCII-FF THEN ELSE IF ASCII-FF THEN
MOVE "$FF" TO COBOL-STRING MOVE "$FF$" TO COBOL-STRING
ELSE IF ASCII-CR THEN ELSE IF ASCII-CR THEN
MOVE "$CR" TO COBOL-STRING MOVE "$CR$" TO COBOL-STRING
ELSE IF ASCII-SO THEN ELSE IF ASCII-SO THEN
MOVE "$SO" TO COBOL-STRING MOVE "$SO$" TO COBOL-STRING
ELSE IF ASCII-SI THEN ELSE IF ASCII-SI THEN
MOVE "$SI" TO COBOL-STRING MOVE "$SI$" TO COBOL-STRING
ELSE IF ASCII-DLE THEN ELSE IF ASCII-DLE THEN
MOVE "$DLE" TO COBOL-STRING MOVE "$DLE$" TO COBOL-STRING
ELSE IF ASCII-DC1 THEN ELSE IF ASCII-DC1 THEN
MOVE "$DC1" TO COBOL-STRING MOVE "$DC1$" TO COBOL-STRING
ELSE IF ASCII-DC2 THEN ELSE IF ASCII-DC2 THEN
MOVE "$DC2" TO COBOL-STRING MOVE "$DC2$" TO COBOL-STRING
ELSE IF ASCII-DC3 THEN ELSE IF ASCII-DC3 THEN
MOVE "$DC3" TO COBOL-STRING MOVE "$DC3$" TO COBOL-STRING
ELSE IF ASCII-DC4 THEN ELSE IF ASCII-DC4 THEN
MOVE "$DC4" TO COBOL-STRING MOVE "$DC4$" TO COBOL-STRING
ELSE IF ASCII-NAK THEN ELSE IF ASCII-NAK THEN
MOVE "$NAK" TO COBOL-STRING MOVE "$NAK$" TO COBOL-STRING
ELSE IF ASCII-SYN THEN ELSE IF ASCII-SYN THEN
MOVE "$SYN" TO COBOL-STRING MOVE "$SYN$" TO COBOL-STRING
ELSE IF ASCII-ETB THEN ELSE IF ASCII-ETB THEN
MOVE "$ETB" TO COBOL-STRING MOVE "$ETB$" TO COBOL-STRING
ELSE IF ASCII-CAN THEN ELSE IF ASCII-CAN THEN
MOVE "$CAN" TO COBOL-STRING MOVE "$CAN$" TO COBOL-STRING
ELSE IF ASCII-EM THEN ELSE IF ASCII-EM THEN
MOVE "$EM" TO COBOL-STRING MOVE "$EM$" TO COBOL-STRING
ELSE IF ASCII-SUB THEN ELSE IF ASCII-SUB THEN
MOVE "$SUB" TO COBOL-STRING MOVE "$SUB$" TO COBOL-STRING
ELSE IF ASCII-ESC THEN ELSE IF ASCII-ESC THEN
MOVE "$ESC" TO COBOL-STRING MOVE "$ESC$" TO COBOL-STRING
ELSE IF ASCII-FS THEN ELSE IF ASCII-FS THEN
MOVE "$FS" TO COBOL-STRING MOVE "$FS$" TO COBOL-STRING
ELSE IF ASCII-GS THEN ELSE IF ASCII-GS THEN
MOVE "$GS" TO COBOL-STRING MOVE "$GS$" TO COBOL-STRING
ELSE IF ASCII-RS THEN ELSE IF ASCII-RS THEN
MOVE "$RS" TO COBOL-STRING MOVE "$RS$" TO COBOL-STRING
ELSE IF ASCII-US THEN ELSE IF ASCII-US THEN
MOVE "$US" TO COBOL-STRING MOVE "$US$" TO COBOL-STRING
ELSE IF ASCII-SPC THEN ELSE IF ASCII-SPC THEN
MOVE SPACE TO COBOL-STRING MOVE SPACE TO COBOL-STRING
ELSE IF ASCII-EXC THEN ELSE IF ASCII-EXC THEN
MOVE "$EXC" TO COBOL-STRING MOVE "$EXC$" TO COBOL-STRING
ELSE IF ASCII-DBQT THEN ELSE IF ASCII-DBQT THEN
MOVE SPACES TO COBOL-STRING MOVE SPACES TO COBOL-STRING
MOVE QUOTE TO FIRST-CHAR MOVE QUOTE TO FIRST-CHAR
ELSE IF ASCII-PND THEN ELSE IF ASCII-PND THEN
MOVE "$PND" TO COBOL-STRING MOVE "$PND$" TO COBOL-STRING
ELSE IF ASCII-DLR THEN ELSE IF ASCII-DLR THEN
MOVE "$" TO COBOL-STRING MOVE "$" TO COBOL-STRING
ELSE IF ASCII-PCNT THEN ELSE IF ASCII-PCNT THEN
MOVE "$PCNT" TO COBOL-STRING MOVE "$PCNT$" TO COBOL-STRING
ELSE IF ASCII-AMP THEN ELSE IF ASCII-AMP THEN
MOVE "$AMP" TO COBOL-STRING MOVE "$AMP$" TO COBOL-STRING
ELSE IF ASCII-SGQT THEN ELSE IF ASCII-SGQT THEN
MOVE "$SGQT" TO COBOL-STRING MOVE "$SGQT$" TO COBOL-STRING
ELSE IF ASCII-LPRN THEN ELSE IF ASCII-LPRN THEN
MOVE "(" TO COBOL-STRING MOVE "(" TO COBOL-STRING
ELSE IF ASCII-RPRN THEN ELSE IF ASCII-RPRN THEN
@ -233,7 +233,7 @@
ELSE IF ASCII-NUM9 THEN ELSE IF ASCII-NUM9 THEN
MOVE "9" TO COBOL-STRING MOVE "9" TO COBOL-STRING
ELSE IF ASCII-COLN THEN ELSE IF ASCII-COLN THEN
MOVE "$COLN" TO COBOL-STRING MOVE "$COLN$" TO COBOL-STRING
ELSE IF ASCII-SCLN THEN ELSE IF ASCII-SCLN THEN
MOVE ";" TO COBOL-STRING MOVE ";" TO COBOL-STRING
ELSE IF ASCII-LESS THEN ELSE IF ASCII-LESS THEN
@ -243,9 +243,9 @@
ELSE IF ASCII-GRTR THEN ELSE IF ASCII-GRTR THEN
MOVE ">" TO COBOL-STRING MOVE ">" TO COBOL-STRING
ELSE IF ASCII-QUES THEN ELSE IF ASCII-QUES THEN
MOVE "$QUES" TO COBOL-STRING MOVE "$QUES$" TO COBOL-STRING
ELSE IF ASCII-AT THEN ELSE IF ASCII-AT THEN
MOVE "$AT" TO COBOL-STRING MOVE "$AT$" TO COBOL-STRING
ELSE IF ASCII-LETA THEN ELSE IF ASCII-LETA THEN
MOVE "A" TO COBOL-STRING MOVE "A" TO COBOL-STRING
ELSE IF ASCII-LETB THEN ELSE IF ASCII-LETB THEN
@ -299,26 +299,26 @@
ELSE IF ASCII-LETZ THEN ELSE IF ASCII-LETZ THEN
MOVE "Z" TO COBOL-STRING MOVE "Z" TO COBOL-STRING
ELSE IF ASCII-LSQB THEN ELSE IF ASCII-LSQB THEN
MOVE "$LSQB" TO COBOL-STRING MOVE "$LSQB$" TO COBOL-STRING
ELSE IF ASCII-BKSL THEN ELSE IF ASCII-BKSL THEN
MOVE "$BKSL" TO COBOL-STRING MOVE "$BKSL$" TO COBOL-STRING
ELSE IF ASCII-RSQB THEN ELSE IF ASCII-RSQB THEN
MOVE "$RSQB" TO COBOL-STRING MOVE "$RSQB$" TO COBOL-STRING
ELSE IF ASCII-CRT THEN ELSE IF ASCII-CRT THEN
MOVE "$CRT" TO COBOL-STRING MOVE "$CRT$" TO COBOL-STRING
ELSE IF ASCII-UNDS THEN ELSE IF ASCII-UNDS THEN
MOVE "$UNDS" TO COBOL-STRING MOVE "$UNDS$" TO COBOL-STRING
ELSE IF ASCII-BKTK THEN ELSE IF ASCII-BKTK THEN
MOVE "$BKTK" TO COBOL-STRING MOVE "$BKTK$" TO COBOL-STRING
ELSE IF ASCII-LCRB THEN ELSE IF ASCII-LCRB THEN
MOVE "$LCRB" TO COBOL-STRING MOVE "$LCRB$" TO COBOL-STRING
ELSE IF ASCII-PIPE THEN ELSE IF ASCII-PIPE THEN
MOVE "$PIPE" TO COBOL-STRING MOVE "$PIPE$" TO COBOL-STRING
ELSE IF ASCII-RCRB THEN ELSE IF ASCII-RCRB THEN
MOVE "$RCRB" TO COBOL-STRING MOVE "$RCRB$" TO COBOL-STRING
ELSE IF ASCII-TLDE THEN ELSE IF ASCII-TLDE THEN
MOVE "$TLDE" TO COBOL-STRING MOVE "$TLDE$" TO COBOL-STRING
ELSE IF ASCII-DEL THEN ELSE IF ASCII-DEL THEN
MOVE "$DEL" TO COBOL-STRING MOVE "$DEL$" TO COBOL-STRING
ELSE STRING "$", CHAR-CODE INTO COBOL-STRING. ELSE STRING "$", CHAR-CODE INTO COBOL-STRING.
EXIT PROGRAM. EXIT PROGRAM.

View File

@ -8,7 +8,7 @@
LINKAGE SECTION. LINKAGE SECTION.
01 CONVERSION. 01 CONVERSION.
03 CHAR-CODE PIC 999. 03 CHAR-CODE PIC 999.
03 COBOL-STRING PIC X(5). 03 COBOL-STRING PIC X(6).
* CONTROL CHARACTERS. * CONTROL CHARACTERS.
88 ASCII-NUL VALUE "NUL". 88 ASCII-NUL VALUE "NUL".
88 ASCII-SOH VALUE "SOH". 88 ASCII-SOH VALUE "SOH".
@ -323,5 +323,4 @@
ELSE IF ASCII-DEL THEN ELSE IF ASCII-DEL THEN
MOVE 127 TO CHAR-CODE MOVE 127 TO CHAR-CODE
ELSE MOVE 0 TO CHAR-CODE. ELSE MOVE 0 TO CHAR-CODE.
MOVE SPACES TO COBOL-STRING.
EXIT PROGRAM. EXIT PROGRAM.