...
01 IN-CURSOR PIC 999.
01 OUT-CURSOR PIC 999.
01 SEGMENT-SIZE PIC 999.
01 INPUT-AREA PIC X(something).
01 OUTPUT-AREA PIC X(somethingelse).
....
MOVE 1 to IN-CURSOR, OUT-CURSOR.
perform UNTIL IN-CURSOR > LENGTH OF INPUT-AREA
MOVE 0 TO SEGMENT-SIZE
INSPECT INPUT-AREA (IN-CURSOR:) TALLYING SEGMENT-SIZE
FOR CHARACTERS BEFORE INITIAL "'"
IF SEGMENT-SIZE > 0
STRING INPUT-AREA (IN-CURSOR:SEGMENT-SIZE)
DELIMITED BY SIZE
"\'" DELIMITED BY SIZE
INTO OUTPUT-AREA
POINTER OUT-CURSOR
ON OVERFLOW [i]handle error case[/i]
END-STRING
ELSE
STRING "\'" DELIMITED BY SIZE
INTO OUTPUT-AREA
POINTER OUT-CURSOR
ON OVERFLOW [i]handle error case[/i]
END-STRING
END-IF
ADD SEGMENT-SIZE, 1 TO IN-CURSOR
end-perform.