version	U12.1.00
uid	sentence.u1-1784908808-0
impl	error
global	2
	0,000005,sentence,1
	1,000005,read_line,1

proc sentence
	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
	filen	sentence.icn
	line	49
	colm	11
	synt	any
lab L1
	init	L3
	mark	L2
	mark	L4
	pnull
	var	7
	pnull
	line	54
	colm	18
	synt	any
	keywd	ucase
	line	54
	colm	28
	synt	any
	keywd	digits
	line	54
	colm	25
	synt	any
	unions
	line	54
	colm	15
	synt	any
	asgn
	unmark
lab L4
	pnull
	var	8
	str	0
	line	55
	colm	15
	synt	any
	asgn
	unmark
lab L2
	einit	L1
lab L3
	mark	L5
	pnull
	var	1
	str	1
	line	57
	colm	14
	synt	any
	asgn
	unmark
lab L5
	mark	L6
	pnull
	var	2
	goto	L9
lab L7
	pop
	mark	L8
	var	9
	var	0
	line	58
	colm	33
	synt	any
	invoke	1
	line	58
	colm	17
	synt	any
	coret
	efail
lab L8
	cofail
	goto	L8
lab L9
	create	L7
	line	58
	colm	14
	synt	any
	asgn
	unmark
lab L6
	mark	L10
lab L11
	line	60
	colm	5
	synt	while
	mark0
	pnull
	var	3
	pnull
	var	2
	line	60
	colm	19
	synt	any
	coact
	line	60
	colm	16
	synt	any
	asgn
	unmark
	mark	L11
	mark	L14
	line	68
	colm	9
	synt	if
	mark0
	pnull
	var	3
	str	1
	line	68
	colm	17
	synt	any
	lexeq
	unmark
	mark	L15
	line	69
	colm	13
	synt	suspend
	mark0
	var	1
	line	69
	colm	13
	synt	any
	psusp
	pop
lab L16
	efail
lab L17
	line	69
	colm	13
	synt	endsuspend
	unmark
lab L15
	mark	L18
	pnull
	var	1
	str	1
	line	70
	colm	22
	synt	any
	asgn
	unmark
lab L18
	unmark
	goto	L12
	line	68
	colm	9
	synt	endif
	unmark
lab L14
	mark	L19
lab L20
	line	76
	colm	9
	synt	repeat
	mark	L20
	var	3
	line	79
	colm	18
	synt	any
	bscan
	line	86
	colm	17
	synt	ifelse
	mark	L23
	pnull
	var	4
	var	10
	var	11
	var	8
	line	86
	colm	37
	synt	any
	invoke	1
	line	86
	colm	32
	synt	any
	invoke	1
	line	86
	colm	26
	synt	any
	asgn
	pop
	var	11
	cset	2
	pnull
	var	5
	var	10
	var	12
	var	8
	line	87
	colm	53
	synt	any
	invoke	1
	line	87
	colm	48
	synt	any
	invoke	1
	line	87
	colm	42
	synt	any
	asgn
	line	87
	colm	25
	synt	any
	invoke	2
	pop
	mark	L25
	pushn1
	var	13
	pnull
	int	3
	line	88
	colm	30
	synt	any
	neg
	line	88
	colm	29
	synt	any
	invoke	1
	pnull
	var	3
	dup
	pnull
	var	2
	line	88
	colm	45
	synt	any
	coact
	line	88
	colm	40
	synt	any
	cat
	asgn
	unmark
	unmark
	goto	L21
	line	88
	colm	25
	synt	any
	invoke	3
	unmark
	efail
lab L25
	pnull
	pop
	pnull
	str	4
	line	89
	colm	21
	synt	any
	tabmat
	pop
	mark	L26
	pnull
	str	4
	line	89
	colm	29
	synt	any
	tabmat
	line	89
	colm	34
	synt	any
	esusp
	goto	L27
lab L26
	pushn1
	mark	L28
	var	10
	var	12
	cset	5
	line	89
	colm	45
	synt	any
	invoke	1
	line	89
	colm	40
	synt	any
	invoke	1
	line	89
	colm	54
	synt	any
	esusp
	goto	L29
lab L28
	line	89
	colm	55
	synt	any
	keywd	null
lab L29
	var	14
	var	7
	line	89
	colm	64
	synt	any
	invoke	1
	line	89
	colm	36
	synt	any
	invoke	2
lab L27
	unmark
	mark	L30
	pnull
	var	6
	pnull
	pnull
	var	1
	var	4
	line	99
	colm	45
	synt	any
	cat
	var	5
	line	99
	colm	54
	synt	any
	cat
	line	99
	colm	33
	synt	any
	asgn
	unmark
lab L30
	mark	L31
	line	100
	colm	21
	synt	if
	mark0
	mark	L32
	pnull
	pnull
	var	6
	line	100
	colm	24
	synt	any
	size
	int	6
	line	100
	colm	37
	synt	any
	numgt
	line	100
	colm	41
	synt	any
	esusp
	goto	L33
lab L32
	var	15
	str	4
	var	6
	line	100
	colm	47
	synt	any
	invoke	2
lab L33
	unmark
	line	101
	colm	26
	synt	suspend
	mark0
	var	6
	line	101
	colm	26
	synt	any
	psusp
	pop
lab L34
	efail
lab L35
	line	101
	colm	26
	synt	endsuspend
	line	100
	colm	21
	synt	endif
	unmark
