teapot-spreadsheet/src/common/eval.h

31 lines
826 B
C

#ifndef THE_EVAL_H
#define THE_EVAL_H
#include "scanner.h"
Token tcopy(Token n);
void tfree(Token *n);
void tfree_protected(Token *n, const Token dontfree);
void tvecfreetoks(Token **tvec);
void tvecfree(Token **tvec);
size_t tveclen(Token **tvec);
Token tpow(Token l, Token r);
Token tdiv(Token l, Token r);
Token tmod(Token l, Token r);
Token tmul(Token l, Token r);
Token tadd(Token l, Token r);
Token tconcat(Token l, Token r);
Token tsub(Token l, Token r);
Token tneg(Token x);
Token tfuncall(FunctionIdentifier fident, int argc, Token argv[]);
Token tlt(Token l, Token r);
Token tle(Token l, Token r);
Token tge(Token l, Token r);
Token tgt(Token l, Token r);
Token teq(Token l, Token r);
Token tabouteq(Token l, Token r);
Token tne(Token l, Token r);
Token tor(Token l, Token r);
Token tand(Token l, Token r);
#endif