{extern int CONV (/*params*/) /*function...*/ ;extern void VECORPOINT (/*params*/) /*routine...*/ ;extern void PAUSE (/*params*/) /*routine...*/ ;extern void LOAD42 (/*params*/) /*routine...*/ ;extern void SET42 (/*params*/) /*routine...*/ ;extern void CLEAR42 (/*params*/) /*routine...*/ ;extern void CH3 (/*params*/) /*routine...*/ ;extern void MODE42 (/*params*/) /*routine...*/ ;extern void LBR (/*params*/) /*routine...*/ ;extern void RBR (/*params*/) /*routine...*/ ;const int INITGRAPHP;
extern int GRAPHP42;extern int CUR42MODE;extern int DDATA, DSTART, DLAST, GRAPHP;extern int VECTORM, POINTM, CHARM;extern int BLEEP, CHTXT, CHPIC, GRADV, ADD2, SET, ADD1, SETN, WAIT, PMOV, CLR, ACK;static int PEN, NORMAL, DJUMP, FRAMETIME;
const int COREBOTTOM;
const int CALL, POSNAT, LINETO;
int TEXTFLAG;
int GMODE;
int CURPIC;
int CURMOVIE;
int CURFRAME;
int DEFPICTURE;
int CURMODE;
int FRAMEFLAG;
int GRABLIST;
int PICTUREPOINTER;
const int TURTLESTART;
const _imp_string17 GT42EXEC;
static int SHOWTURTLE42;
/* record format... */
typedef struct PICDIR {

} PICDIR;
static picdir PICDIR[( 1022)-(0)+1], INDEX42[( 1022)-(0)+1];
_imp_string10 SAVEPROMP;
static int CAPFLAG;
int XCRANE;
int YCRANE;
int HDCRANE;
const int CRANEMARK, CRANEMASK;
extern void DRESUME (/*params*/) /*routine...*/ ;extern void REROUTECONTINGENCY (/*params*/) /*routine...*/ ;extern int READID (/*params*/) /*function...*/ ;extern void EDINNER (/*params*/) /*routine...*/ ;extern void DISCONNECT (/*params*/) /*routine...*/ ;extern void CLOSESM (/*params*/) /*routine...*/ ;extern _imp_string UINFS (/*params*/) /*function...*/ ;/* record format... */
typedef struct F {

} F;
extern void FINFO (/*params*/) /*routine...*/ ;extern void FILL (/*params*/) /*routine...*/ ;extern void MOVE (/*params*/) /*routine...*/ ;extern _imp_string DATE (/*params*/) /*function...*/ ;extern void LIST (/*params*/) /*routine...*/ ;extern _imp_string TIME (/*params*/) /*function...*/ ;extern double CPUTIME (/*params*/) /*function...*/ ;extern int SMADDR (/*params*/) /*function...*/ ;extern void DEFINE (/*params*/) /*routine...*/ ;extern void PERMIT (/*params*/) /*routine...*/ ;extern void NEWSMFILE (/*params*/) /*routine...*/ ;extern void CHERISH (/*params*/) /*routine...*/ ;extern void PROMPT (/*params*/) /*routine...*/ ;extern void DESTROY (/*params*/) /*routine...*/ ;extern void CLOSESTREAM (/*params*/) /*routine...*/ ;extern float RANDOM (/*params*/) /*function...*/ ;extern _imp_string INTERRUPT (/*params*/) /*function...*/ ;extern void RENAME (/*params*/) /*routine...*/ ;extern void CLEAR (/*params*/) /*routine...*/ ;/* record format... */
typedef struct RF {

} RF;
extern void CONNECT (/*params*/) /*routine...*/ ;auto void BADERROR (/*params*/) /*routine...*/ ;auto void APPLYUSR (/*params*/) /*routine...*/ ;auto void NOOLINE (/*params*/) /*routine...*/ ;auto void PRSTRING (/*params*/) /*routine...*/ ;auto int UNSTACK (/*params*/) /*function...*/ ;auto int CHECKSTACK (/*params*/) /*function...*/ ;auto void PRINTLIST (/*params*/) /*routine...*/ ;auto void PRINTEL (/*params*/) /*routine...*/ ;auto int HD (/*params*/) /*function...*/ ;auto int TL (/*params*/) /*function...*/ ;auto void PRINTLINE (/*params*/) /*routine...*/ ;auto int READLINE (/*params*/) /*function...*/ ;auto void LOGO (/*params*/) /*routine...*/ ;auto void DUMP (/*params*/) /*routine...*/ ;auto void GETPAGE (/*params*/) /*routine...*/ ;int FLENGTH;
int FSTART;
_imp_string6 EMASUSER;
const int MAXSOURCE;
extern void SIGNAL (/*params*/) /*routine...*/ ;static int I, K, FLAG, ADUMP, R3;
char INBUFF[( 500)-(0)+1];
int INPTR;
int HEADIN;
int UNUSEDHD;
_imp_string **WA;
_imp_string64 SFORM1[( 1022)-(0)+1];
static int WM, NM;
static int T8;
int NUMTOP;
int NUMBOT;
static int MAXINT;
static int RANSEED;
_imp_string **WORK1;
int LOGOTIME;
int INTSTR[( 20)-(1)+1];
_imp_string4 SPACE4;
int *HASHVAL;
int *LBRAK;
int *RBRAK;
int *DOTS;
int *EMPTY;
int *UNDEF;
int *AND;
int *REPEAT;
int *APPLY;
int *DO;
int *COMMA;
int *QUOTE;
int *LPAR;
int *RPAR;
int *MINUS;
int *IF;
int *THEN;
int *ELSE;
int *CLOSE;
int *WHILE;
int *UNMINUS;
int *IFT;
int *IFF;
int *TRUE;
int *FALSE;
int *END;
int *DELETE;
int *UNDO;
int *UNDOS;
int *TO;
int *ERR;
int *LOGONAME;
int *DEF;
int *LANGBRKS;
int *RANGBRKS;
int *QUIT;
int *BREAK;
int *SPACE1;
int *TAB;
int *ENEL;
int *START;
int *FINISH;
int *COMMENT;
int NAMES[( 100)-(1)+1];
static int SPECHAR[( 14)-(1)+1];
int PRNUM;
_imp_string4 PROMP;
int EVALIMIT;
int EVALCNT;
int PARSELIMIT;
int PARSECNT;
char PARSEFORM[( 1022)-(0)+1];
char *FNPARSE;
int *FNVAL;
int *OLDFN;
int *ASSOCWA;
int *FNTEXT;
int *FNLEN;
int INTFORM1[( 1022)-(0)+1];
static int SYSPRE, INFIX, INTERP, USERPRE;
static int B3B, B2, B4, M16;
static int TRACEFLG, UNMASK;
static int TRACE1, TRACE2;
static int RESTART;
int INDENT;
int *STK;
int STKTOP;
int STKPNT;
int *SYSTK;
int INTFORM2[( 2000)-(1)+1];
int SYSTKPNT;
int *LA;
int INTFORM3[( 65536)-(1)+1];
char *SOURCE;
char SOURCEFORM[( 50000)-(0)+1];
int LINENUMLIST;
int LEVEL;
int FNDEFN;
int SOURCEPTR;
int PARLEVEL;
int CONDFLAG;
int DIAGFLAG;
int PLEVEL;
int GOFLAG;
static int LA1B, LA1T, LA2B, LA2T, LAFNB, LAFNT;
int CLECTFLG;
int LISTOP;
int LPOINT;
int LPOINT1;
int LABASE;
int SEMISIZE;
float CFRACT;
int QUOTEON;
int BLEVEL;
int *NIL;
_imp_string1 SEP;
static _imp_string1 STERMIN;
static int TERMIN;
int CHAROUT;
int ENUF;
static int LM;
int *BNAME;
int *BVALUE;
int INTFORM4[( 3000)-(1023)+1];
int INTFORM5[( 3000)-(0)+1];
int BASENVIR;
int TOPMARK;
int *FACTKEYS;
int *INFKEYS;
int *IMPKEYS;
int *FACT;
int *IMPLIES;
int *TOINFER;
int *DATABASE;
int *IMPRULES;
int *INFRULES;
int *THINKALOUD;
int *NEW;
int *VBL;
int *NOT;
int GENOS;
int DBASE[( 3)-(1)+1], IMPLINKS[( 3)-(1)+1], INFLINKS[( 3)-(1)+1];
int JUMPFLAG;
int JUMPOUT;
int SENDFLAG;
int LIBLOAD;
int SUPERJMP;
int QUITFLAG;
int HOLDFLAG;
int *QUITOTOP;
static int TTY, DISC, SRCE;
int DEVICE;
int INDEX;
int NEWFN;
int CACTFILE;
int FLEN;
int FILSTART;
int TSTART;
int SINDEX;
int MDP;
int MDIND;
int UDP;
int TXTP;
_imp_string64 USERFILE;
_imp_string20 MASWRITE;
_imp_string20 MASREAD;
_imp_string20 MASFILE;
const _imp_string7 MASNUM;
static _imp_string SYSFILES[( 2)-(1)+1];
_imp_string6 OWNER;
char *MDENTS;
char *TMDENTS;
char *UDENTS;
char *TUDENTS;
char *MDNEXT;
char *TMDNEXT;
char *UDNEXT;
char *TUDNEXT;
char *TXTNEXT;
char *TTXTNEXT;
char *ENDTXT;
char *TENDTXT;
char *TXTENTS;
char *TTXTENTS;
char *ENDIND;
char *TENDIND;
_imp_string **UDNAM;
_imp_string **TUDNAM;
_imp_string **FUNNAM;
_imp_string **TFUNNAM;
char *TXTIND;
char *TTXTIND;
char *FNTXT;
char *TFNTXT;
char *UDPAGE;
char *TUDPAGE;
char *TXTPAGE;
char *TTXTPAGE;
_imp_string64 DF[( 62)-(1)+1];
_imp_string64 FF[( 60)-(1)+1];
char XF[( 60)-(1)+1];
char PF[( 62)-(1)+1];
char SF[( 2)-(1)+1];
char NF[( 2)-(1)+1][(60)-( 1)+1];
char TF[( 4092)-(0)+1];
int TDEV;
static _imp_string TDEVNAMES[( 8)-(1)+1];
float XTURTLE;
float YTURTLE;
int HDTURTLE;
int PENTURTLE;
static int HOOTBIT, PENBIT, FDBITS, BDBITS, RTBITS, LTBITS, PINDLBIT, PINDRBIT;
int *UP;
int *DOWN;
char BINBUFF[( 13)-(0)+1];
int ADDRBINBUFF;
const int QU, DTS, FNM, LP, MARKERMASK, INTR, FAULT;
int HASHINFO[( 1022)-(0)+1];
int HASH1023;
int HASH1024;
auto int HASH (/*params*/) /*function...*/  {
int WPOINT;
int FULLMARK;
int HASH;
_imp_string64 W;
auto int HASHFUN (/*params*/) /*function...*/  {
WORK1 =SPACE4;WORK1 =WORD;return HASHVAL - 1023 * (HASHVAL // 1023);
}
FULLMARK = 0;WPOINT =HASHFUN;HASH =WPOINT;label: lp:W =WA;HASH1023 =HASH1023 + 1;if ( W ==  "?" ){
WA(WPOINT) =WORD;HASHINFO(WPOINT) =HASH;HASH1024 =HASH1024 + 1;return WPOINT << 8 | WM;
}
if ( W == WORD ){
HASH1024 =HASH1024 + 1;return WPOINT << 8 | WM;
}
WPOINT =WPOINT + 1;if ( WPOINT > 1022 ){
if ( FULLMARK ==  1 ){ BADERROR("WORD AREA OVERFLOW",EMPTY); }
} else {
 %C
           %startFULLMARK = 1;WPOINT = 0;         %finish
}

}
goto  lp;
}
auto int PUT (/*params*/) /*function...*/  {
int NUM;
int I;
int J;
int CHAR;
int TOOLONG;
char STRBYTE[( 64)-(0)+1];
STRING(ADDR) =WORD;I =STRBYTE;if ( I > 7 ){ TOOLONG = 1; }} else TOOLONG = 0;NUM = 0;J = 1;if ( WORD ==  "" ){ return HASH; }while (( I > 0 )){
CHAR =STRBYTE;if (  47 <CHAR < 58 ){
if ( TOOLONG ==  1 ){
I =I - 1;NUM =NUMTOP + 1;
}

}

}
if ( NUM >NUMTOP ){
PRSTRING("NUMBER OUTSIDE RANGE.");SPACE;PRSTRING("MAX. SUBSTITUTED");NOOLINE(1);NUM =NUMTOP;
}
return NUM << 8 | NM;
}
auto _imp_string64 NUMTOSTR (/*params*/) /*function...*/  {
static int TENS[( 7)-(1)+1];
int I;
int J;
int K;
int L;
int WIND;
int MARK;
char WORD[( 64)-(0)+1];
WIND = 1;MARK = 0;NUM =NUM >> 8;for (for (I =  1; I <=  7; I +=  1)  i = 1, 1, 7) {
J =TENS;K =J;L = 0;while (( NUM >=K )){
K =K +J;L =L + 1;MARK = 1;
}
NUM =NUM -K +J;if ( MARK ==  1 ){
WORD(WIND) =L + 48;WIND =WIND + 1;
}

}
if ( WIND ==  1 ){
WORD(WIND) = 48;WIND = 2;
}
WORD(0) =WIND - 1;return STRING;
}
auto void CLUSERFL (/*params*/) /*routine...*/  {
CLOSESM(4);CLEAR("4");DISCONNECT(MASFILE);
}
auto void GETMASTER (/*params*/) /*routine...*/  {
DEFINE("4,LOGOFILE");FILSTART =SMADDR;
}
auto void FREEMASTER (/*params*/) /*routine...*/  {
CLOSESM(4);PERMIT(MASREAD);if-not ( CACTFILE ==  2 ){ GETMASTER; }
}
auto int STATUS (/*params*/) /*function...*/  {
f R;
int FLAG;
int RES;
FINFO("NOFILE", 0,R,FLAG);FINFO(FILENAME,LEVEL,R,FLAG);if ( FLAG > 0 ){ return  -FLAG; }RES =R;if ( R ==  0 ){ return  0; }return RES;
}
auto void PRINTFNLINE (/*params*/) /*routine...*/ ;auto void BADERROR (/*params*/) /*routine...*/  {
int FUNLIST;
int FUN;
int PTR;
float FAIL17;
if ( TDEV ==  8 ){ SET42(CHTXT); }NOOLINE(1);PRSTRING(ERRMESS);SPACE;PRINTEL(CULPRIT);NOOLINE(1);DUMP(ERRMESS);RESTART = 1;PRSTRING("SAVING NEW FUNCTIONS IN TEMPORARY FILE");NOOLINE(1);DEFINE("3,T#TEMP");SELECTOUTPUT(3);DEVICE =TTY;FUNLIST =NEWFN;while (( FUNLIST != NIL )){
PTR =FNTEXT;while (!(( SOURCE ==  'E' &&  %andSOURCE ==  'N' &&  %C
           %andSOURCE ==  'D' ))) /* WRONG - MOVE TO END OF LOOP */{
FUN =PTR;PRINTFNLINE(PTR);
}
FUNLIST =TL;
}
PRSTRING("GETTY");NOOLINE(1);SELECTOUTPUT(0);PRSTRING("SAVED");NOOLINE(1);CLOSESTREAM(3);CLUSERFL;CLOSESM(6);CLEAR("6")