[Uml-devel] branches/KDE/4.9/kdesdk/umbrello/umbrello/codeimport/kdevcppparser

Ralf Habacker ralf.habacker at gmail.com
Mon Jun 25 23:03:03 UTC 2012


SVN commit 1303067 by habacker:

Fixed hanging bug because of not supported escape sequences.
There may be more cases because escape sequence handling is still not complete.

CCBUG: 302384

 M  +2 -2      lexer.cpp  


--- branches/KDE/4.9/kdesdk/umbrello/umbrello/codeimport/kdevcppparser/lexer.cpp #1303066:1303067
@@ -175,7 +175,7 @@
             main =
                 (!ch_p('L') >> ch_p('\'')
                  >> *((anychar_p - '\'' - '\\')
-                      | (ch_p('\\') >> (ch_p('\'') | '\\')))
+                 | (ch_p('\\') >> (ch_p('\'') | '\\' | 'n' | '0')))
                  >> '\'')
                 [ self.result_ = construct_<Token>(Token_char_literal, arg1, arg2)];
         }
@@ -210,7 +210,7 @@
 };
 
 Lexer::CharRule gr_stringLiteral =
-    ch_p('"') >> *((anychar_p - '"' - '\\') | str_p("\\\"") | "\\\\") >> '"';
+    ch_p('"') >> *((anychar_p - '"' - '\\') | str_p("\\\"") | "\\\\" | "\\n") >> '"';
 Lexer::CharRule gr_whiteSpace = blank_p | (ch_p('\\') >> eol_p);
 Lexer::CharRule gr_lineComment = (str_p("//") >> (*(anychar_p - eol_p)));
 Lexer::CharRule gr_multiLineComment = confix_p("/*", *anychar_p, "*/");




More information about the umbrello-devel mailing list