proc exprfile
	filen	exprfile.icn
	local	0,001000,exp
	local	1,001000,links
	local	2,000020,output
	local	3,000040,name
	local	4,000040,input
	local	5,000000,expr_error
	local	6,000000,remove
	local	7,000000,close
	local	8,000000,tempfile
	local	9,000000,image
	local	10,000000,tab
	local	11,000000,find
	local	12,000000,write
	local	13,000000,system
	local	14,000000,open
	con	0,010000,4,145,170,160,162
	con	1,010000,4,056,151,143,156
	con	2,010000,4,057,164,155,160
	con	3,010000,5,146,151,154,145,050
	con	4,010000,13,151,156,166,157,143,141,142,154,145,040,141,154,154
	con	5,010000,5,154,151,156,153,040
	con	6,010000,20,160,162,157,143,145,144,165,162,145,040,155,141,151,156,050,141,162,147,163,051
	con	7,010000,15,040,040,040,145,166,145,162,171,040,167,162,151,164,145,050
	con	8,010000,1,051
	con	9,010000,3,145,156,144
	con	10,010000,9,151,143,157,156,164,040,055,157,040
	con	11,010000,4,040,055,163,040
	con	12,010000,23,040,076,057,144,145,166,057,156,165,154,154,040,062,076,057,144,145,166,057,156,165,154,154
	con	13,002000,1,0
	con	14,002000,1,1
	con	15,010000,12,040,062,076,057,144,145,166,057,156,165,154,154
	con	16,010000,1,160
	declend
	line	57
	colm	11
	mark	L1
	pnull
	var	5
	line	61
	colm	18
	keywd	null
	line	61
	colm	15
	asgn
	unmark
lab L1
	mark	L2
	var	6
	pnull
	var	3
	line	63
	colm	11
	nonnull
	line	63
	colm	10
	invoke	1
	unmark
lab L2
	mark	L3
	var	7
	pnull
	var	4
	line	64
	colm	10
	nonnull
	line	64
	colm	9
	invoke	1
	unmark
lab L3
	mark	L4
	pnull
	var	2
	var	8
	str	0
	str	1
	str	2
	line	66
	colm	22
	invoke	3
	line	66
	colm	11
	asgn
	unmark
lab L4
	mark	L5
	var	9
	var	2
	line	68
	colm	9
	invoke	1
	line	68
	colm	18
	bscan
	mark	L6
	pnull
	str	3
	line	69
	colm	7
	tabmat
	unmark
lab L6
	pnull
	var	3
	var	10
	var	11
	str	1
	line	70
	colm	23
	invoke	1
	line	70
	colm	18
	invoke	1
	line	70
	colm	12
	asgn
	line	68
	colm	18
	escan
	unmark
lab L5
	mark	L7
	var	12
	var	2
	str	4
	line	73
	colm	9
	invoke	2
	unmark
lab L7
	mark	L8
	mark0
	var	12
	var	2
	str	5
	var	9
	pnull
	var	1
	line	74
	colm	39
	bang
	line	74
	colm	38
	invoke	1
	line	74
	colm	15
	invoke	3
	pop
lab L9
	efail
lab L10
	unmark
lab L8
	mark	L11
	var	12
	var	2
	str	6
	line	75
	colm	9
	invoke	2
	unmark
lab L11
	mark	L12
	var	12
	var	2
	str	7
	var	0
	str	8
	line	76
	colm	9
	invoke	4
	unmark
lab L12
	mark	L13
	var	12
	var	2
	str	9
	line	77
	colm	9
	invoke	2
	unmark
lab L13
	mark	L14
	var	7
	var	2
	line	79
	colm	9
	invoke	1
	unmark
lab L14
	mark	L15
	mark0
	pnull
	var	13
	pnull
	pnull
	pnull
	pnull
	str	10
	var	3
	line	81
	colm	26
	cat
	str	11
	line	81
	colm	34
	cat
	var	3
	line	81
	colm	44
	cat
	str	12
	line	81
	colm	52
	cat
	line	81
	colm	13
	invoke	1
	int	13
	line	82
	colm	34
	numne
	unmark
	mark	L16
	pnull
	var	5
	int	14
	line	83
	colm	22
	asgn
	unmark
lab L16
	mark	L17
	var	6
	pnull
	var	3
	str	1
	line	84
	colm	23
	cat
	line	84
	colm	17
	invoke	1
	unmark
