perm filename PASS1.SAI[PUB,TES] blob sn#195753 filedate 1976-07-30 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00002 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	BEGIN "PASS1"
C00005 ENDMK
C⊗;
BEGIN "PASS1"

DEFINE CLANCOMPILEFILE = "PASS1" ;

REQUIRE "ABC" LOAD!MODULE ;
REQUIRE "DEF" LOAD!MODULE ;
REQUIRE "PQR" LOAD!MODULE ;
REQUIRE "STUVX" LOAD!MODULE ;

DEFINE TERNAL = "INTERNAL", PRELOAD = "PRELOAD!WITH" ;

REQUIRE "SHARE" SOURCE!FILE ;

IFC TENEX THENC
	REQUIRE 30000 STRING!SPACE ;
	REQUIRE 2500 SYSTEM!PDL ;
	REQUIRE 2500 STRING!PDL ;
ELSEC 	IFC ITSVER THENC 
		REQUIRE 10000 STRING!SPACE ;
	ELSEC 
		REQUIRE  4000 STRING!SPACE ;
	ENDC
	IFC CMUVER THENC
		REQUIRE 650 SYSTEM!PDL;
		REQUIRE 400 STRING!PDL;
	ELSEC
		REQUIRE 400 SYSTEM!PDL;
		REQUIRE 200 STRING!PDL;
	ENDC
ENDC

COMMENT

                *** Variations at Different Sites ***

The default DEVICE differs among sites.  TENEX systems have a special
startup call.

                                 ***


This module is the Main Program, i.e., it has a starting address,
performs initialization and finalization.  The operative staement is
the call on MANUSCRIPT.

;

SYMNO ← REGULAR!SIZE - 1 ; COMMENT Assume for now that symbol table is regular size;
INPGS ← 0 ; INFILE ← NULL ; PREFMODE ← 1 ; DELINT ← "Y" ;
DEVICE ← IFC PARCVER THENC TTY ELSEC LPT ENDC ;

IFC TENEX THENC
TENEXSTART ;
ELSEC
IF RPGSW THEN RPGSTART ELSE SSTART; COMMENT Read file names and options;
ENDC

INITSIZES ;

COMMENT INITIALIZATION PROCEDURE CALLS ;

ALGOL! ;
FILLR! ;
FONTS! ;
USERS! ;
DATUM! ;
TOKEN! ;
PASTE! ;
COMMD! ;
AREAS! ;
BLOCK! ;
CTRLC! ;
PORTS! ;
VARBL! ;
XREFS! ;
TEMPL! ;
CNTRS! ;
RESPS! ;
VERTI! ;
QUADS! ;
FILES! ;
ERROR! ;
SORCE! ;

COMMENT THE COMPILATION ;

MANUSCRIPT ;

COMMENT FINALIZATION ;

FINIXREFS ;
FINIPAGES ;
FINIFILES ;

INTERMEDIATEFILES ;

FINIDATUM ;

RUNPASS2 ;

CLANFINISHED

END "PASS1" ;