cvsuser 04/04/30 01:43:53
Modified: classes pmc2c2.pl
lib/Parrot Vtable.pm
. vtable.tbl
Log:
mmd_vtables 1 - classify vtable.tbl
Revision Changes Path
1.12 +3 -2 parrot/classes/pmc2c2.pl
Index: pmc2c2.pl
===================================================================
RCS file: /cvs/public/parrot/classes/pmc2c2.pl,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -w -r1.11 -r1.12
--- pmc2c2.pl 19 Apr 2004 11:31:35 -0000 1.11
+++ pmc2c2.pl 30 Apr 2004 08:43:46 -0000 1.12
@@ -1,6 +1,6 @@
#! perl -w
# Copyright: 2001-2003 The Perl Foundation. All Rights Reserved.
-# $Id: pmc2c2.pl,v 1.11 2004/04/19 11:31:35 leo Exp $
+# $Id: pmc2c2.pl,v 1.12 2004/04/30 08:43:46 leo Exp $
=head1 NAME
@@ -246,7 +246,8 @@
parameters => $entry->[2],
meth => $entry->[1],
type => $entry->[0],
- section => $entry->[3]
+ section => $entry->[3],
+ mmd => $entry->[4]
});
}
$vt{'has_method'} = \%meth_hash;
1.34 +8 -3 parrot/lib/Parrot/Vtable.pm
Index: Vtable.pm
===================================================================
RCS file: /cvs/public/parrot/lib/Parrot/Vtable.pm,v
retrieving revision 1.33
retrieving revision 1.34
diff -u -w -r1.33 -r1.34
--- Vtable.pm 23 Apr 2004 09:21:01 -0000 1.33
+++ Vtable.pm 30 Apr 2004 08:43:49 -0000 1.34
@@ -1,5 +1,5 @@
# Copyright: 2001-2004 The Perl Foundation. All Rights Reserved.
-# $Id: Vtable.pm,v 1.33 2004/04/23 09:21:01 jrieks Exp $
+# $Id: Vtable.pm,v 1.34 2004/04/30 08:43:49 leo Exp $
=head1 NAME
@@ -77,8 +77,13 @@
if (/^\[(\w+)\]/) {
$section = $1;
}
- elsif (/^\s*($type_re)\s+($ident_re)\s*\(($arglist_re)\)\s*$/) {
- push @{$vtable}, [ $1, $2, $3, $section ];
+ elsif (m/^\s*
+ ($type_re)\s+
+ ($ident_re)\s*
+ \(($arglist_re)\)
+ (?:\s+(MMD_\w+))?\s*$/x) {
+ my $mmd = defined $4 ? $4 : -1;
+ push @{$vtable}, [ $1, $2, $3, $section, $mmd ];
} else {
die "Syntax error at $file line ".$fh->input_line_number()."\n";
}
1.58 +24 -24 parrot/vtable.tbl
Index: vtable.tbl
===================================================================
RCS file: /cvs/public/parrot/vtable.tbl,v
retrieving revision 1.57
retrieving revision 1.58
diff -u -w -r1.57 -r1.58
--- vtable.tbl 20 Apr 2004 07:44:54 -0000 1.57
+++ vtable.tbl 30 Apr 2004 08:43:53 -0000 1.58
@@ -1,4 +1,4 @@
-# $Id: vtable.tbl,v 1.57 2004/04/20 07:44:54 leo Exp $
+# $Id: vtable.tbl,v 1.58 2004/04/30 08:43:53 leo Exp $
# [MAIN] #default section name
void init()
@@ -142,32 +142,32 @@
void splice(PMC* value, INTVAL offset, INTVAL count)
[MATH]
-void add(PMC* value, PMC* dest)
+void add(PMC* value, PMC* dest) MMD_ADD
void add_int(INTVAL value, PMC* dest)
void add_bignum(BIGNUM* value, PMC* dest)
void add_float(FLOATVAL value, PMC* dest)
-void subtract(PMC* value, PMC* dest)
+void subtract(PMC* value, PMC* dest) MMD_SUBTRACT
void subtract_int(INTVAL value, PMC* dest)
void subtract_bignum(BIGNUM* value, PMC* dest)
void subtract_float(FLOATVAL value, PMC* dest)
-void multiply(PMC* value, PMC* dest)
+void multiply(PMC* value, PMC* dest) MMD_MULTIPLY
void multiply_int(INTVAL value, PMC* dest)
void multiply_bignum(BIGNUM* value, PMC* dest)
void multiply_float(FLOATVAL value, PMC* dest)
-void divide(PMC* value, PMC* dest)
+void divide(PMC* value, PMC* dest) MMD_DIVIDE
void divide_int(INTVAL value, PMC* dest)
void divide_bignum(BIGNUM* value, PMC* dest)
void divide_float(FLOATVAL value, PMC* dest)
-void modulus(PMC* value, PMC* dest)
+void modulus(PMC* value, PMC* dest) MMD_MOD
void modulus_int(INTVAL value, PMC* dest)
void modulus_bignum(BIGNUM* value, PMC* dest)
void modulus_float(FLOATVAL value, PMC* dest)
-void cmodulus(PMC* value, PMC* dest)
+void cmodulus(PMC* value, PMC* dest) MMD_CMOD
void cmodulus_int(INTVAL value, PMC* dest)
void cmodulus_bignum(BIGNUM* value, PMC* dest)
void cmodulus_float(FLOATVAL value, PMC* dest)
@@ -175,56 +175,56 @@
void neg(PMC* dest)
[BITWISE]
-void bitwise_or(PMC* value, PMC* dest)
+void bitwise_or(PMC* value, PMC* dest) MMD_BOR
void bitwise_or_int(INTVAL value, PMC* dest)
-void bitwise_and(PMC* value, PMC* dest)
+void bitwise_and(PMC* value, PMC* dest) MMD_BAND
void bitwise_and_int(INTVAL value, PMC* dest)
-void bitwise_xor(PMC* value, PMC* dest)
+void bitwise_xor(PMC* value, PMC* dest) MMD_BXOR
void bitwise_xor_int(INTVAL value, PMC* dest)
-void bitwise_ors(PMC* value, PMC* dest)
+void bitwise_ors(PMC* value, PMC* dest) MMD_SOR
void bitwise_ors_str(STRING* value, PMC* dest)
-void bitwise_ands(PMC* value, PMC* dest)
+void bitwise_ands(PMC* value, PMC* dest) MMD_SAND
void bitwise_ands_str(STRING* value, PMC* dest)
-void bitwise_xors(PMC* value, PMC* dest)
+void bitwise_xors(PMC* value, PMC* dest) MMD_SXOR
void bitwise_xors_str(STRING* value, PMC* dest)
void bitwise_not(PMC* dest)
void bitwise_nots(PMC* dest)
-void bitwise_shl(PMC* value, PMC* dest)
+void bitwise_shl(PMC* value, PMC* dest) MMD_BSL
void bitwise_shl_int(INTVAL value, PMC* dest)
-void bitwise_shr(PMC* value, PMC* dest)
+void bitwise_shr(PMC* value, PMC* dest) MMD_BSR
void bitwise_shr_int(INTVAL value, PMC* dest)
[STRING]
-void concatenate(PMC* value, PMC* dest)
+void concatenate(PMC* value, PMC* dest) MMD_CONCAT
void concatenate_native(STRING* value, PMC* dest)
[CMP]
-INTVAL is_equal(PMC* value)
+INTVAL is_equal(PMC* value) MMD_NUMEQ
INTVAL is_same(PMC* value)
-INTVAL cmp(PMC* value)
-INTVAL cmp_num(PMC* value)
-INTVAL cmp_string(PMC* value)
+INTVAL cmp(PMC* value) MMD_NUMCMP
+INTVAL cmp_num(PMC* value) MMD_NUMCMP
+INTVAL cmp_string(PMC* value) MMD_STRCMP
-void logical_or(PMC* value, PMC* dest)
+void logical_or(PMC* value, PMC* dest) MMD_LOR
-void logical_and(PMC* value, PMC* dest)
+void logical_and(PMC* value, PMC* dest) MMD_LAND
-void logical_xor(PMC* value, PMC* dest)
+void logical_xor(PMC* value, PMC* dest) MMD_LXOR
void logical_not(PMC* dest)
-void repeat(PMC* value, PMC* dest)
+void repeat(PMC* value, PMC* dest) MMD_REPEAT
void repeat_int(INTVAL value, PMC* dest)
[MATH]