4.3BSD/usr/contrib/icon/samples/sieve.u1
proc main
local 0,000020,limit
local 1,000020,s
local 2,000020,i
local 3,000000,set
local 4,000000,insert
local 5,000000,member
local 6,000000,delete
local 7,000000,primes
local 8,000000,sort
local 9,000000,write
local 10,000000,right
con 0,002000,100
con 1,002000,1
con 2,002000,2
con 3,010000,10,124,150,145,162,145,040,141,162,145,040
con 4,010000,21,040,160,162,151,155,145,163,040,151,156,040,164,150,145,040,146,151,162,163,164,040
con 5,010000,10,040,151,156,164,145,147,145,162,163,056
con 6,010000,15,124,150,145,040,160,162,151,155,145,163,040,141,162,145,072
declend
file sieve.icn
line 8
mark L1
pnull
var 0
int 0
line 10
asgn
unmark 1
lab L1
mark L2
pnull
var 1
var 3
pnull
line 11
llist 0
invoke 1
asgn
unmark 1
lab L2
mark L3
mark L0
var 4
var 1
pnull
int 1
var 0
push1
line 12
toby
invoke 2
pop
lab L4
efail
lab L5
unmark 1
lab L3
mark L6
mark L0
var 5
var 1
pnull
var 2
pnull
int 2
var 0
push1
line 13
toby
asgn
invoke 2
pop
mark L0
mark L0
var 6
var 1
pnull
pnull
var 2
var 2
line 14
plus
var 0
var 2
toby
invoke 2
pop
lab L9
efail
lab L10
unmark 1
lab L7
efail
lab L8
unmark 1
lab L6
mark L11
pnull
var 7
var 8
var 1
line 15
invoke 1
asgn
unmark 1
lab L11
mark L12
var 9
str 3
pnull
var 7
line 16
size
str 4
var 0
str 5
invoke 5
unmark 1
lab L12
mark L13
var 9
str 6
line 17
invoke 1
unmark 1
lab L13
mark L14
mark L0
var 9
var 10
pnull
var 7
line 18
bang
pnull
pnull
var 0
size
int 1
plus
invoke 2
invoke 1
pop
lab L15
efail
lab L16
unmark 1
lab L14
pnull
line 19
pfail
end