This adds support for escape sequences in strings e.g \t \n \r \" \\

git-svn-id: http://svn.clifford.at/openscad/trunk@581 b57f626f-c46c-0410-a088-ec61d464b74c
stl_dim
kintel 2011-01-09 16:08:11 +00:00
parent d96fedc529
commit 8bf2099ca0
1 changed files with 9 additions and 5 deletions

View File

@ -140,11 +140,15 @@ use[ \t\r\n>]*"<"[^ \t\r\n>]+">" {
{DIGIT}+|{DIGIT}*\.{DIGIT}+|{DIGIT}+\.{DIGIT}* { parserlval.number = QString(yytext).toDouble(); return TOK_NUMBER; }
"$"?[a-zA-Z0-9_]+ { parserlval.text = strdup(yytext); return TOK_ID; }
\"[^"]*\" {
parserlval.text = strdup(yytext+1);
parserlval.text[strlen(parserlval.text)-1] = 0;
return TOK_STRING;
}
\"(\\[tnr\"\\]|[^\\"])*\" { QString str(yytext+1);
str.chop(1);
str=str.replace("\\\\","\\");
str=str.replace("\\\"","\"");
str=str.replace("\\t","\t");
str=str.replace("\\n","\n");
str=str.replace("\\r","\r");
parserlval.text = strdup(str.toAscii().data());
return TOK_STRING; }
[\n\r\t ]
\/\/[^\n]*\n?