From fc7baebacbcedc177b16c5377991e156e9f62d26 Mon Sep 17 00:00:00 2001 From: Chris Double Date: Thu, 19 Jun 2008 00:51:47 +1200 Subject: [PATCH] Fix handling of _ and $ in Javascript names --- extra/peg/javascript/tokenizer/tokenizer.factor | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/extra/peg/javascript/tokenizer/tokenizer.factor b/extra/peg/javascript/tokenizer/tokenizer.factor index d62bb9395b..420abff442 100644 --- a/extra/peg/javascript/tokenizer/tokenizer.factor +++ b/extra/peg/javascript/tokenizer/tokenizer.factor @@ -6,6 +6,8 @@ IN: peg.javascript.tokenizer #! Grammar for JavaScript. Based on OMeta-JS example from: #! http://jarrett.cs.ucla.edu/ometa-js/#JavaScript_Compiler +USE: prettyprint + EBNF: tokenizer Letter = [a-zA-Z] Digit = [0-9] @@ -14,7 +16,7 @@ SingleLineComment = "//" (!("\n") .)* "\n" => [[ ignore ]] MultiLineComment = "/*" (!("*/") .)* "*/" => [[ ignore ]] Space = " " | "\t" | "\r" | "\n" | SingleLineComment | MultiLineComment Spaces = Space* => [[ ignore ]] -NameFirst = Letter | "$" | "_" +NameFirst = Letter | "$" => [[ CHAR: $ ]] | "_" => [[ CHAR: _ ]] NameRest = NameFirst | Digit iName = NameFirst NameRest* => [[ first2 swap prefix >string ]] Keyword = ("break"