4.3BSD/usr/contrib/icon/samples/wordcount.u1
proc main
local 0,000000,wordcount
con 0,002000,20
declend
file wordcount.icn
line 9
mark L1
var 0
int 0
line 10
invoke 1
unmark 1
lab L1
pnull
line 11
pfail
end
proc wordcount
local 0,001000,n
local 1,000020,t
local 2,000020,line
local 3,000020,x
local 4,000020,y
local 5,000040,letters
local 6,000000,table
local 7,000000,read
local 8,000000,tab
local 9,000000,upto
local 10,000000,many
local 11,000000,sort
local 12,000000,write
local 13,000000,left
con 0,002000,0
con 1,002000,1
con 2,002000,2
declend
file wordcount.icn
line 13
init? L1
mark L1
pnull
var 5
pnull
line 16
keywd 10
keywd 21
unioncs
asgn
unmark 1
lab L1
mark L2
pnull
var 1
var 6
int 0
line 17
invoke 1
asgn
unmark 1
lab L2
mark L3
lab L4
line 18
mark L0
pnull
var 2
var 7
pnull
invoke 1
asgn
unmark 1
mark L4
var 2
line 19
bscan
lab L7
line 19
mark L0
var 8
var 9
var 5
invoke 1
invoke 1
unmark 1
mark L7
pnull
pnull
var 1
var 8
var 10
var 5
line 20
invoke 1
invoke 1
subsc
dup
int 1
plus
asgn
lab L8
unmark 1
goto L7
lab L9
line 19
escan
lab L5
unmark 1
goto L4
lab L6
unmark 1
lab L3
mark L10
pnull
var 3
var 11
var 1
line 21
invoke 1
asgn
unmark 1
lab L10
mark L11
mark L0
pnull
var 4
pnull
var 3
line 22
bang
asgn
pop
mark L0
var 12
var 13
pnull
var 4
int 1
subsc
var 0
invoke 2
pnull
var 4
int 2
subsc
invoke 2
unmark 1
lab L12
efail
lab L13
unmark 1
lab L11
pnull
line 23
pfail
end