* ldlex.l: added CMDFILENAMECHAR state so that you can lex
authorSteve Chamberlain <sac@cygnus>
Wed, 22 Apr 1992 19:55:15 +0000 (19:55 +0000)
committerSteve Chamberlain <sac@cygnus>
Wed, 22 Apr 1992 19:55:15 +0000 (19:55 +0000)
different sorts of filenames on the command line than in a script.

ld/ChangeLog
ld/ldlex.l

index 1d878b7aba392867ceaa9cb26655725dc8372673..c13046ed6a6ef1a39b2c88a21b09d4b6a8557ad3 100644 (file)
@@ -1,3 +1,8 @@
+Wed Apr 22 12:48:42 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
+
+       * ldlex.l: added CMDFILENAMECHAR state so that you can lex
+       different sorts of filenames on the command line than in a script.
+
 Fri Apr 17 08:57:17 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
 
        * relax.c: added handling for new "padding" seclet type, used to
index b52ba2e4e74fa74313030fe962deff75329f7b11..d2f4db3914d3ab995d7bbc84967f7b7d335fd2e3 100644 (file)
@@ -65,6 +65,9 @@ unsigned int include_stack_ptr = 0;
 
 %a 4000
 %o 5000
+
+CMDFILENAMECHAR   [_a-zA-Z0-9\/\.\\_\+\$\:\[\]\\\,\=\&\!\<\>\-]
+CMDFILENAMECHAR1  [_a-zA-Z0-9\/\.\\_\+\$\:\[\]\\\,\=\&\!\<\>]
 FILENAMECHAR1  [_a-zA-Z\/\.\\]
 SYMBOLCHARN     [_a-zA-Z\/\.\\0-9]
 FILENAMECHAR   [_a-zA-Z0-9\/\.\-\_\+\=\$\:\[\]\\]
@@ -189,7 +192,7 @@ WHITE               [ \t\n]+
                                   yylval.integer = strtol(yytext+1, 0, base);  
                                   return INT;
                                 }
-<MRI,BOTH,EXPRESSION>"$"?"0x"?([0-9A-Fa-f])+(M|K|m|k)? {
+<DEFSYMEXP,MRI,BOTH,EXPRESSION>"$"?"0x"?([0-9A-Fa-f])+(M|K|m|k)? {
                                  yylval.integer = strtol(yytext,0,hex_mode);
                                  if (yytext[yyleng-1]=='M'
                                        || yytext[yyleng-1] == 'm') {
@@ -306,6 +309,12 @@ WHITE              [ \t\n]+
 <MRI>"sect"                    { RTOKEN(SECT); }
 <MRI>"absolute"                        { RTOKEN(ABSOLUTE); }
 
+<COMMAND>{CMDFILENAMECHAR1}{CMDFILENAMECHAR}*  {
+                                yylval.name = buystring(yytext); 
+                                 return NAME;
+                               }
+
+
 <MRI,BOTH,EXPRESSION>{FILENAMECHAR1}{FILENAMECHAR}*    {
                                 yylval.name = buystring(yytext); 
                                  return NAME;