version	U12.1.00
uid	escape.u1-1786350128-0
impl	error
link	ebcdic.u
global	4
	0,000005,escape,1
	1,000005,hexcode,1
	2,000005,octcode,0
	3,000005,ctrlcode,1

proc escape
	local	0,001000,s
	local	1,000020,ns
	local	2,000020,c
	local	3,000000,tab
	local	4,000000,upto
	local	5,000000,move
	local	6,000000,map
	local	7,000000,hexcode
	local	8,000000,ctrlcode
	local	9,000000,octcode
	con	0,010000,0
	con	1,020000,1,134
	con	2,002000,1,1
	con	3,010000,1,142
	con	4,010000,1,010
	con	5,010000,1,144
	con	6,010000,1,177
	con	7,010000,1,145
	con	8,010000,1,033
	con	9,010000,1,146
	con	10,010000,1,014
	con	11,010000,1,154
	con	12,010000,1,012
	con	13,010000,1,156
	con	14,010000,1,162
	con	15,010000,1,015
	con	16,010000,1,164
	con	17,010000,1,011
	con	18,010000,1,166
	con	19,010000,1,013
	con	20,010000,1,165
	con	21,002000,1,4
	con	22,010000,1,170
	con	23,002000,1,2
	con	24,010000,1,136
	con	25,010000,8,060,061,062,063,064,065,066,067
	con	26,002000,1,0
	declend
	filen	escape.icn
	line	34
	colm	11
	synt	any
	mark	L1
	pnull
	var	1
	str	0
	line	37
	colm	7
	synt	any
	asgn
	unmark
lab L1
	mark	L2
	var	0
	line	38
	colm	6
	synt	any
	bscan
	mark	L3
lab L4
	line	39
	colm	7
	synt	while
	mark0
	pnull
	var	1
	dup
	var	3
	var	4
	cset	1
	line	39
	colm	29
	synt	any
	invoke	1
	line	39
	colm	24
	synt	any
	invoke	1
	line	39
	colm	16
	synt	any
	cat
	asgn
	unmark
	mark	L4
	mark	L7
	var	5
	int	2
	line	40
	colm	14
	synt	any
	invoke	1
	unmark
lab L7
	pnull
	var	1
	dup
	line	41
	colm	18
	synt	case
	mark0
	mark	L9
	var	6
	pnull
	var	2
	var	5
	int	2
	line	41
	colm	36
	synt	any
	invoke	1
	line	41
	colm	29
	synt	any
	asgn
	line	41
	colm	26
	synt	any
	invoke	1
	line	41
	colm	41
	synt	any
	esusp
	goto	L10
lab L9
	line	41
	colm	43
	synt	any
	pfail
lab L10
	eret
	mark	L11
	ccase
	str	3
	line	42
	colm	16
	synt	any
	eqv
	unmark
	pop
	str	4
	goto	L8
lab L11
	mark	L12
	ccase
	str	5
	line	43
	colm	16
	synt	any
	eqv
	unmark
	pop
	str	6
	goto	L8
lab L12
	mark	L13
	ccase
	str	7
	line	44
	colm	16
	synt	any
	eqv
	unmark
	pop
	str	8
	goto	L8
lab L13
	mark	L14
	ccase
	str	9
	line	45
	colm	16
	synt	any
	eqv
	unmark
	pop
	str	10
	goto	L8
lab L14
	mark	L15
	ccase
	str	11
	line	46
	colm	16
	synt	any
	eqv
	unmark
	pop
	str	12
	goto	L8
lab L15
	mark	L16
	ccase
	str	13
	line	47
	colm	16
	synt	any
	eqv
	unmark
	pop
	str	12
	goto	L8
lab L16
	mark	L17
	ccase
	str	14
	line	48
	colm	16
	synt	any
	eqv
	unmark
	pop
	str	15
	goto	L8
lab L17
	mark	L18
	ccase
	str	16
	line	49
	colm	16
	synt	any
	eqv
	unmark
	pop
	str	17
	goto	L8