lab L17
	line	85
	colm	11
	pfail
	unmark
lab L15
	mark	L18
	var	6
	pnull
	var	3
	str	1
	line	88
	colm	16
	cat
	line	88
	colm	10
	invoke	1
	unmark
lab L18
	mark	L19
	mark	L20
	pnull
	var	4
	var	14
	pnull
	var	3
	str	15
	line	92
	colm	30
	cat
	str	16
	line	92
	colm	24
	invoke	2
	line	92
	colm	17
	asgn
	line	92
	colm	4
	pret
lab L20
	pfail
	unmark
lab L19
	pnull
	line	94
	colm	1
	pfail
	end
proc exec_expr
	local	0,001000,expr_list
	local	1,001000,links
	local	2,000000,exprfile
	local	3,000000,push
	local	4,000000,plst2pstr
	declend
	line	96
	colm	11
	mark	L1
	mark0
	pnull
	var	2
	var	3
	var	1
	var	4
	var	0
	line	98
	colm	46
	invoke	1
	line	98
	colm	29
	invoke	2
	invoke	-1
	line	98
	colm	12
	bang
	line	98
	colm	4
	psusp
	pop
lab L2
	efail
lab L3
	unmark
lab L1
	pnull
	line	100
	colm	1
	pfail
	end
proc plst2pstr
	local	0,001000,L
	local	1,000020,result
	con	0,010000,0
	con	1,010000,1,012
	declend
	line	102
	colm	11
	mark	L1
	pnull
	var	1
	str	0
	line	105
	colm	11
	asgn
	unmark
lab L1
	mark	L2
	mark0
	pnull
	var	1
	dup
	pnull
	pnull
	var	0
	line	107
	colm	22
	bang
	str	1
	line	107
	colm	25
	cat
	line	107
	colm	17
	cat
	asgn
	pop
lab L3
	efail
lab L4
	unmark
lab L2
	mark	L5
	mark	L6
	var	1
	line	109
	colm	4
	pret
lab L6
	pfail
	unmark
lab L5
	pnull
	line	111
	colm	1
	pfail
	end
proc pstr2plst
	local	0,001000,s
	local	1,000020,result
	local	2,000000,put
	local	3,000000,tab
	local	4,000000,upto
	local	5,000000,move
	local	6,000000,pos
	con	0,020000,1,012
	con	1,002000,1,1
	con	2,002000,1,0
	declend
	line	113
	colm	11
	mark	L1
	pnull
	var	1
	pnull
	line	116
	colm	14
	llist	0
	line	116
	colm	11
	asgn
	unmark
lab L1
	mark	L2
	var	0
	line	118
	colm	6
	bscan
	mark	L3
lab L4
	mark0
	var	2
	var	1
	var	3
	var	4
	cset	0
	line	119
	colm	33
	invoke	1
	line	119
	colm	28
	invoke	1
	line	119
	colm	16
	invoke	2
	unmark
	mark	L4
	var	5
	int	1
	line	120
	colm	14
	invoke	1
lab L5
	unmark
	goto	L4
lab L6
	unmark
lab L3
	mark0
	mark	L7
	var	6
	int	2
	line	121
	colm	17
	invoke	1
	unmark
	efail
lab L7
	pnull
	unmark
	var	2
	var	1
	var	3
	int	2
	line	121
	colm	41
	invoke	1
	line	121
	colm	29
	invoke	2
	line	118
	colm	6
	escan
	unmark
lab L2
	mark	L8
	mark	L9
	var	1
	line	124
	colm	4
	pret
lab L9
	pfail
	unmark
lab L8
	pnull
	line	126
	colm	1
	pfail
	end
proc ucode
	local	0,001000,file
	local	1,000000,system
	con	0,010000,12,151,143,157,156,164,040,055,163,040,055,143,040
	con	1,002000,1,0
	declend
	line	128
	colm	11
	mark	L1
	mark0
	pnull
	var	1
	pnull
	str	0
	var	0
	line	130
	colm	29
	cat
	line	130
	colm	13
	invoke	1
	int	1
	line	130
	colm	38
	numne
	unmark
	line	130
	colm	48
	pfail
	unmark
lab L1
	mark	L2
	mark	L3
	pnull
	line	132
	colm	4
	pret
lab L3
	pfail
	unmark
lab L2
	pnull
	line	134
	colm	1
	pfail
	end
