version	U12.1.00
uid	predicat.u1-1786033036-0
impl	local
global	11
	0,000005,lang__isClass,1
	1,000005,lang__Type,1
	2,000005,lang__mapPackageInt2Ext,1
	3,000005,lang__instanceof,2
	4,000005,lang__istype,2
	5,000005,lang__simpleClassname,1
	6,000005,lang__isList,1
	7,000005,lang__isTable,1
	8,000005,lang__isSet,1
	9,000005,lang__isRecord,1
	10,000005,lang__isProcedure,1

proc lang__isClass
	local	0,001000,var
	local	1,000000,lang__get_type
	con	0,010000,5,143,154,141,163,163
	declend
	filen	predicat.icn
	line	26
	colm	11
	synt	any
	mark	L1
	mark	L2
	pnull
	var	1
	var	0
	line	27
	colm	25
	synt	any
	invoke	1
	str	0
	line	27
	colm	30
	synt	any
	lexeq
	pop
	var	0
	line	27
	colm	4
	synt	any
	pret
lab L2
	synt	any
	pfail
	unmark
lab L1
	pnull
	line	28
	colm	2
	synt	any
	pfail
	end
proc lang__Type
	local	0,001000,var
	local	1,000000,lang__isClass
	local	2,000000,lang__mapPackageInt2Ext
	local	3,000000,classname
	local	4,000000,lang__get_class
	local	5,000000,type
	declend
	line	47
	colm	12
	synt	any
	mark	L1
	line	48
	colm	4
	synt	ifelse
	mark	L2
	var	1
	var	0
	line	48
	colm	20
	synt	any
	invoke	1
	unmark
	line	49
	colm	7
	synt	suspend
	mark0
	var	2
	mark	L6
	var	3
	var	0
	line	49
	colm	50
	synt	any
	invoke	1
	line	49
	colm	56
	synt	any
	esusp
	goto	L7
lab L6
	pnull
	pnull
	var	4
	var	0
	line	49
	colm	74
	synt	any
	invoke	1
	line	49
	colm	79
	synt	any
	field	get_supers
	line	49
	colm	90
	synt	any
	invoke	0
	line	49
	colm	58
	synt	any
	bang
lab L7
	line	49
	colm	38
	synt	any
	invoke	1
	line	49
	colm	7
	synt	any
	psusp
	pop
lab L4
	efail
lab L5
	line	49
	colm	7
	synt	endsuspend
	goto	L3
lab L2
	mark	L8
	var	2
	var	5
	var	0
	line	51
	colm	46
	synt	any
	invoke	1
	line	51
	colm	39
	synt	any
	invoke	1
	line	51
	colm	9
	synt	any
	pret
lab L8
	synt	any
	pfail
lab L3
	line	48
	colm	4
	synt	endifelse
	unmark
lab L1
	pnull
	line	52
	colm	1
	synt	any
	pfail
	end
proc lang__mapPackageInt2Ext
	local	0,001000,s
	local	1,000020,ns
	local	2,000000,find
	local	3,000000,tab
	local	4,000000,move
	con	0,010000,0
	con	1,010000,2,072,072
	con	2,010000,2,137,137
	con	3,002000,1,2
	con	4,002000,1,0
	declend
	line	62
	colm	12
	synt	any
	mark	L1
	pnull
	var	1
	str	0
	line	63
	colm	13
	synt	any
	asgn
	unmark
lab L1
	mark	L2
	var	0
	line	64
	colm	6
	synt	any
	bscan
	line	65
	colm	7
	synt	ifelse
	mark	L3
	mark	L5
	var	2
	str	1
	line	65
	colm	20
	synt	any
	invoke	1
	unmark
	efail
lab L5
	pnull
	unmark
	mark	L6
	pnull
	var	1
	dup
	pnull
	var	3
	var	2
	str	2
	line	66
	colm	30
	synt	any
	invoke	1
	line	66
	colm	23
	synt	any
	invoke	1
	pushn1
	var	4
	int	3
	line	66
	colm	48
	synt	any
	invoke	1
	str	1
	line	66
	colm	41
	synt	any
	invoke	2
	line	66
	colm	38
	synt	any
	cat
	line	66
	colm	13
	synt	any
	cat
	asgn
	unmark
