version	U12.1.00
uid	wildcard.u1-1788539921-0
impl	error
global	5
	0,000005,wild_match,4
	1,000005,wild_find,4
	2,000005,wild_pat,1
	3,000005,wild_skip,1
	4,000005,wild_match1,2

proc wild_match
	local	0,001000,plist
	local	1,001000,s
	local	2,001000,i1
	local	3,001000,i2
	local	4,000000,type
	local	5,000000,wild_pat
	local	6,000000,copy
	local	7,000000,wild_match1
	con	0,002000,1,1
	con	1,002000,1,0
	con	2,010000,6,163,164,162,151,156,147
	declend
	filen	wildcard.icn
	line	57
	colm	11
	synt	any
	mark	L1
	pnull
	pnull
	var	2
	line	64
	colm	4
	synt	any
	null
	line	64
	colm	10
	synt	ifelse
	mark	L2
	pnull
	pnull
	var	1
	line	64
	colm	13
	synt	any
	null
	line	64
	colm	19
	synt	any
	keywd	subject
	line	64
	colm	16
	synt	any
	asgn
	unmark
	line	64
	colm	33
	synt	any
	keywd	pos
	goto	L3
lab L2
	int	0
lab L3
	line	64
	colm	10
	synt	endifelse
	line	64
	colm	7
	synt	any
	asgn
	unmark
lab L1
	mark	L4
	pnull
	pnull
	var	3
	line	64
	colm	47
	synt	any
	null
	int	1
	line	64
	colm	51
	synt	any
	asgn
	unmark
lab L4
	mark	L5
	pnull
	var	0
	line	65
	colm	14
	synt	ifelse
	mark	L6
	pnull
	var	4
	var	0
	line	65
	colm	21
	synt	any
	invoke	1
	str	2
	line	65
	colm	29
	synt	any
	lexeq
	unmark
	var	5
	goto	L7
lab L6
	var	6
lab L7
	line	65
	colm	14
	synt	endifelse
	var	0
	line	65
	colm	65
	synt	any
	invoke	1
	line	65
	colm	10
	synt	any
	asgn
	unmark
lab L5
	mark	L8
	line	66
	colm	4
	synt	suspend
	mark0
	pnull
	var	1
	var	2
	var	3
	line	66
	colm	16
	synt	any
	synt	any
	sect
	line	66
	colm	21
	synt	any
	bscan
	var	7
	var	0
	line	66
	colm	35
	synt	any
	invoke	1
	pop
	pnull
	pnull
	var	2
	line	66
	colm	50
	synt	any
	keywd	pos
	line	66
	colm	48
	synt	any
	plus
	int	0
	line	66
	colm	55
	synt	any
	minus
	line	66
	colm	21
	synt	any
	escan
	line	66
	colm	4
	synt	any
	psusp
	pop
lab L9
	efail
lab L10
	line	66
	colm	4
	synt	endsuspend
	unmark
lab L8
	pnull
	line	67
	colm	1
	synt	any
	pfail
	end
proc wild_find
	local	0,001000,plist
	local	1,001000,s
	local	2,001000,i1
	local	3,001000,i2
	local	4,000020,p
	local	5,000000,type
	local	6,000000,wild_pat
	local	7,000000,wild_skip
	local	8,000000,tab
	local	9,000000,wild_match
	con	0,002000,1,1
	con	1,002000,1,0
	con	2,010000,6,163,164,162,151,156,147
	declend
	line	70
	colm	11
	synt	any
	mark	L1
	pnull
	pnull
	var	2
	line	77
	colm	4
	synt	any
	null
	line	77
	colm	11
	synt	ifelse
	mark	L2
	pnull
	pnull
	var	1
	line	77
	colm	14
	synt	any
	null
	line	77
	colm	20
	synt	any
	keywd	subject
	line	77
	colm	17
	synt	any
	asgn
	unmark
	line	77
	colm	34
	synt	any
	keywd	pos
	goto	L3
lab L2
	int	0
lab L3
	line	77
	colm	11
	synt	endifelse
	line	77
	colm	8
	synt	any
	asgn
	unmark
