] unit-test
{
- V{ T{ ast-string { value "abc\"def\"" } } }
-} [ "\"abc\\\"def\\\"\"" tokenize-javascript ] unit-test
\ No newline at end of file
+ V{ T{ ast-string { value "abc\"def\"" } } }
+} [ "\"abc\\\"def\\\"\"" tokenize-javascript ] unit-test
+
+{
+ V{ T{ ast-string { value "\b\f\n\r\t\v'\"\\" } } }
+} [ "\"\\b\\f\\n\\r\\t\\v\\'\\\"\\\\\"" tokenize-javascript ] unit-test
Number = Digits:ws '.' Digits:fs => [[ ws "." fs 3array "" concat-as string>number ast-number boa ]]
| Digits => [[ >string string>number ast-number boa ]]
-EscapeChar = "\\n" => [[ CHAR: \n ]]
+EscapeChar = "\\b" => [[ CHAR: \b ]]
+ | "\\f" => [[ CHAR: \f ]]
+ | "\\n" => [[ CHAR: \n ]]
| "\\r" => [[ CHAR: \r ]]
| "\\t" => [[ CHAR: \t ]]
- | "\\\"" => [[ CHAR: \" ]]
+ | "\\v" => [[ CHAR: \v ]]
+ | "\\'" => [[ CHAR: ' ]]
+ | "\\\"" => [[ CHAR: " ]]
+ | "\\\\" => [[ CHAR: \\ ]]
StringChars1 = (EscapeChar | !('"""') .)* => [[ >string ]]
StringChars2 = (EscapeChar | !('"') .)* => [[ >string ]]
StringChars3 = (EscapeChar | !("'") .)* => [[ >string ]]