Many small bugfixes...

This commit is contained in:
Quinn Evans 2015-10-02 21:03:50 -06:00
parent ce02ac8f23
commit 7467212f53
5 changed files with 22 additions and 17 deletions

View File

@ -189,7 +189,7 @@
ELSE IF ASCII-PND THEN
MOVE "$PND$" TO COBOL-STRING
ELSE IF ASCII-DLR THEN
MOVE "$" TO COBOL-STRING
MOVE "$$" TO COBOL-STRING
ELSE IF ASCII-PCNT THEN
MOVE "$PCNT$" TO COBOL-STRING
ELSE IF ASCII-AMP THEN
@ -321,5 +321,4 @@
ELSE IF ASCII-DEL THEN
MOVE "$DEL$" TO COBOL-STRING
ELSE STRING "$", CHAR-CODE, "$" INTO COBOL-STRING.
DDISPLAY COBOL-STRING.
EXIT PROGRAM.

View File

@ -16,23 +16,27 @@
LINKAGE SECTION.
01 ASCII-STRING.
03 MSG-BODY PIC X(999).
03 ASCII-TABLE PIC 999 OCCURS 999 TIMES.
03 ASCII-TABLE.
05 ASCII-CELL PIC 999 OCCURS 999 TIMES.
PROCEDURE DIVISION USING ASCII-STRING.
MOVE 0 TO LOOP-STATE.
MOVE 1 TO STRING-POINTER.
MOVE SPACES TO MSG-BODY.
PERFORM DECODE-CHARACTER VARYING TABLE-INDEX
FROM 1, BY 1,
UNTIL DONE.
EXIT PROGRAM.
DECODE-CHARACTER.
MOVE ASCII-TABLE(TABLE-INDEX) TO CHAR-CODE
MOVE ASCII-CELL(TABLE-INDEX) TO CHAR-CODE
IF STRING-POINTER IS GREATER THAN OR EQUAL TO 999 THEN
MOVE 99 TO LOOP-STATE
ELSE
STRING COBOL-STRING DELIMITED BY SPACES
INTO MSG-BODY
WITH POINTER STRING-POINTER.
ELSE IF NOT DONE THEN
CALL "DECODE-ASCII" USING ASCII-CHARACTER.
IF COBOL-STRING IS NOT EQUAL TO SPACES THEN
STRING COBOL-STRING DELIMITED BY SPACES
INTO MSG-BODY
WITH POINTER STRING-POINTER
ELSE
ADD 1 TO STRING-POINTER.

View File

@ -51,8 +51,8 @@
88 ASCII-PCNT VALUE "PCNT".
88 ASCII-AMP VALUE "AMP".
88 ASCII-SGQT VALUE "SGQT".
88 ASCII-LPRN VALUE "LPRN".
88 ASCII-RPRN VALUE "RPRN".
88 ASCII-LPRN VALUE "(".
88 ASCII-RPRN VALUE ")".
88 ASCII-STAR VALUE "*".
88 ASCII-PLUS VALUE "+".
88 ASCII-COMA VALUE ",".

View File

@ -18,10 +18,12 @@
LINKAGE SECTION.
01 ASCII-STRING.
03 MSG-BODY PIC X(999).
03 ASCII-TABLE PIC 999 OCCURS 999 TIMES.
03 ASCII-TABLE.
05 ASCII-CELL PIC 999 OCCURS 999 TIMES.
PROCEDURE DIVISION USING ASCII-STRING.
MOVE 0 TO LOOP-STATE, STRING-POINTER.
MOVE 0 TO LOOP-STATE.
MOVE 1 TO STRING-POINTER.
PERFORM ENCODE-CHARACTER
VARYING TABLE-INDEX FROM 1, BY 1
UNTIL DONE.
@ -48,5 +50,5 @@
MOVE 99 TO LOOP-STATE.
IF TABLE-INDEX IS GREATER THAN 998 THEN
MOVE 99 TO LOOP-STATE.
CALL "ENCODE-ASCII" USING ASCII-STRING.
MOVE CHAR-CODE TO ASCII-TABLE(TABLE-INDEX).
CALL "ENCODE-ASCII" USING ASCII-CHARACTER.
MOVE CHAR-CODE TO ASCII-CELL(TABLE-INDEX).

View File

@ -32,6 +32,6 @@ if [ $BUILD_C ]; then
fi
if [ $BUILD_COBOL ]; then
${COBC:-cobc} ${DEBUG:+-fdebugging-line} -x WOPO-CNF.COB PRINTCNF.COB
${COBC:-cobc} ${DEBUG:+-fdebugging-line} -x WOPO.COB IRC-MSG.COB PRINTCNF.COB DECASCII.COB ENCASCII.COB BF-RUN.COB channel.o
${COBC:-cobc} ${DEBUG:+-fdebugging-line} -x WOPO.COB IRC-MSG.COB PRINTCNF.COB DECASCII.COB ENCASCII.COB DECSTR.COB ENCSTR.COB BF-RUN.COB channel.o
fi