version	U12.1.00
uid	escapesq.u1-1788539902-0
impl	error
global	5
	0,000005,escapeseq,0
	1,000005,escchar,1
	2,000005,escchar_convert,2
	3,000005,escape,1
	4,000005,quotedstring,0

proc escapeseq
	local	0,000040,oct
	local	1,000040,hex
	local	2,000000,tab
	local	3,000000,any
	local	4,000000,move
	con	0,020000,8,060,061,062,063,064,065,066,067
	con	1,020000,22,060,061,062,063,064,065,066,067,070,071,101,102,103,104,105,106,141,142,143,144,145,146
	con	2,010000,1,134
	con	3,020000,21,142,144,145,146,154,156,162,164,166,102,104,105,106,114,116,122,124,126,047,042,134
	con	4,010000,0
	con	5,020000,2,170,130
	con	6,010000,1,136
	con	7,002000,1,1
	declend
	filen	escapesq.icn
	line	32
	colm	11
	synt	any
lab L1
	init	L3
	mark	L2
	mark	L4
	pnull
	var	0
	cset	0
	line	38
	colm	11
	synt	any
	asgn
	unmark
lab L4
	pnull
	var	1
	cset	1
	line	39
	colm	11
	synt	any
	asgn
	unmark
lab L2
	einit	L1
lab L3
	mark	L5
	mark	L6
	pnull
	pnull
	str	2
	line	42
	colm	7
	synt	any
	tabmat
	mark	L7
	var	2
	var	3
	cset	3
	line	44
	colm	13
	synt	any
	invoke	1
	line	44
	colm	9
	synt	any
	invoke	1
	line	44
	colm	42
	synt	any
	esusp
	goto	L8
lab L7
	mark	L9
	pnull
	pnull
	var	2
	var	3
	var	0
	line	45
	colm	13
	synt	any
	invoke	1
	line	45
	colm	9
	synt	any
	invoke	1
	mark	L11
	var	2
	var	3
	var	0
	line	45
	colm	31
	synt	any
	invoke	1
	line	45
	colm	27
	synt	any
	invoke	1
	line	45
	colm	38
	synt	any
	esusp
	goto	L12
lab L11
	str	4
lab L12
	line	45
	colm	20
	synt	any
	cat
	mark	L13
	var	2
	var	3
	var	0
	line	45
	colm	55
	synt	any
	invoke	1
	line	45
	colm	51
	synt	any
	invoke	1
	line	45
	colm	62
	synt	any
	esusp
	goto	L14
lab L13
	str	4
lab L14
	line	45
	colm	44
	synt	any
	cat
	line	45
	colm	68
	synt	any
	esusp
	goto	L10
lab L9
	mark	L15
	pnull
	pnull
	var	2
	var	3
	cset	5
	line	46
	colm	13
	synt	any
	invoke	1
	line	46
	colm	9
	synt	any
	invoke	1
	var	2
	var	3
	var	1
	line	46
	colm	31
	synt	any
	invoke	1
	line	46
	colm	27
	synt	any
	invoke	1
	line	46
	colm	21
	synt	any
	cat
	mark	L17
	var	2
	var	3
	var	1
	line	46
	colm	49
	synt	any
	invoke	1
	line	46
	colm	45
	synt	any
	invoke	1
	line	46
	colm	56
	synt	any
	esusp
	goto	L18
lab L17
	str	4
lab L18
	line	46
	colm	38
	synt	any
	cat
	line	46
	colm	62
	synt	any
	esusp
	goto	L16
lab L15
	pnull
	pnull
	str	6
	line	47
	colm	7
	synt	any
	tabmat
	var	4
	int	7
	line	47
	colm	19
	synt	any
	invoke	1
	line	47
	colm	12
	synt	any
	cat
lab L16
lab L10
lab L8
	line	42
	colm	13
	synt	any
	cat
	line	41
	colm	4
	synt	any
	pret
