Author: pmichaud
Date: Fri Mar 28 11:13:40 2008
New Revision: 26595

Modified:
   trunk/compilers/json/JSON/grammar.pg
   trunk/config/gen/makefiles/json.in

Log:
[json]:
* Convert JSON to use Perl6Regex and Perl6Grammar instead of the
  deprecated P6Regex and pgc tools (RT#48028).


Modified: trunk/compilers/json/JSON/grammar.pg
==============================================================================
--- trunk/compilers/json/JSON/grammar.pg        (original)
+++ trunk/compilers/json/JSON/grammar.pg        Fri Mar 28 11:13:40 2008
@@ -2,13 +2,13 @@
 
 grammar JSON;
 
-rule object { \{ <members>?  \} }
-rule array  { \[ \] | \[ <elements> \] }
-rule string { "<char>*" }
+rule object { '{' <members>?  '}' }
+rule array  { '[' ']' | '[' <elements> ']' }
+rule string { \"<char>*\" }
 
-rule  members { <string> \: <thing> [, <string> \: <thing> ]* }
+rule  members { <string> ':' <thing> [',' <string> ':' <thing> ]* }
 
-rule  elements { <thing> [, <thing> ]* }
+rule  elements { <thing> [',' <thing> ]* }
 
 # XXX This should be called 'value', but...
 # RT#40069: [PGE] "value" can't be used as a rule name.
@@ -32,10 +32,10 @@
 }
 
 token number {
- <?ws>
- -?
+ <.ws>
+ '-'?
  [ <[1..9]> <[0..9]>+ | <[0..9]> ]
- [ \. <[0..9]>+ ]?
+ [ '.' <[0..9]>+ ]?
  [ <[Ee]> <[+\-]>? <[0..9]>+ ]?
- <?ws>
+ <.ws>
 }

Modified: trunk/config/gen/makefiles/json.in
==============================================================================
--- trunk/config/gen/makefiles/json.in  (original)
+++ trunk/config/gen/makefiles/json.in  Fri Mar 28 11:13:40 2008
@@ -42,7 +42,7 @@
        $(PARROT) --output=JSON/grammar.pbc JSON/grammar.pir
 
 JSON/grammar.pir : JSON/grammar.pg
-       $(PARROT) $(PGE_DIR)/pgc.pir --output=JSON/grammar.pir JSON/grammar.pg
+       $(PARROT) $(TOOL_DIR)/runtime/parrot/library/PGE/Perl6Grammar.pbc 
--output=JSON/grammar.pir JSON/grammar.pg
 
 JSON/pge2pir.pbc : JSON/pge2pir.pir
        $(PARROT) --output=JSON/pge2pir.pbc JSON/pge2pir.pir

Reply via email to