use tab_t for storage
[calc.git] / program.h
CommitLineData
a24bd519
LM
1#ifndef __PROGRAM_H__
2#define __PROGRAM_H__
3
4#include "element.h"
3559b26c 5#include "tabular.h"
a24bd519
LM
6
7/* global variables */
8
9extern int argument_size;
10extern double *argument;
11
12/* workspace type */
13
14typedef struct _workspace_t {
15 int id;
16 double answer;
893638e2 17 tab_t *storage;
a24bd519
LM
18 double *argument;
19 int argument_size;
20 element_t *root;
3559b26c 21 tab_t *stack;
a24bd519
LM
22 char *string;
23} workspace_t;
24
25extern workspace_t *programs;
26extern int nb_programs;
27
28/* program function */
29
30void prog (int id, element_t *root);
31double arg (int id);
32double call (int id, int nbargs, element_t **args);
33void list ();
34void edit (int id);
35void savestring (int id, char *string);
36void del (int id);
37
38#endif /* __PROGRAM_H__ */
39
40/* vim: set ts=4 sw=4 et: */