From f1db8103702c306d9b753b2bf243888581553a36 Mon Sep 17 00:00:00 2001 From: Simon Forman Date: Tue, 14 Feb 2023 12:27:46 -0800 Subject: [PATCH] or instead of ||, and instead of && Docs still TODO! --- implementations/C/KEYWORDS.txt | 4 +- implementations/C/definitions.c | 14 +- implementations/C/definitions.h | 4 +- implementations/C/defs.txt | 6 +- implementations/C/keywords.c | 385 +++++++++++++++++++++------------------- implementations/Nim/defs.txt | 6 +- implementations/defs.txt | 6 +- 7 files changed, 218 insertions(+), 207 deletions(-) diff --git a/implementations/C/KEYWORDS.txt b/implementations/C/KEYWORDS.txt index 8c02c70..8d5fec3 100644 --- a/implementations/C/KEYWORDS.txt +++ b/implementations/C/KEYWORDS.txt @@ -54,9 +54,9 @@ le, def_le ge, def_ge --, def_HYPHEN_MINUS_HYPHEN_MINUS ?, def_QUESTION_MARK -&&, def_AMPERSAND_AMPERSAND +and, def_and ++, def_PLUS_SIGN_PLUS_SIGN -||, def_VERTICAL_LINE_VERTICAL_LINE +or, def_or !-, def_EXCLAMATION_MARK_HYPHEN_MINUS <{}, def_LESS_THAN_SIGN_LEFT_CURLY_BRACKET_RIGHT_CURLY_BRACKET <<{}, def_LESS_THAN_SIGN_LESS_THAN_SIGN_LEFT_CURLY_BRACKET_RIGHT_CURLY_BRACKET diff --git a/implementations/C/definitions.c b/implementations/C/definitions.c index 7f64bc1..6df818a 100644 --- a/implementations/C/definitions.c +++ b/implementations/C/definitions.c @@ -20,9 +20,9 @@ JoyList def_le_body; JoyList def_ge_body; JoyList def_HYPHEN_MINUS_HYPHEN_MINUS_body; JoyList def_QUESTION_MARK_body; -JoyList def_AMPERSAND_AMPERSAND_body; +JoyList def_and_body; JoyList def_PLUS_SIGN_PLUS_SIGN_body; -JoyList def_VERTICAL_LINE_VERTICAL_LINE_body; +JoyList def_or_body; JoyList def_EXCLAMATION_MARK_HYPHEN_MINUS_body; JoyList def_LESS_THAN_SIGN_LEFT_CURLY_BRACKET_RIGHT_CURLY_BRACKET_body; JoyList def_LESS_THAN_SIGN_LESS_THAN_SIGN_LEFT_CURLY_BRACKET_RIGHT_CURLY_BRACKET_body; @@ -156,9 +156,9 @@ init_defs(void) def_ge_body = text_to_expression("[true] [true] [false] cmp"); def_HYPHEN_MINUS_HYPHEN_MINUS_body = text_to_expression("1 -"); def_QUESTION_MARK_body = text_to_expression("dup bool"); - def_AMPERSAND_AMPERSAND_body = text_to_expression("nulco [nullary [false]] dip branch"); + def_and_body = text_to_expression("nulco [nullary [false]] dip branch"); def_PLUS_SIGN_PLUS_SIGN_body = text_to_expression("1 +"); - def_VERTICAL_LINE_VERTICAL_LINE_body = text_to_expression("nulco [nullary] dip [true] branch"); + def_or_body = text_to_expression("nulco [nullary] dip [true] branch"); def_EXCLAMATION_MARK_HYPHEN_MINUS_body = text_to_expression("0 >="); def_LESS_THAN_SIGN_LEFT_CURLY_BRACKET_RIGHT_CURLY_BRACKET_body = text_to_expression("[] swap"); def_LESS_THAN_SIGN_LESS_THAN_SIGN_LEFT_CURLY_BRACKET_RIGHT_CURLY_BRACKET_body = text_to_expression("[] rollup"); @@ -233,7 +233,7 @@ init_defs(void) def_shunt_body = text_to_expression("[swons] step"); def_size_body = text_to_expression("[pop ++] step_zero"); def_small_body = text_to_expression("dup null [rest null] [pop true] branch"); - def_spiral_next_body = text_to_expression("[[[abs] ii <=] [[<>] [pop !-] ||] &&] [[!-] [[++]] [[--]] ifte dip] [[pop !-] [--] [++] ifte] ifte"); + def_spiral_next_body = text_to_expression("[[[abs] ii <=] [[<>] [pop !-] or] and] [[!-] [[++]] [[--]] ifte dip] [[pop !-] [--] [++] ifte] ifte"); def_split_at_body = text_to_expression("[drop] [take] clop"); def_split_list_body = text_to_expression("[take reverse] [drop] clop"); def_sqr_body = text_to_expression("dup mul"); @@ -289,9 +289,9 @@ void def_le(__attribute__((unused)) JoyListPtr stack, JoyListPtr expression) { p void def_ge(__attribute__((unused)) JoyListPtr stack, JoyListPtr expression) { push_quote_onto_expression(def_ge_body, expression); } void def_HYPHEN_MINUS_HYPHEN_MINUS(__attribute__((unused)) JoyListPtr stack, JoyListPtr expression) { push_quote_onto_expression(def_HYPHEN_MINUS_HYPHEN_MINUS_body, expression); } void def_QUESTION_MARK(__attribute__((unused)) JoyListPtr stack, JoyListPtr expression) { push_quote_onto_expression(def_QUESTION_MARK_body, expression); } -void def_AMPERSAND_AMPERSAND(__attribute__((unused)) JoyListPtr stack, JoyListPtr expression) { push_quote_onto_expression(def_AMPERSAND_AMPERSAND_body, expression); } +void def_and(__attribute__((unused)) JoyListPtr stack, JoyListPtr expression) { push_quote_onto_expression(def_and_body, expression); } void def_PLUS_SIGN_PLUS_SIGN(__attribute__((unused)) JoyListPtr stack, JoyListPtr expression) { push_quote_onto_expression(def_PLUS_SIGN_PLUS_SIGN_body, expression); } -void def_VERTICAL_LINE_VERTICAL_LINE(__attribute__((unused)) JoyListPtr stack, JoyListPtr expression) { push_quote_onto_expression(def_VERTICAL_LINE_VERTICAL_LINE_body, expression); } +void def_or(__attribute__((unused)) JoyListPtr stack, JoyListPtr expression) { push_quote_onto_expression(def_or_body, expression); } void def_EXCLAMATION_MARK_HYPHEN_MINUS(__attribute__((unused)) JoyListPtr stack, JoyListPtr expression) { push_quote_onto_expression(def_EXCLAMATION_MARK_HYPHEN_MINUS_body, expression); } void def_LESS_THAN_SIGN_LEFT_CURLY_BRACKET_RIGHT_CURLY_BRACKET(__attribute__((unused)) JoyListPtr stack, JoyListPtr expression) { push_quote_onto_expression(def_LESS_THAN_SIGN_LEFT_CURLY_BRACKET_RIGHT_CURLY_BRACKET_body, expression); } void def_LESS_THAN_SIGN_LESS_THAN_SIGN_LEFT_CURLY_BRACKET_RIGHT_CURLY_BRACKET(__attribute__((unused)) JoyListPtr stack, JoyListPtr expression) { push_quote_onto_expression(def_LESS_THAN_SIGN_LESS_THAN_SIGN_LEFT_CURLY_BRACKET_RIGHT_CURLY_BRACKET_body, expression); } diff --git a/implementations/C/definitions.h b/implementations/C/definitions.h index 37a2cf8..012e2f7 100644 --- a/implementations/C/definitions.h +++ b/implementations/C/definitions.h @@ -11,9 +11,9 @@ void def_le(JoyListPtr stack, JoyListPtr expression); void def_ge(JoyListPtr stack, JoyListPtr expression); void def_HYPHEN_MINUS_HYPHEN_MINUS(JoyListPtr stack, JoyListPtr expression); void def_QUESTION_MARK(JoyListPtr stack, JoyListPtr expression); -void def_AMPERSAND_AMPERSAND(JoyListPtr stack, JoyListPtr expression); +void def_and(JoyListPtr stack, JoyListPtr expression); void def_PLUS_SIGN_PLUS_SIGN(JoyListPtr stack, JoyListPtr expression); -void def_VERTICAL_LINE_VERTICAL_LINE(JoyListPtr stack, JoyListPtr expression); +void def_or(JoyListPtr stack, JoyListPtr expression); void def_EXCLAMATION_MARK_HYPHEN_MINUS(JoyListPtr stack, JoyListPtr expression); void def_LESS_THAN_SIGN_LEFT_CURLY_BRACKET_RIGHT_CURLY_BRACKET(JoyListPtr stack, JoyListPtr expression); void def_LESS_THAN_SIGN_LESS_THAN_SIGN_LEFT_CURLY_BRACKET_RIGHT_CURLY_BRACKET(JoyListPtr stack, JoyListPtr expression); diff --git a/implementations/C/defs.txt b/implementations/C/defs.txt index eb69b20..c211788 100644 --- a/implementations/C/defs.txt +++ b/implementations/C/defs.txt @@ -6,9 +6,9 @@ le [false] [true] [true] cmp ge [true] [true] [false] cmp -- 1 - ? dup bool -&& nulco [nullary [false]] dip branch +and nulco [nullary [false]] dip branch ++ 1 + -|| nulco [nullary] dip [true] branch +or nulco [nullary] dip [true] branch !- 0 >= <{} [] swap <<{} [] rollup @@ -88,7 +88,7 @@ shift uncons [swons] dip shunt [swons] step size [pop ++] step_zero small dup null [rest null] [pop true] branch -spiral_next [[[abs] ii <=] [[<>] [pop !-] ||] &&] [[!-] [[++]] [[--]] ifte dip] [[pop !-] [--] [++] ifte] ifte +spiral_next [[[abs] ii <=] [[<>] [pop !-] or] and] [[!-] [[++]] [[--]] ifte dip] [[pop !-] [--] [++] ifte] ifte split_at [drop] [take] clop split_list [take reverse] [drop] clop sqr dup mul diff --git a/implementations/C/keywords.c b/implementations/C/keywords.c index a0472b8..0293b36 100644 --- a/implementations/C/keywords.c +++ b/implementations/C/keywords.c @@ -36,7 +36,7 @@ #line 13 "KEYWORDS.txt" struct dict_entry; #include -/* maximum key range = 304, duplicates = 0 */ +/* maximum key range = 354, duplicates = 0 */ #ifdef __GNUC__ __inline @@ -50,32 +50,32 @@ keyword_hash (register const char *str, register size_t len) { static const unsigned short asso_values[] = { - 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, - 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, - 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, - 305, 305, 305, 5, 305, 305, 305, 80, 10, 305, - 305, 305, 60, 75, 305, 25, 305, 20, 55, 65, - 15, 75, 305, 305, 305, 305, 305, 305, 305, 305, - 10, 105, 0, 45, 305, 305, 305, 305, 305, 305, - 305, 305, 305, 305, 305, 305, 305, 305, 35, 305, - 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, - 305, 305, 30, 305, 305, 70, 305, 60, 70, 0, - 5, 30, 40, 100, 40, 15, 305, 5, 40, 60, - 0, 15, 0, 85, 70, 30, 25, 0, 115, 80, - 30, 5, 25, 40, 0, 0, 305, 305, 305, 305, - 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, - 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, - 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, - 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, - 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, - 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, - 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, - 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, - 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, - 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, - 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, - 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, - 305, 305, 305, 305, 305, 305 + 355, 355, 355, 355, 355, 355, 355, 355, 355, 355, + 355, 355, 355, 355, 355, 355, 355, 355, 355, 355, + 355, 355, 355, 355, 355, 355, 355, 355, 355, 355, + 355, 355, 355, 15, 355, 355, 355, 90, 355, 355, + 355, 355, 30, 85, 355, 75, 355, 20, 15, 45, + 50, 20, 355, 355, 355, 355, 355, 355, 355, 355, + 10, 115, 0, 80, 355, 355, 355, 355, 355, 355, + 355, 355, 355, 355, 355, 355, 355, 355, 0, 355, + 355, 355, 355, 355, 355, 355, 355, 355, 355, 355, + 355, 355, 85, 355, 355, 15, 355, 100, 70, 0, + 5, 30, 40, 110, 5, 15, 355, 5, 40, 60, + 0, 15, 0, 85, 70, 30, 25, 0, 85, 35, + 25, 5, 0, 40, 355, 0, 355, 355, 355, 355, + 355, 355, 355, 355, 355, 355, 355, 355, 355, 355, + 355, 355, 355, 355, 355, 355, 355, 355, 355, 355, + 355, 355, 355, 355, 355, 355, 355, 355, 355, 355, + 355, 355, 355, 355, 355, 355, 355, 355, 355, 355, + 355, 355, 355, 355, 355, 355, 355, 355, 355, 355, + 355, 355, 355, 355, 355, 355, 355, 355, 355, 355, + 355, 355, 355, 355, 355, 355, 355, 355, 355, 355, + 355, 355, 355, 355, 355, 355, 355, 355, 355, 355, + 355, 355, 355, 355, 355, 355, 355, 355, 355, 355, + 355, 355, 355, 355, 355, 355, 355, 355, 355, 355, + 355, 355, 355, 355, 355, 355, 355, 355, 355, 355, + 355, 355, 355, 355, 355, 355, 355, 355, 355, 355, + 355, 355, 355, 355, 355, 355 }; register unsigned int hval = len; @@ -103,7 +103,7 @@ in_word_set (register const char *str, register size_t len) MIN_WORD_LENGTH = 1, MAX_WORD_LENGTH = 14, MIN_HASH_VALUE = 1, - MAX_HASH_VALUE = 304 + MAX_HASH_VALUE = 354 }; static const struct dict_entry wordlist[] = @@ -111,9 +111,7 @@ in_word_set (register const char *str, register size_t len) {""}, #line 16 "KEYWORDS.txt" {">", def_gt}, -#line 59 "KEYWORDS.txt" - {"||", def_VERTICAL_LINE_VERTICAL_LINE}, - {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, #line 39 "KEYWORDS.txt" {"dup", dup}, {""}, {""}, @@ -154,9 +152,7 @@ in_word_set (register const char *str, register size_t len) {""}, #line 41 "KEYWORDS.txt" {"i", i_joyfunc}, -#line 57 "KEYWORDS.txt" - {"&&", def_AMPERSAND_AMPERSAND}, - {""}, + {""}, {""}, #line 149 "KEYWORDS.txt" {"tuck", def_tuck}, {""}, @@ -167,7 +163,8 @@ in_word_set (register const char *str, register size_t len) {""}, #line 77 "KEYWORDS.txt" {"codi", def_codi}, - {""}, +#line 97 "KEYWORDS.txt" + {"hypot", def_hypot}, #line 30 "KEYWORDS.txt" {"/", fdiv_q}, #line 154 "KEYWORDS.txt" @@ -186,61 +183,59 @@ in_word_set (register const char *str, register size_t len) {"cons", cons}, #line 74 "KEYWORDS.txt" {"ccons", def_ccons}, -#line 28 "KEYWORDS.txt" - {"-", sub}, +#line 157 "KEYWORDS.txt" + {"x", def_x}, #line 107 "KEYWORDS.txt" {"nullary", def_nullary}, #line 61 "KEYWORDS.txt" {"<{}", def_LESS_THAN_SIGN_LEFT_CURLY_BRACKET_RIGHT_CURLY_BRACKET}, #line 79 "KEYWORDS.txt" {"dinfrirst", def_dinfrirst}, - {""}, {""}, -#line 60 "KEYWORDS.txt" - {"!-", def_EXCLAMATION_MARK_HYPHEN_MINUS}, - {""}, +#line 148 "KEYWORDS.txt" + {"third", def_third}, + {""}, {""}, {""}, #line 76 "KEYWORDS.txt" {"clop", def_clop}, #line 105 "KEYWORDS.txt" {"nulco", def_nulco}, -#line 157 "KEYWORDS.txt" - {"x", def_x}, +#line 24 "KEYWORDS.txt" + {"*", mul}, #line 81 "KEYWORDS.txt" {"disenstacken", def_disenstacken}, #line 35 "KEYWORDS.txt" {"cmp", cmp_joyfunc}, #line 62 "KEYWORDS.txt" {"<<{}", def_LESS_THAN_SIGN_LESS_THAN_SIGN_LEFT_CURLY_BRACKET_RIGHT_CURLY_BRACKET}, - {""}, {""}, +#line 131 "KEYWORDS.txt" + {"shunt", def_shunt}, +#line 92 "KEYWORDS.txt" + {"fourth", def_fourth}, #line 155 "KEYWORDS.txt" {"unswons", def_unswons}, #line 104 "KEYWORDS.txt" {"not", def_not}, #line 89 "KEYWORDS.txt" {"enstacken", def_enstacken}, -#line 150 "KEYWORDS.txt" - {"unary", def_unary}, + {""}, #line 129 "KEYWORDS.txt" {"second", def_second}, -#line 174 "KEYWORDS.txt" - {"\\/", def_REVERSE_SOLIDUS_SOLIDUS}, + {""}, #line 128 "KEYWORDS.txt" {"run", def_run}, #line 43 "KEYWORDS.txt" {"loop", loop}, -#line 97 "KEYWORDS.txt" - {"hypot", def_hypot}, - {""}, -#line 55 "KEYWORDS.txt" - {"--", def_HYPHEN_MINUS_HYPHEN_MINUS}, -#line 27 "KEYWORDS.txt" - {"add", add}, -#line 66 "KEYWORDS.txt" - {"app2", def_app2}, + {""}, {""}, +#line 163 "KEYWORDS.txt" + {"_times0", def__times0}, {""}, +#line 132 "KEYWORDS.txt" + {"size", def_size}, +#line 130 "KEYWORDS.txt" + {"shift", def_shift}, #line 134 "KEYWORDS.txt" {"spiral_next", def_spiral_next}, -#line 173 "KEYWORDS.txt" - {"/\\", def_SOLIDUS_REVERSE_SOLIDUS}, +#line 83 "KEYWORDS.txt" + {"down_to_zero", def_down_to_zero}, #line 42 "KEYWORDS.txt" {"inscribe", inscribe}, #line 106 "KEYWORDS.txt" @@ -248,15 +243,16 @@ in_word_set (register const char *str, register size_t len) {""}, #line 101 "KEYWORDS.txt" {"infrst", def_infrst}, - {""}, +#line 165 "KEYWORDS.txt" + {"_timest", def__timest}, #line 23 "KEYWORDS.txt" {"mod", fdiv_r}, #line 158 "KEYWORDS.txt" {"step", def_step}, -#line 148 "KEYWORDS.txt" - {"third", def_third}, -#line 56 "KEYWORDS.txt" - {"?", def_QUESTION_MARK}, +#line 156 "KEYWORDS.txt" + {"while", def_while}, +#line 159 "KEYWORDS.txt" + {"_step0", def__step0}, #line 51 "KEYWORDS.txt" {"lt", def_lt}, #line 140 "KEYWORDS.txt" @@ -270,63 +266,57 @@ in_word_set (register const char *str, register size_t len) {"of", def_of}, #line 153 "KEYWORDS.txt" {"unquoted", def_unquoted}, -#line 68 "KEYWORDS.txt" - {"appN", def_appN}, -#line 131 "KEYWORDS.txt" - {"shunt", def_shunt}, -#line 92 "KEYWORDS.txt" - {"fourth", def_fourth}, + {""}, {""}, +#line 161 "KEYWORDS.txt" + {"_stept", def__stept}, #line 53 "KEYWORDS.txt" {"le", def_le}, #line 135 "KEYWORDS.txt" {"split_at", def_split_at}, -#line 132 "KEYWORDS.txt" - {"size", def_size}, +#line 68 "KEYWORDS.txt" + {"appN", def_appN}, #line 136 "KEYWORDS.txt" {"split_list", def_split_list}, #line 75 "KEYWORDS.txt" {"cleave", def_cleave}, -#line 145 "KEYWORDS.txt" - {"tailrec", def_tailrec}, +#line 164 "KEYWORDS.txt" + {"_times1", def__times1}, {""}, #line 139 "KEYWORDS.txt" {"step_zero", def_step_zero}, - {""}, +#line 150 "KEYWORDS.txt" + {"unary", def_unary}, #line 118 "KEYWORDS.txt" {"quoted", def_quoted}, -#line 69 "KEYWORDS.txt" - {"at", def_at}, -#line 93 "KEYWORDS.txt" - {"gcd", def_gcd}, +#line 144 "KEYWORDS.txt" + {"swoncat", def_swoncat}, +#line 57 "KEYWORDS.txt" + {"and", def_and}, #line 98 "KEYWORDS.txt" {"ifte", def_ifte}, -#line 130 "KEYWORDS.txt" - {"shift", def_shift}, - {""}, +#line 143 "KEYWORDS.txt" + {"swons", def_swons}, +#line 82 "KEYWORDS.txt" + {"divmod", def_divmod}, #line 117 "KEYWORDS.txt" {"product", def_product}, - {""}, +#line 27 "KEYWORDS.txt" + {"add", add}, #line 121 "KEYWORDS.txt" {"reco", def_reco}, -#line 100 "KEYWORDS.txt" - {"infra", def_infra}, -#line 24 "KEYWORDS.txt" - {"*", mul}, + {""}, +#line 160 "KEYWORDS.txt" + {"_step1", def__step1}, #line 110 "KEYWORDS.txt" {"pm", def_pm}, -#line 166 "KEYWORDS.txt" - {"map", def_map}, -#line 146 "KEYWORDS.txt" - {"take", def_take}, -#line 46 "KEYWORDS.txt" - {"stack", stack}, -#line 138 "KEYWORDS.txt" - {"stackd", def_stackd}, -#line 83 "KEYWORDS.txt" - {"down_to_zero", def_down_to_zero}, - {""}, -#line 65 "KEYWORDS.txt" - {"app1", def_app1}, +#line 93 "KEYWORDS.txt" + {"gcd", def_gcd}, +#line 67 "KEYWORDS.txt" + {"app3", def_app3}, + {""}, {""}, +#line 174 "KEYWORDS.txt" + {"\\/", def_REVERSE_SOLIDUS_SOLIDUS}, + {""}, {""}, #line 123 "KEYWORDS.txt" {"roll>", def_roll_GREATER_THAN_SIGN}, #line 125 "KEYWORDS.txt" @@ -338,91 +328,96 @@ in_word_set (register const char *str, register size_t len) {"fork", def_fork}, #line 162 "KEYWORDS.txt" {"times", def_times}, -#line 94 "KEYWORDS.txt" - {"genrec", def_genrec}, + {""}, #line 147 "KEYWORDS.txt" {"ternary", def_ternary}, {""}, -#line 67 "KEYWORDS.txt" - {"app3", def_app3}, +#line 172 "KEYWORDS.txt" + {"_\\/_", def___REVERSE_SOLIDUS_SOLIDUS__}, #line 124 "KEYWORDS.txt" {"roll<", def_roll_LESS_THAN_SIGN}, #line 71 "KEYWORDS.txt" {"b", def_b}, -#line 165 "KEYWORDS.txt" - {"_timest", def__timest}, + {""}, #line 25 "KEYWORDS.txt" {"mul", mul}, #line 32 "KEYWORDS.txt" {"bool", truthy}, #line 34 "KEYWORDS.txt" {"clear", clear}, -#line 82 "KEYWORDS.txt" - {"divmod", def_divmod}, -#line 90 "KEYWORDS.txt" - {"flatten", def_flatten}, - {""}, {""}, {""}, -#line 26 "KEYWORDS.txt" - {"+", add}, -#line 50 "KEYWORDS.txt" - {"gt", def_gt}, +#line 94 "KEYWORDS.txt" + {"genrec", def_genrec}, +#line 145 "KEYWORDS.txt" + {"tailrec", def_tailrec}, + {""}, +#line 65 "KEYWORDS.txt" + {"app1", def_app1}, + {""}, +#line 28 "KEYWORDS.txt" + {"-", sub}, +#line 69 "KEYWORDS.txt" + {"at", def_at}, #line 141 "KEYWORDS.txt" {"sum", def_sum}, - {""}, +#line 66 "KEYWORDS.txt" + {"app2", def_app2}, #line 40 "KEYWORDS.txt" {"first", first}, -#line 161 "KEYWORDS.txt" - {"_stept", def__stept}, -#line 144 "KEYWORDS.txt" - {"swoncat", def_swoncat}, -#line 120 "KEYWORDS.txt" - {"range_to_zero", def_range_to_zero}, + {""}, +#line 59 "KEYWORDS.txt" + {"or", def_or}, + {""}, #line 45 "KEYWORDS.txt" {"rest", rest}, -#line 143 "KEYWORDS.txt" - {"swons", def_swons}, -#line 22 "KEYWORDS.txt" - {"%", fdiv_r}, +#line 100 "KEYWORDS.txt" + {"infra", def_infra}, +#line 56 "KEYWORDS.txt" + {"?", def_QUESTION_MARK}, +#line 50 "KEYWORDS.txt" + {"gt", def_gt}, +#line 166 "KEYWORDS.txt" + {"map", def_map}, +#line 146 "KEYWORDS.txt" + {"take", def_take}, +#line 46 "KEYWORDS.txt" + {"stack", stack}, +#line 138 "KEYWORDS.txt" + {"stackd", def_stackd}, +#line 60 "KEYWORDS.txt" + {"!-", def_EXCLAMATION_MARK_HYPHEN_MINUS}, + {""}, +#line 48 "KEYWORDS.txt" + {"swap", swap}, + {""}, +#line 26 "KEYWORDS.txt" + {"+", add}, #line 54 "KEYWORDS.txt" {"ge", def_ge}, - {""}, {""}, -#line 119 "KEYWORDS.txt" - {"range", def_range}, - {""}, {""}, {""}, {""}, -#line 156 "KEYWORDS.txt" - {"while", def_while}, - {""}, -#line 163 "KEYWORDS.txt" - {"_times0", def__times0}, #line 29 "KEYWORDS.txt" {"sub", sub}, -#line 48 "KEYWORDS.txt" - {"swap", swap}, - {""}, {""}, {""}, {""}, {""}, + {""}, #line 142 "KEYWORDS.txt" {"swapd", def_swapd}, #line 47 "KEYWORDS.txt" {"swaack", swaack}, -#line 164 "KEYWORDS.txt" - {"_times1", def__times1}, -#line 109 "KEYWORDS.txt" - {"pam", def_pam}, - {""}, {""}, -#line 159 "KEYWORDS.txt" - {"_step0", def__step0}, {""}, {""}, {""}, {""}, -#line 64 "KEYWORDS.txt" - {"anamorphism", def_anamorphism}, +#line 22 "KEYWORDS.txt" + {"%", fdiv_r}, + {""}, {""}, {""}, {""}, {""}, +#line 90 "KEYWORDS.txt" + {"flatten", def_flatten}, + {""}, {""}, {""}, {""}, +#line 173 "KEYWORDS.txt" + {"/\\", def_SOLIDUS_REVERSE_SOLIDUS}, +#line 31 "KEYWORDS.txt" + {"div", fdiv_q}, + {""}, +#line 169 "KEYWORDS.txt" + {"_map0", def__map0}, + {""}, {""}, +#line 120 "KEYWORDS.txt" + {"range_to_zero", def_range_to_zero}, {""}, -#line 63 "KEYWORDS.txt" - {"abs", def_abs}, -#line 172 "KEYWORDS.txt" - {"_\\/_", def___REVERSE_SOLIDUS_SOLIDUS__}, -#line 133 "KEYWORDS.txt" - {"small", def_small}, -#line 160 "KEYWORDS.txt" - {"_step1", def__step1}, - {""}, {""}, {""}, #line 127 "KEYWORDS.txt" {"rrest", def_rrest}, {""}, @@ -430,60 +425,76 @@ in_word_set (register const char *str, register size_t len) {"eq", def_eq}, #line 52 "KEYWORDS.txt" {"neq", def_neq}, - {""}, {""}, {""}, {""}, {""}, -#line 102 "KEYWORDS.txt" - {"make_generator", def_make_generator}, + {""}, +#line 119 "KEYWORDS.txt" + {"range", def_range}, + {""}, {""}, {""}, {""}, +#line 168 "KEYWORDS.txt" + {"_mape", def__mape}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, +#line 122 "KEYWORDS.txt" + {"reverse", def_reverse}, +#line 109 "KEYWORDS.txt" + {"pam", def_pam}, + {""}, +#line 170 "KEYWORDS.txt" + {"_map1", def__map1}, + {""}, +#line 55 "KEYWORDS.txt" + {"--", def_HYPHEN_MINUS_HYPHEN_MINUS}, + {""}, {""}, #line 171 "KEYWORDS.txt" {"_map2", def__map2}, #line 15 "KEYWORDS.txt" {"=", def_eq}, #line 21 "KEYWORDS.txt" {">=", def_ge}, +#line 63 "KEYWORDS.txt" + {"abs", def_abs}, + {""}, +#line 133 "KEYWORDS.txt" + {"small", def_small}, + {""}, {""}, {""}, {""}, {""}, {""}, +#line 20 "KEYWORDS.txt" + {"<=", def_le}, {""}, {""}, {""}, {""}, #line 18 "KEYWORDS.txt" {"!=", def_neq}, - {""}, {""}, {""}, {""}, -#line 20 "KEYWORDS.txt" - {"<=", def_le}, - {""}, {""}, -#line 168 "KEYWORDS.txt" - {"_mape", def__mape}, {""}, -#line 58 "KEYWORDS.txt" - {"++", def_PLUS_SIGN_PLUS_SIGN}, - {""}, {""}, {""}, {""}, {""}, -#line 103 "KEYWORDS.txt" - {"neg", def_neg}, - {""}, {""}, {""}, {""}, {""}, {""}, -#line 167 "KEYWORDS.txt" - {"_map?", def__map_QUESTION_MARK}, +#line 102 "KEYWORDS.txt" + {"make_generator", def_make_generator}, {""}, -#line 70 "KEYWORDS.txt" - {"average", def_average}, - {""}, {""}, {""}, #line 33 "KEYWORDS.txt" {"branch", branch}, +#line 70 "KEYWORDS.txt" + {"average", def_average}, +#line 103 "KEYWORDS.txt" + {"neg", def_neg}, {""}, {""}, {""}, -#line 169 "KEYWORDS.txt" - {"_map0", def__map0}, - {""}, -#line 122 "KEYWORDS.txt" - {"reverse", def_reverse}, -#line 31 "KEYWORDS.txt" - {"div", fdiv_q}, - {""}, {""}, {""}, {""}, +#line 58 "KEYWORDS.txt" + {"++", def_PLUS_SIGN_PLUS_SIGN}, #line 137 "KEYWORDS.txt" {"sqr", def_sqr}, {""}, -#line 170 "KEYWORDS.txt" - {"_map1", def__map1}, +#line 167 "KEYWORDS.txt" + {"_map?", def__map_QUESTION_MARK}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, +#line 64 "KEYWORDS.txt" + {"anamorphism", def_anamorphism}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, #line 95 "KEYWORDS.txt" {"grabN", def_grabN}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, #line 96 "KEYWORDS.txt" {"grba", def_grba} }; diff --git a/implementations/Nim/defs.txt b/implementations/Nim/defs.txt index eb69b20..c211788 100644 --- a/implementations/Nim/defs.txt +++ b/implementations/Nim/defs.txt @@ -6,9 +6,9 @@ le [false] [true] [true] cmp ge [true] [true] [false] cmp -- 1 - ? dup bool -&& nulco [nullary [false]] dip branch +and nulco [nullary [false]] dip branch ++ 1 + -|| nulco [nullary] dip [true] branch +or nulco [nullary] dip [true] branch !- 0 >= <{} [] swap <<{} [] rollup @@ -88,7 +88,7 @@ shift uncons [swons] dip shunt [swons] step size [pop ++] step_zero small dup null [rest null] [pop true] branch -spiral_next [[[abs] ii <=] [[<>] [pop !-] ||] &&] [[!-] [[++]] [[--]] ifte dip] [[pop !-] [--] [++] ifte] ifte +spiral_next [[[abs] ii <=] [[<>] [pop !-] or] and] [[!-] [[++]] [[--]] ifte dip] [[pop !-] [--] [++] ifte] ifte split_at [drop] [take] clop split_list [take reverse] [drop] clop sqr dup mul diff --git a/implementations/defs.txt b/implementations/defs.txt index eb69b20..c211788 100644 --- a/implementations/defs.txt +++ b/implementations/defs.txt @@ -6,9 +6,9 @@ le [false] [true] [true] cmp ge [true] [true] [false] cmp -- 1 - ? dup bool -&& nulco [nullary [false]] dip branch +and nulco [nullary [false]] dip branch ++ 1 + -|| nulco [nullary] dip [true] branch +or nulco [nullary] dip [true] branch !- 0 >= <{} [] swap <<{} [] rollup @@ -88,7 +88,7 @@ shift uncons [swons] dip shunt [swons] step size [pop ++] step_zero small dup null [rest null] [pop true] branch -spiral_next [[[abs] ii <=] [[<>] [pop !-] ||] &&] [[!-] [[++]] [[--]] ifte dip] [[pop !-] [--] [++] ifte] ifte +spiral_next [[[abs] ii <=] [[<>] [pop !-] or] and] [[!-] [[++]] [[--]] ifte dip] [[pop !-] [--] [++] ifte] ifte split_at [drop] [take] clop split_list [take reverse] [drop] clop sqr dup mul -- 2.11.0