/*
- * Copyright (C) 2012, 2013
+ * Copyright (C) 2012, 2013, 2014, 2015
* Wolfgang Bumiller
* Dale Weiler
*
ast_expression *(*intrin)(intrin_t *);
const char *name;
const char *alias;
+ size_t args;
} intrin_func_t;
struct intrin_s {
ht htglobals;
ht *typedefs;
- /* same as above but for the spelling corrector */
- correct_trie_t **correct_variables;
- size_t ***correct_variables_score; /* vector of vector of size_t* */
-
/* not to be used directly, we use the hash table */
ast_expression **_locals;
size_t *_blocklocals;
/* 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 *);