lab L6
	synt	any
	pfail
	unmark
lab L5
	pnull
	line	50
	colm	1
	synt	any
	pfail
	end
proc escchar
	local	0,001000,s1
	local	1,000020,c
	local	2,000000,map
	local	3,000000,move
	local	4,000000,escchar_convert
	local	5,000000,char
	local	6,000000,ord
	local	7,000000,any
	con	0,010000,1,134
	con	1,002000,1,1
	con	2,010000,1,142
	con	3,010000,1,010
	con	4,010000,1,144
	con	5,010000,1,177
	con	6,010000,1,145
	con	7,010000,1,033
	con	8,010000,1,146
	con	9,010000,1,014
	con	10,010000,1,154
	con	11,010000,1,012
	con	12,010000,1,156
	con	13,010000,1,162
	con	14,010000,1,015
	con	15,010000,1,164
	con	16,010000,1,011
	con	17,010000,1,166
	con	18,010000,1,013
	con	19,010000,1,170
	con	20,002000,2,16
	con	21,002000,1,2
	con	22,010000,1,136
	con	23,002000,2,32
	con	24,020000,8,060,061,062,063,064,065,066,067
	con	25,002000,1,8
	con	26,002000,1,3
	declend
	line	53
	colm	11
	synt	any
	mark	L1
	var	0
	line	58
	colm	7
	synt	any
	bscan
	mark	L2
	pnull
	str	0
	line	59
	colm	7
	synt	any
	tabmat
	unmark
lab L2
	mark	L3
	line	60
	colm	14
	synt	case
	mark0
	pnull
	var	1
	var	2
	var	3
	int	1
	line	60
	colm	32
	synt	any
	invoke	1
	line	60
	colm	27
	synt	any
	invoke	1
	line	60
	colm	21
	synt	any
	asgn
	eret
	mark	L5
	ccase
	str	2
	line	61
	colm	9
	synt	any
	eqv
	unmark
	pop
	str	3
	goto	L4
lab L5
	mark	L6
	ccase
	str	4
	line	62
	colm	9
	synt	any
	eqv
	unmark
	pop
	str	5
	goto	L4
lab L6
	mark	L7
	ccase
	str	6
	line	63
	colm	9
	synt	any
	eqv
	unmark
	pop
	str	7
	goto	L4
lab L7
	mark	L8
	ccase
	str	8
	line	64
	colm	9
	synt	any
	eqv
	unmark
	pop
	str	9
	goto	L4
lab L8
	mark	L9
	ccase
	str	10
	line	65
	colm	9
	synt	any
	eqv
	unmark
	pop
	str	11
	goto	L4
lab L9
	mark	L10
	ccase
	str	12
	line	66
	colm	9
	synt	any
	eqv
	unmark
	pop
	str	11
	goto	L4
lab L10
	mark	L11
	ccase
	str	13
	line	67
	colm	9
	synt	any
	eqv
	unmark
	pop
	str	14
	goto	L4
lab L11
	mark	L12
	ccase
	str	15
	line	68
	colm	9
	synt	any
	eqv
	unmark
	pop
	str	16
	goto	L4
lab L12
	mark	L13
	ccase
	str	17
	line	69
	colm	9
	synt	any
	eqv
	unmark
	pop
	str	18
	goto	L4
lab L13
	mark	L14
	ccase
	str	19
	line	70
	colm	9
	synt	any
	eqv
	unmark
	pop
	var	4
	int	20
	int	21
	line	70
	colm	26
	synt	any
	invoke	2
	goto	L4
lab L14
	mark	L15
	ccase
	str	22
	line	71
	colm	9
	synt	any
	eqv
	unmark
	pop
	mark	L16
	var	5
	pnull
	var	6
	var	3
	int	1
	line	71
	colm	24
	synt	any
	invoke	1
	line	71
	colm	19
	synt	any
	invoke	1
	int	23
	line	71
	colm	29
	synt	any
	mod
	line	71
	colm	15
	synt	any
	invoke	1
	line	71
	colm	35
	synt	any
	esusp
	goto	L17
