/* Edinburgh IMP77 Compiler - Version 8.4 */ const char *snl; extern int rem( int p, int q); extern void readsymbol( *p); extern real float( int n); extern char * tostring( int p); extern char * substring( char *s, int f, int t); extern int freespace(); extern void svc( int n, struct (null) r *); extern int addr( *p); extern int *integer( int n); extern short int *shortinteger( int n); extern char int *byteinteger( int n); extern char * *string( int n); extern struct (null) record ; (/*should not get here any more*/ int n; /*or here*/) extern real *real( int n); extern long real *longreal( int n); extern char int *length( char *s); extern char int *charno( char *s, int n); extern int int( real x); extern int intpt( real x); extern void iocp( int n); extern int typeof( *n); extern int sizeof( *n); extern real fracpt( real x); extern void prompt( char *s); extern int nextsymbol(); extern void skipsymbol(); extern void printsymbol( int sym); extern void printstring( char *s); extern void write( int v, int p); extern void selectinput( int n); extern void selectoutput( int n); extern void openinput( int n, char *fd); extern void openoutput( int n, char *fd); extern void closeinput(); extern void closeoutput(); extern void resetinput(); extern void resetoutput(); extern char * time(); extern char * date(); extern int cputime(); extern int *comreg( int n); extern void read( *x); extern void print( real val, int before, int after); extern void printfl( real val, int places); extern void space(); extern void spaces( int n); extern void newline(); extern void newlines( int n); typedef struct FILEFM filefm( int unit, int owner, int n1, int n2); typedef struct PARMFM parmfm( short int dsno, short int dact, short int ssno, short int sact, , , char *text, , , , , struct FILEFM file, , , int p1, int p2, int p3, int p4, , , int p5, int p6, , ); typedef struct EVENTFM eventfm( int event, int sub, int extra, char *message, int pc, int x); extern struct EVENTFM event; #line 2 // 1 %BEGIN // 2 %ROUTINESPEC READ SYM(%INTEGERNAME I) int main(int argc, char **argv) { #line 3 // 3 %ROUTINESPEC READ PS void readsym( int *i); #line 4 // 4 %ROUTINESPEC READ LINE void readps(); #line 5 // 5 %INTEGERFNSPEC COMPARE(%INTEGER PSP) void readline(); #line 6 // 6 %ROUTINESPEC SS int compare( int psp); #line 7 // 7 %ROUTINESPEC FAULT(%INTEGER A,B,C,D) void ss(); #line 8 // 8 %ROUTINESPEC OUT(%INTEGER I) void fault( int a, int b, int c, int d); #line 9 // 9 %INTEGERFNSPEC CHNEXT void out( int i); #line 10 // 10 %INTEGERFNSPEC NEWCELL int chnext(); #line 11 // 11 %INTEGERFNSPEC RETURN CELL(%INTEGER I) int newcell(); #line 12 // 12 %ROUTINESP