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

proc main
	local	0,000020,line
	local	1,000020,alpha
	local	2,000020,n
	local	3,000000,read
	local	4,000000,tab
	local	5,000000,upto
	local	6,000000,move
	local	7,000000,integer
	local	8,000000,write
	local	9,000000,meander
	con	0,020000,1,072
	con	1,002000,1
	con	2,002000,0
	con	3,010000,15,145,162,162,157,156,145,157,165,163,040,151,156,160,165,164
	declend
	file	meander.icn
	line	9
	mark	L1
lab L2
	line	11
	mark	L0
	pnull
	var	0
	var	3
	pnull
	invoke	1
	asgn
	unmark	1
	mark	L2
	var	0
	line	12
	bscan
	mark	L5
	pnull
	var	1
	var	4
	var	5
	cset	0
	invoke	1
	invoke	1
	asgn
	unmark	1
	mark	L7
	var	6
	int	1
	line	13
	invoke	1
	unmark	1
lab L7
	mark	L8
	pnull
	var	2
	var	7
	var	4
	int	2
	line	14
	invoke	1
	invoke	1
	asgn
	unmark	1
	var	8
	var	9
	var	1
	var	2
	invoke	2
	invoke	1
	goto	L9
lab L8
	var	8
	str	3
	line	15
	invoke	1
lab L9
	goto	L6
lab L5
	var	8
	str	3
	line	17
	invoke	1
lab L6
	line	12
	escan
lab L3
	unmark	1
	goto	L2
lab L4
	unmark	1
lab L1
	pnull
	line	19
	pfail
	end
proc meander
	local	0,001000,alpha
	local	1,001000,n
	local	2,000020,result
	local	3,000020,t
	local	4,000020,i
	local	5,000020,c
	local	6,000020,k
	local	7,000000,repl
	local	8,000000,find
	con	0,002000,1
	con	1,002000,0
	declend
	file	meander.icn
	line	21
	mark	L1
	pnull
	var	4
	pnull
	var	6
	pnull
	var	0
	line	23
	size
	asgn
	asgn
	unmark	1
lab L1
	mark	L2
	pnull
	var	3
	pnull
	var	1
	int	0
	line	24
	minus
	asgn
	unmark	1
lab L2
	mark	L3
	pnull
	var	2
	var	7
	pnull
	var	0
	int	0
	line	25
	subsc
	var	3
	invoke	2
	asgn
	unmark	1
lab L3
	mark	L4
lab L5
	line	26
	mark	L0
	pnull
	var	5
	pnull
	var	0
	var	4
	subsc
	asgn
	unmark	1
	mark	L5
	mark	L8
	var	8
	pnull
	pnull
	var	2
	pnull
	var	3
	line	27
	neg
	int	1
	sect
	var	5
	cat
	var	2
	invoke	2
	unmark	1
	pnull
	var	4
	dup
	int	0
	line	28
	minus
	asgn
	goto	L9
lab L8
	mark	L10
	pnull
	var	2
	dup
	var	5
	line	29
	cat
	asgn
	unmark	1
lab L10
	pnull
	var	4
	var	6
	asgn
lab L9
lab L6
	unmark	1
	goto	L5
lab L7
	unmark	1
lab L4
	mark	L11
	mark	L12
	var	2
	line	31
	pret
lab L12
	line	31
	pfail
	unmark	1
lab L11
	pnull
	line	32
	pfail
	end