proc makelsys
	filen	makelsys.icn
	local	0,001000,lst
	local	1,000020,line
	local	2,000020,i
	local	3,000020,s
	local	4,000020,c
	local	5,000020,symbol
	local	6,000020,rewrite
	local	7,000020,allchars
	local	8,000020,rhs
	local	9,000020,value
	local	10,000020,spec
	local	11,000020,result
	local	12,000000,Lsys
	local	13,000000,table
	local	14,000000,get
	local	15,000000,move
	local	16,000000,tab
	local	17,000000,upto
	con	0,020000,0
	con	1,002000,1,1
	con	2,010000,2,055,076
	con	3,002000,1,0
	con	4,020000,1,072
	con	5,010000,5,141,170,151,157,155
	con	6,010000,3,145,156,144
	declend
	line	30
	colm	11
	mark	L1
	pnull
	var	11
	var	12
	line	34
	colm	18
	invoke	0
	line	34
	colm	11
	asgn
	unmark
lab L1
	mark	L2
	pnull
	var	6
	var	13
	line	36
	colm	20
	invoke	0
	line	36
	colm	12
	asgn
	unmark
lab L2
	mark	L3
	pnull
	var	7
	cset	0
	line	37
	colm	13
	asgn
	unmark
lab L3
	mark	L4
lab L5
	mark0
	pnull
	var	1
	var	14
	var	0
	line	39
	colm	21
	invoke	1
	line	39
	colm	15
	asgn
	unmark
	mark	L5
	var	1
	line	40
	colm	12
	bscan
	mark	L8
	pnull
	var	5
	var	15
	int	1
	line	41
	colm	27
	invoke	1
	line	41
	colm	20
	asgn
	pop
	pnull
	str	2
	line	41
	colm	33
	tabmat
	unmark
	mark	L10
	pnull
	var	8
	var	16
	int	3
	line	42
	colm	23
	invoke	1
	line	42
	colm	17
	asgn
	unmark
lab L10
	mark	L11
	pnull
	pnull
	var	6
	var	5
	line	43
	colm	20
	subsc
	var	8
	line	43
	colm	29
	asgn
	unmark
lab L11
	pnull
	var	7
	dup
	var	8
	line	44
	colm	22
	unions
	asgn
	goto	L9
lab L8
	mark0
	pnull
	var	10
	var	16
	var	17
	cset	4
	line	46
	colm	34
	invoke	1
	line	46
	colm	29
	invoke	1
	line	46
	colm	23
	asgn
	unmark
	mark	L12
	var	15
	int	1
	line	47
	colm	17
	invoke	1
	unmark
lab L12
	mark	L13
	pnull
	var	9
	var	16
	int	3
	line	48
	colm	25
	invoke	1
	line	48
	colm	19
	asgn
	unmark
lab L13
	mark	L14
	mark	L15
	pnull
	var	10
	str	5
	line	49
	colm	21
	lexeq
	unmark
	pnull
	var	7
	dup
	var	9
	line	49
	colm	46
	unions
	asgn
	goto	L16
lab L15
	mark0
	pnull
	var	10
	str	6
	line	50
	colm	26
	lexeq
	unmark
	unmark
	unmark
	pnull
	goto	L7
lab L16
	unmark
lab L14
	pnull
	pnull
	pnull
	var	11
	var	10
	line	51
	colm	20
	subsc
	line	51
	colm	13
	null
	var	9
	line	51
	colm	27
	asgn
lab L9
	line	40
	colm	12
	escan
lab L6
	unmark
	goto	L5
lab L7
	unmark
lab L4
	mark	L17
	mark0
	pnull
	var	4
	pnull
	var	7
	line	60
	colm	15
	bang
	line	60
	colm	12
	asgn
	pop
	mark0
	pnull
	pnull
	pnull
	var	6
	var	4
	line	61
	colm	14
	subsc
	line	61
	colm	6
	null
	var	4
	line	61
	colm	18
	asgn
	unmark
lab L18
	efail
lab L19
	unmark
lab L17
	mark	L20
	pnull
	pnull
	var	11
	line	63
	colm	10
	field	productions
	var	6
	line	63
	colm	23
	asgn
	unmark
lab L20
	mark	L21
	mark	L22
	var	11
	line	65
	colm	4
	pret
lab L22
	pfail
	unmark
lab L21
	pnull
	line	67
	colm	1
	pfail
	end
proc readlsys
	local	0,001000,input
	local	1,000020,result
	local	2,000000,put
	local	3,000000,read
	local	4,000000,makelsys
	declend
	line	69
	colm	11
	mark	L1
	pnull
	var	1
	pnull
	line	72
	colm	14
	llist	0
	line	72
	colm	11
	asgn
	unmark
lab L1
	mark	L2
lab L3
	mark0
	var	2
	var	1
	var	3
	var	0
	line	74
	colm	26
	invoke	1
	line	74
	colm	13
	invoke	2
lab L4
	unmark
	goto	L3
lab L5
	unmark
lab L2
	mark	L6
	mark	L7
	var	4
	var	1
	line	76
	colm	19
	invoke	1
	line	76
	colm	4
	pret
lab L7
	pfail
	unmark
lab L6
	pnull
	line	78
	colm	1
	pfail
	end
