proc sentence
	filen	sentence.icn
	local	0,001000,intext
	local	1,000020,sentence
	local	2,000020,get_line
	local	3,000020,line
	local	4,000020,tmp_s
	local	5,000020,end_part
	local	6,000020,whole_thing
	local	7,000040,inits
	local	8,000040,punct
	local	9,000000,read_line
	local	10,000000,tab
	local	11,000000,upto
	local	12,000000,many
	local	13,000000,pos
	local	14,000000,any
	local	15,000000,find
	con	0,010000,7,056,042,047,041,077,051,135
	con	1,010000,0
	con	2,020000,3,041,077,056
	con	3,002000,1,1
	con	4,010000,1,040
	con	5,020000,3,047,042,050
	con	6,002000,1,3
	con	7,020000,1,040
	con	8,002000,1,0
	declend
	line	49
	colm	11
	init	L1
	mark	L1
	mark	L2
	pnull
	var	7
	pnull
	line	54
	colm	18
	keywd	ucase
	line	54
	colm	28
	keywd	digits
	line	54
	colm	25
	unions
	line	54
	colm	15
	asgn
	unmark
lab L2
	pnull
	var	8
	str	0
	line	55
	colm	15
	asgn
	unmark
lab L1
	mark	L3
	pnull
	var	1
	str	1
	line	57
	colm	14
	asgn
	unmark
lab L3
	mark	L4
	pnull
	var	2
	goto	L7
lab L5
	pop
	mark	L6
	var	9
	var	0
	line	58
	colm	33
	invoke	1
	line	58
	colm	17
	coret
	efail
lab L6
	cofail
	goto	L6
lab L7
	create	L5
	line	58
	colm	14
	asgn
	unmark
lab L4
	mark	L8
lab L9
	mark0
	pnull
	var	3
	pnull
	var	2
	line	60
	colm	19
	coact
	line	60
	colm	16
	asgn
	unmark
	mark	L9
	mark	L12
	mark0
	pnull
	var	3
	str	1
	line	68
	colm	17
	lexeq
	unmark
	mark	L13
	mark0
	var	1
	line	69
	colm	13
	psusp
	pop
lab L14
	efail
lab L15
	unmark
lab L13
	mark	L16
	pnull
	var	1
	str	1
	line	70
	colm	22
	asgn
	unmark
lab L16
	unmark
	goto	L10
	unmark
lab L12
	mark	L17
lab L18
	mark	L18
	var	3
	line	79
	colm	18
	bscan
	mark	L21
	pnull
	var	4
	var	10
	var	11
	var	8
	line	86
	colm	37
	invoke	1
	line	86
	colm	32
	invoke	1
	line	86
	colm	26
	asgn
	pop
	var	11
	cset	2
	pnull
	var	5
	var	10
	var	12
	var	8
	line	87
	colm	53
	invoke	1
	line	87
	colm	48
	invoke	1
	line	87
	colm	42
	asgn
	line	87
	colm	25
	invoke	2
	pop
	mark	L23
	pushn1
	var	13
	pnull
	int	3
	line	88
	colm	30
	neg
	line	88
	colm	29
	invoke	1
	pnull
	var	3
	dup
	pnull
	var	2
	line	88
	colm	45
	coact
	line	88
	colm	40
	cat
	asgn
	unmark
	unmark
	goto	L19
	line	88
	colm	25
	invoke	3
	unmark
	efail
lab L23
	pnull
	pop
	pnull
	str	4
	line	89
	colm	21
	tabmat
	pop
	mark	L24
	pnull
	str	4
	line	89
	colm	29
	tabmat
	esusp
	goto	L25
lab L24
	pushn1
	mark	L26
	var	10
	var	12
	cset	5
	line	89
	colm	45
	invoke	1
	line	89
	colm	40
	invoke	1
	esusp
	goto	L27
lab L26
	line	89
	colm	55
	keywd	null
lab L27
	var	14
	var	7
	line	89
	colm	64
	invoke	1
	line	89
	colm	36
	invoke	2
lab L25
	unmark
	mark	L28
	pnull
	var	6
	pnull
	pnull
	var	1
	var	4
	line	99
	colm	45
	cat
	var	5
	line	99
	colm	54
	cat
	line	99
	colm	33
	asgn
	unmark
lab L28
	mark	L29
	mark0
	mark	L30
	pnull
	pnull
	var	6
	line	100
	colm	24
	size
	int	6
	line	100
	colm	37
	numgt
	esusp
	goto	L31
lab L30
	var	15
	str	4
	var	6
	line	100
	colm	47
	invoke	2
lab L31
	unmark
	mark0
	var	6
	line	101
	colm	26
	psusp
	pop
lab L32
	efail
lab L33
	unmark
