X-Git-Url: https://git.xonotic.org/?a=blobdiff_plain;f=lexer.h;h=15730ee2ebacb035957e09815db7463099d60644;hb=aef60b7ec1937631d80847ec22d0da86e8da0718;hp=919dbec1d10078a7c2a449701e34251cc42ad5fe;hpb=558a091c08a1833af4f10502a2297eb00aa465e9;p=xonotic%2Fgmqcc.git diff --git a/lexer.h b/lexer.h index 919dbec..15730ee 100644 --- a/lexer.h +++ b/lexer.h @@ -75,6 +75,7 @@ enum { TOKEN_ATTRIBUTE_CLOSE, /* ]] */ TOKEN_VA_ARGS, /* for the ftepp only */ + TOKEN_VA_ARGS_ARRAY, /* for the ftepp only */ TOKEN_STRINGCONST, /* not the typename but an actual "string" */ TOKEN_CHARCONST, @@ -99,7 +100,7 @@ typedef struct { int value; } frame_macro; -typedef struct { +typedef struct lex_file_s { FILE *file; const char *open_string; size_t open_string_length; @@ -190,6 +191,7 @@ static const oper_info c_operators[] = { { "<", 2, opid1('<'), ASSOC_LEFT, 10, 0 }, { ">", 2, opid1('>'), ASSOC_LEFT, 10, 0 }, + { "<=>", 2, opid3('<','=','>'), ASSOC_LEFT, 10, 0 }, { "<=", 2, opid2('<','='), ASSOC_LEFT, 10, 0 }, { ">=", 2, opid2('>','='), ASSOC_LEFT, 10, 0 }, @@ -250,6 +252,9 @@ static const oper_info fte_operators[] = { { "+", 2, opid1('+'), ASSOC_LEFT, 12, 0 }, { "-", 2, opid1('-'), ASSOC_LEFT, 12, 0 }, + { "<<", 2, opid2('<','<'), ASSOC_LEFT, 11, 0 }, + { ">>", 2, opid2('>','>'), ASSOC_LEFT, 11, 0 }, + { "<", 2, opid1('<'), ASSOC_LEFT, 10, 0 }, { ">", 2, opid1('>'), ASSOC_LEFT, 10, 0 }, { "<=", 2, opid2('<','='), ASSOC_LEFT, 10, 0 },