	IFD	__G2
	opt	p+,c16+
	ENDC

*
*	LIBRARY.H include file for HiSoft BASIC ½ HiSoft 1987,1988
*
* 30 Mar 88	changed for GENST2 compatibility

global	equr	a5
local	equr	a4
tos	equr	d7
tos2	equr	d6

library	macro
	module	!\1
	section	CODE
	endm

subdef	macro
	dc.b	48,NARG+1
	params	\1,\2,\3,\4,\5,\6,\7,\8,\9
	endm

fn_int	macro
	dc.b	95,'%',NARG+1
	params	\1,\2,\3,\4,\5,\6,\7,\8,\9
	endm

fn_lng	macro
	dc.b	95,'&',NARG+1
	params	\1,\2,\3,\4,\5,\6,\7,\8,\9
	endm

fn_sng	macro
	dc.b	95,'!',NARG+1
	params	\1,\2,\3,\4,\5,\6,\7,\8,\9
	endm

fn_dbl	macro
	dc.b	95,'#',NARG+1
	params	\1,\2,\3,\4,\5,\6,\7,\8,\9
	endm

params	macro
	ifnc	'\1',''
	dc.b	l_\1
	endc
	ifnc	'\2',''
	dc.b	l_\2
	endc
	ifnc	'\3',''
	dc.b	l_\3
	endc
	ifnc	'\4',''
	dc.b	l_\4
	endc
	ifnc	'\5',''
	dc.b	l_\5
	endc
	ifnc	'\6',''
	dc.b	l_\6
	endc
	ifnc	'\7',''
	dc.b	l_\7
	endc
	ifnc	'\8',''
	dc.b	l_\8
	endc
	ifnc	'\9',''
	dc.b	l_\9
	endc
	endm

array_mask	equ	8
var_para_mask	equ	16

l_int	equ	1
l_lng	equ	2
l_sng	equ	3
l_dbl	equ	4
l_str	equ	5

l_aint	equ	l_int+array_mask
l_alng	equ	l_lng+array_mask
l_asng	equ	l_sng+array_mask
l_adbl	equ	l_dbl+array_mask
l_astr	equ	l_str+array_mask

l_vint	equ	l_int+var_para_mask
l_vlng	equ	l_lng+var_para_mask
l_vsng	equ	l_sng+var_para_mask
l_vdbl	equ	l_dbl+var_para_mask
l_vstr	equ	l_str+var_para_mask

libstart	macro
	dc.b	0
	even
	endm

option	macro	string
	ifc	\1,''
	fail	Bad param to Option
	mexit
	endc
	dc.b	*-z\@+1
	dc.b	\1
z\@
	endm
