diff options
author | tma <tma@edf5b092-35ff-0310-97b2-ce42778d08ea> | 2005-10-04 15:18:22 +0000 |
---|---|---|
committer | tma <tma@edf5b092-35ff-0310-97b2-ce42778d08ea> | 2005-10-04 15:18:22 +0000 |
commit | 1c7864f6d4380797b07c7149111066b61f69f689 (patch) | |
tree | 59057c26f97fdf846b0193e852eeea7e707a9e20 /lcc/cpp/nlist.c | |
parent | 91db83f0cc7c564ff6c853eeb4e790732dae81cd (diff) | |
download | ioquake3-aero-1c7864f6d4380797b07c7149111066b61f69f689.tar.gz ioquake3-aero-1c7864f6d4380797b07c7149111066b61f69f689.zip |
* Moved lcc and q3asm into code/tools
git-svn-id: svn://svn.icculus.org/quake3/trunk@134 edf5b092-35ff-0310-97b2-ce42778d08ea
Diffstat (limited to 'lcc/cpp/nlist.c')
-rw-r--r-- | lcc/cpp/nlist.c | 104 |
1 files changed, 0 insertions, 104 deletions
diff --git a/lcc/cpp/nlist.c b/lcc/cpp/nlist.c deleted file mode 100644 index d857dfa..0000000 --- a/lcc/cpp/nlist.c +++ /dev/null @@ -1,104 +0,0 @@ -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include "cpp.h" - -extern int getopt(int, char *const *, const char *); -extern char *optarg; -extern int optind; -extern int verbose; -extern int Cplusplus; -Nlist *kwdefined; -char wd[128]; - -#define NLSIZE 128 - -static Nlist *nlist[NLSIZE]; - -struct kwtab { - char *kw; - int val; - int flag; -} kwtab[] = { - {"if", KIF, ISKW}, - {"ifdef", KIFDEF, ISKW}, - {"ifndef", KIFNDEF, ISKW}, - {"elif", KELIF, ISKW}, - {"else", KELSE, ISKW}, - {"endif", KENDIF, ISKW}, - {"include", KINCLUDE, ISKW}, - {"define", KDEFINE, ISKW}, - {"undef", KUNDEF, ISKW}, - {"line", KLINE, ISKW}, - {"error", KERROR, ISKW}, - {"pragma", KPRAGMA, ISKW}, - {"eval", KEVAL, ISKW}, - {"defined", KDEFINED, ISDEFINED+ISUNCHANGE}, - {"__LINE__", KLINENO, ISMAC+ISUNCHANGE}, - {"__FILE__", KFILE, ISMAC+ISUNCHANGE}, - {"__DATE__", KDATE, ISMAC+ISUNCHANGE}, - {"__TIME__", KTIME, ISMAC+ISUNCHANGE}, - {"__STDC__", KSTDC, ISUNCHANGE}, - {NULL} -}; - -unsigned long namebit[077+1]; -Nlist *np; - -void -setup_kwtab(void) -{ - struct kwtab *kp; - Nlist *np; - Token t; - static Token deftoken[1] = {{ NAME, 0, 0, 0, 7, (uchar*)"defined" }}; - static Tokenrow deftr = { deftoken, deftoken, deftoken+1, 1 }; - - for (kp=kwtab; kp->kw; kp++) { - t.t = (uchar*)kp->kw; - t.len = strlen(kp->kw); - np = lookup(&t, 1); - np->flag = kp->flag; - np->val = kp->val; - if (np->val == KDEFINED) { - kwdefined = np; - np->val = NAME; - np->vp = &deftr; - np->ap = 0; - } - } -} - -Nlist * -lookup(Token *tp, int install) -{ - unsigned int h; - Nlist *np; - uchar *cp, *cpe; - - h = 0; - for (cp=tp->t, cpe=cp+tp->len; cp<cpe; ) - h += *cp++; - h %= NLSIZE; - np = nlist[h]; - while (np) { - if (*tp->t==*np->name && tp->len==np->len - && strncmp((char*)tp->t, (char*)np->name, tp->len)==0) - return np; - np = np->next; - } - if (install) { - np = new(Nlist); - np->vp = NULL; - np->ap = NULL; - np->flag = 0; - np->val = 0; - np->len = tp->len; - np->name = newstring(tp->t, tp->len, 0); - np->next = nlist[h]; - nlist[h] = np; - quickset(tp->t[0], tp->len>1? tp->t[1]:0); - return np; - } - return NULL; -} |