lab L16
	line	71
	colm	37
	synt	any
	keywd	fail
lab L17
	goto	L4
lab L15
	pop
	line	73
	colm	9
	synt	ifelse
	mark	L18
	var	7
	cset	24
	var	1
	line	73
	colm	15
	synt	any
	invoke	2
	unmark
	mark	L20
	var	3
	pnull
	int	1
	line	74
	colm	17
	synt	any
	neg
	line	74
	colm	16
	synt	any
	invoke	1
	unmark
lab L20
	var	4
	int	25
	int	26
	line	75
	colm	27
	synt	any
	invoke	2
	goto	L19
lab L18
	var	1
lab L19
	line	73
	colm	9
	synt	endifelse
lab L4
	line	60
	colm	14
	synt	endcase
	line	60
	colm	7
	synt	any
	pret
lab L3
	synt	any
	pfail
	line	58
	colm	7
	synt	any
	escan
	unmark
lab L1
	pnull
	line	81
	colm	1
	synt	any
	pfail
	end
proc escchar_convert
	local	0,001000,r
	local	1,001000,max
	local	2,000020,n
	local	3,000020,d
	local	4,000020,i
	local	5,000020,c
	local	6,000000,move
	local	7,000000,find
	local	8,000000,map
	local	9,000000,char
	con	0,010000,16,060,061,062,063,064,065,066,067,070,071,141,142,143,144,145,146
	con	1,002000,1,1
	con	2,002000,1,0
	declend
	line	84
	colm	11
	synt	any
	mark	L1
	pnull
	var	3
	pnull
	str	0
	int	1
	pnull
	var	0
	int	1
	line	92
	colm	32
	synt	any
	plus
	line	92
	colm	29
	synt	any
	synt	any
	sect
	line	92
	colm	6
	synt	any
	asgn
	unmark
lab L1
	mark	L2
	pnull
	var	2
	int	2
	line	93
	colm	6
	synt	any
	asgn
	unmark
lab L2
	mark	L3
	line	94
	colm	4
	synt	every
	mark0
	pnull
	int	1
	var	1
	push1
	line	94
	colm	12
	synt	any
	toby
	pop
	mark0
	mark	L6
	pnull
	var	5
	mark	L7
	var	6
	int	1
	line	95
	colm	16
	synt	any
	invoke	1
	line	95
	colm	20
	synt	any
	esusp
	goto	L8
lab L7
	unmark
	unmark
	unmark
	pnull
	goto	L5
lab L8
	line	95
	colm	9
	synt	any
	asgn
	unmark
lab L6
	mark	L9
	line	96
	colm	7
	synt	if
	mark0
	mark	L10
	pnull
	var	4
	pnull
	var	7
	var	8
	var	5
	line	96
	colm	28
	synt	any
	invoke	1
	var	3
	line	96
	colm	24
	synt	any
	invoke	2
	int	1
	line	96
	colm	35
	synt	any
	minus
	line	96
	colm	17
	synt	any
	asgn
	unmark
	efail
lab L10
	pnull
	unmark
	mark	L11
	var	6
	pnull
	int	1
	line	97
	colm	11
	synt	any
	neg
	line	97
	colm	10
	synt	any
	invoke	1
	unmark
lab L11
	unmark
	unmark
	unmark
	pnull
	goto	L5
	line	96
	colm	7
	synt	endif
	unmark
lab L9
	pnull
	var	2
	pnull
	pnull
	var	2
	var	0
	line	100
	colm	14
	synt	any
	mult
	var	4
	line	100
	colm	18
	synt	any
	plus
	line	100
	colm	9
	synt	any
	asgn
	unmark
lab L4
	efail
lab L5
	line	94
	colm	4
	synt	endevery
	unmark
