]> granicus.if.org Git - yasm/commitdiff
Move some previously seperate identifiers into general label handlers.
authorPeter Johnson <peter@tortall.net>
Wed, 11 Jul 2001 21:00:34 +0000 (21:00 -0000)
committerPeter Johnson <peter@tortall.net>
Wed, 11 Jul 2001 21:00:34 +0000 (21:00 -0000)
svn path=/trunk/yasm/; revision=123

modules/parsers/nasm/token.l.in
src/parsers/nasm/token.l.in
src/token.l.in

index 2a19cdc8aedb4832ed17197a931e06e02e3f6c24..4a536b1ea9780b96c46e27be9e6556dccb367915 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: token.l.in,v 1.9 2001/07/05 08:37:59 mu Exp $
+/* $Id: token.l.in,v 1.10 2001/07/11 21:00:34 peter Exp $
  * Main lexer
  *
  *  Copyright (C) 2001  Peter Johnson
@@ -224,13 +224,20 @@ gs        { yylval.int_val = 5; return REG_GS; }
 ">>"   { return RIGHT_OP; }
 "//"   { return SIGNDIV; }
 "%%"   { return SIGNMOD; }
-"$$"   { return START_SECTION_OFFSET; }
-[-+|^&*/%~$():[\],]    { return yytext[0]; }
+[-+|^&*/%~():[\],]     { return yytext[0]; }
 
-\.\.start:?    { return ENTRY_POINT; }
+    /* special labels like ..start */
+\.\.[a-z0-9_$#@~.?]+ {
+    /* For now, just treat like regular label */
+    yylval.syminfo.name = strdup (yytext);
+    if (yylval.syminfo.name == NULL) Fatal (FATAL_NOMEM);
+    yylval.syminfo.line = line_number;
+
+    return ID;
+}
 
     /* special non-local ..@label */
-\.\.@[a-z0-9_$#@~.?]+ {
+$$|$|\.\.@[a-z0-9_$#@~.?]+ {
     yylval.syminfo.name = strdup (yytext);
     if (yylval.syminfo.name == NULL) Fatal (FATAL_NOMEM);
     yylval.syminfo.line = line_number;
index 2a19cdc8aedb4832ed17197a931e06e02e3f6c24..4a536b1ea9780b96c46e27be9e6556dccb367915 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: token.l.in,v 1.9 2001/07/05 08:37:59 mu Exp $
+/* $Id: token.l.in,v 1.10 2001/07/11 21:00:34 peter Exp $
  * Main lexer
  *
  *  Copyright (C) 2001  Peter Johnson
@@ -224,13 +224,20 @@ gs        { yylval.int_val = 5; return REG_GS; }
 ">>"   { return RIGHT_OP; }
 "//"   { return SIGNDIV; }
 "%%"   { return SIGNMOD; }
-"$$"   { return START_SECTION_OFFSET; }
-[-+|^&*/%~$():[\],]    { return yytext[0]; }
+[-+|^&*/%~():[\],]     { return yytext[0]; }
 
-\.\.start:?    { return ENTRY_POINT; }
+    /* special labels like ..start */
+\.\.[a-z0-9_$#@~.?]+ {
+    /* For now, just treat like regular label */
+    yylval.syminfo.name = strdup (yytext);
+    if (yylval.syminfo.name == NULL) Fatal (FATAL_NOMEM);
+    yylval.syminfo.line = line_number;
+
+    return ID;
+}
 
     /* special non-local ..@label */
-\.\.@[a-z0-9_$#@~.?]+ {
+$$|$|\.\.@[a-z0-9_$#@~.?]+ {
     yylval.syminfo.name = strdup (yytext);
     if (yylval.syminfo.name == NULL) Fatal (FATAL_NOMEM);
     yylval.syminfo.line = line_number;
index 2a19cdc8aedb4832ed17197a931e06e02e3f6c24..4a536b1ea9780b96c46e27be9e6556dccb367915 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: token.l.in,v 1.9 2001/07/05 08:37:59 mu Exp $
+/* $Id: token.l.in,v 1.10 2001/07/11 21:00:34 peter Exp $
  * Main lexer
  *
  *  Copyright (C) 2001  Peter Johnson
@@ -224,13 +224,20 @@ gs        { yylval.int_val = 5; return REG_GS; }
 ">>"   { return RIGHT_OP; }
 "//"   { return SIGNDIV; }
 "%%"   { return SIGNMOD; }
-"$$"   { return START_SECTION_OFFSET; }
-[-+|^&*/%~$():[\],]    { return yytext[0]; }
+[-+|^&*/%~():[\],]     { return yytext[0]; }
 
-\.\.start:?    { return ENTRY_POINT; }
+    /* special labels like ..start */
+\.\.[a-z0-9_$#@~.?]+ {
+    /* For now, just treat like regular label */
+    yylval.syminfo.name = strdup (yytext);
+    if (yylval.syminfo.name == NULL) Fatal (FATAL_NOMEM);
+    yylval.syminfo.line = line_number;
+
+    return ID;
+}
 
     /* special non-local ..@label */
-\.\.@[a-z0-9_$#@~.?]+ {
+$$|$|\.\.@[a-z0-9_$#@~.?]+ {
     yylval.syminfo.name = strdup (yytext);
     if (yylval.syminfo.name == NULL) Fatal (FATAL_NOMEM);
     yylval.syminfo.line = line_number;