X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?p=rmac;a=blobdiff_plain;f=token.h;h=1d824a905966bde12b0b8b7036c6e77e4ac37215;hp=65b5b831a7dc1d5c126d28c8c7198009a0814dd4;hb=f7f625cf6c2f4b96854ac0e911ca2b1c249f4e05;hpb=96a5cd69571096f11a3a2a40f6133374f0adc9bb diff --git a/token.h b/token.h index 65b5b83..1d824a9 100644 --- a/token.h +++ b/token.h @@ -90,7 +90,7 @@ IFENT { WORD if_state; // 0:enabled, 1:disabled }; -// Pointer to IFILE or IMACRO +// Pointer to IFILE or IMACRO or IREPT IUNION { IFILE * ifile; IMACRO * imacro; @@ -99,12 +99,12 @@ IUNION { // Ptr to IFILEs, IMACROs, and so on; back-ptr to previous input objects INOBJ { - WORD in_type; // 0=IFILE, 1=IMACRO ... + WORD in_type; // 0=IFILE, 1=IMACRO, 2=IREPT IFENT * in_ifent; // Pointer to .if context on entry INOBJ * in_link; // Pointer to previous INOBJ TOKEN * in_otok; // Old `tok' value TOKEN * in_etok; // Old `etok' value - IUNION inobj; // IFILE or IMACRO ... + IUNION inobj; // IFILE or IMACRO or IREPT }; // Information about a file @@ -128,20 +128,19 @@ TOKENSTREAM { // Information about a macro invocation IMACRO { IMACRO * im_link; // Pointer to ancient IMACROs - struct LineList * im_nextln; // Next line to include + LLIST * im_nextln; // Next line to include WORD im_nargs; // # of arguments supplied on invocation WORD im_siz; // Size suffix supplied on invocation LONG im_olduniq; // Old value of 'macuniq' SYM * im_macro; // Pointer to macro we're in char im_lnbuf[LNSIZ]; // Line buffer - uint32_t argBase; // Base in argPtrs[] for current macro TOKENSTREAM argument[20]; // Assume no more than 20 arguments in an invocation }; // Information about a .rept invocation IREPT { - LONG * ir_firstln; // Pointer to first line - LONG * ir_nextln; // Pointer to next line + LLIST * ir_firstln; // Pointer to first line + LLIST * ir_nextln; // Pointer to next line VALUE ir_count; // Repeat count (decrements) };