lab L6
	pnull
	var	1
	dup
	var	3
	int	4
	line	67
	colm	23
	synt	any
	invoke	1
	line	67
	colm	13
	synt	any
	cat
	asgn
	goto	L4
lab L3
	pnull
	var	1
	var	0
	line	69
	colm	13
	synt	any
	asgn
lab L4
	line	65
	colm	7
	synt	endifelse
	line	64
	colm	6
	synt	any
	escan
	unmark
lab L2
	mark	L7
	mark	L8
	var	1
	line	72
	colm	4
	synt	any
	pret
lab L8
	synt	any
	pfail
	unmark
lab L7
	pnull
	line	73
	colm	2
	synt	any
	pfail
	end
proc lang__instanceof
	local	0,001000,x
	local	1,001000,className
	local	2,000000,lang__isClass
	local	3,000000,lang__istype
	declend
	line	84
	colm	12
	synt	any
	mark	L1
	mark	L2
	var	2
	var	0
	line	87
	colm	25
	synt	any
	invoke	1
	pop
	var	3
	var	0
	var	1
	line	87
	colm	41
	synt	any
	invoke	2
	line	87
	colm	4
	synt	any
	pret
lab L2
	synt	any
	pfail
	unmark
lab L1
	pnull
	line	88
	colm	1
	synt	any
	pfail
	end
proc lang__istype
	local	0,001000,x
	local	1,001000,s
	local	2,000020,ss
	local	3,000000,string
	local	4,000000,numeric
	local	5,000000,lang__isClass
	local	6,000000,find
	local	7,000000,lang__Type
	local	8,000000,lang__simpleClassname
	local	9,000000,lang__get_type
	con	0,010000,7,156,165,155,145,162,151,143
	con	1,010000,2,072,072
	declend
	line	104
	colm	12
	synt	any
	mark	L1
	line	108
	colm	4
	synt	ifelse
	mark	L2
	pnull
	var	2
	var	3
	var	1
	line	108
	colm	21
	synt	any
	invoke	1
	line	108
	colm	10
	synt	any
	asgn
	unmark
	line	109
	colm	7
	synt	ifelse
	mark	L4
	pnull
	var	2
	str	0
	line	109
	colm	13
	synt	any
	lexeq
	unmark
	mark	L6
	var	4
	var	0
	line	110
	colm	26
	synt	any
	invoke	1
	pop
	var	0
	line	110
	colm	10
	synt	any
	pret
lab L6
	synt	any
	pfail
	goto	L5
lab L4
	mark	L7
	line	112
	colm	10
	synt	if
	mark0
	var	5
	var	0
	line	112
	colm	26
	synt	any
	invoke	1
	unmark
	line	116
	colm	13
	synt	ifelse
	mark	L8
	var	6
	str	1
	var	2
	line	116
	colm	20
	synt	any
	invoke	2
	unmark
	mark	L10
	pnull
	var	2
	var	7
	var	0
	line	117
	colm	39
	synt	any
	invoke	1
	line	117
	colm	26
	synt	any
	lexeq
	pop
	var	0
	line	117
	colm	16
	synt	any
	pret
lab L10
	synt	any
	pfail
	goto	L9
lab L8
	mark	L11
	pnull
	var	2
	var	8
	var	7
	var	0
	line	121
	colm	61
	synt	any
	invoke	1
	line	121
	colm	50
	synt	any
	invoke	1
	line	121
	colm	26
	synt	any
	lexeq
	pop
	var	0
	line	121
	colm	16
	synt	any
	pret
lab L11
	synt	any
	pfail
lab L9
	line	116
	colm	13
	synt	endifelse
	line	112
	colm	10
	synt	endif
	unmark
lab L7
	mark	L12
	pnull
	var	2
	var	7
	var	0
	line	124
	colm	33
	synt	any
	invoke	1
	line	124
	colm	20
	synt	any
	lexeq
	pop
	var	0
	line	124
	colm	10
	synt	any
	pret
lab L12
	synt	any
	pfail
lab L5
	line	109
	colm	7
	synt	endifelse
	goto	L3
lab L2
	mark	L13
	pnull
	var	9
	var	1
	line	130
	colm	28
	synt	any
	invoke	1
	var	7
	var	0
	line	130
	colm	43
	synt	any
	invoke	1
	line	130
	colm	31
	synt	any
	lexeq
	pop
	var	0
	line	130
	colm	7
	synt	any
	pret
