| 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);
|
|
|