version	U12.1.00
uid	gdl.u1-1788084846-0
impl	error
global	5
	0,000005,gdl,1
	1,000005,set_getdir_by_os,0
	2,000005,msdos_get_dir,1
	3,000005,get_dos_tempname,1
	4,000005,unix_get_dir,1

proc gdl
	local	0,001000,dir
	local	1,000020,getdir
	local	2,000000,set_getdir_by_os
	declend
	filen	gdl.icn
	line	33
	colm	11
	synt	any
	mark	L1
	pnull
	var	1
	var	2
	line	36
	colm	31
	synt	any
	invoke	0
	line	36
	colm	12
	synt	any
	asgn
	unmark
lab L1
	mark	L2
	mark	L3
	var	1
	var	0
	line	37
	colm	18
	synt	any
	invoke	1
	line	37
	colm	5
	synt	any
	pret
lab L3
	synt	any
	pfail
	unmark
lab L2
	pnull
	line	39
	colm	1
	synt	any
	pfail
	end
proc set_getdir_by_os
	local	0,000000,find
	local	1,000000,unix_get_dir
	local	2,000000,msdos_get_dir
	local	3,000000,stop
	con	0,010000,4,125,116,111,130
	con	1,010000,6,115,123,055,104,117,123
	con	2,010000,45,131,157,165,162,040,157,160,145,162,141,164,151,156,147,040,163,171,163,164,145,155,040,151,163,040,156,157,164,040,050,171,145,164,051,040,163,165,160,160,157,162,164,145,144,056
	declend
	line	43
	colm	11
	synt	any
	mark	L1
	line	48
	colm	5
	synt	ifelse
	mark	L2
	var	0
	str	0
	line	48
	colm	21
	synt	any
	keywd	features
	line	48
	colm	12
	synt	any
	invoke	2
	unmark
	mark	L4
	var	1
	line	49
	colm	10
	synt	any
	pret
lab L4
	synt	any
	pfail
	goto	L3
lab L2
	line	50
	colm	10
	synt	ifelse
	mark	L5
	var	0
	str	1
	line	50
	colm	28
	synt	any
	keywd	features
	line	50
	colm	17
	synt	any
	invoke	2
	unmark
	mark	L7
	var	2
	line	51
	colm	10
	synt	any
	pret
lab L7
	synt	any
	pfail
	goto	L6
lab L5
	var	3
	str	2
	line	52
	colm	14
	synt	any
	invoke	1
lab L6
	line	50
	colm	10
	synt	endifelse
lab L3
	line	48
	colm	5
	synt	endifelse
	unmark
lab L1
	pnull
	line	54
	colm	1
	synt	any
	pfail
	end
proc msdos_get_dir
	local	0,001000,dir
	local	1,000020,in_dir
	local	2,000020,filename_list
	local	3,000020,line
	local	4,000020,temp_name
	local	5,000020,filename
	local	6,000040,temp_dir
	local	7,000000,trim
	local	8,000000,map
	local	9,000000,getenv
	local	10,000000,get_dos_tempname
	local	11,000000,stop
	local	12,000000,system
	local	13,000000,open
	local	14,000000,list
	local	15,000000,match
	local	16,000000,find
	local	17,000000,tab
	local	18,000000,put
	local	19,000000,close
	local	20,000000,remove
	local	21,000000,sort
	con	0,010000,7,124,105,115,120,104,111,122
	con	1,010000,1,057
	con	2,010000,1,134
	con	3,020000,1,134
	con	4,010000,2,056,134
	con	5,010000,33,116,157,040,155,157,162,145,040,141,166,141,151,154,141,142,154,145,040,164,145,155,160,146,151,154,145,040,156,141,155,145,163,041
	con	6,010000,4,144,151,162,040
	con	7,010000,3,040,076,040
	con	8,010000,1,162
	con	9,010000,34,103,141,156,047,164,040,157,160,145,156,040,164,145,155,160,040,146,151,154,145,040,151,156,040,144,151,162,145,143,164,157,162,171,040
	con	10,010000,1,056
	con	11,010000,0
	con	12,010000,1,040
	con	13,010000,6,040,074,104,111,122,076
	con	14,002000,2,10
	con	15,002000,2,13
	con	16,020000,2,056,040
	con	17,002000,1,0
	declend
	line	58
	colm	11
	synt	any
lab L1
	init	L3
	mark	L2
	pnull
	var	6
	mark	L4
	pnull
	var	7
	var	8
	var	9
	str	0
	line	73
	colm	29
	synt	any
	invoke	1
	str	1
	str	2
	line	73
	colm	22
	synt	any
	invoke	3
	cset	3
	line	73
	colm	18
	synt	any
	invoke	2
	str	2
	line	73
	colm	60
	synt	any
	cat
	line	73
	colm	69
	synt	any
	esusp
	goto	L5
lab L4
	str	4
