diff --git a/Makefile b/Makefile index 95fcc79..0c0365c 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,7 @@ .POSIX: CC = tcc -CFLAGS = -Wall -Wunsupported -Wwrite-strings +CFLAGS = -Wall -Wunsupported -Wwrite-strings -b -g OBJ = main.o token.o all: woody diff --git a/main.c b/main.c index f192eea..1ce4599 100644 --- a/main.c +++ b/main.c @@ -1,8 +1,41 @@ +#include #include +#include +#include "token.h" + +/* placeholder testing function before I setup test suite */ +static void +test(void) +{ + struct tokenstate ts; + ts.tokensz = 8; + ts.tokens = malloc(8 * sizeof(struct token *)); + if (ts.tokens == NULL) { + perror("main test"); + exit(EXIT_FAILURE); + } + ts.tokens[0] = malloc(1024 * sizeof(struct token)); + if (ts.tokens[0] == NULL) { + perror("main test"); + exit(EXIT_FAILURE); + } + + ts.filename = ""; + ts.fh = stdin; + + ts.tokenblk = 0; + ts.tokenind = 0; + + ts.col = 0; + ts.line = 1; + ts.pos = 0; + + tokenize(&ts); +} int main(int argc, char *argv[]) { - puts("hello, world"); + test(); return 0; } diff --git a/token.c b/token.c index bf3760a..93ba7db 100644 --- a/token.c +++ b/token.c @@ -150,8 +150,8 @@ tokenizevarkw(struct token *token, struct tokenstate *ts) } /* read the var/kw */ - for (int i = 0; i < 32 && isalpha(ts->look) - && isdigit(ts->look); i++) { + for (i = 0; i < 32 && (isalpha(ts->look) + || isdigit(ts->look)); i++) { buf[i] = ts->look; getch(ts); }