.STANDARD;.FL CAPITALIZE .TITLE = greater than or equal to .INDENT 15 _<_> Not equal to .INDENT 15 _<= less than or equal to .INDENT 15 _> greater than .INDENT 15 _< less than .INDENT 15 == is equal to .INDENT 15 = arithmatic replacement .INDENT 15 .skip .INDENT 15 ^^UNARY FUNCTIONS\\ .INDENT 15 ^^SQRT\\(x) square root of x .INDENT 15 ^^LN\\(x) natural log of x .INDENT 15 ^^EXP\\(x) e to the x .INDENT 15 ^^NOT\\(x) the complement of x .INDENT 15 ^^ABS\\(x) the magnitude of x .INDENT 15 ^^CONF\\05(N) 95% CONFIDENCE INTERVAL .INDENT 15 ^^CONF\\0l(N) 99% CONFIDENCE INTERVAL .SKIP 1 .INDENT 5 .SKIP ^FULLY PARENTHESIZED EXPRESSIONS ARE SUPPORTED .SKIP ^^BUILT IN CONSTANTS\\ .INDENT 15 ^^PIE\\------3.1415927 .INDENT 15 ^^BLDG-M\\ .SK ^EACH CALL TO ^^NXTKEY\\ WILL RETRIEVE THE LOGICAL SUCCESSOR OF THE PREVIOUS ^^KEY\\. .SKIP 1 .INDENT -10 ^^CALLABLE:\\ ^FROM 99999 C ^^CALL SETDEF(8,8,'1>99999') .SKIP 1 .INDENT -10 ^^FEATURES:\\ NONE .SKIP 1 .INDENT -10 ^^AUTHOR:\\ ^MIKE ^HIGGINS .SKIP 1 .INDENT -10 ^^WRITTEN:\\ ^JULY 1977 .SKIP 1 .INDENT -10 ^^SOURCE LANGUAGE:\\ ^^SUPERMAC .SKIP 1 .INDENT -10 ^^OBJECT MODULE NAME:\\ ^^SETDEF .SKIP 1 .INDENT -10 ^^LIBRARY:\\ ^^DP:[60,60]CETUS .SKIP 1 .INDENT -10 ^^LAST MODIFICATION:\\ NONE .SKIP 1 .INDENT -10 ^^MAINTENANCE:\\ ^SEE ^MIKE ^HIGGINS OR ^JACK ^MARTINELLI .SKIP 1 .INDENT -10 .SD;.FLAGS CAPITALIZE .TITLE SETKEY - FIELD SEQUENCE DEFINITION ROUTINE .PAGE .INDENT 50 KEY99 1 EXPDA01>EXP-99 TECH-A TECH-B 2 NO-NH4 WTIH-NH4 3 2*(ODD EVEN) SEPT-78' 4 ,8, ERR) .SKIP 1 .INDENT -10 ^^AUTHOR:\\ ^MIKE ^HIGGINS ^^CETUS CORP.\\ .SKIP 1 .INDENT -10 ^^WRITTEN:\\ ^JUNE 1977 .SKIP 1 .INDENT -10 ^^SOURCE LANGUAGE:\\ ^^SUPERMAC .SKIP 1 .INDENT -10 ^^OBJECT MODULE NAME:\\ ^^SETKEY .SKIP 1 .INDENT -10 ^^LIBRARY:\\ ^^DP:[60,60]CETUS .SKIP 1 .INDENT -10 ^^LAST MODIFICATION:\\ NONE .SKIP 1 .INDENT -10 ^^MAINTENANCE:\\ SEE ^JACK ^MARTINELLI OR ^MIKE ^HIGGINS .SKIP 1 .INDENT -10 .SD;.FLAGS CAPITALIZE .TITLE ^^SETMAX - SETTING DEFAULT STRING LENGTH .PAGE .INDENT 50 ) ^WHERE ^N IS THE NUMBER OF TIMES TO REPEAT THE SEQUENCE OF TOKENS IN <_. E.G., 3*(^A>1^A) WILL GENERATE THE SEQUENCE ^^A,B,C...Z,1A THREE TIMES. .SKIP;.INDENT -5 <[^N@](_)\\ ^WHERE ^N IS THE NUMBER OF TIMES TO REPEAT EACH TOKEN IN <_. E.G., 3@(^^A>1A)\\ WILL GENERATE THE SEQUEN CE ^^A,A,A,B,B,B,C,C,C...Z,Z,Z,1A,1A,1A.\\ ^NOTE THAT THE PARENS ARE MANDATORY EVEN IN SIMPLE CASES LIKE 3*(^A) OR 4@(^B). .SKIP;.INDENT -5 ^^TOKEN>TOKEN2.\\ ^THE '>' IS THE 'THROUGH' COMMAND. ^IT RETURNS ^^TOKEN1\\ THE 1ST CALL TO ^^NXTSEQ\\ THEN THE SUCESSOR OF EACH PREVIOUS ^^TOKEN\\ UNTIL IT HAS RETURNED TOKEN 2. NOTE THAT NO CHECKING IS DONE TO ASSURE THAT ^^TOKEN \\IS GREATER THAN TOKEN 2. .SKIP;.INDENT -5 <_<^^TOKEN>____ W\\HERE SEPARATOR IS SPACE, COMMA, OR TAB. AN EXAMPLE OF A MORE COMPLEX SEQUENCE IS: 5*((0^A1>^^OB9), 3@(AB,GG), 3*(QUALITY-CONT))\\ .SKIP;.INDENT -9 .SK;.I -5 _#^^BLANK TOKEN\\--- ^SINCE SPACES ARE TREATED AS SEPERATORS THIS CONVENTION WAS NECESSARY TO RETURN A