Author: particle
Date: Tue Oct 25 11:06:42 2005
New Revision: 9562

Modified:
   trunk/runtime/parrot/library/JSON/Parser.pir
Log:
JSON/Parser.pir: backslashes need doubling in heredocs

Modified: trunk/runtime/parrot/library/JSON/Parser.pir
==============================================================================
--- trunk/runtime/parrot/library/JSON/Parser.pir        (original)
+++ trunk/runtime/parrot/library/JSON/Parser.pir        Tue Oct 25 11:06:42 2005
@@ -30,21 +30,19 @@ in order to enable the conversion of dat
 

        json_grammar = <<"JSON_GRAMMAR"

 grammar JSON;

-rule object { \{ <members>? \} }

-rule members { <string> \: <value> [ \, <string> \: <value> ]* }

-rule array { \[ <elements>? \] }

-rule elements { <value> [ \, <value> ]* }

+rule object { \\{ <members>? \\} }

+rule members { <string> \\: <value> [ \\, <string> \\: <value> ]* }

+rule array { \\[ <elements>? \\] }

+rule elements { <value> [ \\, <value> ]* }

 rule value { <string> | <number> | <object> | <array> | true | false | null }

-rule string { \" <char>* \" }

-rule char { \w | \" | \\ | \/ | \010 | \\u \x{4} }

+rule string { \\" <char>* \\" }

+rule char { \\w | \\" | \\ | \\/ | \\010 | \\014 | <cntrl> | \\u <xdigit>**{4} 
}

 rule number { <int> <frac>? <exp>? } 

-rule int { \-? \d+ }

-rule frac { \. \d+ }

-rule exp { <e> \d+ }

-rule e { e | e\+ | e\- | E | E\+ | E\- }

+rule int { \\-? \d+ }

+rule frac { \\. \d+ }

+rule exp { <e> \\d+ }

+rule e :i { e <[\\-+]>? }

 JSON_GRAMMAR

-# this rule isn't working properly -----v------v----v----v

-#rule char { \w | \" | \\ | \/ | \010 | \014 | \n | \r | \t | \\u \x{4} }

 

        rules = p6rule_compile( json_grammar )

        store_global 'rules', rules

Reply via email to