perm filename BAYSAI.SAI[CMU,AIL] blob
sn#121079 filedate 1974-09-20 generic text, type T, neo UTF8
00100 COMMENT BAYSAI.SAI[A710SA00] -- A SET OF BAYSIC SAIL DECLARATIONS;
00200
00300 IFCR NOT DECLARATION(BAYSAISW!) THENC
00400 DEFINE BAYSAISW!=TRUE;
00500
00600 REQUIRE "[]()" DELIMITERS;
00700
00800 REDEFINE !=[COMMENT], THRU=[STEP 1 UNTIL], DOWNTO=[STEP -1 UNTIL],
00900 CR='15, LF='12, CRLF=[(CR&LF)], REPEAT=[WHILE TRUE DO],
01000 TAB='11, FORMFEED='14;
01100
01200 INTEGER DUM,ZILCH; STRING SDUM,SZILCH; REAL RDUM,RZILCH;
01300 ! CONVENTION: the DUMs are super temps--anyone can use any time.
01400 The ZILCHS are data sinks--they are never(never)read;
01500
01600 EXTERNAL INTEGER !SKIP!;
01700 DEFINE TURNONN!(A,AS,B,BS)=[REDEFINE A"[]"=[],AS=[],
01800 B=[BIGCOMMENT!],BS=[STOPCOMMENT!] ],
01900 TURNOFF!(A,AS,B,BS)=[TURNONN!(B,BS,A,AS)];
02000 DEFINE TURN!ON(B,E) = [REDEFINE B"[]"=[], E=[] ],
02100 TURN!OFF(B,E)= [REDEFINE B"[]"=[BIGCOMMENT!], E=[STOPCOMMENT!] ],
02200 DEFAULT!ON(B,E) =[IFCR NOT DECLARATION(B) THENC DEFINE B"[]"=[], E=[] ENDC],
02300 DEFAULT!OFF(B,E)=[IFCR NOT DECLARATION(B) THENC DEFINE B"[]"=[BIGCOMMENT!], E=[STOPCOMMENT!] ENDC];
02400 DEFINE CALLEXIT=[START!CODE '47000000012 END]; ! CLOSES CHANS AND CALLS EXIT;
02500
03300 DEFINE SOURCE!(FIL)=[REQUIRE "FIL" SOURCE!FILE],
03400 LOAD!(FIL)=[REQUIRE "FIL" LOAD!MODULE; REQUIRE " LOA"&"D!(FIL) " MESSAGE],
03500 SOURCE!L(FIL)=[REQUIRE "FIL[A710SA00]" SOURCE!FILE],
03600 LOAD!L(FIL)=[REQUIRE "FIL[A710SA00]" LOAD!MODULE; REQUIRE " LOA"&"D!L(FIL) " MESSAGE],
03700 SOURCE!CR(FIL)=[REQUIRE "FIL[A700CR00]" SOURCE!FILE],
03800 LOAD!CR(FIL)=[REQUIRE "FIL[A700CR00]" LOAD!MODULE; REQUIRE " LOA"&"D!CR(FIL) " MESSAGE],
03850 SOURCE!V(FIL)=[REQUIRE "FIL[A640AI00]" SOURCE!FILE],
03875 LOAD!V(FIL)=[REQUIRE "FIL[A640AI00]" LOAD!MODULE; REQUIRE " LOA"&"D!V(FIL) " MESSAGE];
03885 DEFINE MESC(MSG)=[REQUIRE CVPS(MSG) MESSAGE],
03900 MESSC(MSG) =[REQUIRE "
04000 "&CVPS(MSG) MESSAGE];
04100
04200 DEFINE !! =[COMMENT], !!!=[COMMENT], !!!!=[COMMENT],
04300 !SOURCE!=[SOURCE!], !SOURCE!L=[SOURCE!L];
04400
04500 DEFINE BIGCOMMENT!=[IFC FALSE THENC]; ! BIGCOMMENT!; DEFINE STOPCOMMENT!=[ENDC];
04600
04700 DEFINE ISALTMODE(A)=[((A)='33 OR (A)='175 OR (A)='176)];
04800
04900 ! ADD1 (SUB1) increments (decrements) its argument and returns the result;
05000 INTEGER SIMPLE PROCEDURE ADD1(REFERENCE INTEGER NUM);
05100 START!CODE "ADD1" AOS 1,NUM; END "ADD1";
05200 INTEGER SIMPLE PROCEDURE SUB1(REFERENCE INTEGER NUM);
05300 START!CODE "SUB1" SOS 1,NUM; END "SUB1";
05700
05800 IFCR NOT DECLARATION(HISEGGING) THENC DEFINE HISEGGING=-1; ENDC
05900 ! Default says low segment stuff;
06000
06100 REQUIRE UNSTACK!DELIMITERS;
06200
06300 ENDC
06400
06500 ! END OF BAYSAI.SAI[A710SA00];