peg.javascript: add some other escapes since we're doing this. :-)
parent
385cf35e7f
commit
29a2a25954
|
@ -25,5 +25,9 @@ IN: peg.javascript.tokenizer.tests
|
|||
] unit-test
|
||||
|
||||
{
|
||||
V{ T{ ast-string { value "abc\"def\"" } } }
|
||||
} [ "\"abc\\\"def\\\"\"" tokenize-javascript ] unit-test
|
||||
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
|
||||
|
|
|
@ -48,10 +48,15 @@ Name = !(Keyword) iName => [[ ast-name boa ]]
|
|||
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 ]]
|
||||
|
|
Loading…
Reference in New Issue