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