This commit is contained in:
Simon Forman 2023-02-05 10:00:18 -08:00
parent 8f4c98a051
commit 09e9e340a5
4 changed files with 32 additions and 22 deletions

View File

@ -20,6 +20,7 @@ dip, dip
dup, dup dup, dup
i, i_joyfunc i, i_joyfunc
pop, pop pop, pop
stack, stack
swaack, swaack swaack, swaack
abs, def_abs abs, def_abs
anamorphism, def_anamorphism anamorphism, def_anamorphism

View File

@ -606,6 +606,13 @@ swaack(JoyListPtr stack, __attribute__((unused)) JoyListPtr expression)
} }
void
stack(JoyListPtr stack, __attribute__((unused)) JoyListPtr expression)
{
push_quote(*stack, stack);
}
void void
dip(JoyListPtr stack, JoyListPtr expression) dip(JoyListPtr stack, JoyListPtr expression)
{ {

View File

@ -65,6 +65,7 @@ void dip(JoyListPtr stack, JoyListPtr expression);
void dup(JoyListPtr stack, JoyListPtr expression); void dup(JoyListPtr stack, JoyListPtr expression);
void i_joyfunc(JoyListPtr stack, JoyListPtr expression); void i_joyfunc(JoyListPtr stack, JoyListPtr expression);
void pop(JoyListPtr stack, JoyListPtr expression); void pop(JoyListPtr stack, JoyListPtr expression);
void stack(JoyListPtr stack, JoyListPtr expression);
void swaack(JoyListPtr stack, JoyListPtr expression); void swaack(JoyListPtr stack, JoyListPtr expression);
void mul(JoyListPtr stack, JoyListPtr expression); void mul(JoyListPtr stack, JoyListPtr expression);
void sub(JoyListPtr stack, JoyListPtr expression); void sub(JoyListPtr stack, JoyListPtr expression);

View File

@ -94,7 +94,7 @@ in_word_set (register const char *str, register size_t len)
{ {
enum enum
{ {
TOTAL_KEYWORDS = 34, TOTAL_KEYWORDS = 35,
MIN_WORD_LENGTH = 1, MIN_WORD_LENGTH = 1,
MAX_WORD_LENGTH = 12, MAX_WORD_LENGTH = 12,
MIN_HASH_VALUE = 1, MIN_HASH_VALUE = 1,
@ -104,37 +104,38 @@ in_word_set (register const char *str, register size_t len)
static const struct dict_entry wordlist[] = static const struct dict_entry wordlist[] =
{ {
{""}, {""},
#line 32 "KEYWORDS.txt" #line 33 "KEYWORDS.txt"
{"b", def_b}, {"b", def_b},
#line 30 "KEYWORDS.txt" #line 31 "KEYWORDS.txt"
{"at", def_at}, {"at", def_at},
#line 24 "KEYWORDS.txt" #line 25 "KEYWORDS.txt"
{"abs", def_abs}, {"abs", def_abs},
#line 18 "KEYWORDS.txt" #line 18 "KEYWORDS.txt"
{"cons", cons}, {"cons", cons},
#line 35 "KEYWORDS.txt" #line 36 "KEYWORDS.txt"
{"ccons", def_ccons}, {"ccons", def_ccons},
#line 21 "KEYWORDS.txt" #line 21 "KEYWORDS.txt"
{"i", i_joyfunc}, {"i", i_joyfunc},
#line 34 "KEYWORDS.txt" #line 35 "KEYWORDS.txt"
{"ccccons", def_ccccons}, {"ccccons", def_ccccons},
#line 39 "KEYWORDS.txt" #line 40 "KEYWORDS.txt"
{"codireco", def_codireco}, {"codireco", def_codireco},
#line 38 "KEYWORDS.txt" #line 39 "KEYWORDS.txt"
{"codi", def_codi}, {"codi", def_codi},
{""}, #line 23 "KEYWORDS.txt"
#line 33 "KEYWORDS.txt" {"stack", stack},
#line 34 "KEYWORDS.txt"
{"binary", def_binary}, {"binary", def_binary},
#line 31 "KEYWORDS.txt" #line 32 "KEYWORDS.txt"
{"average", def_average}, {"average", def_average},
#line 22 "KEYWORDS.txt" #line 22 "KEYWORDS.txt"
{"pop", pop}, {"pop", pop},
#line 40 "KEYWORDS.txt" #line 41 "KEYWORDS.txt"
{"dinfrirst", def_dinfrirst}, {"dinfrirst", def_dinfrirst},
{""}, {""},
#line 23 "KEYWORDS.txt" #line 24 "KEYWORDS.txt"
{"swaack", swaack}, {"swaack", swaack},
#line 42 "KEYWORDS.txt" #line 43 "KEYWORDS.txt"
{"disenstacken", def_disenstacken}, {"disenstacken", def_disenstacken},
#line 19 "KEYWORDS.txt" #line 19 "KEYWORDS.txt"
{"dip", dip}, {"dip", dip},
@ -142,44 +143,44 @@ in_word_set (register const char *str, register size_t len)
{"bool", truthy}, {"bool", truthy},
#line 16 "KEYWORDS.txt" #line 16 "KEYWORDS.txt"
{"clear", clear}, {"clear", clear},
#line 25 "KEYWORDS.txt" #line 26 "KEYWORDS.txt"
{"anamorphism", def_anamorphism}, {"anamorphism", def_anamorphism},
{""}, {""},
#line 17 "KEYWORDS.txt" #line 17 "KEYWORDS.txt"
{"cmp", cmp_joyfunc}, {"cmp", cmp_joyfunc},
#line 41 "KEYWORDS.txt" #line 42 "KEYWORDS.txt"
{"dipd", def_dipd}, {"dipd", def_dipd},
{""}, {""},
#line 36 "KEYWORDS.txt" #line 37 "KEYWORDS.txt"
{"cleave", def_cleave}, {"cleave", def_cleave},
{""}, {""},
#line 20 "KEYWORDS.txt" #line 20 "KEYWORDS.txt"
{"dup", dup}, {"dup", dup},
#line 37 "KEYWORDS.txt" #line 38 "KEYWORDS.txt"
{"clop", def_clop}, {"clop", def_clop},
{""}, {""},
#line 15 "KEYWORDS.txt" #line 15 "KEYWORDS.txt"
{"branch", branch}, {"branch", branch},
{""}, {""}, {""}, {""},
#line 29 "KEYWORDS.txt" #line 30 "KEYWORDS.txt"
{"appN", def_appN}, {"appN", def_appN},
{""}, {""},
#line 13 "KEYWORDS.txt" #line 13 "KEYWORDS.txt"
{"/", tdiv_q}, {"/", tdiv_q},
{""}, {""}, {""}, {""},
#line 28 "KEYWORDS.txt" #line 29 "KEYWORDS.txt"
{"app3", def_app3}, {"app3", def_app3},
{""}, {""},
#line 12 "KEYWORDS.txt" #line 12 "KEYWORDS.txt"
{"-", sub}, {"-", sub},
{""}, {""}, {""}, {""},
#line 27 "KEYWORDS.txt" #line 28 "KEYWORDS.txt"
{"app2", def_app2}, {"app2", def_app2},
{""}, {""},
#line 11 "KEYWORDS.txt" #line 11 "KEYWORDS.txt"
{"+", add}, {"+", add},
{""}, {""}, {""}, {""},
#line 26 "KEYWORDS.txt" #line 27 "KEYWORDS.txt"
{"app1", def_app1}, {"app1", def_app1},
{""}, {""},
#line 10 "KEYWORDS.txt" #line 10 "KEYWORDS.txt"