From b660ff511cfdf92752b5518281255146c7509db6 Mon Sep 17 00:00:00 2001 From: Sven Slootweg Date: Tue, 25 Jul 2017 17:50:53 +0200 Subject: [PATCH] Add support for escaped whitespace characters --- src/drv.pegjs | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/src/drv.pegjs b/src/drv.pegjs index 4020db6..b17bda1 100644 --- a/src/drv.pegjs +++ b/src/drv.pegjs @@ -26,9 +26,21 @@ string = '"' chars:stringCharacter* '"' { return chars.join(""); } stringCharacter - = !('"' / "\\") char:. { return char; } // Prefer a non-backslash character... - / stringEscapedQuote { return '"'; } // ... then an escaped quotation mark... - / !('"') char:. { return char; } // ... and finally any other character that doesn't terminate the string. + = !('"' / "\\") char:. { return char; } // Prefer a non-backslash character... + / stringEscapedQuote { return '"'; } // ... then an escaped quotation mark... + / stringEscapedNewline{ return "\n"; } // ... then various escaped whitespace characters... + / stringEscapedCarriageReturn{ return "\r"; } + / stringEscapedTab{ return "\t"; } + / !('"') char:. { return char; } // ... and finally any other character that doesn't terminate the string. stringEscapedQuote = '\\"' + +stringEscapedNewline + = '\\n' + +stringEscapedCarriageReturn + = '\\r' + +stringEscapedTab + = '\\t'