lab L1
	mark	L4
	pnull
	pnull
	var	3
	line	77
	colm	48
	synt	any
	null
	int	1
	line	77
	colm	52
	synt	any
	asgn
	unmark
lab L4
	mark	L5
	line	78
	colm	4
	synt	if
	mark0
	pnull
	var	5
	var	0
	line	78
	colm	11
	synt	any
	invoke	1
	str	2
	line	78
	colm	19
	synt	any
	lexeq
	unmark
	pnull
	var	0
	var	6
	var	0
	line	78
	colm	53
	synt	any
	invoke	1
	line	78
	colm	42
	synt	any
	asgn
	line	78
	colm	4
	synt	endif
	unmark
lab L5
	mark	L6
	pnull
	var	1
	var	2
	var	3
	line	79
	colm	8
	synt	any
	synt	any
	sect
	line	79
	colm	13
	synt	any
	bscan
	line	79
	colm	15
	synt	suspend
	mark0
	var	7
	var	0
	line	80
	colm	19
	synt	any
	invoke	1
	pop
	pnull
	var	4
	line	81
	colm	15
	synt	any
	keywd	pos
	line	81
	colm	12
	synt	any
	asgn
	pop
	int	0
	line	82
	colm	13
	synt	any
	limit
	var	8
	var	9
	var	0
	line	82
	colm	24
	synt	any
	invoke	1
	line	82
	colm	13
	synt	any
	invoke	1
	lsusp
	pop
	pnull
	pnull
	var	2
	var	4
	line	83
	colm	13
	synt	any
	plus
	int	0
	line	83
	colm	17
	synt	any
	minus
	line	79
	colm	15
	synt	any
	psusp
	pop
lab L7
	efail
lab L8
	line	79
	colm	15
	synt	endsuspend
	line	79
	colm	13
	synt	any
	escan
	unmark
lab L6
	pnull
	line	84
	colm	1
	synt	any
	pfail
	end
proc wild_pat
	local	0,001000,s
	local	1,000020,c
	local	2,000020,ch
	local	3,000020,chars
	local	4,000020,complement
	local	5,000020,e
	local	6,000020,plist
	local	7,000020,special
	local	8,000000,pos
	local	9,000000,move
	local	10,000000,tab
	local	11,000000,find
	local	12,000000,upto
	local	13,000000,any
	local	14,000000,ord
	local	15,000000,type
	local	16,000000,put
	con	0,002000,1,0
	con	1,010000,1,052
	con	2,010000,1,077
	con	3,002000,1,1
	con	4,010000,1,134
	con	5,010000,1,133
	con	6,010000,1,135
	con	7,010000,2,041,135
	con	8,010000,3,041,055,135
	con	9,010000,0
	con	10,020000,4,052,077,133,134
	con	11,010000,1,041
	con	12,020000,2,055,135
	con	13,020000,0
	con	14,010000,1,055
	con	15,002000,1,2
	con	16,010000,6,163,164,162,151,156,147
	declend
	line	87
	colm	11
	synt	any
	mark	L1
	pnull
	var	6
	pnull
	line	105
	colm	13
	synt	any
	llist	0
	line	105
	colm	10
	synt	any
	asgn
	unmark
lab L1
	mark	L2
	var	0
	line	106
	colm	6
	synt	any
	bscan
lab L3
	line	107
	colm	7
	synt	until
	mark	L4
	var	8
	int	0
	line	107
	colm	16
	synt	any
	invoke	1
	unmark
	efail
lab L4
	mark	L3
	mark	L7
	pnull
	var	1
	line	108
	colm	15
	synt	any
	keywd	null
	line	108
	colm	12
	synt	any
	asgn
	unmark
lab L7
	mark	L8
	pnull
	var	5
	mark	L9
	pnull
	str	1
	line	112
	colm	16
	synt	any
	tabmat
	pop
	int	0
	line	112
	colm	26
	synt	any
	esusp
	goto	L10
