6 #define NRN_BUFSIZE 8192
15 #define ITEM0 (Item*) 0
18 #define ITERATE(itm, lst) for (itm = (lst)->next; itm != (lst); itm = itm->next)
63 #define SYM0 (Symbol*) 0
71 extern char*
_STR(
Item*
q,
char* file,
int line);
75 #define SYM(q) _SYM(q, (char*) __FILE__, __LINE__)
76 #define STR(q) _STR(q, (char*) __FILE__, __LINE__)
77 #define ITM(q) _ITM(q, (char*) __FILE__, __LINE__)
78 #define ITMA(q) _ITMA(q, (char*) __FILE__, __LINE__)
79 #define LST(q) _LST(q, (char*) __FILE__, __LINE__)
81 #define SYM(q) ((Symbol*) ((q)->element))
82 #define STR(q) ((char*) ((q)->element))
83 #define ITM(q) ((Item*) ((q)->element))
84 #define ITMA(q) ((Item**) ((q)->element))
85 #define LST(q) ((List*) ((q)->element))
103 #define modlunitCONST 02L
110 #define NEGATIVE 0400L
117 #define DISCF 010000L
119 #define EXTDEF 0100000L
120 #define KINF 0200000L
121 #define LOCL 0400000L
122 #define CNVFAC 01000000L
123 #define UFACTOR 02000000L
124 #define RANGEOBJ 04000000L
126 #define EXPLICIT_DECL 01
128 extern char*
emalloc(
unsigned);
129 extern char*
stralloc(
const char*,
char*);
184 #define assert(arg) \
192 #define Fprintf ilint = fprintf
193 #define Fclose ilint = fclose
194 #define Fflush ilint = fflush
195 #define Printf ilint = printf
196 #define Strcpy clint = strcpy
197 #define Strcat clint = strcat
198 #define Insertstr qlint = insertstr
199 #define Insertsym qlint = insertsym
200 #define Linsertsym qlint = linsertsym
201 #define Linsertstr qlint = linsertstr
202 #define Lappendsym qlint = lappendsym
203 #define Lappendstr qlint = lappendstr
204 #define Lappenditem qlint = lappenditem
205 #define IGNORE(arg) \
211 #define Fprintf fprintf
212 #define Fclose fclose
213 #define Fflush fflush
214 #define Printf printf
215 #define Strcpy strcpy
216 #define Strcat strcat
217 #define Insertstr insertstr
218 #define Insertsym insertsym
219 #define Linsertsym linsertsym
220 #define Linsertstr linsertstr
221 #define Lappendsym lappendsym
222 #define Lappendstr lappendstr
223 #define Lappenditem lappenditem
224 #define IGNORE(arg) arg
char * stralloc(const char *, char *)
Item * linsertstr(List *list, char *str)
List * _LST(Item *q, char *file, int line)
Item * lappendsym(List *list, Symbol *sym)
Item * insertsym(List *list, Symbol *sym)
Item * putintoken(const char *s, short type, short)
Item * lappenditem(List *list, Item *item)
Item * lappendstr(List *list, const char *str)
List * makelist(int narg,...)
Item * _ITM(Item *q, char *file, int line)
char finname[NRN_BUFSIZE]
char * _STR(Item *q, char *file, int line)
Item * insertstr(Item *item, const char *str)
Symbol * _SYM(Item *, char *, int)
List * itemarray(int narg,...)
Item ** _ITMA(Item *q, char *file, int line)
Item * prev_parstok(Item *)
const char * decode_units(Symbol *)
Item * next_parstok(Item *)
Symbol * lookup(const char *)
Item * linsertsym(List *list, Symbol *sym)
Symbol * ifnew_constinstall()
Symbol * install(const char *, int)
void SprintfAsrt(char(&buf)[N], const char *fmt, Args &&... args)
assert if the Sprintf format data does not fit into buf
int Sprintf(char(&buf)[N], const char *fmt, Args &&... args)
Redirect sprintf to snprintf if the buffer size can be deduced.