Author: coke
Date: Sun Nov 13 20:02:46 2005
New Revision: 9963

Modified:
   trunk/languages/LANGUAGES.STATUS
   trunk/languages/regex/01_basic.imc
   trunk/languages/regex/02_date.imc
   trunk/languages/regex/lib/Regex/Driver.pm
   trunk/languages/regex/regex-compiler.imc
Log:
Fix the regex compiler to work with parrot 0.3.1



Modified: trunk/languages/LANGUAGES.STATUS
==============================================================================
--- trunk/languages/LANGUAGES.STATUS    (original)
+++ trunk/languages/LANGUAGES.STATUS    Sun Nov 13 20:02:46 2005
@@ -686,7 +686,7 @@ Working but fairly minimal
 
 =item Last verified with parrot version
 
-Unknown
+0.3.1
 
 =item Location
 

Modified: trunk/languages/regex/01_basic.imc
==============================================================================
--- trunk/languages/regex/01_basic.imc  (original)
+++ trunk/languages/regex/01_basic.imc  Sun Nov 13 20:02:46 2005
@@ -4,7 +4,7 @@
 #  parrot -o regex-compiler.pbc regex-compiler.imc
 #
 
-.sub main @MAIN
+.sub main :main
         .local pmc match
         .local pmc compile_regex
         .local pmc regex1

Modified: trunk/languages/regex/02_date.imc
==============================================================================
--- trunk/languages/regex/02_date.imc   (original)
+++ trunk/languages/regex/02_date.imc   Sun Nov 13 20:02:46 2005
@@ -5,7 +5,7 @@
 #  parrot -o regex-compiler.pbc regex-compiler.imc
 #
 
-.sub main @MAIN
+.sub main :main
         .local pmc match
         .local pmc compile_regex
         .local pmc regex1

Modified: trunk/languages/regex/lib/Regex/Driver.pm
==============================================================================
--- trunk/languages/regex/lib/Regex/Driver.pm   (original)
+++ trunk/languages/regex/lib/Regex/Driver.pm   Sun Nov 13 20:02:46 2005
@@ -123,8 +123,7 @@ sub output_header {
     .local int matched
     .local pmc stack
     stack = new PerlArray
-    regex_sub = newsub _default
-    result = regex_sub(1, input_string, 0, stack)
+    result = _default(1, input_string, 0, stack)
     matched = result["!RESULT"]
     if matched goto printResults
 

Modified: trunk/languages/regex/regex-compiler.imc
==============================================================================
--- trunk/languages/regex/regex-compiler.imc    (original)
+++ trunk/languages/regex/regex-compiler.imc    Sun Nov 13 20:02:46 2005
@@ -1,14 +1,11 @@
-.sub __init_compiler @LOAD
+.sub __init_compiler :load
   loadlib $P0, "match_group"
-  newsub $P0, .Sub, _compile_regex
-  compreg "regex", $P0
-  .pcc_begin_return
-  .pcc_end_return
+  .const .Sub $P1 =  "_compile_regex"
+  compreg "regex", $P1
 .end
 
 .sub _compile_regex
-  .local string code
-  code = S5
+  .param string code
 
   .local int uniq
   .local string imcfile
@@ -30,7 +27,7 @@
   $I0 = spawnw cmdline
   unless $I0 goto imc_to_pbc
   print "Failed to compile to .imc file.\n"
-  invoke P1
+#  invoke P1
 
 imc_to_pbc:
   pir_data = _readfile(imcfile)
@@ -42,9 +39,7 @@ imc_to_pbc:
 #  $P1 = compile $P0, imcfile
 
   $P1 = find_global "_regex"
-  .pcc_begin_return
-  .return $P1
-  .pcc_end_return
+  .return($P1)
 .end
 
 .sub _readfile
@@ -59,7 +54,5 @@ loop:   buffer = read file, 65536
         le $I0, 0, done
         result = concat buffer
         goto loop
-done:   .pcc_begin_return
-        .return result
-        .pcc_end_return
+done:   .return(result)
 .end

Reply via email to