#-----------------------------------------------------------------------
# definitions for the Ratfiv preprocessor
# put on a file named 'ratsym'

  define(RATFIV)
  _undef(MACRO)

  define(LEXINCLUDE,-50)
  define(LEXFUNCTION,-51)
  define(LEXBREAK,-52)
  define(LEXDIGITS,-53)
  define(LEXDO,-54)
  define(LEXELSE,-55)
  define(LEXFOR,-56)
  define(LEXIF,-57)
  define(LEXLITERAL,-58)
  define(LEXNEXT,-59)
  define(LEXOTHER,-60)
  define(LEXREPEAT,-61)
  define(LEXRETURN,-62)
  define(LEXUNTIL,-63)
  define(LEXWHILE,-64)
  define(LEXWRITE,-65)
  define(LEXREAD,-66)
  define(LEXENCODE,-67)
  define(LEXDECODE,-68)
  define(LEXFORMAT,-69)
  define(LEXSTRING,-70)
  define(LEXSWITCH,-71)
  define(LEXCASE,-72)
  define(LEXDEFAULT,-73)
  define(LEXELSEIF,-74)
  define(LEXERROR,-75)

  define(MAXFORSTK,250)    # max space for for reinit clauses
  define(MAXNAME,35)       # function name size in dfunct
  define(MAXSTACK,100)     # max stack depth for parser
  define(MAXFORMAT,600)    # max length of format in read, write, encode,decode
  define(MAXSTRING,600)    # max number of chars in string declares per module
  define(MAXSWITCH,500)    # max stack for switch statement
  define(CUTOFF,4)	   # min number of cases to generate branch table
  define(DENSITY,3)	   # reciprocal of density neccessary for branch table
_ifdef(VAX)
  define(MAXTBL,10001)	   # max chars in all definitions
_elsedef
  define(MAXTBL,5501)	   # max chars in all definitions
_enddef

  define(TOGGLE,PERCENT)   # literal toggle flag
  define(RADIX,PERCENT)    # number base flag

  define(abs,iabs)
  define(max,max0)
  define(min,min0)

  define(isquote,(($1) == SQUOTE | ($1) == DQUOTE))
  define(outden,inden(-($1)))
