SYMBOLCHARN [_a-zA-Z\/\.\\0-9]
FILENAMECHAR [_a-zA-Z0-9\/\.\-\_\+\=\$\:\[\]\\\,\~]
FILENAME {FILENAMECHAR}+
-WHITE [ \t\n]+
+WHITE [ \t\n\r]+
NOCFILENAMECHAR [_a-zA-Z0-9\/\.\-\_\+\$\:\[\]\\\~]
/* The first token of the input determines the initial parser state. */
input_type t = parser_input;
parser_input = input_selected;
- return t;
+ switch (t)
+ {
+ case input_script: return INPUT_SCRIPT; break;
+ case input_mri_script: return INPUT_MRI_SCRIPT; break;
+ case input_defsym: return INPUT_DEFSYM; break;
+ default: abort ();
+ }
}
<BOTH,SCRIPT,EXPRESSION>"/*" { comment(); }
<BOTH,SCRIPT>"len" { RTOKEN( LENGTH);}
<BOTH,SCRIPT>"INCLUDE" { RTOKEN(INCLUDE);}
<EXPRESSION,BOTH,SCRIPT>"AT" { RTOKEN(AT);}
+<BOTH,SCRIPT>"PROVIDE" { RTOKEN(PROVIDE); }
<MRI>"\n" { ++ lineno; RTOKEN(NEWLINE); }
+<MRI>"\r" { ++ lineno; RTOKEN(NEWLINE); }
<MRI>"*".* { /* Mri comment line */ }
<MRI>"END" { RTOKEN(ENDWORD); }
<MRI>"ALIGNMOD" { RTOKEN(ALIGNMOD);}
return NAME;
}
<BOTH,SCRIPT,EXPRESSION>"\n" { lineno++;}
+<BOTH,SCRIPT,EXPRESSION>"\r" { lineno++;}
<MRI,BOTH,SCRIPT,EXPRESSION>[ \t]
<<EOF>> {
c = input();
while (c != '*' && c != EOF)
{
- if (c == '\n')
+ if (c == '\n' || c == '\r')
lineno++;
c = input();
}
break; /* found the end */
}
- if (c == '\n')
+ if (c == '\n' || c == '\r')
lineno++;
if (c == EOF)