This test was run using version 0.1.5 on 8/19/97.
| Original | De-Compiled |
1 * RUN LENGTH ENCODE 2 * C) 1997 RENEJM ENTERPRISES, INC. 3 * ALL RIGHTS RESERVED 4 * 5 EQUATE REPEATCHAR TO '~' 6 * 7 PRINT 'FILE ': 8 INPUT FILE 9 PRINT 'ID ': 10 INPUT ID 11 PRINT 'NEW ID ': 12 INPUT NID 13 IF NID = '' THEN 14 PRINT 'REPLACE (Y OR RETURN) ': 15 INPUT ANS 16 IF ANS NE 'Y' THEN STOP 17 NID = ID 18 END 19 * 20 OPEN FILE TO F.FILE ELSE STOP 21 READ ITEM FROM F.FILE,ID ELSE STOP 22 * 23 NITEM = '' 24 LITEM = LEN(ITEM) 25 * 26 TITEM = 1 27 CH = ITEM[TITEM,1] 28 STACKCHAR = CH 29 STACKCOUNT = 1 30 FOR TITEM = 2 TO LITEM 31 CH = ITEM[TITEM,1] 32 BEGIN CASE 33 CASE STACKCHAR = REPEATCHAR 34 GOSUB 1000 35 STACKCHAR = CH 36 STACKCOUNT = 1 37 CASE CH = STACKCHAR 38 IF STACKCOUNT > 90 THEN 39 GOSUB 1000 40 STACKCHAR = CH 41 STACKCOUNT = 1 42 END ELSE 43 STACKCOUNT = + STACKCOUNT + 1 44 END 45 CASE 1 46 GOSUB 1000 47 STACKCHAR = CH 48 STACKCOUNT = 1 49 END CASE 50 NEXT TITEM 51 GOSUB 1000 52 * 53 PRINT LEN(ITEM):' -> ':LEN(NITEM) 54 PRINT ID:'->':NID 55 WRITE NITEM ON F.FILE,NID 56 STOP 57 * 58 1000 **** 59 IF STACKCOUNT LE 3 THEN 60 IF STACKCHAR = REPEATCHAR THEN 61 NITEM = NITEM:REPEATCHAR:REPEATCHA + R:CHAR(32) 62 END ELSE 63 NITEM = NITEM : STR(STACKCHAR,STAC + KCOUNT) 64 END 65 END ELSE 66 NITEM = NITEM : REPEATCHAR : + STACKCHAR : CHAR(31+STACKCOUNT) 67 END 68 RETURN |
1 * 2 * 3 * 4 * 5 * 6 PRINT 'FILE ': 7 INPUT FILE 8 PRINT 'ID ': 9 INPUT ID 10 PRINT 'NEW ID ': 11 INPUT NID 12 IF NID EQ '' THEN 13 PRINT 'REPLACE (Y OR RETURN) ': 14 INPUT ANS 15 IF NOT(ANS EQ 'Y') THEN 16 STOP 17 END 18 NID = ID 19 END 20 * 21 OPEN '',FILE TO F.FILE ELSE 22 STOP 23 END 24 READ ITEM FROM F.FILE,ID ELSE 25 STOP 26 END 27 * 28 NITEM = '' 29 LITEM = LEN(ITEM) 30 * 31 TITEM = 1 32 CH = ITEM[TITEM,1] 33 STACKCHAR = CH 34 STACKCOUNT = 1 35 FOR TITEM = 2 TO LITEM 36 CH = ITEM[TITEM,1] 37 * 38 BEGIN CASE 39 CASE STACKCHAR EQ '~' 40 GOSUB 200 41 STACKCHAR = CH 42 STACKCOUNT = 1 43 CASE CH EQ STACKCHAR 44 IF NOT(STACKCOUNT LE 90) + THEN 45 GOSUB 200 46 STACKCHAR = CH 47 STACKCOUNT = 1 48 END ELSE 49 STACKCOUNT = + STACKCOUNT + 1 50 END 51 CASE 1 52 GOSUB 200 53 STACKCHAR = CH 54 STACKCOUNT = 1 55 END CASE 56 NEXT TITEM 57 GOSUB 200 58 * 59 PRINT LEN(ITEM) : ' -> ' : LEN(NITEM) 60 PRINT ID : '->' : NID 61 WRITE NITEM ON F.FILE,NID 62 STOP 63 * 64 200 * 65 IF STACKCOUNT LE 3 THEN 66 IF STACKCHAR EQ '~' THEN 67 NITEM = NITEM : '~' : '~' : ' ' 68 END ELSE 69 NITEM = NITEM : STR(STACKCHAR,STACK + COUNT) 70 END 71 END ELSE 72 NITEM = NITEM : '~' : STACKCHAR : + CHAR(31 + STACKCOUNT) 73 END 74 RETURN 75 * 76 STOP 77 END |