From: Peter Johnson Date: Wed, 11 Jul 2001 21:00:34 +0000 (-0000) Subject: Move some previously seperate identifiers into general label handlers. X-Git-Tag: v0.1.0~388 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=76af86221f401d804b4625c309abf34596feb830;p=yasm Move some previously seperate identifiers into general label handlers. svn path=/trunk/yasm/; revision=123 --- diff --git a/modules/parsers/nasm/token.l.in b/modules/parsers/nasm/token.l.in index 2a19cdc8..4a536b1e 100644 --- a/modules/parsers/nasm/token.l.in +++ b/modules/parsers/nasm/token.l.in @@ -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; diff --git a/src/parsers/nasm/token.l.in b/src/parsers/nasm/token.l.in index 2a19cdc8..4a536b1e 100644 --- a/src/parsers/nasm/token.l.in +++ b/src/parsers/nasm/token.l.in @@ -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; diff --git a/src/token.l.in b/src/token.l.in index 2a19cdc8..4a536b1e 100644 --- a/src/token.l.in +++ b/src/token.l.in @@ -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;