// cppawk: C preprocessor wrapper around awk // Kaz Kylheku // // BSD-2 License // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are met: // // 1. Redistributions of source code must retain the above copyright notice, // this list of conditions and the following disclaimer. // // 2. Redistributions in binary form must reproduce the above copyright notice, // this list of conditions and the following disclaimer in the documentation // and/or other materials provided with the distribution. // // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE // ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE // LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE // POSSIBILITY OF SUCH DAMAGE. #ifndef __CPPAWK_CONS_H #define __CPPAWK_CONS_H #ifndef __CPPAWK_CONS_PRIV_H #include "cons-priv.h" #endif #define nil __nil #define prog(...) __prog(__VA_ARGS__) #define progn(...) __progn(__VA_ARGS__) #define or(...) __or(__VA_ARGS__) #define and(...) __and(__VA_ARGS__) #define push(item, list) __push(item, list) #define pop(list) __pop(list) #define dolist(item, list) __dolist(item, list) #define dolisti(item, index, list) __dolisti(item, index, list) #define list_begin() __list_begin() #define list_add(stk, item) __list_add(stk, item) #define list_end(stk) __list_end(stk) #define bags(...) __bags(__VA_ARGS__) #define bag(bag, expr) __bag(bag, expr) #define consp __consp #define atom __atom #define null __null #define endp __endp #define false __false #define true __true #define numberp __numberp #define stringp __stringp #define symbolp __symbolp #define box __box #define unbox __unbox #define box_str __box_str #define box_sym __box_sym #define cons __cons #define car __car #define cdr __cdr #define sexp __sexp #define reverse __reverse #define atol __atol #define ftol __ftol #define ltof __ltof #define keys __keys #define equal __equal #define equalize __equalize #define list __list #define li __li #define listar __listar #define append __append #define member __member #define position __position #define nth __nth #define nthcdr __nthcdr #define iota __iota #define uniq __uniq #define mapcar __mapcar #define mappend __mappend #endif