Mul, Div, Mod,
Pow, Sqr,
Cos, Sin, Tan, Acos, Asin, Atan,
- Log, Exp,
+ Ln, Log, Exp,
+ Erfc, Erf,
Abs, Ceil, Floor,
- Store, Recall, Inc, Dec, Disp,
+ Store, Recall, Inc, Dec, Disp, Mem, Clear,
Quit, Help,
Ans, E, Pi,
Equal, Diff, Ge, Le, Gt, Lt,
And, Or, Not,
- Cond, While, Prog, Print
+ Cond, While, Code, Print,
+ Prog, Arg, Call, List, Edit, Del,
+ Get, Length, Pop, Push, Put, Set, Show,
+ Max, Mean, Median, Min, Order, Prod, Sum, Variance
} func_t;
/* keyword type */
struct _element_t **ops;
double value;
int prio;
+ int hidden;
+ char *string;
} element_t;
#define ERROR_OP ((element_t *)(-1))
+/* workspace type */
+
+typedef struct _workspace_t {
+ int id;
+ double answer;
+ double *storage;
+ int storage_size;
+ double *argument;
+ int argument_size;
+ element_t *root;
+ double *stack;
+ int stack_size;
+ char *string;
+} workspace_t;
+
/* parser function */
void delelement (element_t *root);