|
|
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: 9216 (0x2400)
Types: TextFileVerbose
Names: »pemnjobs«
└─⟦2c55ea56f⟧ Bits:30001844 SW-save af projekt 1000, Alarm-system
└─⟦6b41451d2⟧
└─⟦this⟧ »pemnjobs«
%
(************************************************
* pemn, test : 1, 8/5/80 . *
* *
* succ, pred, chr, ord *
************************************************)
process test1;
var
ch : char;
i : integer;
r : -10 .. 11;
begin
ch := 'a';
i := 0;
r := -1;
i := succ( i );
i := pred( i );
ch := succ( ch );
ch := pred( ch );
r := succ( i );
r := succ( r );
r := pred( r );
i := pred( r );
i := ord( ch );
ch := chr( i );
i := ord( chr( ch ) )
end.
%
(******************************************************
* pemn, test : 2, 22/5/80 . *
* *
* pass5mext2 ( platonlib ) *
******************************************************)
process test2;
var
r : reference;
s : semaphore;
i : integer;
poo : pool 1 of integer;
process p;
external;
begin
i := abs( i );
alloc( r, poo, s );
create( i, p )
end.
%
(*******************************************************
* pemn, test : 3, 28/5/80 . *
* internal process declarations *
*******************************************************)
process test3;
process t1;
begin
end;
begin
end.
%
(*********************************************************
* pemn, test : 4, 29/5/80 . *
* comparisons of pointers *
*********************************************************)
process test4;
var
p1, p2 : record a: ^ integer end;
q1, q2 : ^ integer;
begin
p1 := p2;
q1 := q2;
if q1^ = q2^ then;
if q1^ <> q2^ then;
if p1 = p2 then;
if p1 <> p2 then;
if q1 = q2 then;
if q1 <> q2 then
end.
%
(***************************************************
* pemn, test : 5, 5/6/80. *
* assignment too boolean types *
***************************************************)
process test5;
var
b1,b2 : boolean:=true;
procedure p( p1:boolean; var p2:boolean );
var
b3,b4 : boolean:=false;
begin
b3:=true;
b4:=false;
p1:=p2;
p1:=true;
p2:=false
end;
begin
b1:=true;
b2:=false;
b1:=b2;
b2:=b1;
p( b1,b2 )
end.
%
(*************************************************
* pemn, test : 6 , 5/6/80 . *
* test rev. 0 to rev. 1 *
*************************************************)
(*$ 5 2 0 *)
process test6;
type
prec = record
pa : pool 1 of boolean;
pb : pool 2 of array( 1 .. 5 ) of boolean;
end;
var
ch:char:='a';
i:integer:=3;
r:reference;
s:semaphore;
p1 : pool 3 of array( 1 .. 5 ) of integer;
p2:prec;
p3 : array( 1 .. 10 ) of prec;
process q; external;
procedure wait( var s:semaphore; var r:reference ); external;
procedure ref; external;
begin
ch:=chr(i);
i:=ord(ch);
ch:=succ(ch); ch:=pred(ch);
i:=succ(i); i:=pred(i);
i:=abs(i);
signal(r,s);
wait(s,r);
ref
end.
%
(**********************************************************
* pemn, test : 7 , 11/6/80. *
* debug ( tele ) . *
**********************************************************)
process test7;
type
macroaddr = packed record
dc_addr : 0..15;
nc_addr : 0..63;
ts_addr : 0..63
end;
alarmnetaddr = packed record
macro : macroaddr;
micro : integer
end;
alarmlabel = packed record
no_of_by : integer;
rec : alarmnetaddr
end;
const
ts1_macro = macroaddr( 7, 9, 13 );
dcts_macro = ts1_macro;
l1_const = l_const;
var
x : alarmlabel;
dc_addr : macroaddr;
owntsmacro : macroaddr;
v : p_type;
begin
owntsmacro := ts1_macro;
owntsmacro := dcts_macro;
v := l_const;
v := l1_const;
if owntsmacro = dc_addr then;
if owntsmacro = dcts_macro then;
if v = l_const then;
if v = l1_const then;
x.rec.macro := dc_addr;
if x.rec.macro = dc_addr then;
end.
%
(****************************************************
* pemn, test : 8, 13/6/80 . *
* debug ( tele ). *
****************************************************)
process test8;
type
telegram_type = packed record
opcode_part : set of 13 .. 15;
check_part : set of 8 .. 12;
data_part : set of 0 .. 7
end;
databuffer_type = record
first, top, next : integer;
telegram : telegram_type
end;
var
x : databuffer_type;
y : set of 8 .. 12;
begin
with x.telegram do
check_part:= y
end.
%
(************************************************
* pemn, test : 9, 2/7/80 . *
* test : rev. 1 to rev. x ( later rev 2 ) *
************************************************)
process test9;
type
t1 = array ( 1 .. 5 ) of reference;
t2 = record
r1 : reference;
p1 : ^ t1;
r2 : reference
end;
t3 = array ( 1 .. 5 ) of integer;
t4 = record
f1, f2, f3 : char
end;
t5 = set of 1 .. 16;
procedure exception( i : integer );
begin
end;
var
i, j : integer;
k : 0 .. 16;
m1 : t3;
m2 : t4;
s1 : t5 := (. 15 .. 16 .);
r1, r2 : reference;
v1 : ^ t1;
v2 : semaphore;
v3 : shadow;
v4 : pool 3 of integer;
procedure p1( par1 : t3; par2 : t4; par3 : t5 );
begin
end;
procedure p2;
var
r1 : reference;
rec1 : record
f1 : reference;
f2 : t2;
f3 : t1
end;
a1 : t1;
a2 : array ( 2 .. 4 ) of t2;
a3 : array ( 3 .. 4 ) of t1;
begin
end;
begin
k := k+1;
p1( m1, m2, s1 );
s1 := s1 + (. 13, 15 .);
for k := 1 to 10 do
lock r1 as v : integer do
channel r2 do
for j := 5 downto 1 do r1 :=: r2
end.
%
(****************************************************
* pemn, test : 10 , 14/7/80. *
* test : debug ( tele ). *
****************************************************)
process test10;
var
i : integer;
begin
case i of
1: ;
2: ;
4,5,6: ;
end
end.
%
(**************************************************
* pemn, test : 11 , 24/7/80. *
* test : debug ( tele ). *
**************************************************)
process test11;
type
a = record
f, a : integer
end;
b = record
b, f : integer
end;
var
aa : a;
bb : b;
begin
with aa, bb do
begin
f := a;
b := f
end
end.
%
(*****************************************************
* pemn, test : 12 , 13/8/80, *
* test : debug ( tele ). *
*****************************************************)
process test12;
type
statetype = ( idle, wd, wrtr, wt, wack );
inputtype = ( enq, data, out, here, rnr, nak, ack, rtr, lto, tto, nons );
staterow = array ( inputtype ) of statetype;
statetabletype = array ( statetype ) of staterow;
const
statetable =
statetabletype(
staterow( wd, idle, wrtr, idle, idle, idle, idle, idle, idle, idle, idle ),
staterow( wd, idle, wd, wd, wd, wd, wd, wd, wd, wd, wd ),
staterow( wt, wrtr, wrtr, wrtr, wt, wrtr, wrtr, wack, wrtr, wrtr, wrtr ),
staterow( wd, wt, wt, wt, wt, wt, wt, wt, wt, wrtr, wt ),
staterow( wack, wack, wack, wack, wack, wack, idle, wack, wack, wack, wack )
);
var
x : statetype;
begin
x := statetable( wd, here )
end.
%
(********************************************************
* pemn, test : 13 , 13/8/80,
* test : debug ( tele ).
********************************************************)
process test13;
type
r1 = record
f1 : byte;
f2 : integer;
f3 : byte;
f4 : bit
end;
r2 = packed record
f1 : byte;
f2 : integer;
f3 : byte;
f4 : bit
end;
var
xr1 : r1;
xr2 : r2;
x : integer;
begin
with xr1 do
begin
x := f1; x := f2; x := f3; x := f4
end;
with xr2 do
begin
x := f1; x := f2; x := f3; x := f4
end;
xr1.f4 := x; xr2.f4 := x
end.
%
«eof»