lab L18
	mark	L19
	ccase
	str	18
	line	50
	colm	16
	synt	any
	eqv
	unmark
	pop
	str	19
	goto	L8
lab L19
	mark	L20
	ccase
	str	20
	line	51
	colm	16
	synt	any
	eqv
	unmark
	pop
	var	7
	int	21
	line	51
	colm	26
	synt	any
	invoke	1
	goto	L8
lab L20
	mark	L21
	ccase
	str	22
	line	52
	colm	16
	synt	any
	eqv
	unmark
	pop
	var	7
	int	23
	line	52
	colm	26
	synt	any
	invoke	1
	goto	L8
lab L21
	mark	L22
	ccase
	str	24
	line	53
	colm	16
	synt	any
	eqv
	unmark
	pop
	var	8
	line	53
	colm	27
	synt	any
	invoke	0
	goto	L8
lab L22
	mark	L23
	ccase
	pnull
	str	25
	line	54
	colm	13
	synt	any
	bang
	line	54
	colm	24
	synt	any
	eqv
	unmark
	pop
	var	9
	line	54
	colm	34
	synt	any
	invoke	0
	goto	L8
lab L23
	pop
	var	2
lab L8
	line	41
	colm	18
	synt	endcase
	line	41
	colm	13
	synt	any
	cat
	asgn
lab L5
	unmark
	goto	L4
lab L6
	line	39
	colm	7
	synt	endwhile
	unmark
lab L3
	mark	L24
	pnull
	var	1
	var	3
	int	26
	line	58
	colm	23
	synt	any
	invoke	1
	line	58
	colm	17
	synt	any
	cat
	line	58
	colm	7
	synt	any
	pret
lab L24
	synt	any
	pfail
	line	38
	colm	6
	synt	any
	escan
	unmark
lab L2
	pnull
	line	61
	colm	1
	synt	any
	pfail
	end
proc hexcode
	local	0,001000,l
	local	1,000020,i
	local	2,000020,s
	local	3,000000,tab
	local	4,000000,many
	local	5,000000,move
	local	6,000000,char
	con	0,002000,1,2
	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,0
	con	3,002000,1,1
	con	4,010000,3,061,066,162
	declend
	line	63
	colm	11
	synt	any
	mark	L1
	pnull
	pnull
	var	0
	line	65
	colm	4
	synt	any
	null
	int	0
	line	65
	colm	7
	synt	any
	asgn
	unmark
lab L1
	mark	L2
	pnull
	var	2
	mark	L3
	var	3
	var	4
	cset	1
	line	67
	colm	17
	synt	any
	invoke	1
	line	67
	colm	12
	synt	any
	invoke	1
	line	67
	colm	45
	synt	any
	esusp
	goto	L4
lab L3
	str	2
lab L4
	line	67
	colm	6
	synt	any
	asgn
	unmark
lab L2
	mark	L5
	line	69
	colm	4
	synt	if
	mark0
	pnull
	pnull
	var	1
	pnull
	var	2
	line	69
	colm	13
	synt	any
	size
	line	69
	colm	10
	synt	any
	asgn
	var	0
	line	69
	colm	17
	synt	any
	numgt
	unmark
	mark	L6
	pnull
	var	2
	pnull
	var	2
	int	3
	pnull
	var	0
	int	3
	line	70
	colm	17
	synt	any
	plus
	line	70
	colm	15
	synt	any
	synt	any
	sect
	line	70
	colm	9
	synt	any
	asgn
	unmark
lab L6
	var	5
	pnull
	pnull
	var	2
	line	71
	colm	12
	synt	any
	size
	var	1
	line	71
	colm	15
	synt	any
	minus
	line	71
	colm	11
	synt	any
	invoke	1
	line	69
	colm	4
	synt	endif
	unmark
lab L5
	mark	L7
	mark	L8
	var	6
	pnull
	str	4
	var	2
	line	74
	colm	22
	synt	any
	cat
	line	74
	colm	15
	synt	any
	invoke	1
	line	74
	colm	4
	synt	any
	pret
