!
! File: snames.dat
!
! Special name configuration file for IMP compiler
!
! There is one line for each special name. The fields are as follows:
!
!    ptype   -  used to specify type to the compiler
!    sninfo  -  special information about the name (four bytes):
!                  2 byte extra information
!                  1 byte pointer (various uses)
!                  1 byte flags:
!                     Bits 0-2  -  number of parameters
!                     Bit  3    -  set if first parameter is of %name type
!                     Bit  4    -  set if ad-hoc code planted by this routine
!                     Bit  5    -  set for built in mapping functions
!                     Bit  6    -  set for 'iocp' call
!                     Bit  7    -  set for implicitly specified items
!    type    -  as a text string
!    name    -  the actual name, followed by any formal parameters enclosed
!               in parentheses
!
1000	41080001	%routine		selectinput(%integer stream)
1000	41090001	%routine		selectoutput(%integer stream)
1000	408A0001	%routine		newline
1000	40A00001	%routine		space
1000	40010001	%routine		skipsymbol
1000	800D0000	%routine		readstring(%stringname s)
1000	11010001	%routine		newlines(%integer n)
1000	11010001	%routine		spaces(%integer n)
1001	10020024	%integerfunction	nextsymbol
1000	41030001	%routine		printsymbol(%integer symbol)
1000	19030001	%routine		readsymbol(%name symbol)
1000	80130001	%routine		read(%name number)
1000	80170014	%routine		write(%integer value,places)
1000	408C0001	%routine		newpage
1001	19050024	%integerfunction	addr(%name variable)
1062	80010002	%longrealfunction	arcsin(%longreal x)
1001	11040024	%integerfunction	int(%longreal x)
1001	11040024	%integerfunction	intpt(%lonrgreal x)
1062	80010005	%longrealfunction	fracpt(%longreal x)
1000	80090006	%routine		print(%longreal n,%integer before,after)
1000	80060007	%routine		printfl(%longreal n,%integer places)
0052	2100003E	%realmap		real(%integer var addr)
0051	2100003E	%integermap		integer(%integer var addr)
0062	11060024	%longrealfunction	mod(%longreal x)
1062	80010008	%longrealfunction	arccos(%longreal x)
1062	80010009	%longrealfunction	sqrt(%longreal x)
1062	8001000A	%longrealfunction	log(%longreal x)
1062	8001000B	%longrealfunction	sin(%longreal x)
1062	8001000C	%longrealfunction	cos(%longreal x)
1062	8001000D	%longrealfunction	tan(%longreal x)
1062	8001000E	%longrealfunction	exp(%longreal x)
1000	8015000F	%routine		closestream(%integer stream)
0031	2100003E	%byteintegermap		byteinteger(%integer var addr)
0051	100D0024	%integerfunction	eventinf
1062	80030010	%longrealfunction	radius(%longreal x,y)
1062	80030011	%longrealfunction	arctan(%longreal x,y)
0031	1907003E	%byteintegermap		length(%stringname s)
1000	41070001	%routine		printstring(%string(255) message)
0051	10080024	%integerfunction	nl
0062	2100003E	%longrealmap		longreal(%integer var addr)
1000	41050001	%routine		printch(%integer character)
1000	19030001	%routine		readch(%name character)
0035	2100003E	%stringmap		string(%integer var addr)
1000	19030001	%routine		readitem(%stringname item)
1035	10020024	%string(1)%function	nextitem
0031	1A07003E	%byteintegermap		charno(%stringname s,%integer charreqd)
0035	11090024	%string(1)%function	tostring(%integer symbol)
1035	800F0012	%string(255)%function	substring(%stringname s,%integer bg,end)
0033	110A0038	%recordmap		record(%integer rec addr)
0000	120B1000	%arraymap		array(%integer a1addr,%arrayname format)
1001	80130013	%integerfunction	sizeof(%name x)
0051	11060024	%integerfunction	imod(%integer value)
0052	100C0024	%longrealfunction	pi
0051	100D0024	%integerfunction	eventline
0061	2100003E	%longintegermap		longinteger(%integer adr)
0061	110E0024	%longintegerfunction	lengtheni(%integer val)
0051	110E0024	%integerfunction	shorteni(%longinteger val)
1051	10020024	%integerfunction	nextch
0041	2100003E	%halfintegermap		halfinteger(%integer addr)
1000	100F0001	%routine		pprofile
0062	11100024	%longrealfunction	float(%integer value)
!
! End of file: snames.dat
!

