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