32 lines
848 B
C
32 lines
848 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 tbool(Token x);
|
|
Token tor(Token l, Token r);
|
|
Token tand(Token l, Token r);
|
|
#endif
|