Mercurial > repo
comparison interps/brachylog/brachylog/Brachylog-master/src/symbols.pl @ 11868:70dedbc831e9 draft
<ais523> ` mv ibin/brachylog interps/brachylog
author | HackEso <hackeso@esolangs.org> |
---|---|
date | Tue, 16 Jul 2019 21:39:11 +0000 |
parents | ibin/brachylog/Brachylog-master/src/symbols.pl@318de151d0ec |
children |
comparison
equal
deleted
inserted
replaced
11867:b0414b6b332f | 11868:70dedbc831e9 |
---|---|
1 /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | |
2 ____ ____ | |
3 \ \ / / | |
4 \ \ ____ / / | |
5 \ \/ \/ / | |
6 \ /\ / BRACHYLOG | |
7 \ / \ / A terse declarative logic programming language | |
8 / \ / \ | |
9 / \/ \ Written by Julien Cumin - 2017 | |
10 / /\____/\ \ https://github.com/JCumin/Brachylog | |
11 / / ___ \ \ | |
12 /___/ /__/ \___\ | |
13 | |
14 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ | |
15 | |
16 | |
17 :- module(symbols, [token_predicate/2, | |
18 token_variable/2, | |
19 token_metapredicate/2 | |
20 ]). | |
21 | |
22 | |
23 /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | |
24 TOKEN_PREDICATE | |
25 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ | |
26 token_predicate('≤', 'brachylog_lessequal'). | |
27 token_predicate('≥', 'brachylog_greaterequal'). | |
28 token_predicate('∈', 'brachylog_contains'). | |
29 token_predicate('∋', 'brachylog_in'). | |
30 token_predicate('⊆', 'brachylog_superset'). | |
31 token_predicate('⊇', 'brachylog_subset'). | |
32 token_predicate('↔', 'brachylog_reverse'). | |
33 token_predicate('↰', 'brachylog_call_predicate'). | |
34 token_predicate('↺', 'brachylog_circular_permute_counterclockwise'). | |
35 token_predicate('↻', 'brachylog_circular_permute_clockwise'). | |
36 token_predicate('√', 'brachylog_root'). | |
37 token_predicate('⌉', 'brachylog_ceil'). | |
38 token_predicate('⌋', 'brachylog_floor'). | |
39 token_predicate('⟦', 'brachylog_range_ascending'). | |
40 token_predicate('⟧', 'brachylog_range_descending'). | |
41 token_predicate('ℕ', 'brachylog_natural_integer'). | |
42 token_predicate('ℤ', 'brachylog_integer'). | |
43 token_predicate('ℝ', 'brachylog_float'). | |
44 token_predicate('≠', 'brachylog_different'). | |
45 token_predicate('≡', 'brachylog_identity'). | |
46 token_predicate('÷', 'brachylog_integer_division'). | |
47 token_predicate('×', 'brachylog_multiply'). | |
48 token_predicate('%', 'brachylog_modulo'). | |
49 token_predicate('*', 'brachylog_exp'). | |
50 token_predicate('+', 'brachylog_plus'). | |
51 token_predicate('-', 'brachylog_minus'). | |
52 token_predicate('/', 'brachylog_divide'). | |
53 token_predicate('<', 'brachylog_less'). | |
54 token_predicate('=', 'brachylog_equal'). | |
55 token_predicate('>', 'brachylog_greater'). | |
56 token_predicate('\\', 'brachylog_transpose'). | |
57 token_predicate('^', 'brachylog_power'). | |
58 token_predicate('≜', 'brachylog_label'). | |
59 | |
60 token_predicate('a', 'brachylog_adfix'). | |
61 token_predicate('b', 'brachylog_behead'). | |
62 token_predicate('c', 'brachylog_concatenate'). | |
63 token_predicate('d', 'brachylog_duplicates'). | |
64 token_predicate('e', ''). | |
65 token_predicate('f', 'brachylog_factors'). | |
66 token_predicate('g', 'brachylog_group'). | |
67 token_predicate('h', 'brachylog_head'). | |
68 token_predicate('i', 'brachylog_index'). | |
69 token_predicate('j', 'brachylog_juxtapose'). | |
70 token_predicate('k', 'brachylog_knife'). | |
71 token_predicate('l', 'brachylog_length'). | |
72 token_predicate('m', ''). | |
73 token_predicate('n', ''). | |
74 token_predicate('o', 'brachylog_order'). | |
75 token_predicate('p', 'brachylog_permute'). | |
76 token_predicate('q', ''). | |
77 token_predicate('r', ''). | |
78 token_predicate('s', 'brachylog_substring'). | |
79 token_predicate('t', 'brachylog_tail'). | |
80 token_predicate('u', ''). | |
81 token_predicate('v', ''). | |
82 token_predicate('w', 'brachylog_write'). | |
83 token_predicate('x', 'brachylog_xterminate'). | |
84 token_predicate('y', ''). | |
85 token_predicate('z', 'brachylog_zip'). | |
86 | |
87 token_predicate('ạ', 'brachylog_to_codes'). | |
88 token_predicate('ḅ', 'brachylog_blocks'). | |
89 token_predicate('ḍ', 'brachylog_dichotomize'). | |
90 token_predicate('ẹ', 'brachylog_elements'). | |
91 token_predicate('ḥ', ''). | |
92 token_predicate('ị', 'brachylog_to_number'). | |
93 token_predicate('ḳ', ''). | |
94 token_predicate('ḷ', 'brachylog_lowercase'). | |
95 token_predicate('ṃ', ''). | |
96 token_predicate('ṇ', 'brachylog_split_lines'). | |
97 token_predicate('ọ', 'brachylog_occurences'). | |
98 token_predicate('ṛ', 'brachylog_random_element'). | |
99 token_predicate('ṣ', 'brachylog_shuffle'). | |
100 token_predicate('ṭ', ''). | |
101 token_predicate('ụ', 'brachylog_uppercase'). | |
102 token_predicate('ṿ', ''). | |
103 token_predicate('ẉ', 'brachylog_writeln'). | |
104 token_predicate('ỵ', ''). | |
105 token_predicate('ẓ', ''). | |
106 | |
107 token_predicate('ȧ', 'brachylog_absolute_value'). | |
108 token_predicate('ḃ', 'brachylog_base'). | |
109 token_predicate('ċ', 'brachylog_coerce'). | |
110 token_predicate('ḋ', 'brachylog_prime_decomposition'). | |
111 token_predicate('ė', ''). | |
112 token_predicate('ḟ', 'brachylog_factorial'). | |
113 token_predicate('ġ', 'brachylog_groups'). | |
114 token_predicate('ḣ', ''). | |
115 token_predicate('ṁ', 'brachylog_matrix'). | |
116 token_predicate('ṅ', 'brachylog_negate'). | |
117 token_predicate('ȯ', ''). | |
118 token_predicate('ṗ', 'brachylog_prime'). | |
119 token_predicate('ṙ', 'brachylog_random_number'). | |
120 token_predicate('ṡ', 'brachylog_sign'). | |
121 token_predicate('ṫ', 'brachylog_to_string'). | |
122 token_predicate('ẇ', ''). | |
123 token_predicate('ẋ', 'brachylog_cartesian_product'). | |
124 token_predicate('ẏ', ''). | |
125 token_predicate('ż', ''). | |
126 | |
127 | |
128 /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | |
129 TOKEN_VARIABLE | |
130 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ | |
131 token_variable('Ạ', '\'string\':[a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z]'). | |
132 token_variable('Ḅ', '\'string\':[b,c,d,f,g,h,j,k,l,m,n,p,q,r,s,t,v,w,x,y,z]'). | |
133 %token_variable('', ''). | |
134 token_variable('Ḍ', '\'string\':[b,c,d,f,g,h,j,k,l,m,n,p,q,r,s,t,v,w,x,z]'). | |
135 token_variable('Ẹ', '\'string\':[]'). | |
136 %token_variable('', ''). | |
137 %token_variable('', ''). | |
138 token_variable('Ḥ', '\'string\':[\'H\',e,l,l,o,\',\',\' \',\'W\',o,r,l,d,\'!\']'). | |
139 token_variable('Ị', '\'string\':[\'0\',\'1\',\'2\',\'3\',\'4\',\'5\',\'6\',\'7\',\'8\',\'9\']'). | |
140 %token_variable('', ''). | |
141 token_variable('Ḳ', ''). | |
142 token_variable('Ḷ', '\'string\':[\'\n\']'). | |
143 token_variable('Ṃ', ''). | |
144 token_variable('Ṇ', '\'string\':[\'A\',\'B\',\'C\',\'D\',\'E\',\'F\',\'G\',\'H\',\'I\',\'J\',\'K\',\'L\',\'M\',\'N\',\'O\',\'P\',\'Q\',\'R\',\'S\',\'T\',\'U\',\'V\',\'W\',\'X\',\'Y\',\'Z\',a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,0,1,2,3,4,5,6,7,8,9]'). | |
145 token_variable('Ọ', ''). | |
146 %token_variable('', ''). | |
147 %token_variable('', ''). | |
148 token_variable('Ṛ', ''). | |
149 token_variable('Ṣ', '\'string\':[\' \']'). | |
150 token_variable('Ṭ', '\'string\':[\' \',\'!\',\'"\',\'#\',\'$\',\'%\',\'&\',\'\\\'\',\'(\',\')\',\'*\',\'+\',\',\',\'-\',\'.\',\'/\',\'0\',\'1\',\'2\',\'3\',\'4\',\'5\',\'6\',\'7\',\'8\',\'9\',\':\',\';\',\'<\',\'=\',\'>\',\'?\',\'@\',\'A\',\'B\',\'C\',\'D\',\'E\',\'F\',\'G\',\'H\',\'I\',\'J\',\'K\',\'L\',\'M\',\'N\',\'O\',\'P\',\'Q\',\'R\',\'S\',\'T\',\'U\',\'V\',\'W\',\'X\',\'Y\',\'Z\',\'[\',\'\\\\\',\']\',\'^\',\'_\',\'`\',\'a\',\'b\',\'c\',\'d\',\'e\',\'f\',\'g\',\'h\',\'i\',\'j\',\'k\',\'l\',\'m\',\'n\',\'o\',\'p\',\'q\',\'r\',\'s\',\'t\',\'u\',\'v\',\'w\',\'x\',\'y\',\'z\',\'{\',\'|\',\'}\',\'~\']'). | |
151 token_variable('Ụ', ''). | |
152 token_variable('Ṿ', '\'string\':[a,e,i,o,u]'). | |
153 token_variable('Ẉ', '\'string\':[a,e,i,o,u,y]'). | |
154 %token_variable('', ''). | |
155 token_variable('Ỵ', ''). | |
156 token_variable('Ẓ', '\'string\':[z,y,x,w,v,u,t,s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a]'). | |
157 | |
158 token_variable('Ȧ', 'ConstraintA'). | |
159 token_variable('Ḃ', 'ConstraintB'). | |
160 token_variable('Ċ', 'ConstraintC'). | |
161 token_variable('Ḋ', 'ConstraintD'). | |
162 token_variable('Ė', 'ConstraintE'). | |
163 token_variable('Ḟ', 'ConstraintF'). | |
164 token_variable('Ġ', 'ConstraintG'). | |
165 token_variable('Ḣ', 'ConstraintH'). | |
166 token_variable('İ', 'ConstraintI'). | |
167 %token_variable('', 'ConstraintJ'). | |
168 %token_variable('', 'ConstraintK'). | |
169 %token_variable('', 'ConstraintL'). | |
170 token_variable('Ṁ', 'ConstraintM'). | |
171 token_variable('Ṅ', 'ConstraintN'). | |
172 token_variable('Ȯ', 'ConstraintO'). | |
173 token_variable('Ṗ', 'ConstraintP'). | |
174 %token_variable('', 'ConstraintQ'). | |
175 token_variable('Ṙ', 'ConstraintR'). | |
176 token_variable('Ṡ', 'ConstraintS'). | |
177 token_variable('Ṫ', 'ConstraintT'). | |
178 %token_variable('', 'ConstraintU'). | |
179 %token_variable('', 'ConstraintV'). | |
180 token_variable('Ẇ', 'ConstraintW'). | |
181 token_variable('Ẋ', 'ConstraintX'). | |
182 token_variable('Ẏ', 'ConstraintY'). | |
183 token_variable('Ż', 'ConstraintZ'). | |
184 | |
185 token_variable('π', '\'float\':3.14159265359'). | |
186 token_variable('φ', '\'float\':1.61803398875'). | |
187 | |
188 /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | |
189 TOKEN_METAPREDICATE | |
190 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ | |
191 token_metapredicate('ᵃ', 'brachylog_meta_accumulate'). | |
192 token_metapredicate('ᵇ', 'brachylog_meta_bagof'). | |
193 token_metapredicate('ᶜ', 'brachylog_meta_count'). | |
194 token_metapredicate('ᵈ', 'brachylog_meta_declare'). | |
195 token_metapredicate('ᵉ', 'brachylog_meta_existence'). | |
196 token_metapredicate('ᶠ', 'brachylog_meta_find'). | |
197 token_metapredicate('ᵍ', 'brachylog_meta_groupby'). | |
198 token_metapredicate('ʰ', 'brachylog_meta_head'). | |
199 token_metapredicate('ⁱ', 'brachylog_meta_iterate'). | |
200 token_metapredicate('ʲ', ''). | |
201 token_metapredicate('ᵏ', ''). | |
202 token_metapredicate('ˡ', 'brachylog_meta_leftfold'). | |
203 token_metapredicate('ᵐ', 'brachylog_meta_map'). | |
204 token_metapredicate('ⁿ', 'brachylog_meta_nonexistence'). | |
205 token_metapredicate('ᵒ', 'brachylog_meta_orderby'). | |
206 token_metapredicate('ᵖ', ''). | |
207 token_metapredicate('ʳ', 'brachylog_meta_rightfold'). | |
208 token_metapredicate('ˢ', 'brachylog_meta_select'). | |
209 token_metapredicate('ᵗ', 'brachylog_meta_tail'). | |
210 token_metapredicate('ᵘ', 'brachylog_meta_unique'). | |
211 token_metapredicate('ᵛ', 'brachylog_meta_verify'). | |
212 token_metapredicate('ʷ', ''). | |
213 token_metapredicate('ˣ', ''). | |
214 token_metapredicate('ʸ', ''). | |
215 token_metapredicate('ᶻ', 'brachylog_meta_zip'). |