summaryrefslogtreecommitdiffabout
authorMichael Krelin <hacker@klever.net>2006-12-06 16:58:21 (UTC)
committer Michael Krelin <hacker@klever.net>2006-12-06 16:58:21 (UTC)
commita22cf56603ca89efb73429fd3797a775ca908cff (patch) (side-by-side diff)
tree3f1e2c2f2a7640da48ec4e9576f19e63528ec60f
parentd2bac550faab6e8ffbf3f3d43fdf7cd862cf0a72 (diff)
downloadsitecing-a22cf56603ca89efb73429fd3797a775ca908cff.zip
sitecing-a22cf56603ca89efb73429fd3797a775ca908cff.tar.gz
sitecing-a22cf56603ca89efb73429fd3797a775ca908cff.tar.bz2
fix for escaping backslash in output
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--lib/sitecing_parser.ll1
1 files changed, 1 insertions, 0 deletions
diff --git a/lib/sitecing_parser.ll b/lib/sitecing_parser.ll
index 8dd8d5f..53df9a0 100644
--- a/lib/sitecing_parser.ll
+++ b/lib/sitecing_parser.ll
@@ -461,32 +461,33 @@ NOIDCHAR [^A-Za-z0-9_]
\" {
yy_push_state(STRING);
ECHO;
}
\'\\.\' {
ECHO;
}
}
<INITIAL,METHODBLOCK,OUTPUTBLOCK>{
\" soft_anchor(); M().modify(modus_operandi::modus_text); LexerOutput("\\\"",2);
\n soft_anchor(); M().modify(modus_operandi::modus_text); LexerOutput("\\n",2);
\r soft_anchor(); M().modify(modus_operandi::modus_text); LexerOutput("\\r",2);
\t soft_anchor(); M().modify(modus_operandi::modus_text); LexerOutput("\\t",2);
\b soft_anchor(); M().modify(modus_operandi::modus_text); LexerOutput("\\b",2);
\a soft_anchor(); M().modify(modus_operandi::modus_text); LexerOutput("\\a",2);
+ \\ soft_anchor(); M().modify(modus_operandi::modus_text); LexerOutput("\\\\",2);
. soft_anchor(); M().modify(modus_operandi::modus_text); ECHO;
{WHITESPACE}+ soft_anchor(); M().modify(modus_operandi::modus_text); ECHO;
}
<DECLBLOCK,IMPLBLOCK,CONSTRUCTOR,DESTRUCTOR,CODEMETHODBLOCK,METHODBLOCK,CODEBLOCK>{
\<\/\%decl\> {
if(YY_START!=DECLBLOCK) throw preprocessor_error(CODEPOINT,"tags mismatch",lineno());
decl += M().output;
modi.pop_front();
BEGIN(INITIAL);
}
\<\/\%impl\> {
if(YY_START!=IMPLBLOCK) throw preprocessor_error(CODEPOINT,"tags mismatch",lineno());
impl += M().output;
modi.pop_front();
BEGIN(INITIAL);