1 /* Program type definitions. */ 2 3 #include <stdlib.h> 4 #include "types.h" 5 6 /* Common operations. */ 7 8 __attr __new(const __table *table, __ref cls, size_t size); 9 10 __fragment *__new_fragment(unsigned int n); 11 12 void __newdata_sequence(__attr args[], unsigned int number); 13 14 void __newdata_mapping(__attr args[], unsigned int number); 15 16 /* Exception raising. */ 17 18 void __raise_memory_error(); 19 void __raise_overflow_error(); 20 void __raise_zero_division_error(); 21 void __raise_type_error(); 22 __attr __ensure_instance(__attr arg); 23 24 /* Generic invocation operations. */ 25 26 __attr __invoke(__attr callable, int always_callable, 27 unsigned int nkwargs, __param kwcodes[], __attr kwargs[], 28 unsigned int nargs, __attr args[]); 29 30 /* Error routines. */ 31 32 __attr __unbound_method(__attr args[]); 33 34 /* Generic operations depending on specific program details. */ 35 36 void __SETDEFAULT(__ref obj, int pos, __attr value); 37 38 __attr __GETDEFAULT(__ref obj, int pos); 39 40 int __BOOL(__attr attr);