X-Git-Url: https://git.xonotic.org/?a=blobdiff_plain;f=lexer.h;h=7389ba3f8a4b3856974340da3f1f31e86afac835;hb=076503770d79dae16484e7dda3ba165573e6e877;hp=ae8812b261c5be6e68252a78704e2e32438b59c7;hpb=ea09553b322d3b788c07043291ae532afa9cba99;p=xonotic%2Fgmqcc.git diff --git a/lexer.h b/lexer.h index ae8812b..7389ba3 100644 --- a/lexer.h +++ b/lexer.h @@ -81,6 +81,11 @@ _all_tokennames_added_[ (sizeof(_tokennames)/sizeof(_tokennames[0]))) ? 1 : -1]; +typedef struct { + char *name; + int value; +} frame_macro; + typedef struct { FILE *file; char *name; @@ -95,6 +100,10 @@ typedef struct { struct { bool noops; } flags; + + int framevalue; + MEM_VECTOR_MAKE(frame_macro, frames); + char *modelname; } lex_file; MEM_VECTOR_PROTO(lex_file, char, token); @@ -134,8 +143,8 @@ static const oper_info operators[] = { { ".", 2, opid1('.'), ASSOC_LEFT, 15, 0 }, - { "!", 1, opid2('!', 'P'), ASSOC_RIGHT, 14, 0 }, - { "~", 1, opid2('~', 'P'), ASSOC_RIGHT, 14, 0 }, + { "!", 1, opid2('!', 'P'), ASSOC_RIGHT, 14, OP_PREFIX }, + { "~", 1, opid2('~', 'P'), ASSOC_RIGHT, 14, OP_PREFIX }, { "+", 1, opid2('+','P'), ASSOC_RIGHT, 14, OP_PREFIX }, { "-", 1, opid2('-','P'), ASSOC_RIGHT, 14, OP_PREFIX }, { "++", 1, opid3('+','+','P'), ASSOC_RIGHT, 14, OP_PREFIX },