version	U12.1.00
uid	node.u1-1786033193-0
record	graphics3d__Node__state,6
	0,__s
	1,__m
	2,subnodes
	3,label
	4,depth
	5,parent_node
record	graphics3d__Node__methods,15
	0,init
	1,set_label
	2,subtree_count
	3,add_subnode
	4,has_subnodes
	5,get_node_by_label
	6,is_leaf
	7,generate_all_preorder
	8,generate_all_postorder
	9,get_label
	10,get_parent_node
	11,get_children
	12,clear_children
	13,delete_node
	14,initially
impl	local
global	20
	0,000005,graphics3d__Node_init,1
	1,000005,graphics3d__Node_set_label,2
	2,000005,graphics3d__Node_subtree_count,1
	3,000005,graphics3d__Node_add_subnode,2
	4,000005,graphics3d__Node_has_subnodes,1
	5,000005,graphics3d__Node_get_node_by_label,2
	6,000005,graphics3d__Node_is_leaf,1
	7,000005,graphics3d__Node_generate_all_preorder,1
	8,000005,graphics3d__Node_generate_all_postorder,1
	9,000005,graphics3d__Node_get_label,1
	10,000005,graphics3d__Node_get_parent_node,1
	11,000005,graphics3d__Node_get_children,1
	12,000005,graphics3d__Node_clear_children,1
	13,000005,graphics3d__Node_delete_node,2
	14,000005,graphics3d__Node_initially,1
	15,000011,graphics3d__Node__state,6
	16,000011,graphics3d__Node__methods,15
	17,000001,graphics3d__Node__oprec,0
	18,000005,graphics3d__Node,0
	19,000005,graphics3d__Nodeinitialize,0

proc graphics3d__Node_init
	local	0,001000,self
	declend
	filen	node.icn
	line	21
	colm	11
	synt	any
	mark	L1
	pnull
	pnull
	var	0
	line	22
	colm	11
	synt	any
	field	parent_node
	line	22
	colm	25
	synt	any
	keywd	null
	line	22
	colm	23
	synt	any
	asgn
	unmark
lab L1
	mark	L2
	pnull
	pnull
	var	0
	line	23
	colm	11
	synt	any
	field	subnodes
	pnull
	line	23
	colm	22
	synt	any
	llist	0
	line	23
	colm	20
	synt	any
	asgn
	unmark
lab L2
	pnull
	line	24
	colm	1
	synt	any
	pfail
	end
proc graphics3d__Node_set_label
	local	0,001000,self
	local	1,001000,s
	declend
	line	26
	colm	11
	synt	any
	mark	L1
	line	27
	colm	6
	synt	if
	mark0
	pnull
	var	1
	line	27
	colm	9
	synt	any
	nonnull
	unmark
	mark	L2
	pnull
	pnull
	var	0
	line	27
	colm	29
	synt	any
	field	label
	var	1
	line	27
	colm	35
	synt	any
	asgn
	line	27
	colm	17
	synt	any
	pret
lab L2
	synt	any
	pfail
	line	27
	colm	6
	synt	endif
	unmark
lab L1
	pnull
	line	28
	colm	1
	synt	any
	pfail
	end
proc graphics3d__Node_subtree_count
	local	0,001000,self
	local	1,000020,n
	local	2,000020,node
	declend
	line	33
	colm	11
	synt	any
	mark	L1
	pnull
	var	1
	pnull
	pnull
	var	0
	line	35
	colm	17
	synt	any
	field	subnodes
	line	35
	colm	12
	synt	any
	size
	line	35
	colm	9
	synt	any
	asgn
	unmark
lab L1
	mark	L2
	line	36
	colm	7
	synt	every
	mark0
	pnull
	var	2
	pnull
	pnull
	var	0
	line	36
	colm	26
	synt	any
	field	subnodes
	line	36
	colm	21
	synt	any
	bang
	line	36
	colm	18
	synt	any
	asgn
	pop
	mark0
	pnull
	var	1
	dup
	pnull
	var	2
	line	37
	colm	20
	synt	any
	field	subtree_count
	line	37
	colm	34
	synt	any
	invoke	0
	line	37
	colm	12
	synt	any
	plus
	asgn
	unmark
lab L3
	efail
lab L4
	line	36
	colm	7
	synt	endevery
	unmark
lab L2
	mark	L5
	mark	L6
	var	1
	line	38
	colm	7
	synt	any
	pret
lab L6
	synt	any
	pfail
	unmark
lab L5
	pnull
	line	39
	colm	1
	synt	any
	pfail
	end
proc graphics3d__Node_add_subnode
	local	0,001000,self
	local	1,001000,node
	local	2,000000,put
	declend
	line	41
	colm	11
	synt	any
	mark	L1
	pnull
	pnull
	var	1
	line	42
	colm	11
	synt	any
	field	parent_node
	var	0
	line	42
	colm	24
	synt	any
	asgn
	unmark
lab L1
	mark	L2
	var	2
	pnull
	var	0
	line	43
	colm	15
	synt	any
	field	subnodes
	var	1
	line	43
	colm	10
	synt	any
	invoke	2
	unmark
lab L2
	pnull
	line	44
	colm	1
	synt	any
	pfail
	end
proc graphics3d__Node_has_subnodes
	local	0,001000,self
	con	0,002000,1,0
	declend
	line	46
	colm	11
	synt	any
	mark	L1
	line	47
	colm	7
	synt	if
	mark0
	pnull
	pnull
	pnull
	var	0
	line	47
	colm	15
	synt	any
	field	subnodes
	line	47
	colm	10
	synt	any
	size
	int	0
	line	47
	colm	24
	synt	any
	numgt
	unmark
	mark	L2
	pnull
	pnull
	var	0
	line	47
	colm	43
	synt	any
	field	subnodes
	line	47
	colm	38
	synt	any
	size
	line	47
	colm	32
	synt	any
	pret
lab L2
	synt	any
	pfail
	line	47
	colm	7
	synt	endif
	unmark
lab L1
	pnull
	line	48
	colm	1
	synt	any
	pfail
	end
proc graphics3d__Node_get_node_by_label
	local	0,001000,self
	local	1,001000,look4name
	local	2,000020,node
	local	3,000020,snode
	declend
	line	53
	colm	11
	synt	any
	mark	L1
	line	55
	colm	7
	synt	if
	mark0
	pnull
	pnull
	var	0
	line	55
	colm	14
	synt	any
	field	label
	var	1
	line	55
	colm	20
	synt	any
	lexeq
	unmark
	mark	L2
	var	0
	line	56
	colm	10
	synt	any
	pret
lab L2
	synt	any
	pfail
	line	55
	colm	7
	synt	endif
	unmark
lab L1
	mark	L3
	line	58
	colm	7
	synt	every
	mark0
	pnull
	var	2
	pnull
	pnull
	var	0
	line	58
	colm	26
	synt	any
	field	subnodes
	line	58
	colm	21
	synt	any
	bang
	line	58
	colm	18
	synt	any
	asgn
	pop
	mark0
	line	59
	colm	10
	synt	if
	mark0
	pnull
	var	3
	pnull
	var	2
	line	59
	colm	26
	synt	any
	field	get_node_by_label
	var	1
	line	59
	colm	44
	synt	any
	invoke	1
	line	59
	colm	19
	synt	any
	asgn
	unmark
	mark	L6
	var	3
	line	60
	colm	13
	synt	any
	pret
lab L6
	synt	any
	pfail
	line	59
	colm	10
	synt	endif
	unmark
lab L4
	efail
lab L5
	line	58
	colm	7
	synt	endevery
	unmark
lab L3
	pnull
	line	61
	colm	1
	synt	any
	pfail
	end
proc graphics3d__Node_is_leaf
	local	0,001000,self
	con	0,002000,1,0
	declend
	line	63
	colm	11
	synt	any
	mark	L1
	line	64
	colm	7
	synt	if
	mark0
	pnull
	pnull
	pnull
	var	0
	line	64
	colm	15
	synt	any
	field	subnodes
	line	64
	colm	10
	synt	any
	size
	int	0
	line	64
	colm	24
	synt	any
	numeq
	unmark
	mark	L2
	pnull
	line	64
	colm	32
	synt	any
	pret
lab L2
	synt	any
	pfail
	line	64
	colm	7
	synt	endif
	unmark
lab L1
	pnull
	line	65
	colm	1
	synt	any
	pfail
	end
proc graphics3d__Node_generate_all_preorder
	local	0,001000,self
	declend
	line	71
	colm	11
	synt	any
	mark	L1
	line	72
	colm	7
	synt	suspend
	mark0
	mark	L4
	var	0
	line	72
	colm	20
	synt	any
	esusp
	goto	L5
lab L4
	pnull
	pnull
	pnull
	var	0
	line	72
	colm	28
	synt	any
	field	subnodes
	line	72
	colm	23
	synt	any
	bang
	line	72
	colm	38
	synt	any
	field	generate_all_preorder
	line	72
	colm	60
	synt	any
	invoke	0
lab L5
	line	72
	colm	7
	synt	any
	psusp
	pop
lab L2
	efail
lab L3
	line	72
	colm	7
	synt	endsuspend
	unmark
lab L1
	pnull
	line	73
	colm	1
	synt	any
	pfail
	end
proc graphics3d__Node_generate_all_postorder
	local	0,001000,self
	declend
	line	79
	colm	11
	synt	any
	mark	L1
	line	80
	colm	7
	synt	suspend
	mark0
	mark	L4
	pnull
	pnull
	pnull
	var	0
	line	80
	colm	21
	synt	any
	field	subnodes
	line	80
	colm	16
	synt	any
	bang
	line	80
	colm	31
	synt	any
	field	generate_all_postorder
	line	80
	colm	54
	synt	any
	invoke	0
	line	80
	colm	56
	synt	any
	esusp
	goto	L5
lab L4
	var	0
lab L5
	line	80
	colm	7
	synt	any
	psusp
	pop
lab L2
	efail
lab L3
	line	80
	colm	7
	synt	endsuspend
	unmark
lab L1
	pnull
	line	81
	colm	1
	synt	any
	pfail
	end
proc graphics3d__Node_get_label
	local	0,001000,self
	declend
	line	86
	colm	11
	synt	any
	mark	L1
	mark	L2
	pnull
	var	0
	line	87
	colm	18
	synt	any
	field	label
	line	87
	colm	7
	synt	any
	pret
lab L2
	synt	any
	pfail
	unmark
lab L1
	pnull
	line	88
	colm	1
	synt	any
	pfail
	end
proc graphics3d__Node_get_parent_node
	local	0,001000,self
	declend
	line	93
	colm	11
	synt	any
	mark	L1
	mark	L2
	pnull
	pnull
	var	0
	line	94
	colm	19
	synt	any
	field	parent_node
	line	94
	colm	14
	synt	any
	nonnull
	line	94
	colm	7
	synt	any
	pret
lab L2
	synt	any
	pfail
	unmark
lab L1
	pnull
	line	95
	colm	1
	synt	any
	pfail
	end
proc graphics3d__Node_get_children
	local	0,001000,self
	declend
	line	100
	colm	11
	synt	any
	mark	L1
	mark	L2
	pnull
	var	0
	line	101
	colm	18
	synt	any
	field	subnodes
	line	101
	colm	7
	synt	any
	pret
lab L2
	synt	any
	pfail
	unmark
lab L1
	pnull
	line	102
	colm	1
	synt	any
	pfail
	end
proc graphics3d__Node_clear_children
	local	0,001000,self
	declend
	line	107
	colm	11
	synt	any
	mark	L1
	pnull
	pnull
	var	0
	line	108
	colm	11
	synt	any
	field	subnodes
	pnull
	line	108
	colm	22
	synt	any
	llist	0
	line	108
	colm	20
	synt	any
	asgn
	unmark
lab L1
	pnull
	line	109
	colm	1
	synt	any
	pfail
	end
proc graphics3d__Node_delete_node
	local	0,001000,self
	local	1,001000,n
	local	2,000020,i
	local	3,000000,delete
	con	0,002000,1,1
	declend
	line	114
	colm	11
	synt	any
	mark	L1
	line	116
	colm	7
	synt	every
	mark0
	pnull
	var	2
	pnull
	int	0
	pnull
	pnull
	var	0
	line	116
	colm	28
	synt	any
	field	subnodes
	line	116
	colm	23
	synt	any
	size
	push1
	line	116
	colm	20
	synt	any
	toby
	line	116
	colm	15
	synt	any
	asgn
	pop
	mark0
	line	117
	colm	10
	synt	if
	mark0
	pnull
	var	1
	pnull
	pnull
	var	0
	line	117
	colm	23
	synt	any
	field	subnodes
	var	2
	line	117
	colm	32
	synt	any
	subsc
	line	117
	colm	15
	synt	any
	eqv
	unmark
	mark	L4
	var	3
	pnull
	var	0
	line	118
	colm	24
	synt	any
	field	subnodes
	var	2
	line	118
	colm	19
	synt	any
	invoke	2
	unmark
lab L4
	mark	L5
	pnull
	line	119
	colm	13
	synt	any
	pret
lab L5
	synt	any
	pfail
	line	117
	colm	10
	synt	endif
	unmark
lab L2
	efail
lab L3
	line	116
	colm	7
	synt	endevery
	unmark
lab L1
	pnull
	line	122
	colm	1
	synt	any
	pfail
	end
proc graphics3d__Node_initially
	local	0,001000,self
	declend
	line	124
	colm	11
	synt	any
	mark	L1
	pnull
	pnull
	var	0
	line	125
	colm	11
	synt	any
	field	parent_node
	line	125
	colm	25
	synt	any
	keywd	null
	line	125
	colm	23
	synt	any
	asgn
	unmark
lab L1
	mark	L2
	pnull
	pnull
	var	0
	line	126
	colm	11
	synt	any
	field	subnodes
	pnull
	line	126
	colm	22
	synt	any
	llist	0
	line	126
	colm	20
	synt	any
	asgn
	unmark
lab L2
	mark	L3
	mark	L4
	pnull
	line	127
	colm	7
	synt	any
	pret
lab L4
	synt	any
	pfail
	unmark
lab L3
	pnull
	line	128
	colm	1
	synt	any
	pfail
	end
proc graphics3d__Node
	local	0,000020,self
	local	1,000020,clone
	local	2,000000,graphics3d__Node__oprec
	local	3,000000,graphics3d__Nodeinitialize
	local	4,000000,graphics3d__Node__state
	declend
	filen	__faux.icn
	line	5
	colm	11
	synt	any
lab L1
	init	L3
	mark	L2
	line	8
	colm	3
	synt	if
	mark0
	pnull
	var	2
	line	8
	colm	6
	synt	any
	null
	unmark
	var	3
	line	8
	colm	62
	synt	any
	invoke	0
	line	8
	colm	3
	synt	endif
	unmark
lab L2
	einit	L1
lab L3
	mark	L4
	pnull
	var	0
	var	4
	line	10
	colm	35
	synt	any
	keywd	null
	var	2
	line	10
	colm	34
	synt	any
	invoke	2
	line	10
	colm	8
	synt	any
	asgn
	unmark
lab L4
	mark	L5
	pnull
	pnull
	var	0
	line	11
	colm	7
	synt	any
	field	__s
	var	0
	line	11
	colm	12
	synt	any
	asgn
	unmark
lab L5
	mark	L6
	mark	L7
	pnull
	pnull
	var	0
	line	12
	colm	7
	synt	any
	field	__m
	line	12
	colm	11
	synt	any
	field	initially
	var	0
	pnull
	line	12
	colm	21
	synt	any
	invoke	2
	line	12
	colm	29
	synt	any
	esusp
	goto	L8
lab L7
	line	12
	colm	31
	synt	any
	pfail
lab L8
	unmark
lab L6
	mark	L9
	mark	L10
	var	0
	line	13
	colm	3
	synt	any
	pret
lab L10
	synt	any
	pfail
	unmark
lab L9
	pnull
	line	14
	colm	1
	synt	any
	pfail
	end
proc graphics3d__Nodeinitialize
	local	0,000000,graphics3d__Node__oprec
	local	1,000000,graphics3d__Node__methods
	local	2,000000,graphics3d__Node_init
	local	3,000000,graphics3d__Node_set_label
	local	4,000000,graphics3d__Node_subtree_count
	local	5,000000,graphics3d__Node_add_subnode
	local	6,000000,graphics3d__Node_has_subnodes
	local	7,000000,graphics3d__Node_get_node_by_label
	local	8,000000,graphics3d__Node_is_leaf
	local	9,000000,graphics3d__Node_generate_all_preorder
	local	10,000000,graphics3d__Node_generate_all_postorder
	local	11,000000,graphics3d__Node_get_label
	local	12,000000,graphics3d__Node_get_parent_node
	local	13,000000,graphics3d__Node_get_children
	local	14,000000,graphics3d__Node_clear_children
	local	15,000000,graphics3d__Node_delete_node
	local	16,000000,graphics3d__Node_initially
	declend
	line	16
	colm	11
	synt	any
lab L1
	init	L3
	mark	L2
	pnull
	var	0
	var	1
	var	2
	var	3
	var	4
	var	5
	var	6
	var	7
	var	8
	var	9
	var	10
	var	11
	var	12
	var	13
	var	14
	var	15
	var	16
	line	17
	colm	63
	synt	any
	invoke	15
	line	17
	colm	35
	synt	any
	asgn
	unmark
lab L2
	einit	L1
lab L3
	line	18
	colm	1
	synt	any
	pfail
	end
