unoidl2.h (2188B)
1 /* 2 This file is part of unoidl2. 3 4 unoidl2 is free software: you can redistribute it and/or modify 5 it under the terms of the GNU General Public License as published by 6 the Free Software Foundation, either version 3 of the License, or 7 (at your option) any later version. 8 9 unoidl2 is distributed in the hope that it will be useful, 10 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 GNU General Public License for more details. 13 14 You should have received a copy of the GNU General Public License 15 along with unoidl2. If not, see <http://www.gnu.org/licenses/>. 16 */ 17 18 struct any; 19 typedef struct any *Any; 20 21 enum yytokentype; 22 typedef enum yytokentype Kind; 23 24 typedef Any (*Fn1)(Any a); 25 typedef Any (*Fn2)(Any a, Any b); 26 27 Any set(Any x, Any v); 28 Any con(Any x, Any v); 29 Any cons(Any car, Any cdr); 30 Any mk(Kind kind, char *token); 31 Any mkinum(int n); 32 int consp(Any x); 33 Any car(Any x); 34 Any cdr(Any x); 35 Kind kind(Any x); 36 Any sym1(Any x); 37 int inum(Any x); 38 Any cons3(Any a, Any b, Any c); 39 Any cons4(Any a, Any b, Any c, Any d); 40 Any cons5(Any a, Any b, Any c, Any d, Any e); 41 Any cons6(Any a, Any b, Any c, Any d, Any e, Any f); 42 Any cons7(Any a, Any b, Any c, Any d, Any e, Any f, Any g); 43 Any list1(Any a); 44 Any list2(Any a, Any b); 45 Any list3(Any a, Any b, Any c); 46 Any list4(Any a, Any b, Any c, Any d); 47 Any list5(Any a, Any b, Any c, Any d, Any e); 48 Any list6(Any a, Any b, Any c, Any d, Any e, Any f); 49 Any nconc2(Any a, Any b); 50 Any cadr(Any x); 51 Any cddr(Any x); 52 Any caddr(Any x); 53 Any cdddr(Any x); 54 Any cadddr(Any x); 55 Any cddddr(Any x); 56 Any caddddr(Any x); 57 Any cdddddr(Any x); 58 Any caar(Any x); 59 int equal_(Any x, Any y); 60 Any equal(Any x, Any y); 61 void print_sym2_custom(Any x, char *sep); 62 Any print(Any x); 63 Any some(Fn1 test, Any lst); 64 Any mapc(Fn1 fn, Any x); 65 Any mapcx(void *env, Any (*fn)(void *env, Any e), Any x); 66 Any find(Any elt, Any lst, Fn2 cmp, Fn1 key); 67 Any reverse(Any x, Any a); 68 Any id(Any x); 69 Any intern2rel(Any k, Any p); 70 Any intern2abs(Any x); 71 Any get2(Any x); 72 Any sym2p(Any x); 73 Any sym2k(Any x); 74 extern Any subst2_x; 75 Any build2(Any x); 76 extern Fn1 walk2_fn; 77 Any walk2(Any x); 78 void init();