1.1 --- a/rsvp.py Sun Jun 07 22:55:59 2009 +0200
1.2 +++ b/rsvp.py Mon Jun 08 00:49:37 2009 +0200
1.3 @@ -940,8 +940,11 @@
1.4 pass
1.5
1.6 native_functions = {
1.7 +
1.8 + # Native method implementations:
1.9 +
1.10 "__builtins__.int.__add__" : builtins_int_add,
1.11 - "__builtins__.int.__radd__" : builtins_int_add, # NOTE: To be made distinct.
1.12 + "__builtins__.int.__radd__" : builtins_int_add, # NOTE: To be made distinct.
1.13 "__builtins__.int.__iadd__" : builtins_int_add,
1.14 "__builtins__.int.__bool__" : builtins_int_bool,
1.15 "__builtins__.int.__neg__" : builtins_int_neg,
1.16 @@ -952,10 +955,13 @@
1.17 "__builtins__.int.__eq__" : builtins_int_eq,
1.18 "__builtins__.int.__ne__" : builtins_int_ne,
1.19 "__builtins__.bool.__bool__" : builtins_bool_bool,
1.20 + "__builtins__.list.__getitem__" : builtins_list_getitem,
1.21 + "__builtins__.object.__init__" : builtins_object_init, # NOTE: A no-operation.
1.22 + "__builtins__.BaseException.__init__" : builtins_object_init, # NOTE: To be made distinct, potentially in the builtins module.
1.23 +
1.24 + # Native instantiators:
1.25 +
1.26 "__builtins__.list" : builtins_list_new,
1.27 - "__builtins__.list.__getitem__" : builtins_list_getitem,
1.28 - "__builtins__.object.__init__" : builtins_object_init,
1.29 - "__builtins__.BaseException.__init__" : builtins_object_init, # NOTE: To be made distinct.
1.30 }
1.31
1.32 # Convenience functions.
1.33 @@ -976,6 +982,7 @@
1.34 false_constant = importer.get_constant(False).location
1.35 rm = RSVPMachine(rc, objlist, paramlist, true_constant, false_constant, debug=debug)
1.36 rm.pc = program.code_location
1.37 + print "Returning program occupying %d locations." % len(rm.memory)
1.38 return rm
1.39
1.40 # vim: tabstop=4 expandtab shiftwidth=4