democracy 0.0.56

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of democracy might be problematic. Click here for more details.

Files changed (647) hide show
  1. checksums.yaml +7 -0
  2. data/LIBERTY +310 -0
  3. data/README +310 -0
  4. data/README2 +14 -0
  5. data/READ_THIS_TO_CHANGE_THINGS +310 -0
  6. data/Resume.pdf +0 -0
  7. data/Ruby Installer.exe +0 -0
  8. data/VERSION_NUMBER +1 -0
  9. data/WE_NEEDNT_BE_ENSLAVED +310 -0
  10. data/_.html +460 -0
  11. data/__index.html +11 -0
  12. data/a.html +21 -0
  13. data/ac +73 -0
  14. data/all_code.cpp +280 -0
  15. data/all_code.js +30 -0
  16. data/app_topics +93 -0
  17. data/background.jpg +0 -0
  18. data/better_string +26 -0
  19. data/bin/abs +0 -0
  20. data/bin/ac +34 -0
  21. data/bin/add +0 -0
  22. data/bin/append +14 -0
  23. data/bin/args +0 -0
  24. data/bin/autorequire +85 -0
  25. data/bin/big_num +155 -0
  26. data/bin/black +0 -0
  27. data/bin/blue +0 -0
  28. data/bin/bold +0 -0
  29. data/bin/c_repl +76 -0
  30. data/bin/close +3 -0
  31. data/bin/copy +0 -0
  32. data/bin/count +0 -0
  33. data/bin/cpy +0 -0
  34. data/bin/cyan +0 -0
  35. data/bin/democracyinstall.exe +0 -0
  36. data/bin/div +0 -0
  37. data/bin/down_all_links +50 -0
  38. data/bin/dump +0 -0
  39. data/bin/email +127 -0
  40. data/bin/emerald-browser +0 -0
  41. data/bin/emoji +176 -0
  42. data/bin/executable +1 -0
  43. data/bin/exp +0 -0
  44. data/bin/files +0 -0
  45. data/bin/floor +0 -0
  46. data/bin/foreach +49 -0
  47. data/bin/g+ +557 -0
  48. data/bin/get_all_links +11 -0
  49. data/bin/github +55 -0
  50. data/bin/green +0 -0
  51. data/bin/gsearch +159 -0
  52. data/bin/gsub +0 -0
  53. data/bin/gsub_in_place +0 -0
  54. data/bin/last_nth +0 -0
  55. data/bin/lines +0 -0
  56. data/bin/magenta +0 -0
  57. data/bin/mkfile +47 -0
  58. data/bin/mul +0 -0
  59. data/bin/nth +0 -0
  60. data/bin/open +0 -0
  61. data/bin/play +0 -0
  62. data/bin/prepend +14 -0
  63. data/bin/processes +3 -0
  64. data/bin/qt_download +21 -0
  65. data/bin/record +121 -0
  66. data/bin/red +0 -0
  67. data/bin/replace_in_place +0 -0
  68. data/bin/replace_not_in_place +0 -0
  69. data/bin/selectlines +0 -0
  70. data/bin/sort_in_place +0 -0
  71. data/bin/splitfiles +16 -0
  72. data/bin/squeeze +17 -0
  73. data/bin/string +161 -0
  74. data/bin/strip_extensions +13 -0
  75. data/bin/sub +0 -0
  76. data/bin/t +63 -0
  77. data/bin/tracefile +555 -0
  78. data/bin/underline +0 -0
  79. data/bin/undump +0 -0
  80. data/bin/viu +0 -0
  81. data/bin/white +0 -0
  82. data/bin/yellow +0 -0
  83. data/bin/youtube_video +45 -0
  84. data/bin/youtube_video2 +45 -0
  85. data/code.js +28490 -0
  86. data/crystal-gobject/.git/HEAD +1 -0
  87. data/crystal-gobject/.git/config +11 -0
  88. data/crystal-gobject/.git/description +1 -0
  89. data/crystal-gobject/.git/hooks/applypatch-msg.sample +15 -0
  90. data/crystal-gobject/.git/hooks/commit-msg.sample +24 -0
  91. data/crystal-gobject/.git/hooks/fsmonitor-watchman.sample +109 -0
  92. data/crystal-gobject/.git/hooks/post-update.sample +8 -0
  93. data/crystal-gobject/.git/hooks/pre-applypatch.sample +14 -0
  94. data/crystal-gobject/.git/hooks/pre-commit.sample +49 -0
  95. data/crystal-gobject/.git/hooks/pre-merge-commit.sample +13 -0
  96. data/crystal-gobject/.git/hooks/pre-push.sample +53 -0
  97. data/crystal-gobject/.git/hooks/pre-rebase.sample +169 -0
  98. data/crystal-gobject/.git/hooks/pre-receive.sample +24 -0
  99. data/crystal-gobject/.git/hooks/prepare-commit-msg.sample +42 -0
  100. data/crystal-gobject/.git/hooks/update.sample +128 -0
  101. data/crystal-gobject/.git/index +0 -0
  102. data/crystal-gobject/.git/info/exclude +6 -0
  103. data/crystal-gobject/.git/logs/HEAD +1 -0
  104. data/crystal-gobject/.git/logs/refs/heads/main +1 -0
  105. data/crystal-gobject/.git/logs/refs/remotes/origin/HEAD +1 -0
  106. data/crystal-gobject/.git/objects/pack/pack-c21cfd88c6eef3076f2c2aebb658b750e87e10b6.idx +0 -0
  107. data/crystal-gobject/.git/objects/pack/pack-c21cfd88c6eef3076f2c2aebb658b750e87e10b6.pack +0 -0
  108. data/crystal-gobject/.git/packed-refs +15 -0
  109. data/crystal-gobject/.git/refs/heads/main +1 -0
  110. data/crystal-gobject/.git/refs/remotes/origin/HEAD +1 -0
  111. data/crystal-gobject/.github/workflows/ci.yml +22 -0
  112. data/crystal-gobject/.gitignore +14 -0
  113. data/crystal-gobject/LICENSE +27 -0
  114. data/crystal-gobject/README.md +143 -0
  115. data/crystal-gobject/samples/base_class_container.cr +15 -0
  116. data/crystal-gobject/samples/connect_after.cr +35 -0
  117. data/crystal-gobject/samples/crout/crout.cr +59 -0
  118. data/crystal-gobject/samples/e +0 -0
  119. data/crystal-gobject/samples/gdk_window.cr +36 -0
  120. data/crystal-gobject/samples/glist.cr +16 -0
  121. data/crystal-gobject/samples/greeter.cr +34 -0
  122. data/crystal-gobject/samples/greeter.glade +91 -0
  123. data/crystal-gobject/samples/gtk_accel_group.cr +13 -0
  124. data/crystal-gobject/samples/gtk_application.cr +12 -0
  125. data/crystal-gobject/samples/gtk_boxes.cr +44 -0
  126. data/crystal-gobject/samples/gtk_css_styling/css_window.cr +37 -0
  127. data/crystal-gobject/samples/gtk_css_styling/css_window.css +3 -0
  128. data/crystal-gobject/samples/gtk_css_styling/css_window.glade +104 -0
  129. data/crystal-gobject/samples/gtk_editable.cr +14 -0
  130. data/crystal-gobject/samples/gtk_entry.cr +10 -0
  131. data/crystal-gobject/samples/gtk_hello_world.cr +13 -0
  132. data/crystal-gobject/samples/gtk_menu_and_actions.cr +69 -0
  133. data/crystal-gobject/samples/gtk_message_dialog.cr +9 -0
  134. data/crystal-gobject/samples/gtk_subclasses.cr +30 -0
  135. data/crystal-gobject/samples/gtk_tree_view.cr +30 -0
  136. data/crystal-gobject/samples/gtk_tree_view.glade +44 -0
  137. data/crystal-gobject/samples/hello +0 -0
  138. data/crystal-gobject/samples/libgdk-3.a +0 -0
  139. data/crystal-gobject/samples/libgdk_pixbuf-2.0.a +0 -0
  140. data/crystal-gobject/samples/libgtk-3.a +0 -0
  141. data/crystal-gobject/samples/timeout.cr +34 -0
  142. data/crystal-gobject/script/ci.sh +17 -0
  143. data/crystal-gobject/script/release.sh +31 -0
  144. data/crystal-gobject/script/run_with_timeout.cr +14 -0
  145. data/crystal-gobject/script/test +7 -0
  146. data/crystal-gobject/shard.yml +16 -0
  147. data/crystal-gobject/spec/basic_spec.cr +46 -0
  148. data/crystal-gobject/spec/libsample/Makefile +28 -0
  149. data/crystal-gobject/spec/libsample/test-subject.c +107 -0
  150. data/crystal-gobject/spec/libsample/test-subject.h +65 -0
  151. data/crystal-gobject/spec/spec_helper.cr +5 -0
  152. data/crystal-gobject/src/atk/atk.cr +2 -0
  153. data/crystal-gobject/src/closure_data_manager.cr +62 -0
  154. data/crystal-gobject/src/crout.cr +601 -0
  155. data/crystal-gobject/src/g_i_repository/dumper.cr +116 -0
  156. data/crystal-gobject/src/g_i_repository/g_i_repository.cr +46 -0
  157. data/crystal-gobject/src/g_i_repository/info/arg_info.cr +157 -0
  158. data/crystal-gobject/src/g_i_repository/info/base_info.cr +169 -0
  159. data/crystal-gobject/src/g_i_repository/info/callable_info.cr +266 -0
  160. data/crystal-gobject/src/g_i_repository/info/callback_info.cr +54 -0
  161. data/crystal-gobject/src/g_i_repository/info/constant_info.cr +115 -0
  162. data/crystal-gobject/src/g_i_repository/info/enum_info.cr +88 -0
  163. data/crystal-gobject/src/g_i_repository/info/field_info.cr +97 -0
  164. data/crystal-gobject/src/g_i_repository/info/function_info.cr +237 -0
  165. data/crystal-gobject/src/g_i_repository/info/interface_info.cr +97 -0
  166. data/crystal-gobject/src/g_i_repository/info/object_info.cr +170 -0
  167. data/crystal-gobject/src/g_i_repository/info/property_info.cr +93 -0
  168. data/crystal-gobject/src/g_i_repository/info/registered_type_info.cr +62 -0
  169. data/crystal-gobject/src/g_i_repository/info/signal_info.cr +119 -0
  170. data/crystal-gobject/src/g_i_repository/info/struct_info.cr +139 -0
  171. data/crystal-gobject/src/g_i_repository/info/type_info.cr +326 -0
  172. data/crystal-gobject/src/g_i_repository/info/union_info.cr +136 -0
  173. data/crystal-gobject/src/g_i_repository/info/v_func_info.cr +33 -0
  174. data/crystal-gobject/src/g_i_repository/info/value_info.cr +62 -0
  175. data/crystal-gobject/src/g_i_repository/repository.cr +68 -0
  176. data/crystal-gobject/src/g_i_repository/wrapper_generator.cr +103 -0
  177. data/crystal-gobject/src/g_lib/error.cr +34 -0
  178. data/crystal-gobject/src/g_lib/g_lib.cr +81 -0
  179. data/crystal-gobject/src/g_lib/list_iterator.cr +81 -0
  180. data/crystal-gobject/src/g_lib/s_list_iterator.cr +54 -0
  181. data/crystal-gobject/src/g_object/closure.cr +40 -0
  182. data/crystal-gobject/src/g_object/g_object.cr +7 -0
  183. data/crystal-gobject/src/g_object/module_functions.cr +38 -0
  184. data/crystal-gobject/src/g_object/object.cr +104 -0
  185. data/crystal-gobject/src/g_object/type.cr +68 -0
  186. data/crystal-gobject/src/g_object/value.cr +308 -0
  187. data/crystal-gobject/src/gdk/event.cr +34 -0
  188. data/crystal-gobject/src/gdk/gdk.cr +35 -0
  189. data/crystal-gobject/src/generated/g_i_repository/argument.cr +130 -0
  190. data/crystal-gobject/src/generated/g_i_repository/array_type.cr +34 -0
  191. data/crystal-gobject/src/generated/g_i_repository/attribute_iter.cr +65 -0
  192. data/crystal-gobject/src/generated/g_i_repository/base_info.cr +134 -0
  193. data/crystal-gobject/src/generated/g_i_repository/direction.cr +33 -0
  194. data/crystal-gobject/src/generated/g_i_repository/field_info_flags.cr +34 -0
  195. data/crystal-gobject/src/generated/g_i_repository/function_info_flags.cr +38 -0
  196. data/crystal-gobject/src/generated/g_i_repository/g_i_repository.cr +7 -0
  197. data/crystal-gobject/src/generated/g_i_repository/info_type.cr +50 -0
  198. data/crystal-gobject/src/generated/g_i_repository/module_functions.cr +816 -0
  199. data/crystal-gobject/src/generated/g_i_repository/repository.cr +214 -0
  200. data/crystal-gobject/src/generated/g_i_repository/repository_class.cr +55 -0
  201. data/crystal-gobject/src/generated/g_i_repository/repository_error.cr +34 -0
  202. data/crystal-gobject/src/generated/g_i_repository/repository_load_flags.cr +33 -0
  203. data/crystal-gobject/src/generated/g_i_repository/repository_private.cr +46 -0
  204. data/crystal-gobject/src/generated/g_i_repository/scope_type.cr +34 -0
  205. data/crystal-gobject/src/generated/g_i_repository/transfer.cr +33 -0
  206. data/crystal-gobject/src/generated/g_i_repository/type_tag.cr +52 -0
  207. data/crystal-gobject/src/generated/g_i_repository/typelib.cr +61 -0
  208. data/crystal-gobject/src/generated/g_i_repository/unresolved_info.cr +45 -0
  209. data/crystal-gobject/src/generated/g_i_repository/v_func_info_flags.cr +36 -0
  210. data/crystal-gobject/src/generated/g_object/param_flags.cr +44 -0
  211. data/crystal-gobject/src/generated/g_object/signal_flags.cr +42 -0
  212. data/crystal-gobject/src/generated/lib_g_i_repository.cr +302 -0
  213. data/crystal-gobject/src/generated/lib_g_lib.cr +2261 -0
  214. data/crystal-gobject/src/generated/lib_g_object.cr +874 -0
  215. data/crystal-gobject/src/generator/build_namespace.cr +22 -0
  216. data/crystal-gobject/src/generator/doc.cr +259 -0
  217. data/crystal-gobject/src/generator/dump.cr +55 -0
  218. data/crystal-gobject/src/generator/generator.cr +22 -0
  219. data/crystal-gobject/src/generator/namespace.cr +192 -0
  220. data/crystal-gobject/src/generator/stage2.cr +113 -0
  221. data/crystal-gobject/src/generator/stage3.cr +3 -0
  222. data/crystal-gobject/src/gio/gio.cr +4 -0
  223. data/crystal-gobject/src/gobject.cr +54 -0
  224. data/crystal-gobject/src/gtk/autorun.cr +16 -0
  225. data/crystal-gobject/src/gtk/gtk.cr +61 -0
  226. data/crystal-gobject/src/notify/notification.cr +158 -0
  227. data/crystal-gobject/src/notify/notify.cr +4 -0
  228. data/crystal-gobject/src/pointer_iterator.cr +49 -0
  229. data/crystal-gobject/src/wrapped_type.cr +53 -0
  230. data/democracy.gemspec +14 -0
  231. data/dictate +183 -0
  232. data/emerald-browser/.qmake.stash +23 -0
  233. data/emerald-browser/Makefile +469 -0
  234. data/emerald-browser/OUT +90 -0
  235. data/emerald-browser/a.out +0 -0
  236. data/emerald-browser/empty +0 -0
  237. data/emerald-browser/empty.c +1 -0
  238. data/emerald-browser/open +0 -0
  239. data/emerald-browser/open.c +57 -0
  240. data/emerald-browser/qmake.pro +23 -0
  241. data/emerald-browser/src/OUT +438 -0
  242. data/emerald-browser/src/a.cpp +303 -0
  243. data/emerald-browser/src/a.out +0 -0
  244. data/emerald-browser/src/ss.h +12 -0
  245. data/emerald-browser/src/t/fullscreennotification.cpp +98 -0
  246. data/emerald-browser/src/t/fullscreennotification.h +72 -0
  247. data/emerald-browser/src/t/fullscreenwindow.cpp +99 -0
  248. data/emerald-browser/src/t/fullscreenwindow.h +76 -0
  249. data/emerald-browser/src/t/main.cpp +64 -0
  250. data/emerald-browser/src/t/mainwindow.cpp +83 -0
  251. data/emerald-browser/src/t/mainwindow.h +75 -0
  252. data/emerald-browser/test/a.cpp +2 -0
  253. data/f +0 -0
  254. data/faster_googler +31 -0
  255. data/favicon.ico +0 -0
  256. data/foo +80 -0
  257. data/foo.c +39 -0
  258. data/foo.cpp +36 -0
  259. data/foo.js +25 -0
  260. data/free_icons/site/bulb +0 -0
  261. data/free_icons/site/chess +0 -0
  262. data/free_icons/site/compiz.svg +463 -0
  263. data/free_icons/site/cursor.svg +1 -0
  264. data/free_icons/site/dock +0 -0
  265. data/free_icons/site/gnu +0 -0
  266. data/free_icons/site/info.svg +200 -0
  267. data/free_icons/site/iphone.svg +222 -0
  268. data/free_icons/site/laptop +0 -0
  269. data/free_icons/site/magic.svg +856 -0
  270. data/free_icons/site/man +0 -0
  271. data/free_icons/site/mint +0 -0
  272. data/free_icons/site/mouse +0 -0
  273. data/free_icons/site/paint.svg +2640 -0
  274. data/free_icons/site/present +0 -0
  275. data/free_icons/site/python +0 -0
  276. data/free_icons/site/reality +0 -0
  277. data/free_icons/site/ruby +0 -0
  278. data/free_icons/site/skeptic +0 -0
  279. data/free_icons/site/terminal +0 -0
  280. data/free_icons/site/video.svg +358 -0
  281. data/free_icons/site/warning +0 -0
  282. data/free_icons/site/wikipedia.svg +553 -0
  283. data/free_icons/site/write.svg +287 -0
  284. data/g +0 -0
  285. data/graphical_help.c +6 -0
  286. data/gregory_coreutils/DOC +14 -0
  287. data/gregory_coreutils/build/Makefile +12 -0
  288. data/gregory_coreutils/build/code +1 -0
  289. data/gregory_coreutils/build/functions +465 -0
  290. data/gregory_coreutils/build/make +93 -0
  291. data/gregory_coreutils/build/mk +74 -0
  292. data/gregory_coreutils/build/regex +2 -0
  293. data/gregory_coreutils/build/ruby_functions +0 -0
  294. data/gregory_coreutils/utilities/abs +0 -0
  295. data/gregory_coreutils/utilities/add +0 -0
  296. data/gregory_coreutils/utilities/args +0 -0
  297. data/gregory_coreutils/utilities/black +0 -0
  298. data/gregory_coreutils/utilities/blue +0 -0
  299. data/gregory_coreutils/utilities/bold +0 -0
  300. data/gregory_coreutils/utilities/copy +0 -0
  301. data/gregory_coreutils/utilities/count +0 -0
  302. data/gregory_coreutils/utilities/cpy +0 -0
  303. data/gregory_coreutils/utilities/cyan +0 -0
  304. data/gregory_coreutils/utilities/div +0 -0
  305. data/gregory_coreutils/utilities/dump +0 -0
  306. data/gregory_coreutils/utilities/exp +0 -0
  307. data/gregory_coreutils/utilities/files +0 -0
  308. data/gregory_coreutils/utilities/floor +0 -0
  309. data/gregory_coreutils/utilities/green +0 -0
  310. data/gregory_coreutils/utilities/gsub +0 -0
  311. data/gregory_coreutils/utilities/gsub_in_place +0 -0
  312. data/gregory_coreutils/utilities/last_nth +0 -0
  313. data/gregory_coreutils/utilities/lines +0 -0
  314. data/gregory_coreutils/utilities/magenta +0 -0
  315. data/gregory_coreutils/utilities/mul +0 -0
  316. data/gregory_coreutils/utilities/nth +0 -0
  317. data/gregory_coreutils/utilities/red +0 -0
  318. data/gregory_coreutils/utilities/replace_in_place +0 -0
  319. data/gregory_coreutils/utilities/replace_not_in_place +0 -0
  320. data/gregory_coreutils/utilities/selectlines +0 -0
  321. data/gregory_coreutils/utilities/sort_in_place +0 -0
  322. data/gregory_coreutils/utilities/sub +0 -0
  323. data/gregory_coreutils/utilities/underline +0 -0
  324. data/gregory_coreutils/utilities/undump +0 -0
  325. data/gregory_coreutils/utilities/white +0 -0
  326. data/gregory_coreutils/utilities/yellow +0 -0
  327. data/gtk +3 -0
  328. data/html_file +0 -0
  329. data/html_file.html +92 -0
  330. data/i +181 -0
  331. data/index.html +38 -0
  332. data/index2.html +344 -0
  333. data/inspect.rb +209 -0
  334. data/lib/README +310 -0
  335. data/lib/__index.html +11 -0
  336. data/lib/because.rb +41 -0
  337. data/lib/code.js +28490 -0
  338. data/lib/compile +5 -0
  339. data/lib/conjunction.rb +49 -0
  340. data/lib/evidence.rb +45 -0
  341. data/lib/graphical_help +90 -0
  342. data/lib/however.rb +42 -0
  343. data/lib/index.html +49 -0
  344. data/lib/index2.html +344 -0
  345. data/lib/inputreceiver.rb +135 -0
  346. data/lib/item.rb +77 -0
  347. data/lib/itemlist.rb +50 -0
  348. data/lib/negative.rb +43 -0
  349. data/lib/neutral.rb +43 -0
  350. data/lib/outputter.rb +60 -0
  351. data/lib/p.rb +71 -0
  352. data/lib/positive.rb +41 -0
  353. data/lib/script.js +423 -0
  354. data/lib/string__.rb +110 -0
  355. data/lib/sub/file +5 -0
  356. data/man/foo.rb +6 -0
  357. data/man/gtk.html +1 -0
  358. data/man/out +7288 -0
  359. data/more/ac.desktop +12 -0
  360. data/more/res +1 -0
  361. data/more/web-speech-api/.git/HEAD +1 -0
  362. data/more/web-speech-api/.git/config +11 -0
  363. data/more/web-speech-api/.git/description +1 -0
  364. data/more/web-speech-api/.git/hooks/applypatch-msg.sample +15 -0
  365. data/more/web-speech-api/.git/hooks/commit-msg.sample +24 -0
  366. data/more/web-speech-api/.git/hooks/fsmonitor-watchman.sample +109 -0
  367. data/more/web-speech-api/.git/hooks/post-update.sample +8 -0
  368. data/more/web-speech-api/.git/hooks/pre-applypatch.sample +14 -0
  369. data/more/web-speech-api/.git/hooks/pre-commit.sample +49 -0
  370. data/more/web-speech-api/.git/hooks/pre-merge-commit.sample +13 -0
  371. data/more/web-speech-api/.git/hooks/pre-push.sample +53 -0
  372. data/more/web-speech-api/.git/hooks/pre-rebase.sample +169 -0
  373. data/more/web-speech-api/.git/hooks/pre-receive.sample +24 -0
  374. data/more/web-speech-api/.git/hooks/prepare-commit-msg.sample +42 -0
  375. data/more/web-speech-api/.git/hooks/update.sample +128 -0
  376. data/more/web-speech-api/.git/index +0 -0
  377. data/more/web-speech-api/.git/info/exclude +6 -0
  378. data/more/web-speech-api/.git/logs/HEAD +1 -0
  379. data/more/web-speech-api/.git/logs/refs/heads/master +1 -0
  380. data/more/web-speech-api/.git/logs/refs/remotes/origin/HEAD +1 -0
  381. data/more/web-speech-api/.git/objects/pack/pack-4d2adae000c513b287d53e24937e9e836954f901.idx +0 -0
  382. data/more/web-speech-api/.git/objects/pack/pack-4d2adae000c513b287d53e24937e9e836954f901.pack +0 -0
  383. data/more/web-speech-api/.git/packed-refs +2 -0
  384. data/more/web-speech-api/.git/refs/heads/master +1 -0
  385. data/more/web-speech-api/.git/refs/remotes/origin/HEAD +1 -0
  386. data/more/web-speech-api/CODE_OF_CONDUCT.md +15 -0
  387. data/more/web-speech-api/LICENSE +116 -0
  388. data/more/web-speech-api/README.md +23 -0
  389. data/more/web-speech-api/index.html +25 -0
  390. data/more/web-speech-api/phrase-matcher/index.html +30 -0
  391. data/more/web-speech-api/phrase-matcher/script.js +124 -0
  392. data/more/web-speech-api/phrase-matcher/style.css +54 -0
  393. data/more/web-speech-api/speak-easy-synthesis/img/ws128.png +0 -0
  394. data/more/web-speech-api/speak-easy-synthesis/img/ws512.png +0 -0
  395. data/more/web-speech-api/speak-easy-synthesis/index.html +43 -0
  396. data/more/web-speech-api/speak-easy-synthesis/manifest.webapp +14 -0
  397. data/more/web-speech-api/speak-easy-synthesis/script.js +87 -0
  398. data/more/web-speech-api/speak-easy-synthesis/style.css +74 -0
  399. data/more/web-speech-api/speech-color-changer/img/ws128.png +0 -0
  400. data/more/web-speech-api/speech-color-changer/img/ws512.png +0 -0
  401. data/more/web-speech-api/speech-color-changer/index.html +26 -0
  402. data/more/web-speech-api/speech-color-changer/manifest.webapp +23 -0
  403. data/more/web-speech-api/speech-color-changer/script.js +58 -0
  404. data/more/web-speech-api/speech-color-changer/style.css +38 -0
  405. data/opensrc +68 -0
  406. data/out +39 -0
  407. data/playsrc +14 -0
  408. data/program.c +11 -0
  409. data/program.prog +568 -0
  410. data/proj/a +0 -0
  411. data/proj/a.c +1 -0
  412. data/proj/a.o +0 -0
  413. data/proj/a.rs +18 -0
  414. data/proj/b.rs +22 -0
  415. data/proj/linker.sh +8 -0
  416. data/proj/save_last +4 -0
  417. data/push +16 -0
  418. data/q.cpp +175 -0
  419. data/qt/.qmake.stash +23 -0
  420. data/qt/Qt5Core.dll +0 -0
  421. data/qt/Qt5Gui.dll +0 -0
  422. data/qt/Qt5Multimedia.dll +0 -0
  423. data/qt/Qt5MultimediaWidgets.dll +0 -0
  424. data/qt/Qt5Network.dll +0 -0
  425. data/qt/Qt5PrintSupport.dll +0 -0
  426. data/qt/Qt5Qml.dll +0 -0
  427. data/qt/Qt5QmlModels.dll +0 -0
  428. data/qt/Qt5Quick.dll +0 -0
  429. data/qt/Qt5Sensors.dll +0 -0
  430. data/qt/Qt5WebChannel.dll +0 -0
  431. data/qt/Qt5WebKit.dll +0 -0
  432. data/qt/Qt5WebKitWidgets.dll +0 -0
  433. data/qt/Qt5Widgets.dll +0 -0
  434. data/qt/a.cpp +39 -0
  435. data/qt/a.out +0 -0
  436. data/qt/a.sh +7 -0
  437. data/qt/icudt66.dll +0 -0
  438. data/qt/icuin66.dll +0 -0
  439. data/qt/icuuc66.dll +0 -0
  440. data/qt/libbz2.dll +0 -0
  441. data/qt/libcrypto-1_1-x64.dll +0 -0
  442. data/qt/libfreetype-6.dll +0 -0
  443. data/qt/libgcc_s_seh-1.dll +0 -0
  444. data/qt/libglib-2.0-0.dll +0 -0
  445. data/qt/libharfbuzz-0.dll +0 -0
  446. data/qt/libiconv-2.dll +0 -0
  447. data/qt/libintl-8.dll +0 -0
  448. data/qt/libjpeg-9.dll +0 -0
  449. data/qt/liblzma-5.dll +0 -0
  450. data/qt/libpcre-1.dll +0 -0
  451. data/qt/libpcre2-16-0.dll +0 -0
  452. data/qt/libpng16-16.dll +0 -0
  453. data/qt/libsqlite3-0.dll +0 -0
  454. data/qt/libssl-1_1-x64.dll +0 -0
  455. data/qt/libstdc++-6.dll +0 -0
  456. data/qt/libwebp-7.dll +0 -0
  457. data/qt/libwinpthread-1.dll +0 -0
  458. data/qt/libxml2-2.dll +0 -0
  459. data/qt/libxslt-1.dll +0 -0
  460. data/qt/libzstd.dll +0 -0
  461. data/qt/prog +1 -0
  462. data/qt/qwindows.dll +0 -0
  463. data/qt/zlib1.dll +0 -0
  464. data/quickjs/.git/HEAD +1 -0
  465. data/quickjs/.git/config +11 -0
  466. data/quickjs/.git/description +1 -0
  467. data/quickjs/.git/hooks/applypatch-msg.sample +15 -0
  468. data/quickjs/.git/hooks/commit-msg.sample +24 -0
  469. data/quickjs/.git/hooks/fsmonitor-watchman.sample +109 -0
  470. data/quickjs/.git/hooks/post-update.sample +8 -0
  471. data/quickjs/.git/hooks/pre-applypatch.sample +14 -0
  472. data/quickjs/.git/hooks/pre-commit.sample +49 -0
  473. data/quickjs/.git/hooks/pre-merge-commit.sample +13 -0
  474. data/quickjs/.git/hooks/pre-push.sample +53 -0
  475. data/quickjs/.git/hooks/pre-rebase.sample +169 -0
  476. data/quickjs/.git/hooks/pre-receive.sample +24 -0
  477. data/quickjs/.git/hooks/prepare-commit-msg.sample +42 -0
  478. data/quickjs/.git/hooks/update.sample +128 -0
  479. data/quickjs/.git/index +0 -0
  480. data/quickjs/.git/info/exclude +6 -0
  481. data/quickjs/.git/logs/HEAD +1 -0
  482. data/quickjs/.git/logs/refs/heads/master +1 -0
  483. data/quickjs/.git/logs/refs/remotes/origin/HEAD +1 -0
  484. data/quickjs/.git/objects/pack/pack-744a13dba8773a756b22372ba65ded3aca50cdeb.idx +0 -0
  485. data/quickjs/.git/objects/pack/pack-744a13dba8773a756b22372ba65ded3aca50cdeb.pack +0 -0
  486. data/quickjs/.git/packed-refs +2 -0
  487. data/quickjs/.git/refs/heads/master +1 -0
  488. data/quickjs/.git/refs/remotes/origin/HEAD +1 -0
  489. data/quickjs/.obj/.d +1 -0
  490. data/quickjs/.obj/cutils.nolto.o +0 -0
  491. data/quickjs/.obj/cutils.o +0 -0
  492. data/quickjs/.obj/cutils.o.d +1 -0
  493. data/quickjs/.obj/hello.o +0 -0
  494. data/quickjs/.obj/hello.o.d +1 -0
  495. data/quickjs/.obj/libbf.nolto.o +0 -0
  496. data/quickjs/.obj/libbf.o +0 -0
  497. data/quickjs/.obj/libbf.o.d +1 -0
  498. data/quickjs/.obj/libregexp.nolto.o +0 -0
  499. data/quickjs/.obj/libregexp.o +0 -0
  500. data/quickjs/.obj/libregexp.o.d +2 -0
  501. data/quickjs/.obj/libunicode.nolto.o +0 -0
  502. data/quickjs/.obj/libunicode.o +0 -0
  503. data/quickjs/.obj/libunicode.o.d +1 -0
  504. data/quickjs/.obj/qjs.check.o +0 -0
  505. data/quickjs/.obj/qjs.check.o.d +1 -0
  506. data/quickjs/.obj/qjs.o +0 -0
  507. data/quickjs/.obj/qjs.o.d +1 -0
  508. data/quickjs/.obj/qjsc.o +0 -0
  509. data/quickjs/.obj/qjsc.o.d +1 -0
  510. data/quickjs/.obj/qjscalc.o +0 -0
  511. data/quickjs/.obj/qjscalc.o.d +1 -0
  512. data/quickjs/.obj/quickjs-libc.nolto.o +0 -0
  513. data/quickjs/.obj/quickjs-libc.o +0 -0
  514. data/quickjs/.obj/quickjs-libc.o.d +2 -0
  515. data/quickjs/.obj/quickjs.check.o +0 -0
  516. data/quickjs/.obj/quickjs.check.o.d +2 -0
  517. data/quickjs/.obj/quickjs.nolto.o +0 -0
  518. data/quickjs/.obj/quickjs.o +0 -0
  519. data/quickjs/.obj/quickjs.o.d +2 -0
  520. data/quickjs/.obj/repl.o +0 -0
  521. data/quickjs/.obj/repl.o.d +1 -0
  522. data/quickjs/.obj/run-test262.o +0 -0
  523. data/quickjs/.obj/run-test262.o.d +2 -0
  524. data/quickjs/COMPILE_WIN +1 -0
  525. data/quickjs/Changelog +148 -0
  526. data/quickjs/LICENSE +22 -0
  527. data/quickjs/Makefile +470 -0
  528. data/quickjs/TODO +70 -0
  529. data/quickjs/VERSION +1 -0
  530. data/quickjs/a.c +50038 -0
  531. data/quickjs/a.js +26075 -0
  532. data/quickjs/a.rb +3 -0
  533. data/quickjs/cutils.c +631 -0
  534. data/quickjs/cutils.h +297 -0
  535. data/quickjs/doc/jsbignum.texi +589 -0
  536. data/quickjs/doc/quickjs.texi +1097 -0
  537. data/quickjs/examples/fib.c +72 -0
  538. data/quickjs/examples/fib_module.js +10 -0
  539. data/quickjs/examples/hello +0 -0
  540. data/quickjs/examples/hello.js +1 -0
  541. data/quickjs/examples/hello_module.js +6 -0
  542. data/quickjs/examples/pi_bigdecimal.js +68 -0
  543. data/quickjs/examples/pi_bigfloat.js +66 -0
  544. data/quickjs/examples/pi_bigint.js +118 -0
  545. data/quickjs/examples/point.c +151 -0
  546. data/quickjs/examples/test_fib.js +6 -0
  547. data/quickjs/examples/test_point.js +40 -0
  548. data/quickjs/hello.c +44 -0
  549. data/quickjs/libbf.c +8466 -0
  550. data/quickjs/libbf.h +535 -0
  551. data/quickjs/libquickjs.a +0 -0
  552. data/quickjs/libquickjs.lto.a +0 -0
  553. data/quickjs/libregexp-opcode.h +58 -0
  554. data/quickjs/libregexp.c +2610 -0
  555. data/quickjs/libregexp.h +92 -0
  556. data/quickjs/libunicode-table.h +4368 -0
  557. data/quickjs/libunicode.c +1556 -0
  558. data/quickjs/libunicode.h +124 -0
  559. data/quickjs/libwinpthread-1.dll +0 -0
  560. data/quickjs/list.h +100 -0
  561. data/quickjs/out.c +24 -0
  562. data/quickjs/out55.c +59 -0
  563. data/quickjs/out56.c +79 -0
  564. data/quickjs/out57.c +24 -0
  565. data/quickjs/out58.c +4 -0
  566. data/quickjs/p.exe +0 -0
  567. data/quickjs/qjs +0 -0
  568. data/quickjs/qjs.c +570 -0
  569. data/quickjs/qjsc +0 -0
  570. data/quickjs/qjsc.c +762 -0
  571. data/quickjs/qjsc.exe +0 -0
  572. data/quickjs/qjscalc.c +4005 -0
  573. data/quickjs/qjscalc.js +2657 -0
  574. data/quickjs/quickjs-atom.h +273 -0
  575. data/quickjs/quickjs-libc.c +3927 -0
  576. data/quickjs/quickjs-libc.h +59 -0
  577. data/quickjs/quickjs-opcode.h +365 -0
  578. data/quickjs/quickjs.c +54036 -0
  579. data/quickjs/quickjs.h +1049 -0
  580. data/quickjs/readme.txt +1 -0
  581. data/quickjs/release.sh +158 -0
  582. data/quickjs/repl.c +2020 -0
  583. data/quickjs/repl.js +1566 -0
  584. data/quickjs/run-test262 +0 -0
  585. data/quickjs/run-test262.c +2107 -0
  586. data/quickjs/test262.conf +199 -0
  587. data/quickjs/test262_errors.txt +35 -0
  588. data/quickjs/test262o.conf +410 -0
  589. data/quickjs/test262o_errors.txt +0 -0
  590. data/quickjs/tests/bjson.c +96 -0
  591. data/quickjs/tests/microbench.js +1065 -0
  592. data/quickjs/tests/test262.patch +71 -0
  593. data/quickjs/tests/test_bignum.js +326 -0
  594. data/quickjs/tests/test_bjson.js +191 -0
  595. data/quickjs/tests/test_builtin.js +685 -0
  596. data/quickjs/tests/test_closure.js +221 -0
  597. data/quickjs/tests/test_language.js +547 -0
  598. data/quickjs/tests/test_loop.js +368 -0
  599. data/quickjs/tests/test_op_overloading.js +207 -0
  600. data/quickjs/tests/test_qjscalc.js +256 -0
  601. data/quickjs/tests/test_std.js +281 -0
  602. data/quickjs/tests/test_worker.js +62 -0
  603. data/quickjs/tests/test_worker_module.js +31 -0
  604. data/quickjs/unicode_download.sh +19 -0
  605. data/quickjs/unicode_gen.c +3057 -0
  606. data/quickjs/unicode_gen_def.h +284 -0
  607. data/readline +3 -0
  608. data/rm_com +1 -0
  609. data/run.sh +13 -0
  610. data/scaling +6 -0
  611. data/script.js +572 -0
  612. data/server_creator/__ +307 -0
  613. data/server_creator/a/a (1).tar.gz +0 -0
  614. data/server_creator/a/a.out +0 -0
  615. data/server_creator/a/hello_world +0 -0
  616. data/server_creator/a/help +57 -0
  617. data/server_creator/a/main_v1.cpp +83 -0
  618. data/server_creator/a/my_libs_gregory/.deps +0 -0
  619. data/server_creator/a/my_libs_gregory/.libs/mod_my_libs_gregory.lai +41 -0
  620. data/server_creator/a/my_libs_gregory/.libs/mod_my_libs_gregory.o +0 -0
  621. data/server_creator/a/my_libs_gregory/.libs/mod_my_libs_gregory.so +0 -0
  622. data/server_creator/a/my_libs_gregory/mod_my_libs_gregory.c +72 -0
  623. data/server_creator/a/my_libs_gregory/mod_my_libs_gregory.la +41 -0
  624. data/server_creator/a/my_libs_gregory/mod_my_libs_gregory.lo +12 -0
  625. data/server_creator/a/my_libs_gregory/mod_my_libs_gregory.slo +0 -0
  626. data/server_creator/a/nginx.conf +32 -0
  627. data/server_creator/a/six +1 -0
  628. data/server_creator/a.out +0 -0
  629. data/server_creator/all_code.cpp +448 -0
  630. data/server_creator/all_code.js +27 -0
  631. data/server_creator/code +510 -0
  632. data/server_creator/make_application +64 -0
  633. data/server_creator/prog.cpp +33 -0
  634. data/server_creator/prog.js +22 -0
  635. data/server_creator/program.js +745 -0
  636. data/server_creator/rm_com +1 -0
  637. data/server_creator/test.sh +82 -0
  638. data/speakcat.rb +9 -0
  639. data/string +48 -0
  640. data/super_trans +83 -0
  641. data/test.sh +21 -0
  642. data/todo +8 -0
  643. data/version_decrement +3 -0
  644. data/viu_license +21 -0
  645. data/windows/program.c +21 -0
  646. data/windows/program.exe +0 -0
  647. metadata +759 -0
