i combinator.
This commit is contained in:
parent
bd525cc7ac
commit
21f99aac96
|
|
@ -14,4 +14,5 @@ struct dict_entry;
|
||||||
bool, truthy
|
bool, truthy
|
||||||
branch, branch
|
branch, branch
|
||||||
clear, clear
|
clear, clear
|
||||||
cmp, cmp_joyfunc
|
cmp, cmp_joyfunc
|
||||||
|
i, i_joyfunc
|
||||||
|
|
|
||||||
|
|
@ -546,6 +546,13 @@ cmp_joyfunc(JoyListPtr stack, JoyListPtr expression)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void
|
||||||
|
i_joyfunc(JoyListPtr stack, JoyListPtr expression)
|
||||||
|
{
|
||||||
|
push_quote(pop_list_node(stack), expression);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void branch(JoyListPtr stack, JoyListPtr expression) {stack = expression;}
|
void branch(JoyListPtr stack, JoyListPtr expression) {stack = expression;}
|
||||||
void clear(JoyListPtr stack, JoyListPtr expression) {stack = expression;}
|
void clear(JoyListPtr stack, JoyListPtr expression) {stack = expression;}
|
||||||
void div_joyfunc(JoyListPtr stack, JoyListPtr expression) {stack = expression;}
|
void div_joyfunc(JoyListPtr stack, JoyListPtr expression) {stack = expression;}
|
||||||
|
|
|
||||||
|
|
@ -61,6 +61,7 @@ void branch(JoyListPtr stack, JoyListPtr expression);
|
||||||
void clear(JoyListPtr stack, JoyListPtr expression);
|
void clear(JoyListPtr stack, JoyListPtr expression);
|
||||||
void cmp_joyfunc(JoyListPtr stack, JoyListPtr expression);
|
void cmp_joyfunc(JoyListPtr stack, JoyListPtr expression);
|
||||||
void div_joyfunc(JoyListPtr stack, JoyListPtr expression);
|
void div_joyfunc(JoyListPtr stack, JoyListPtr expression);
|
||||||
|
void i_joyfunc(JoyListPtr stack, JoyListPtr expression);
|
||||||
void mod(JoyListPtr stack, JoyListPtr expression);
|
void mod(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);
|
||||||
|
|
|
||||||
|
|
@ -52,14 +52,14 @@ keyword_hash (register const char *str, register size_t len)
|
||||||
17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
|
17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
|
||||||
17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
|
17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
|
||||||
17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
|
17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
|
||||||
17, 17, 17, 17, 17, 17, 17, 14, 17, 17,
|
17, 17, 17, 17, 17, 17, 17, 8, 17, 17,
|
||||||
17, 17, 9, 15, 17, 10, 17, 0, 17, 17,
|
17, 17, 14, 9, 17, 15, 17, 10, 17, 17,
|
||||||
17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
|
17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
|
||||||
17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
|
17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
|
||||||
17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
|
17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
|
||||||
17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
|
17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
|
||||||
17, 17, 17, 17, 17, 17, 17, 17, 0, 0,
|
17, 17, 17, 17, 17, 17, 17, 17, 0, 0,
|
||||||
17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
|
17, 17, 17, 17, 17, 0, 17, 17, 17, 17,
|
||||||
17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
|
17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
|
||||||
17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
|
17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
|
||||||
17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
|
17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
|
||||||
|
|
@ -84,7 +84,7 @@ in_word_set (register const char *str, register size_t len)
|
||||||
{
|
{
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
TOTAL_KEYWORDS = 9,
|
TOTAL_KEYWORDS = 10,
|
||||||
MIN_WORD_LENGTH = 1,
|
MIN_WORD_LENGTH = 1,
|
||||||
MAX_WORD_LENGTH = 6,
|
MAX_WORD_LENGTH = 6,
|
||||||
MIN_HASH_VALUE = 1,
|
MIN_HASH_VALUE = 1,
|
||||||
|
|
@ -94,8 +94,8 @@ in_word_set (register const char *str, register size_t len)
|
||||||
static const struct dict_entry wordlist[] =
|
static const struct dict_entry wordlist[] =
|
||||||
{
|
{
|
||||||
{""},
|
{""},
|
||||||
#line 13 "KEYWORDS.txt"
|
#line 18 "KEYWORDS.txt"
|
||||||
{"/", div_joyfunc},
|
{"i", i_joyfunc},
|
||||||
{""},
|
{""},
|
||||||
#line 17 "KEYWORDS.txt"
|
#line 17 "KEYWORDS.txt"
|
||||||
{"cmp", cmp_joyfunc},
|
{"cmp", cmp_joyfunc},
|
||||||
|
|
@ -105,16 +105,18 @@ in_word_set (register const char *str, register size_t len)
|
||||||
{"clear", clear},
|
{"clear", clear},
|
||||||
#line 15 "KEYWORDS.txt"
|
#line 15 "KEYWORDS.txt"
|
||||||
{"branch", branch},
|
{"branch", branch},
|
||||||
|
{""}, {""},
|
||||||
|
#line 9 "KEYWORDS.txt"
|
||||||
|
{"%", mod},
|
||||||
|
#line 11 "KEYWORDS.txt"
|
||||||
|
{"+", add},
|
||||||
|
#line 13 "KEYWORDS.txt"
|
||||||
|
{"/", div_joyfunc},
|
||||||
{""}, {""}, {""},
|
{""}, {""}, {""},
|
||||||
#line 10 "KEYWORDS.txt"
|
#line 10 "KEYWORDS.txt"
|
||||||
{"*", mul},
|
{"*", mul},
|
||||||
#line 12 "KEYWORDS.txt"
|
#line 12 "KEYWORDS.txt"
|
||||||
{"-", sub},
|
{"-", sub}
|
||||||
{""}, {""}, {""},
|
|
||||||
#line 9 "KEYWORDS.txt"
|
|
||||||
{"%", mod},
|
|
||||||
#line 11 "KEYWORDS.txt"
|
|
||||||
{"+", add}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
|
if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue