version	U12.1.00
uid	stringbuff.u1-1786033025-0
record	util__StringBuff__state,3
	0,__s
	1,__m
	2,buff
record	util__StringBuff__methods,5
	0,get_buff
	1,add
	2,get_string
	3,drop_last
	4,initially
impl	local
global	10
	0,000005,util__StringBuff_get_buff,1
	1,000005,util__StringBuff_add,2
	2,000005,util__StringBuff_get_string,2
	3,000005,util__StringBuff_drop_last,2
	4,000005,util__StringBuff_initially,1
	5,000011,util__StringBuff__state,3
	6,000011,util__StringBuff__methods,5
	7,000001,util__StringBuff__oprec,0
	8,000005,util__StringBuff,1
	9,000005,util__StringBuffinitialize,0

proc util__StringBuff_get_buff
	local	0,001000,self
	declend
	filen	stringbuff.icn
	line	20
	colm	11
	synt	any
	mark	L1
	mark	L2
	pnull
	var	0
	line	21
	colm	18
	synt	any
	field	buff
	line	21
	colm	7
	synt	any
	pret
lab L2
	synt	any
	pfail
	unmark
lab L1
	pnull
	line	22
	colm	1
	synt	any
	pfail
	end
proc util__StringBuff_add
	local	0,001000,self
	local	1,001000,s
	local	2,000000,put
	declend
	line	27
	colm	11
	synt	any
	mark	L1
	mark	L2
	var	2
	pnull
	var	0
	line	28
	colm	24
	synt	any
	field	buff
	var	1
	line	28
	colm	19
	synt	any
	invoke	2
	line	28
	colm	7
	synt	any
	pret
lab L2
	synt	any
	pfail
	unmark
lab L1
	pnull
	line	29
	colm	1
	synt	any
	pfail
	end
proc util__StringBuff_get_string
	local	0,001000,self
	local	1,001000,sep
	local	2,000020,s
	con	0,010000,0
	declend
	line	36
	colm	11
	synt	any
	mark	L1
	pnull
	var	2
	str	0
	line	38
	colm	9
	synt	any
	asgn
	unmark
lab L1
	mark	L2
	pnull
	pnull
	var	1
	line	39
	colm	7
	synt	any
	null
	str	0
	line	39
	colm	12
	synt	any
	asgn
	unmark
lab L2
	mark	L3
	line	40
	colm	7
	synt	every
	mark0
	pnull
	var	2
	dup
	pnull
	pnull
	pnull
	var	0
	line	40
	colm	25
	synt	any
	field	buff
	line	40
	colm	20
	synt	any
	bang
	var	1
	line	40
	colm	30
	synt	any
	cat
	line	40
	colm	15
	synt	any
	cat
	asgn
	pop
lab L4
	efail
lab L5
	line	40
	colm	7
	synt	endevery
	unmark
lab L3
	mark	L6
	mark	L7
	var	2
	line	41
	colm	7
	synt	any
	pret
lab L7
	synt	any
	pfail
	unmark
lab L6
	pnull
	line	42
	colm	1
	synt	any
	pfail
	end
proc util__StringBuff_drop_last
	local	0,001000,self
	local	1,001000,s
	local	2,000000,pull
	con	0,002000,1,1
	declend
	line	47
	colm	11
	synt	any
	mark	L1
	line	48
	colm	7
	synt	if
	mark0
	pnull
	pnull
	pnull
	var	0
	line	48
	colm	14
	synt	any
	field	buff
	pnull
	int	0
	line	48
	colm	20
	synt	any
	neg
	line	48
	colm	19
	synt	any
	subsc
	var	1
	line	48
	colm	23
	synt	any
	lexeq
	unmark
	var	2
	pnull
	var	0
	line	49
	colm	21
	synt	any
	field	buff
	line	49
	colm	16
	synt	any
	invoke	1
	line	48
	colm	7
	synt	endif
	unmark
lab L1
	pnull
	line	50
	colm	1
	synt	any
	pfail
	end
proc util__StringBuff_initially
	local	0,001000,self
	declend
	line	52
	colm	11
	synt	any
	mark	L1
	pnull
	pnull
	var	0
	line	53
	colm	11
	synt	any
	field	buff
	pnull
	line	53
	colm	18
	synt	any
	llist	0
	line	53
	colm	16
	synt	any
	asgn
	unmark
lab L1
	mark	L2
	mark	L3
	pnull
	line	54
	colm	7
	synt	any
	pret
lab L3
	synt	any
	pfail
	unmark
lab L2
	pnull
	line	55
	colm	1
	synt	any
	pfail
	end
proc util__StringBuff
	local	0,001000,buff
	local	1,000020,self
	local	2,000020,clone
	local	3,000000,util__StringBuff__oprec
	local	4,000000,util__StringBuffinitialize
	local	5,000000,util__StringBuff__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	3
	line	8
	colm	6
	synt	any
	null
	unmark
	var	4
	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	1
	var	5
	line	10
	colm	35
	synt	any
	keywd	null
	var	3
	var	0
	line	10
	colm	34
	synt	any
	invoke	3
	line	10
	colm	8
	synt	any
	asgn
	unmark
lab L4
	mark	L5
	pnull
	pnull
	var	1
	line	11
	colm	7
	synt	any
	field	__s
	var	1
	line	11
	colm	12
	synt	any
	asgn
	unmark
lab L5
	mark	L6
	mark	L7
	pnull
	pnull
	var	1
	line	12
	colm	7
	synt	any
	field	__m
	line	12
	colm	11
	synt	any
	field	initially
	var	1
	line	12
	colm	21
	synt	any
	invoke	1
	line	12
	colm	28
	synt	any
	esusp
	goto	L8
lab L7
	line	12
	colm	30
	synt	any
	pfail
lab L8
	unmark
lab L6
	mark	L9
	mark	L10
	var	1
	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 util__StringBuffinitialize
	local	0,000000,util__StringBuff__oprec
	local	1,000000,util__StringBuff__methods
	local	2,000000,util__StringBuff_get_buff
	local	3,000000,util__StringBuff_add
	local	4,000000,util__StringBuff_get_string
	local	5,000000,util__StringBuff_drop_last
	local	6,000000,util__StringBuff_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
	line	17
	colm	63
	synt	any
	invoke	5
	line	17
	colm	35
	synt	any
	asgn
	unmark
lab L2
	einit	L1
lab L3
	line	18
	colm	1
	synt	any
	pfail
	end
