X-Git-Url: http://git.harvie.cz/?a=blobdiff_plain;f=cll1.h;h=8cd24a46ffd132695bb9a640f730ab4d97d07f26;hb=8a93c4ed658e8e9cb807036d8b0f27f10ea5e34f;hp=8d680b3ff3c5919bc1615ff6fbae725a9392aad8;hpb=9b936bfc394f6ae383128008202dcb82851085d4;p=svn%2FCll1h%2F.git diff --git a/cll1.h b/cll1.h index 8d680b3..8cd24a4 100644 --- a/cll1.h +++ b/cll1.h @@ -45,12 +45,23 @@ #define or || #define TRUE 1 #define FALSE 0 +#define bool_str(I) (I?"TRUE":"FALSE") +#define boolean int +#define mem struct +#define construct struct /* ------------------------------------------------------------------- */ /* 2. C<<1 basic data types - updated 2008-01-07 by xCh. */ /* ------------------------------------------------------------------- */ +#define Create_str(ID,INIT) char *ID=INIT +#define Define_str(ID) char *ID=NULL +#define Create_mem(ID,TYPE) struct TYPE *ID=get_mem(TYPE) +#define Create_mem_in_context(ID,TYPE,CONTEXT) struct TYPE *ID=get_mem_in_context(TYPE,CONTEXT) +#define Define_mem(ID,TYPE) struct TYPE *ID=NULL +#define Define_mems(ID1,I2,TYPE) Define_mem(ID1,TYPE);Define_mem(ID2,TYPE) -#define Create_str(ID,STRATOM) char *ID=get_str(STRATOM); -#define Create_mem() +/* .... well.. ehm.. not very useful... :-) */ +#define Create_var(ID,TYPE,INIT) TYPE ID=INIT +#define Define_var(ID,TYPE) TYPE ID /* ------------------------------------------------------------------- */ #define list(T) struct T *_next #define tree(T) struct T *_next;struct T *_seek @@ -68,7 +79,9 @@ #define for_range(VAR,FROM,TO) for( VAR=FROM ; FROM<=TO?VAR<=TO:VAR>=TO ; FROM<=TO?VAR++:VAR--) #define for_each(A,B) for(A=B; A; A=A->_next) #define for_search(A,B,C) for_each(A,B) if(C) -/* to do: #define for_file_lines(STR,F) _NEW_F for() */ +#define for_file_lines(STR,F) /* _NEW_F for() */ +#define for_ints(VAR,...) _NEW_I while(_iterate_ints(&VAR,_I,__VA_LIST) ) +#define for_strs(VAR,...) _NEW_S /* obsolete #define every(A,B) for( A=B; A; A=A->_next) */ /* obsolete #define search(A,B,C) every(A,B) if(C) */ /* obsolete #define find(A,B,C) search(A,B,C) break; if(A) */ @@ -79,10 +92,10 @@ /* ------------------------------------------------------------------- */ /* 5. C<<1 argument handling, updated 2008-01-16 by xCh. */ /* ------------------------------------------------------------------- */ -#define for_arguments _NEW_I if(argc>1) for(_I=1;_I1) for(_I=1;_I