Lichen

templates/progops.h

319:e39bf1c565b8
2016-12-05 Paul Boddie Changed multiple assignment detection to distinguish between different objects of the same kind.
     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);