X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?p=rmac;a=blobdiff_plain;f=token.c;fp=token.c;h=3e42501d604a2f80efae1356fb5b96e1e648553c;hp=811ae854c401882da80adf742d988b41ee28b70b;hb=216bfb25e0ce4afb65bb37347cc46b4c52c2220d;hpb=c77f5e305ec19e7d445bdd138187ca7458ba5a16 diff --git a/token.c b/token.c index 811ae85..3e42501 100644 --- a/token.c +++ b/token.c @@ -974,6 +974,7 @@ int TokenizeLine(void) int stuffnull; // 1:terminate SYMBOL '\0' at *nullspot uint8_t c1; int stringNum = 0; // Pointer to string locations in tokenized line + SYM* sy; // For looking up symbols (.equr) retry: @@ -1203,6 +1204,18 @@ DEBUG { printf("TokenizeLine: Calling fpop() from SRC_IFILE...\n"); } // If not tokenized keyword OR token was not found if ((j < 0) || (state < 0)) { + // Last attempt: let's see if this is an equated register + sy = lookup(nullspot, LABEL, 0); + if (sy) + { + if (sy->sattre & EQUATEDREG) + { + *tk.u32++ = sy->svalue; + stuffnull = 0; + continue; + } + } + // Ok, that failed, let's store the symbol instead *tk.u32++ = SYMBOL; string[stringNum] = nullspot; *tk.u32++ = stringNum;