lab L31
	mark	L36
	var	10
	var	12
	cset	7
	line	103
	colm	29
	synt	any
	invoke	1
	line	103
	colm	24
	synt	any
	invoke	1
	unmark
lab L36
	mark	L37
	pnull
	var	3
	var	10
	int	8
	line	104
	colm	32
	synt	any
	invoke	1
	line	104
	colm	26
	synt	any
	asgn
	unmark
lab L37
	mark	L38
	pnull
	var	1
	str	1
	line	105
	colm	30
	synt	any
	asgn
	unmark
lab L38
	goto	L21
	goto	L24
lab L23
	unmark
	pnull
	goto	L22
lab L24
	line	86
	colm	17
	synt	endifelse
	line	79
	colm	18
	synt	any
	escan
lab L21
	unmark
	goto	L20
lab L22
	line	76
	colm	9
	synt	endrepeat
	unmark
lab L19
	pnull
	var	1
	dup
	var	3
	line	113
	colm	18
	synt	any
	cat
	asgn
lab L12
	unmark
	goto	L11
lab L13
	line	60
	colm	5
	synt	endwhile
	unmark
lab L10
	mark	L39
	mark	L40
	var	1
	line	116
	colm	5
	synt	any
	pret
lab L40
	synt	any
	pfail
	unmark
lab L39
	pnull
	line	118
	colm	1
	synt	any
	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
	synt	any
	mark	L1
	pnull
	var	6
	int	0
	line	127
	colm	17
	synt	any
	asgn
	unmark
lab L1
	mark	L2
lab L3
	line	129
	colm	5
	synt	while
	mark0
	pnull
	var	5
	var	8
	pnull
	var	0
	line	129
	colm	24
	synt	any
	bang
	cset	1
	line	129
	colm	23
	synt	any
	invoke	2
	line	129
	colm	16
	synt	any
	asgn
	unmark
	mark	L3
	mark	L6
	line	132
	colm	9
	synt	if
	mark0
	pnull
	var	5
	str	2
	line	132
	colm	17
	synt	any
	lexeq
	unmark
	mark	L7
	pnull
	var	7
	int	3
	line	133
	colm	26
	synt	any
	asgn
	unmark
lab L7
	unmark
	goto	L4
	line	132
	colm	9
	synt	endif
	unmark
lab L6
	mark	L8
	var	9
	var	5
	line	136
	colm	14
	synt	any
	invoke	1
	line	136
	colm	21
	synt	any
	bscan
	pnull
	var	2
	mark	L9
	pnull
	var	10
	var	11
	cset	4
	line	137
	colm	32
	synt	any
	invoke	1
	line	137
	colm	27
	synt	any
	invoke	1
	line	137
	colm	23
	synt	any
	size
	line	137
	colm	39
	synt	any
	esusp
	goto	L10
lab L9
	int	0
lab L10
	line	137
	colm	20
	synt	any
	asgn
	line	136
	colm	21
	synt	any
	escan
	unmark
lab L8
	mark	L11
	var	5
	line	140
	colm	14
	synt	any
	bscan
	mark	L12
	var	10
	var	11
	cset	1
	line	142
	colm	21
	synt	any
	invoke	1
	line	142
	colm	16
	synt	any
	invoke	1
	unmark
lab L12
	mark	L13
	line	146
	colm	13
	synt	if
	mark0
	mark	L14
	pnull
	var	2
	var	6
	line	146
	colm	24
	synt	any
	numgt
	line	146
	colm	39
	synt	any
	esusp
	goto	L15
lab L14
	pushn1
	pnull
	var	2
	var	6
	line	146
	colm	49
	synt	any
	numlt
	pnull
	var	7
	line	146
	colm	64
	synt	any
	nonnull
	line	146
	colm	41
	synt	any
	invoke	2
lab L15
	unmark
	line	147
	colm	18
	synt	suspend
	mark0
	str	2
	line	147
	colm	18
	synt	any
	psusp
	pop
lab L16
	efail
lab L17
	line	147
	colm	18
	synt	endsuspend
	line	146
	colm	13
	synt	endif
	unmark
lab L13
	mark	L18
	pnull
	var	6
	var	2
	line	148
	colm	25
	synt	any
	asgn
	unmark
lab L18
	mark	L19
	pnull
	var	1
	pnull
	var	10
	pnull
	int	3
	line	151
	colm	29
	synt	any
	neg
	line	151
	colm	28
	synt	any
	invoke	1
	mark	L20
	pnull
	str	5
	line	151
	colm	37
	synt	any
	tabmat
	line	151
	colm	42
	synt	any
	esusp
	goto	L21
lab L20
	pnull
	var	12
	int	3
	line	151
	colm	49
	synt	any
	invoke	1
	str	6
	line	151
	colm	53
	synt	any
	cat
lab L21
	line	151
	colm	33
	synt	any
	cat
	line	151
	colm	22
	synt	any
	asgn
	unmark
lab L19
	pnull
	var	7
	line	153
	colm	27
	synt	any
	keywd	null
	line	153
	colm	24
	synt	any
	asgn
	line	140
	colm	14
	synt	any
	escan
	unmark
lab L11
	line	157
	colm	9
	synt	suspend
	mark0
	var	1
	line	157
	colm	9
	synt	any
	psusp
	pop
lab L22
	efail
lab L23
	line	157
	colm	9
	synt	endsuspend
lab L4
	unmark
	goto	L3
lab L5
	line	129
	colm	5
	synt	endwhile
	unmark
lab L2
	pnull
	line	160
	colm	1
	synt	any
	pfail
	end
