-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathprimitives.h
More file actions
73 lines (68 loc) · 4.3 KB
/
primitives.h
File metadata and controls
73 lines (68 loc) · 4.3 KB
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
62
63
64
65
66
67
68
69
70
71
72
73
#ifndef LIZARD_PRIMITIVES_H
#define LIZARD_PRIMITIVES_H
#include "lizard.h"
lizard_ast_node_t *lizard_primitive_plus(list_t *args, lizard_env_t *env,
lizard_heap_t *heap);
lizard_ast_node_t *lizard_primitive_minus(list_t *args, lizard_env_t *env,
lizard_heap_t *heap);
lizard_ast_node_t *lizard_primitive_multiply(list_t *args, lizard_env_t *env,
lizard_heap_t *heap);
lizard_ast_node_t *lizard_primitive_divide(list_t *args, lizard_env_t *env,
lizard_heap_t *heap);
lizard_ast_node_t *lizard_primitive_equal(list_t *args, lizard_env_t *env,
lizard_heap_t *heap);
lizard_ast_node_t *lizard_primitive_pow(list_t *args, lizard_env_t *env,
lizard_heap_t *heap);
lizard_ast_node_t *lizard_primitive_lt(list_t *args, lizard_env_t *env,
lizard_heap_t *heap);
lizard_ast_node_t *lizard_primitive_le(list_t *args, lizard_env_t *env,
lizard_heap_t *heap);
lizard_ast_node_t *lizard_primitive_gt(list_t *args, lizard_env_t *env,
lizard_heap_t *heap);
lizard_ast_node_t *lizard_primitive_ge(list_t *args, lizard_env_t *env,
lizard_heap_t *heap);
lizard_ast_node_t *lizard_primitive_mod(list_t *args, lizard_env_t *env,
lizard_heap_t *heap);
lizard_ast_node_t *lizard_primitive_cons(list_t *args, lizard_env_t *env,
lizard_heap_t *heap);
lizard_ast_node_t *lizard_primitive_car(list_t *args, lizard_env_t *env,
lizard_heap_t *heap);
lizard_ast_node_t *lizard_primitive_cdr(list_t *args, lizard_env_t *env,
lizard_heap_t *heap);
lizard_ast_node_t *lizard_primitive_list(list_t *args, lizard_env_t *env,
lizard_heap_t *heap);
lizard_ast_node_t *lizard_primitive_tokens(list_t *args, lizard_env_t *env,
lizard_heap_t *heap);
lizard_ast_node_t *lizard_primitive_ast(list_t *args, lizard_env_t *env,
lizard_heap_t *heap);
lizard_ast_node_t *lizard_primitive_eval(list_t *args, lizard_env_t *env,
lizard_heap_t *heap);
lizard_ast_node_t *lizard_primitive_unquote(list_t *args, lizard_env_t *env,
lizard_heap_t *heap);
lizard_ast_node_t *lizard_primitive_callcc(
list_t *args, lizard_env_t *env, lizard_heap_t *heap,
lizard_ast_node_t *(*current_cont)(lizard_ast_node_t *, lizard_env_t *,
lizard_heap_t *));
lizard_ast_node_t *lizard_identity_cont(lizard_ast_node_t *result,
lizard_env_t *env, lizard_heap_t *heap);
int lizard_is_false(lizard_ast_node_t *node);
int lizard_is_true(lizard_ast_node_t *node);
lizard_ast_node_t *lizard_primitive_nullp(list_t *args, lizard_env_t *env,
lizard_heap_t *heap);
lizard_ast_node_t *lizard_primitive_pairp(list_t *args, lizard_env_t *env,
lizard_heap_t *heap);
lizard_ast_node_t *lizard_primitive_stringp(list_t *args, lizard_env_t *env,
lizard_heap_t *heap);
lizard_ast_node_t *lizard_primitive_boolp(list_t *args, lizard_env_t *env,
lizard_heap_t *heap);
lizard_ast_node_t *lizard_primitive_and(list_t *args, lizard_env_t *env,
lizard_heap_t *heap);
lizard_ast_node_t *lizard_primitive_or(list_t *args, lizard_env_t *env,
lizard_heap_t *heap);
lizard_ast_node_t *lizard_primitive_not(list_t *args, lizard_env_t *env,
lizard_heap_t *heap);
int lizard_is_empty_list(lizard_ast_node_t *node);
int lizard_ast_equal(lizard_ast_node_t *a, lizard_ast_node_t *b);
lizard_ast_node_t *lizard_ast_deep_copy(lizard_ast_node_t *node,
lizard_heap_t *heap);
#endif /* LIZARD_PRIMITIVES_H */