4.3BSD/usr/contrib/icon/samples/prefix.u1

proc main
	local	0,000000,write
	local	1,000000,prefix
	local	2,000000,read
	declend
	file	prefix.icn
	line	8
	mark	L1
lab L2
	line	9
	mark	L0
	var	0
	var	1
	var	2
	pnull
	invoke	1
	invoke	1
	invoke	1
lab L3
	unmark	1
	goto	L2
lab L4
	unmark	1
lab L1
	pnull
	line	10
	pfail
	end
proc prefix
	local	0,001000,s
	local	1,000000,strip
	local	2,000000,lassoc
	local	3,000000,rassoc
	con	0,020000,2,053,055
	con	1,020000,2,052,057
	con	2,020000,1,136
	declend
	file	prefix.icn
	line	12
	mark	L1
	pnull
	var	0
	var	1
	var	0
	line	13
	invoke	1
	asgn
	unmark	1
lab L1
	mark	L2
	mark	L3
	mark	L4
	var	2
	var	0
	mark	L6
	cset	0
	esusp
	goto	L7
lab L6
	cset	1
lab L7
	line	14
	invoke	2
	esusp
	goto	L5
lab L4
	mark	L8
	var	3
	var	0
	cset	2
	invoke	2
	esusp
	goto	L9
lab L8
	var	0
lab L9
lab L5
	pret
lab L3
	line	14
	pfail
	unmark	1
lab L2
	pnull
	line	15
	pfail
	end
proc strip
	local	0,001000,s
	local	1,000000,tab
	local	2,000000,bal
	local	3,000000,pos
	con	0,010000,1,050
	con	1,020000,1,051
	con	2,002000,1
	declend
	file	prefix.icn
	line	17
	mark	L1
lab L2
	line	18
	mark	L0
	var	0
	bscan
	pnull
	str	0
	tabmat
	pop
	pnull
	var	0
	var	1
	var	2
	cset	1
	invoke	1
	invoke	1
	rasgn
	pop
	var	3
	pnull
	int	2
	neg
	invoke	1
	escan
lab L3
	unmark	1
	goto	L2
lab L4
	unmark	1
lab L1
	mark	L5
	mark	L6
	var	0
	line	19
	pret
lab L6
	line	19
	pfail
	unmark	1
lab L5
	pnull
	line	20
	pfail
	end
proc lassoc
	local	0,001000,s
	local	1,001000,c
	local	2,000020,j
	local	3,000000,bal
	local	4,000000,form
	declend
	file	prefix.icn
	line	22
	mark	L1
	var	0
	line	24
	bscan
	mark	L0
	pnull
	var	2
	var	3
	var	1
	invoke	1
	asgn
	pop
lab L2
	efail
lab L3
	escan
	unmark	1
lab L1
	mark	L4
	mark	L5
	var	4
	var	0
	pnull
	var	2
	line	25
	nonnull
	invoke	2
	pret
lab L5
	line	25
	pfail
	unmark	1
lab L4
	pnull
	line	26
	pfail
	end
proc rassoc
	local	0,001000,s
	local	1,001000,c
	local	2,000020,j
	local	3,000000,form
	local	4,000000,bal
	declend
	file	prefix.icn
	line	28
	mark	L1
	mark	L2
	var	3
	var	0
	var	0
	line	30
	bscan
	var	4
	var	1
	invoke	1
	escan
	invoke	2
	pret
lab L2
	line	30
	pfail
	unmark	1
lab L1
	pnull
	line	31
	pfail
	end
proc form
	local	0,001000,s
	local	1,001000,k
	local	2,000020,a1
	local	3,000020,a2
	local	4,000020,op
	local	5,000000,tab
	local	6,000000,move
	local	7,000000,prefix
	con	0,002000,1
	con	1,002000,0
	con	2,010000,1,050
	con	3,010000,1,054
	con	4,010000,1,051
	declend
	file	prefix.icn
	line	33
	mark	L1
	var	0
	line	35
	bscan
	mark	L2
	pnull
	var	2
	var	5
	var	1
	line	36
	invoke	1
	asgn
	unmark	1
lab L2
	mark	L3
	pnull
	var	4
	var	6
	int	0
	line	37
	invoke	1
	asgn
	unmark	1
lab L3
	pnull
	var	3
	var	5
	int	1
	line	38
	invoke	1
	asgn
	line	35
	escan
	unmark	1
lab L1
	mark	L4
	mark	L5
	pnull
	pnull
	pnull
	pnull
	pnull
	var	4
	str	2
	line	40
	cat
	var	7
	var	2
	invoke	1
	cat
	str	3
	cat
	var	7
	var	3
	invoke	1
	cat
	str	4
	cat
	pret
lab L5
	line	40
	pfail
	unmark	1
lab L4
	pnull
	line	41
	pfail
	end