home *** CD-ROM | disk | FTP | other *** search
/ Brotikasten / BROTCD01.iso / c128 / c32.d64 / compactor.doc < prev    next >
Text File  |  1995-08-08  |  3KB  |  19 lines

  1. ╞╔╠┼: COMPACTOR-128                    ╞╥╧═: ╥┬┴╦┼╥      06/15/86   ╙#: 11154   
  2. ╘HIS PROGRAM RUNS ON THE ├128 IN 128 MODE AND READS A ┬ASIC 7.0 PROGRAM THAT WAS SAVED ON DISK WHILE CREATING A NEW, COMPACTED COPY. ╔T DELETES ALL ╥┼═ARKS, UNNECESSARY SPACES, AND LEADING COLONS SIMILAR TO OTHER UTILITIES. ╔T ALSO GOES ONE STEP FURTHER BY COMBINING PROGRAM LINES WHENEVER POSSIBLE TO ELIMINATE THE LINK, LINE# AND LINE-END-FLAG OVERHEADS NORMALLY ASSOCIATED WITH EACH ┬ASCI PROGRAM LINE. ╔T ATTEMPTS TO MAKE A ┬ASIC 7.0 PROGRAM AS SMALL AS POSSIBLE. ╔T MAKES NO ATTEMPT TO COMBINE LINES WITHIN ╔╞/╘╚┼╬/┼╠╙┼ STATEMENTS FOR FURTHER IMPROVEMENTS WITH ┬┼╟╔╬/┬┼╬─ BLOCKS.
  3.    ╫HEN RUNNING T??AOGRAM YOU HAVE SOME CONTROL OVER WHAT SIZE PROGRAM LINES WILL BE CREATED. ┴N INPUT PROMPT LETS YOU SET THE MAXIMUM LINE LENGTH TO CREATE. ╘HE DEFAULT IS 255, THE MAXIMUM SIZE ┬ASIC PROGRAM LINE POSSIBLE. ╫HEN ENTERING SMALLER NUMBERS, BE SURE TO TYPE SPACES TO ERASE THE DEFAULT '255'. ╔NPUT AND OUTPUT FILENAMES ARE ENTERED AS DESIRED.
  4.    ╘HE PROGRAM TO BE COMPACTED IS READ TWICE. ╘HE FIRST PASS CHECKS FOR LINE NUMBERS THAT ARE REFERENCED BY OTHER COMMANDS WITHIN THE PROGRAM, LIKE TARGETS OF ╟╧╘╧/╟╧ ╘╧, ╟╧╙╒┬, ╥╒╬, ╠╔╙╘, ╥┼╙╘╧╥┼, ╥┼╙╒═┼, ╘╥┴╨, ├╧╠╠╔╙╔╧╬, ╔╞/╘╚┼╬/┼╠╙┼, AND ╧╬/╟╧╙╒┬/╟╧╘╧. ┴S THIS PASS PROGRESSES, THE CURRENT LINE# IS DISPLAYED TO SHOW HOW THINGS ARE GOING.
  5.    ─URING THE SECOND PASS, EACH LINE IS COPIED, DELETED, OR COMPACTED AS APPROPRIATE. ┴GAIN THE CURRENT LINE# IS DISPLAYED AS EACH LINE IS PROCESSED TO LET YOU KNOW HOW THINGS ARE GOING. ╘HE RULES FOLLOWED BY THE COMPACTOR ARE:
  6. - LEADING COLONS/SPACES ARE DELETED.
  7. - FULL LINE ╥┼═ARKS THAT ARE NOT TARGET LINES ARE DELETED. ╔F A TARGET LINE, A LEADING COLON IS INSERTED AND THE ╥┼═ARK IS DELETED.
  8. - ┴NY SPACES WITHIN THE LINE, NOT ENCLOSED IN QUOTES, ARE DELETED.
  9. - ┴NY ╥┼═ARKS AT THE END OF THE LINE ARE DELETED TO THE END OF THE LINE.
  10. - ┴NYTHING WITHIN QUOTES IS COPIED, UNTOUCHED. ╔F AN ENDING QUOTE IS MISSING, ONE IS ADDED IF ANOTHER LINE COULD BE COMBINED WITH THIS LINE.
  11. - ╫HEN A COLON IS FOUND, NOT WITHIN QUOTES, THE NEXT NON-SPACE CHARACTER IS CHECKED BEFORE COPYING THE COLON. ╔F A ╥┼═ARK FOLLOWS, THE COLON AND THE REST OF THE LINE IS DELETED. ╧THERWISE, THE COLON IS COPIED & EVERYTHING CONTINUES.
  12. - ┴T THE END OF EACH LINE, IF THE LINE CAN BE COMBINED WITH THE NEXT LINE, AND THE NEXT LINE IS NOT A TARGET LINE, AND THE LENGTH OF THE NEXT LINE WOULD NOT EXCEED THE LIMIT IF COMPACTED, THE LINES ARE COMBINED. ╫HEN COMBINING LINES, THE LINK & LINE# ARE DISCARDED, A COLON IS WRITTEN, AND THE NEXT LINE IS HANDLED AS PART OF THE LAST LINE.
  13. - AT THE END OF THE INPUT PROGRAM, THE LAST LINE IS WRITTEN WITH AN ENDING LINK AND ALL FILES ARE CLOSED. ╘HE OUTPUT FILE IS FULLY LINKED AND READY TO LOAD/RUN.
  14.  
  15. 17 BLOCKS LONG.
  16.  
  17.  <╨RESS ╞3 TO SAVE THESE INSTRUCTIONS>
  18.  <╨RESS ╞7 FOR DOWNLOAD MENU>
  19.   N