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