lab L9
	mark	L11
	pnull
	str	2
	line	112
	colm	29
	synt	any
	tabmat
	pop
	int	3
	line	112
	colm	39
	synt	any
	esusp
	goto	L12
lab L11
	mark	L13
	pnull
	str	4
	line	112
	colm	42
	synt	any
	tabmat
	pop
	var	9
	int	3
	line	112
	colm	54
	synt	any
	invoke	1
	line	112
	colm	59
	synt	any
	esusp
	goto	L14
lab L13
	mark	L15
	pnull
	str	5
	line	113
	colm	17
	synt	any
	tabmat
	pop
	pnull
	var	1
	pnull
	pnull
	mark	L17
	str	6
	line	113
	colm	36
	synt	any
	esusp
	goto	L18
lab L17
	mark	L19
	str	7
	line	113
	colm	43
	synt	any
	esusp
	goto	L20
lab L19
	mark	L21
	str	8
	line	113
	colm	51
	synt	any
	esusp
	goto	L22
lab L21
	str	9
lab L22
lab L20
lab L18
	line	113
	colm	30
	synt	any
	tabmat
	var	10
	var	11
	str	6
	line	113
	colm	68
	synt	any
	invoke	1
	line	113
	colm	63
	synt	any
	invoke	1
	line	113
	colm	57
	synt	any
	cat
	line	113
	colm	26
	synt	any
	asgn
	pop
	var	9
	int	3
	line	114
	colm	26
	synt	any
	invoke	1
	line	114
	colm	31
	synt	any
	esusp
	goto	L16
lab L15
	pnull
	var	9
	int	3
	line	115
	colm	20
	synt	any
	invoke	1
	var	10
	mark	L23
	var	12
	cset	10
	line	115
	colm	35
	synt	any
	invoke	1
	line	115
	colm	45
	synt	any
	esusp
	goto	L24
lab L23
	int	0
lab L24
	line	115
	colm	30
	synt	any
	invoke	1
	line	115
	colm	24
	synt	any
	cat
lab L16
lab L14
lab L12
lab L10
	line	112
	colm	12
	synt	any
	asgn
	unmark
lab L8
	mark	L25
	pnull
	var	1
	line	123
	colm	10
	synt	any
	nonnull
	line	123
	colm	13
	synt	any
	bscan
	mark	L26
	pnull
	var	4
	mark	L27
	pnull
	str	11
	line	124
	colm	27
	synt	any
	tabmat
	line	124
	colm	32
	synt	any
	esusp
	goto	L28
lab L27
	line	124
	colm	34
	synt	any
	keywd	null
lab L28
	line	124
	colm	24
	synt	any
	asgn
	unmark
lab L26
	mark	L29
	pnull
	var	7
	cset	12
	line	125
	colm	21
	synt	any
	asgn
	unmark
lab L29
	mark	L30
	pnull
	var	5
	cset	13
	line	126
	colm	15
	synt	any
	asgn
	unmark
lab L30
	mark	L31
lab L32
	line	127
	colm	13
	synt	while
	mark0
	pnull
	var	2
	var	10
	var	13
	var	7
	line	127
	colm	32
	synt	any
	invoke	1
	line	127
	colm	28
	synt	any
	invoke	1
	line	127
	colm	22
	synt	any
	asgn
	unmark
	mark	L32
	mark	L35
	pnull
	var	5
	dup
	var	2
	line	128
	colm	18
	synt	any
	unions
	asgn
	unmark
lab L35
	pnull
	var	7
	dup
	var	2
	line	129
	colm	24
	synt	any
	diff
	asgn
lab L33
	unmark
	goto	L32
lab L34
	line	127
	colm	13
	synt	endwhile
	unmark
lab L31
	mark	L36
lab L37
	line	131
	colm	13
	synt	while
	mark0
	pnull
	var	3
	var	10
	var	11
	str	14
	line	131
	colm	36
	synt	any
	invoke	1
	line	131
	colm	31
	synt	any
	invoke	1
	line	131
	colm	25
	synt	any
	asgn
	unmark
	mark	L37
	mark	L40
	var	9
	int	3
	line	132
	colm	20
	synt	any
	invoke	1
	unmark
