-
Notifications
You must be signed in to change notification settings - Fork 1
/
pdo2.h
61 lines (57 loc) · 1.9 KB
/
pdo2.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
/* pdo2.h
* Execution of data structure/iteration instructions on Poe Universes
*/
#ifndef PDO2_H_
#define PDO2_H_
#include "pdata.h"
#include "pmem.h"
#include "puniverse.h"
#include "pgc.h"
#include "pexec.h"
#include "pdo1.h"
// ARR INT -> ANY
int pexec_arracc(poe_universe *);
// TABLE STR -> ANY
int pexec_tabacc(poe_universe *, char *);
// ANY ARR INT -> X
int pexec_arrset(poe_universe *);
// ANY TABLE STR -> X
int pexec_tabset(poe_universe *, char *);
int pexec_tabkeep(poe_universe *, char *);
int pexec_arrkeep(poe_universe *);
// ARR -> X
int pexec_pushargv(poe_universe *);
// INT -> X
int pexec_pushargc(poe_universe *);
// ARR -> X
int pexec_pushretv(poe_universe *);
// INT -> X
int pexec_pushretc(poe_universe *);
int pexec_argv(poe_universe *);
int pexec_argc(poe_universe *);
int pexec_retv(poe_universe *);
int pexec_retc(poe_universe *);
int poe_extern_ass(poe_universe *, poe_table *, char *, poe_obj, char);
poe_obj poe_symbol_get(poe_universe *, poe_table *, char *, char *);
int pexec_ass(poe_universe *, char, char *);
int pexec_get(poe_universe *, char, char *);
int pexec_getmeta(poe_universe *);
int pexec_setmeta(poe_universe *);
int pexec_getsup(poe_universe *);
int pexec_setsup(poe_universe *);
// ITERABLE STRING STRING -> X
int pexec_forprep(poe_universe *, char *, int *);
// X -> X
int poe_table_dokeyval(poe_universe *, for_obj *, poe_obj_list *);
int poe_strarr_dokeyval(poe_universe *, for_obj *, int, poe_obj, char);
int poe_arr_next(poe_universe *, for_obj *, int *);
int poe_table_next(poe_universe *, for_obj *, int *);
int poe_str_next(poe_universe *, for_obj *, int *);
int pexec_foriter(poe_universe *, int *);
int pexec_whileprep(poe_universe *, char *, int *);
int pexec_whileiter(poe_universe *, int *);
int pexec_dowprep(poe_universe *, char *, int *);
int pexec_if(poe_universe *, char *, int *);
int pexec_break(poe_universe *, int *);
int pexec_cont(poe_universe *, int *);
#endif