# New Ticket Created by  Bernhard Schmalhofer 
# Please include the string:  [perl #52498]
# in the subject line of all future correspondence about this issue. 
# <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=52498 >


Pheme should be converted to using PCT/PAST.pbc, so that PAST-pm can be 
retired,
I have started on that road, but ended up with one remaining test failure.
The failing test case is test 4 of 'quote.t'.

Could somebody with PAST knowledge take a look at the attached patch and 
possible
find out what is wrong or missing?

Regards,
  Bernhard
Index: languages/pheme/lib/pge2past.tg
===================================================================
--- languages/pheme/lib/pge2past.tg	(Revision 26781)
+++ languages/pheme/lib/pge2past.tg	(Arbeitskopie)
@@ -267,7 +267,7 @@
     name  = "'" . name
     name .= "'"
     result.'name'( name )
-    result.'vtype'( '.Undef' )
+    result.'returns'( 'Undef' )
 
     .local pmc children
     children = node.'get_array'()
@@ -493,8 +493,9 @@
     quoted_value .= value
     quoted_value .= "'"
 
+    result.'value'( quoted_value )
     result.'name'( quoted_value )
-    result.'vtype'( '.Undef' )
+    result.'returns'( 'Undef' )
 
     .return( result )
 }
@@ -507,7 +508,8 @@
     value  = node
 
     result.'name'( value )
-    result.'vtype'( '.Undef' )
+    result.'value'( value )
+    result.'returns'( 'Undef' )
 
     .return( result )
 }
Index: languages/pheme/pheme.pir
===================================================================
--- languages/pheme/pheme.pir	(Revision 26781)
+++ languages/pheme/pheme.pir	(Arbeitskopie)
@@ -1,3 +1,5 @@
+# $Id$
+
 =head1 TITLE
 
 pheme.pir - A Pheme compiler.
@@ -7,7 +9,7 @@
 This is the base file for the Pheme compiler.
 
 This file includes the parsing and grammar rules from
-the src/ directory, loads the relevant PGE libraries,
+the lib/ directory, loads the relevant PGE libraries,
 and registers the compiler under the name 'Pheme'.
 
 =head2 Functions
@@ -25,21 +27,19 @@
 .namespace [ 'Pheme::Compiler' ]
 
 .sub '__onload' :load :init
-    load_bytecode 'PGE.pbc'
+    load_bytecode 'PCT.pbc'
     load_bytecode 'PGE/Text.pbc'
-    load_bytecode 'PGE/Util.pbc'
-    load_bytecode 'Parrot/HLLCompiler.pbc'
-    load_bytecode 'PAST-pm.pbc'
 
     $P0 = subclass 'PGE::Match', 'Match'
     $P0 = subclass 'Match',      'Grammar'
     $P0 = subclass 'Grammar',    'Pheme::PGE::Grammar'
 
-    $P0 = new [ 'HLLCompiler' ]
+    $P0 = get_hll_global ['PCT'], 'HLLCompiler'
+    $P1 = $P0.'new'()
 
-    $P0.'language'('Pheme')
-    $P0.'parsegrammar'( 'Pheme::Grammar' )
-    $P0.'astgrammar'(   'Pheme::AST::Grammar' )
+    $P1.'language'('Pheme')
+    $P1.'parsegrammar'( 'Pheme::Grammar' )
+    $P1.'astgrammar'(   'Pheme::AST::Grammar' )
 .end
 
 =item main(args :slurpy)  :main

Reply via email to