Index: third_party/yasm/patched-yasm/modules/parsers/nasm/nasm-token.re |
=================================================================== |
--- third_party/yasm/patched-yasm/modules/parsers/nasm/nasm-token.re (revision 71129) |
+++ third_party/yasm/patched-yasm/modules/parsers/nasm/nasm-token.re (working copy) |
@@ -27,7 +27,7 @@ |
* POSSIBILITY OF SUCH DAMAGE. |
*/ |
#include <util.h> |
-RCSID("$Id: nasm-token.re 2139 2008-10-08 05:19:47Z peter $"); |
+RCSID("$Id: nasm-token.re 2277 2010-01-19 07:03:15Z peter $"); |
#include <libyasm.h> |
@@ -84,6 +84,10 @@ |
return NONLOCAL_ID; |
return SPECIAL_ID; |
} |
+ if (parser_nasm->masm && tok[zeropos] == '.') { |
+ lvalp->str_val = yasm__xstrndup(tok + zeropos, toklen - zeropos); |
+ return SPECIAL_ID; |
+ } |
if (parser_nasm->tasm && (!tasm_locals || |
(tok[zeropos] == '.' && |
tok[zeropos+1] != '@' && tok[zeropos+2] != '@'))) { |
@@ -416,10 +420,20 @@ |
case YASM_ARCH_TARGETMOD: |
s->tok[TOKLEN] = savech; |
RETURN(TARGETMOD); |
+ case YASM_ARCH_REGGROUP: |
+ if (parser_nasm->masm) { |
+ s->tok[TOKLEN] = savech; |
+ RETURN(REGGROUP); |
+ } |
default: |
break; |
} |
- if (parser_nasm->tasm) { |
+ if (parser_nasm->masm) { |
+ if (!yasm__strcasecmp(TOK, "offset")) { |
+ s->tok[TOKLEN] = savech; |
+ RETURN(OFFSET); |
+ } |
+ } else if (parser_nasm->tasm) { |
if (!yasm__strcasecmp(TOK, "shl")) { |
s->tok[TOKLEN] = savech; |
RETURN(LEFT_OP); |
@@ -436,6 +450,10 @@ |
s->tok[TOKLEN] = savech; |
RETURN('|'); |
} |
+ if (!yasm__strcasecmp(TOK, "not")) { |
+ s->tok[TOKLEN] = savech; |
+ RETURN('~'); |
+ } |
if (!yasm__strcasecmp(TOK, "low")) { |
s->tok[TOKLEN] = savech; |
RETURN(LOW); |