1.1 --- a/generator.py Sat Dec 03 16:26:03 2016 +0100
1.2 +++ b/generator.py Sat Dec 03 16:44:55 2016 +0100
1.3 @@ -55,9 +55,11 @@
1.4 # NOTE: These must be synchronised with the library.
1.5
1.6 function_type = "__builtins__.core.function"
1.7 + memory_error_type = "__builtins__.core.MemoryError"
1.8 + overflow_error_type = "__builtins__.core.OverflowError"
1.9 type_error_type = "__builtins__.core.TypeError"
1.10 - memory_error_type = "__builtins__.core.MemoryError"
1.11 type_type = "__builtins__.core.type"
1.12 + zero_division_error_type = "__builtins__.core.ZeroDivisionError"
1.13
1.14 predefined_constant_members = (
1.15 ("__builtins__.boolean", "False"),
1.16 @@ -357,8 +359,10 @@
1.17
1.18 #define __FUNCTION_TYPE %s
1.19 #define __FUNCTION_INSTANCE_SIZE %s
1.20 +#define __MEMORY_ERROR_INSTANTIATOR %s
1.21 +#define __OVERFLOW_ERROR_INSTANTIATOR %s
1.22 #define __TYPE_ERROR_INSTANTIATOR %s
1.23 -#define __MEMORY_ERROR_INSTANTIATOR %s
1.24 +#define __ZERO_DIVISION_ERROR_INSTANTIATOR %s
1.25 #define __TYPE_CLASS_TYPE %s
1.26 #define __TYPE_CLASS_POS %s
1.27 #define __TYPE_CLASS_CODE %s
1.28 @@ -366,8 +370,10 @@
1.29 #endif /* __PROGTYPES_H__ */""" % (
1.30 encode_path(self.function_type),
1.31 encode_size("<instance>", self.function_type),
1.32 + encode_instantiator_pointer(self.memory_error_type),
1.33 + encode_instantiator_pointer(self.overflow_error_type),
1.34 encode_instantiator_pointer(self.type_error_type),
1.35 - encode_instantiator_pointer(self.memory_error_type),
1.36 + encode_instantiator_pointer(self.zero_division_error_type),
1.37 encode_path(self.type_type),
1.38 encode_symbol("pos", encode_type_attribute(self.type_type)),
1.39 encode_symbol("code", encode_type_attribute(self.type_type)),