Use JoyListPtr.

This commit is contained in:
Simon Forman 2023-02-04 07:52:36 -08:00
parent 99fb04397f
commit 1eb8f1dde1
1 changed files with 16 additions and 16 deletions

View File

@ -303,7 +303,7 @@ text_to_expression(char *text)
JoyList JoyList
pop_any(JoyList *stack) { pop_any(JoyListPtr stack) {
JoyList result; JoyList result;
if (!(*stack)) { if (!(*stack)) {
printf("Not enough values on stack.\n"); printf("Not enough values on stack.\n");
@ -315,7 +315,7 @@ pop_any(JoyList *stack) {
} }
mpz_t * mpz_t *
pop_int(JoyList *stack) { pop_int(JoyListPtr stack) {
JoyList node; JoyList node;
node = pop_any(stack); node = pop_any(stack);
switch (node->head.kind) { switch (node->head.kind) {
@ -339,7 +339,7 @@ newIntNode(void) {
#define BINARY_MATH_OP(name) \ #define BINARY_MATH_OP(name) \
void \ void \
name(JoyList *stack, __attribute__((unused)) JoyList *expression) \ name(JoyListPtr stack, __attribute__((unused)) JoyListPtr expression) \
{ \ { \
mpz_t *a, *b; \ mpz_t *a, *b; \
JoyList node; \ JoyList node; \
@ -356,24 +356,24 @@ BINARY_MATH_OP(sub)
BINARY_MATH_OP(mul) BINARY_MATH_OP(mul)
void branch(JoyList *stack, JoyList *expression) {stack = expression;} void branch(JoyListPtr stack, JoyListPtr expression) {stack = expression;}
void clear(JoyList *stack, JoyList *expression) {stack = expression;} void clear(JoyListPtr stack, JoyListPtr expression) {stack = expression;}
void div_joyfunc(JoyList *stack, JoyList *expression) {stack = expression;} void div_joyfunc(JoyListPtr stack, JoyListPtr expression) {stack = expression;}
void eq(JoyList *stack, JoyList *expression) { void eq(JoyListPtr stack, JoyListPtr expression) {
printf("Hey there from eq!\n"); printf("Hey there from eq!\n");
stack = expression; stack = expression;
} }
void ge(JoyList *stack, JoyList *expression) {stack = expression;} void ge(JoyListPtr stack, JoyListPtr expression) {stack = expression;}
void gt(JoyList *stack, JoyList *expression) {stack = expression;} void gt(JoyListPtr stack, JoyListPtr expression) {stack = expression;}
void le(JoyList *stack, JoyList *expression) {stack = expression;} void le(JoyListPtr stack, JoyListPtr expression) {stack = expression;}
void lt(JoyList *stack, JoyList *expression) {stack = expression;} void lt(JoyListPtr stack, JoyListPtr expression) {stack = expression;}
void mod(JoyList *stack, JoyList *expression) {stack = expression;} void mod(JoyListPtr stack, JoyListPtr expression) {stack = expression;}
void neq(JoyList *stack, JoyList *expression) {stack = expression;} void neq(JoyListPtr stack, JoyListPtr expression) {stack = expression;}
void truthy(JoyList *stack, JoyList *expression) {stack = expression;} void truthy(JoyListPtr stack, JoyListPtr expression) {stack = expression;}
void void
push_thing(JoyType *term, JoyList *stack) { push_thing(JoyType *term, JoyListPtr stack) {
JoyList node = newJoyList; JoyList node = newJoyList;
node->head = *term; /* Copies data, right? */ node->head = *term; /* Copies data, right? */
node->tail = *stack; node->tail = *stack;
@ -382,7 +382,7 @@ push_thing(JoyType *term, JoyList *stack) {
void void
joy(JoyList *stack, JoyList *expression) joy(JoyListPtr stack, JoyListPtr expression)
{ {
char *sym; char *sym;
JoyType *term; JoyType *term;