X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=token.c;h=946f5100fa19151dfae3b6b1978704e0441be361;hb=f1ebd6d41f9e1478134040cbbdea24cdb6c411ec;hp=bdb331aff836e5ec261bf563be33e3bbca026ce1;hpb=68a770de4603c696518d3dd2f278985262a1a2a2;p=cparser diff --git a/token.c b/token.c index bdb331a..946f510 100644 --- a/token.c +++ b/token.c @@ -51,13 +51,15 @@ void init_tokens(void) assert(T_##x >= 0 && T_##x < T_LAST_TOKEN); \ symbol = symbol_table_insert(str); \ symbol->ID = T_##x; \ - token_symbols[T_##x] = symbol; \ + if (token_symbols[T_##x] == NULL) \ + token_symbols[T_##x] = symbol; \ } #define TS(x,str,val) \ assert(T_##x >= 0 && T_##x < T_LAST_TOKEN); \ symbol = symbol_table_insert(str); \ - token_symbols[T_##x] = symbol; + if (token_symbols[T_##x] == NULL) \ + token_symbols[T_##x] = symbol; \ #include "tokens.inc" @@ -68,12 +70,14 @@ void init_tokens(void) assert(TP_##x >= 0 && TP_##x < TP_LAST_TOKEN); \ symbol = symbol_table_insert(str); \ symbol->pp_ID = TP_##x; \ - pp_token_symbols[TP_##x] = symbol; + if (pp_token_symbols[TP_##x] == NULL) \ + pp_token_symbols[TP_##x] = symbol; #define TS(x,str,val) \ assert(TP_##x >= 0 && TP_##x < T_LAST_TOKEN); \ symbol = symbol_table_insert(str); \ - pp_token_symbols[TP_##x] = symbol; + if (pp_token_symbols[TP_##x] == NULL) \ + pp_token_symbols[TP_##x] = symbol; #include "tokens_preprocessor.inc"