From 735ee73515849d35cb54924f92d96b82aac9238f Mon Sep 17 00:00:00 2001 From: sforman Date: Mon, 23 Oct 2023 22:50:44 -0700 Subject: [PATCH] Remake C version. --- implementations/C/KEYWORDS.txt | 1 + implementations/C/definitions.c | 5 +- implementations/C/definitions.h | 1 + implementations/C/defs.txt | 3 +- implementations/C/keywords.c | 696 ++++++++++++++++---------------- 5 files changed, 367 insertions(+), 339 deletions(-) diff --git a/implementations/C/KEYWORDS.txt b/implementations/C/KEYWORDS.txt index 9617ba7..78b8585 100644 --- a/implementations/C/KEYWORDS.txt +++ b/implementations/C/KEYWORDS.txt @@ -143,6 +143,7 @@ run, def_run second, def_second shift, def_shift shunt, def_shunt +select, def_select size, def_size small, def_small spiral_next, def_spiral_next diff --git a/implementations/C/definitions.c b/implementations/C/definitions.c index 01739aa..c37c560 100644 --- a/implementations/C/definitions.c +++ b/implementations/C/definitions.c @@ -106,6 +106,7 @@ JoyList def_run_body; JoyList def_second_body; JoyList def_shift_body; JoyList def_shunt_body; +JoyList def_select_body; JoyList def_size_body; JoyList def_small_body; JoyList def_spiral_next_body; @@ -267,8 +268,9 @@ init_defs(void) def_second_body = text_to_expression("rest first"); def_shift_body = text_to_expression("uncons [swons] dip"); def_shunt_body = text_to_expression("[swons] step"); + def_select_body = text_to_expression("[first] [second] branch"); def_size_body = text_to_expression("[pop ++] step_zero"); - def_small_body = text_to_expression("dup null [rest null] [pop true] branch"); + def_small_body = text_to_expression("empty? [rest null] [pop true] branch"); 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"); @@ -425,6 +427,7 @@ void def_run(__attribute__((unused)) JoyListPtr stack, JoyListPtr expression) { void def_second(__attribute__((unused)) JoyListPtr stack, JoyListPtr expression) { push_quote_onto_expression(def_second_body, expression); } void def_shift(__attribute__((unused)) JoyListPtr stack, JoyListPtr expression) { push_quote_onto_expression(def_shift_body, expression); } void def_shunt(__attribute__((unused)) JoyListPtr stack, JoyListPtr expression) { push_quote_onto_expression(def_shunt_body, expression); } +void def_select(__attribute__((unused)) JoyListPtr stack, JoyListPtr expression) { push_quote_onto_expression(def_select_body, expression); } void def_size(__attribute__((unused)) JoyListPtr stack, JoyListPtr expression) { push_quote_onto_expression(def_size_body, expression); } void def_small(__attribute__((unused)) JoyListPtr stack, JoyListPtr expression) { push_quote_onto_expression(def_small_body, expression); } void def_spiral_next(__attribute__((unused)) JoyListPtr stack, JoyListPtr expression) { push_quote_onto_expression(def_spiral_next_body, expression); } diff --git a/implementations/C/definitions.h b/implementations/C/definitions.h index cbe972f..e405d9b 100644 --- a/implementations/C/definitions.h +++ b/implementations/C/definitions.h @@ -97,6 +97,7 @@ void def_run(JoyListPtr stack, JoyListPtr expression); void def_second(JoyListPtr stack, JoyListPtr expression); void def_shift(JoyListPtr stack, JoyListPtr expression); void def_shunt(JoyListPtr stack, JoyListPtr expression); +void def_select(JoyListPtr stack, JoyListPtr expression); void def_size(JoyListPtr stack, JoyListPtr expression); void def_small(JoyListPtr stack, JoyListPtr expression); void def_spiral_next(JoyListPtr stack, JoyListPtr expression); diff --git a/implementations/C/defs.txt b/implementations/C/defs.txt index a2ada1e..934989a 100644 --- a/implementations/C/defs.txt +++ b/implementations/C/defs.txt @@ -99,8 +99,9 @@ run <{} infra second rest first shift uncons [swons] dip shunt [swons] step +select [first] [second] branch size [pop ++] step_zero -small dup null [rest null] [pop true] branch +small empty? [rest null] [pop true] branch spiral_next [[[abs] ii <=] [[<>] [pop !-] or] and] [[!-] [[++]] [[--]] ifte dip] [[pop !-] [--] [++] ifte] ifte split_at [drop] [take] clop split_list [take reverse] [drop] clop diff --git a/implementations/C/keywords.c b/implementations/C/keywords.c index bf2c7e4..4a7ccc3 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 = 365, duplicates = 0 */ +/* maximum key range = 422, 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[] = { - 366, 366, 366, 366, 366, 366, 366, 366, 366, 366, - 366, 366, 366, 366, 366, 366, 366, 366, 366, 366, - 366, 366, 366, 366, 366, 366, 366, 366, 366, 366, - 366, 366, 366, 50, 366, 366, 366, 95, 366, 366, - 366, 366, 50, 45, 366, 85, 366, 20, 95, 85, - 35, 50, 366, 366, 366, 366, 366, 366, 366, 366, - 75, 115, 15, 55, 366, 366, 366, 366, 366, 366, - 366, 366, 366, 366, 366, 366, 366, 366, 15, 366, - 366, 366, 366, 366, 366, 366, 366, 366, 366, 366, - 366, 366, 80, 366, 366, 75, 366, 105, 70, 15, - 5, 30, 35, 115, 20, 0, 366, 95, 65, 85, - 0, 0, 0, 110, 55, 0, 40, 15, 30, 45, - 10, 105, 10, 30, 366, 0, 366, 366, 366, 366, - 366, 366, 366, 366, 366, 366, 366, 366, 366, 366, - 366, 366, 366, 366, 366, 366, 366, 366, 366, 366, - 366, 366, 366, 366, 366, 366, 366, 366, 366, 366, - 366, 366, 366, 366, 366, 366, 366, 366, 366, 366, - 366, 366, 366, 366, 366, 366, 366, 366, 366, 366, - 366, 366, 366, 366, 366, 366, 366, 366, 366, 366, - 366, 366, 366, 366, 366, 366, 366, 366, 366, 366, - 366, 366, 366, 366, 366, 366, 366, 366, 366, 366, - 366, 366, 366, 366, 366, 366, 366, 366, 366, 366, - 366, 366, 366, 366, 366, 366, 366, 366, 366, 366, - 366, 366, 366, 366, 366, 366, 366, 366, 366, 366, - 366, 366, 366, 366, 366, 366, 366, 366, 366, 366, - 366, 366, 366, 366, 366, 366 + 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, + 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, + 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, + 423, 423, 423, 20, 423, 423, 423, 65, 423, 423, + 423, 423, 55, 80, 423, 135, 423, 15, 25, 10, + 5, 25, 423, 423, 423, 423, 423, 423, 423, 423, + 140, 90, 35, 50, 423, 423, 423, 423, 423, 423, + 423, 423, 423, 423, 423, 423, 423, 423, 0, 423, + 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, + 423, 423, 5, 423, 423, 100, 423, 85, 95, 15, + 5, 60, 45, 125, 0, 0, 423, 115, 60, 115, + 0, 0, 0, 150, 75, 0, 40, 15, 25, 115, + 10, 95, 10, 5, 423, 0, 423, 423, 423, 423, + 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, + 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, + 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, + 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, + 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, + 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, + 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, + 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, + 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, + 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, + 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, + 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, + 423, 423, 423, 423, 423, 423 }; register unsigned int hval = len; @@ -99,11 +99,11 @@ in_word_set (register const char *str, register size_t len) { enum { - TOTAL_KEYWORDS = 188, + TOTAL_KEYWORDS = 189, MIN_WORD_LENGTH = 1, MAX_WORD_LENGTH = 17, MIN_HASH_VALUE = 1, - MAX_HASH_VALUE = 365 + MAX_HASH_VALUE = 422 }; static const struct dict_entry wordlist[] = @@ -131,7 +131,7 @@ in_word_set (register const char *str, register size_t len) {"popopd", def_popopd}, #line 124 "KEYWORDS.txt" {"popopdd", def_popopdd}, -#line 193 "KEYWORDS.txt" +#line 194 "KEYWORDS.txt" {"zip", def_zip}, #line 83 "KEYWORDS.txt" {"dipd", def_dipd}, @@ -145,9 +145,9 @@ in_word_set (register const char *str, register size_t len) #line 38 "KEYWORDS.txt" {"cons", cons}, {""}, -#line 172 "KEYWORDS.txt" +#line 173 "KEYWORDS.txt" {"x", def_x}, -#line 170 "KEYWORDS.txt" +#line 171 "KEYWORDS.txt" {"unswons", def_unswons}, #line 41 "KEYWORDS.txt" {"dup", dup}, @@ -156,404 +156,426 @@ in_word_set (register const char *str, register size_t len) {""}, #line 93 "KEYWORDS.txt" {"dupdip", def_dupdip}, - {""}, +#line 191 "KEYWORDS.txt" + {"/\\", def_SOLIDUS_REVERSE_SOLIDUS}, #line 81 "KEYWORDS.txt" {"codireco", def_codireco}, #line 91 "KEYWORDS.txt" {"dupd", def_dupd}, #line 90 "KEYWORDS.txt" {"dupdd", def_dupdd}, -#line 16 "KEYWORDS.txt" - {">", def_gt}, +#line 30 "KEYWORDS.txt" + {"/", fdiv_q}, #line 92 "KEYWORDS.txt" {"dupdipd", def_dupdipd}, {""}, {""}, #line 76 "KEYWORDS.txt" {"ccons", def_ccons}, -#line 166 "KEYWORDS.txt" +#line 167 "KEYWORDS.txt" {"uncons", def_uncons}, -#line 51 "KEYWORDS.txt" - {"fn", fn}, -#line 44 "KEYWORDS.txt" - {"inscribe", inscribe}, -#line 94 "KEYWORDS.txt" - {"enstacken", def_enstacken}, -#line 195 "KEYWORDS.txt" - {"uncons-two", def_uncons_HYPHEN_MINUS_two}, -#line 30 "KEYWORDS.txt" - {"/", fdiv_q}, +#line 192 "KEYWORDS.txt" + {"\\/", def_REVERSE_SOLIDUS_SOLIDUS}, {""}, {""}, -#line 146 "KEYWORDS.txt" - {"size", def_size}, - {""}, +#line 196 "KEYWORDS.txt" + {"uncons-two", def_uncons_HYPHEN_MINUS_two}, #line 87 "KEYWORDS.txt" {"divmod", def_divmod}, -#line 141 "KEYWORDS.txt" - {">>", def_GREATER_THAN_SIGN_GREATER_THAN_SIGN}, + {""}, {""}, {""}, +#line 144 "KEYWORDS.txt" + {"shift", def_shift}, {""}, -#line 155 "KEYWORDS.txt" +#line 51 "KEYWORDS.txt" + {"fn", fn}, + {""}, +#line 156 "KEYWORDS.txt" {"succ", def_succ}, -#line 159 "KEYWORDS.txt" - {"swons", def_swons}, -#line 148 "KEYWORDS.txt" +#line 164 "KEYWORDS.txt" + {"third", def_third}, +#line 149 "KEYWORDS.txt" {"spiral_next", def_spiral_next}, #line 75 "KEYWORDS.txt" {"ccccons", def_ccccons}, {""}, #line 82 "KEYWORDS.txt" {"dinfrirst", def_dinfrirst}, - {""}, -#line 143 "KEYWORDS.txt" - {"second", def_second}, - {""}, {""}, -#line 167 "KEYWORDS.txt" - {"unit", def_unit}, - {""}, -#line 39 "KEYWORDS.txt" - {"concat", concat}, -#line 88 "KEYWORDS.txt" - {"down_to_zero", def_down_to_zero}, -#line 154 "KEYWORDS.txt" - {"stuncons", def_stuncons}, -#line 89 "KEYWORDS.txt" - {"drop", def_drop}, -#line 144 "KEYWORDS.txt" - {"shift", def_shift}, - {""}, {""}, + {""}, {""}, {""}, #line 31 "KEYWORDS.txt" {"div", fdiv_q}, +#line 168 "KEYWORDS.txt" + {"unit", def_unit}, +#line 145 "KEYWORDS.txt" + {"shunt", def_shunt}, +#line 39 "KEYWORDS.txt" + {"concat", concat}, + {""}, +#line 155 "KEYWORDS.txt" + {"stuncons", def_stuncons}, #line 45 "KEYWORDS.txt" {"loop", loop}, -#line 163 "KEYWORDS.txt" - {"third", def_third}, -#line 77 "KEYWORDS.txt" - {"choice", def_choice}, -#line 116 "KEYWORDS.txt" - {"of", def_of}, -#line 142 "KEYWORDS.txt" - {"run", def_run}, -#line 173 "KEYWORDS.txt" - {"step", def_step}, {""}, #line 98 "KEYWORDS.txt" {"fourth", def_fourth}, - {""}, {""}, -#line 153 "KEYWORDS.txt" - {"step_zero", def_step_zero}, -#line 145 "KEYWORDS.txt" - {"shunt", def_shunt}, -#line 107 "KEYWORDS.txt" - {"infrst", def_infrst}, {""}, -#line 112 "KEYWORDS.txt" - {"not", def_not}, +#line 44 "KEYWORDS.txt" + {"inscribe", inscribe}, +#line 94 "KEYWORDS.txt" + {"enstacken", def_enstacken}, + {""}, +#line 16 "KEYWORDS.txt" + {">", def_gt}, + {""}, {""}, +#line 147 "KEYWORDS.txt" + {"size", def_size}, + {""}, {""}, {""}, {""}, #line 79 "KEYWORDS.txt" {"clop", def_clop}, #line 113 "KEYWORDS.txt" {"nulco", def_nulco}, +#line 77 "KEYWORDS.txt" + {"choice", def_choice}, + {""}, +#line 112 "KEYWORDS.txt" + {"not", def_not}, +#line 89 "KEYWORDS.txt" + {"drop", def_drop}, + {""}, +#line 143 "KEYWORDS.txt" + {"second", def_second}, {""}, {""}, -#line 201 "KEYWORDS.txt" +#line 70 "KEYWORDS.txt" + {"appN", def_appN}, + {""}, +#line 107 "KEYWORDS.txt" + {"infrst", def_infrst}, +#line 116 "KEYWORDS.txt" + {"of", def_of}, +#line 142 "KEYWORDS.txt" + {"run", def_run}, +#line 68 "KEYWORDS.txt" + {"app2", def_app2}, + {""}, {""}, {""}, +#line 66 "KEYWORDS.txt" + {"and", def_and}, +#line 67 "KEYWORDS.txt" + {"app1", def_app1}, + {""}, +#line 58 "KEYWORDS.txt" + {"?", def_QUESTION_MARK}, + {""}, +#line 27 "KEYWORDS.txt" + {"add", add}, +#line 174 "KEYWORDS.txt" + {"step", def_step}, + {""}, +#line 32 "KEYWORDS.txt" + {"lshift", lshift}, +#line 141 "KEYWORDS.txt" + {">>", def_GREATER_THAN_SIGN_GREATER_THAN_SIGN}, +#line 150 "KEYWORDS.txt" + {"split_at", def_split_at}, +#line 154 "KEYWORDS.txt" + {"step_zero", def_step_zero}, +#line 151 "KEYWORDS.txt" + {"split_list", def_split_list}, +#line 24 "KEYWORDS.txt" + {"*", mul}, + {""}, {""}, +#line 69 "KEYWORDS.txt" + {"app3", def_app3}, +#line 189 "KEYWORDS.txt" + {"_isnt_two_bools", def__isnt_two_bools}, +#line 195 "KEYWORDS.txt" + {"uncons-pair", def_uncons_HYPHEN_MINUS_pair}, + {""}, +#line 202 "KEYWORDS.txt" {"min", def_min}, {""}, -#line 188 "KEYWORDS.txt" - {"_isnt_two_bools", def__isnt_two_bools}, -#line 26 "KEYWORDS.txt" - {"+", add}, -#line 158 "KEYWORDS.txt" - {"swoncat", def_swoncat}, -#line 128 "KEYWORDS.txt" - {"pow", def_pow}, -#line 129 "KEYWORDS.txt" - {"pred", def_pred}, -#line 200 "KEYWORDS.txt" +#line 160 "KEYWORDS.txt" + {"swons", def_swons}, +#line 33 "KEYWORDS.txt" + {"rshift", rshift}, +#line 130 "KEYWORDS.txt" + {"product", def_product}, + {""}, {""}, +#line 201 "KEYWORDS.txt" {"min-of-two", def_min_HYPHEN_MINUS_of_HYPHEN_MINUS_two}, -#line 194 "KEYWORDS.txt" - {"uncons-pair", def_uncons_HYPHEN_MINUS_pair}, + {""}, #line 110 "KEYWORDS.txt" {"modulus", def_modulus}, #line 23 "KEYWORDS.txt" {"mod", fdiv_r}, #line 95 "KEYWORDS.txt" {"first_two", def_first_two}, -#line 171 "KEYWORDS.txt" - {"while", def_while}, -#line 24 "KEYWORDS.txt" - {"*", mul}, -#line 130 "KEYWORDS.txt" - {"product", def_product}, + {""}, +#line 22 "KEYWORDS.txt" + {"%", fdiv_r}, +#line 88 "KEYWORDS.txt" + {"down_to_zero", def_down_to_zero}, #line 37 "KEYWORDS.txt" {"cmp", cmp_joyfunc}, -#line 134 "KEYWORDS.txt" - {"reco", def_reco}, +#line 120 "KEYWORDS.txt" + {"pick", def_pick}, +#line 106 "KEYWORDS.txt" + {"infra", def_infra}, +#line 153 "KEYWORDS.txt" + {"stackd", def_stackd}, +#line 170 "KEYWORDS.txt" + {"unstack", def_unstack}, + {""}, +#line 115 "KEYWORDS.txt" + {"null", def_null}, + {""}, +#line 139 "KEYWORDS.txt" + {"rollup", def_rollup}, +#line 54 "KEYWORDS.txt" + {"lt", def_lt}, +#line 136 "KEYWORDS.txt" + {"rolldown", def_rolldown}, +#line 129 "KEYWORDS.txt" + {"pred", def_pred}, {""}, {""}, -#line 19 "KEYWORDS.txt" - {"<>", def_neq}, +#line 161 "KEYWORDS.txt" + {"tailrec", def_tailrec}, #line 62 "KEYWORDS.txt" {"<{}", def_LESS_THAN_SIGN_LEFT_CURLY_BRACKET_RIGHT_CURLY_BRACKET}, #line 104 "KEYWORDS.txt" {"ifte", def_ifte}, +#line 193 "KEYWORDS.txt" + {"_isnt_list", def__isnt_list}, {""}, -#line 58 "KEYWORDS.txt" - {"?", def_QUESTION_MARK}, #line 117 "KEYWORDS.txt" {"or", def_or}, -#line 149 "KEYWORDS.txt" - {"split_at", def_split_at}, -#line 120 "KEYWORDS.txt" - {"pick", def_pick}, -#line 150 "KEYWORDS.txt" - {"split_list", def_split_list}, - {""}, -#line 169 "KEYWORDS.txt" - {"unstack", def_unstack}, -#line 66 "KEYWORDS.txt" - {"and", def_and}, -#line 118 "KEYWORDS.txt" - {"over", def_over}, - {""}, -#line 33 "KEYWORDS.txt" - {"rshift", rshift}, -#line 191 "KEYWORDS.txt" - {"\\/", def_REVERSE_SOLIDUS_SOLIDUS}, -#line 27 "KEYWORDS.txt" - {"add", add}, -#line 70 "KEYWORDS.txt" - {"appN", def_appN}, -#line 192 "KEYWORDS.txt" - {"_isnt_list", def__isnt_list}, -#line 139 "KEYWORDS.txt" - {"rollup", def_rollup}, -#line 56 "KEYWORDS.txt" - {"le", def_le}, -#line 136 "KEYWORDS.txt" - {"rolldown", def_rolldown}, -#line 47 "KEYWORDS.txt" - {"rest", rest}, -#line 177 "KEYWORDS.txt" - {"times", def_times}, -#line 32 "KEYWORDS.txt" - {"lshift", lshift}, - {""}, {""}, -#line 196 "KEYWORDS.txt" - {"quote-two", def_quote_HYPHEN_MINUS_two}, -#line 42 "KEYWORDS.txt" - {"first", first}, -#line 131 "KEYWORDS.txt" - {"quoted", def_quoted}, -#line 60 "KEYWORDS.txt" - {"++", def_PLUS_SIGN_PLUS_SIGN}, -#line 168 "KEYWORDS.txt" - {"unquoted", def_unquoted}, -#line 34 "KEYWORDS.txt" - {"bool", truthy}, -#line 138 "KEYWORDS.txt" - {"roll>", def_roll_GREATER_THAN_SIGN}, -#line 73 "KEYWORDS.txt" - {"b", def_b}, -#line 202 "KEYWORDS.txt" - {"on-non-empty-list", def_on_HYPHEN_MINUS_non_HYPHEN_MINUS_empty_HYPHEN_MINUS_list}, #line 99 "KEYWORDS.txt" {"gcd", def_gcd}, -#line 68 "KEYWORDS.txt" - {"app2", def_app2}, -#line 106 "KEYWORDS.txt" - {"infra", def_infra}, -#line 78 "KEYWORDS.txt" - {"cleave", def_cleave}, -#line 54 "KEYWORDS.txt" - {"lt", def_lt}, +#line 134 "KEYWORDS.txt" + {"reco", def_reco}, {""}, -#line 115 "KEYWORDS.txt" - {"null", def_null}, -#line 187 "KEYWORDS.txt" - {"_isnt_bool", def__isnt_bool}, -#line 17 "KEYWORDS.txt" - {"<", def_lt}, -#line 135 "KEYWORDS.txt" - {"reverse", def_reverse}, - {""}, -#line 50 "KEYWORDS.txt" - {"swap", swap}, - {""}, -#line 152 "KEYWORDS.txt" - {"stackd", def_stackd}, - {""}, -#line 29 "KEYWORDS.txt" - {"sub", sub}, -#line 69 "KEYWORDS.txt" - {"app3", def_app3}, -#line 157 "KEYWORDS.txt" - {"swapd", def_swapd}, #line 176 "KEYWORDS.txt" - {"_stept", def__stept}, + {"_step1", def__step1}, #line 180 "KEYWORDS.txt" - {"_timest", def__timest}, - {""}, {""}, {""}, -#line 100 "KEYWORDS.txt" - {"genrec", def_genrec}, -#line 160 "KEYWORDS.txt" - {"tailrec", def_tailrec}, + {"_times1", def__times1}, {""}, -#line 164 "KEYWORDS.txt" - {"tuck", def_tuck}, -#line 36 "KEYWORDS.txt" - {"clear", clear}, -#line 28 "KEYWORDS.txt" - {"-", sub}, -#line 121 "KEYWORDS.txt" - {"pm", def_pm}, +#line 34 "KEYWORDS.txt" + {"bool", truthy}, +#line 178 "KEYWORDS.txt" + {"times", def_times}, +#line 26 "KEYWORDS.txt" + {"+", add}, +#line 159 "KEYWORDS.txt" + {"swoncat", def_swoncat}, + {""}, +#line 118 "KEYWORDS.txt" + {"over", def_over}, +#line 42 "KEYWORDS.txt" + {"first", first}, +#line 146 "KEYWORDS.txt" + {"select", def_select}, +#line 71 "KEYWORDS.txt" + {"at", def_at}, + {""}, {""}, +#line 188 "KEYWORDS.txt" + {"_isnt_bool", def__isnt_bool}, +#line 175 "KEYWORDS.txt" + {"_step0", def__step0}, +#line 179 "KEYWORDS.txt" + {"_times0", def__times0}, #line 133 "KEYWORDS.txt" {"range_to_zero", def_range_to_zero}, - {""}, {""}, #line 197 "KEYWORDS.txt" - {"empty?", def_empty_QUESTION_MARK}, -#line 57 "KEYWORDS.txt" - {"ge", def_ge}, + {"quote-two", def_quote_HYPHEN_MINUS_two}, +#line 138 "KEYWORDS.txt" + {"roll>", def_roll_GREATER_THAN_SIGN}, +#line 131 "KEYWORDS.txt" + {"quoted", def_quoted}, +#line 114 "KEYWORDS.txt" + {"nullary", def_nullary}, +#line 169 "KEYWORDS.txt" + {"unquoted", def_unquoted}, +#line 47 "KEYWORDS.txt" + {"rest", rest}, +#line 172 "KEYWORDS.txt" + {"while", def_while}, +#line 15 "KEYWORDS.txt" + {"=", def_eq}, +#line 56 "KEYWORDS.txt" + {"le", def_le}, #line 64 "KEYWORDS.txt" {"abs", def_abs}, {""}, {""}, +#line 177 "KEYWORDS.txt" + {"_stept", def__stept}, +#line 181 "KEYWORDS.txt" + {"_timest", def__timest}, + {""}, +#line 165 "KEYWORDS.txt" + {"tuck", def_tuck}, + {""}, +#line 73 "KEYWORDS.txt" + {"b", def_b}, +#line 203 "KEYWORDS.txt" + {"on-non-empty-list", def_on_HYPHEN_MINUS_non_HYPHEN_MINUS_empty_HYPHEN_MINUS_list}, + {""}, {""}, {""}, #line 74 "KEYWORDS.txt" {"binary", def_binary}, -#line 190 "KEYWORDS.txt" - {"/\\", def_SOLIDUS_REVERSE_SOLIDUS}, - {""}, -#line 63 "KEYWORDS.txt" - {"<<{}", def_LESS_THAN_SIGN_LESS_THAN_SIGN_LEFT_CURLY_BRACKET_RIGHT_CURLY_BRACKET}, -#line 140 "KEYWORDS.txt" - {"rrest", def_rrest}, - {""}, -#line 71 "KEYWORDS.txt" - {"at", def_at}, -#line 156 "KEYWORDS.txt" - {"sum", def_sum}, -#line 97 "KEYWORDS.txt" - {"fork", def_fork}, - {""}, -#line 22 "KEYWORDS.txt" - {"%", fdiv_r}, -#line 114 "KEYWORDS.txt" - {"nullary", def_nullary}, -#line 181 "KEYWORDS.txt" - {"map", def_map}, -#line 67 "KEYWORDS.txt" - {"app1", def_app1}, -#line 132 "KEYWORDS.txt" - {"range", def_range}, - {""}, -#line 53 "KEYWORDS.txt" - {"gt", def_gt}, - {""}, {""}, -#line 137 "KEYWORDS.txt" - {"roll<", def_roll_LESS_THAN_SIGN}, - {""}, -#line 72 "KEYWORDS.txt" - {"average", def_average}, - {""}, {""}, {""}, -#line 175 "KEYWORDS.txt" - {"_step1", def__step1}, -#line 179 "KEYWORDS.txt" - {"_times1", def__times1}, - {""}, {""}, -#line 198 "KEYWORDS.txt" - {"max-of-two", def_max_HYPHEN_MINUS_of_HYPHEN_MINUS_two}, - {""}, #line 96 "KEYWORDS.txt" {"flatten", def_flatten}, -#line 199 "KEYWORDS.txt" - {"max", def_max}, {""}, {""}, -#line 174 "KEYWORDS.txt" - {"_step0", def__step0}, -#line 178 "KEYWORDS.txt" - {"_times0", def__times0}, - {""}, {""}, {""}, {""}, -#line 59 "KEYWORDS.txt" - {"!-", def_EXCLAMATION_MARK_HYPHEN_MINUS}, -#line 151 "KEYWORDS.txt" - {"sqr", def_sqr}, - {""}, {""}, {""}, -#line 108 "KEYWORDS.txt" - {"<<", def_LESS_THAN_SIGN_LESS_THAN_SIGN}, - {""}, {""}, -#line 165 "KEYWORDS.txt" +#line 166 "KEYWORDS.txt" {"unary", def_unary}, -#line 15 "KEYWORDS.txt" - {"=", def_eq}, +#line 78 "KEYWORDS.txt" + {"cleave", def_cleave}, +#line 18 "KEYWORDS.txt" + {"!=", def_neq}, +#line 182 "KEYWORDS.txt" + {"map", def_map}, +#line 50 "KEYWORDS.txt" + {"swap", swap}, {""}, -#line 25 "KEYWORDS.txt" - {"mul", mul}, - {""}, {""}, {""}, -#line 162 "KEYWORDS.txt" - {"ternary", def_ternary}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 48 "KEYWORDS.txt" - {"stack", stack}, +#line 100 "KEYWORDS.txt" + {"genrec", def_genrec}, +#line 53 "KEYWORDS.txt" + {"gt", def_gt}, +#line 29 "KEYWORDS.txt" + {"sub", sub}, + {""}, +#line 158 "KEYWORDS.txt" + {"swapd", def_swapd}, + {""}, +#line 19 "KEYWORDS.txt" + {"<>", def_neq}, + {""}, {""}, +#line 36 "KEYWORDS.txt" + {"clear", clear}, {""}, #line 21 "KEYWORDS.txt" {">=", def_ge}, + {""}, {""}, +#line 199 "KEYWORDS.txt" + {"max-of-two", def_max_HYPHEN_MINUS_of_HYPHEN_MINUS_two}, + {""}, {""}, +#line 200 "KEYWORDS.txt" + {"max", def_max}, +#line 190 "KEYWORDS.txt" + {"_\\/_", def___REVERSE_SOLIDUS_SOLIDUS__}, +#line 132 "KEYWORDS.txt" + {"range", def_range}, + {""}, +#line 135 "KEYWORDS.txt" + {"reverse", def_reverse}, {""}, {""}, {""}, +#line 198 "KEYWORDS.txt" + {"empty?", def_empty_QUESTION_MARK}, +#line 121 "KEYWORDS.txt" + {"pm", def_pm}, +#line 128 "KEYWORDS.txt" + {"pow", def_pow}, + {""}, {""}, {""}, +#line 72 "KEYWORDS.txt" + {"average", def_average}, + {""}, +#line 97 "KEYWORDS.txt" + {"fork", def_fork}, + {""}, {""}, +#line 60 "KEYWORDS.txt" + {"++", def_PLUS_SIGN_PLUS_SIGN}, + {""}, {""}, +#line 48 "KEYWORDS.txt" + {"stack", stack}, + {""}, +#line 57 "KEYWORDS.txt" + {"ge", def_ge}, +#line 157 "KEYWORDS.txt" + {"sum", def_sum}, + {""}, {""}, {""}, {""}, +#line 25 "KEYWORDS.txt" + {"mul", mul}, + {""}, +#line 140 "KEYWORDS.txt" + {"rrest", def_rrest}, + {""}, {""}, {""}, {""}, {""}, +#line 35 "KEYWORDS.txt" + {"branch", branch}, + {""}, {""}, {""}, +#line 148 "KEYWORDS.txt" + {"small", def_small}, + {""}, {""}, {""}, {""}, {""}, +#line 28 "KEYWORDS.txt" + {"-", sub}, + {""}, {""}, {""}, {""}, {""}, +#line 163 "KEYWORDS.txt" + {"ternary", def_ternary}, + {""}, {""}, +#line 137 "KEYWORDS.txt" + {"roll<", def_roll_LESS_THAN_SIGN}, +#line 17 "KEYWORDS.txt" + {"<", def_lt}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 63 "KEYWORDS.txt" + {"<<{}", def_LESS_THAN_SIGN_LESS_THAN_SIGN_LEFT_CURLY_BRACKET_RIGHT_CURLY_BRACKET}, +#line 102 "KEYWORDS.txt" + {"grabN", def_grabN}, + {""}, +#line 59 "KEYWORDS.txt" + {"!-", def_EXCLAMATION_MARK_HYPHEN_MINUS}, + {""}, {""}, {""}, +#line 65 "KEYWORDS.txt" + {"anamorphism", def_anamorphism}, + {""}, {""}, {""}, {""}, {""}, {""}, +#line 152 "KEYWORDS.txt" + {"sqr", def_sqr}, +#line 162 "KEYWORDS.txt" + {"take", def_take}, + {""}, {""}, {""}, {""}, {""}, +#line 187 "KEYWORDS.txt" + {"_map2", def__map2}, + {""}, {""}, +#line 111 "KEYWORDS.txt" + {"neg", def_neg}, + {""}, +#line 186 "KEYWORDS.txt" + {"_map1", def__map1}, + {""}, {""}, +#line 119 "KEYWORDS.txt" + {"pam", def_pam}, + {""}, {""}, #line 49 "KEYWORDS.txt" {"swaack", swaack}, +#line 20 "KEYWORDS.txt" + {"<=", def_le}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 185 "KEYWORDS.txt" + {"_map0", def__map0}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 101 "KEYWORDS.txt" + {"getitem", def_getitem}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 183 "KEYWORDS.txt" + {"_map?", def__map_QUESTION_MARK}, + {""}, {""}, {""}, {""}, {""}, {""}, #line 52 "KEYWORDS.txt" {"eq", def_eq}, #line 55 "KEYWORDS.txt" {"neq", def_neq}, -#line 189 "KEYWORDS.txt" - {"_\\/_", def___REVERSE_SOLIDUS_SOLIDUS__}, {""}, -#line 35 "KEYWORDS.txt" - {"branch", branch}, -#line 61 "KEYWORDS.txt" - {"--", def_HYPHEN_MINUS_HYPHEN_MINUS}, - {""}, {""}, -#line 147 "KEYWORDS.txt" - {"small", def_small}, - {""}, {""}, -#line 111 "KEYWORDS.txt" - {"neg", def_neg}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, -#line 161 "KEYWORDS.txt" - {"take", def_take}, - {""}, {""}, -#line 101 "KEYWORDS.txt" - {"getitem", def_getitem}, -#line 119 "KEYWORDS.txt" - {"pam", def_pam}, - {""}, {""}, {""}, -#line 18 "KEYWORDS.txt" - {"!=", def_neq}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, -#line 102 "KEYWORDS.txt" - {"grabN", def_grabN}, - {""}, {""}, {""}, {""}, -#line 183 "KEYWORDS.txt" +#line 184 "KEYWORDS.txt" {"_mape", def__mape}, - {""}, {""}, {""}, {""}, -#line 186 "KEYWORDS.txt" - {"_map2", def__map2}, -#line 65 "KEYWORDS.txt" - {"anamorphism", def_anamorphism}, -#line 20 "KEYWORDS.txt" - {"<=", def_le}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 182 "KEYWORDS.txt" - {"_map?", def__map_QUESTION_MARK}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, #line 103 "KEYWORDS.txt" {"grba", def_grba}, - {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, #line 109 "KEYWORDS.txt" {"make_generator", def_make_generator}, -#line 185 "KEYWORDS.txt" - {"_map1", def__map1}, + {""}, {""}, +#line 61 "KEYWORDS.txt" + {"--", def_HYPHEN_MINUS_HYPHEN_MINUS}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 184 "KEYWORDS.txt" - {"_map0", def__map0} + {""}, {""}, {""}, {""}, {""}, +#line 108 "KEYWORDS.txt" + {"<<", def_LESS_THAN_SIGN_LESS_THAN_SIGN} }; if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)