Home

Method and apparatus for selectively processing paginated output

image

Contents

1. THEY DEFERPAT OPTWHERENOTEMPTYPAT WHEREPAT BT EMPTY NULL EOLPAT BIN BIN RPOS 0 ACTSIMTI BIN VERB VB BT SHAPE1 51 BT WITH BT FULLEXP WITH BT WHEREPAT BT LEFTOVERS NULL EVB 5 2 52 BT CONTAIN DO BT CONTAIN CONT BT FULLEXP PATT EOLPAT 5 1 2 BIN VERB VB BT SHAPE1 51 BT WHEREPAT LEFTOVERS OF NULL EVB 2 S2 BT CONTAIN DO BT NOT BT CONTAIN CONT FULLEXP PATT EOLPAT ACTSIMT3 BIN VERB VB 5 1 S1 BT WITH BT FULLEXP WITH EOLPAT ACTSIMT4 BIN VERB VB 5 1 51 EOLPAT ACISIMT ACISTMT1 ACTSTMT2 ACISTMT3 ACTSIMT4 DEFSIMT BIN DEFINE NAME WSET BT USING BT ARB USINGS EOLPAT ENDSTMT BIN END BT NAME EWSET EOLPAT PRSIMT BIN PRINF BI TO BT BIN FILEWORD DD BIN 45 10 15 35 69 5 023 811 70 _ TRSTMT BIN TRANSLATE BT FROM BT LLITERAL STRI BY TO BILLITERAL STR2 EOLPAT BIN PAD BT ON BY THE BT LEFT RIGHT DIRECTION BT WITH BT NUMBER HOWMANY BT LLITERAL STREOLPAT _ REMSIMT BIN REMEMBER NAME NAMEIT OPTWHERENOTEMPTYPAT REMEMP EOLPAT i WRSIMT WRITE BT LLITERAL STR BT BT BIN NAME NAMEIT BIN
2. FOR EACH DEPENDENT WORKING SET SEND PAGE THROUGH MOREDEP FILEROUTINE LIST20FDEP WORD DEPENDENT FCISNEWPAGE_FILEROUTINE IDENI LOOPCHECKING OFF S CALLST_FILEROUTINE IDENI DEPENDENT TUPIN F CALLST_FILEROUTINE 5 10 15 35 45 5 023 811 29 30 SIGLOOP END CALLST_FILEROUTINE CALLSTRING DEPENDENT TUPIN LIST20FDEP WORD F LASTONF_FILEROUTINE ROUT COPY PAGE DEPENDENT CALLSTRING LASTONF_FILEROUTINE ROUI PAGE DEPENDENT CALLSTRING MOREDEP FILEROUTINE IF ROUNDROBIN RETURN TO GET NEXT FILE OTHERWISE GET NEXT PAGE ISNEWPAGE_FILEROUTINE IDENTI DEFAULTREAD ROUNDROBIN S RETURN F NEWPAGE_ FILEROUTINE END_FILEROUTINE FINDOCCURSEGS DEFINE FINDOCCURSEGS PTT PAGE CNT P1 P2 TEMP HEAD CURRENT ENDFINDOCCURSEGS FINDOCCURSEGS amp ANCHOR 0 CNT 1 NEXLCN IDENI PAGE lt CNT gt BOL S RETURN PAGE lt CNT gt PTT P2 S NEXKCN CNT lt CNT I gt 1 F RETURN S NEXLCN NEXKCN HEAD 1 2 FINDOCCURSEGS HEAD NEXICN PAGE PIT P2 1 1 TEMP1 PI FINISH CURRENT LE P1 FINISH CURREND GI P2FINISH CURRENT P2 S NEXICN LE P1 FINISH CURRENT LE P2 FINISH CURRENT S NEXICN NEXT CURRENT SEGMENI CNT P1 1 P2 CURRENT NEXT CURRENT NEXICN NEXCN
3. S RETBASE 35 45 10 15 20 4 Bide hb tt 5 023 811 15 16 IF SHAPE1 IS DEFERRED AND SHAPE2 SHAPE1 OR SHAPE DEALS WITH A WHOLE MESSAGE PAGE SCREEN BASE MATCH DEFERPAT 0 5 DENT SHL SHD MATCH DEFERPAGEPAT SH1 MUSHWHOLEPAGE VRB WIH PAGE S TWO IF SHAPE1 IS DEFERRED SHAPE2 5 VRB REB AND VRB AND CONTAINS BASE MATCH DEFERPAT 5 0 5 IDENT SH1 SH2 IDENI CNT CONTAIN DIFFER VRB REB DIFFER VRB TEB MUSHBYSEGS VRB WTH PAGE OPTM SHAPESFROMSEGS FINDOCCURSEGS PTT PAGE 5 IF SHAPE1 IS DEFERRED SHAPE2 VRB REB AND CONTAINS BASE MATCH DEFERPAT RPOS 0 SH1 IDENT SHLS SH2 IDENT CNT CONTAIN IDENT VRB REB MUSHBYSEGS REPLACE WTH PAGE NOTSEGS OPTM SHAPESFROMSEGS FINDOCCURSEGS PIT PAGE S RETBASE IF SHAPE1 IS DEFERRED SHAPE2 SHAPE1 VRB TEB AND CONTAINS BASE MATCH DEFERPAT RPOS 0 SH1 IDENT SH1 SH2 IDENT CNT CONTAIN IDENT VRB TEB MUSHBYSEGS TRANSLATE WTH PAGE NOTSEGS OPTM SHAPESFROMSEGS FINDOCCURSEGS PTT PAGE S RETBASE IF SHAPE1 IS DEFERRED SHAPE2 SHAPE1 CONT IS NOT CONTAINS AND VERB IS NOT REPLACE BASE MATCH DEFERPAT RPOS 0 SH1 IDENT SH1 SH2 DIFFER CNT CONTAIN DIF
4. APR AUG SEPT NULL YEARS ANY DIGITS ANY DIGITS ANY DIGITS ANY DIGITS DAYS ANY 012 NULL ANY DIGITS 22 NMON 0 ANY DIGITS 71 212 123456789 ANY DIGITS ANY DIGITS NDATES DAYS NULL NYEAR DAYS NULL NYEAR TIMES 0127 NULL ANY DIGITS ANY 012345 ANY DIGTTS 72 70123457 ANY DIGITS NULL MANYDATES NDATES MONTHS BT DAYS BT YEARS MANYDATESANDTIMES MANYDATES TIMES ALLDATESANDTIMES MANYDATESANDTIMES TRIDATE ANY DIGITS ANY DIGITS ANY DIGITS ANY DIGITS ANY DIGITS ANY DIGITS TRITIME ANY DIGITS ANY DIGITS ANY DIGITS ANY DIGITS ANY DIGITS ANY DIGITS NULL TRIDATEORTIME TRIDATE TRITIME DATEQ NUMBER MOND NUMBER DAYD NUMBER YEARD MOND SIZE MOND 1 0 MOND DAYD SIZE DAYD 1 7 DAYD YEARD SIZE YEARD 1 7 YEARD TODAY MOND 2 DAYD 2 NULL YEARD DEFERPATBASE COLUMNS LINES STRINGS DEFERPAGEPAT PAGES MESSAGES SCREENS DEFERPAT DEFERPATBASE DEFERPAGEPAT PATSHAPES LINES gt COLUMNS STRINGS BOXES NUMSHAPES LINES COLUMNS COOSHAPES STRINGS BOXES PAGERNGPAT DEFERPAGEPAT HBT NUMBER BIN BIN NUMBER RN
5. MRGSTMT BIN MERGE ALLMERGES MRGTYPE BIN STNAME BIN STNAME BIN BTN BIN STNAME BIN 6 MOBJ2 MRGEMP EOLPAT COMPSIMT BIN COMPARE HBT PRINT BT COMPNAME BI WHERE BT OLD BT FILE 15 BIN FILEWORD OLDDD BIN BT NEW BT FILE BT IS BT BIN FILEWORD NEWDD BIN BT DIFFERENCE BT FILE BT IS BT BIN FILEWORD DIFFDD BIN EOLPAT INTERSTIMT BIN INTERSPERSE HBT PRINT BT NAME INAME BT WHERE BT INPUT BT FILE BT IS BY BIN NAME ININTER BT OUTPUT BT FILE BT IS BT BIN NAME OUTINTER BIN MERGE BT IS ALLMERGES MRGTYPE BT REVERSED REVERSED BT NULL WORKING BT SET BT BT SEGMENT BT IS BT COORDPAIRS KEYINTER BI FILE BT KEY SEGMENT 15 COORDPAIRS KEY2INTER EOLPAT RETURN ENDPATTIERNS tebe ete STITL PARSEGEN FUNCTION I DEFINE PARSEGEN 5 PARSEGEN IF DESIRED PUT A CHECK FOR STRING AS OPPOSED EXPRESSIONS 5 AND NON EVAL REPLACES IN_PARSEGEN F RETURN SIMT COMMENT sSCIN_PARSEGEN STMT COMPILETIME F INITSTUFF1_PARSEGEN YUPI CODE STMT IN_PARSEGEN 5 lt YUPI
6. lt CURWSET gt NONCOMP lt CURWSET gt PRINTPAGE PAGE NEWDD gt IDENT OUTFILETAB lt DIFFDD gt NULL 2 OUTFILETAB lt DIFFDD gt COMPARE IDENT MACHINE IBM OUTPUI DIFFDD XXXXX DIFFDD 50 10 15 35 45 PRINTPAGE 5 023 811 75 76 DIFFER MACHINE IBM OUTPUT DIFEDD DIFFDD XXXXX DIFFDD COMPST2_PARSEGEN NONCOMP lt CURWSET gt NONCOMP lt CURWSET gt gt lt 1 gt BOL DIFFER PAGE lt 0 gt EOF COMPAIRE PAGE READFORCOMPS OLDDD DIFFDD XXXXX COMPNAME IN2 gt INTERSIMT 1 PARSEGEN SIMTINTERSIMT F BADSIMT_PARSEGEN IDENT NONUSINGINS lt ININTER gt NULL F INTERST1 PARSEGEN NONUSINGINS lt ININTER gt INTER OPENINCININTER INTERST1_PARSEGEN IDENI OUTFILETAB lt OUTINTER gt NULL _ F INTERST2_PARSEGEN QUTFILETAB lt OUTINTER gt INTER IDENT MACHINE IBM OUTPUT OUTINTER XXXXX OUTINTER DIFFER MACHINE IBM OUTPUT OUTINTER XXXXX OUTINTER XXXXX OUTINTER INTERST2_PARSEGEN BUILDINTERSPERSE ININTER NNNNN OUTINTER KEYINTER KEY2INTERMRGTYPE INAME CURWSET REVERSED IN2 PARSEGEN 25 OUTLISTING OUTLISTING_ ERROR gt INVALID STATEMENT STMT IN2_PARSEGEN END J PARSEGEN STITL PRINTPAGE
7. 15 61 5 023 81 1 a INITILISE THE INPUT TABLE READAPAGE MASTERTABLE INCREMENT OPENINPUTFILES OPENIN WILL RETURN THE NAME OF THE IOVAR THAT HAS BEEN ASSICIATED WITH THE FILE OPENIN USES THE FOLLOWING EXTERNAL STUFF OPENIN_GENSYM COUNTER gt USED TO PRODUCE UNIQUE IOVARS OPENINPUTFILES gt COUNT OF FILES FOR CONTROL ALGO 8 vv v v _ gt OPTION 1 0 NONIBMCC PAGESTART _ gt PATTERN FOR START OF PAGE MACHINE INPUT_ARG 3 gt SETBYINIT MACHINE gt SUN UNIX IBM DEFINE OPENIN FILENAME IOVARNAME S NOMINUS_OPENIN FILENAME F NOMINUS_OPENIN FILENAME FILENAME OUTLISTING OUTLISTING MSG FILENAME lt FILENAME 5 BEGINS FILE DESCRIPTOR ASSUMED NOMINUS_OPENIN OPENIN DIFFER READAPAGE 1 MASTERTABLE lt FILENAME gt RAPN MASTERTABLE lt FILENAME gt S RETURN OPENIN_GENSYM lt COUNTER OPENIN GENSYM_COUNTER 1 IOVARNAME INASOCVAR OPENIN_GENSYM_COUNTER OPENIN IOVARNAME READAPAGE_MASTERTABLE lt FILENAME gt READAPAGE_NODE IOVARNAME 0 NULL IBMGC PAGESTART 0 NULL OPENINPUIFILES 1 IDENT MACHINE IBM S IBM_OPENIN OUTPUT PUT COLLECTO INPUT IOVARNAME IOVARNAME FILENAME 5 OUTLISTING OUTLISTING_MSG HAVING PROBLEMS OPENING FILE FILEN
8. HEAD2 NEXT HEAD2 DIFFER GREATER NULL EQ START OLDHEAD2 START GREATER WDENT FINISH OLDHEAD2 FINISH GREATER S SEND NEXT LESS OLDHEAD2 NEXT OLDHEAD2 GREATER SEND IDENT HEAD2 NULL F LOOOP1 STRIPHEAD TONEWLIST NEXI TONEWLIST SHAPESFROMSEGS TONEWLIST RETURN ENDSHAPESFROMSEGS STITL SIGLOOP DEFINE SIGLOOP ENDSIGLOOP SIGLOOP OUTLISTING OUTLISTING_ERROR LOOP LOOP LOOP RETURN ENDSIGLOOP STITL TRANSL DEFINE TRANSL PAGE STRI STR2 CNT ENDTRANSL aes TRANSL ENT 0 TRANSL PAGE TRANSI CNT lt CNT I gt CNT 1 F RETURN IDENI PAGE lt CNT gt BOL S RETURN PAGE lt gt REPLACE PAGE lt gt STR1 STR2 TRANS1 ENDTRANSL STITL MAIN PROGRAM _MAINPROGRAM INITIALIZE PATTERNS PARSEGEN PROCESSO END 5 023 811 ee 89 What is claimed is 1 In a data processing system producing a plurality of reports each comprising a plurality of pages each said page comprising a plurality of lines of output text data a post processor for such text data comprising means for selectively identifying two dimensional patterns of pluralities of portions of said lines of text data means for storing said patterns and means utilizing said stored patterns for processing said pages to produce modified additional reports said means for selectively identifying comprising means for generating patterns to be matched to iden tify
9. BT SPAN HBT SPANC BIN BT NULL 5 UNQALPHA UNQALPHA UNQBETA UNQALPHA UNQBETA UNQBETA Y 10 UNQBETA UNOGAMMA UNQBETA UNQGAMMA amp ANCHOR DEFAULTANCHOR DLITERAL NULL SPAN UNQALPHA 15 SLITERAL SPAN UNQALPHA ELITERAL SLITERAL DLITERAL BASEEXP SPAN UNQBETA ELITERAL ARBNO BASEEXP Y FULLEXP BASEEXP ARBNO BASEEXP 20 SMERGE SIDE HBT BY HBT SIDE OMERGE ONE HBT AFTER HBT ANOTHER LMERGE HBT BY HBT LINE ALLMERGES SMERGE OMERGE LMERGE NLITERAL BT ELITERAL 25 LLITERAL ELITERAL ARBNO NLITERAL BASEEXP1 5 ELITERAL ARBNO BASEEXP1 s BASEEXP2 BASEEXPI ENDOFDEF BTN ANY RPOS 0 VERB REPLACE BT EVERYIHING 35 45 10 15 t tet 5 023 811 65 6 REPLACE 5 REMOVE TRANSFORM NULL COMMENT COMPILETIME lt ENDTIME gt INWSTIME COORDPAIRS 2 BIN NUMBERS SVS1 BTN BIN NUMBERS SVS2 BIN NUMBERS 5 53 BIN BIN MONTHS JANUARY FEBRUARY APRIL MAY JUNE JULY AUGUST SEPTEMBER OCTOBER NOVEMBER DECEMBER CJAN
10. CNI2 1 ALLLSFP2 ALLFOUNDEND IDENT TSHAP LINES F HISTR CNT HI1 2 F NEXTMATCHPREP NEXT CURRENT SEGMENI TEMP1 1 CURRENT NEXT CURRENT TEMPI 1 HI1 HISTR IDENI TSHAP STRINGS F HIBOX NEXT CURRENT SEGMENT CNT C1 1 C2 CURRENT NEXT CURRENT NEXTMATCHPREP IDENI TSHAP BOXES F HICOL CNT 2 2 7F NEXTMATCHPREP NEXT CURRENT 1 C2 CURRENT NEXT CURRENT 1 2 HICOL IDENI TSHAP COLUMNS F BADSHAPEINALLSEGS NEXT CURRENT SEGMENT Cl 1 C2 CURRENT NEXT CURRENT 2 C3 0 lt CNI gt C1 1 1 2 S ALLFOUNDBEGIN CNT CNT 1 ALLLSFP HIRETURN ALLSEGSFROMPT DIFFER TSHAP COLUMNS NEXT HEAD S RETURN HEAD NEXT HEAD ALLSORDIT TONEWLIST SEGMENT 0 0 0 HEAD HEAD DIFFER NEXT HEAD NULL NEXT HEAD F ALLSTRIPHEAD NEXT NEXT TONEWLIST NULL ALLLOOOP1 LESS TONEWLIST GREATER NEXT TONEWLIST 35 45 10 15 20 5 023 811 13 14 ALLLOOOP IDENT GREATER NULL S ALLINSERT LTI START HEAD START GREATER S ALLINSERT LESS GREATER GREATER NEXT GREATER ALLLOOOP ALLINSERT OLDHEAD2 HEAD 4 HEAD NEXT HEAD _ DIFFER GREATER NULL EQ START OLDHEAD2 START GREATER ST
11. NEW YUCK0 10 15 20 35 45 5 023 811 25 26 ENDCOMPAIRE STITL DEBUG DEFINE DEBUG S START_DEBUG END_DEBUG START_DEBUG IDENKS ON S ON_DEBUG IDENT S S ON_DEBUG amp TRACE 0 _ amp FTRACE 0 OUTLISTING OUTLISTING_MSG DEBUGGING OFF RETURN ON_DEBUG OUILISTING OUTLISTING_MSG DEBUGGING ON amp TRACE 10000 amp FTRACE 10000 TRACE IOASOCVARI V TRACE IOASOCVARI A TRACE IOASOCVAR2 V TRACE IOASOCVAR2 A TRACE OPENINPUIFILES V RETURN END DEBUG STITL DEFSIMT DEFINE DEFSET WSET USINGS USE USEZ ENDDEFSET DEFSET USINGS BTN BASEEXP1 USE ENDOFDEF S INPUTFILE_DEFSET USINGS BIN USE ENDOFDEF 7 S WORKINGSET_DEFSET OUTLISTING OUTLISTING ERROR INVALID USING IN DEFINE STATEMENT FRETURN INPUTFILE_DEFSET USEBT USE TRIM REPLACE USE TAB BLANK lt USE gt lt USE gt USE WORKINGSET _DEFSET 2 TEMPASSO lt USE gt TEMPASSO lt USE gt 5 WSET IDENT USINGS 25 2 S RETURN F DEFSET ENDDEFSET DEFSET STITL DENDSIMT DEFINE ENDSET WSET ENDENDSET ENDSET OUTLISTING OUTLISTING MSG COLLECT 1 22 CODETAB lt WSET gt CODE NONCOMP lt WSET gt gt CURWSET NULL RETURN ENDENDSET STITL ENLARGEPAGE S DEFINE ENLARGEPAGE PAGE PROTO LOW HIGH
12. SEGMENT LEMONI1 1 CURRENT NEXT CURRENT LOOPLN COLGO FINDSEGLIST SEGMENT LEMONI LEMON2 RETURN BOXGO HEAD SEGMENI LEMONI LEMON2 LEMON4 FINDSEGLIST HEAD CURRENT HEAD LOOPBX EQ LEMONI LEMON3 S RETURN LEMONI LEMONI 1 NEXT CURRENT SEGMENT LEMON1 LEMON2 LEMON4 CURRENT NEXT CURRENT LOOPBX STRGO _FINDSEGLIST SEGMENT LEMON1 LEMON2 LEMONS RETURN ENDFINDSEGLIST STITIL DEFINECGETKEYSEG KEY PG ENDGETKEYSEG GETKEYSEG KEY COORDPAIRS F BADKEYINGETKEYSEG 5 51 DIFFER SVS2 DIFFER SVS3 F BADKEYINGETKEYSEG GETKEYSEG SUBSTR PG lt SVS1 gt SVS2 SVS2 SVS3 1 RETURN ENDGETKEYSEG STITL GETINTERPAGE ee se ENDGETINTERPAGE GETINTERPAGE IDENI HOLDPAGE lt INAME gt NULL S GETNEWONE GETINTERPAGE HOLDPAGE lt INAME gt RETURN GETNEWONE HOLDPAGE lt INAME gt READAPAGE FILE F TZ1 GETINTERPAGE HOLDPAGE lt INAME gt RETURN TZ1 IDENT ISFIRSTEOF lt INAME gt NULL F TZ2 ISFIRSTEOF lt INAME gt 5 023 81 33 34 2 HOLDPAGE lt INAME gt COPY NULLARRAY 15 35 45 10 GETINTERPAGE HOLDPAGE lt gt RETURN ENDGETINTERPAGE STITL GETSIMT I THIS ROUTINE WILL READ A STATEMENT FROM INPUT AND WILL RETURN IT _ STATEMENTS END WITH HOWEVER THERE IS CURRENTLY ONLY ONE
13. 15 20 35 45 10 15 5 023 811 57 58 DEFINE NOTNULLPG PG CNT NOTNULLPG 2 amp ANCHOR 1 IDENI PG NULL S FRETURN IDENT PG lt 1 gt BOL S FRETURN CNT 1 CHECK lt CNT gt NULL F RETURN 2 lt CNT gt F FRETURN CNT CNT 1 CHECK ENDNOTNULLPG STITL NOTSEGS DEFINE NOTSEGS HEAD CNTR CURRENT NEWCURRENT ENDNOTSEGS NOTSEGS NOTSEGS IDENT HEAD NULL 5 1 2 SCRETURN NOTSEGS IDENT LINEN HEAD IDENT START HEAD 1 NULL S RETURN CURRENT HEAD CNTR 0 NEWCURRENT SEGMENT 0 0 0 NEWHEAD NEWCURRENT 7 NSO IDENI LINEN CURRENT _S NOTRESTOFLINES NSOA CNIR CNIR 1 USE TO IDENI LINEN CURRENT CNIR F WHOLELINE EQ LINEN CURRENT CNTR F WHOLELINE NEXT NEWCURRENT EQ START CURRENT 1 SEGMENT LINEN CURRENT 1 START CURRENT 1 F NS1 NEWCURRENT NEXT NEWCURRENT NS1 NEXI NEWCURRENT DIFFER FINISH CURRENT DIFFER NEXT CURRENT NULL IDENT LINEN NEXT CURRENY LINEN CURRENT SEGMENT LINEN CURRENT FINISH CURRENT 1 START NEXT CURRENT 1 F NS2 NEWCURRENT NEXT NEWCURRENT CURRENT NEXT CURRENT NS1 52 NEXT NEWCURRENT DIFFER FINISH CURRENT DIFFER NEXT CURRENT NULL DIFFER LINEN NEXT CURRENT LINEN CURRENT SEGMENT LINEN CURRENT FINISH CURRENT 1 gt
14. CHOOSE S RETURN PAGE lt 1 gt IDENI CURRENT NULL BOL SCRETURN REMOVE CODE 101 102 S RMRESTOFLINES MUSHCURI MUSHSTACK LINEN CURRENT START CURREND FINISH CURRENT NEXLE CURRENT DIFFER NEXT CURRENT NULL EQ LINEN CURRENT LINEN NEXT CURRENTD NEXI CURRENT F DESTACK MUSHCUR2 MUSHSTACK LINEN CURRENT START CURREND FINISH CURRENT NEXTY MUSHCUR2 MUSHCUR MUSHCURI MUSHCUR2 NEXLE DESTACK CURRENTLY MUSHCUR1 DEST10 IDENT FINISHY CURRENTLY F RMNUMNUM PAGE lt LINENY CURRENTLY gt EQ STARTY CURRENTLY 1 NULL SCRMNEXX lt LINENY CURRENTLY gt POS STARTY CURRENTLY 1 REM RMNUMNUM PAGE lt LINENY CURRENTLY gt POS STARTY CURRENTLY 1 LEN FINISHY CURRENTLY STARTY CURRENTLY 1 RMNEXX CURRENTLY DIFFER NEXTY CURRENTILY NULL NEXTY CURRENTLY 5 0 LASTLINE LINENY CURRENTLY CURRENT DIFFER NEXT CURRENT NULL F XRETURN S LO2 RMRESTOFLINES TEMPLINE PAGE lt LASTLINE 1 gt NULL F XRETURN IDENT PAGE lt LASTLINE 1 gt BOL S XRETURN PAGE lt LASTLINE 1 gt EQ START CURRENT 1 IDENT FINISH CURRENT BOL S XRETURN CNTR LASTLINE MUSHCURI MUSHSTACK LINEN CURRENT START CURRENT FINISH CURRENT NEXLE2 CURRENT DIFFER NEXT CURRENT NULL 50 10 15 35 45 5 023
15. DEFINE PRINTPAGE PTR DD CCVAL CCTOP COUNTER CC ENDPRINTPAGE CCVAL IDENT IBMCC 1 1 2 CUUNTER 1 IDENT PTR NULL SCRETURN NEXTOUT IDENT PTR lt COUNTER gt BOL 00 lt gt CC IDENT IBMCG 1 COUNTER PTR lt COUNTER 1 gt COUNTER 1 S NEXTOUT F RETURN ENDPRINIPAGE PROCESS PROGRAM DEE 55 PROCESS OCESS GENERATE FINAL END IF NECESSARY 55 IDENT CURWSET S INIT_CODE_PROCESS OUTLISTING OUTLISTING_MSG FINAL END GENERATED _ ENDSET CURWSET 10 15 35 45 5 023 811 77 78 PEFORM INITIAL CODE IF ANY INIT_CODE_PROCESS COMPINITCODE_ PROCESS DIFFER INITCODE NULL CODE INITCODE PREPARE_PROCESS S lt COMPINITCODE_PROCESS gt PREPARE CONTROL ARRAY FOR PROCESSING a PREPARE_PROCESS CONVERT INPUTTAB ARRAY T 1 OPEN_PROCESS lt L1 gt I 2 INPUTARRAY lt I 1 1 gt 1 1 S OPEN_PROCESS OUIPUT PUT INPUTARRAY lt s 1 1 gt OUTPUT PUI OPENINPUIFILES 0 START READING PROCESS LE OPENINPUIFILES 0 SS ENDCODE PROCESS J I 1 IDENT DEFAULTREAD ROUNDROBIN SCROUNDCODE_PROCESS GI LMAXFILE S PASSEOFPRE_PROCESS INPUTARRAY lt 1 1 gt F PASSEOFPRE E PROCESS IDENT INPUTARRAY lt 1 1 gt NULL
16. OLDHIGH 10 15 20 35 45 27 5 023 811 28 CNT END_ENLARGEPAGE ENLARGEPAGE PROTO PROTOTYPE PAGE PROTO LOW NUMBER OLDHIGH RPOS 0 HIGH CONVERT HIGH 1 5 INTEGER LI HIGH PAGESIZE 10 5 OUTLISTING OUTLISTING_MSG 5 SIZE EXAUSTED ENLARGING PAGES FROM OLDHIGH 10 HIGH 10 _NULLARRAY ARRAY LOW HIGH NULLARRAY lt I gt BOL COPY NULLARRAY EOFARRAY lt 0 gt EOF PAGESIZE HIGH 10 GO_ENLARGEPAGE 7 ENLARGEPAGE COPY NULLARRAY LOOP_ENLARGEPAGE ENLARGEPAGE lt CNT gt PAGE lt CNI gt CNT DIFFER ENLARGEPAGE lt BOL CNT 1 S LOOP_ENLARGEPAGE F RETURN END ENLARGEPAGE STITL FILEROUTINE FILEROUTINE S DEFINE FILEROUTINEQTUPIN FILEROUTINE FILEROUTINE NEWPAGE _FILEROUTINE CURRENT FILENAME TUPIN INPUTARRAY lt 11 gt LIST OF DEPENDENTS FOR CURRENT FILE LIST2OFDEP TEMPASSO lt TUE 6 IF I AM READING NON ROUNDROBIN CALL READAPAGE IF I AM READING ROUNDROBIN CALL READORNULL amp IDENT DEFAULTREAD ROUNDROBIN S ROUNDROB1_FILEROUTINE PAGE READAPAGE READIIMM TUPIN PAGE READAPAGE TUPIN 225222 9 SECRETURN S ROUNDR2_ FILEROUTINE ROUNDROBL 1 FILEROUTINE PAGE READORNULL TUPIN BUMP PAGECNT ROUNDR2_FILEROUTINE PAGECNT PAGECNT 1
17. STATEMENT PER LINE THE INPUT IS WRITTEN A LISTING FILE 0 SIMT_NUMBER 0 DEFINE GETSTMT STARTPOS SEMIPOS C1 C2 LINE END_GETSIMT GETSTMT GETSIMT GETSIMT_STMT_NUMBER GETSIMT_SIMT_NUMBER 1 S2 CONT STARTPOS 0 LINE INPUT F FRETURN LINE DIFFER TRIMSIMT NULL SUBSTR LINE 1 TRIMSTMT GETSIMT_LINE_NUMBER GETSIMT NUMBER 1 OQUTLISTING LPAD GETSTMT_LINE_NUMBER 5 LPAD GETSIMT_SIMT_NUMBER 7 LINE GETSIMT IDENI GETSIMT NULL LINE F CONTILIN_GETSIMT GETSIMT POS 0 S RETURN F MATCHIT_GETSTMT CONTILIN GETSTMT GETSTMT LINE GETSIMT BREAK SEMIPOS GI SEMIPOS STARTPOS F NEXTLIN_GETSTMT GETSIMT ELITERAL C2 GT C2 SEMIPOS LT C1 SEMIPOS F RETURN_GETSIMT _ STARTPOS SEMIPOS MATCHIT_GETSTMT RETURN _GETSIMT GETSIMT SUBSTR GETSTMT 1 SEMIPOS RETURN END_GETSIMT STITL GRABCLOUD DEFINE GRABCLOUD PAGE PAT CLOUDTEMP IC PGS ENDGRABCLOUD GRABCLOUD amp ANCHOR DEFAULTCLOUDPATANCHOR IC 1 IDENT PAGE lt NULL S OUTLINE3 NLINE3 PGS PGS BOL IC BOL PAGE lt IC gt IDENT PAGE lt IC gt BOL S OUTLINE3 PAGE lt IC gt F OUTLINE3 IC 1 1 NLINE3 OUTLINE3 15 35 245 10 15 5 023 811 35 36 PGS CLOUDTEMP amp ANCHOR DEFA
18. 5 i LABCNT LABCNT 1 RETURN ENDBUILDINTERSPERSE STITL COMPAIRE DEFINE CCOMPAIRE NEW OLD DIFFDD CNAME CNT HEAD CURRENT SIGGY ARY x ENDCOMPAIRE COMPAIRE lt CNAME gt MAXCOMPARES F RETURN SET HEAD TO POINT TO A NULL ELEMENT HEAD DIFFLINES Q NULL 000 4 CNT 0 SET CURRENT TO HEAD CURRENT HEAD ASSUMES ARRAYS THE SAME SIZE YOCKLOOP 35 ARE WE OUT OF LINES IE SO PRINT NEW lt CNT I gt OLD lt CNT I gt S YUCKPRIND IF WE ARE OUT OF EITHER PRINT NEW lt CNT 1 gt SCYOLDONLY OLD lt CNT 1 gt S YNEWONLY 1 ARE WE AT BOTH ENDS IF SO PRINT ae 45 10 15 35 45 amp 5 023 811 23 24 _ JDENT NEW lt CNI gt BOL IDENT OLD lt BOL S YUCKPRINT ARE WE AT EITHER END IF SO PRINT IDENT NEW lt CNT gt BOL S YOLDONLY IDENI OLD lt BOL S YNEWONLY COMPARE A LINE IF THE SAME GO TO NEXT LINE LOOP IDENT TRIMCOMPARE YES IDENTI TRIM NEW lt CNT gt TRIM OLD lt CNT gt SCYUCKLOOP DIFFER TRIMCOMPARE YES _ IDENI NEW lt CNI gt OLD lt CNI gt 5 LINES ARE DIFFERENF ADD THE LINE NO TO THE LIST SET THE CURRENT TO THE LATEST ELEMENT NEXTDIFF CURRENT DIFFLINES CNT NULL CURRENT NEXTDIFF CURRENT YUCKLOOP YOLDONLY ONLY THE OLD IS LEFT SET ALL ITS LINES TO DIFFERENT NEXTDIFF CURRENT DIF
19. S PASSEOFPRE_PROCESS F CALLFILEROUT_PROCESS ROUNDCODE PROCESS I GI I MAXFILE 1 I INPUTARRAY lt 1 1 gt 1 I IDENI INPUTARRAY lt L1 gt NULL 1 0 CALLFILEROUT_PROCESS FILEROUTINEQ START_READING PROCESS IF END OF PROCESSING MAY HAVE BEEN REACHED DURING NON ROUNDROBIN PROCESSING PASSEOFPRE_PROCESS I 1 DEFAULTREAD ROUNDROBIN PASSINGEOFS KEEP LOOPING UNTIL ALL FILES ARE CLOSED PASSEOF PROCESS FILEROUTINEQ LE OPENINPUIFILES 0 S ENDCODE_PROCESS I LI MAXFILE INPUTARRAY lt I 1 1 gt DIFFER INPUTARRAY lt 1 1 gt NULL 1 1 S PASSEOF PROCESS I 1 PASSEOF PROCESS DO END OF PHASER PROGRAM CODE ENDCODE 1 PROCESS COMPENDCODE 1 PROCESS DIFFER ENDCODE NULL 5 10 15 35 5 023 811 79 80 CODE ENDCODE RETURN S lt COMPENDCODE_PROCESS gt F RETURN ENDPROCESS_PROCESS STITL PUT PUT S PUT S lt EVAL S gt RETURN END PUT STITL READAPAGE READAPAGE S READAPAGE FILENAME READAPAGE WILL RETURN THE NEXT PAGE FROM THE FILENAME FILE THE FILES ARE INDEXED IN A TABLE BY THE FILENAME S IF PRIOR EOF THEN IT WILL FRETURN OTHERWISE IT RETURNS THE PAGE THE FOLLOWING GLOBALS ARE USED READAPAGE MASTERTABLE gt TABLE OF DATASTRUCTURES READAPAGE NODE ONE PER FILE SET IN OPENIN OPENINPUTFILES gt NUMBER OF CURRENTLY OPEN FILES DECREMENTED HERE INCREMENT
20. lt CNT I gt CNT 1 F RETURN IDENI PAGE lt CNT gt BOL S RETURN PAGE lt CNI gt PTT P2 F NEXCN NEXT CURRENT 1 1 P2 CURRENT NEXT CURRENT PAGE lt CNI gt PIT P2 GT P1 TEMP1 F NEXCN TEMP 17 FINISH CURRENT LE P1 FINISH CURREND GI P2 FINISH CURRENT P2 S NEXJN LE P1 EINISH CURRENT LE P2 FINISH CURRENT S NEXJN NEXT CURRENT SEGMENI CNEP1 1 P2 CURRENT NEXT GURRENT NEXJN ENDFINDOCCURSEGS 2 STITL FINDSEGLIST DEFINE FINDSEGLIST SHAPE HEAD CURRENT LEMON1 LEMON2 LEMON3 LEMON ENDFINDSEGLIST FINDSEGLIST 15 35 45 n 8 5 023 811 31 32 5 SHAPE NUMPAT F LIME1 IDENT NTSHAP LINES S LINEGO IDENT NISHAP COLUMNS S COLGO F LIME2 LIME1 SHAPE COOPAT F LIME2 IDENT CTSHAP BOXES S BOXGO IDENT CISHAP STRINGS S STRGO F LIME2 LIME2 OUTLISTING OUTLISTING ERROR INCORRECT SEGLIST SPEC RETURN BLOCKGO SEGM COORDPAIRS F MALFORMEDSEGLIST HEAD SEGMENT SVS1 SVS2 SVS3 FINDSEGLIST HEAD CURRENT HEAD LOOPBL SEGM COORDPAIRS F RETURN NEXT CURRENT SEGMENT SVS1 SVS2 S S3 CURRENT NEXT CURRENT LOOPBL LINEGO HEAD SEGMENI LEMON1 1 OUTPUT AT LINEGO LEMONI 1 FINDSEGLIST HEAD CURRENT HEAD LOOPLN EQ LEMONI LEMON2 S RETURN LEMONI LEMONI 1 NEXT CURRENT
21. page 15 As suggested by the text between the pages 15 7 the appearance of the characters o r i g i n in window 15 causes the contents France of window 19 in the upper right hand corner of page 16 to be changed to Italy in 5 023 811 5 _ window 19 of page 17 This type of pattern recognition and conditional pattern changing is only typical of the phaser processing system 13 of the present invention Virtually any other type of two dimensional processing is possible The general types of analysis actions available in the phaser system are replace choose remove and replace everything but Combinations of these four basic ac tions provide virtually universal flexibility in decom posing paginated output Similarly the general catego ries of objects upon which these actions can be taken are virtually universal Thus the replace choose remove and replace everything but actions can be applied to pages lines columns strings boxes like windows 19 in FIG 2 blocks lists of strings not necessarily contigu ous and clouds entire pages treated as one continu ous string for SPITBOL pattern searches SPIT BOL patterns are described for example in SPITBOL 68K Program Reference Manual by R B K Dewar Catspaw Inc Salida Colo 1987 SPITBOL is a dia lect of the SNOBOL language described in The SNO BOL4 Programming Language R E Griswold et al Prentice Hall Englewood Cliffs N J 2nd E
22. 1 gt portion of the input text if the lt object2 gt portion of the input text meets the specifications of the where clause 5 replace lt objectl gt with lt string gt where lt ob ject2 gt lt contain phrase gt lt pattern gt The current text set will have the lt object1 gt portion of the input text replaced with repetitions of the with string only if and only if the lt object2 gt portion of the input text meets the specifications of the where clause replace everything but lt objectl gt with lt string gt where lt object2 gt lt contain phrase gt lt pattern gt The current text set will have everything in the input text set but the lt objectl gt portion of the input text replaced with the with string if and only if the lt ob ject2 gt portion of the input text meets the specifica tions of the where clause 7 merge lt mergetype gt lt mergeobjectl gt lt mergeob ject2 gt Merge successive pairs of plane objects pages from files or from working sets side by side one after another or line by line mergetypes Plane objects may be the current working set plane con tents a plane read from a file or a remembered plane 8 pad on the lt direction gt with lt number gt lt string gt Add lt number gt copies of lt string gt on the lt direction gt side of the current working set plane The direction is right or left remember as lt name gt Save a copy of the contents of the cur
23. 2 OUTLISTING OUILISTING DUPL 17 PHASER PAGE HANDLING ANALYZER SYNTHESIZER OUTLISTING s 5 DATACSEGMENT LINEN START FINISH NEXT DATACMUSHSTACK LINENY STARTY FINISHY NEXTY 35 10 15 39 5 023 811 40 DATA DIFFLINES VALUE NEXTDIEF MAGICNUM amp MAXLNGTH 1 NULLARRAY 02 PAGESIZE 10 NULLARRAY lt 1 gt BOL EOFARRAY 0 5 EOFARRAY lt 1 gt BOL y EOFARRAY lt 0 gt EOF PAGECNT 1 RETURN INITIALIZEEND g DEFINE INTERSPERSE INTERID PAGE FILEPAGE NEWDD KEY KEY2 TYPE REVERSED TEMPPAGE ENDINTERSPERSE INTERSPERSE tty tt IDENT PAGE lt 1 gt BOL IDENT FILEPAGE lt 1 gt BOL S RETURN _ IDENT PAGE lt 1 gt BOL PRINTPAGE FILEPAGE NEWDD S RETURN IDENI FILEPAGE lt 1 gt BOL PRINTPAGE PAGE NEWDD S RETURN KEYPAGE GETKEYSEG KEY PAGE KEYFILEPAGE GETKEYSEG KEY2 FILEPAGE IDENI KEYPAGE KEYFILEPAGE F INTERSPERSE1 IDENT REVERSED REVERSED S INTERSPERSE0 MATCH SMERGE TYPE PRINIPAGE MRGSIDEBYSIDE COPY PAGE COPY FILEPAGE NEWDD S CLEARBUFF TEMPPAGE MATCH LMERGE TYPE PRINTPAGE MRGEINEBYLINE COPY PAGE COPY FILEPAGE NEWDD S CLEARBUFF TEMPPAGE MATCH OMERGE TYPE PRINTPAGE MRGONEAFTER COPY PAGE COPY FILEPAGE NEWDD CLEARBUFF INTERSPERSE0 MATCH SMERGE TYPE PRINIPAGE
24. 811 49 50 NEXT CURRENT F NEWLYN MUSHCUR2 MUSHSTACK LINEN CURRENT START CURRENT FINISH CURRENT NEXTY MUSHCUR2 MUSHCURI MUSHCUR2 NEXLE2 5 NEWLYN CNTR lt CNTR 1 gt CNTR 1 F XRETURN IDENT PAGE lt CNTR gt BOL S XRETURN 4 CURRENTLY MUSHCURI SAMELIN IDENT FINISHY CURRENTLY 2 PAGE lt CNIR gt POS STARTY CURRENILY 1 1021 PAGE lt CNIR gt POS STARTY CURRENTLY 1 LEN FINISHY CURRENTLY STARTY CURRENTLY 1 1021 CURRENTLY DIFFER NEXTY CURRENTLY NULL NEXTY CURRENILY F NEWLYN S SAMELIN CHOOSE CODE CHOV IDENT VRB CHOOSE F REPLC CNTR lt I gt 1 F RETURN IDENT PAGE lt CNTR gt BOL S RETURN CHO2 IDENT LINEN CURRENT S CHRESTOFLINES EQ CNTR LINEN CURRENT TEMPLINE lt CNTR gt PAGE lt CNIR gt NULL DESTI IDENTI FINISH CURRENT F ICHL3 PAGE lt LINEN CURRENT gt EQ START CURRENT 1 PAGE lt LINEN CURRENT gt TEMPLINE ICHL2 PAGE lt LINEN CURRENT gt PAGE lt LINEN CURRENT gt SUBSTR TEMPLINE START CURRENT ICHL2 ICHL3 PAGE lt LINEN CURRENT gt PAGE lt LINEN CURRENT gt SUBSTR TEMPLINE START CURRENT FINISH CURRENT START CURRENT 1 2 LASTLINE LINEN CURRENT CURRENT DIFFER NEXT CURRENT NULL NEXT CURRENT F HIT IDENT LAS
25. AME OUIPUT HAVING PROBLEMS OPENING FILE FILENAME INPUT IOVARNAME IOVARNAME FILENAME 5 RAPN EOF READAPAGE_MASTERTABLE lt FILENAME gt EOF OPENINPUTFILES OPENINPUTFILES 1 OUTLISTING OUTLISTING_ERROR CANT OPEN FILE FILENAME OUTPUT ERROR CANT OPEN FILE FILENAME FRETURN IBM_OPENIN INPUT IOVARNAME FILENAME F BADOPEN lt OPENIN RETURN OUTLISTING OUTLISTING MSG OPENED FILE FILENAME OUTPUT OPENED FILE FILENAME RETURN END_OPENIN STITL PADIT DEFINE PADIT PAGE STR WHERE COUNT CNT 5 023 811 63 64 CENDPADIT 25 PADIT CNT 0 PADIT PAGE PADITI lt CNT 1 gt CNT 1 F RETURN IDENT PAGE lt S RETURN 30 PAGE lt CNI gt IDENI WHERE RIGHT PAGE lt CNT gt DUPL STR COUNT S PADITI PAGE lt IDENI WHERE LEFT DUPL STR COUNT PAGE lt PADITI _ ENDPADIT 35 STITL PATTERNS DEFINE PATIERNS ENDPATTERNS PATTERNS amp 0 ALPHA ABCDEFGHIJKLMNOPQRSTUVWXYZ 40 UNQALPHA amp DIGITS 70123456789 NUMBER SPAN DIGITS NUMBERS NUMBER NAME ANY ALPHA SPAN DIGITS ALPHA NULL 45 WORD SPAN DIGITS ALPHA FILEWORD SPAN DIGITS ALPHA BLANK IDENT MACHINE IBM SUBSTR amp ALPHABET 6 1 DIFFER MAGHINE IBM SUBSTR amp ALPHABET 10 1
26. DEN CSA S ALLSEND gt NEXT LESS OLDHEAD2 gt NEXT OLDHEAD2 GREATER ALLSEND IDENI HEAD NULL F ALLLOOOP1 ALLSTRIPHEAD TONEWLIST NEXT TONEWLIST ALLSEGSFROMPT TONEWLIST RETURN ENDALLSEGSFROMPT BUILDCODE DEFINE BUILDCODE WS VRB SH1 EVB SH2 WTH CNT PTT TVRB BASE RNGFROM RNGTO SAVE1 SAVE2 CLOUDPAT2 CLOUDPAT ENDBUILDCODE BULLDCODE IF SHAPE2 THEY THEN SHAPE2 5 1 2 IDENT SH2 THEY SHI IF YRB REPLACE EVERYTHING BUT THEN VRB REB VRB MATCH BTN REPLACE IF VRB IS TRANSFORM EVERYTHING BUT THEN VRB VRB MATCH BIN TRANSFORM BT EVERYTHING VRB OUTLISTING DIFFER VRB TRANSFORM DIFFER VRB TEB OUTLISTING_ERROR TRANSFORM NOT FULLY SUPPORTED YET IF SHAPE1 IS A SINGLE PATTERN BUT NOT CLOUD BASE MATCH PATPAT SH1 MUSHBYSEGS VRB WTH PAGE OPIM SEGSFROMPT SHI PAGE S TWO IF SHAPE1 IS AN EVERY PATTERN BUT NOT A CLOUD BASE MATCH EPATPAT SH1 MUSHBYSEGS VRB WTH SHI PAGE sS TWO 5 115 A CLOUD BASE MATCH CPATPAT SH1 MUSHCLOUD VRB WTH PAGE CLOUDPAT S TWO IF SHAPE1 IS A PAGE RANGE BASE MATCH PAGERNGPAT SH1 MUSHRANGE VRB WIH PAGE RNGFROM
27. DMRG4_BUILDMERGE OBJ2 BIN NEWNAME2 BIN i F BLDMRG3_BUILDMERGE NEWOBJ2 READORNULL NEWNAME2 IDENT NONUSINGINS lt NEWNAME2 gt NULL 1K BLDMRG4 BUILDMERGE NONUSINGINS lt NEWNAME2 gt MERGE PAGETAB lt NEWNAME2 gt COPY NULLARRAY OPENIN NEWNAME2 BLDMRG4_BUILDMERGE 45 5 023 811 21 22 BLDMRG3_BUILDMERGE 2 NAME NEWNAME 2_ NEWOBJ2 COPY REMEMBERY lt NEWNAME2 gt BLDMRG4_ BUILDMERGE NONCOMP lt WS gt MATCH LMERGE TYPE NONCOMP lt WS gt PAGE EMPTYCLAUSE gt MRGLINEBYLINE NEWOBIJI NEWOBJ2 S RETURN NONCOMP lt WS gt MATCH SMERGE TYPE NONCOMP lt WS gt PAGE EMPTYCLAUSE gt MRGSIDEBYSIDE NEWOBJ2 _ S RETURN NONCOMP lt WS gt MATCH OMERGE TYPE NONCOMP lt WS gt PAGE EMPTYCLAUSE gt MRGONEAFTER NEWOBJ1 NEWOBJ2 7 r S RETURN OUTLISTING OUTLISTING_ERROR BAD TYPE IN BUILDMRG END_BUILDMERGE STITL _ BUILDINTERSPERSE DEFINE BUILDINTERSPERSE INDD OUIDD KEY KEY2 TYPE INAME INAME WS REVERSED 10 15 ENDBUILDINTERSPERSE BUILDINTERSPERSE i FOR HOLDPAGE NONCOMP lt WS gt NONCOMP lt WS gt GENLAB INTERSPERSE INTERSPERSE INAME PAGE GETINTERPAGE INDD w OUIDD KEY KEY2 TYPE REVERSED F GENLAB LABCNT
28. ED IN OPENIN BOL gt END OF PAGE MARKER NULLPAGE gt AN EMPTY PAGE PAGESIZE gt MAX PAGE SIZE READAPAGE NODE gt DATASTRUCTURE WITH FIELDS RAPN_IOVARNAME gt NAME OF INPUT ASSOCIATED VARIABLE RAPN_PAGENO gt CURRENT PAGE NUMBER RAPN_LINE gt LINE BUFFER FOR PAGE OVERFLOW gt ISIBMCC ON OR OFF RAPN_PAGESTART gt PATTERN FOR START OF PAGE RAPN BLANKCOUNT gt NUMBER OF BLANK LINES IN BUFFER t amp RAPN_EOF gt IF NON NULL THEN PRIOR EOF DEFINE READAPAGE FILENAME RAPN LINE CC LINENO JOVARNAME PAGESTART BUFF BLANKCOUNT END_READAPAGE READAPAGE RAPN READAPAGE MASTERTABLE lt FILENAME gt IDENT RAPN F OKTABLEENT_READAPAGE OUTLISTING OUTLISTING_ERROR INTERNAL ERROR ATTEMPT TO READ FROM FILENAME FILENAME FILE NOT OPENING OPENIN FILENAME READAPAGE OKTABLEENT_READAPAGE PAGESTART RAPN PAGESTART RAPN BUFF RAPN_LINE RAPN BLANKCOUNT RAPN_BLANKCOUNT RAPN READAPAGE COPY NULLARRAY RAPN_IOVARNAME RAPN READLOOP F READAPAGE READLOOP LINE GI BLANKCOUNT 0 BLANKLINE BLANKCOUNT BLANKCOUNT 1 TESTSTART_READAPAGE NOTBLANK_READAPAGE IDENT RAPN_EOF RAPN F FRETURN 10 15 35 45 10 5 023 811 81 82 LINE DIFFER BUFF BUFF F FR
29. ENT S STFINIS PAGE lt LINEN CURRENT gt ST PATT FN EQ ST 1 START CURRENT EQ FN FINISH CURRENT S RETURN F MNEXT1 STFINIS PAGE lt LINEN CURRENT gt ST PATT FN EQ ST 1 START CURREND EQ FNSIZE PAGE lt LINEN CURRENT gt S RETURN LASTLINE LINEN CURRENT CURRENT DIFFER NEXT CURRENT NULL NEXT CURRENT S MNEXT F FRETURN ALLLINE CNTR lt CNTR 1 gt LASTLINE 1 F FRETURN lt gt BOL S FRETURN ALLLIN3 IDENT FINISH CURRENT S STFINI2 PAGE lt CNIR gt ST PATT FN EQ ST 1START CURRENT EQ FN FINISH CURRENT SCRETURN F MNEXT2 2 PAGE lt CNIR gt ST PATT FN EQ ST 1 START CURRENT EQ FN SIZE PAGE lt CNTR gt S RETURN MNEXT2 CNTR lt CNTR I gt CNIR 1 F FRETURN IDENT PAGE lt gt BOL S FRETURN F ALLLIN3 ENDMATCHSEGS 35 45 10 15 20 35 023 811 43 44 STITL MATCHWHOLEPAGE DEFINE MATCHWHOLEPAGE PATT PAGE CNIR ENDMATCHWHOLEPAGE MATCHWHOLEPAGE amp ANCHOR 0 CNTR 1 NEWL PAGE lt CNIR gt PATT S RETURN IDENT PAGE lt CNTR gt BOL S FRETURN CNIR CNIR 1 NEWL ENDMATCHWHOLEPAGE STITL MRGLINEBYLINE DEFINE MRGLINEBYLINE PAGE1 PAGE2 COUNT1 COUNT2 BIGCOUNT END_MRGLINEBYLINE MRGLINEBYLINE MRGLINEBYLINE NOTNULLPG PAGE1 NOTNULLPG PAGE2 COPY NULLARRAY S RETUR
30. FER VRB REPLACE MUSHBYSEGS OPPVRB lt VRB gt WTH PAGE OPIM SHAPESFROMSEGS SHI FINDOCCURSEGS PIT PAGE S RETBASE IF SHAPE1 IS DEFERRED SHAPE2 SHAPE CONT IS NOT CONTAINS AND VERB IS REPLACE BASE MATCH DEFERPAT RPOS 0 SH1 IDENT SH1 SH2 DIFFER CNT CONTAIN IDENT VRB REPLACE MUSHBYSEGS REPLACE WTH PAGE NOTSEGS OPIM SHAPESFROMSEGS SHI FINDOCCURSEGS S RETBASE IF SHAPE1 IS SEGMENTED SEGTAB lt SEG LABCNT gt DIFFER VRB REB DIFFER VRB TEB OPTM FINDSEGLIST SH1 S ONEO lt LABCNT gt NOTSEGS OPTM FINDSEGLIST SH1 VRB TVRB IDENT VRB REB REPLACE TVRB IDENI VRB TEB TRANSFORM 7 b 45 10 15 20 5 023 811 17 18 BASE 5 5 TVRB WTH PAGE SEGTABK lt SEG LABCNT gt LABCNT LABCNT 1 TWO TWO 47 5 215 NULL IDENI SH2 NULL 5 IF SHAPE2 IS A SINGLE PATTERN BUT NOT CLOUD BASE DIFFER EVB NULL MATCH PATPAT SH2 PIT NOTSEGS OPTM SEGSFROMPT 2 NC BASE S THREE BASE MATCH PATPAT SH2 MATCHSEGS PTT OPTM SEGSFROMPT SH2 PAGE PAGE NC BASE S THREE IF SHAPE2 IS AN EVERY PATTERN BUT NOT A CLOUD BASE DIFFER EVB NULL MATCH EPATPAT SH2 MATCHSEG
31. FLINES CNT NULL CURRENT NEXTDIFF CURRENT CNT 2 OLD lt CNT 1 gt CNT 1 F YUCKPRINT IDENT OLD lt CNT gt BOL S YUCKPRINT F YOLDONLY YNEWONLY ONLY THE NEW IS LEFT SAME NOTE AS ABOVE NEXTDIFF CURRENT DIFFLINES CNT NULL CURRENT NEXTDIFF CURBENT 2 NEW lt CNT 1 gt CNT 1 F YUCKPRINT IDENT NEW lt CNT gt BOL S YUCKPRINT F YOLDONLY YUCKPRINT TIME TO PRINT IF WE ONLY HAVE ONE ELEMENT RETURN IDENT NEXTDIFF HEAD NULL S RETURN BUMP FAILING PAGE COUNT lt CNAME gt COMPAIRETAB lt CNAME gt 1 IF NO IBMCC PRINT OLD AND NEW PAGES BEGINNING OF CODE TO BE DELETED BEFORE OLD PRINTPAGE OLD DIFFDD SDIFFDD OLD PAGE AND BEFORE NEW PAGE PRINTPAGE NEW DIFFDD SDIFFDD AFTER NEW PAGE S RETURN END OF CODE TO BE DELETED DIFFER IBMCC 1 PRINTPAGE OLD DIFFDD gt FORMFEED gt 9 PRINTPAGE NEW DIFFDD lt FORMFEED lt S RETURN IF IBMCC PRINT om AND NEW WITH UNDERLINING ARY YUCKO CURRENT NEXTDIFF HEAD CNT 0 CNT ARY lt b gt CNT 1 0 2 IDENT ARY lt CNT gt BOL S YUCK2 DIFFDD EQ CNT J 71 ARY lt CNT gt GDIFFDD EQ CNT 1 ARY lt CNT gt EQ VALUE CURRENT CNT F YUCK1 CURRENT DIFFER NEXTDIFF CURRENT NULL NEXTDIFF CURRENT DIFFDD UNDERLINE YUCKI YUCK2 DIFFER SIGGY pu S RETURN SIGGY 1 ARY
32. GFROM BIN HBT NUMBER BIN BIN NUMBER RNGTO BIN NUMPAT NUMSHAPES NTSHAP BT FROM HBT NUMBER BIN BIN NUMBER BT TO HBT NUMBER BINNUMBER LEMON2BIN Y 7 PATPAT PATSHAPES TSHAP HBT PATTERN BTN BTN FULLEXP P1 BIN 35 45 10 15 35 e e eet het Ht te 5 023 811 67 68 BIN BIN FULLEXP P2 BIN Y EPATPAT PATSHAPES TSHAP BT FROM HBT EVERY HBT PATIERN BTN BIN FULLEXP P1 BIN BT TO HBT EVERY HBT PATTERN BIN FULLEXP P2 BIN COOPAT COOSHAPES CTSHAP BT FROM HBT COORD BIN BIN NUMBER LEMON BTN BIN NUMBER LEMON2 BIN TO HBT COORD BTN BIN NUMBER LEMON3 BIN BIN NUMBER LEMON4 BLOCKPAT BLOCKS BT SEGMENTS BIN BIN COORDPAIRS ARBNO COORDPAIRS SEGM BIN CLOUDS PATTERN BIN FULLEXP CLOUDPAT BIN i WHEREPAT WHERE WHEN BASESHAPE THE ABOVE QUALIFIEDS BASESHAPE COOPAT BLOCKPAT 1 BASESHAPES DEFERREDS PAGERNGPAT 1 BASESHAPE DEFERPAT PAGERNGPAT SHAPE2 ALL OF THE ABOVE PLUS THEY SHAPE
33. IDE IDENT PAGE2 IDENI PAGE1 COPY NULLARRAY S RETURN MRGSIDEBYSIDE IDENT PAGE2 1 MRGSIDEBYSIDE IDENT PAGE1 2 SCRETURN MRGSIDEBYSIDE IDENT PAGEI lt 1 gt BOL COPY PAGE2 S RETURN MRGSIDEBYSIDE 2 lt 1 gt BOL COPY PAGE1 S RETURN MRGSIDEBYSIDE IDENT PAGE1 lt 0 gt IDENT PAGE2 lt 0 gt EOF COPY EOFARRAY S RETURN CNT 0 MRGSIDEBYSIDE COPY PAGE1 MRGSIDEBYSIDE lt 0 gt NULL PHASE1 MRGSIDEBYSIDE CNT CNT 1 MRGSIDEBYSIDE MRGSIDEBYSIDE lt CNT gt ENLARGEPAGE MRGSIDEBYSIDE IDENT MRGSIDEBYSIDE lt CNT gt BOL 5 5 2 MRGSIDEBYSIDE IDENT PAGE2 lt CNI gt BOL MRGSIDEBYSIDE lt CNI gt MRGSIDEBYSIDE lt PAGE2 lt CNI gt S PHASE1_MRGSIDEBYSIDE 2 MRGSIDEBYSIDE MRGSIDEBYSIDE lt CNT gt 2 lt 45 10 15 35 45 5 023 811 47 48 IDENI PAGE2 lt gt BOL S RETURN CNT CNT 1 MRGSIDEBYSIDE MRGSIDEBYSIDE lt CNT gt ENLARGEPAGE MRGSIDEBYSIDE PHASE2 MRGSIDEBYSIDE END_MRGSIDEBYSIDE STITL MUSHBYSEGS DEFINE MUSHBYSEGS VRB WTH PAGE HEAD LASTLINE CNTR MUSHCURI MUSHCUR2 CURRENTLY CURRENT TEM PLINE WTHLEN gt CNTR2 NULLINES ENDM USHBYSEGS MUSHBYSEGS MUSHBYSEGS PAGE amp ANCHOR 0 LASTLINE 0 CURRENT HEAD F BADHEAD IDENT CURRENT NULL DIFFER VRB
34. IFFER DEFAULTCLOUDDUPL 1 WTH SAVVE2 WTH S CRETURN LENWTH SIZE WTH LENSAVI SIZE SAVVE1 LENSAV3 SIZE SAVVE3 PGS SUBSTR DUPL WTH LENSAVI LENWTH 1 LLENSAVI SAVVE2 SUBSTR DUPL WTH LENSAV3 LENWTH 1 1 LENSAV3 os CRETURNIC 1 NEXTST PGS BREAKX BOL PGS2 BOL NUMBER BOL F NULLL PG lt IC gt PGS2 1 1 1 NEXTST lt gt PGS PG lt IC 1 gt BOL MUSHCLOUD PG RETURN ENDMUSHCLOUD STITL MUSHRANGE DEFINE MUSHRANGE VRB WTH PAGE FROM T0 PAGENO x ENDMUSHRANGE MUSHRANGE 7 GE WSPGCOUNT lt DEBENDENT gt FROM LE WSPGCOUNT lt DEPENDENT gt F FRETURN MUSHRANGE MUSHWHOLEPAGE VRB WTH PAGE RETURN ENDMUSHRANGE STITL MUSHWHOLEPAGE DEFINE MUSHWHOLEPAGE VRB WTH PG WTHLEN LINECNT RPLAG ENDMUSHWHOLEPAGE MUSHWHOLEPAGE MUSHWHOLEPAGE DIFFER VRB CHOOSE DIFFER VRB REB PG S RETURN IDENT VRB REMOVE F REP lt 1 gt BOL MUSHWHOLEPAGE PG REP IDENT VRB REPEACE F BADVERBINMUSHWHOLEPAGE WTH IDENI WTH NULL DEFAULTWITH WTHLEN SIZE WTH LINECNT 1 LOOPW IDENT PG lt LINECNI gt BOL gt lt S ARETURN RPLAG SIZE PG lt LINECNT gt PG lt LINECNI gt SUBSTR DUPL WTH RPLAG WTHLEN 1 1 RPLAG LINECNT LINECNT 1 LOOPW ARETURN MUSHWHOLEPAGE PG RETURN ENQMUSHWHOLEPAGE STITL NOTNULLPG
35. INE IBM F NOTIBM amp FULLSCAN 1 NOTIBM amp ANCHOR DEFAULTANCHOR 24 49 15 20 amp STLIMIT 1000000000 amp 32758 PAGESTART 7 LABCNT 1 TABLE 100 ISFIRSTEOF TABLE 50 HOLDPAGE TABLE 50 BOL SUBSTR amp ALPHABET 004 1 C SUBSTR amp ALPHABET 009 1 EOF SUBSTR amp ALPHABET 005 1 FORMFEED DIFFER MACHINE IBM SUBSTR amp ALPHABET 7 1 TEMPASSO 100 NONCOMP TABLE 100 TABLE 100 REMEMBERY 50 MAXFILE 10 INPUTTAB TABLE MAXFILE WSPGCOUNT TABLE 20 0 SEGTAB TABLE 20 OUTFILETAB TABLE MAXFILE NONUSINGINS TABLE MAXFILE TABLE 100 TRIMCOMPARE OPPVRB TABLE 3 OPPVRB lt CHOOSE gt REMOVE OPPVRB lt REMOVE gt CHOOSE OPPVRB lt REB gt REPLACE UNDERLINE 2 131 UNDERLINE DUPL _ 132 BLANKLINE INPUTFILENO 0 IDENT MACHINE IBM INPUTCINPUT IDENT MACHINE UNIX INPUTCINPUT INPUT INPUT IDENT MACHINE IBM OUTPUTCOUTLISTING LISTING DIFFER MACHINE IBM OUTPUT OUTLISTING OUTLISTING LISTING OUTLISTING_ERROR ERROR OUTLISTING MSG sett OUTLISTING OUTLISTING DUPL 72 OUTILISTING the tt DUP 68 OUTLISTING meen DUPL 68 the wt OUTLISTING DUPL 7
36. MRGSIDEBYSIDE COPY FILEPAGE COPY PAGE NEWDD S CLEARBUFF TEMPPAGE MATCH LMERGE TYPE PRINTPAGE MRGLINEBYLINE COP Y FILEPAGE COPY PAGE NEWDD S CLEARBUFF TEMPPAGE MATCH OMERGE TYPE PRINTPAGE MRGONEAFTER COPY FILEPAGE COPY PAGE NEWDD CLEARBUFF INTERSPERSE1 LLT KEYPAGE KE YFILEPAGE FCINTERSPERSE PRINTPAGE PAGE NEWDD RETURN INTERSPERSE2 LGT KEYPAGE KEYFILEPAGE PRINTPAGE FILEPAGE NEWDD HOLDPAGE INTERID NULL FRETURN CLEARBUFF HOLDPAGE INTERID NULL RETURN ENDINTERSPERSE STITL ISALOOP DEFINE ISALOOP ENDISALOOP ISALOOP 30 35 10 15 5 023 811 42 CALLSTRING ARB DEP2 RPOS 0 SCRETURN F FRETURN ENDISALOOP KMN DEFINE KMIN NUM1 NUM2 ENDKMIN KMN KMIN LE NUM1 NUM2 NUM1 S RETURN KMIN NUM2 RETURN ENDKMIN MATCH DEFINE MATCH PATIRN STRNGY STRNG SCRETURN F FRETURN ENDMATCH STITL MATCHSEGS DEFINE MATCHSEGS PATT HEAD PAGE CURRENT ST FN CNTR LASTLINE TEMPCNTR ENDMATCHSEGS MATCHSEGS CURRENT HEAD LASTLINE 0 amp ANCHOR 0 IDENT LINEN CURRENT S ALLLINE TEMPCNTR 0 lt TEMPCNIR 1 gt TEMPCNIR 1 IDENT PAGE lt TEMPCNTR gt BOL S ERETURN EQ LINEN CURRENT TEMPCNTR FEMIMNEX MMNEX1 IDENT FINISH CURR
37. MT F ISACT_PARSEGEN ENDSET EWSET IN2_PARSEGEN ISACT PARSEGEN NULL STMT ACTSIMT 15 61 BIN PAGERNGPAT F BUILDC_PARSEGEN IDENT S2 NULL S BUILDC_PARSEGEN OUTLISTING OUTLISTING ERROR CLAUSE FOR PAGE MESSAGE RANGE DELETED PATT NULL CONT NULL S2 NULL NEATCH DEFERPAT RPOS 0 S2 MATCH DEFERPAT RPOS 0 SH1 IDENT SH2 THEY S BUILDC_PARSEGEN IDENT EVB NULL S BUILDC_PARSEGEN OUTLISTING OUTLISTING_ERROR LEFTOVERS IN DEFERRED 2ND SHAPE DELETED EVB NULL ae BUILDC_PARSEGEN BUILDCODE CURWSET VB S1 EVB S2 WITH CONT PATT IN2_PARSEGEN ISDEF_PARSEGEN SIMTDEFSIMT F TRSIMT_PARSEGEN IDENT CURWSET NULL S YESDEF_PARSEGEN OUTLISTING OUTLISTING_ERROR ATTEMPT TO DEFINE WITHOUT ENDING END GENERATED 5 10 15 35 5 023 811 73 74 ENDSET CURWSET NULL ENDSET CURWSET CURWSET WSET YESDEF PARSEGEN DEFSET WSET USINGS CURWSET WSET IN2_ PARSEGEN SIMTTRSIMT F PADSIMT_PARSEGEN NONCOMP lt CURWSET gt NONCOMP lt CURWSET gt PAGE NOTNULLPG PAGE TRANSL PAGE STRI gt STR2 IN2_PARSEGEN PADSIMT 1 PARSEGEN SIMTPADSIMT F REMSIMT PARSEGEN NONCOMP lt CURWSET gt NONCOMP lt CURWSET gt PAGE NOTNULLPG PAGE PADIT PAGE STR DIRECTION HOWMANY IN2_PARSEGEN REMSIMT_PARSEGEN SIMTREM
38. N MRGLINEBYLINE NOTNULLPG PAGE1 COPY PAGE2 5 MRGLINEBYLINE NOTNULLPG PAGE2 COPY PAGE1 5 _MRGLINEBYLINE 1 lt 1 gt BOL COPY PAGE2 S RETURN IDENT PAGE2 lt 1 gt BOL COPY PAGE1 S RETURN MRGLINEBYLINE IDENT PAGE1 lt 0 gt EOF IDENT PAGE2 lt 0 gt EOF COPY EOFARRAY S RETURN MRGLINEBYLINE COPY NULLARRAY COUNTI 0 COUNT2 0 BIGCOUNT 0 MAIN MRGLINEBYLINE BIGCOUNT BIGCOUNT 1 MRGLINEBYLINE MRGLINEBYLINE lt BIGCOUNT gt ENLARGEPAGE MRGLINEBYLINE COUNTI 1 MRGLINEBYLINE lt BIGCOUNT gt DIFFER PAGE1 lt COUNTI gt BOL 1 lt COUNTI gt BIGCOUNT BIGCOUNT 1 MRGLINEBYLINE MRGLINEBYLINE lt BIGCOUNT gt 222222 ENLARGEPAGE MRGLINEBYLINE COUNT2 COUNT2 1 MRGLINEBYLINE lt BIGCOUNT gt DIFFER PAGE2 lt COUNT2 gt BOL 2 lt COUNT2 gt F ONEONLY_MRGLINEBYLINE S MAIN_MRGLINEBYLINE TWOONLY MRGLINEBYLINE MRGLINEBYLINE lt BIGCOUNT gt PAGE2 lt COUNT2 gt 2 lt COUNT2 gt BOL S RETURN BIGCOUNT BIGCOUNT 1 MRGLINEBYLINE MRGLINEBYLINE lt BIGCOUNT gt 5 ENLARGEPAGE MRGLINEBYLINE COUNT2 COUNT 1 TWOONLY_MRGLINEBYLINE ONEONLY_MRGLINEBYLINE MRGLINEBYLINE lt BIGCOUNT gt 1 lt COUNTI gt BOL S RETURN BIGCOUNT BIGCOUNT 1 MRGLINEBYLINE MRGLINEBYLINE
39. NCOMP lt WS gt IDENT VRB CHOOSE NONCOMP lt WS gt PAGE NOTNULLPG PAGE BASE S GENLAB LABCNT PAGE lt I gt BOL GENLAB LABCNT 5 NONCOMP lt WS gt IDENT VRB REB NONCOMP lt WS gt PAGE NOTNULLPG PAGE BASE S GENLAB LABCNT PAGE NOTNULLPG PAGE MUSHWHOLEPAGE REPLACE WITH PAGE GENLAB LABCNT S YRETURN lt 5 gt NONCOMP lt WS gt NOTNULLPG PAGE BASE S GENLAB LABCNT PAGE NOTNULLPG PAGE MUSHWHOLEPAGE TRANSFORM WTH PAGE GENLAB LABCNT YRETURN LABCNT LABCNT 1 RETURN ENDBUILDCODE STITL BUILDMERGE BUILDMERGE 5 _DEFINE BUILDMERGE WS TYPE OBJ1 0BJ2 MEMP NEWOBJ1 43 NEWOBJ2 EMPTYCLAUSE NEWNAME1 NEWNAME END_BUILDMERGE BUILDMERGE EMPTYCLAUSE DIFFER MEMP NOTNULLPG PAGE IDENI OBJ1 COPY PAGE S BLDMRG2_BUILDMERGE BIN NEWNAMEI BIN F BLDMRG1_BUILDMERGE READORNULL NEWNAMEI IDENT NONUSINGINS lt NEWNAMEI gt NULL F BLDMRG2_BUILDMERGE NONUSINGINS lt NEWNAMEI gt MERGE PAGETAB lt NEWNAMEI gt COPY NULLARRAY OPENIN NEWNAME1 BLDMRG2_BUILDMERGE BLDMRG1_BUILDMERGE NEWNAME1 NEWOBJ1 COPY REMEMBERY lt NEWNAMEI gt BLDMRG2_BUILDMERGE NEWOBJ2 IDENT OBJ2 COPY PAGE S BL
40. NT SEGMENT TEMP1 TEMP 2 TEMP4 CURRENT NEXT CURRENT LOOPBX FSTRGO TEMPI CNT 2 1 TEMP4 C2 SEGSFROMPT SEGMENI TEMP1 TEMP2 TEMP4 RETURN ENDSEGSFROMPT STITL SHAPESFROMSEGS DEFINE SHAPESFROMSEGS SH1 HEAD HEAD2 CURRENT2 CURRENTr TONEWLIST GREATER LESS OLDHEAD ENDSHAPESFROMSEGS _SHAPESFROMSEGS SHAPESFROMSEGS IDENT SH1 STRINGS HEAD S RETURN IDENT HEAD NULL S RE IDENI SH1 LINES 5 CURRENT HEAD HEAD2 SEGMENT LINEN CURRENT 1 SHAPESFROMSEGS HEAD2 CURRENT HEAD NEELEM CURRENT DIFFER NEXT CURREND NULL NEXT CURRENT F RETURN NEXT CURRENT2 SEGMENT LINEN CURRENT 1 CURRENT2 NEXT CURRENT2 NEELEM BRCOLS IDENT SH1 COLUMNS F BADSHAPEINSHFRSEGS 35 45 10 15 5 023 811 87 88 CURRENT HEAD 2 SEGMENT START CURRENT FINISH CURRENT SHAPESFROMSEGS HEAD2 CURRENT HEAD2 NEELEM2 CURRENT DIFFER NEXT CURRENT NULL NEXT CURRENT 7 K SORDIT NEXT CURRENT2 SEGMENT START CURRENT FINISH QURREN1 CURRENT NEXT CURRENT2 NEELEM2 SORDIT TONEWLIST SEGMENT 0 0 0 HEAD2 HEAD DIFFER NEXT HEAD2 NULL NEXT HEAD2 F STRIPHEAD NEXT NEXI TONEWLIST NULL LOOOP1 LESS TONEWLIST GREATER NEXT TONEWLIST LOOOP IDENT GREATER NULL S INSERT LT START HEAD2 START GREATER S INSERT LESS GREATER GREATER NEXT GREATER LOOOP _ INSERT OLDHEAD2 HEAD2
41. NTR gt FINISH CURRENT 1 REPOS CNIR lt CNTR I gt CNIR 1 F LO23 IDENT PAGE lt gt BOL S LO23 F REPO2 1023 CURRENT DIFFER NEXT CURRENT NULL IDENT LINEN NEXT CURREND Se F RETURN S REPREST2 ENDMUSHBYSEGS a STITL MUSHCLOUD DEFINE MUSHCLOUD VRB WTH PG CLOUDPAT SAVVE2 IMUSHCLOUD SAVVE3 SAVVEJ LENWTH LENSAV IC PGS LENSAVI LENSAV3 ENDMUSHCLOUD MUSHCLOUD IC 1 IDENT PG lt IC gt NULL S OUTLINE NLINE PGS PGS BOL IC BOL PG lt IC gt IDENI PG lt gt BOL S OUTLINE PG lt IC gt F OUTLINE IC 1 NLINE OUTLINE amp ANCHOR DEFAULTCLOUDPATANCHOR IDENT VRB REMOVE PGS CLOUDPAT CRETURN CHOOSE IDENI VRB CHOOSE PGS CLOUDPAT TMUSHCLOUD PGS TMUSHCLOUD REPLACE IDENT VRB REPLACE F REB PGS ARB SAVVE1 CLOUDPAT SAVVE2 SAVVE3 WTH IDENI WIHNULL DEFAULTWITH WIH IDENT DEFAULTCLOUDWITHEVAL 1 EVAL WTH PGS DIFFER DEFAULTCLOUDDUPL 1 SAVVE1 WIHSAVVE3 S CRETURN LENWTH 17 LENSAV SIZE SAVVE2 15 45 10 55 5 023 811 2056 PGS SUBSTR DUPL WTH LENSAV LENWTH 1 11 CRETURN REB IDENI VRB REB F BADVRBINMUSHCLOUD PGS ARB CLOUDPAT SAVVE2 REM SAVVE3 WIH IDENI WIH NULL DEFAULTWITH WIH IDENT DEFAULTCLOUDWITHEVAL 1 EVAL WTH PGS D
42. OMFILE_READAPAGE _ BUFF NULL GOTLINE_READAPAGE FROMFILE_READAPAGE SOVARNAME S NOTEOF_READAPAGE RAPN EOF RAPN EOF EOF_READAPAGE NOTEOF_READAPAGE EQ RAPN_IBMCC RAPN 1 F TESTSTART_READAPAGE LINE LEN 1 CC F GOTLINE_READAPAGE _ IDENT CC S TESTSTART_READAPAGE 1 S EOP_READAPAGE IDENT CC S READLOOP_READAPAGE DIFFER CC 0 S NOTO_READAPAGE BUFF LINE LINE BLANKLINE TESTSTART_READAPAGE NOTO READAPAGE BUFF IDENI CC LINE F TESTSTART_READAPAGE LINE BLANKLINE BLANKCOUNT 1 TESTSTART READAPAGE LINE POS 0 PAGESTART F GOTLINE_READAPAGE EOP_READAPAGE T EQ LINENO 0 EQ RAPN_PAGENO RAPN 0 5 EQ LINENO 0 S GOTLINE_READAPAGE OVERFLOW_READAPAGE RAPN_PAGENO RAPN RAPN_PAGENO RAPN 1 BUFF LINE RETURN_READAPAGE GOTLINE_READAPAGE LINENO LINENO 1 READAPAGE READAPAGE lt LINENO gt ENLARGEPAGE READAPAGE READAPAGE lt LINENO gt LINE READLOOP_READAPAGE EOF_READAPAGE RAPN _LINE RAPN BUFF RAPN_BLANKCOUNT RAPN BLANKCOUNT OPENINPUTFILES 5 1 EQ LINENO 0 S FRETURN OUTLISTING OUFLISTING_MSG END OF FILE PAGENO LPAD RAPN_PAGENO RAPN 1 6 FILE FILENAME RETURN J READAPAGE _LINE RAPN BUFF READAPAGE lt LINENO 1 gt BOL RETURN END_READAPAGE STITL READORNULL READORNULLS DEFINECREAD
43. ORNULL DD2 END_READORNULL READORNULL i IDENT PASSINGEOFS YES 5 READORNULL READORNULL READAPAGE DD2 S RETURN 15 35 10 15 5 023 811 83 22284 READORNULL READORNULL COPY EOFARRAY RETURN END_READORNULL SITIL READFORCOMPS at ENDREADFORCOMPS READFORCOMPS READFORCOMPS READAPAGE DD S RETURN READFORCOMPS COPY NULLARRAY RETURN READFORCOMPS COPY EOFARRAY ENDREADFORCOMPS STITL ROUT DEFINE ROUI PAGE DEPENDENT CALLSTRING LIST30FDEP ROUT WSPGCOUNT lt DEPENDENT gt NOTNULLPG PAGE WSPGCOUNT lt DEPENDEN gt 1 OUTPUT ABOUT TO BRANCH OUTPUT PUI DEPENDENT QUIPUT PUI DATATYPE CODETAB lt DEPENDENT lt CODETAB lt DEPENDENT gt gt BACK LIST30FDEP TEMPASSO lt DEPENDENT gt F RETURN NDEP LIST30FDEP WORD DEP2 F RETURN IDENT LOOPCHECKING OFF S NOLOOP ISALOOP F NOLOOP SIGLOOP END NOLOOP CALLSTRING 72 DEP2 CALLSTRING LIST30FDEP WORD F LASTONE ROUI COPY PAGE DEP2 CALLSTRING LASTONE ROUT PAGE DEP2 CALLSTRING NDEP END_ROUT STITL SEGSFROMPATTERNS DEFINE SEGSFROMPT SHAPE PAGE TSHAP P1 P2 CNT C1 CNT2 C2 TEMP1 TEMP2 TEMP3 TEM P4 HEAD CURRENT ENDSEGSFROMPT SEGSFROMPT MATCH PATPAT SHAPE F BADSHAPEINSEGSFRPATT Pi EVAL P1 2 EVAL P2 amp ANCHO
44. R 0 CNT 1 lt CNI gt DIFFER PAGE lt CNT gt BOL S RETURN OUIPUT P1 IS PAGE lt CNT gt C1 S FOUNDPEGIN OUTPUT PAGE CNT IS lt CNT CNT 1 LSFP FOUNDBEGIN FOUNDBEGIN PAGE lt 2 2 2 1 S FOUNDEND 2 CNT LSFP2 lt 2 gt DIFFER PAGE lt CNT2 gt BOL S RETURN PAGE lt CNT2 gt P2 C2 S FOUNDEND 2 CNI2 1 LSFP2 35 45 40 15 a 5 023 811 85 l 2086 FOUNDEND OUTPUT END C2 C2 IDENT TSHAP LINES S FLINGO IDENT TSHAP COLUMNS S FCOLGO IDENT TSHAP BOXES S FBOXGO IDENI ISHAP STRINGS S FSTRGO BADSHAPEINSEGSFRPT FLINGO CNT TEMP2 CNT2 HEAD SEGMENI TEMP1 1 SEGSFROMPT HEAD CURRENT HEAD S RETURN 1 1 1 NEXT CURRENT SEGMENT TEMP1 1 CURRENT NEXT CURRENT LOOPLN 1 2 2 gt IF TEMP2 lt THEN THIS WILL PROBABLY NOT DO ANYTHING SEGSFROMPT SEGMENT TEMP1 TEMP2 RETURN CNT 2 1 TEMP3 CNT2 TEMP4 2 TEMP4 SHOULD BE GREATER THAN 2 HEAD SEGMENT TEMP1 TEMP2 TEMP4 HEAD CURRENT HEAD LOOPBX1 EC TEMP1 TEMP3 S RETURN TEMP TEMP1 1 NEXT CURRE
45. REPLACE F BADVERBINMUSHBYSEGS WIH IDENI WIH NULL DEFAULTWITH WTHLEN SIZE WTH REPOI IDENT LINEN CURRENT SCREPRESTOFLINES lt LINEN CURRENT gt F RETURN IDENI PAGE lt LINEN CURRENT gt BOL SCRETURN IDENT FINISH CURRENT F REPNUMNUM lt LINEN CURRENT gt EQ START CURRENT 1 SUBSTR DUPL WTHSIZE PAGE lt LINEN CURRENT gt WTHLEN 1 1 SIZE PAGE lt LINEN CURRENT gt 5 PAGE lt LINEN CURRENT gt SUBSTR PAGE lt LINEN CURRENT gt 1 START CURRENT 1 LE START CURRENT SIZE PAGE lt LINEN CURRENT gt SUBSTR DUPL WTH SIZE PAGE lt LINEN CURRENT gt START CURRENT 1 WTHLEN 1 1 SIZE PAGE lt LINEN CURRENT gt START CURRENT 1 REPNEXX PNUMNUM lt LINEN CURRENT gt EQ START CURRENT 1 SUBSTR DUPL WTH FINISH CURRENT START CURRENT 1 WIHLEN 1 1 KMIN FINISH CURRENT START CURRENT 1 SIZE PAGE lt LINEN CURRENT gt SUBSTR PAGE lt LINEN CURRENT gt FINISH CURRENT 1 S REPNEXX PAGE lt LINEN CURRENT gt SUBSTR PAGE lt LINEN CURREND gt 1 START CURRENT 1 LE START CURRENT SIZE PAGE lt LINEN CURRENT gt SUBSTR DUPL WTH FINISH CURRENT START CURRENT 1 WTHLEN 1 1 KMIN FINISH CURRENT START CURRENT 1 SIZE PAGE lt LINEN CURRENT gt SUBSTR PAGE lt LINEN CURRENT gt FINISH CURRENT 1 REPNEXX LASTLINE LINEN CURRENT CURRENT DIFFER NEXT CURRENT N
46. S PTT NOTSEGS OPTM ALLSEGSFROMPT SH2 PAGE PAGE NC BASE S THREE BASE MATCH EPATPAT SH2 MATCHSEGS PTT OPTM ALLSEGSFROMPT SH2 PAGE PAGE NC BASE S THREE IF SHAPE2 IS A CLOUD BASE DIFFER EVB NULL MATCH CPATPAT SH2 PTT GRABNOTCLOUD PAGE 7 CLOUDPAT NC BASE S THREE BASE MATCH CPATPAT SH2 MATCHE PTT GRABCLOUD PAGE CLOUDPAT NC BASE S THREE IF SHAPE2 15 DEFERRED BASE MATCH DEFERPAT RPOS 0 SH2 PTT PAGEY NC BASE S THREE IFSHAPE2IS SEGMENTED 0 SEGTAB lt 5 LABCNT gt DIFFER EVB NULL NOTSEGS OPTM FINDSEGLIST SH2 S TWOAS 2 SEGTAB lt SEG LABCNT gt OPTM FINDSEGLIST SH2 TWOAS BASE MATCHSEGS PTT SEGTAB lt SEG LABCNT gt PAGE NC BASE LABCNT 1 S THREE THREE BASE IDENI CNT CONTAIN REPLACE BASE NC S RETBASE 30 35 45 15 20 35 5 023 811 19 20 BASE BREAK NC SAVE1 NC REM SAVE2 BASE SAVEL SAVE2 S RETBASE RETBASE OUTPUT BASE BASE NONCOMP lt WS gt IDENI OTHERWISEOPT NONSTANDARD NONCOMP lt WS gt NOTNULLPG PAGE BASE S RETURN NONCOMP lt WS gt DIFFER VRB CHOOSE DIFFER VRB REB DIFFER VRB TEB NONCOMP lt WS gt NOTNULLPG PAGE BASE S RETURN NO
47. SIMT F WRSIMT PARSEGEN NONCOMP lt CURWSET gt IDENT REMEMP NULL NONCOMP lt CURWSET gt REMEMBERY lt NAMEIT gt COPY PAGE S IN2_PARSEGEN NONCOMP lt CURWSET gt NONCOMP lt CURWSET gt NAMEIT gt NOTNULLPG PAGE COPY PAGE 5 2 PARSEGEN WRITE ASSUMES FILE IS OPEN WRSIMT_PARSEGEN SIMTWRSIMT F MRGSTMT_PARSEGEN IDENT OUTFILETAB lt NAMEIT gt NULL F WRSTMT2_PARSEGEN lt NAMEIT gt IDENT MACHINE IBM OUTPUT NAMEIT XXXXX NAMEIT DIFFER MACHINE IBM OUTPUT NAMEIT XXXXX NAMEIT XXXXX NAMEIT WRSIMT2 1 PARSEGEN NONCOMP lt CURWSET gt NONCOMP lt CURWSET gt NAMEIT XXXXX STR 132 MRGSIMT J PARSEGEN STMT F COMPSIMT F PARSEGEN PATTERN SETS MRGTYPE MOBJ2 MRGEMP BUILDMERGE CURWSET MRGTYPE MOBJ1 MOBJ2 MRGEMP IN2_PARSEGEN COMPSIMT PARSEGEN SIMTCOMPSIMT F INTERSTMT_PARSEGEN IDENT NONUSINGINS lt OLDDD gt NULL F COMPSTO_PARSEGEN NONUSINGINS lt OLDDD gt COMPARE OPENIN OLDDD COMPST0_PARSEGEN IDENT OUTFILETAB lt NEWDD gt NULL OUTFILETAB lt NEWDD gt IDENT MACHINE IBM OUTPUT NEWDD XXXXX NEWDD DIFFER MACHINE TBM OUIPUI NEWDD XXXXX NEWDD
48. T DIFFER NEXT CURRENT NULL DIFFER LINEN NEXT CURRENT SEGMENT LINEN CURRENT FINISH CURRENT 1 S STRPRET NEXT NEWCURRENT DIFFER FINISH CURRENT IDENT NEXT CURRENT NULL SEGMENT LINEN CURRENT FINISH CURRENT 1 S STRPRET F ASSUMES IDENT FINISH CURRENT AND DIFFER NEXT CURRENT NULL REGARDLESS OF DIFFER LINEN NEXT CURRENT LINEN CURRENT IDENT FINISH CURRENT IDENT NEXT CURRENT NULL S STRPRET F LINEAFTERSTARNOTSEGS ENDNOTSEGS e e STITL OPTM DEFINE OPTM HEAD CURRENT TEM PFINAL1 TEMPFINAL ENDOPTM OPIM HEAD IDENT HEAD NULL S RETURN CURRENT HEAD IDENT NEXT GURRENT NULL S RETURN CURRENT DIFFER LINEN CURRENT LINEN NEXT CURRENT NEXT CURRENT S OPTM1 TEMPFINALI IDENT FINISH CURRENT MAGICNUM 5 2 TEMPFINALI FINISH CURRENT 2 TEMPFINAL2 IDENT FINISH NEXT CURRENT MAGICNUM S OPTM3 TEMPFINAL2 FINISH NEXT CURRENT OPTM3 GE TEMPFINALI START NEXT CURRENT GE TEMPFINAL2 START CURRENT NEXT CURRENT S OPTM1 START CURRENT GT START CURRENT START NEXT CURRENT START NEXT CURRENT FINISH CURRENT LI TEMPFINAL1 TEMPFINAL2 TEMPFINAL2 4 FINISH CURRENT IDENT FINISH CURRENT MAGICNUM NEXT CURRENT NEXT NEXT CURRENT OPTM1 ENDOPTM OPENIN OPENIN S OPENIN WILL PERFORM THE INPUT CALL 35 10
49. TLINE LINEN CURRENT S DEST1 F ICHL0 5 HIT PAGE lt LINEN CURRENT 1 gt BOL XRETURN ICHL PAGE lt CNIR gt NULL ICHLO CNTR lt CNTR 1 gt CNIR 1 F XRETURN IDENT PAGE lt CNT R gt S XRETURN F CHO2 CHRESTOFLINES CNIR LASTLINE j CHRO CNIR PAGE lt CNTR I gt CNTR 1 F XRETURN IDENT PAGE lt CNTR gt BOL S XRETURN TEMPLINE lt CNTR gt lt CNIR gt NULL CURRENT2 CURRENT CHROO IDENT FINISH CURRENT2 F CHR1 PAGE lt CNIR gt EQ START CURRENT2 1 PAGE lt CNTR gt TEMPLINE CHR2A CHR2 PAGE lt CNIR gt lt gt SUBSTR TEMPLINE START CURRENT2 CHR2A CHRI PAGE lt CNIR gt lt gt SUBSTR TEMPLINE START CURRENT2 FINISH CURRENT2 START CURRENT2 1 50 CHR2A CURRENT DIFFER NEXT CURRENT2 NULL IDENT LINEN NEXT CURRENT2 NEXT CURRENT2 S CHR00 10 15 35 45 5 023 811 51 52 XRETURN CODE COMPRESSES CHOOSE AND REMOVE VERTICALLY ITMAYBE INCORPORATED INTO THEIR ALGOS AS NECESSARY XRETURN NULLINES 0 CNTR2 0 BUMPCNTR2 CNTR2 lt CNIR2 1 gt CNTR2 1 F RETURN NULLINES IDENT PAGE lt CNTR2 gt NULL NULLINES 1 S BUMPCNTR2 lt CNTR2 NULLINES gt GI NULLINES 0 PAGEs lt CNTR2 gt BOL S RETURN F BUMPCNTR2 _ REPLACE CODE REPLC IDENT VRB
50. ULL NEXT CURRENT F RETURN S REPO1 REPRESTOFLINES 2 PAGE lt LASTLINE 1 gt F RETURN IDENT PAGE lt LASELINE 1 gt BOL S RETURN REPREST2 CNIR LASTLINE 1 IDENI FINISH CURRENT F REPO2 t tebe te gttt tbh tb 5 i 5 023 811 EQ START CURREND 1 REPO4 lt gt gt SUBSTR DUPL WTHSIZE PAGE lt gt WTIHLEN 1 1 SIZE PAGE lt CNTR gt _ NTR 2 PAGE lt CNTR 1 gt CNTR 1 F LO23 IDENT PAGE lt CNTR gt BOL S L023 F REPO4 REPO PAGER CNTR gt SUBSTR PAGE lt CNTR gt 1 START CURRENT 1 LE START CURRENT SIZE PAGE lt CNTR gt SUBSTR DUPL WTH SIZE PAGE lt CNIR gt START CURRENT 1 15 45 WTHLEN 1 1 SIZE PAGE lt CNTR gt START CURRENT 1 CNTR lt CNTR 1 gt CNIR 1 1023 IDENI PAGE lt CNTR gt BOL 5 1 023 REPO2 PAGE lt CNTR gt EQ START CURRENT 1 SUBSTR DUPL WTH FINISH CURRENT START CURRENT 1 WTHLEN 1 1 KMIN SIZE PAGE lt CNTR gt FINISH CURRENT START CURRENT 1 SUBSTR PAGE lt CNIR gt FINISH CURRENT 1 S REPOS _ PAGE lt CNTR gt SUBSTR PAGE lt CNIR gt 1 START CURRENT 1 LE START CURRENT SIZE PAGE lt CNTR gt SUBSTR DUPL WTH FINISH CURRENT START CURRENT 1 WTHLEN 1 1 KMIN FINISH CURRENT START CURRENTD 1 SIZE PAGE lt CNTR gt SUBSTR PAGE lt C
51. ULTANCHOR GRABCLOUD CLOUDTEMP RETURN ENDGRABCLOUD STITL GRABNOTCLOUD DEFINE GRABNOTCLOUD PAGE PAT PGS IC ENDGRABNOTCLOUD GRABNOTCLOUD amp ANCHOR DEFAULTCLOUDPATANCHOR IC 1 lt gt NULL S OUTLINE2 NLINE2 PGS PGS BOL IC BOL lt IC gt lt IC gt BOL 5 2 lt 1 gt F OUTLINE2 IC IC 1 NLINE2 OUTLINE2 22 PGS lt amp ANCHOR DEFAULTANCHOR GRABCLOUD PGS ENDGRABNOTCLOUD STITL INITIALIZATION DEFINECINITIALIZE INITIALIZEEND INITIALIZE 1 OFF 0 DEFAULTANCHOR 1 DEFAULTWITH DEFAULTCLOUDPATANCHOR 0 DEFAULTCLOUDWITHEVAL 1 DEFAULTCLOUDDUPL 0 DEFAULTREAD ROUNDROBIN LOOPCHECKING OTHERWISEOPT NULL INSERT ASCII EBCDIC CHECK HERE AND ALSO DONT FORGET MACHINE LLT A 1 IBM MACHINE LLT A 1 UNLY F NOTUNIX_INITIALIZE HOSTO SUN MACHINE ARB INITIALIZE MACHINE INPUT_ARG 3 1024 INITIALIZE IBMCC 1 MAXCOMPARES 20 OPENINPUTFILES 0 SET WHEN FILE IS OPENED USED BY READAPAGE DATA READAPAGE_NODE RAPN_IOVARNAME RAPN_PAGENO RAPN LINE RAPN RAPN BLANKCOUNT RAPN EOF READAPAGE MASTERTABLE TABLE 100 OPENIN_GENSYM_COUNTER 0 tee t 5 023 811 37 38 PAGESIZE 66 amp TRIM 1 IDENT MACH
52. United States Patent Donnelly et al 54 75 73 21 22 63 51 52 58 56 METHOD AND APPARATUS FOR SELECTIVELY PROCESSING PAGINATED OUTPUT Inventors Kim Donnelly Kurt A Gluck both of Piscataway N J Assignee Bell Communications Research Inc Livingston N J Appl No 535 991 Filed Jun 11 1990 Related U S Application Data Continuation of Ser No 257 218 Oct 13 1988 aban doned Tints 06 15 40 364 518 Field of Search 364 518 521 522 523 358 311 References Cited U S PATENT DOCUMENTS 4 357 624 11 1982 Greenberg 358 311 X 4 719 585 1 1988 Cline et al 222222222222 364 518 4 803 643 2 1989 Hickey we 364 523 4 833 625 5 1989 Fisher et al 364 518 COMPUTER PROCESSING 11 Patent Number 5 023 811 45 Date of Patent Jun 11 1991 OTHER PUBLICATIONS Word Writer ST for ATARI 520ST and 1040ST Com puters TIMEWORKS User Manual 1982 R B K Dewar SPITBOL 68K Program Reference Manual Catspaw Inc Salida Colorado Mar 1 1987 R E Griswold et al The SNOBOL4 Programming Language Prentice Hall Inc Englewood Cliffs New Jersey 1971 Primary Examiner Gary V Harkcom Assistant Examiner Mark Zimmerman Attorney Agent or Firm James W Falk Leonard Charles Suchyta 57 ABSTRACT A data proc
53. aser system of the present inven tion is perfectly suitable for this arrangement and in doing so can reduce the delay in performing such fur ther processing to virtually zero It should also be noted that one very important use of decimated computer processing output is in regression testing Regression testing generally involves the comparison of the outputs from new and old versions of the same program If they are identical the new version is considered to be cor rect In regression testing it is undesirable to compare all of the output since the time required would be pro hibitive and some portions of the output tend to be date or time dependent and hence not comparable Regres sion testing is therefore the art of selecting test cases which are typical repeatable and cover all of the major capabilities of the system The decimation of the output data from the new and old versions of the same program for regression testing comparisons is a major use of the phaser processing system of the present invention In FIG 2 there is shown a typical example of the type of post processing of paginated output permitted by the phaser processing system 13 of the present invention In FIG 2 there are shown three different views 15 16 and 17 of the same paginated portion of the output from a computer processing system such as system 11 of FIG 1 Page 15 shows a window 18 containing the data characters origin in the lower central portion of
54. be clear to those skilled in the art that fur ther embodiments of the present invention may be made by those skilled in the art without departing from the teachings of the present invention remove pages where they contain xyz 35 define b using a remove pages where they contain abc end b define c using a remove pages where they contain 111 end 40 define d using b replace strings with xyz where they contain kag print to outfile end d 45 APPENDIX LIST COPYRIGHT 1988 BELL COMMUNICATIONS RESEARCH ALL RIGHTS RESERVED 5 s TITLE PHASER T s 10 STITL ALLSEGSFROMPT DEFINE ALLSEGSFROMPT SHAPE PAGE TSHAP P1 P2 CNT C3 C1 CNT2 C2 TEMP1 HEAD CURRENT GREATER TONEWLIST LESS OLDHEAD2 15 35 45 10 15 5 023 811 11 12 ALLSEGSFROMPT MATCH EPATPAT SHAPE gt F BADSHAPEINALLSEGS Pl EVAL P1 P2 EVAL P2 amp ANCHOR 0 HEAD SEGMENT 0 0 0 CURRENT HEAD 3 0 CNT 1 ye A ALLLSFP lt CNT gt DIFFER PAGE lt CNI gt BOD S HIRETURN PAGE lt gt C1 P1 GI C1 C3 S ALLFOUNDBEGIN 1 ALLLSFP ALLFOUNDBEGIN gt CNT Sh 2 2 1 S ALLFOUNDEND CND CNA T ALLLSFP2 lt DIEFER PAGE lt CNTD BOL S HIRETURN PAGE lt CNT2 gt P2 C2 S ALLFOUNDEND CNI2
55. d 1971 The pages of information thus decomposed by the re place choose remove and replace everything but ac tions can be recomposed however the user wishes by the merge action which recombines the decomposed elements into new pages with new formats In operation the user of the phaser system of the present invention describes the post processing desired by a sequence of statements involving the actions and objects described above These statements make up a phaser program and are used by the phaser system as described in connection with FIG 3 Turning then to FIG 3 there is shown a flowchart of the phaser pro cessing system 13 of FIG 1 The process of FIG 3 starts in start box 20 In box 21 most of the variables used in the phaser system of FIG 3 are initialized Simi larly in box 22 most of the patterns used in the phaser system are initialized The phaser program 24 consists of a number of statements involving actions and objects as described above In box 23 the phaser program is compiled and a phaser listing 25 produced for assistance in trouble shooting The phaser program compiled in box 23 is executed in box 26 to translate the standard planes of data 27 into the customized planes of data 28 all in accordance with the user s wishes as expressed in phaser program 24 The phaser program 24 of FIG 3 is typically divided up into a number of working sets each working set defining the processing steps to be carried out o
56. ed as limiting in any sense Indeed the illustrative example was chosen to be relatively simple to aid in the understanding of the in vention The following phaser program is illustrative TABLE II define a using file1 20 25 30 10 The result of compiling and executing the phaser program of TABLE II is shown graphically in FIG 5 Each box in FIG 5 represents a working set Thus the contents of 1 are operated by way of line 50 by working set 51 identified as working set The output of working set 51 is routed to both working set 52 b and working set 53 The outputs of work ing sets 52 and 53 are both routed to the input to work ing set 54 d Thus the output of working set 54 on leads 55 is the ORed combination of working sets 52 and 53 subject to ANDed with the post ORing operations of working set d It is clear that any other Boolean combination of operations can be performed on the input data simply by appropriately specifying the work ing set inputs In this sense phaser applies a very large grain data flow one plane at a time to the editing of collections of plane oriented output Moreover the phaser commands exploit the two dimensional aspects of the planar output to transform two dimensional ar rays or patterns of alphanumeric data by filtering each page sized plane through a virtually arbitrarily pre scribed network of plane oriented filters It should
57. elective post processing of paginated output from digital data processing systems BACKGROUND OF THE INVENTION Many digital data processing application programs in use today produce output in the form of a sequence of two dimensional images or planes exemplified by the printed page or the display on a cathode ray tube Typi cal examples of such application programs include word processing programs spread sheet programs and data base manager programs The contents of these images include all of the information obtained from the operation of the application program arranged or for matted in a manner believed to be useful by the applica tion programmer Some limited ability to control or edit these output images are sometimes included in the appli cation package Unfortunately however such alternate output formats must be provided either by laborious line by line manual editing of the original output by hard coding of the new format by the application pro grammer or else a large and complex report generator must be included in the application program to allow the user to format his or her own output The major disadvantage of the inflexible output for mat is that it sometimes serves to conceal rather than reveal the desired data due either to the sparsity of the desired data among the total data output or due to the indirect manner in which it is displayed The disadvan tages of report generators associated with application
58. eneration of a plurality of pages of output In this context the term pages 5 023 811 3 includes successive cathode ray tube screen images other two dimensional planar output as well as printed pages Such output can be categorized as stan dard planar output 12 from computer processing system 11 The major problem with such output as anyone who has had to deal with it fully understands is that the specific data the user requires is most often buried some where in a very large volume of data spread over a large number of possibly non successive pages of data the majority of which is not of interest to that user It is to the solution of this problem that the present invention is directed In accordance with the present invention the stan dard planar output 12 from the computer processing system 11 is applied to a special post processing system 13 hereinafter called the phaser processing system The function of the phaser processing system 13 is to analyze the planar output from block 12 to select the portions of that output desired by the present user to further process such selected portions if required and to display the results of such further processing along with whatever portions of the original output are de sired The result of the operation of phaser processing system 13 is customized planar output 14 which in cludes all of the data wanted by the user and only the data wanted by
59. ern to pattern columns rom every pat to every pat strings boxes blocks _ _ __ segmeent list clouds 43 with 19 FIG 4B U S Patent June 11 1991 Sheet 3 of 4 5 023 811 FIG 4B 44 45 FROM where FIG 4A leftovers of 46 pages columns lines strings they lines from no to no columns v strings from to coord boxes lines from pattern to pattern columns rom every ptn to every ptn strings boxes blocks _ __ _ _ ___ segment list clouds pattterns cee contain do not contain U S Patent June 11 1991 Sheet 4 of 4 5 023 811 FIG 5 FROM 1 50 51 54 55 TO outfile 5 023 811 1 METHOD AND APPARATUS FOR SELECTIVELY PROCESSING PAGINATED OUTPUT This application is a continuation of application Ser No 07 257 218 filed Oct 13 1988 now abandoned A portion of the disclosure of this patent document contains material which is subject to copyright protec tion The copyright owner has no objection to the fac simile reproduction by anyone of the patent document or the patent disclosure as it appears in the Patent and Trademark Office patent file or records but otherwise reserves all copyright rights whatsoever TECHNICAL FIELD This invention relates to digital data processing and more particularly to the s
60. es and characters or into any other two dimensional coordi nate identifiers Although general purpose report generators are available in the prior art in order to use these report generators the data base itself must be reformatted to the specifications of the report generator and the data base manager supplied with the report generator used to access information from the data base The difficulty with this arrangement is the obverse of the difficulties pointed out above That is the data base universe has to be tailored to the particular report generator whereas above the report generator universe had to be tailored to the particular data base Neither arrangement deals efficiently with the actual data base arrangements pres ent in the real world The major advantage of the pres ent invention is the provision of tailored output from any data base by tailoring the user readable output of the data base rather than the data base itself Indeed it is possible for the system of the present invention to convert data which is not paginated into paginated data and hence it can be used to convert a stream of data originally intended for electronic consumption into a series of pages useful for human readers It is to be noted that the purpose of customizing the output of a particular computer processing system 11 may be to transfer the customized data on to another computer processing system rather that to present the data to the user The ph
61. essing system for processing planar oriented computer output data to provide customized output for each user The system called phaser specifies two di mensional portions of such planar output for processing to permit page oriented editing of the planar output Portions of pages can be identified by column and line numbers by box and block coordinates and by match ing plane oriented patterns Prior to processing such varied page specifications are converted to segment lists of line segments to permit uniform processing Phaser statements are compiled and executed in working sets which can be invoked in series or in parallel on the same data input to permit union and intersection opera tions 6 Claims 4 Drawing Sheets STANDARD PLANAR PHASER PROCESSING CUSTOMIZED PLANAR OUTPUT U S Patent June 11 1991 11 COMPUTER PROCESSING 12 STANDARD PLANAR OUTPUT 13 PHASER PROCESSING 14 CUSTOMIZED PLANAR OUTPUT DATA THEN STANDARD PLANES OF Sheet 1 of 4 INITIALIZE VARIABLES INITIALIZE PATTERNS 3 CUSTOMIZED PLANES OF DATA 5 023 811 5 U S Patent June 11 1991 Sheet 2 of 4 5 023 811 FIG 4A 40 41 replace L choose remove everything but strings pages from to lines from no to columns J strings E Ga from coord to boxes lines from patt
62. first portions of said pages means for generating starting and ending line and column specifications to identify second portions of said pages and means for representing said first portions and said second portions of said pages in a common format 2 The post processor according to claim 1 wherein said means for identifying comprises means for selectively identifying pages columns lines strings and blocks of data in said reports 3 The post processor according to claim 1 wherein said means for utilizing said stored patterns comprises means for choosing removing replacing and replac ing everything but said patterns 15 20 30 35 45 50 55 65 90 4 In a data processing system producing a plurality of reports each comprising a plurality of pages each said page comprising a plurality of lines of output text data a method of processing such text data comprising the steps of 7 selectively identifying two dimensional patterns of plurality of said lines of text data storing said patterns for later use and processing said pages utilizing said stored patterns to produce modified additional reports said step of selectively identifying comprising the steps of generating patterns to be matched to identify first portions of said pages generating starting and ending line and column speci fications of second portions of said pages and representing said first portions and said second por tions of said page
63. formatter in accordance with the present invention FIG 2 shows a graphical example of the type of post processing that can be done on paginated output using the phaser system of the present invention FIG 3 shows a more detailed block diagram of the phaser post processing page oriented processing system in accordance with the present invention FIGS 4A and 4B show graphical representations of the syntax diagram for a compilation procedure that can be utilized in the phaser system of the present invention and FIG 5 shows a flowchart of an illustrative phaser procedure showing the ordering of working set rou tines To facilitate reader understanding identical refer ence numerals are used to designate elements common to the figures DETAILED DESCRIPTION In FIG 1 there is shown a general block diagram of a computer system in which the present invention can be used The system of FIG 1 includes a data source 10 which supplies the data to be processed by the com puter system of FIG 1 Typically such data sources are located on magnetic disks usually after being assembled from large numbers of data generating stations such as point of sale terminals banking terminals business in ventory control stations and so forth Data from source 10 is supplied to a standard computer processing system 11 which performs well known types of computer pro cessing steps on the data from source 10 A typical result of such processing is the g
64. gt F IN_PARSEGEN 1 PARSEGEN STMT INITTIME F ENDSTUFF1_PARSEGEN INITCODE INITCODE SIMT IN_PARSEGEN ENDSTUFF1_PARSEGEN STMTENDTIME ENDCODE ENDCODE STMT DEF_PARSEGEN STMT DEFSIMT S FRSTDEF_PARSEGEN OUTLISTING OUTLISTING_ERROR 45 10 15 35 5 023 811 71 72 STATEMENT BEFORE VALID DEFINE DISCARDED IN_PARSEGEN FRSIDEF_PARSEGEN CURWSET WSET DEFSET WSET USINGS IN2_PARSEGEN SIMT F RETURN SIMT COMMENT S IN2_ PARSEGEN STMT COMPILETIME F INITSTUFF_PARSEGEN YUPI CODE STMT IN2_PARSEGEN 5 lt YUPI gt F IN2_PARSEGEN INITSTUFF_PARSEGEN STMT INITTIME F ENDSTUFF_PARSEGEN INITCODE INITCODE SIMT IN2_PARSEGEN ENDSTUFF_PARSEGEN STMT ENDTIME F WSSTUFF_PARSEGEN ENDCODE ENDCODE SIMT IN2_PARSEGEN WSSTUFF_PARSEGEN STMT INWSTIME F PRSTUFF_PARSEGEN NONCOMP lt CURWSET gt NONCOMP lt CURWSET gt STMT IN2_PARSEGEN PRSTUFF_PARSEGEN SIMTPRSIMT F ISEND_PARSEGEN IDENT OUTFILETAB lt DD gt NULL F PR_PARSEGEN OUTFILETAB lt DD gt IDENT MACHINE IBM OUTPUT DD XXXXX DD DIFFER MACHINE IBM OUIPUI DD XXXXX DD W PR PARSEGEN 7 lt CURWSET gt NONCOMP lt CURWSET gt PRINTPAGE PAGE DD XXXXX IN2_PARSEGEN ISEND_PARSEGEN SIMT ENDSI
65. lt BIGCOUNT gt ENLARGEPAGE MRGLINEBYLINE 45 10 15 35 45 5 023 81 1 46 COUNTI COUNTI 1 s ONEONLY MRGLINEBYLINE END_MRGLINEBYLINE STITL MRGONEAFTERANOTHER MRGONE S MRGONEAFTER NOTNULLPG PAGE1 NOTNULLPG PAGE2 COPY NULLARRAY SCRETURN NOTNULLPG PAGE1 COPY PAGE2 SC RETURN MRGONEAFTER NOTNULLPG PAGE2 1 SCRETURN MRGONEAFTER 1 lt 1 gt BOL COPY PAGE2 S RETURN PLEASE NOTE LINE ABOVE TAKES CARE OF BOTH NULL CASES ALSO MRGONEAFTER IDENT PAGE2 lt 1 gt BOL 1 SCRETURN MRGONEAFTER IDENT PAGEI lt 0 gt EOF IDENT PAGE2 lt 0 gt COPY EOFARRAY SCRETURN MRGONEAFTER COPY PAGE1 lt 0 NULL CNI2 0 CNT 0 MTP1 MRGONEAFTER CNT CNT 1 EO ESONE ETERS CNT gt DIFFER MRGONEAFTER lt gt BOL S MTP1_MRGONEAFTER 2 MRGONEAFTER 2 CNI2 1 p MRGONEAFTER lt CNI gt ENLARGEPAGE MRGONEAFTER 2 lt CNT2 gt DIFFER PAGE2 lt 2 gt BOL F RETURN MRGONEAFTER lt 2 lt 2 gt CNT CNT 1 15 2 END_MRGONEAFTER 9 STITL MRGSIDEBYSIDE MRGSIDEBYSIDE NOTNULLPG PAGE2 NOTNULLPG PAGE1 COPY NULLARRAY MRGSIDEBYSIDE NOTNULLPG PAGE2 COPY PAGE1 SCRETURN MRGSIDEBYSIDE NOTNULLPG PAGEI COPY PAGE2 SCRETURN MRGSIDEBYS
66. n one set of input data to produce one particular data output A phaser program can include any number of such work ing sets each working set working on a different data input set or providing different processing steps for the same input data The basic phaser statement types are defined below where lt argument gt is a variable name where capital letters identify the predefined actions where objects are as defined above and where square brackets around an argument indicate that the argument is optional 1 define lt working set name gt using lt using group gt This statement is used to mark the beginning of a working set The working set name is the unique name of this working set The using group in the using clause is a list of the inputs to this working set including filenames in parentheses or set names of other working sets 20 25 35 40 45 50 55 60 65 6 2 end lt working set name gt This statement is used to mark the end a working set 3 choose lt objectl gt where lt object2 gt lt contain phrase gt lt pattern gt The current text set will be modified to include only the lt object1 gt portion of the input text if the lt object2 gt portion of the input text meets the specifications of the where clause remove lt objecti gt where lt object2 gt lt contain phrase gt lt pattern gt The current text set will be modified so that it will not include the lt object
67. nd position specification named in the WHERE clause appearing at reference numeral 44 Finally at reference numeral 45 the text comparison patterns are accounted for Using the syntax diagram of FIGS 4A and 4B the generation of a compiler for phaser statements is straightforward and obvious to persons skilled in the compiler art It will be noted that the phaser system allows two di mensional objects in the planar output of a computer processing system to be described in a wide variety of 3 ways page numbers column and line numbers patterns in strings boxes blocks and clouds and so forth In order to process the contents of such objects it is essen tial to provide a common representation of the informa tion location in the planar output regardless of how such information was described by the user The com mon representation used in the phaser system is called the segment list A segment list is a list composed of all of the line segments making up the data identification of an object and its descriptors Such segment lists are composed of items which take the form b c where a is the line number in which the line segment is located b is the starting column number of the line segment and c is the ending column number of the line segment The asterisk is used as a wild card value in segment list items to simplify representations Thus b c represents the segments between columns b and f
68. or all lines b represents the segment on line a from column b to the end of the line and 1 represents an entire page Data in the planar output of a computer processing system is located in terms of all of the locators described above including pattern matching Once located however all informa tion specifications internal to the phaser system are kept in the form of segment lists and passed between pro cesses in this form It is therefore unnecessary to pro vide special processing routines for all of the different forms of data identifiers available in the system FIGS 4A 4B All internal processing is done on segment lists and all data representations are converted to and from the segment list representation whenever any process 6 10 5 20 5 30 5 45 50 55 60 5 8 ing is necessary Some regions translate directly into segment list notation lines and columns but some can be translated to segment list notation only after the data is identified e g by pattern matching Since segment list items can arise from a variety of phaser statements it is possible for various items to include portions of overlapping segments While the system would operate properly with such overlapping items the processing would be less than optimum since certain segments would be treated more than once In order to eliminate such multiple processing each seg ment list just prior to proces
69. permit common processing of data identified by these different locators they are both converted to a single descriptor form for example lists of line segments Such a segment list can then be used to control the processing of the data so identified to permit the selective display replacement or omission of the described data In particular data located by pattern matching for example is converted to line seg ment location and placed on the segment list in line segment format The plane oriented post processing system of the present invention therefore can process the data identi fied in the segment list by deriving other data from the data identified on the segment list or merely displaying the identified data in any desired format A major advantage of the output oriented post proc essing formatter of the present invention over the data oriented pre processing formatters of the prior art is the ability to use the same formatter for many different application programs from word processing programs to data base managing programs and from spread sheet programs to information retrieval programs BRIEF DESCRIPTION OF THE DRAWINGS A complete understanding of the present invention may be gained by considering the following detailed description in conjunction with the accompanying drawing in which FIG 1 shows a general block diagram of a page ori ented computer application program system showing the post processing phaser
70. programs are the time and difficulty in learning how to use the report generator only to find that it is then necessary to learn a new report generator for a new and different application program The disadvantages of manual editing are obvious SUMMARY OF THE INVENTION In accordance with the illustrative embodiment of the present invention these and other problems are solved by providing a general purpose application program output post processor system which permits the user to selectively format process and display portions of the data contained in a series of two dimensional images for display or for printing The post processing system in accordance with the present invention hereinafter called is independent of the application pro gram with which it is used and hence can be used with a wide variety of different application programs More specifically the post processing system of the present invention looks at the two dimensional plane oriented outputs from any application program and selectively identifies one or two dimensional portions of those outputs either by pattern content or by location 15 20 25 30 40 45 50 55 60 65 2 on the page That is information is located either by the content of the information or by line and character offset column location on the page It should be noted that the patterns and or the physical locations need not be contiguous In order to
71. propriate data struc tures The buildcode buildmerge and buildintersperse routines create the actual executable code for the action statements merge statements and intersperse state ments respectively The endset routine terminates the working set and triggers the actual compilation of the working set code In TABLE I the process routine actually executes the compiled phaser executable code First the endset routine is called in case the final END statement is missing The fileroutine routine loops through the input files identified in the define statements up to an end of file EOF passing the input planes of data one by one on to the rout routine The rout routine finds each working set which specifies this file in its using clause 15 and executes the compiled working set against that plane The rout routine also finds the working sets which must follow other working sets in accordance with the using clause of the define statements and in sures proper ordering of the execution of the working sets Execution of the working set code continues until the input has been exhausted and all planes have been processed SPITBOL code descriptions of each of these routines can be found in the Appendix to this applica tion An illustrative example of a phaser user program will be given to aid in the understanding of the present in vention It is to be understood that this example is illus trative only and should not be treat
72. rent working set plane for later retrieval under the key lt name gt 10 translate from lt string1 gt to lt string2 gt Replace single character lt string1 gt with single characters in lt string2 gt This could be done with replace but not as efficiently 11 write lt string gt to lt filename gt Store a literal string in file 12 print to lt filename gt Print the contents of the cur rent working set to lt filename gt The objects of the above action statements can be any one or two dimensional regions on an input plane not necessarily contiguous Such regions can be defined in terms of page numbers for groups of pages line num bers ranges or patterns for groups of lines column numbers ranges or patterns for groups of columns coordinates or patterns for strings and coordinates or patterns for a rectangular box Other definitions of re gions include clouds defined by patterns and blocks defined by lists of line segments These rela tionships between the actions and the regions will be discussed in connection with a discussion of the syntax diagrams of FIGS 4A and 4B Before turning to FIG 4A it should be noted that a phaser statement is a section of source code beginning with one of the action words identified above define end replace choose remove etc and ending with a semicolon A phaser working set is a plurality of phaser statements introduced by a define statement and te
73. rmi nated by an end statement A phaser program is one or more working sets Note that the input to a working set 6 5 023 811 7 _ be the output of or more other working sets as well as the contents of one or more data files By pro cessing working sets in a user defined order the phaser system is able to perform logical unions and intersec tions of the working set parameters That is sequential working sets are ANDed and parallel working sets are ORed With the above as a background the syntax diagram of FIGS 4A and 4B can now be considered The syntax diagrams of FIGS 4A 4B are so called railroad dia grams In these diagrams movement takes place through the diagram from left to right and various branches can be entered as if railroad switches were operated to permit access to that branch The direction of the branch curves suggests the unidirectional nature of the branching In FIG 4A the action words of the working set statements are found at reference numeral 40 while the objects affected by these actions and their respective position specifications are found at reference numeral 41 Note that all possible combinations of actions ob jects and position specifications are accounted for in the syntax diagram At reference numeral 42 the replace ment value is available for the replace statements In FIG 4B the conditional where clauses are taken care of 2 at reference numeral 43 with the objects a
74. s in a common format 5 The method according to claim 4 wherein said step of selectively identifying comprises the step of identifying pages columns lines strings and blocks of data in said reports 6 The method according to claim 4 wherein said step of processing comprises the step of choosing removing replacing or replacing every thing but said so identified patterns
75. sF NS3 NEWCURRENT NEXT NEWCURRENT CURRENT NEXT CURRENT NSO _NS3 NEXT NEWCURRENT DIFFER FINISH CURRENT IDENT NEXT CURRENT NULL SEGMENT LINEN CURRENT FINISH CURRENT 1 F NS4 NEWCURRENT NEXT NEWCURRENT NEXT NEWCURRENT SEGMENT 1 STRPRET 564 CURRENT IDENT FINISH CURRENT IDENT NEXT CURRENT NEXI CURRENT S STRPRET NS4 NEXT NEWCURRENT IDENT FINISH CURRENT IDENT NEXT CURRENT NULL SEGMENT LINEN CURRENT 1 1 4 4 NEWCURRENT NEXT NEWCURRENT NEXT NEWCURRENT 1 STRPRET ASSUMES IDENT FINISH CURRENT AND DIFFER NEXT CURRENT NULL NS4A CURRENT DIFFER LINEN NEXT CURRENT LINEN CURRENT 35 45 710 15 5 023 811 59 60 NEXT CURRENT F DUPLLINESINNOTSEGS S NSO0 WHOLELINE i K NEXT NEWCURRENT SEGMENT CNTR 1 NEWCURRENT NEXT NEWCURRENT NSOA STRPRET NOTSEGS NEXT NEWHEAD RETURN NOTRESTOFLINES NEXT NEWCURRENT NEQ START CURRENT 1 SEGMENT 1 START CURRENT 1 F NS5 NEWCURRENT gt NSS DIFFER FINISH CURRENT DIFFER NEXT CURRENT NULL IDENT LINEN NEXT CURRENT SEGMENT FINISH CURRENT 1 START NEXT CURRENT 1 F NS6 NEWCURRENT NEXT NEWCURRENT 4 CURRENT NEXT CURRENT NS5 NS6 NEXI NEWCURRENT DIFFER FINISH CURREN
76. sing is sorted duplicate segments eliminated and overlapping segments com bined into a single segment A simple comparison of line numbers and column numbers readily permits such segment list optimization i The phaser system represented in block form in FIG 3 can also be represented by the following pseudo code in Table I TABLE I main define variables define patterns parsegen while input getstat read statement if defset then start workingset code end then else if endset then terminate workingset code end then else if intersperse merge then buildintersperse end then else if action statement then buildcode end then else if merge statement then buildmerge end then end else end getstat end parsegen process if no endset then add endset end then end if fileroutine while no NULL readpage rout workingsets end while end fileroutine end process end main The define routines create all of the fixed variables and fixed patterns to be used in the balance of the pro gram The parsegen routine is the compiler using the syntax of FIGS 4A and 4B to create executable code from the phaser statements For example getstat gets the next phaser statement terminated by a semicolon The defset routine sets up the data structures specified as input and the working set data structure control structures necessary to identify and eventually execute 5 023 811 9 each working set against the ap
77. t least as complex to implement as the application itself and hence expen sive to provide Furthermore the degree of variation permitted in formatting or data content was limited dependent in part on the software supplier s view of the needs of the ultimate user For example many report generator programs simply permitted the user to dis play or not display the contents of specific fields in the data records with no more sophisticated selection crite ria and no further processing possible More impor tantly such report generators were specific to the appli cations software in which they resided Hence when a new application processing system 11 is used an en tirely new report generator must be provided or de vised In addition to the cost and delay time in provid ing such new report generators it is typical for the new report software to require retraining of the entire user 55 60 65 4 community since the methodology and the conventions for the new report generator are normally different from other prior report generators It is another signifi cant advantage of the present invention that the phaser processing system 13 can be applied to the paginated planar output from any computer processing system 11 provided only that the output is divided into pages or images on a terminal screen that is as long as the output is a succession of two dimensional data arrays which can be divided into rows and columns into lin
78. the user reformatted and further pro cessed in exactly the manner wanted by that user Other users of the same standard planar output 12 can use the same phaser processing system 13 to provide another different customized output 14 suitable for the other user s needs In the prior art it was always possible for the supplier of the particular computer processing system 11 to customize the output for the imagined needs of future users or to customize the output for a particular user given adequate time and resources In either case how ever the customization was hard coded into the ap plication program not thereafter readily susceptible to changes by the user Different users of course required different customizations all at significant costs in time and other resources It is a significant advantage of the phaser processing system 13 of the present invention that the format and content of the customized planar output 14 is entirely under the control of the user 15 20 25 30 35 It was also possible in the prior art for the supplier of 45 the particular computer processing system 11 to include in the application software a more or less general pur pose report generator Such report generators had the capability of allowing the user to select the data and the format for the planar output 12 thus supplying one of 50 the needs met by the present invention Unfortunately however such report generators are a

Download Pdf Manuals

image

Related Search

Related Contents

CO Cristal 4-Gav 1 Pta  Baixar - Centro de Educação - Universidade Federal da Paraíba  Sony KV-34FQ75 User's Manual  Buffalo TeraStation III, 4.0TB  Connexion de la Balance SCD-3.3  Eglo NAIRA 1  ECHOTRAC CV100 - Teledyne Odom Hydrographic  Fab Four Sound Set User Manual  Pure TEMPUS-1S  DFT-700D,_English - Besøg masterpiece.dk  

Copyright © All rights reserved.
Failed to retrieve file