lab L5
	line	72
	colm	18
	synt	any
	asgn
	unmark
lab L2
	einit	L1
lab L3
	mark	L6
	pnull
	var	4
	mark	L7
	var	10
	var	6
	line	78
	colm	34
	synt	any
	invoke	1
	line	78
	colm	45
	synt	any
	esusp
	goto	L8
lab L7
	var	11
	str	5
	line	79
	colm	13
	synt	any
	invoke	1
lab L8
	line	78
	colm	15
	synt	any
	asgn
	unmark
lab L6
	mark	L9
	pnull
	var	0
	var	7
	var	8
	var	0
	str	1
	str	2
	line	83
	colm	20
	synt	any
	invoke	3
	cset	3
	line	83
	colm	16
	synt	any
	invoke	2
	line	83
	colm	9
	synt	any
	asgn
	unmark
lab L9
	mark	L10
	var	12
	pnull
	pnull
	pnull
	str	6
	var	0
	line	86
	colm	18
	synt	any
	cat
	str	7
	line	86
	colm	23
	synt	any
	cat
	var	4
	line	86
	colm	30
	synt	any
	cat
	line	86
	colm	11
	synt	any
	invoke	1
	unmark
lab L10
	mark	L11
	pnull
	var	1
	mark	L12
	var	13
	var	4
	str	8
	line	91
	colm	19
	synt	any
	invoke	2
	line	91
	colm	35
	synt	any
	esusp
	goto	L13
lab L12
	var	11
	str	9
	var	6
	str	10
	line	92
	colm	13
	synt	any
	invoke	3
lab L13
	line	91
	colm	12
	synt	any
	asgn
	unmark
lab L11
	mark	L14
	pnull
	var	2
	var	14
	line	93
	colm	26
	synt	any
	invoke	0
	line	93
	colm	19
	synt	any
	asgn
	unmark
lab L14
	mark	L15
	line	94
	colm	5
	synt	every
	mark0
	pnull
	var	5
	pnull
	str	11
	pnull
	var	1
	line	94
	colm	31
	synt	any
	bang
	line	94
	colm	27
	synt	any
	lexne
	line	94
	colm	20
	synt	any
	asgn
	pop
	mark0
	mark	L18
	mark	L19
	var	15
	str	12
	var	5
	line	95
	colm	14
	synt	any
	invoke	2
	line	95
	colm	29
	synt	any
	esusp
	goto	L20
lab L19
	var	16
	str	13
	var	5
	line	95
	colm	35
	synt	any
	invoke	2
lab L20
	pop
	unmark
	unmark
	goto	L16
	unmark
lab L18
	mark	L21
	pnull
	var	5
	sdup
	line	97
	colm	18
	synt	any
	bscan
	var	7
	pnull
	pnull
	var	7
	var	17
	int	14
	line	97
	colm	35
	synt	any
	invoke	1
	line	97
	colm	31
	synt	any
	invoke	1
	str	10
	line	97
	colm	41
	synt	any
	cat
	var	17
	int	15
	line	97
	colm	54
	synt	any
	invoke	1
	line	97
	colm	48
	synt	any
	cat
	cset	16
	line	97
	colm	26
	synt	any
	invoke	2
	line	97
	colm	18
	synt	any
	escan
	asgn
	unmark
lab L21
	var	18
	var	2
	var	8
	pnull
	var	0
	var	5
	line	98
	colm	36
	synt	any
	cat
	line	98
	colm	31
	synt	any
	invoke	1
	line	98
	colm	12
	synt	any
	invoke	2
	unmark
lab L16
	efail
lab L17
	line	94
	colm	5
	synt	endevery
	unmark
lab L15
	mark	L22
	var	19
	var	1
	line	102
	colm	10
	synt	any
	invoke	1
	pop
	var	20
	var	4
	line	102
	colm	27
	synt	any
	invoke	1
	unmark
lab L22
	mark	L23
	line	105
	colm	5
	synt	ifelse
	mark	L24
	pnull
	pnull
	var	2
	line	105
	colm	8
	synt	any
	size
	int	17
	line	105
	colm	23
	synt	any
	numeq
	unmark
	line	105
	colm	32
	synt	any
	pfail
	goto	L25
lab L24
	mark	L26
	var	21
	var	2
	line	106
	colm	21
	synt	any
	invoke	1
	line	106
	colm	10
	synt	any
	pret
lab L26
	synt	any
	pfail
lab L25
	line	105
	colm	5
	synt	endifelse
	unmark
lab L23
	pnull
	line	108
	colm	1
	synt	any
	pfail
	end
