2016-10-29 | Paul Boddie | file changeset files shortlog | Fixed attribute access numbering, local name assignments, and the generation of contexts in attributes obtained for static objects. Added return statements at the end of functions, avoiding superfluous statements if any return statement already exists. Introduced initial exception code generation and more reasonable boolean tests. Introduced #undef directives to undefine local names at the end of functions. Introduced more attribute access testing functions, making their results usable. Fixed lone access instruction arguments that are static objects, making them references. |
paul@126 | 1 | /* Program type definitions. */ |
paul@126 | 2 | |
paul@126 | 3 | #include "types.h" |
paul@126 | 4 | |
paul@126 | 5 | /* Common operations. */ |
paul@126 | 6 | |
paul@126 | 7 | __attr __new(const __table *table, __ref cls, int size); |
paul@126 | 8 | __attr __invoke(__attr callable, unsigned int nkwargs, __param kwcodes[], __attr kwargs[], unsigned int nargs, __attr args[]); |
paul@126 | 9 | |
paul@126 | 10 | /* Error routines. */ |
paul@126 | 11 | |
paul@126 | 12 | __attr __unbound_method(__attr args[]); |
paul@126 | 13 | |
paul@126 | 14 | /* Generic operations depending on specific program details. */ |
paul@126 | 15 | |
paul@126 | 16 | void __SETDEFAULT(__ref obj, int pos, __attr value); |
paul@126 | 17 | __attr __GETDEFAULT(__ref obj, int pos); |
paul@144 | 18 | int __BOOL(__attr attr); |