warn about a stray \
[fw/sdcc] / src / SDCC.lex
index 365d56f27498e162b65761eccb9af0d863f11418..b4c5cfb464f213302beb24a0fc9b49f78572a4b7 100644 (file)
@@ -39,7 +39,7 @@ IS       (u|U|l|L)*
 char *stringLiteral();
 char *currFname;
 
-extern int lineno                      ;
+extern int lineno, column;
 extern char *filename ;
 extern char *fullSrcFileName ;
 int   yylineno = 1               ;
@@ -245,6 +245,13 @@ struct options  save_options  ;
 "\r\n"            { count(); }
 "\n"              { count(); }
 [ \t\v\f]      { count(); }
+\\ {
+  char ch=input();
+  if (ch!='\n') {
+    werror (W_STRAY_BACKSLASH, column);
+    unput(ch);
+  }
+}
 .                         { count()    ; }
 %%
    
@@ -409,7 +416,6 @@ char *stringLiteral () {
       while ((ch = input()) && (isspace(ch) || ch=='\\')) {
        switch (ch) {
        case '\\':
-         //werror (W_STRAY_BACKSLASH)
          break;
        case '\n':
          yylineno++;