DEF s: <SCRATCH>
DEF DSK: DSK:,SYS:
DEF SYS: DSK:,SYS:
pas:PASCMP
OFF SYSLISP$
OFF MSG$
OFF NOUUO$
OFF DOMOVE$ % Can't have BOTH DOMOVE and FXFRM
OFF NOFIXFRM; % Reduce ALLOCS
ON MACECHO$ %OFF Cuts down size of output file.
REMPROP('W,'STAT);
REMPROP('PLIST,'STAT);
IN PAS1.SYM$
% Perhaps the following lines should really be in POLY.RED, but they
% don't work correctly inside body of text being compiled.
PUT('CAR,'ANYREG,'T)$
PUT('CDR,'ANYREG,'T)$
PUT('VALUE,'OPENCOD,'(" R[1] := idspace[info_of(R[1])].val;"));
PUT('PLIST,'OPENCOD,'(" R[1] := idspace[Info_of(r[1])].plist;"));
PUT('FUNCELL,'OPENCOD,'(" R[1] := idspace[Info_of(r[1])].funcell;"));
PUT('SETVALUE,'OPENCOD,'(" idspace[Info_of(r[1])].val := R[2];"));
PUT('SETPLIST,'OPENCOD,'(" idspace[Info_of(r[1])].plist := R[2];"));
PUT('SETFUNCELL,'OPENCOD,'(" idspace[Info_of(r[1])].funcell := R[2];"));
PUT('CHAR2ID,'OPENCOD,'(" set_tag(R[1], idtag);"));
PUT('CODEP, 'OPENCOD, '(" tag_of(r[1]) = codetag;"));
OUT PAS2.PAS$
DRT1('PAS2,PAS1IDS,PAS1CSTS,PAS1LITS,PAS1FNS)$
IN PAS2.RED$
DRT2()$
SHUT PAS2.PAS$
OUT PAS2.SYM$
DUMPSYMS('PAS2)$
SHUT PAS2.SYM$
OUT PAS2.SLI$
DRT3()$ % S-expressions and Declarations
SHUT PAS2.SLI$
QUIT$