lab L40
	pnull
	var	5
	dup
	pnull
	pnull
	var	3
	int	3
	pnull
	int	3
	line	133
	colm	31
	synt	any
	neg
	line	133
	colm	30
	synt	any
	synt	any
	sect
	pnull
	line	134
	colm	22
	synt	any
	keywd	cset
	pnull
	var	14
	pnull
	var	3
	pnull
	int	3
	line	134
	colm	38
	synt	any
	neg
	line	134
	colm	37
	synt	any
	subsc
	line	134
	colm	31
	synt	any
	invoke	1
	int	3
	line	134
	colm	43
	synt	any
	plus
	pnull
	var	14
	var	9
	int	3
	line	134
	colm	55
	synt	any
	invoke	1
	line	134
	colm	50
	synt	any
	invoke	1
	int	15
	line	134
	colm	60
	synt	any
	plus
	line	134
	colm	46
	synt	any
	synt	any
	sect
	line	133
	colm	35
	synt	any
	unions
	line	133
	colm	18
	synt	any
	unions
	asgn
lab L38
	unmark
	goto	L37
lab L39
	line	131
	colm	13
	synt	endwhile
	unmark
lab L36
	mark	L41
	pnull
	var	5
	dup
	var	10
	int	0
	line	136
	colm	23
	synt	any
	invoke	1
	line	136
	colm	15
	synt	any
	unions
	asgn
	unmark
lab L41
	line	137
	colm	13
	synt	if
	mark0
	pnull
	var	4
	line	137
	colm	16
	synt	any
	nonnull
	unmark
	pnull
	var	5
	pnull
	var	5
	line	137
	colm	38
	synt	any
	compl
	line	137
	colm	35
	synt	any
	asgn
	line	137
	colm	13
	synt	endif
	line	123
	colm	13
	synt	any
	escan
	unmark
lab L25
	line	139
	colm	10
	synt	ifelse
	mark	L42
	pnull
	pnull
	var	15
	var	5
	line	139
	colm	17
	synt	any
	invoke	1
	str	16
	line	139
	colm	21
	synt	any
	lexeq
	var	15
	pnull
	var	6
	pnull
	int	3
	line	139
	colm	47
	synt	any
	neg
	line	139
	colm	46
	synt	any
	subsc
	line	139
	colm	40
	synt	any
	invoke	1
	line	139
	colm	33
	synt	any
	lexeq
	unmark
	pnull
	pnull
	var	6
	pnull
	int	3
	line	139
	colm	63
	synt	any
	neg
	line	139
	colm	62
	synt	any
	subsc
	dup
	var	5
	line	139
	colm	67
	synt	any
	cat
	asgn
	goto	L43
lab L42
	var	16
	var	6
	var	5
	line	140
	colm	18
	synt	any
	invoke	2
lab L43
	line	139
	colm	10
	synt	endifelse
lab L5
	unmark
	goto	L3
lab L6
	line	107
	colm	7
	synt	enduntil
	line	106
	colm	6
	synt	any
	escan
	unmark
lab L2
	mark	L44
	mark	L45
	var	6
	line	143
	colm	4
	synt	any
	pret
lab L45
	synt	any
	pfail
	unmark
lab L44
	pnull
	line	144
	colm	1
	synt	any
	pfail
	end
proc wild_skip
	local	0,001000,plist
	local	1,000020,x
	local	2,000020,t
	local	3,000000,tab
	local	4,000000,type
	local	5,000000,find
	local	6,000000,upto
	con	0,002000,1,1
	con	1,010000,6,163,164,162,151,156,147
	con	2,010000,4,143,163,145,164
	declend
	line	147
	colm	11
	synt	any
	mark	L1
	pnull
	var	1
	pnull
	var	0
	int	0
	line	157
	colm	14
	synt	any
	subsc
	line	157
	colm	6
	synt	any
	asgn
	unmark