lab L13
	synt	any
	pfail
lab L3
	line	108
	colm	4
	synt	endifelse
	unmark
lab L1
	pnull
	line	132
	colm	1
	synt	any
	pfail
	end
proc lang__simpleClassname
	local	0,001000,cn
	local	1,000000,tab
	local	2,000000,find
	local	3,000000,move
	con	0,010000,2,072,072
	con	1,002000,1,2
	con	2,002000,1,0
	declend
	line	137
	colm	12
	synt	any
	mark	L1
	var	0
	line	138
	colm	7
	synt	any
	bscan
	line	139
	colm	7
	synt	if
	mark0
	var	1
	var	2
	str	0
	line	139
	colm	18
	synt	any
	invoke	1
	line	139
	colm	13
	synt	any
	invoke	1
	unmark
	pnull
	var	0
	pushn1
	var	3
	int	1
	line	139
	colm	42
	synt	any
	invoke	1
	var	1
	int	2
	line	139
	colm	49
	synt	any
	invoke	1
	line	139
	colm	37
	synt	any
	invoke	2
	line	139
	colm	34
	synt	any
	asgn
	line	139
	colm	7
	synt	endif
	line	138
	colm	7
	synt	any
	escan
	unmark
lab L1
	mark	L2
	mark	L3
	var	0
	line	141
	colm	4
	synt	any
	pret
lab L3
	synt	any
	pfail
	unmark
lab L2
	pnull
	line	142
	colm	2
	synt	any
	pfail
	end
proc lang__isList
	local	0,001000,x
	local	1,000000,lang__istype
	con	0,010000,4,154,151,163,164
	declend
	line	149
	colm	12
	synt	any
	mark	L1
	mark	L2
	var	1
	var	0
	str	0
	line	150
	colm	23
	synt	any
	invoke	2
	line	150
	colm	4
	synt	any
	pret
lab L2
	synt	any
	pfail
	unmark
lab L1
	pnull
	line	151
	colm	1
	synt	any
	pfail
	end
proc lang__isTable
	local	0,001000,x
	local	1,000000,lang__istype
	con	0,010000,5,164,141,142,154,145
	declend
	line	158
	colm	12
	synt	any
	mark	L1
	mark	L2
	var	1
	var	0
	str	0
	line	159
	colm	23
	synt	any
	invoke	2
	line	159
	colm	4
	synt	any
	pret
lab L2
	synt	any
	pfail
	unmark
lab L1
	pnull
	line	160
	colm	1
	synt	any
	pfail
	end
proc lang__isSet
	local	0,001000,x
	local	1,000000,lang__istype
	con	0,010000,3,163,145,164
	declend
	line	167
	colm	12
	synt	any
	mark	L1
	mark	L2
	var	1
	var	0
	str	0
	line	168
	colm	23
	synt	any
	invoke	2
	line	168
	colm	4
	synt	any
	pret
lab L2
	synt	any
	pfail
	unmark
lab L1
	pnull
	line	169
	colm	1
	synt	any
	pfail
	end
proc lang__isRecord
	local	0,001000,x
	local	1,000000,lang__get_type
	con	0,010000,6,162,145,143,157,162,144
	declend
	line	178
	colm	12
	synt	any
	mark	L1
	mark	L2
	pnull
	var	1
	var	0
	line	179
	colm	26
	synt	any
	invoke	1
	str	0
	line	179
	colm	29
	synt	any
	lexeq
	pop
	var	0
	line	179
	colm	4
	synt	any
	pret
lab L2
	synt	any
	pfail
	unmark
lab L1
	pnull
	line	180
	colm	1
	synt	any
	pfail
	end
proc lang__isProcedure
	local	0,001000,x
	local	1,000000,lang__istype
	con	0,010000,9,160,162,157,143,145,144,165,162,145
	declend
	line	187
	colm	12
	synt	any
	mark	L1
	mark	L2
	var	1
	var	0
	str	0
	line	188
	colm	23
	synt	any
	invoke	2
	line	188
	colm	4
	synt	any
	pret
lab L2
	synt	any
	pfail
	unmark
lab L1
	pnull
	line	189
	colm	1
	synt	any
	pfail
	end
