_isnt_bool _isnt_two_bools

These probably won't last?
This commit is contained in:
sforman 2023-08-02 09:06:11 -07:00
parent f15eef1c56
commit 5585ae5d31
5 changed files with 28 additions and 13 deletions

View File

@ -172,6 +172,8 @@ _mape, def__mape
_map0, def__map0
_map1, def__map1
_map2, def__map2
_isnt_bool, def__isnt_bool
_isnt_two_bools, def__isnt_two_bools
_\/_, def___REVERSE_SOLIDUS_SOLIDUS__
/\, def_SOLIDUS_REVERSE_SOLIDUS
\/, def_REVERSE_SOLIDUS_SOLIDUS

View File

@ -135,6 +135,8 @@ JoyList def__mape_body;
JoyList def__map0_body;
JoyList def__map1_body;
JoyList def__map2_body;
JoyList def__isnt_bool_body;
JoyList def__isnt_two_bools_body;
JoyList def___REVERSE_SOLIDUS_SOLIDUS___body;
JoyList def_SOLIDUS_REVERSE_SOLIDUS_body;
JoyList def_REVERSE_SOLIDUS_SOLIDUS_body;
@ -271,9 +273,11 @@ init_defs(void)
def__map0_body = text_to_expression("[_map1] dipd _map2");
def__map1_body = text_to_expression("stackd shift");
def__map2_body = text_to_expression("[infrst] cons dipd roll< swons");
def___REVERSE_SOLIDUS_SOLIDUS___body = text_to_expression("[not not] [not] branch");
def_SOLIDUS_REVERSE_SOLIDUS_body = text_to_expression("[not not] ii [pop false] [] branch");
def_REVERSE_SOLIDUS_SOLIDUS_body = text_to_expression("[not not] ii [] [pop true] branch");
def__isnt_bool_body = text_to_expression("not not");
def__isnt_two_bools_body = text_to_expression("[_isnt_bool] ii");
def___REVERSE_SOLIDUS_SOLIDUS___body = text_to_expression("[_isnt_bool] [not] branch");
def_SOLIDUS_REVERSE_SOLIDUS_body = text_to_expression("_isnt_two_bools [pop false] [] branch");
def_REVERSE_SOLIDUS_SOLIDUS_body = text_to_expression("_isnt_two_bools [] [pop true] branch");
}
@ -404,6 +408,8 @@ void def__mape(__attribute__((unused)) JoyListPtr stack, JoyListPtr expression)
void def__map0(__attribute__((unused)) JoyListPtr stack, JoyListPtr expression) { push_quote_onto_expression(def__map0_body, expression); }
void def__map1(__attribute__((unused)) JoyListPtr stack, JoyListPtr expression) { push_quote_onto_expression(def__map1_body, expression); }
void def__map2(__attribute__((unused)) JoyListPtr stack, JoyListPtr expression) { push_quote_onto_expression(def__map2_body, expression); }
void def__isnt_bool(__attribute__((unused)) JoyListPtr stack, JoyListPtr expression) { push_quote_onto_expression(def__isnt_bool_body, expression); }
void def__isnt_two_bools(__attribute__((unused)) JoyListPtr stack, JoyListPtr expression) { push_quote_onto_expression(def__isnt_two_bools_body, expression); }
void def___REVERSE_SOLIDUS_SOLIDUS__(__attribute__((unused)) JoyListPtr stack, JoyListPtr expression) { push_quote_onto_expression(def___REVERSE_SOLIDUS_SOLIDUS___body, expression); }
void def_SOLIDUS_REVERSE_SOLIDUS(__attribute__((unused)) JoyListPtr stack, JoyListPtr expression) { push_quote_onto_expression(def_SOLIDUS_REVERSE_SOLIDUS_body, expression); }
void def_REVERSE_SOLIDUS_SOLIDUS(__attribute__((unused)) JoyListPtr stack, JoyListPtr expression) { push_quote_onto_expression(def_REVERSE_SOLIDUS_SOLIDUS_body, expression); }