lab L1
	mark	L2
	line	158
	colm	4
	synt	suspend
	mark0
	var	3
	line	159
	colm	7
	synt	case
	mark0
	var	4
	var	1
	line	159
	colm	16
	synt	any
	invoke	1
	eret
	mark	L6
	ccase
	str	1
	line	160
	colm	18
	synt	any
	eqv
	unmark
	pop
	var	5
	var	1
	line	160
	colm	24
	synt	any
	invoke	1
	goto	L5
lab L6
	mark	L7
	ccase
	str	2
	line	161
	colm	16
	synt	any
	eqv
	unmark
	pop
	var	6
	var	1
	line	161
	colm	22
	synt	any
	invoke	1
	goto	L5
lab L7
	pop
	pnull
	line	162
	colm	19
	synt	any
	keywd	pos
	pnull
	pnull
	line	162
	colm	28
	synt	any
	keywd	subject
	line	162
	colm	27
	synt	any
	size
	int	0
	line	162
	colm	37
	synt	any
	plus
	push1
	line	162
	colm	24
	synt	any
	toby
lab L5
	line	159
	colm	7
	synt	endcase
	line	158
	colm	15
	synt	any
	invoke	1
	line	158
	colm	4
	synt	any
	psusp
	pop
lab L3
	efail
lab L4
	line	158
	colm	4
	synt	endsuspend
	unmark
lab L2
	pnull
	line	165
	colm	1
	synt	any
	pfail
	end
proc wild_match1
	local	0,001000,plist
	local	1,001000,v
	local	2,000020,c
	local	3,000000,pop
	local	4,000000,wild_match1
	local	5,000000,wild_skip
	local	6,000000,move
	local	7,000000,type
	local	8,000000,tab
	local	9,000000,any
	local	10,000000,push
	con	0,002000,1,0
	con	1,002000,1,1
	con	2,010000,4,143,163,145,164
	declend
	line	168
	colm	11
	synt	any
	mark	L1
	line	174
	colm	4
	synt	ifelse
	mark	L2
	pnull
	var	2
	var	3
	var	0
	line	174
	colm	15
	synt	any
	invoke	1
	line	174
	colm	9
	synt	any
	asgn
	unmark
	mark	L4
	line	175
	colm	7
	synt	suspend
	mark0
	var	4
	var	0
	line	175
	colm	33
	synt	case
	mark0
	var	2
	eret
	mark	L8
	ccase
	int	0
	line	176
	colm	11
	synt	any
	eqv
	unmark
	pop
	var	5
	var	0
	line	176
	colm	22
	synt	any
	invoke	1
	goto	L7
lab L8
	mark	L9
	ccase
	int	1
	line	177
	colm	11
	synt	any
	eqv
	unmark
	pop
	var	6
	int	1
	line	177
	colm	17
	synt	any
	invoke	1
	goto	L7
lab L9
	pop
	line	178
	colm	19
	synt	case
	mark0
	var	7
	var	2
	line	178
	colm	28
	synt	any
	invoke	1
	eret
	mark	L11
	ccase
	str	2
	line	179
	colm	22
	synt	any
	eqv
	unmark
	pop
	var	8
	var	9
	var	2
	line	179
	colm	31
	synt	any
	invoke	1
	line	179
	colm	27
	synt	any
	invoke	1
	goto	L10
lab L11
	pop
	pnull
	var	2
	line	180
	colm	25
	synt	any
	tabmat
lab L10
	line	178
	colm	19
	synt	endcase
lab L7
	line	175
	colm	33
	synt	endcase
	line	175
	colm	26
	synt	any
	invoke	2
	line	175
	colm	7
	synt	any
	psusp
	pop
lab L5
	efail
lab L6
	line	175
	colm	7
	synt	endsuspend
	unmark
lab L4
	var	10
	var	0
	var	2
	line	183
	colm	11
	synt	any
	invoke	2
	goto	L3
lab L2
	mark	L12
	var	1
	line	185
	colm	9
	synt	any
	pret
lab L12
	synt	any
	pfail
lab L3
	line	174
	colm	4
	synt	endifelse
	unmark
lab L1
	pnull
	line	186
	colm	1
	synt	any
	pfail
	end