lab L29
	mark	L34
	var	10
	var	12
	cset	7
	line	103
	colm	29
	invoke	1
	line	103
	colm	24
	invoke	1
	unmark
lab L34
	mark	L35
	pnull
	var	3
	var	10
	int	8
	line	104
	colm	32
	invoke	1
	line	104
	colm	26
	asgn
	unmark
lab L35
	mark	L36
	pnull
	var	1
	str	1
	line	105
	colm	30
	asgn
	unmark
lab L36
	goto	L19
	goto	L22
lab L21
	unmark
	pnull
	goto	L20
lab L22
	line	79
	colm	18
	escan
lab L19
	unmark
	goto	L18
lab L20
	unmark
lab L17
	pnull
	var	1
	dup
	var	3
	line	113
	colm	18
	cat
	asgn
lab L10
	unmark
	goto	L9
lab L11
	unmark
lab L8
	mark	L37
	mark	L38
	var	1
	line	116
	colm	5
	pret
lab L38
	pfail
	unmark
lab L37
	pnull
	line	118
	colm	1
	pfail
	end
proc read_line
	local	0,001000,intext
	local	1,000020,new_line
	local	2,000020,ilevel
	local	3,000020,junk_count
	local	4,000020,space_count
	local	5,000020,line
	local	6,000040,last_ilevel
	local	7,000040,blank_flag
	local	8,000000,trim
	local	9,000000,detab
	local	10,000000,tab
	local	11,000000,many
	local	12,000000,move
	con	0,002000,1,0
	con	1,020000,2,011,040
	con	2,010000,0
	con	3,002000,1,1
	con	4,020000,1,040
	con	5,010000,1,055
	con	6,010000,1,040
	declend
	line	123
	colm	11
	mark	L1
	pnull
	var	6
	int	0
	line	127
	colm	17
	asgn
	unmark
lab L1
	mark	L2
lab L3
	mark0
	pnull
	var	5
	var	8
	pnull
	var	0
	line	129
	colm	24
	bang
	cset	1
	line	129
	colm	23
	invoke	2
	line	129
	colm	16
	asgn
	unmark
	mark	L3
	mark	L6
	mark0
	pnull
	var	5
	str	2
	line	132
	colm	17
	lexeq
	unmark
	mark	L7
	pnull
	var	7
	int	3
	line	133
	colm	26
	asgn
	unmark
lab L7
	unmark
	goto	L4
	unmark
lab L6
	mark	L8
	var	9
	var	5
	line	136
	colm	14
	invoke	1
	line	136
	colm	21
	bscan
	pnull
	var	2
	mark	L9
	pnull
	var	10
	var	11
	cset	4
	line	137
	colm	32
	invoke	1
	line	137
	colm	27
	invoke	1
	line	137
	colm	23
	size
	esusp
	goto	L10
lab L9
	int	0
lab L10
	line	137
	colm	20
	asgn
	line	136
	colm	21
	escan
	unmark
lab L8
	mark	L11
	var	5
	line	140
	colm	14
	bscan
	mark	L12
	var	10
	var	11
	cset	1
	line	142
	colm	21
	invoke	1
	line	142
	colm	16
	invoke	1
	unmark
lab L12
	mark	L13
	mark0
	mark	L14
	pnull
	var	2
	var	6
	line	146
	colm	24
	numgt
	esusp
	goto	L15
lab L14
	pushn1
	pnull
	var	2
	var	6
	line	146
	colm	49
	numlt
	pnull
	var	7
	line	146
	colm	64
	nonnull
	line	146
	colm	41
	invoke	2
lab L15
	unmark
	mark0
	str	2
	line	147
	colm	18
	psusp
	pop
lab L16
	efail
lab L17
	unmark
lab L13
	mark	L18
	pnull
	var	6
	var	2
	line	148
	colm	25
	asgn
	unmark
lab L18
	mark	L19
	pnull
	var	1
	pnull
	var	10
	pnull
	int	3
	line	151
	colm	29
	neg
	line	151
	colm	28
	invoke	1
	mark	L20
	pnull
	str	5
	line	151
	colm	37
	tabmat
	esusp
	goto	L21
lab L20
	pnull
	var	12
	int	3
	line	151
	colm	49
	invoke	1
	str	6
	line	151
	colm	53
	cat
lab L21
	line	151
	colm	33
	cat
	line	151
	colm	22
	asgn
	unmark
lab L19
	pnull
	var	7
	line	153
	colm	27
	keywd	null
	line	153
	colm	24
	asgn
	line	140
	colm	14
	escan
	unmark
lab L11
	mark0
	var	1
	line	157
	colm	9
	psusp
	pop
lab L22
	efail
lab L23
lab L4
	unmark
	goto	L3
lab L5
	unmark
lab L2
	pnull
	line	160
	colm	1
	pfail
	end
