X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?p=rmac;a=blobdiff_plain;f=token.h;h=251a503f424036a705edf559b3ecd9302b85d56b;hp=95adf0157c0982d2519e78cc20e0d7a67b2f5c63;hb=619867988ebf5dafbf8e1adbda157d85ba9eedeb;hpb=e01afe2aa5b6941e79b844ee9e1bcae400e27a7c diff --git a/token.h b/token.h index 95adf01..251a503 100644 --- a/token.h +++ b/token.h @@ -17,12 +17,13 @@ #define SRC_IREPT 2 // Input source is IREPT // Macros -#define INOBJ struct _inobj -#define IUNION union _iunion -#define IFILE struct _incldfile -#define IMACRO struct _imacro -#define IREPT struct _irept -#define IFENT struct _ifent +#define INOBJ struct _inobj +#define IUNION union _iunion +#define IFILE struct _incldfile +#define TOKENSTREAM struct _tokenstream +#define IMACRO struct _imacro +#define IREPT struct _irept +#define IFENT struct _ifent // Tunable definitions #define LNSIZ 1024 // Maximum size of a line of text @@ -126,10 +127,14 @@ IFILE { char ifbuf[LNBUFSIZ]; // Line buffer }; -#define TOKENSTREAM struct _tokenstream +// Consts for maximums in TOKENSTREAM +#define TS_MAXTOKENS 64 // 32 ought to be enough for anybody (including XiA!) +#define TS_MAXSTRINGS 32 // same for attached strings +#define TS_MAXARGS 20 // Assume no more than 20 arguments in an invocation + TOKENSTREAM { - TOKEN token[32]; // 32 ought to be enough for anybody (including XiA!) - char * string[32]; // same for attached strings + TOKEN token[TS_MAXTOKENS]; + char * string[TS_MAXSTRINGS]; }; // Information about a macro invocation @@ -141,7 +146,7 @@ IMACRO { LONG im_olduniq; // Old value of 'macuniq' SYM * im_macro; // Pointer to macro we're in char im_lnbuf[LNSIZ]; // Line buffer - TOKENSTREAM argument[20]; // Assume no more than 20 arguments in an invocation + TOKENSTREAM argument[TS_MAXARGS]; }; // Information about a .rept invocation