/******************************************************************************* * * * Compile a special name - 'ptype' = 1006 (=%routine %label) * * Their true 'ptype' is in global array 'tsname'. * * 'sninfo' has a four byte record for each name: * * 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 * * * * 0 = %routine selectinput(%integer stream) * * 1 = %routine selectoutput(%integer stream) * * 2 = %routine newline * * 3 = %routine space * * 4 = %routine skipsymbol * * 5 = %routine readstring(%stringname s) * * 6 = %routine newlines(%integer n) * * 7 = %routine spaces(%integer n) * * 8 = %integerfunction nextsymbol * * 9 = %routine printsymbol(%integer symbol) * * 10 = %routine readsymbol(%name symbol) * * 11 = %routine read(%name number) * * 12 = %routine write(%integer value,places) * * 13 = %routine newpage * * 14 = %integerfunction addr(%name variable) * * 15 = %longrealfunction arcsin(%longreal x) * * 16 = %integerfunction int(%longreal x) * * 17 = %integerfunction intpt(%lonrgreal x) * * 18 = %longrealfunction fracpt(%longreal x) * * 19 = %routine print(%longreal n,%integer before,after) * * 20 = %routine printfl(%longreal n,%integer places) * * 21 = %realmap real(%integer var addr) * * 22 = %integermap integer(%integer var addr) * * 23 = %longrealfunction mod(%longreal x) * * 24 = %longrealfunction arccos(%longreal x) * * 25 = %longrealfunction sqrt(%longreal x) * * 26 = %longrealfunction log(%longreal x) * * 27 = %longrealfunction sin(%longreal x) * * 28 = %longrealfunction cos(%longreal x) * * 29 = %longrealfunction tan(%longreal x) * * 30 = %longrealfunction exp(%longreal x) * * 31 = %routine closestream(%integer stream) * * 32 = %byteintegermap byteinteger(%integer var addr) * * 33 = %integerfunction eventinf * * 34 = %longrealfunction radius(%longreal x,y) * * 35 = %longrealfunction arctan(%longreal x,y) * * 36 = %byteintegermap length(%stringname s) * * 37 = %routine printstring(%string(255) message) * * 38 = %integerfunction nl * * 39 = %longrealmap longreal(%integer var addr) * * 40 = %routine printch(%integer character) * * 41 = %routine readch(%name character) * * 42 = %stringmap string(%integer var addr) * * 43 = %routine readitem(%stringname item) * * 44 = %string(1)%function nextitem * * 45 = %byteintegermap charno(%stringname s,%integer charreqd) * * 46 = %string(1)%function tostring(%integer symbol) * * 47 = %string(255)%function substring(%stringname s,%integer bg,end) * * 48 = %recordmap record(%integer rec addr) * * 49 = %arraymap array(%integer a1addr,%arrayname format) * * 50 = %integerfunction sizeof(%name x) * * 51 = %integerfunction imod(%integer value) * * 52 = %longrealfunction pi * * 53 = %integerfunction eventline * * 54 = %longintegermap longinteger(%integer adr) * * 55 = %longintegerfunction lengtheni(%integer val) * * 56 = %integerfunction shorteni(%longinteger val) * * 57 = %integerfunction nextch * * 58 = %halfintegermap halfinteger(%integer addr) * * 59 = %routine pprofile * * 60 = %longrealfunction float(%integer value) * * * ******************************************************************************/