|
|
DataMuseum.dkPresents historical artifacts from the history of: RC3500 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about RC3500 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 4608 (0x1200)
Types: TextFileVerbose
Names: »nprintpass3«
└─⟦2c55ea56f⟧ Bits:30001844 SW-save af projekt 1000, Alarm-system
└─⟦6b41451d2⟧
└─⟦this⟧ »nprintpass3«
job btj 7 600 perm disc 100 2 area 10 temp disc 500 20 time 5 0
(ttt = copy message.no 25.1
tt = testgen ttt pass3codes
printpass3 = pascal tt codesize.3000
printpass3
convert p3convcodes
finis)
program printpass3(output, testin, convfil = 'p3convcodes');
type
$
codeindex = 0..$
var
textcodes : array [codeindex] of alfa;
convcodes : array [codeindex] of codes;
testin : file of integer;
convfil: text;
actcode : codes;
first : boolean;
decl, spix, intcode, sort : integer;
value
textcodes = ( $
procedure param(n: integer);
var i,j: integer;
begin
write ("(");
for i := 1 to n do
begin
read (testin, j); write(" ",j:1);
end;
write (")");
end;
begin
first := true;
rewrite (convfil);
for actcode := xfirstcode to xlastcode do
begin
convcodes[ord(actcode)] := actcode;
writeln (convfil, ord(actcode):3, ' = ', textcodes [ ord (actcode) ]);
end;
close (convfil);
open (testin, "pass3code");
reset(testin);
while not eof(testin) do
begin read(testin, intcode);
write (textcodes [intcode]: 10);
case convcodes[intcode] of
xliteral: begin
read(testin, intcode, sort);
write ("(", intcode:1, ", ", sort:1, ', <:');
for spix := 1 to sort do
begin read(testin,decl); write(chr(decl)); end;
write (":>)");
end;
xcodeline,
xname:
begin
read (testin, sort);
write ("(", sort:1, ', <:');
for spix := 1 to sort do
begin
read (testin, decl); write(chr(decl));
end;
write(":>)");
end;
xblock,
xexception,
xconstid,
xinteger,
xreal,
xniltype,
xerrortype,
xstringtype,
xboolean,
xshadow,
xreference,
xsemaphore,
xchar,
xsucc, xpred, xord, xchr,
xtype,
xscalarid,
xscalardef,
xpointerdef,
xfrozendef,
xredeftype,
xarraydef,
xpackedarraydef,
xfieldid, xrecdef,
xsetdef,
xendset,
xpooldef,
xvarid,
xundeclid,
xprocid,
xsecprocid,
xfuncid,
xsecfuncid,
xparamid,
xlabelid,
xlabel,
xproccall,
xactual,
xgoto,
xwithvar, xlockvar,
xrange,
xstrucconst,
xarrow,
xstruc,
xnewline,
xendproc,
xfcall,
xerrorno,
xerrortext:
param(1);
xsubdef,
xvarpointer, xfield, xvar, xindex, xerror:
param (2);
xoption,
xprocessid,
xfunccall:
param(3);
xeom,
xendprelude,
xexternal,
xinitblock, xendblock,
xbegincode, xendcode,
xtypedef,
xgetexpr,
xpackedrecord, xrecord, xfielddef,
xinitconst, xvarlist,
xexportvalue, xexportsize, xexportdispl, xexportoffset, xexportaddr,
xendexport,
xforward,
xvalueparam, xvarparam,
xprefix,
xprocessparam,
xtempointer, xarglistsize,
xendactual,
xassignstat, xbecomes, xassign,
xcasestat, xcase, xendcase,
xcaselabel, xcaserange, xotherwise,
xendcaselist, xendcasestat,
xforstat, xfor, xup, xdown, xdo, xendfor,
xifstat, xifexpr, xelse, xif,
xrepeat, xuntil, xendrepeat,
xwhile, xwhileexpr, xendwhile,
xwith, xendwith,
xlockstat, xlock, xendlock,
xchannel, xchanvar, xendchannel,
xexchangestat, xexchange,
xexpr,
xgetvalue,
xne, xeq, xle, xlt, xge, xgt, xin,
xneg, xadd, xsub, xor,
xdiv, xmul, xmod, xand,
xnot,
xset,
xinclude, xsetexpr, xincluderange,
xendstruc,
xtimes, xnull,
xindexexpr,
xendfunccall:
; (* no params *)
end (*case *)
otherwise write("************",textcodes[intcode]);
writeln;
end; (* while *)
end.
$ $ $
«eof»