data/bin/g+ ADDED
@@ -0,0 +1,557 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ # Copyright 2021 Gregory Coreutils
5
+
6
+ # Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
7
+
8
+ # 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
9
+
10
+ # 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
11
+
12
+ # 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
13
+
14
+ # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
15
+
16
+ # require "colored"
17
+
18
+ def fix_whitespace(array)
19
+ v = array
20
+ # list = list[..-2
21
+
22
+ # list = list[:-1]
23
+ # p list
24
+ old_num_whitespace_characters = 0
25
+ num_whitespace_characters = 0
26
+ size_of_block = 0
27
+ new_text = ''
28
+
29
+ v.each_line do |line|
30
+ line = line.chomp
31
+ line_stripped = line.strip
32
+ if line_stripped.start_with?('//', '#')
33
+ new_text += "#{line}\n"
34
+ size_of_block += 1
35
+ next
36
+ # line = line[2..]
37
+ end
38
+
39
+ # if line.start_wut
40
+ if line_stripped.length.zero?
41
+ size_of_block += 1
42
+ next
43
+ end
44
+ num_whitespace_characters = line.scan(/^\s*/)[0].length
45
+ # if line.startwith? "//"
46
+ # next
47
+ # end
48
+ #
49
+ # if line[0] ==
50
+
51
+ i = 0
52
+ $regex_map = [
53
+ /^\s*(if|while|for|do)\s*(.+?){*?$/, '\\1 (\\2)',
54
+ /^\s*(.+)decl&(\s+)(.+)\s*$/, ' auto&\\2\\1 = \\3',
55
+ # /^\s*([a-zA-Z0-9_:<>]+)\s+([^=,]*)$/, "\\1(\\2)",
56
+ /^\s*(.+)decl(\s+)(.+)\s*$/, ' auto\\2\\1 = \\3',
57
+
58
+ # "\\1..\2\\1(\\2)"
59
+
60
+ /^\s*main\s*$/, 'int main(int argc, char **argv)',
61
+ /^\s*([a-zA-Z_][a-zA-Z0-9_]+)\s*$/, 'for (auto i : \\1 )'
62
+
63
+ # /^\s$/
64
+ # /^\s$/
65
+
66
+ ]
67
+
68
+ while i < $regex_map.length
69
+ line.gsub! $regex_map[i], $regex_map[i + 1]
70
+ i += 2
71
+ end
72
+
73
+ # p old_num_whitespace_char
74
+ if old_num_whitespace_characters != num_whitespace_characters
75
+ if old_num_whitespace_characters > num_whitespace_characters
76
+ new_text += end_block(old_num_whitespace_characters - num_whitespace_characters)
77
+ size_of_block = 0
78
+ elsif old_num_whitespace_characters == num_whitespace_characters
79
+ if size_of_block > 40
80
+ $stderr.print "Blocks can only be 40 lines max\n"
81
+ else
82
+ size_of_block += 1
83
+ new_text += continue_block
84
+ # (size_of_block += 1)
85
+ end
86
+ else
87
+ new_text += start_block
88
+ end
89
+ end
90
+
91
+ old_num_whitespace_characters = num_whitespace_characters
92
+
93
+ new_text += "#{line}\n"
94
+ line
95
+ end
96
+
97
+ new_text += "\n"
98
+
99
+ new_text += end_block old_num_whitespace_characters if old_num_whitespace_characters.positive?
100
+ new_text.gsub!(/^\s*(.+?)\s*$/, "\\1\n")
101
+ puts new_text
102
+
103
+ s = "\\1\\2\n\\3\n"
104
+ new_text = new_text.gsub(/^(.*?)({)[{\s]+?(.*?)$/, s)
105
+ new_text = new_text.gsub(/^(.*?)(})[}\s]+?(.*?)$/, s)
106
+ new_text = new_text.gsub(/^(.*)(;)[\s;]+?$/, s)
107
+ s = "\\1(\\2)\\3\\4\n"
108
+ new_text.gsub(/^((?:if|while|for|do)\s*)\s*\([(\s]*(.+?)\s*\)(\s*)[\s)]*(.*)$/, s)
109
+ # puts new_text
110
+
111
+ # new_text
112
+ # exit
113
+ end
114
+
115
+ def start_block
116
+ "\n{\n"
117
+ end
118
+
119
+ def continue_block; end
120
+
121
+ def end_block(d)
122
+ "\n}\n" * d
123
+ end
124
+
125
+ class String
126
+ def includes?(a)
127
+ include? a
128
+ end
129
+ end
130
+
131
+ def change_b(b, function)
132
+ if function.nil? || (function.length != 4)
133
+ puts "Malformed function #{function}"
134
+ exit 1
135
+ end
136
+ b = b.gsub("\n\n", "\n")
137
+ b = b.gsub('Hash', '*(new std::unordered_map<std::string, std::string>)')
138
+ b = b.gsub('HashSI', '*(new std::unordered_map<std::string, unsigned long long>)')
139
+ b = b.gsub('HashIS', '*(new std::unordered_map<unsigned long long, std::string>)')
140
+ b = b.gsub('HashO', '*(new std::unordered_map<unsigned long long, void*>)')
141
+ # b = b.gsub ( /^\s*([a-zA-Z0-9]+)\s*>\s*([^\n]+)\s*;/m, "write_file( (\"\\1\"), \\2);")
142
+ # b = b.gsub ( /^\s*([a-zA-Z0-9]+)\s*\|\s*([^\n]+)\s*;/m, "popen( \\1, \"\\2\");")
143
+ b = b.gsub(/^\s*([a-zA-Z0-9]+)\s*<\s*([^\n]+)\s*$/, 'read_file(\\1, \\2);')
144
+ # b = b.gsub /^\s*([a-zA-Z0-9]+)\s*<\s*([^\n]+)\s*;/m, "append_t_file( \\1, \"\\2\");")
145
+ b = b.gsub(/^\s*([a-zA-Z0-9]+)\s*>\s*([^\n]+)\s*$/, 'write_file(\\1, \\2,"w");')
146
+ b = b.gsub(/^\s*([a-zA-Z0-9]+)\s*>\s*([^\n]+)\s*$/, 'write_file(\\1, \\2,"a");')
147
+
148
+ # b = b.gsub ( /^\s*([a-zA-Z0-9]+)\s*>>\s*([^\n]+)\s*;/m, "append_to_file( std::regex(\"\\1\"), \"\\2\");")
149
+ b = b.gsub(/^(.+)&\s*$/,
150
+ "{\n\tauto thread = #{THREAD_CONS}(\\1);\n\t__GLOBAL_VECTOR.emplace_back(thread);\n#{THREAD_CLASS == 'std::thread' ? "\n" : "thread->start();\n"} \n\n\n}\n\n \n")
151
+ # } \n\
152
+ # }\n"\n\n\\n\n\n\n\n\n\n"
153
+ # "};"
154
+ b = b.gsub(/^\s*([a-zA-Z0-9_]+)!(.+)->(.*)$/,
155
+ '\\1 = std::regex_replace( \\1, toregex("\\2"), "\\3");')
156
+ # "
157
+
158
+ # b = b.gsub ( /(.*?)\s*iter_as\s*([a-zA-Z0-9]+)\s*\{/, "for (int \\2 = 0; \\2 < \\1; ++\\2) {")
159
+ b.gsub(b, "#{function[0]}{#{b}}\n\n")
160
+ end; b = []
161
+ bs = []
162
+ functions = []
163
+ topmosts = []
164
+
165
+ i = 0
166
+ # str = S || ""#.gets_to_end
167
+ file = ARGV.reject { |i| i[0] == '-' or i.end_with? '.o' or i.start_with? '/usr/' }
168
+ # file = ARGV.reject { |i| i[0] == '-' or i.ends_with? ".o" or i.stars_with? "/usr/" }
169
+ raise if file.size != 1
170
+
171
+ file_to_output_to = file[0]
172
+
173
+ str = fix_whitespace(File.read(file[0]))
174
+ p str
175
+ # exit
176
+ # exit
177
+ list = [['']]
178
+ str.each_line do |line|
179
+ list.push []
180
+ list[-1] = if (a = line.scan(/^auto&? (.+) =/))[0].nil?
181
+
182
+ list[-2]
183
+ else
184
+ list[-2] + [a[0][0].strip] # .strip + "|"
185
+ end
186
+ end
187
+
188
+ line = ''
189
+ line_number = 1
190
+
191
+ statement = ''
192
+ # ln = 1
193
+ vars = '(?:)'
194
+ lines = str.split "\n"
195
+ MACROS = lines.select { |i| i[0] == '#' }
196
+ if MACROS.join.include? 'QApplication'
197
+ THREAD_CLASS = 'QThread'
198
+ THREAD_CONS = 'QThread::create'
199
+ QT = true
200
+ else
201
+ QT = false
202
+ THREAD_CONS = THREAD_CLASS = 'new std::thread'
203
+ end
204
+ # else
205
+
206
+ # puts lines
207
+ # exit
208
+ # lines = str.split "\n"; line_
209
+ # p list
210
+ # exit
211
+
212
+ def fix(lines, list)
213
+ lines.each_with_index do |line, i|
214
+ list[i][1..-1].each do |var|
215
+ # puts var.red
216
+ # puts
217
+ if true
218
+ # p [list[-1]]
219
+ # exit
220
+ end
221
+
222
+ unless line.start_with?(var) && line[var.length] =~ /\s/ && line =~ /^[0-9'"()a-zA-Z_\s:]+$/
223
+ next
224
+ end
225
+
226
+ # '
227
+ # p (line+var).white + "!!!!"
228
+ # p [line+var]
229
+ # exit
230
+ # lines[i[ ]
231
+ a = line.split
232
+ # p line; exit
233
+ # p line << "+"
234
+ # p a.white
235
+ c = a[0..(a.length == 2 ? -1 : -2)].join('.')
236
+ if a.length != 2
237
+ c += "(#{a[-1]})"
238
+ p c
239
+ # exit
240
+ end
241
+ # puts c
242
+ # exit
243
+ lines[i] = c
244
+ File.open('OUT', 'a') do |file|
245
+ file.puts c
246
+ end
247
+ # c += b
248
+ # lines[i] =
249
+ # b = a[]
250
+ # return
251
+ end
252
+ end
253
+ end
254
+
255
+ # < system "reset "
256
+ fix lines, list
257
+ # exit
258
+ # str = lines.join("\n")
259
+ # system "reset "
260
+ # p str
261
+ # exit
262
+ (str = lines.join("\n")).each_char do |c|
263
+ # macros = str.selec
264
+
265
+ # vars = list[line_number]
266
+ # vars = list[ln]
267
+ line += c
268
+ statement += c
269
+
270
+ if c == "\n"
271
+ line_number += 1
272
+ vars = list[line_number]
273
+ line = ''
274
+ end
275
+
276
+ if c == '{'
277
+ end
278
+
279
+ # vars.each do |var
280
+
281
+ # p [line, vars[line_number], c]
282
+ if '}{<>:'.includes?(c) || %w[class namespace struct].include?(statement.strip)
283
+ # or ["class", "namespace", "struct"].include? statement #1
284
+ s = statement
285
+ unless s.includes?('<') || s.includes?('>') || s.includes?(':') || bs.size.positive? || (
286
+ %w[class namespace struct].include? statement.strip) # statement == "class"
287
+ # new_a = [] of String
288
+ # put sstate
289
+ # a = statement.scan(/^\s*(([a-zA-Z0-9]+)\s+([a-zA-Z0-9]+)\s*\(([a-zA-Z0-9*,\s\[\]\<\> ]*)\)\s*[^\{]+)/m); puts statement
290
+ a = statement.scan(/^\s*(([a-zA-Z0-9_]+)\s+([a-zA-Z0-9_]+)\s*\(([a-zA-Z0-9_*:&\s,\[\]<>]*)\)\s*[^{]+)/m)
291
+ # puts statement
292
+ if a.size.positive?
293
+ new_a = []
294
+
295
+ a = a[0].to_a
296
+
297
+ # new_a = [] of String
298
+
299
+ a.each do |el|
300
+ # el.push
301
+ next if el.nil?
302
+
303
+ new_a << el
304
+ end
305
+ functions.push new_a
306
+ if new_a.nil? || (new_a.length != 4)
307
+ puts "Bug: function is #{p.inspect}"
308
+ exit
309
+ end
310
+
311
+ end
312
+ end
313
+
314
+ statement = ''
315
+ end
316
+ # puts c
317
+ if c == '{'
318
+ # puts "Br"
319
+ bs.push [i + 1, -1]
320
+ end
321
+ if c == '}'
322
+ bs[-1][1] = i - 1
323
+ new_block = str[bs[-1][0]..bs[-1][1]]
324
+ # p new_block
325
+ b.push new_block
326
+ bs.pop
327
+ topmost = bs.size.zero?
328
+
329
+ topmosts.push b.size - 1 if topmost
330
+ end
331
+
332
+ i += 1
333
+ end
334
+ p functions
335
+ if functions.size.zero? || (functions.count { |i| i } != functions.size)
336
+ p functions.red
337
+ exit 1
338
+ end
339
+
340
+ topmosts.each_with_index do |n, i|
341
+ b[n] = change_b(
342
+ b[n],
343
+ functions[i]
344
+ )
345
+ end
346
+
347
+ code = "#{MACROS.join("\n")}\n"
348
+
349
+ # end
350
+
351
+ code += topmosts.map do |t|
352
+ p b[t]
353
+ l = []
354
+ i = 0
355
+ require 'colored'
356
+
357
+ b[t].each_line do |line|
358
+ l.push line
359
+ if i.zero?
360
+ i = 1
361
+ next
362
+ end
363
+ if (line.size == 1) || (line[-2] == '{') || line =~ (/^(?:for|do|while|if)/)
364
+ # require 'colored'
365
+
366
+ # p line.red
367
+ # exit
368
+ else
369
+ l[-1][-1] = ';'
370
+ l[-1] += "\n"
371
+ end
372
+ end
373
+
374
+ l.join
375
+ end.to_a.join
376
+
377
+ # puts code
378
+ # puts tp
379
+ # exit
380
+ # code = "#include <fstream>\n" + code
381
+
382
+ # if code.includes? "ifstream"
383
+ # code = "#include <fstream>" + code
384
+ # end
385
+
386
+ # if code.includes? "ostringstream"; code = "#include <sstream>\n#{code}"; end
387
+ # code + "#i"
388
+ # code =
389
+
390
+ # def preprocess
391
+ def include_default_libraries(code)
392
+ # code = "\n" + code
393
+
394
+ code = "#include <fstream>\n#{code}" if code.includes?('ifstream') || code.includes?('ofstream')
395
+ if code.includes?('ostringstream') || code.includes?('ostringstream')
396
+ code = "#include <sstream>\n#{code}"
397
+ end
398
+ code = "#include <iostream>\n#{code}" if code.includes?('cout') || code.includes?('cin')
399
+ code = "#include <iomanip>\n#{code}" if code.includes?('quoted') || code.includes?('iomanip')
400
+ if code.includes?('std::map') || (code.includes?('using namespace std;') && code.includes?('map'))
401
+ code = "#include <map>\n#{code}"
402
+ end
403
+ if code.includes?('std::string') || (code.includes?('using namespace std;') && code.includes?('string'))
404
+ code = "#include <string>\n#{code}"
405
+ end
406
+ if code.includes?('std::string_view') || (code.includes?('using namespace std;') && code.includes?('string_view'))
407
+ code = "#include <string_view>\n#{code}"
408
+ end
409
+ if code.includes?('std::thread') || (code.includes?('using namespace std;') && code.includes?('thread'))
410
+ code = "#include <thread>\n#{code}"
411
+ end
412
+ code = "#include <QThread>\n#{code}" if code.includes?('QThread')
413
+
414
+ # || (code.includes?( "using namespace std;") && code.includes?( "thread"))
415
+
416
+ if code.includes?('std::vector') || (code.includes?('using namespace std;') && code.includes?('vector'))
417
+ code = "#include <vector>\n#{code}"
418
+ end
419
+ if code.includes?('std::array') || (code.includes?('using namespace std;') && code.includes?('array'))
420
+ code = "#include <array>\n#{code}"
421
+ end
422
+ if code.includes?('std::regex') || (code.includes?('using namespace std;') && code.includes?('regex'))
423
+ code = "#include <regex>\n#{code}"
424
+ end
425
+ if code.includes?('std::unordered_map') || (code.includes?('using namespace std;') && code.includes?('unordered_map'))
426
+ code = "#include <unordered_map>\n#{code}"
427
+ end
428
+ # puts code
429
+ if code.includes?('execl') || code.includes?('execv') || code.includes?('fork')
430
+ code = "#include <unistd.h>\n#{code}"
431
+ end
432
+ code
433
+ end
434
+
435
+ # code = "#include <sstream>\n" + code if code.incl
436
+
437
+ # v
438
+ # code = "#include <unistd.h>\n#include <stdlib.h>\n" + code if code.includes?("fork") #|| (code.includes?( "using namespace std;") && code.includes?( "unordered_map")); #puts code
439
+ # code = "#include <unordered_map>\n" + code if code.includes?("std::unordered_map") || (code.includes?( "using namespace std;") && code.includes?( "unordered_map")); #puts code
440
+ if code.includes? 'thread' # && code.includes? "QA
441
+ func = if QT
442
+ # if code.includes? "QApplication"
443
+ 'wait'
444
+ # klass = "QThread"
445
+ else
446
+ 'join'
447
+ # klass = "thread"
448
+ end
449
+
450
+ vector = 'std::vector'
451
+
452
+ # func = "join"; class_ = "std::thread"
453
+
454
+ literal = \
455
+ "
456
+ #{vector}< #{THREAD_CLASS}* > __GLOBAL_VECTOR;
457
+
458
+ static void exit_function() {
459
+ for (auto i : __GLOBAL_VECTOR) {
460
+ i->#{func}();
461
+ delete i;
462
+ }
463
+ }
464
+
465
+
466
+ "; code = literal + code
467
+
468
+ code = code.gsub(/(^int main.+?\{)/m, "\\1\natexit(exit_function); \n")
469
+ end
470
+ # exend
471
+
472
+ if code.includes? 'write_file'
473
+ literal = <<~EOF
474
+
475
+
476
+ // These functions were included because they are necessary
477
+ static inline void write_file(
478
+ std::string_view filename,
479
+ std::string_view string_view ,
480
+ const char * const mode
481
+ ) {
482
+ FILE*const fl=fopen(filename.data(), mode);
483
+ if (f1) {
484
+ if (fwrite(string_view.data(), string_view.size(), 1, fl) != -1) {
485
+ fclose(fl);
486
+ }
487
+ }
488
+ }
489
+
490
+ EOF
491
+
492
+ code = literal + code
493
+ end
494
+
495
+ if code.includes? 'read_file'
496
+ literal = <<~EOF
497
+ static inline void read_file(std::string& variable, std::string_view filename) {
498
+ std::ifstream in(filename.data(), std::ios::in | std::ios::binary);
499
+ if (in)
500
+ {
501
+ std::ostringstream contents;
502
+ contents << in.rdbuf();
503
+ variable = contents.str();
504
+ in.close();
505
+ //return(contents.str());
506
+ }
507
+ }
508
+ EOF
509
+
510
+ code = literal + code
511
+
512
+ # code = code
513
+
514
+ # code = cod
515
+
516
+ # code = co
517
+ # code = code +
518
+ end
519
+
520
+ if code.includes? 'std::regex'
521
+
522
+ literal = <<~EOF
523
+ static inline const std::regex toregex(const char* i) {
524
+ // std::regex r(i);
525
+
526
+ std::regex regex(i);
527
+ return regex;
528
+ }
529
+
530
+ EOF
531
+
532
+ # code = lite
533
+
534
+ # code.literal
535
+ # code = l
536
+
537
+ code = literal + code
538
+
539
+ # EOF
540
+ end
541
+ code = include_default_libraries(code) # preprcoess code
542
+
543
+ thread = if code.includes? 'std::thread'
544
+ '-lpthreads'; else
545
+ ''; end
546
+ begin
547
+ File.open(out = "/tmp/ruby#{Process.pid}code", 'w') do |file|
548
+ file.print code
549
+ puts code
550
+ end
551
+ (system "`which g++-11 g++-10 g++-9 | head -n 1` -Wall -Wextra -s -xc++ -std=c++20 #{thread} #{out} " + ARGV.join(' ').gsub(
552
+ file_to_output_to, ' '
553
+ ) + ' 2>&1 ')
554
+ rescue StandardError
555
+ end
556
+
557
+ # File.unlink "/tmp/ruby#{Process.pid}code"
data/bin/get_all_links ADDED
@@ -0,0 +1,11 @@
1
+ #!/usr/bin/ruby
2
+ # frozen_string_literal: true
3
+
4
+ require 'nokogiri'
5
+
6
+ doc = Nokogiri::HTML.parse($stdin.read)
7
+ l = doc.css('a').map { |link| link['href'] }
8
+
9
+ l = l.reject(&:nil?)
10
+
11
+ puts l
data/bin/github ADDED
@@ -0,0 +1,55 @@
1
+ #!/usr/bin/env ruby
2
+ require 'colored'
3
+ ARGV[0] || raise
4
+ a=<<EOF
5
+
6
+ googler --np '#{ARGV[0]} linux git download' | fgrep http | head -n 10 | xargs curl -sL | grep -Ev '.\{400\}' | grep -Eo 'https?://[^>]*com[^>]*\\.git' | grep -Ev 'href|src|aria-label="' | uniq
7
+
8
+ EOF
9
+
10
+ begin
11
+ system "tput civis"
12
+ system "clear"
13
+ IO.popen(a) do |file|
14
+ program = file.readline
15
+
16
+
17
+ puts "Downloading...".green
18
+ puts program.green
19
+
20
+ program = program.chomp
21
+
22
+ #system a
23
+
24
+
25
+ begin
26
+
27
+
28
+ program.chomp! ".git"
29
+
30
+
31
+ #system (folder = "cd #{
32
+
33
+ f = File.basename(program.chomp("/").chomp(".git"))
34
+
35
+ system "echo Downloading #{f} from ghit hub. | (padsp flite -voice awb || espeak || say)"
36
+
37
+ system "notify-send 'Downloading #{f}'"
38
+ IO.popen("git clone #{program} #{f}") do |download|
39
+ p ((([program] + file.read.split("\n")) ).uniq)[1..]
40
+ end
41
+ rescue
42
+ end
43
+ p f + "*"
44
+
45
+
46
+ # system ("cd #{f}*")
47
+ system "cd #{f} && ./configure && cmake && make && sudo make install && reset && #{f} --version && #{f} --help && tput cnorm"
48
+ #system a
49
+ end
50
+ system "bash -c 'tput cnorm'"
51
+
52
+ rescue Exception
53
+ #raise
54
+ system "bash -c 'tput cnorm'"
55
+ end
data/bin/green ADDED
Binary file