0,0 → 1,70 |
|
#pragma once |
|
// error codes |
#define ERR_BADFUNCTION -1 |
#define ERR_BADNUMER -2 |
#define ERR_GENERAL -3 |
#define ERR_NOBRACKET -4 |
#define ERR_BADVARIABLE -5 |
#define ERR_OVERFLOW -6 |
#define ERR_BADPARAM -7 |
|
typedef double variable_callback(char *s); |
|
void set_exp(char *exp); |
// puts the token back to line |
void putback(double *hold); |
// gets the expression. This function is used externally |
int get_exp(double *hold); |
|
// logic binary |
void level1(double *hold); |
|
// unary ! |
void level1_5(double *hold); |
|
// works with +- |
void level2(double *hold); |
// works with */% |
void level3(double *hold); |
// works with ^ |
void level4(double *hold); |
// works with () |
void level5(double *hold); |
// works with elementary tokens |
void level6(double *hold); |
// gets value of number, function or variable |
void primitive(double *hold); |
// performs arithmetical operation |
void arith(char op, double *r, double *h); |
|
void logic(char *op, double *r, double *h); |
|
|
// performs unary (one-operand) operation |
void unary(char op, double *r); |
// gets variable value by name |
extern variable_callback *find_var; |
|
extern double rand_seed; |
|
// stops execution of parser and return error code |
void serror(int code); |
// checks the function table to see if such a function exists |
int look_up(char *s); |
|
bool strcmp(char *s1, char *s2); |
bool strncmp(char *s1, char *s2, int n); |
|
extern double epsilon; |
|
|
int isdelim(char c); |
int isdigit(char c); |
int isalpha2(char c); |
int iswhite(char c); |
|
|
|
|