proc get_dos_tempname
	local	0,001000,dir
	local	1,000020,temp_name
	local	2,000020,temp_file
	local	3,000000,right
	local	4,000000,string
	local	5,000000,open
	local	6,000000,close
	con	0,010000,8,151,143,157,156,144,151,162,056
	con	1,002000,1,1
	con	2,002000,3,999
	con	3,002000,1,3
	con	4,010000,1,060
	con	5,010000,1,162
	declend
	line	112
	colm	11
	synt	any
	mark	L1
	line	118
	colm	5
	synt	every
	mark0
	pnull
	var	1
	pnull
	pnull
	var	0
	str	0
	line	118
	colm	28
	synt	any
	cat
	var	3
	var	4
	pnull
	int	1
	int	2
	push1
	line	118
	colm	60
	synt	any
	toby
	line	118
	colm	57
	synt	any
	invoke	1
	int	3
	str	4
	line	118
	colm	50
	synt	any
	invoke	3
	line	118
	colm	42
	synt	any
	cat
	line	118
	colm	21
	synt	any
	asgn
	pop
	mark0
	mark	L4
	pnull
	var	2
	mark	L5
	var	5
	var	1
	str	5
	line	119
	colm	26
	synt	any
	invoke	2
	line	119
	colm	42
	synt	any
	esusp
	goto	L6
lab L5
	unmark
	unmark
	unmark
	pnull
	goto	L3
lab L6
	line	119
	colm	19
	synt	any
	asgn
	unmark
lab L4
	var	6
	var	2
	line	120
	colm	14
	synt	any
	invoke	1
	unmark
lab L2
	efail
lab L3
	line	118
	colm	5
	synt	endevery
	unmark
lab L1
	mark	L7
	mark	L8
	pnull
	var	1
	line	122
	colm	12
	synt	any
	nonnull
	line	122
	colm	5
	synt	any
	pret
lab L8
	synt	any
	pfail
	unmark
lab L7
	pnull
	line	124
	colm	1
	synt	any
	pfail
	end
proc unix_get_dir
	local	0,001000,dir
	local	1,000020,filename_list
	local	2,000020,in_dir
	local	3,000020,filename
	local	4,000000,trim
	local	5,000000,list
	local	6,000000,open
	local	7,000000,match
	local	8,000000,put
	local	9,000000,close
	con	0,020000,1,057
	con	1,010000,1,057
	con	2,010000,11,057,142,151,156,057,154,163,040,055,106,040
	con	3,010000,2,160,162
	con	4,010000,0
	con	5,020000,1,052
	con	6,002000,1,0
	declend
	line	128
	colm	11
	synt	any
	mark	L1
	pnull
	var	0
	pnull
	var	4
	var	0
	cset	0
	line	131
	colm	16
	synt	any
	invoke	2
	str	1
	line	131
	colm	27
	synt	any
	cat
	line	131
	colm	9
	synt	any
	asgn
	unmark
lab L1
	mark	L2
	pnull
	var	1
	var	5
	line	132
	colm	26
	synt	any
	invoke	0
	line	132
	colm	19
	synt	any
	asgn
	unmark
lab L2
	mark	L3
	pnull
	var	2
	var	6
	pnull
	str	2
	var	0
	line	133
	colm	33
	synt	any
	cat
	str	3
	line	133
	colm	19
	synt	any
	invoke	2
	line	133
	colm	12
	synt	any
	asgn
	unmark
lab L3
	mark	L4
	line	134
	colm	5
	synt	every
	mark0
	pnull
	var	3
	pnull
	str	4
	pnull
	var	2
	line	134
	colm	31
	synt	any
	bang
	line	134
	colm	27
	synt	any
	lexne
	line	134
	colm	20
	synt	any
	asgn
	pop
	mark0
	mark	L7
	var	7
	str	1
	var	3
	pnull
	var	3
	line	135
	colm	28
	synt	any
	size
	line	135
	colm	14
	synt	any
	invoke	3
	pop
	unmark
	unmark
	goto	L5
	unmark
lab L7
	var	8
	var	1
	var	4
	pnull
	var	0
	var	3
	line	136
	colm	37
	synt	any
	cat
	cset	5
	line	136
	colm	32
	synt	any
	invoke	2
	line	136
	colm	12
	synt	any
	invoke	2
	unmark
lab L5
	efail
lab L6
	line	134
	colm	5
	synt	endevery
	unmark
lab L4
	mark	L8
	var	9
	var	2
	line	138
	colm	10
	synt	any
	invoke	1
	unmark
lab L8
	mark	L9
	line	140
	colm	5
	synt	ifelse
	mark	L10
	pnull
	pnull
	var	1
	line	140
	colm	8
	synt	any
	size
	int	6
	line	140
	colm	23
	synt	any
	numeq
	unmark
	line	140
	colm	32
	synt	any
	pfail
	goto	L11
lab L10
	mark	L12
	var	1
	line	141
	colm	10
	synt	any
	pret
lab L12
	synt	any
	pfail
lab L11
	line	140
	colm	5
	synt	endifelse
	unmark
lab L9
	pnull
	line	143
	colm	1
	synt	any
	pfail
	end
