# definitions for macro processor
# put on a file named 'macsym'
 
 define(ARGFLAG,DOLLAR)
 define(EVALARG,ARGFLAG)
 define(NOEVALARG,PERCENT)
 define(HASARGS,10)
 define(COMMA_OK,11)
 define(NOTARG,0)
 
 define(DEFINETYPE,-20)
 define(IFELSETYPE,-21)
 define(INCRTYPE,-22)
 define(SUBSTRTYPE,-23)
 define(ARITHTYPE,-24)
 define(LENTYPE,-25)
 define(INDEXTYPE,-26)
 define(IFDEFTYPE,-27)
 define(ELSEDEFTYPE,-28)
 define(ENDDEFTYPE,-29)
 define(INCLUDETYPE,-30)
 define(UNDEFTYPE,-31)
 
 define(EVALSIZE,500)
 define(DEFSTACKSIZE,20)
 define(CALLSIZE,30)
 define(ARGSIZE,120)
 define(BUFSIZE,900)	  # pushback buffer for ngetch and putbak
 define(MAXDEF,500)       # max chars in a definition 
 define(NFILES,4)         # max depth of file inclusion 
 define(MAXTBL,10001)     # max chars in all definitions 
 define(MAXTOK,201)       # max chars in a token 
 define(MAXFNAMES,_arith(NFILES,*,FILENAMESIZE))

_ifdef(VAX)
 define(CHARSPERINT,4)	  # number of characters per integer
_elsedef
 define(CHARSPERINT,2)	  # number of characters per integer
_enddef
 
 define(abs,iabs)
 define(max,max0)
 define(min,min0)

 define(MACRO)
 define(arg,argstk(iargs+$1))
