// externalintegerfnspecOUTPUTSTREAM void outputstream(/*...*/); // externalrealfnspecSTOR(string(255)S) void stor(/*...*/); // externalstring(255)fnspecRTOS(realR,integerA,B) void rtos(/*...*/); // externalroutinespecREADLINE(string(*)nameS) void readline(/*...*/); // externalpredicatespecQUALIFIERPRESENT(string(255)S) void qualifierpresent(/*...*/); // ! 116 not declared CY = (^StoR (UYS) - StoR(LYS))/ 2 + StoR(LYS) // ! 117 not declared CXS = ^RtoS (CX, 0, 5) // ! PLC command to do a Processing Log Check // ! 1.1 April 1993 JGH produced a command file version with no wildcards // ! 2.1 12-Mar-1999 JGH produced first release with wildcards // ! 2.2 7-Apr-1999 JGH updated to report Grow and separate output table // ! 2.3 19-Jul-1999 JGH updated to not print control characters (eg. CR)! // ! 2.4 25-Jan-2000 JGH updated to allow longer limit strings, and now allows // ! for different lengths of .cinc file names // ! 2.5 2-Feb-2000 JGH updated to print out the centre points for LIMITS // ! 2.6 7-Feb-2000 JGH updated with revised spacing for summary limits // ! 2.7 6-Mar-2000 JGH updated to produce better output for the case of // ! input files being MEBES, but not being .CFLTS // ! 2.8 11-Dec-2000 JGH added a warning if GROW and SIZING in same direction // ! 2.8.1 4-Apr-2001 JGH Upped the length of Layer lines to be 63 chars // ! 2.9 6-Apr-2001 JGH PLIMITS now set to "" => better MEBES reporting // ! 2.9.1 24-Apr-2001 JGH Now reports resolution as ? if not specified // ! 2.10 15-May-2002 JGH GROW/SIZE test not applied to XOR fractures // ! 2.10.1 21-Aug-2002 JGH Made to ignore CATS_START.CINC // ! 2.11 11-Nov-2002 JGH Ported to Unix // ! 2.11.1 7-Feb-2003 JGH Added recursive call on Unix if no parameter // ! 2.11.2 29-Dec-2003 JGH Ignore comment lines within the .cinc file // ! 2.11.3 2-Mar-2004 JGH Ignore files if 1st comment starts "! #" // ! 2.11.4 9-Apr-2004 JGH Retains case for file and structure names // externalstring(31)PRODUCTCODE="PLC",FNAME="PLC",VERSION="2",RELEASE="11",REVISION="4" // AST 596: OWNDEC 539 543 589 // ! To port to Unix change {VMS} to !VMS! and !SUN! to {SUN} // !VMS!%from Imp %include Cliparse, RMS, Processes, Textutils, Log Names, Sys Misc // !SUN!%from Imp %include Cliparse, Textutils, Log Names // externalroutinespecFATALERROR(string(255)MESSAGE) void fatalerror(/*...*/); // externalroutinespecPRINTIDENTIFICATION void printidentification(/*...*/); // !SUN!%external %routine %spec Spawn Command %alias "IMP_SPAWN_COMMAND" (%string (255) command) // ! Constants for Limit Printing modes // constintegerSUMMARY=0 // AST 730: OWNDEC 716 717 723 // constintegerDETAIL=1 // AST 757: OWNDEC 743 744 750 // routineWARNINGMESSAGE(string(255)MESSAGE) void warningmessage(/*...*/) { // integerS=OUTPUTSTREAM // AST 815: OWNDEC 802 803 808 // SELECTOUTPUT(0) selectoutput(/*...*/); // PRINTSTRING(FNAME.": ") printstring(/*...*/); // PRINTSTRING(MESSAGE) printstring(/*...*/); // NEWLINE newline(); // SELECTOUTPUT(1) selectoutput(/*...*/); // PRINTSTRING(FNAME.": ") printstring(/*...*/); // PRINTSTRING(MESSAGE) printstring(/*...*/); // NEWLINE newline(); // SELECTOUTPUT(S) selectoutput(/*...*/); // end } // routinePS(string(255)S) void ps(/*...*/) { // ! A print string which filters out control characters // integerI // AST 1047: DECLARATION 1040 1044 // forI=1,1,LENGTH(S)cycle for (;;) { // PRINTSYMBOL(CHARNO(S,I))ifCHARNO(S,I)>=' ' if (/*...*/) /*...*/; // repeat } // end } // routinePRINTLIMITS(string(255)S,FILE,integerMODE) void printlimits(/*...*/) { // string(255)A,B,LXS,UXS,LYS,UYS,CXS,CYS // AST 1227: DECLARATION 1199 1224 // longrealCX,CY // AST 1249: DECLARATION 1239 1246 // on3,4,9start if (setjmp()) { // NEWLINE newline(); // return // AST 1300: RETURN // finish } // returnifS=""andFILE="" if (/*...*/) /*...*/; // ifS=""start if (/*...*/) { // ! Might be a direct input MEBES file, check file name length // ifFILE->(":").FILEstart if (/*...*/) { // finish } // ifFILE->("]").FILEstart if (/*...*/) { // finish } // ifFILE->FILE.(";")start if (/*...*/) { // finish } // ifLENGTH(FILE)=12start if (/*...*/) { // PRINTSTRING(" from MEBES file") printstring(/*...*/); // else } else { // PRINTSTRING(" default from input file") printstring(/*...*/); // finish } // NEWLINE newline(); // return // AST 1602: RETURN // elseifS->("EXT") } else if (/*...*/) { // PRINTSTRING(" extents from input file") printstring(/*...*/); // NEWLINE newline(); // return // AST 1665: RETURN // finish } // TOUPPER(S) toupper(/*...*/); // S=A.BwhileS->A.("(INPUT ").B while (/*...*/) /*...*/; // S=A.BwhileS->A.(")").B while (/*...*/) /*...*/; // S=A." ".BwhileS->A.(" ").B while (/*...*/) /*...*/; // S=A.",".BwhileS->A.(" ").B while (/*...*/) /*...*/; // ifS->LXS.(",").Astart if (/*...*/) { // finish } // ifA->LYS.(",").Astart if (/*...*/) { // finish } // ifA->UXS.(",").UYSstart if (/*...*/) { // finish } // ifMODE=DETAILstart if (/*...*/) { // SPACES(10-LENGTH(LXS)) spaces(/*...*/); // else } else { // SPACE space(); // finish } // PRINTSTRING(LXS) printstring(/*...*/); // PRINTSYMBOL(',') printsymbol(/*...*/); // PRINTSTRING(LYS) printstring(/*...*/); // ifMODE=DETAILstart if (/*...*/) { // SPACES(20-LENGTH(LYS)-LENGTH(UXS)) spaces(/*...*/); // else } else { // PRINTSTRING(" to ") printstring(/*...*/); // finish } // PRINTSTRING(UXS) printstring(/*...*/); // PRINTSYMBOL(',') printsymbol(/*...*/); // PRINTSTRING(UYS) printstring(/*...*/); // ! Now calculate centre // CX=(STOR(UXS)-STOR(LXS))/2+STOR(LXS) // AST 2362: BINOP 4 cx 2358 // CY=(STOR(UYS)-STOR(LYS))/2+STOR(LYS) // AST 2407: BINOP 4 cy 2403 // CXS=RTOS(CX,0,5) // AST 2437: BINOP 4 cxs rtos // LENGTH(CXS)=LENGTH(CXS)-1whileCHARNO(CXS,LENGTH(CXS))='0' while (/*...*/) /*...*/; // LENGTH(CXS)=LENGTH(CXS)-1ifCHARNO(CXS,LENGTH(CXS))='.' if (/*...*/) /*...*/; // CYS=RTOS(CY,0,5) // AST 2578: BINOP 4 cys rtos // LENGTH(CYS)=LENGTH(CYS)-1whileCHARNO(CYS,LENGTH(CYS))='0' while (/*...*/) /*...*/; // LENGTH(CYS)=LENGTH(CYS)-1ifCHARNO(CYS,LENGTH(CYS))='.' if (/*...*/) /*...*/; // ifMODE=DETAILstart if (/*...*/) { // SPACES(20-LENGTH(UYS)-LENGTH(CXS)) spaces(/*...*/); // else } else { // PRINTSTRING(" centre ") printstring(/*...*/); // finish } // PRINTSTRING(CXS) printstring(/*...*/); // PRINTSYMBOL(',') printsymbol(/*...*/); // PRINTSTRING(CYS) printstring(/*...*/); // NEWLINE newline(); // end } // begin { // constintegerMAXLAYER=1000 // AST 2894: OWNDEC 2880 2881 2887 // constintegerTRUE=1,FALSE=0 // AST 2931: OWNDEC 2907 2908 2924 // constintegerPRIMARY=0,SECONDARY=1,SWITCH=1 // AST 2978: OWNDEC 2944 2945 2971 // ownstring(255)GASH // AST 3003: OWNDEC 2991 2995 2996 // string(255)LASTDIRECTORY,THISDIRECTORY,CODE,PARAM // AST 3035: DECLARATION 3019 3032 // string(127)FILE,USER="" // AST 3069: OWNDEC 3047 3051 3062 // constintegerEOF=16_1827A,NSC=16_10001,NMF=16_182CA,TOPBIT=16_10000000 // AST 3126: OWNDEC 3082 3083 3119 // string(15)DEFNAM // AST 3149: DECLARATION 3142 3146 // !VMS! %record(FABFM) F = 0 // !VMS! %record(RABFM) R = 0 // !VMS! %record(NAMFM) N = 0 // integerSTATUS,COUNT,FILES,TOTAL,SOURCE // AST 3213: DECLARATION 3194 3210 // integerHADFUNCTION=FALSE // AST 3238: OWNDEC 3225 3226 3231 // string(255)JUNK // AST 3261: DECLARATION 3254 3258 // string(255)ES,RS // AST 3286: DECLARATION 3276 3283 // string(31)arrayCINCNAMES(1:MAXLAYER) // AST 3324: DECLARATION 3301 3322 // string(63)arrayFUNCTIONS(1:MAXLAYER) // AST 3362: DECLARATION 3339 3360 // ownstring(31)arrayRESOLUTIONS(1:MAXLAYER)="?"(*) // AST 3407: OWNDEC 3374 3378 3400 // ownstring(31)arrayREVERSES(1:MAXLAYER) // AST 3443: OWNDEC 3420 3424 3436 // string(31)arrayGROWS(1:MAXLAYER) // AST 3482: DECLARATION 3459 3480 // string(127)arrayOSELECTS(1:MAXLAYER) // AST 3520: DECLARATION 3497 3518 // string(127)arrayPSELECTS(1:MAXLAYER) // AST 3558: DECLARATION 3535 3556 // string(63)arrayPINPUTS(1:MAXLAYER) // AST 3596: DECLARATION 3573 3594 // string(127)arrayPLIMITS(1:MAXLAYER) // AST 3634: DECLARATION 3611 3632 // string(31)arrayPSIZINGS(1:MAXLAYER) // AST 3672: DECLARATION 3649 3670 // string(31)arrayPSCALINGS(1:MAXLAYER) // AST 3710: DECLARATION 3687 3708 // string(31)arrayPORIENTS(1:MAXLAYER) // AST 3748: DECLARATION 3725 3746 // string(63)arrayPLAYERS(1:MAXLAYER) // AST 3786: DECLARATION 3763 3784 // string(63)arrayPSTRUCTURES(1:MAXLAYER) // AST 3824: DECLARATION 3801 3822 // string(127)arraySSELECTS(1:MAXLAYER) // AST 3862: DECLARATION 3839 3860 // string(63)arraySINPUTS(1:MAXLAYER) // AST 3900: DECLARATION 3877 3898 // string(127)arraySLIMITS(1:MAXLAYER) // AST 3938: DECLARATION 3915 3936 // string(31)arraySSIZINGS(1:MAXLAYER) // AST 3976: DECLARATION 3953 3974 // string(31)arraySSCALINGS(1:MAXLAYER) // AST 4014: DECLARATION 3991 4012 // string(31)arraySORIENTS(1:MAXLAYER) // AST 4052: DECLARATION 4029 4050 // string(63)arraySLAYERS(1:MAXLAYER) // AST 4090: DECLARATION 4067 4088 // string(63)arraySSTRUCTURES(1:MAXLAYER) // AST 4128: DECLARATION 4105 4126 // routineCHECKFILE void checkfile(/*...*/) { // string(255)LINE,ULINE,CINCNAME // AST 4174: DECLARATION 4161 4171 // on9start if (setjmp()) { // return // AST 4201: RETURN // finish } // begin { // on9start if (setjmp()) { // WARNINGMESSAGE("Warning: Unable to open .cinc file ".RS) warningmessage(/*...*/); // signal9 // AST 4273: SIGNAL 4270 0 // finish } // OPENINPUT(1,RS) openinput(/*...*/); // SELECTINPUT(1) selectinput(/*...*/); // end } // ifRS->("]").CINCNAMEstart if (/*...*/) { // elseifRS->("/").CINCNAME } else if (/*...*/) { // else } else { // CINCNAME=RS // AST 4417: BINOP 4 cincname 4415 // finish } // returnunlessCINCNAME->CINCNAME.(".CINC")orCINCNAME->CINCNAME.(".cinc") if (/*...*/) /*...*/; // begin { // on9start if (setjmp()) { // CLOSEINPUT closeinput(); // ! Generate warning if Grow and Sizing in same direction // ifGROWS(COUNT)#"0"start if (/*...*/) { // ifPSIZINGS(COUNT)#"0"start if (/*...*/) { // if(STOR(GROWS(COUNT))>0andSTOR(PSIZINGS(COUNT))>0)or(STOR(GROWS(COUNT))<0andSTOR(PSIZINGS(COUNT))<0)start if (/*...*/) { // unlessFUNCTIONS(COUNT)="XOR"start if (/*...*/) { // SELECTOUTPUT(0) selectoutput(/*...*/); // PRINTSTRING("File ".CINCNAME." has both GROW and Primary SIZE in same direction") printstring(/*...*/); // NEWLINE newline(); // ifUSER=""start if (/*...*/) { // SELECTINPUT(0) selectinput(/*...*/); // PROMPT("Enter your initials to confirm this is OK: ") prompt(/*...*/); // READLINE(USER) readline(/*...*/); // TOUPPER(USER) toupper(/*...*/); // finish } // finish } // finish } // finish } // ifSSIZINGS(COUNT)#"0"start if (/*...*/) { // if(STOR(GROWS(COUNT))>0andSTOR(SSIZINGS(COUNT))>0)or(STOR(GROWS(COUNT))<0andSTOR(SSIZINGS(COUNT))<0)start if (/*...*/) { // SELECTOUTPUT(0) selectoutput(/*...*/); // PRINTSTRING("File ".CINCNAME." has both GROW and Secondary SIZE in same direction") printstring(/*...*/); // NEWLINE newline(); // ifUSER#""start if (/*...*/) { // SELECTINPUT(0) selectinput(/*...*/); // PROMPT("Enter your initials to confirm this is OK: ") prompt(/*...*/); // READLINE(USER) readline(/*...*/); // TOUPPER(USER) toupper(/*...*/); // finish } // finish } // finish } // finish } // return // AST 5196: RETURN // finish } // COUNT=COUNT+1 // AST 5225: BINOP 4 count 5221 // CINCNAMES(COUNT)=CINCNAME // AST 5248: BINOP 4 5245 5243 // PLAYERS(COUNT)="" // AST 5272: BINOP 4 5269 5266 // PSIZINGS(COUNT)="0" // AST 5296: BINOP 4 5293 5290 // PORIENTS(COUNT)="0" // AST 5320: BINOP 4 5317 5314 // PSCALINGS(COUNT)="1" // AST 5344: BINOP 4 5341 5338 // PLAYERS(COUNT)="" // AST 5368: BINOP 4 5365 5362 // PINPUTS(COUNT)="" // AST 5392: BINOP 4 5389 5386 // PLIMITS(COUNT)="" // AST 5416: BINOP 4 5413 5410 // PSTRUCTURES(COUNT)="" // AST 5440: BINOP 4 5437 5434 // SSIZINGS(COUNT)="0" // AST 5464: BINOP 4 5461 5458 // SORIENTS(COUNT)="0" // AST 5488: BINOP 4 5485 5482 // SSCALINGS(COUNT)="1" // AST 5512: BINOP 4 5509 5506 // SLAYERS(COUNT)="" // AST 5536: BINOP 4 5533 5530 // SINPUTS(COUNT)="" // AST 5560: BINOP 4 5557 5554 // SSTRUCTURES(COUNT)="" // AST 5584: BINOP 4 5581 5578 // SLIMITS(COUNT)="" // AST 5608: BINOP 4 5605 5602 // FUNCTIONS(COUNT)="" // AST 5632: BINOP 4 5629 5626 // GROWS(COUNT)="0" // AST 5656: BINOP 4 5653 5650 // OSELECTS(COUNT)="no" // AST 5680: BINOP 4 5677 5674 // PSELECTS(COUNT)="no" // AST 5704: BINOP 4 5701 5698 // SSELECTS(COUNT)="no" // AST 5728: BINOP 4 5725 5722 // REVERSES(COUNT)="no" // AST 5752: BINOP 4 5749 5746 // SOURCE=PRIMARY // AST 5767: BINOP 4 source 5765 // cycle // AST 5780: LOOP // READLINE(LINE) readline(/*...*/); // continueifLENGTH(LINE)<=3 if (/*...*/) /*...*/; // COUNT=COUNT-1andreturnifSUBSTRING(LINE,1,3)="! #" if (/*...*/) /*...*/; // ULINE=LINE // AST 5890: BINOP 4 uline 5888 // TOUPPER(ULINE) toupper(/*...*/); // CODE=SUBSTRING(ULINE,1,3) // AST 5937: BINOP 4 code substring // ifLINE->(" ").PARAMstart if (/*...*/) { // finish } // ifCODE="SWI"start if (/*...*/) { // SOURCE=SOURCE!!SWITCH // AST 6020: BINOP 4 source 6016 // elseifCODE="INP" } else if (/*...*/) { // ifSOURCE=PRIMARYstart if (/*...*/) { // GASH="" // AST 6078: BINOP 4 gash 6075 // ifPARAM->(":").GASHstart if (/*...*/) { // elseifPARAM->("]").GASH } else if (/*...*/) { // elseifPARAM->("/").GASH } else if (/*...*/) { // else } else { // GASH=PARAM // AST 6191: BINOP 4 gash 6189 // finish } // PINPUTS(COUNT)=GASH // AST 6224: BINOP 4 6221 6219 // else } else { // ifPARAM->(":").GASHstart if (/*...*/) { // elseifLINE->("]").GASH } else if (/*...*/) { // elseifLINE->("/").GASH } else if (/*...*/) { // else } else { // GASH=PARAM // AST 6347: BINOP 4 gash 6345 // finish } // SINPUTS(COUNT)=GASH // AST 6380: BINOP 4 6377 6375 // finish } // elseifCODE="LIM" } else if (/*...*/) { // ifSOURCE=PRIMARYstart if (/*...*/) { // PLIMITS(COUNT)=PARAM // AST 6455: BINOP 4 6452 6450 // else } else { // SLIMITS(COUNT)=PARAM // AST 6488: BINOP 4 6485 6483 // finish } // elseifCODE="FUN" } else if (/*...*/) { // FUNCTIONS(COUNT)=PARAM // AST 6542: BINOP 4 6539 6537 // HADFUNCTION=TRUE // AST 6557: BINOP 4 hadfunction 6555 // elseifCODE="RES" } else if (/*...*/) { // RESOLUTIONS(COUNT)=PARAM // AST 6601: BINOP 4 6598 6596 // elseifCODE="GRO" } else if (/*...*/) { // GROWS(COUNT)=PARAM // AST 6645: BINOP 4 6642 6640 // elseifCODE="SIZ" } else if (/*...*/) { // ifSOURCE=PRIMARYstart if (/*...*/) { // PSIZINGS(COUNT)=PARAM // AST 6710: BINOP 4 6707 6705 // else } else { // SSIZINGS(COUNT)=PARAM // AST 6743: BINOP 4 6740 6738 // finish } // elseifCODE="SCA" } else if (/*...*/) { // ifSOURCE=PRIMARYstart if (/*...*/) { // PSCALINGS(COUNT)=PARAM // AST 6818: BINOP 4 6815 6813 // else } else { // SSCALINGS(COUNT)=PARAM // AST 6851: BINOP 4 6848 6846 // finish } // elseifCODE="ORI" } else if (/*...*/) { // ifSOURCE=PRIMARYstart if (/*...*/) { // PORIENTS(COUNT)=PARAM // AST 6926: BINOP 4 6923 6921 // else } else { // SORIENTS(COUNT)=PARAM // AST 6959: BINOP 4 6956 6954 // finish } // elseifCODE="REV" } else if (/*...*/) { // REVERSES(COUNT)=PARAM // AST 7013: BINOP 4 7010 7008 // elseifCODE="SEL" } else if (/*...*/) { // ifULINE->(" OUT")start if (/*...*/) { // OSELECTS(COUNT)="YES" // AST 7082: BINOP 4 7079 7076 // elseifSOURCE=PRIMARY } else if (/*...*/) { // PSELECTS(COUNT)="YES" // AST 7126: BINOP 4 7123 7120 // else } else { // SSELECTS(COUNT)="YES" // AST 7160: BINOP 4 7157 7154 // finish } // elseifCODE="LAY" } else if (/*...*/) { // ifSOURCE=PRIMARYstart if (/*...*/) { // PLAYERS(COUNT)=PARAM // AST 7235: BINOP 4 7232 7230 // else } else { // SLAYERS(COUNT)=PARAM // AST 7268: BINOP 4 7265 7263 // finish } // elseifCODE="STR" } else if (/*...*/) { // ifSOURCE=PRIMARYstart if (/*...*/) { // PSTRUCTURES(COUNT)=PARAM // AST 7343: BINOP 4 7340 7338 // else } else { // SSTRUCTURES(COUNT)=PARAM // AST 7376: BINOP 4 7373 7371 // finish } // finish } // repeat } // end } // end } // routineOUTPUTINFORMATION void outputinformation(/*...*/) { // integerI,DIFFERENT // AST 7467: DECLARATION 7457 7464 // ifUSER#""start if (/*...*/) { // PRINTSTRING("User ".USER." confirmed that same sign sizing was OK") printstring(/*...*/); // NEWLINE newline(); // finish } // NEWLINE newline(); // ifCOUNT>1start if (/*...*/) { // DIFFERENT=FALSE // AST 7590: BINOP 4 different 7588 // forI=2,1,COUNTcycle for (;;) { // DIFFERENT=TRUEifPINPUTS(I)#PINPUTS(1)orPSTRUCTURES(I)#PSTRUCTURES(1) if (/*...*/) /*...*/; // repeat } // else } else { // DIFFERENT=TRUE // AST 7701: BINOP 4 different 7699 // finish } // ifDIFFERENT=FALSEstart if (/*...*/) { // PS("All primary files input from """.PINPUTS(1)."""") ps(/*...*/); // ifPSTRUCTURES(1)#""start if (/*...*/) { // PS(" with structure """.PSTRUCTURES(1)."""") ps(/*...*/); // finish } // NEWLINE newline(); // else } else { // PRINTSTRING("Filename Primary Input Structure") printstring(/*...*/); // NEWLINE newline(); // forI=1,1,COUNTcycle for (;;) { // PS(CINCNAMES(I)) ps(/*...*/); // SPACES(15-LENGTH(CINCNAMES(I))) spaces(/*...*/); // PS(PINPUTS(I)) ps(/*...*/); // SPACE space(); // SPACES(30-LENGTH(PINPUTS(I))) spaces(/*...*/); // PS(PSTRUCTURES(I)) ps(/*...*/); // NEWLINE newline(); // repeat } // finish } // ifHADFUNCTION=TRUEstart if (/*...*/) { // NEWLINE newline(); // ifCOUNT>1start if (/*...*/) { // DIFFERENT=FALSE // AST 8147: BINOP 4 different 8145 // forI=2,1,COUNTcycle for (;;) { // DIFFERENT=TRUEifSINPUTS(I)#SINPUTS(1)orSSTRUCTURES(I)#SSTRUCTURES(1) if (/*...*/) /*...*/; // repeat } // else } else { // DIFFERENT=TRUE // AST 8258: BINOP 4 different 8256 // finish } // ifDIFFERENT=FALSEstart if (/*...*/) { // PS("All secondary files input from """.SINPUTS(1)."""") ps(/*...*/); // ifSSTRUCTURES(1)#""start if (/*...*/) { // PS(" with structure """.SSTRUCTURES(1)."""") ps(/*...*/); // finish } // NEWLINE newline(); // else } else { // PS("Filename Secondary Input Structure") ps(/*...*/); // NEWLINE newline(); // forI=1,1,COUNTcycle for (;;) { // continueifFUNCTIONS(I)="" if (/*...*/) /*...*/; // PS(CINCNAMES(I)) ps(/*...*/); // SPACES(15-LENGTH(CINCNAMES(I))) spaces(/*...*/); // PS(SINPUTS(I)) ps(/*...*/); // SPACE space(); // SPACES(30-LENGTH(SINPUTS(I))) spaces(/*...*/); // PS(SSTRUCTURES(I)) ps(/*...*/); // NEWLINE newline(); // repeat } // finish } // finish } // NEWLINE newline(); // ifCOUNT>1start if (/*...*/) { // DIFFERENT=FALSE // AST 8720: BINOP 4 different 8718 // forI=2,1,COUNTcycle for (;;) { // DIFFERENT=TRUEifPLIMITS(I)#PLIMITS(1) if (/*...*/) /*...*/; // repeat } // else } else { // DIFFERENT=TRUE // AST 8812: BINOP 4 different 8810 // finish } // ifDIFFERENT=FALSEstart if (/*...*/) { // PS("All primary files have LIMITS ") ps(/*...*/); // PRINTLIMITS(PLIMITS(1),PINPUTS(1),SUMMARY) printlimits(/*...*/); // else } else { // PS("Filename Primary Limits LX,LY UX,UY CX,CY") ps(/*...*/); // NEWLINE newline(); // forI=1,1,COUNTcycle for (;;) { // PS(CINCNAMES(I)) ps(/*...*/); // SPACES(15-LENGTH(CINCNAMES(I))) spaces(/*...*/); // PRINTLIMITS(PLIMITS(I),PINPUTS(I),DETAIL) printlimits(/*...*/); // repeat } // finish } // ifHADFUNCTION=TRUEstart if (/*...*/) { // NEWLINE newline(); // ifCOUNT>1start if (/*...*/) { // DIFFERENT=FALSE // AST 9132: BINOP 4 different 9130 // forI=2,1,COUNTcycle for (;;) { // DIFFERENT=TRUEifSLIMITS(I)#SLIMITS(1)orSINPUTS(I)#SINPUTS(1) if (/*...*/) /*...*/; // repeat } // else } else { // DIFFERENT=TRUE // AST 9243: BINOP 4 different 9241 // finish } // ifDIFFERENT=FALSEstart if (/*...*/) { // PS("All secondary files have LIMITS ") ps(/*...*/); // PRINTLIMITS(SLIMITS(1),SINPUTS(1),SUMMARY) printlimits(/*...*/); // else } else { // PS("Filename Secondary Limits LX,LY UX,UY CX,CY") ps(/*...*/); // NEWLINE newline(); // forI=1,1,COUNTcycle for (;;) { // continueifSLIMITS(I)=""andSINPUTS(I)="" if (/*...*/) /*...*/; // PS(CINCNAMES(I)) ps(/*...*/); // SPACES(15-LENGTH(CINCNAMES(I))) spaces(/*...*/); // PRINTLIMITS(SLIMITS(I),SINPUTS(I),DETAIL) printlimits(/*...*/); // repeat } // finish } // finish } // NEWLINE newline(); // PS("Filename Layers Resol'n Grow Sizing Scaling Orient Reverse Select") ps(/*...*/); // NEWLINE newline(); // forI=1,1,COUNTcycle for (;;) { // PS(CINCNAMES(I)) ps(/*...*/); // SPACES(15-LENGTH(CINCNAMES(I))) spaces(/*...*/); // PLAYERS(I)="CFLT"ifPLAYERS(I)="" if (/*...*/) /*...*/; // PS(PLAYERS(I)) ps(/*...*/); // SPACE space(); // SPACES(14-LENGTH(PLAYERS(I))) spaces(/*...*/); // JUNK=RESOLUTIONS(I) // AST 9781: BINOP 4 junk resolutions // ifJUNK->(".")start if (/*...*/) { // LENGTH(JUNK)=LENGTH(JUNK)-1whileCHARNO(JUNK,LENGTH(JUNK))='0' while (/*...*/) /*...*/; // JUNK=JUNK."0"ifCHARNO(JUNK,LENGTH(JUNK))='0' if (/*...*/) /*...*/; // finish } // PS(JUNK) ps(/*...*/); // SPACE space(); // SPACES(12-LENGTH(JUNK)-LENGTH(GROWS(I))) spaces(/*...*/); // PS(GROWS(I)) ps(/*...*/); // SPACE space(); // JUNK=PSIZINGS(I) // AST 10033: BINOP 4 junk psizings // ifJUNK->(".")start if (/*...*/) { // LENGTH(JUNK)=LENGTH(JUNK)-1whileCHARNO(JUNK,LENGTH(JUNK))='0' while (/*...*/) /*...*/; // JUNK=JUNK."0"ifCHARNO(JUNK,LENGTH(JUNK))='0' if (/*...*/) /*...*/; // finish } // SPACES(6-LENGTH(JUNK)) spaces(/*...*/); // PS(JUNK) ps(/*...*/); // SPACE space(); // SPACES(7-LENGTH(PSCALINGS(I))) spaces(/*...*/); // PS(PSCALINGS(I)) ps(/*...*/); // SPACE space(); // SPACES(6-LENGTH(PORIENTS(I))) spaces(/*...*/); // PS(PORIENTS(I)) ps(/*...*/); // SPACES(4) spaces(/*...*/); // PS(REVERSES(I)) ps(/*...*/); // SPACE space(); // SPACES(6-LENGTH(REVERSES(I))) spaces(/*...*/); // PS(PSELECTS(I)) ps(/*...*/); // NEWLINE newline(); // ifFUNCTIONS(I)#""start if (/*...*/) { // PS(" fun ") ps(/*...*/); // PS(FUNCTIONS(I)) ps(/*...*/); // SPACES(8-LENGTH(FUNCTIONS(I))) spaces(/*...*/); // SLAYERS(I)="CFLT"ifSLAYERS(I)="" if (/*...*/) /*...*/; // PS(SLAYERS(I)) ps(/*...*/); // SPACE space(); // JUNK=SSIZINGS(I) // AST 10630: BINOP 4 junk ssizings // ifJUNK->(".")start if (/*...*/) { // LENGTH(JUNK)=LENGTH(JUNK)-1whileCHARNO(JUNK,LENGTH(JUNK))='0' while (/*...*/) /*...*/; // JUNK=JUNK."0"ifCHARNO(JUNK,LENGTH(JUNK))='0' if (/*...*/) /*...*/; // finish } // SPACES(34-LENGTH(SLAYERS(I))-LENGTH(JUNK)) spaces(/*...*/); // PS(JUNK) ps(/*...*/); // SPACE space(); // SPACES(7-LENGTH(SSCALINGS(I))) spaces(/*...*/); // PS(SSCALINGS(I)) ps(/*...*/); // SPACE space(); // SPACES(6-LENGTH(SORIENTS(I))) spaces(/*...*/); // PS(SORIENTS(I)) ps(/*...*/); // SPACES(11) spaces(/*...*/); // PS(SSELECTS(I)) ps(/*...*/); // NEWLINE newline(); // finish } // repeat } // end } // ifQUALIFIERPRESENT("IDENTIFY")start if (/*...*/) { // PRINTIDENTIFICATION printidentification(); // returnunlessQUALIFIERPRESENT("FILE") if (/*...*/) /*...*/; // finish } // !VMS! defnam = "*.cinc" // !VMS! F_bid = FAB BID; F_bln = FAB BLN // !VMS! R_bid = RAB BID; R_bln = RAB BLN // !VMS! R_fab == F // !VMS! R_rop = RAB ROP LOC // !VMS! F_fop = FAB FOP SQO ! FAB FOP NAM // !VMS! F_fac = FAB FAC GET // !VMS! F_dna = addr (defnam) + 1; F_dns = length (defnam) // !VMS! F_nam == N // !VMS! N_bid = NAM BID; N_bln = NAM BLN // !VMS! N_rsa = addr (RS) + 1; N_rss = 255 // !VMS! N_esa = addr (ES) + 1; N_ess = 255 // !VMS! // !VMS! File = Qualifier S ("FILE") // !VMS! F_fna = addr (file) + 1; F_fns = length (file) // !VMS! // !VMS! status = RMS PARSE (F) // !VMS! EXIT (status) %if status & 1 = 0 // COUNT=0 // AST 11299: BINOP 4 count 11296 // FILES=0 // AST 11315: BINOP 4 files 11312 // cycle // AST 11328: LOOP // !VMS! status = RMS SEARCH (F) // !VMS! %exit %if status = NMF // !VMS! EXIT (status) %if status & 1 = 0 // !VMS! length (RS) = N_rsl // !SUN! RS = Qualifier S ("FILES") // !SUN! %if RS="" %start // !SUN! Spawn Command ("plc *.cinc") %and %stop %if files=0 // !SUN! %exit // !SUN! %finish // continueifRS->("CATS_START.CINC")orRS->("cats_start.cinc") if (/*...*/) /*...*/; // FILES=FILES+1 // AST 11487: BINOP 4 files 11483 // !VMS! %if RS -> This Directory.("]") %start // CHECKFILE checkfile(); // !VMS! %finish // repeat } // OUTPUTINFORMATION outputinformation(); // begin { // on9start if (setjmp()) { // FATALERROR("Unable to open file PLC.LOG in the current directory") fatalerror(/*...*/); // finish } // OPENOUTPUT(3,"plc.log") openoutput(/*...*/); // end } // SELECTOUTPUT(3) selectoutput(/*...*/); // OUTPUTINFORMATION outputinformation(); // CLOSEOUTPUT closeoutput(); // endofprogram }