lab L8
	synt	any
	pfail
	unmark
lab L7
	pnull
	line	76
	colm	1
	synt	any
	pfail
	end
proc octcode
	local	0,000020,i
	local	1,000020,s
	local	2,000000,move
	local	3,000000,tab
	local	4,000000,many
	local	5,000000,char
	con	0,002000,1,1
	con	1,020000,8,060,061,062,063,064,065,066,067
	con	2,010000,0
	con	3,002000,1,3
	con	4,002000,1,4
	con	5,002000,3,377
	con	6,010000,2,070,162
	declend
	line	78
	colm	11
	synt	any
	mark	L1
	var	2
	pnull
	int	0
	line	81
	colm	9
	synt	any
	neg
	line	81
	colm	8
	synt	any
	invoke	1
	unmark
lab L1
	mark	L2
	pnull
	var	1
	mark	L3
	var	3
	var	4
	cset	1
	line	82
	colm	17
	synt	any
	invoke	1
	line	82
	colm	12
	synt	any
	invoke	1
	line	82
	colm	31
	synt	any
	esusp
	goto	L4
lab L3
	str	2
lab L4
	line	82
	colm	6
	synt	any
	asgn
	unmark
lab L2
	mark	L5
	pnull
	var	0
	pnull
	var	1
	line	84
	colm	9
	synt	any
	size
	line	84
	colm	6
	synt	any
	asgn
	unmark
lab L5
	mark	L6
	line	85
	colm	4
	synt	if
	mark0
	pnull
	pnull
	var	0
	pnull
	var	1
	line	85
	colm	13
	synt	any
	size
	line	85
	colm	10
	synt	any
	asgn
	int	3
	line	85
	colm	17
	synt	any
	numgt
	unmark
	mark	L7
	pnull
	var	1
	pnull
	var	1
	int	0
	int	4
	line	86
	colm	15
	synt	any
	synt	any
	sect
	line	86
	colm	9
	synt	any
	asgn
	unmark
lab L7
	var	2
	pnull
	pnull
	var	1
	line	87
	colm	12
	synt	any
	size
	var	0
	line	87
	colm	15
	synt	any
	minus
	line	87
	colm	11
	synt	any
	invoke	1
	line	85
	colm	4
	synt	endif
	unmark
lab L6
	mark	L8
	line	89
	colm	4
	synt	if
	mark0
	pnull
	var	1
	int	5
	line	89
	colm	9
	synt	any
	numgt
	unmark
	mark	L9
	pnull
	var	1
	pnull
	var	1
	int	0
	int	3
	line	90
	colm	15
	synt	any
	synt	any
	sect
	line	90
	colm	9
	synt	any
	asgn
	unmark
lab L9
	var	2
	pnull
	int	0
	line	91
	colm	12
	synt	any
	neg
	line	91
	colm	11
	synt	any
	invoke	1
	line	89
	colm	4
	synt	endif
	unmark
lab L8
	mark	L10
	mark	L11
	var	5
	pnull
	str	6
	var	1
	line	94
	colm	21
	synt	any
	cat
	line	94
	colm	15
	synt	any
	invoke	1
	line	94
	colm	4
	synt	any
	pret
lab L11
	synt	any
	pfail
	unmark
lab L10
	pnull
	line	96
	colm	1
	synt	any
	pfail
	end
proc ctrlcode
	local	0,001000,s
	local	1,000000,Control
	local	2,000000,move
	con	0,002000,1,1
	declend
	line	98
	colm	11
	synt	any
	mark	L1
	mark	L2
	var	1
	var	2
	int	0
	line	100
	colm	23
	synt	any
	invoke	1
	line	100
	colm	18
	synt	any
	invoke	1
	line	100
	colm	4
	synt	any
	pret
lab L2
	synt	any
	pfail
	unmark
lab L1
	pnull
	line	102
	colm	1
	synt	any
	pfail
	end
