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