View File

@ -126,6 +126,8 @@ void def__mape(JoyListPtr stack, JoyListPtr expression);
void def__map0(JoyListPtr stack, JoyListPtr expression);
void def__map1(JoyListPtr stack, JoyListPtr expression);
void def__map2(JoyListPtr stack, JoyListPtr expression);
void def__isnt_bool(JoyListPtr stack, JoyListPtr expression);
void def__isnt_two_bools(JoyListPtr stack, JoyListPtr expression);
void def___REVERSE_SOLIDUS_SOLIDUS__(JoyListPtr stack, JoyListPtr expression);
void def_SOLIDUS_REVERSE_SOLIDUS(JoyListPtr stack, JoyListPtr expression);
void def_REVERSE_SOLIDUS_SOLIDUS(JoyListPtr stack, JoyListPtr expression);

View File

@ -126,6 +126,8 @@ _mape popd reverse
_map0 [_map1] dipd _map2
_map1 stackd shift
_map2 [infrst] cons dipd roll< swons
_\/_ [not not] [not] branch
/\ [not not] ii [pop false] [] branch
\/ [not not] ii [] [pop true] branch
_isnt_bool not not
_isnt_two_bools [_isnt_bool] ii
_\/_ [_isnt_bool] [not] branch
/\ _isnt_two_bools [pop false] [] branch
\/ _isnt_two_bools [] [pop true] branch

View File

@ -99,9 +99,9 @@ in_word_set (register const char *str, register size_t len)
{
enum
{
TOTAL_KEYWORDS = 163,
TOTAL_KEYWORDS = 165,
MIN_WORD_LENGTH = 1,
MAX_WORD_LENGTH = 14,
MAX_WORD_LENGTH = 15,
MIN_HASH_VALUE = 1,
MAX_HASH_VALUE = 359
};
@ -216,7 +216,7 @@ in_word_set (register const char *str, register size_t len)
{""},
#line 132 "KEYWORDS.txt"
{"second", def_second},
#line 177 "KEYWORDS.txt"
#line 179 "KEYWORDS.txt"
{"\\/", def_REVERSE_SOLIDUS_SOLIDUS},
#line 131 "KEYWORDS.txt"
{"run", def_run},
@ -234,7 +234,7 @@ in_word_set (register const char *str, register size_t len)
{""},
#line 137 "KEYWORDS.txt"
{"spiral_next", def_spiral_next},
#line 176 "KEYWORDS.txt"
#line 178 "KEYWORDS.txt"
{"/\\", def_SOLIDUS_REVERSE_SOLIDUS},
#line 44 "KEYWORDS.txt"
{"inscribe", inscribe},
@ -402,12 +402,15 @@ in_word_set (register const char *str, register size_t len)
{""},
#line 94 "KEYWORDS.txt"
{"fork", def_fork},
{""},
#line 176 "KEYWORDS.txt"
{"_isnt_two_bools", def__isnt_two_bools},
#line 15 "KEYWORDS.txt"
{"=", def_eq},
#line 21 "KEYWORDS.txt"
{">=", def_ge},
{""}, {""}, {""},
{""}, {""},
#line 175 "KEYWORDS.txt"
{"_isnt_bool", def__isnt_bool},
#line 163 "KEYWORDS.txt"
{"_step1", def__step1},
#line 93 "KEYWORDS.txt"
@ -454,7 +457,7 @@ in_word_set (register const char *str, register size_t len)
{"reverse", def_reverse},
#line 66 "KEYWORDS.txt"
{"abs", def_abs},
#line 175 "KEYWORDS.txt"
#line 177 "KEYWORDS.txt"
{"_\\/_", def___REVERSE_SOLIDUS_SOLIDUS__},
#line 136 "KEYWORDS.txt"
{"small", def_small},