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];