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

proc main
	local	0,000020,line
	local	1,000000,read
	local	2,000000,recogn
	local	3,000000,s
	local	4,000000,write
	con	0,010000,8,141,143,143,145,160,164,145,144
	con	1,010000,8,162,145,152,145,143,164,145,144
	declend
	file	recogn.icn
	line	8
	mark	L1
lab L2
	line	10
	mark	L0
	pnull
	var	0
	var	1
	pnull
	invoke	1
	asgn
	unmark	1
	mark	L2
	mark	L5
	var	2
	var	3
	var	0
	line	11
	invoke	2
	unmark	1
	var	4
	str	0
	invoke	1
	goto	L6
lab L5
	var	4
	str	1
	invoke	1
lab L6
lab L3
	unmark	1
	goto	L2
lab L4
	unmark	1
lab L1
	pnull
	line	12
	pfail
	end
proc recogn
	local	0,001000,goal
	local	1,001000,text
	local	2,000000,pos
	con	0,002000,0
	declend
	file	recogn.icn
	line	14
	mark	L1
	mark	L2
	var	1
	line	15
	bscan
	var	0
	pnull
	invoke	1
	pop
	var	2
	int	0
	invoke	1
	escan
	pret
lab L2
	line	15
	pfail
	unmark	1
lab L1
	pnull
	line	16
	pfail
	end
proc s
	local	0,000000,s
	local	1,000000,t
	con	0,010000,1,141
	con	1,010000,1,142
	con	2,010000,1,143
	declend
	file	recogn.icn
	line	20
	mark	L1
	mark	L0
	mark	L2
	pnull
	pnull
	str	0
	line	21
	tabmat
	var	0
	pnull
	invoke	1
	cat
	esusp
	goto	L3
lab L2
	mark	L4
	pnull
	var	1
	pnull
	invoke	1
	pnull
	str	1
	tabmat
	cat
	esusp
	goto	L5
lab L4
	pnull
	str	2
	tabmat
lab L5
lab L3
	psusp
	efail
	unmark	1
lab L1
	pnull
	line	22
	pfail
	end
proc t
	local	0,000000,s
	con	0,010000,1,144
	con	1,010000,1,145
	con	2,010000,1,146
	declend
	file	recogn.icn
	line	26
	mark	L1
	mark	L0
	mark	L2
	pnull
	pnull
	pnull
	str	0
	line	27
	tabmat
	var	0
	pnull
	invoke	1
	cat
	pnull
	str	0
	tabmat
	cat
	esusp
	goto	L3
lab L2
	mark	L4
	pnull
	str	1
	tabmat
	esusp
	goto	L5
lab L4
	pnull
	str	2
	tabmat
lab L5
lab L3
	psusp
	efail
	unmark	1
lab L1
	pnull
	line	28
	pfail
	end