RegExp fix for javascript tokenizer
parent
acb6d3a312
commit
4394cb08f6
|
@ -21,3 +21,7 @@ IN: peg.javascript.tokenizer.tests
|
|||
} [
|
||||
"123; 'hello'; foo(x);" tokenize-javascript ast>>
|
||||
] unit-test
|
||||
|
||||
{ V{ T{ ast-regexp f "<(w+)[^>]*?)/>" "g" } } } [
|
||||
"/<(\\w+)[^>]*?)\\/>/g" tokenize-javascript ast>>
|
||||
] unit-test
|
|
@ -57,15 +57,15 @@ StringChars3 = (EscapeChar | !("'") .)* => [[ >string ]]
|
|||
Str = '"""' StringChars1:cs '"""' => [[ cs ast-string boa ]]
|
||||
| '"' StringChars2:cs '"' => [[ cs ast-string boa ]]
|
||||
| "'" StringChars3:cs "'" => [[ cs ast-string boa ]]
|
||||
RegExpFlags = NameRest*
|
||||
RegExpFlags = NameRest* => [[ >string ]]
|
||||
NonTerminator = !("\n" | "\r") .
|
||||
BackslashSequence = "\\" NonTerminator
|
||||
BackslashSequence = "\\" NonTerminator => [[ second ]]
|
||||
RegExpFirstChar = !("*" | "\\" | "/") NonTerminator
|
||||
| BackslashSequence
|
||||
RegExpChar = !("\\" | "/") NonTerminator
|
||||
| BackslashSequence
|
||||
RegExpChars = RegExpChar*
|
||||
RegExpBody = RegExpFirstChar RegExpChars
|
||||
RegExpBody = RegExpFirstChar RegExpChars => [[ first2 swap prefix >string ]]
|
||||
RegExp = "/" RegExpBody:b "/" RegExpFlags:fl => [[ b fl ast-regexp boa ]]
|
||||
Special = "(" | ")" | "{" | "}" | "[" | "]" | "," | ";"
|
||||
| "?" | ":" | "!==" | "!=" | "===" | "==" | "=" | ">="
|
||||
|
|
Loading…
Reference in New Issue