Hi,
On Tuesday 30 March 2004 18:57, Dan Sugalski wrote:
> I just checked in stub code for the PMCArray and StringArray classes.
I've attached a patch for the data dumper.
> Ultimately they should be auto-resizeable, PMC or String only arrays,
> though right now they aren't. (They wrap PerlArray right now, so
> they're far from efficient, but at least they're in to be used)
> Integer and Float arrays should probably go in, and we should add in
> the non-auto-resizing versions as well.
>
> Abusing these so they aren't just virtual wrappers, and are actually
> efficient (as they can all be done as a plain C array of pointers or
> values--they don't have to be, and probably shouldn't be, sparse)
> would certainly be a Good Thing.
The EBNF Parser is now using PMCArrays.
jens
Index: library/Data/Dumper/Default.imc
===================================================================
RCS file: /cvs/public/parrot/library/Data/Dumper/Default.imc,v
retrieving revision 1.1
diff -u -w -r1.1 Default.imc
--- library/Data/Dumper/Default.imc 14 Mar 2004 17:52:30 -0000 1.1
+++ library/Data/Dumper/Default.imc 30 Mar 2004 17:59:12 -0000
@@ -248,9 +248,31 @@
.pcc_end_return
.end
+=item style."pmcPMCArray"( name, array )
+
+Dumps an (PMC) Array.
+
+=cut
+
+.sub pmcPMCArray
+ S0 = "pmcPerlArray"
+ callmethod
+.end
+
+=item style."pmcStringArray"( name, array )
+
+Dumps an (string) Array.
+
+=cut
+
+.sub pmcStringArray
+ S0 = "pmcPerlArray"
+ callmethod
+.end
+
=item style."pmcPerlArray"( name, array )
-Dumps an Array PMC.
+Dumps an (Perl) Array.
=cut
@@ -267,7 +289,9 @@
(subindent, indent) = self."newIndent"()
- print "PerlArray (size:"
+ typeof name2, array
+ print name2
+ print " (size:"
print array
print ") ["