4.3BSD/usr/contrib/icon/samples/parallel.u1
proc main
local 0,000000,Parallel
local 1,000000,write
local 2,000000,octal
local 3,000000,star
con 0,010000,4,141,142,143,144
con 1,002000,1
con 2,002000,10
con 3,010000,3,141,142,143
declend
file parallel.icn
line 10
mark L1
mark L0
var 0
pnull
goto L6
lab L4
pop
mark L5
lab L7
mark L0
var 1
chfail L7
esusp
incres
line 11
coret
efail
lab L5
line 11
cofail
goto L5
lab L6
line 11
create L4
goto L10
lab L8
pop
mark L9
pnull
str 0
bang
incres
coret
efail
lab L9
line 11
cofail
goto L9
lab L10
line 11
create L8
goto L13
lab L11
pop
mark L12
pnull
int 1
int 2
push1
toby
incres
coret
efail
lab L12
line 11
cofail
goto L12
lab L13
line 11
create L11
llist 3
invoke 1
pop
lab L2
efail
lab L3
unmark 1
lab L1
mark L14
mark L0
var 0
pnull
goto L19
lab L17
pop
mark L18
lab L20
mark L0
var 1
chfail L20
esusp
incres
line 12
coret
efail
lab L18
line 12
cofail
goto L18
lab L19
line 12
create L17
goto L23
lab L21
pop
mark L22
var 2
pnull
invoke 1
incres
coret
efail
lab L22
line 12
cofail
goto L22
lab L23
line 12
create L21
goto L26
lab L24
pop
mark L25
var 3
str 3
invoke 1
incres
coret
efail
lab L25
line 12
cofail
goto L25
lab L26
line 12
create L24
llist 3
invoke 1
pop
lab L15
efail
lab L16
unmark 1
lab L14
pnull
line 13
pfail
end
proc star
local 0,001000,s
local 1,000000,star
con 0,010000,0
declend
file parallel.icn
line 15
mark L1
mark L0
mark L2
str 0
esusp
goto L3
lab L2
pnull
var 1
var 0
line 16
invoke 1
pnull
var 0
bang
cat
lab L3
psusp
efail
unmark 1
lab L1
pnull
line 17
pfail
end
proc octal
con 0,002000,0
con 1,002000,3
con 2,002000,7
declend
file parallel.icn
line 19
mark L1
mark L0
pnull
pnull
pnull
int 0
int 1
push1
line 20
toby
pnull
int 0
int 2
push1
toby
cat
pnull
int 0
int 2
push1
toby
cat
psusp
efail
unmark 1
lab L1
pnull
line 21
pfail
end
proc Parallel
local 0,001000,a
local 1,000020,i
local 2,000020,x
local 3,000000,list
local 4,000000,Call
con 0,002000,1
declend
file parallel.icn
line 23
mark L1
pnull
var 2
var 3
pnull
var 0
line 25
size
invoke 1
asgn
unmark 1
lab L1
mark L2
lab L3
line 26
mark L3
mark L6
mark L0
pnull
var 1
pnull
int 0
pnull
var 0
line 27
size
push1
toby
asgn
pop
mark L0
pnull
pnull
var 2
var 1
line 28
subsc
mark L9
pnull
pnull
var 0
var 1
subsc
coact
esusp
goto L10
lab L9
line 28
pfail
lab L10
asgn
unmark 1
lab L7
efail
lab L8
unmark 1
lab L6
mark L0
var 4
var 2
line 29
invoke 1
psusp
efail
lab L4
unmark 1
goto L3
lab L5
unmark 1
lab L2
pnull
line 31
pfail
end
proc Call
local 0,001000,a
local 1,000000,stop
con 0,002000,1
con 1,002000,2
con 2,002000,3
con 3,002000,4
con 4,002000,5
con 5,002000,6
con 6,002000,7
con 7,002000,8
con 8,002000,9
con 9,002000,10
con 10,010000,21,103,141,154,154,040,072,040,164,157,157,040,155,141,156,171,040,141,162,147,163,056
declend
file parallel.icn
line 33
mark L1
mark L0
mark L0
pnull
var 0
line 34
size
eret
mark L3
ccase
int 0
line 35
eqv
unmark 1
pop
pnull
var 0
int 0
subsc
pnull
invoke 1
goto L2
lab L3
mark L4
ccase
int 1
line 36
eqv
unmark 1
pop
pnull
var 0
int 0
subsc
pnull
var 0
int 1
subsc
invoke 1
goto L2
lab L4
mark L5
ccase
int 2
line 37
eqv
unmark 1
pop
pnull
var 0
int 0
subsc
pnull
var 0
int 1
subsc
pnull
var 0
int 2
subsc
invoke 2
goto L2
lab L5
mark L6
ccase
int 3
line 38
eqv
unmark 1
pop
pnull
var 0
int 0
subsc
pnull
var 0
int 1
subsc
pnull
var 0
int 2
subsc
pnull
var 0
int 3
subsc
invoke 3
goto L2
lab L6
mark L7
ccase
int 4
line 39
eqv
unmark 1
pop
pnull
var 0
int 0
subsc
pnull
var 0
int 1
subsc
pnull
var 0
int 2
subsc
pnull
var 0
int 3
subsc
pnull
var 0
int 4
subsc
invoke 4
goto L2
lab L7
mark L8
ccase
int 5
line 40
eqv
unmark 1
pop
pnull
var 0
int 0
subsc
pnull
var 0
int 1
subsc
pnull
var 0
int 2
subsc
pnull
var 0
int 3
subsc
pnull
var 0
int 4
subsc
pnull
var 0
int 5
subsc
invoke 5
goto L2
lab L8
mark L9
ccase
int 6
line 41
eqv
unmark 1
pop
pnull
var 0
int 0
subsc
pnull
var 0
int 1
subsc
pnull
var 0
int 2
subsc
pnull
var 0
int 3
subsc
pnull
var 0
int 4
subsc
pnull
var 0
int 5
subsc
pnull
var 0
int 6
subsc
invoke 6
goto L2
lab L9
mark L10
ccase
int 7
line 42
eqv
unmark 1
pop
pnull
var 0
int 0
subsc
pnull
var 0
int 1
subsc
pnull
var 0
int 2
subsc
pnull
var 0
int 3
subsc
pnull
var 0
int 4
subsc
pnull
var 0
int 5
subsc
pnull
var 0
int 6
subsc
pnull
var 0
int 7
subsc
invoke 7
goto L2
lab L10
mark L11
ccase
int 8
line 43
eqv
unmark 1
pop
pnull
var 0
int 0
subsc
pnull
var 0
int 1
subsc
pnull
var 0
int 2
subsc
pnull
var 0
int 3
subsc
pnull
var 0
int 4
subsc
pnull
var 0
int 5
subsc
pnull
var 0
int 6
subsc
pnull
var 0
int 7
subsc
pnull
var 0
int 8
subsc
invoke 8
goto L2
lab L11
mark L12
ccase
int 9
line 44
eqv
unmark 1
pop
pnull
var 0
int 0
subsc
pnull
var 0
int 1
subsc
pnull
var 0
int 2
subsc
pnull
var 0
int 3
subsc
pnull
var 0
int 4
subsc
pnull
var 0
int 5
subsc
pnull
var 0
int 6
subsc
pnull
var 0
int 7
subsc
pnull
var 0
int 8
subsc
pnull
var 0
int 9
subsc
invoke 9
goto L2
lab L12
pop
var 1
str 10
line 45
invoke 1
lab L2
line 34
psusp
efail
unmark 1
lab L1
pnull
line 47
pfail
end