ufos 1.0.77 → 1.0.79
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CYCLE_OF_ETHICAL_BEHAVIOR +7 -0
- data/EXAMPLES_OF_OPERATION.html +6132 -0
- data/PP.rb +4 -4
- data/README.md +23 -24
- data/VERSION_NUMBER +1 -1
- data/bin/big_num +3 -0
- data/bin/chat_rb +6 -18
- data/bin/close +1 -1
- data/bin/find_housing +1 -1
- data/bin/quot +7 -6
- data/documentation/DISCOURSE_GENERATOR.exe +1 -1
- data/documentation/ULTIMATE_CHAT_APPLICATION.exe +1 -1
- data/documentation/abs +3 -11
- data/documentation/add +1 -5
- data/documentation/append +1 -3
- data/documentation/black +0 -1
- data/documentation/black_bold +0 -1
- data/documentation/black_bold_underline +0 -1
- data/documentation/black_underline +0 -1
- data/documentation/blue +0 -1
- data/documentation/blue_bold +0 -1
- data/documentation/blue_bold_underline +0 -1
- data/documentation/blue_underline +0 -1
- data/documentation/bold +1 -1
- data/documentation/chat_rb +1 -9
- data/documentation/clock +1 -16
- data/documentation/close +2 -2
- data/documentation/cyan +0 -1
- data/documentation/cyan_bold +0 -1
- data/documentation/cyan_bold_underline +0 -1
- data/documentation/cyan_underline +0 -1
- data/documentation/dictate +1 -2
- data/documentation/div +1 -7
- data/documentation/dump +1 -2
- data/documentation/email +2 -20
- data/documentation/emerald-browser +1 -2
- data/documentation/emeraldc +22 -47
- data/documentation/emoji +1 -4
- data/documentation/exp +1 -1
- data/documentation/find_housing +1 -1
- data/documentation/floor +1 -1
- data/documentation/g+ +1 -3
- data/documentation/google_speak +2 -2
- data/documentation/green +0 -1
- data/documentation/green_bold +0 -1
- data/documentation/green_bold_underline +0 -1
- data/documentation/green_underline +0 -1
- data/documentation/gsub +3 -7
- data/documentation/gsubip +1 -1
- data/documentation/last_nth +1 -1
- data/documentation/left_right.exe +1 -6
- data/documentation/lines +1 -3
- data/documentation/magenta +0 -1
- data/documentation/magenta_bold +0 -1
- data/documentation/magenta_bold_underline +0 -1
- data/documentation/magenta_underline +0 -1
- data/documentation/mul +2 -4
- data/documentation/nth +1 -1
- data/documentation/open +4 -23
- data/documentation/prepend +2 -20
- data/documentation/processes +1 -5
- data/documentation/red +0 -1
- data/documentation/red_bold +0 -1
- data/documentation/red_bold_underline +0 -1
- data/documentation/red_underline +0 -1
- data/documentation/rgsub +8 -13
- data/documentation/rhyme +4 -11
- data/documentation/rip +1 -2
- data/documentation/rnip +1 -1
- data/documentation/selectlines +1 -7
- data/documentation/speakcat +2 -2
- data/documentation/squeeze +0 -1
- data/documentation/sub +2 -3
- data/documentation/swap +0 -2
- data/documentation/t +3 -12
- data/documentation/underline +1 -1
- data/documentation/undump +1 -5
- data/documentation/white +0 -1
- data/documentation/white_bold +0 -1
- data/documentation/white_bold_underline +0 -1
- data/documentation/white_underline +0 -1
- data/documentation/yellow +0 -1
- data/documentation/yellow_bold +0 -1
- data/documentation/yellow_bold_underline +0 -1
- data/documentation/yellow_underline +0 -1
- data/gem_data/VERSION_NUMBER +1 -1
- data/index.html +70 -70
- data/non_compiled_programs/big_num +3 -0
- data/non_compiled_programs/chat_rb +6 -18
- data/non_compiled_programs/close +1 -1
- data/non_compiled_programs/find_housing +1 -1
- data/non_compiled_programs/quot +7 -6
- data/other/rub +35 -0
- data/other/stories/1 +15 -0
- data/other/stories/10 +17 -0
- data/other/stories/100 +17 -0
- data/other/stories/1000 +17 -0
- data/other/stories/1001 +17 -0
- data/other/stories/101 +15 -0
- data/other/stories/102 +15 -0
- data/other/stories/103 +13 -0
- data/other/stories/104 +17 -0
- data/other/stories/105 +11 -0
- data/other/stories/106 +13 -0
- data/other/stories/107 +15 -0
- data/other/stories/108 +15 -0
- data/other/stories/109 +13 -0
- data/other/stories/11 +13 -0
- data/other/stories/110 +17 -0
- data/other/stories/111 +11 -0
- data/other/stories/112 +13 -0
- data/other/stories/113 +11 -0
- data/other/stories/114 +15 -0
- data/other/stories/115 +15 -0
- data/other/stories/116 +13 -0
- data/other/stories/117 +17 -0
- data/other/stories/118 +19 -0
- data/other/stories/119 +15 -0
- data/other/stories/12 +19 -0
- data/other/stories/120 +15 -0
- data/other/stories/121 +15 -0
- data/other/stories/122 +11 -0
- data/other/stories/123 +23 -0
- data/other/stories/124 +17 -0
- data/other/stories/125 +19 -0
- data/other/stories/126 +15 -0
- data/other/stories/127 +17 -0
- data/other/stories/128 +17 -0
- data/other/stories/129 +15 -0
- data/other/stories/13 +13 -0
- data/other/stories/130 +19 -0
- data/other/stories/131 +17 -0
- data/other/stories/132 +11 -0
- data/other/stories/133 +13 -0
- data/other/stories/134 +17 -0
- data/other/stories/135 +15 -0
- data/other/stories/136 +15 -0
- data/other/stories/137 +15 -0
- data/other/stories/138 +17 -0
- data/other/stories/139 +9 -0
- data/other/stories/14 +11 -0
- data/other/stories/140 +13 -0
- data/other/stories/141 +15 -0
- data/other/stories/142 +11 -0
- data/other/stories/143 +13 -0
- data/other/stories/144 +21 -0
- data/other/stories/145 +11 -0
- data/other/stories/146 +11 -0
- data/other/stories/147 +13 -0
- data/other/stories/148 +17 -0
- data/other/stories/149 +15 -0
- data/other/stories/15 +15 -0
- data/other/stories/150 +17 -0
- data/other/stories/151 +13 -0
- data/other/stories/152 +13 -0
- data/other/stories/153 +17 -0
- data/other/stories/154 +15 -0
- data/other/stories/155 +15 -0
- data/other/stories/156 +17 -0
- data/other/stories/157 +13 -0
- data/other/stories/158 +21 -0
- data/other/stories/159 +15 -0
- data/other/stories/16 +17 -0
- data/other/stories/160 +17 -0
- data/other/stories/161 +15 -0
- data/other/stories/162 +19 -0
- data/other/stories/163 +15 -0
- data/other/stories/164 +13 -0
- data/other/stories/165 +11 -0
- data/other/stories/166 +19 -0
- data/other/stories/167 +19 -0
- data/other/stories/168 +21 -0
- data/other/stories/169 +13 -0
- data/other/stories/17 +19 -0
- data/other/stories/170 +13 -0
- data/other/stories/171 +13 -0
- data/other/stories/172 +15 -0
- data/other/stories/173 +13 -0
- data/other/stories/174 +11 -0
- data/other/stories/175 +15 -0
- data/other/stories/176 +15 -0
- data/other/stories/177 +15 -0
- data/other/stories/178 +15 -0
- data/other/stories/179 +17 -0
- data/other/stories/18 +23 -0
- data/other/stories/180 +19 -0
- data/other/stories/181 +15 -0
- data/other/stories/182 +15 -0
- data/other/stories/183 +17 -0
- data/other/stories/184 +15 -0
- data/other/stories/185 +15 -0
- data/other/stories/186 +15 -0
- data/other/stories/187 +15 -0
- data/other/stories/188 +15 -0
- data/other/stories/189 +17 -0
- data/other/stories/19 +17 -0
- data/other/stories/190 +13 -0
- data/other/stories/191 +17 -0
- data/other/stories/192 +17 -0
- data/other/stories/193 +11 -0
- data/other/stories/194 +17 -0
- data/other/stories/195 +13 -0
- data/other/stories/196 +13 -0
- data/other/stories/197 +15 -0
- data/other/stories/198 +15 -0
- data/other/stories/199 +15 -0
- data/other/stories/2 +13 -0
- data/other/stories/20 +15 -0
- data/other/stories/200 +17 -0
- data/other/stories/201 +21 -0
- data/other/stories/202 +13 -0
- data/other/stories/203 +15 -0
- data/other/stories/204 +17 -0
- data/other/stories/205 +13 -0
- data/other/stories/206 +15 -0
- data/other/stories/207 +13 -0
- data/other/stories/208 +11 -0
- data/other/stories/209 +15 -0
- data/other/stories/21 +19 -0
- data/other/stories/210 +11 -0
- data/other/stories/211 +19 -0
- data/other/stories/212 +17 -0
- data/other/stories/213 +13 -0
- data/other/stories/214 +13 -0
- data/other/stories/215 +15 -0
- data/other/stories/216 +13 -0
- data/other/stories/217 +23 -0
- data/other/stories/218 +17 -0
- data/other/stories/219 +15 -0
- data/other/stories/22 +13 -0
- data/other/stories/220 +15 -0
- data/other/stories/221 +19 -0
- data/other/stories/222 +15 -0
- data/other/stories/223 +19 -0
- data/other/stories/224 +15 -0
- data/other/stories/225 +13 -0
- data/other/stories/226 +15 -0
- data/other/stories/227 +15 -0
- data/other/stories/228 +13 -0
- data/other/stories/229 +15 -0
- data/other/stories/23 +17 -0
- data/other/stories/230 +15 -0
- data/other/stories/231 +17 -0
- data/other/stories/232 +17 -0
- data/other/stories/233 +17 -0
- data/other/stories/234 +19 -0
- data/other/stories/235 +17 -0
- data/other/stories/236 +15 -0
- data/other/stories/237 +15 -0
- data/other/stories/238 +17 -0
- data/other/stories/239 +19 -0
- data/other/stories/24 +15 -0
- data/other/stories/240 +15 -0
- data/other/stories/241 +13 -0
- data/other/stories/242 +23 -0
- data/other/stories/243 +11 -0
- data/other/stories/244 +19 -0
- data/other/stories/245 +19 -0
- data/other/stories/246 +17 -0
- data/other/stories/247 +15 -0
- data/other/stories/248 +17 -0
- data/other/stories/249 +13 -0
- data/other/stories/25 +15 -0
- data/other/stories/250 +15 -0
- data/other/stories/251 +21 -0
- data/other/stories/252 +17 -0
- data/other/stories/253 +15 -0
- data/other/stories/254 +13 -0
- data/other/stories/255 +15 -0
- data/other/stories/256 +13 -0
- data/other/stories/257 +15 -0
- data/other/stories/258 +13 -0
- data/other/stories/259 +15 -0
- data/other/stories/26 +15 -0
- data/other/stories/260 +15 -0
- data/other/stories/261 +11 -0
- data/other/stories/262 +13 -0
- data/other/stories/263 +17 -0
- data/other/stories/264 +13 -0
- data/other/stories/265 +19 -0
- data/other/stories/266 +23 -0
- data/other/stories/267 +13 -0
- data/other/stories/268 +15 -0
- data/other/stories/269 +19 -0
- data/other/stories/27 +13 -0
- data/other/stories/270 +15 -0
- data/other/stories/271 +17 -0
- data/other/stories/272 +11 -0
- data/other/stories/273 +13 -0
- data/other/stories/274 +15 -0
- data/other/stories/275 +13 -0
- data/other/stories/276 +15 -0
- data/other/stories/277 +13 -0
- data/other/stories/278 +15 -0
- data/other/stories/279 +15 -0
- data/other/stories/28 +19 -0
- data/other/stories/280 +15 -0
- data/other/stories/281 +19 -0
- data/other/stories/282 +15 -0
- data/other/stories/283 +17 -0
- data/other/stories/284 +13 -0
- data/other/stories/285 +15 -0
- data/other/stories/286 +15 -0
- data/other/stories/287 +17 -0
- data/other/stories/288 +11 -0
- data/other/stories/289 +15 -0
- data/other/stories/29 +23 -0
- data/other/stories/290 +19 -0
- data/other/stories/291 +19 -0
- data/other/stories/292 +17 -0
- data/other/stories/293 +13 -0
- data/other/stories/294 +15 -0
- data/other/stories/295 +15 -0
- data/other/stories/296 +15 -0
- data/other/stories/297 +15 -0
- data/other/stories/298 +23 -0
- data/other/stories/299 +11 -0
- data/other/stories/3 +15 -0
- data/other/stories/30 +13 -0
- data/other/stories/300 +15 -0
- data/other/stories/301 +15 -0
- data/other/stories/302 +19 -0
- data/other/stories/303 +15 -0
- data/other/stories/304 +17 -0
- data/other/stories/305 +15 -0
- data/other/stories/306 +21 -0
- data/other/stories/307 +11 -0
- data/other/stories/308 +15 -0
- data/other/stories/309 +15 -0
- data/other/stories/31 +19 -0
- data/other/stories/310 +17 -0
- data/other/stories/311 +15 -0
- data/other/stories/312 +15 -0
- data/other/stories/313 +13 -0
- data/other/stories/314 +15 -0
- data/other/stories/315 +13 -0
- data/other/stories/316 +17 -0
- data/other/stories/317 +17 -0
- data/other/stories/318 +15 -0
- data/other/stories/319 +13 -0
- data/other/stories/32 +17 -0
- data/other/stories/320 +13 -0
- data/other/stories/321 +15 -0
- data/other/stories/322 +11 -0
- data/other/stories/323 +15 -0
- data/other/stories/324 +19 -0
- data/other/stories/325 +19 -0
- data/other/stories/326 +21 -0
- data/other/stories/327 +15 -0
- data/other/stories/328 +15 -0
- data/other/stories/329 +15 -0
- data/other/stories/33 +13 -0
- data/other/stories/330 +15 -0
- data/other/stories/331 +17 -0
- data/other/stories/332 +20 -0
- data/other/stories/333 +17 -0
- data/other/stories/334 +11 -0
- data/other/stories/335 +15 -0
- data/other/stories/336 +15 -0
- data/other/stories/337 +19 -0
- data/other/stories/338 +19 -0
- data/other/stories/339 +13 -0
- data/other/stories/34 +13 -0
- data/other/stories/340 +17 -0
- data/other/stories/341 +15 -0
- data/other/stories/342 +17 -0
- data/other/stories/343 +15 -0
- data/other/stories/344 +17 -0
- data/other/stories/345 +15 -0
- data/other/stories/346 +17 -0
- data/other/stories/347 +17 -0
- data/other/stories/348 +11 -0
- data/other/stories/349 +15 -0
- data/other/stories/35 +13 -0
- data/other/stories/350 +21 -0
- data/other/stories/351 +15 -0
- data/other/stories/352 +17 -0
- data/other/stories/353 +15 -0
- data/other/stories/354 +17 -0
- data/other/stories/355 +15 -0
- data/other/stories/356 +15 -0
- data/other/stories/357 +11 -0
- data/other/stories/358 +13 -0
- data/other/stories/359 +11 -0
- data/other/stories/36 +11 -0
- data/other/stories/360 +13 -0
- data/other/stories/361 +13 -0
- data/other/stories/362 +13 -0
- data/other/stories/363 +21 -0
- data/other/stories/364 +17 -0
- data/other/stories/365 +11 -0
- data/other/stories/37 +13 -0
- data/other/stories/38 +17 -0
- data/other/stories/39 +17 -0
- data/other/stories/4 +15 -0
- data/other/stories/40 +11 -0
- data/other/stories/4000 +15 -0
- data/other/stories/4001 +21 -0
- data/other/stories/4002 +15 -0
- data/other/stories/4003 +15 -0
- data/other/stories/4004 +15 -0
- data/other/stories/4005 +15 -0
- data/other/stories/4006 +21 -0
- data/other/stories/4007 +15 -0
- data/other/stories/4008 +15 -0
- data/other/stories/4009 +13 -0
- data/other/stories/4010 +15 -0
- data/other/stories/4011 +15 -0
- data/other/stories/4012 +17 -0
- data/other/stories/4013 +15 -0
- data/other/stories/4014 +13 -0
- data/other/stories/4015 +15 -0
- data/other/stories/4016 +17 -0
- data/other/stories/4017 +13 -0
- data/other/stories/4018 +17 -0
- data/other/stories/4019 +15 -0
- data/other/stories/4020 +19 -0
- data/other/stories/4021 +21 -0
- data/other/stories/4022 +15 -0
- data/other/stories/4023 +13 -0
- data/other/stories/4024 +13 -0
- data/other/stories/4025 +23 -0
- data/other/stories/4026 +17 -0
- data/other/stories/4027 +15 -0
- data/other/stories/4028 +13 -0
- data/other/stories/4029 +11 -0
- data/other/stories/4030 +13 -0
- data/other/stories/4031 +13 -0
- data/other/stories/4032 +13 -0
- data/other/stories/4033 +15 -0
- data/other/stories/4034 +17 -0
- data/other/stories/4035 +13 -0
- data/other/stories/41 +15 -0
- data/other/stories/42 +17 -0
- data/other/stories/43 +15 -0
- data/other/stories/44 +15 -0
- data/other/stories/45 +17 -0
- data/other/stories/46 +17 -0
- data/other/stories/47 +13 -0
- data/other/stories/48 +13 -0
- data/other/stories/49 +17 -0
- data/other/stories/5 +11 -0
- data/other/stories/50 +13 -0
- data/other/stories/51 +15 -0
- data/other/stories/52 +17 -0
- data/other/stories/53 +15 -0
- data/other/stories/54 +11 -0
- data/other/stories/55 +21 -0
- data/other/stories/56 +19 -0
- data/other/stories/57 +13 -0
- data/other/stories/58 +15 -0
- data/other/stories/59 +13 -0
- data/other/stories/6 +11 -0
- data/other/stories/60 +13 -0
- data/other/stories/61 +13 -0
- data/other/stories/62 +13 -0
- data/other/stories/63 +15 -0
- data/other/stories/64 +15 -0
- data/other/stories/65 +17 -0
- data/other/stories/66 +15 -0
- data/other/stories/67 +15 -0
- data/other/stories/68 +15 -0
- data/other/stories/69 +17 -0
- data/other/stories/7 +15 -0
- data/other/stories/70 +21 -0
- data/other/stories/71 +13 -0
- data/other/stories/72 +13 -0
- data/other/stories/73 +15 -0
- data/other/stories/74 +17 -0
- data/other/stories/75 +11 -0
- data/other/stories/76 +19 -0
- data/other/stories/77 +21 -0
- data/other/stories/78 +19 -0
- data/other/stories/79 +11 -0
- data/other/stories/8 +17 -0
- data/other/stories/80 +21 -0
- data/other/stories/81 +23 -0
- data/other/stories/82 +15 -0
- data/other/stories/83 +11 -0
- data/other/stories/84 +13 -0
- data/other/stories/85 +17 -0
- data/other/stories/86 +17 -0
- data/other/stories/87 +25 -0
- data/other/stories/88 +19 -0
- data/other/stories/89 +17 -0
- data/other/stories/9 +15 -0
- data/other/stories/90 +15 -0
- data/other/stories/91 +15 -0
- data/other/stories/92 +17 -0
- data/other/stories/93 +17 -0
- data/other/stories/94 +19 -0
- data/other/stories/95 +13 -0
- data/other/stories/96 +17 -0
- data/other/stories/97 +15 -0
- data/other/stories/98 +11 -0
- data/other/stories/99 +13 -0
- data/src/compilation/abs +1 -1
- data/src/compilation/add +1 -1
- data/src/compilation/append +1 -1
- data/src/compilation/div +1 -1
- data/src/compilation/dump +1 -1
- data/src/compilation/exp +1 -1
- data/src/compilation/gsub +1 -1
- data/src/compilation/lines +1 -1
- data/src/compilation/mul +1 -1
- data/src/compilation/prepend +1 -1
- data/src/compilation/rip +1 -1
- data/src/compilation/rnip +1 -1
- data/src/compilation/selectlines +1 -1
- data/src/compilation/sub +1 -1
- data/src/compilation/swap +1 -1
- data/src/compilation/undump +1 -1
- metadata +407 -1
data/documentation/emeraldc
CHANGED
@@ -1,26 +1,19 @@
|
|
1
1
|
The Ultimate C Preprocessor
|
2
2
|
|
3
|
-
|
4
3
|
I'm naming this preprocessor “Emerald C.”
|
5
4
|
|
6
5
|
<a href=https://cboard.cprogramming.com/c-programming/181160-hi-i-have-created-some-work-i-think-will-really-valuable-community.html?s=589b5504cd0e3c2dc90e9abd8b66906f>Link</a>
|
7
6
|
|
8
|
-
|
9
|
-
|
10
7
|
Howdy!
|
11
8
|
|
12
9
|
First, let me state that I am very much a perfectionist.
|
13
10
|
|
14
|
-
|
15
11
|
C is a wonderful language. C is probably the perfect programming language. It is one of the top two most widely used languages for a reason.
|
16
12
|
|
17
|
-
|
18
13
|
Now, there are some problems with it of course, but it's hard to think of a more elegant language than it.
|
19
14
|
|
20
|
-
|
21
15
|
It is the language of systems, the language almost all APIs are written in.
|
22
16
|
|
23
|
-
|
24
17
|
It is the lingua franca of the software world.
|
25
18
|
|
26
19
|
People try to avoid it, but they needn't.
|
@@ -29,10 +22,8 @@ I think every programmer wants to find out how to do things, or use libraries th
|
|
29
22
|
|
30
23
|
Many programmers have done programming, grown dissatisfied, and then make another language. As a result, there are thousands of different languages.
|
31
24
|
|
32
|
-
|
33
25
|
Well, recently, I made a preprocessor for C, that makes C incredibly EASY.
|
34
26
|
|
35
|
-
|
36
27
|
C is fast and straightforward without it, but it has many features.
|
37
28
|
|
38
29
|
If one runs the command line preprocessor, with the “--features” flag, the program shows all of its features
|
@@ -41,7 +32,7 @@ A Better C
|
|
41
32
|
|
42
33
|
C is a fantastic language. C compiles insanely fast, is the fastest language there is, is very clear, is native to all systems, and is useful for all purposes.
|
43
34
|
|
44
|
-
Some people, e.g., Bjarne Stroustrup, consider that C is “not good enough
|
35
|
+
Some people, e.g., Bjarne Stroustrup, consider that C is “not good enough,” and make languages like C++ or D (or thousands of others)
|
45
36
|
|
46
37
|
This is not necessary.
|
47
38
|
|
@@ -51,44 +42,42 @@ Some functions can be used as methods
|
|
51
42
|
|
52
43
|
Makes for an excellent “scripting language” (which is really just native C without things making it slow)
|
53
44
|
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
Make sure you free() the string after. The string is stored in a static global variable called “last”.
|
45
|
+
1 String Interpolation “String interplation like this #{foo} ” Calls the join() function (talked about below to join strings,
|
46
|
+
delim is a static global in each module called “sep.”
|
47
|
+
Make sure you free() the string after. The string is stored in a static global variable called “last.”
|
58
48
|
So you could do puts(...); free(last)
|
59
49
|
|
60
|
-
2
|
50
|
+
2 ew *i.ew “Foo,” a.ew “bar” | char* ends with another char*?
|
61
51
|
|
62
|
-
3
|
52
|
+
3 sw *i.sw “Foo,” a.sw “bar” | char* starts with another char*?
|
63
53
|
|
64
|
-
4
|
54
|
+
4 == Comparison of strs, “foo” == “bar”
|
65
55
|
|
66
|
-
5
|
56
|
+
5 strip Returns pointer to string that was stripped, in place
|
67
57
|
|
68
|
-
6
|
58
|
+
6 chomp void function, chomps end of string of spaces, i.chomp or chomp(i), in place
|
69
59
|
|
70
|
-
7
|
60
|
+
7 gsub Just like ruby, there is a gsub function.
|
71
61
|
The preprocessor detects if you use and adds -lpcre2-8 to the link flags if you use it. Use $" for substitutions in argument 3 gsub(a, b, c)
|
72
62
|
|
73
|
-
8
|
63
|
+
8 join Joins an array of strings, to split(), use C's strtok (very fast)
|
74
64
|
|
75
|
-
9
|
65
|
+
9 Lightweight regexes are added, almost 15 times as fast as C's built in regex. They are very simple, they only have bracket expressions, like [a-z].
|
76
66
|
|
77
67
|
To use it, you need to pass a buffer of the size of the expansion of the regex. Foo[a-fA-F] would be Foo[abcdefABCDEF]. That would be stored in a buffer.
|
78
68
|
|
79
69
|
From testing, 15x times faster than C's regex POST COMPILATION, if compilation keeps happening, it might be hundreds of times faster.
|
80
70
|
Uses static inline functions, NO HEAP MEMORY unless you malloc before().
|
81
71
|
|
82
|
-
10
|
72
|
+
10 print Like old python print “Hello” (fputs);
|
83
73
|
|
84
|
-
11
|
74
|
+
11 print_int prints a number and returns the number, can be chained
|
85
75
|
|
86
|
-
12
|
76
|
+
12 each_line, Perlish, different names, by_line(s) or each_line(s), iterate over all lines, free after
|
87
77
|
|
88
|
-
13
|
89
|
-
|
90
|
-
14 MISC features || autoinclude, foo.gsub or gsub(...),no need for paren (i.chomp, i.strlen), starts_with, ends_with, --wrap, itoa, freel (frees str, sets to NULL, and frees other recent stuff)
|
78
|
+
13 NOTE You can use open_memstream() on UNIX to easily concatenate strings.
|
91
79
|
|
80
|
+
14 MISC features || autoinclude, foo.gsub or gsub(...),no need for paren (i.chomp, i.strlen), starts_with, ends_with, --wrap, itoa, freel (frees str, sets to NULL, and frees other recent stuff)
|
92
81
|
|
93
82
|
asprintf() is another useful function which is UNIX-centric. open_memstream() could be an alternative to std::string.
|
94
83
|
It works very well with each_line or by_lines (see above)
|
@@ -96,43 +85,34 @@ These features seem simple, but they can make C programming much, MUCH easier
|
|
96
85
|
|
97
86
|
for example (insignificant example)
|
98
87
|
|
99
|
-
|
100
|
-
|
101
88
|
int main() {
|
102
|
-
|
103
|
-
|
104
|
-
|
89
|
+
stdin.each_line { |line|
|
90
|
+
print line;
|
91
|
+
}
|
105
92
|
|
106
|
-
|
93
|
+
free(line);
|
107
94
|
}
|
108
95
|
|
109
96
|
You can iterate over the standard input like Ruby
|
110
97
|
|
111
|
-
|
112
98
|
The thing with this is that it has 100% speed. The resultant preprocessed program becomes a normal C program
|
113
99
|
|
114
|
-
|
115
|
-
|
116
100
|
The compile and run time for a program (if you use tcc and not gcc) can be about 24 milliseconds, which is faster than Ruby to run.
|
117
101
|
|
118
|
-
|
119
102
|
Even though the program is preprocessed, re-preprocessed, compiled, assembled, linked, turned into an executable, and then run
|
120
103
|
|
121
|
-
|
122
104
|
Kind of like early C++, this is a preprocessor for C.
|
123
105
|
|
124
106
|
But it's much faster to compile than C++. Significantly so.
|
125
107
|
|
126
108
|
Is anyone else interested in this? (BSD)
|
127
109
|
|
128
|
-
|
129
110
|
I'm realising this under the BSD license. I'm interested if anyone else else likes this work, and would like to use it, or to work with me.
|
130
111
|
|
131
112
|
Best regards,
|
132
113
|
|
133
114
|
Gregory
|
134
115
|
|
135
|
-
|
136
116
|
Current program is written in Crystal (crystal-lang.org) -- it was written in ruby, it could be ported to another language.
|
137
117
|
|
138
118
|
I would like to make this self-hosting, but that would take a little bit of work.
|
@@ -141,14 +121,11 @@ About the Name
|
|
141
121
|
|
142
122
|
Years ago, I really, really liked Compiz
|
143
123
|
|
144
|
-
|
145
124
|
Compiz then forked into Beryl. There was the Emerald Window Manager, which was really nice and beautiful.
|
146
125
|
|
147
|
-
|
148
126
|
I actually made another programming language. I made 2 other programming language. One was a full compiler and assembler, that ran code in memory. It was around 16 thousand lines of code. I made a programming language that had the syntax of Python or Ruby, but transpiled into C++. I called that C += 2. I used that other language, and I created a Web Browser in it based on Chrome. I called it “Emerald Browser.” Emeralds are beautiful green gems.
|
149
127
|
|
150
|
-
|
151
|
-
“Emerald is a gemstone and a variety of the mineral beryl colored green by trace amounts of chromium or sometimes vanadium. Beryl has a hardness of 7.5–8 on the Mohs scale. Most emeralds are highly included, so their toughness is classified as generally poor. Emerald is a cyclosilicate.”</i> --Wikipedia
|
128
|
+
“Emerald is a gemstone and a variety of the mineral beryl colored green by trace amounts of chromium or sometimes vanadium. Beryl has a hardness of 7.5–8 on the Mohs scale. Most emeralds are highly included, so their toughness is classified as generally poor. Emerald is a cyclosilicate.”</i> --Wikipedia
|
152
129
|
|
153
130
|
There was a browser with a terminal built in to it.
|
154
131
|
|
@@ -158,13 +135,11 @@ QUESTIONS
|
|
158
135
|
|
159
136
|
Why not use Rust?
|
160
137
|
|
161
|
-
|
162
138
|
$ time rustc a.rs
|
163
139
|
real 0m0.637s
|
164
140
|
user 0m0.502s
|
165
141
|
sys 0m0.160s
|
166
142
|
|
167
|
-
|
168
143
|
Rust takes 0.637 seconds to compile an empty file!
|
169
144
|
|
170
145
|
That is not ideal.
|
data/documentation/emoji
CHANGED
data/documentation/exp
CHANGED
data/documentation/find_housing
CHANGED
data/documentation/floor
CHANGED
@@ -1 +1 @@
|
|
1
|
-
Gets the floor of numbers e.g. 21.3 -> 21
|
1
|
+
Gets the floor of numbers e.g. 21.3 -> 21
|
data/documentation/g+
CHANGED
data/documentation/google_speak
CHANGED
@@ -1,7 +1,7 @@
|
|
1
|
-
Google speak is really useful. It speaks a statement using the Google Translate
|
1
|
+
Google speak is really useful. It speaks a statement using the Google Translate voice, which is probably the most authoritative and high-quality text-to-speech voice that exists.
|
2
2
|
|
3
3
|
It's kind of like “espeak” or similar tools, but it is much better.
|
4
4
|
|
5
5
|
You need an internet connection for it to work.
|
6
6
|
|
7
|
-
It is probably limited at 100 characters.
|
7
|
+
It is probably limited at 100 characters.
|
data/documentation/green
CHANGED
@@ -1 +0,0 @@
|
|
1
|
-
|
data/documentation/green_bold
CHANGED
@@ -1 +0,0 @@
|
|
1
|
-
|
@@ -1 +0,0 @@
|
|
1
|
-
|
@@ -1 +0,0 @@
|
|
1
|
-
|
data/documentation/gsub
CHANGED
@@ -1,17 +1,13 @@
|
|
1
1
|
Gsub is very powerful.
|
2
2
|
|
3
|
-
|
4
3
|
Usage
|
5
4
|
|
6
|
-
gsub [regular expression] [replacement text]
|
7
|
-
|
5
|
+
gsub [regular expression] [replacement text]
|
8
6
|
|
9
7
|
Example
|
10
8
|
|
11
|
-
|
12
9
|
cat text | gsub man dog
|
13
10
|
|
14
|
-
cat text | gsub 'man|boy|cat|dog'
|
15
|
-
|
11
|
+
cat text | gsub 'man|boy|cat|dog' food
|
16
12
|
|
17
|
-
ls | gsub Desktop cat
|
13
|
+
ls | gsub Desktop cat
|
data/documentation/gsubip
CHANGED
data/documentation/last_nth
CHANGED
@@ -1 +1 @@
|
|
1
|
-
Last nth gets the last n lines from the standard input
|
1
|
+
Last nth gets the last n lines from the standard input
|
@@ -1,14 +1,9 @@
|
|
1
|
-
|
2
|
-
|
3
1
|
This is a tool to bring sanity to politics.
|
4
2
|
|
5
3
|
![UCA](./images/12.png)
|
6
4
|
|
7
|
-
|
8
|
-
|
9
5
|
It gets viewpoints from the person that see the good in each political side, left, right, left, right, etc.
|
10
6
|
|
11
7
|
It then presents all of that.
|
12
8
|
|
13
|
-
Hopefully this can make people more sane and less hyper-partisan.
|
14
|
-
|
9
|
+
Hopefully this can make people more sane and less hyper-partisan.
|
data/documentation/lines
CHANGED
data/documentation/magenta
CHANGED
@@ -1 +0,0 @@
|
|
1
|
-
|
data/documentation/magenta_bold
CHANGED
@@ -1 +0,0 @@
|
|
1
|
-
|
@@ -1 +0,0 @@
|
|
1
|
-
|
@@ -1 +0,0 @@
|
|
1
|
-
|
data/documentation/mul
CHANGED
data/documentation/nth
CHANGED
@@ -1 +1 @@
|
|
1
|
-
Nth gets the nth line from the input
|
1
|
+
Nth gets the nth line from the input
|
data/documentation/open
CHANGED
@@ -1,50 +1,31 @@
|
|
1
1
|
“open” is a very efficient program that searches a query from google, and then opens it in Emerald Browser.
|
2
2
|
|
3
|
-
|
4
|
-
If you ever want something to “just open”, you can use it.
|
5
|
-
|
6
|
-
|
3
|
+
If you ever want something to “just open,” you can use it.
|
7
4
|
|
8
5
|
Example
|
9
6
|
|
10
7
|
open “cats”
|
11
8
|
|
12
|
-
|
13
|
-
|
14
9
|
An earlier version of open worked like this
|
15
10
|
|
16
|
-
open [site1] [site2] [site3]
|
17
|
-
|
18
|
-
|
11
|
+
open [site1] [site2] [site3] N
|
19
12
|
|
20
13
|
site1, site2, and site3 would all be opened, and the top N queries were all shown in different panes
|
21
14
|
|
22
|
-
|
23
|
-
|
24
15
|
An even earlier version of this program used Chrome to open the sites.
|
25
16
|
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
The current version can open one or more sites.
|
31
|
-
|
17
|
+
The current version can open one or more sites.
|
32
18
|
|
33
19
|
Example
|
34
20
|
|
35
|
-
|
36
21
|
open “cats” “dogs” “frogs”
|
37
22
|
|
38
|
-
|
39
23
|
All of those queries would open in Emerald Browser.
|
40
24
|
|
41
25
|
Just make sure it is compiled in multipane mode if you want to open multiple new sites at the same time.
|
42
26
|
|
43
|
-
|
44
27
|
See also
|
45
28
|
|
46
|
-
|
47
|
-
|
48
29
|
emerald-browser
|
49
30
|
|
50
|
-
close
|
31
|
+
close
|
data/documentation/prepend
CHANGED
@@ -1,25 +1,7 @@
|
|
1
|
-
prepend prepends
|
1
|
+
prepend prepends input taken from the standard input to a file
|
2
2
|
|
3
3
|
Usage
|
4
4
|
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
5
|
prepend [file]
|
24
6
|
|
25
|
-
This is text to be prepended
|
7
|
+
This is text to be prepended
|
data/documentation/processes
CHANGED
data/documentation/red
CHANGED
@@ -1 +0,0 @@
|
|
1
|
-
|
data/documentation/red_bold
CHANGED
@@ -1 +0,0 @@
|
|
1
|
-
|
@@ -1 +0,0 @@
|
|
1
|
-
|
data/documentation/red_underline
CHANGED
@@ -1 +0,0 @@
|
|
1
|
-
|
data/documentation/rgsub
CHANGED
@@ -8,7 +8,6 @@ Example
|
|
8
8
|
|
9
9
|
rgsub my_email@site.com my_second_email@site.com
|
10
10
|
|
11
|
-
|
12
11
|
Would replace an email recursively in a directory.
|
13
12
|
|
14
13
|
It tries to skip non-text files and hidden files.
|
@@ -16,20 +15,16 @@ It tries to skip non-text files and hidden files.
|
|
16
15
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
17
16
|
|
18
17
|
<pre><code>
|
19
|
-
|
20
|
-
|
21
|
-
If a file is "-" or stdin, read from stdin and output to stdout.
|
22
|
-
Options
|
23
|
-
|
24
|
-
|
25
|
-
-r, rename files instead of replacing contents of files.
|
26
|
-
find and replace in file and dir names instead
|
27
|
-
|
18
|
+
Usage: rgsub <find> <replace> [optional list of files instead of recursive search]
|
28
19
|
|
29
|
-
|
20
|
+
If a file is “-” or stdin, read from stdin and output to stdout.
|
21
|
+
Options
|
30
22
|
|
23
|
+
-r, rename files instead of replacing contents of files.
|
24
|
+
find and replace in file and dir names instead
|
31
25
|
|
32
|
-
|
26
|
+
-v, verbose mode
|
33
27
|
|
34
|
-
|
28
|
+
-- Indicate end of options.
|
35
29
|
|
30
|
+
</pre></code>
|
data/documentation/rhyme
CHANGED
@@ -1,12 +1,9 @@
|
|
1
|
-
|
2
|
-
|
3
1
|
A very powerful music generator program that doesn't use AI.
|
4
2
|
|
5
3
|
<a href="https://www.youtube.com/@LawrenceStevensMusic">See this channel as an example of potential usage of this public domain content</a>
|
6
4
|
|
7
5
|
https://www.youtube.com/@LawrenceStevensMusic
|
8
6
|
|
9
|
-
|
10
7
|
The music industry is plagued with very foundational problems.
|
11
8
|
|
12
9
|
For starters, the quality of the discourse in music is very low, and has been from the start of the popularization of modern music, as well as during the era in which classical music was popular and before.
|
@@ -17,13 +14,12 @@ One of the greatest problems in the current world is the mainstream scientific e
|
|
17
14
|
|
18
15
|
To indicate what is already obvious, it exists in the context of a legacy of <em>authoritarianism</em> and a <em>lack of understanding of dynamism.</em>
|
19
16
|
|
20
|
-
It is not dynamic or forceful, the
|
17
|
+
It is not dynamic or forceful, the “results” of it don't change the foundation of society. True free discourse is not supported, especially in regards to the human mind and human well-being and human freedom.
|
21
18
|
|
22
19
|
These problems should be opposed and fought, it is self-evident that this would be the best use of ones time, for it would lead to true freedom.
|
23
20
|
|
24
21
|
One excellent way to combat this would be to use the generated songs generated by a computer program called Rhyme, available at <a href='https://www.github.com/gregoryc/democracy'>https://www.github.com/gregoryc/democracy</a> in the SONGS folder.
|
25
22
|
|
26
|
-
|
27
23
|
These are public domain songs generated by non-Artificial Intelligence, just a program
|
28
24
|
that introduces variance, and these hit-home against the status quo and the current
|
29
25
|
state of the mainstream scientific establishment. Taking these songs and making actual
|
@@ -38,19 +34,16 @@ Accountability must always be brought about.
|
|
38
34
|
|
39
35
|
Is music good and desired? For sure.
|
40
36
|
|
41
|
-
|
42
37
|
USAGE OF PROGRAM
|
43
38
|
|
44
39
|
Enter basename to make songs folder in (folder/songs, num songs = 13000)
|
45
40
|
|
46
|
-
Usage rhyme [folder] (processes files
|
41
|
+
Usage rhyme [folder] (processes files “1.json” and “21.json” by default)
|
47
42
|
|
48
43
|
Example output of a song
|
49
44
|
|
50
|
-
|
51
45
|
![UCA](./images/7.png)
|
52
46
|
|
53
|
-
|
54
47
|
(NO COPYRIGHT RESTRICTIONS ON THIS CONTENT WHATSOEVER. FULLY PUBLIC DOMAIN)
|
55
48
|
Name the song or poem as you wish, resell it, but please positively influence culture
|
56
49
|
|
@@ -168,7 +161,7 @@ They don't have decency, they automatically disregard
|
|
168
161
|
They're a complete failure, they only neglect
|
169
162
|
They don't speak the language of the people or their dialect
|
170
163
|
This is not right, this is completely incorrect
|
171
|
-
The only focus on “responses
|
164
|
+
The only focus on “responses,” they just want to deflect
|
172
165
|
The lies are put forth, the lies they erect
|
173
166
|
|
174
167
|
CHORUS
|
@@ -214,4 +207,4 @@ Any progress is fleeting with them, they revert
|
|
214
207
|
Disingenuous to the extreme, the society they subvert
|
215
208
|
The society is the ones who hurt
|
216
209
|
|
217
|
-
---
|
210
|
+
---
|
data/documentation/rip
CHANGED
data/documentation/rnip
CHANGED
data/documentation/selectlines
CHANGED
@@ -1,17 +1,11 @@
|
|
1
1
|
selectlines shows all nonblank lines from the input
|
2
2
|
|
3
|
-
|
4
3
|
Example
|
5
4
|
|
6
|
-
|
7
5
|
cat file | selectlines
|
8
6
|
|
9
|
-
|
10
|
-
|
11
7
|
(echo 2; echo; echo; echo) | selectlines
|
12
8
|
|
13
|
-
|
14
9
|
=> 2
|
15
10
|
|
16
|
-
|
17
|
-
The result would be 2, with no blank lines after that
|
11
|
+
The result would be 2, with no blank lines after that
|
data/documentation/speakcat
CHANGED
@@ -1,7 +1,7 @@
|
|
1
|
-
Speak cat is a tool like “cat
|
1
|
+
Speak cat is a tool like “cat,” which shows the content of files (technically, it combines the content of files).
|
2
2
|
|
3
3
|
But speak cat also speaks the text.
|
4
4
|
|
5
5
|
Which could be useful in some circumstances.
|
6
6
|
|
7
|
-
It's kind of like “tee” to your ear.
|
7
|
+
It's kind of like “tee” to your ear.
|
data/documentation/squeeze
CHANGED
data/documentation/sub
CHANGED