X-Git-Url: http://de.git.xonotic.org/?p=xonotic%2Fgmqcc.git;a=blobdiff_plain;f=parser.h;h=eb77effe8e5e046c4f248cc96da39d6be9b054b3;hp=cc2ed8885f1c1c2e5930d93d7c14d2ff81363e17;hb=bbeb2517c0bdf7477124f9a3acda0213ebe36529;hpb=50d165e1737994ea8d72322fdb506b4da96925a3 diff --git a/parser.h b/parser.h index cc2ed88..eb77eff 100644 --- a/parser.h +++ b/parser.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2012, 2013 + * Copyright (C) 2012, 2013, 2014 * Wolfgang Bumiller * Dale Weiler * @@ -43,6 +43,7 @@ typedef struct { ast_expression *(*intrin)(intrin_t *); const char *name; const char *alias; + size_t args; } intrin_func_t; struct intrin_s { @@ -126,14 +127,14 @@ ast_expression *parser_find_global(parser_t *parser, const char *name); /* fold.c */ fold_t *fold_init (parser_t *); void fold_cleanup (fold_t *); -ast_expression *fold_constgen_float (fold_t *, qcfloat_t); +ast_expression *fold_constgen_float (fold_t *, qcfloat_t, bool); ast_expression *fold_constgen_vector(fold_t *, vec3_t); ast_expression *fold_constgen_string(fold_t *, const char *, bool); bool fold_generate (fold_t *, ir_builder *); ast_expression *fold_op (fold_t *, const oper_info *, ast_expression **); ast_expression *fold_intrin (fold_t *, const char *, ast_expression **); -ast_expression *fold_superfluous (ast_expression *, ast_expression *, int); +ast_expression *fold_binary (lex_ctx_t ctx, int, ast_expression *, ast_expression *); int fold_cond_ifthen (ir_value *, ast_function *, ast_ifthen *); int fold_cond_ternary (ir_value *, ast_function *, ast_ternary *);