lab L3
	mark	L12
	mark	L13
	var	9
	var	2
	line	102
	colm	15
	synt	any
	invoke	1
	line	102
	colm	4
	synt	any
	pret
lab L13
	synt	any
	pfail
	unmark
lab L12
	pnull
	line	103
	colm	1
	synt	any
	pfail
	end
proc escape
	local	0,001000,s1
	local	1,000020,esc
	local	2,000000,tab
	local	3,000000,find
	local	4,000000,escapeseq
	local	5,000000,escchar
	local	6,000000,move
	con	0,010000,0
	con	1,010000,1,134
	con	2,002000,1,1
	con	3,002000,1,0
	declend
	line	106
	colm	11
	synt	any
	mark	L1
	var	0
	line	112
	colm	7
	synt	any
	bscan
	mark	L2
	pnull
	var	0
	str	0
	line	113
	colm	10
	synt	any
	asgn
	unmark
lab L2
	mark	L3
lab L4
	line	114
	colm	7
	synt	while
	mark0
	pnull
	var	0
	dup
	var	2
	var	3
	str	1
	line	114
	colm	29
	synt	any
	invoke	1
	line	114
	colm	24
	synt	any
	invoke	1
	line	114
	colm	16
	synt	any
	cat
	asgn
	unmark
	mark	L4
	line	115
	colm	6
	synt	ifelse
	mark	L7
	pnull
	var	1
	var	4
	line	115
	colm	25
	synt	any
	invoke	0
	line	115
	colm	13
	synt	any
	asgn
	unmark
	pnull
	var	0
	dup
	var	5
	var	1
	line	115
	colm	48
	synt	any
	invoke	1
	line	115
	colm	36
	synt	any
	cat
	asgn
	goto	L8
lab L7
	var	6
	int	2
	line	116
	colm	15
	synt	any
	invoke	1
lab L8
	line	115
	colm	6
	synt	endifelse
lab L5
	unmark
	goto	L4
lab L6
	line	114
	colm	7
	synt	endwhile
	unmark
lab L3
	pnull
	var	0
	dup
	var	2
	int	3
	line	118
	colm	18
	synt	any
	invoke	1
	line	118
	colm	10
	synt	any
	cat
	asgn
	line	112
	colm	7
	synt	any
	escan
	unmark
lab L1
	mark	L9
	mark	L10
	var	0
	line	120
	colm	4
	synt	any
	pret
lab L10
	synt	any
	pfail
	unmark
lab L9
	pnull
	line	121
	colm	1
	synt	any
	pfail
	end
proc quotedstring
	local	0,000000,tab
	local	1,000000,find
	con	0,010000,1,042
	con	1,002000,1,1
	con	2,002000,1,2
	con	3,010000,1,134
	declend
	line	124
	colm	11
	synt	any
	mark	L1
	line	128
	colm	4
	synt	suspend
	mark0
	pnull
	pnull
	str	0
	line	128
	colm	12
	synt	any
	tabmat
	int	1
	var	0
	pnull
	var	1
	str	0
	line	128
	colm	31
	synt	any
	invoke	1
	int	1
	line	128
	colm	38
	synt	any
	plus
	line	128
	colm	26
	synt	any
	invoke	1
	pnull
	pnull
	line	128
	colm	43
	synt	any
	keywd	subject
	pnull
	line	128
	colm	52
	synt	any
	keywd	pos
	int	2
	line	128
	colm	57
	synt	any
	minus
	line	128
	colm	51
	synt	any
	subsc
	str	3
	line	128
	colm	62
	synt	any
	lexne
	line	128
	colm	22
	synt	any
	invoke	2
	line	128
	colm	18
	synt	any
	cat
	line	128
	colm	4
	synt	any
	psusp
	pop
lab L2
	efail
lab L3
	line	128
	colm	4
	synt	endsuspend
	unmark
lab L1
	pnull
	line	129
	colm	1
	synt	any
	pfail
	end
