.MACRO	TRAN$	TYPE,LABEL,ACTION,MASK,ADDR
	.PSECT	$STATE
	MTRAN$
	DBGTP$
	.IF	NB	ACTION
	$$$FLG = $$$FLG!2
	.MACRO	$$$ACT
	.WORD	ACTION
	.ENDM	$$$ACT
	.ENDC
	.IF	NB	MASK
	$$$FLG = $$$FLG!30
	.IF	B	ADDR
	.ERROR	"MASK ADDRESS NOT PRESENT"
	.ENDC
	.MACRO	$$$BIT
	.WORD	MASK,ADDR
	.ENDM	$$$BIT
	.ENDC
	.IF	NB	LABEL
	$$$FLG = $$$FLG!4
	$$$STA = LABEL
	.ENDC
	.IRPC	$$$$$X,<TYPE>
	.IF	IDN	<$$$$$X>,<">
	.PSECT	$KSTR
	$$$TMP = .
	.ASCII	TYPE<377>
	.PSECT	$KTAB
	.WORD	$$$TMP
	.MACRO	$$$TYP
	.BYTE	$$$KEY!200
	.ENDM	$$$TYP
	$$$KEY = $$$KEY+1
	.IF	GT	$$$KEY-63.
	.ERROR	"TOO MANY KEYWORDS"
	.ENDC
	.MEXIT
	.ENDC
	.IF	IDN	<$$$$$X>,<!>
	$$$FLG = $$$FLG!1
	.MACRO	$$$EXT
	.WORD	0'TYPE
	.ENDM	$$$EXT
	.MACRO	$$$TYP
	.BYTE	$SUBXP
	.ENDM	$$$TYP
	.MEXIT
	.ENDC
	.MACRO	$$$TYP
	.BYTE	TYPE
	.ENDM	$$$TYP
	.MEXIT
	.ENDM
	.PSECT
.ENDM	TRAN$
