democracy 0.0.56

Sign up to get free protection for your applications and to get access to all the features.

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
@@ -0,0 +1,115 @@
1
+ #!/usr/bin/env ruby
2
+ #
3
+ # Democracy software compilation VERSION 0.0., created on 2021-11-14 17:41:34 -0500
4
+ # Get all of this code, and all of these files, with
5
+ # gem install democracy
6
+ # Linux ruby 2.7.0p0 (2019-12-25 revision 647ee6f091) [x86_64-linux-gnu]
7
+ #
8
+ # Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted.
9
+ #
10
+ # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
11
+
12
+
13
+
14
+
15
+
16
+ # 62 of 16 source files
17
+ module GIRepository
18
+ require_relative "string__"
19
+ class ConstantInfo < BaseInfo
20
+ def name
21
+ super.try &.sub(/\A[a-z]/) { |m| m[0].upcase }
22
+ end
23
+
24
+ def value
25
+ size = LibGIRepository.constant_info_get_value(self, out value)
26
+ {size, value}
27
+ end
28
+
29
+ def with_value
30
+ size, val = self.value
31
+ yield size, val
32
+ ensure
33
+ foo = val.not_nil!
34
+ LibGIRepository.constant_info_free_value(self, pointerof(foo))
35
+ end
36
+
37
+ def type
38
+ BaseInfo.wrap(GIRepository.constant_info_get_type(self)).as(TypeInfo)
39
+ end
40
+
41
+ def literal(builder)
42
+ with_value do |size, value|
43
+ case type.tag
44
+ when .boolean?
45
+ builder.literal value.v_boolean
46
+ when .int8?
47
+ builder.literal value.v_int8
48
+ when .uint8?
49
+ builder.literal value.v_uint8
50
+ when .int16?
51
+ builder.literal value.v_int16
52
+ when .uint16?
53
+ builder.literal value.v_uint16
54
+ when .int32?
55
+ builder.literal value.v_int32
56
+ when .uint32?
57
+ builder.literal value.v_uint32
58
+ when .int64?
59
+ builder.literal value.v_int64
60
+ when .uint64?
61
+ builder.literal value.v_uint64
62
+ when .float?
63
+ builder.literal value.v_float
64
+ when .double?
65
+ builder.literal value.v_double
66
+ when .utf8?
67
+ builder.literal String.new(value.v_string)
68
+ when .array?
69
+ pointer_type = "Pointer(StaticArray(#{type.param_type.lib_definition(builder)}, #{size}))"
70
+ if size > 0
71
+ pointer = builder.call "new", builder.literal(value.v_pointer), receiver: pointer_type
72
+ builder.call "value", receiver: pointer
73
+ else
74
+ builder.call "null", receiver: pointer_type
75
+ end
76
+ when .interface?
77
+ builder.comment "INTERFACE CONSTANT #{name} #{size}" # debug, should never end up being generated
78
+ else
79
+ raise "Bug: Unhandled constant type #{type.tag}"
80
+ end
81
+ end
82
+ end
83
+
84
+ def lib_definition(builder)
85
+ if type.tag.interface?
86
+ builder.comment "#{name} = ungeneratable value"
87
+ elsif name = self.name
88
+ builder.end_of_line_comment ": #{type.lib_definition(builder)}"
89
+ builder.line builder.assign name, literal(builder)
90
+ else
91
+ builder.comment "# nameless constant for #{literal(builder)}"
92
+ end
93
+ end
94
+
95
+ def wrapper_definition(builder, libname)
96
+ if name = self.name
97
+ builder.line builder.assign name, "#{libname}::#{name}"
98
+ end
99
+ end
100
+
101
+ Dumper.def do
102
+ Dumper.dump_child type
103
+ dumper.puts "* value = #{Crout.build { |b| literal(b) }}"
104
+ end
105
+ end
106
+ end
107
+
108
+
109
+
110
+
111
+
112
+
113
+
114
+
115
+ # Feedback and donation to gregorycohen2@gmail.com (money transfer or Paypal)
@@ -0,0 +1,88 @@
1
+ #!/usr/bin/env ruby
2
+ #
3
+ # Democracy software compilation VERSION 0.0., created on 2021-11-14 17:41:34 -0500
4
+ # Get all of this code, and all of these files, with
5
+ # gem install democracy
6
+ # Linux ruby 2.7.0p0 (2019-12-25 revision 647ee6f091) [x86_64-linux-gnu]
7
+ #
8
+ # Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted.
9
+ #
10
+ # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
11
+
12
+
13
+
14
+
15
+
16
+ # 55 of 16 source files
17
+ module GIRepository
18
+ require_relative "string__"
19
+ class EnumInfo < BaseInfo
20
+ include RegisteredTypeInfo
21
+
22
+ each_converted enum_info, value, ValueInfo
23
+ each_converted enum_info, method, FunctionInfo
24
+
25
+ def attributes(builder)
26
+ end
27
+
28
+ def name
29
+ super.not_nil!
30
+ end
31
+
32
+ def type_tag
33
+ GIRepository.enum_info_get_storage_type(self)
34
+ end
35
+
36
+ def type
37
+ TypeInfo::TAG_MAP[type_tag]
38
+ end
39
+
40
+ def lib_definition(builder)
41
+ builder.section do
42
+ builder.def_alias name, type
43
+ each_method &.lib_definition(builder)
44
+ end
45
+ end
46
+
47
+ def wrapper_definition(builder, libname)
48
+ attributes(builder)
49
+ builder.def_enum(name, type: type) do
50
+ line assign "ZERO_NONE", literal(0) unless values.any? { |value| value.value == 0 }
51
+
52
+ each_value do |value|
53
+ if name = value.name
54
+ name = name.upcase
55
+ if 'A' <= name[0] <= 'Z'
56
+ line assign name, literal(value.literal(type_tag))
57
+ else
58
+ comment "#{name} = #{literal(value.literal(type_tag))}"
59
+ end
60
+ end
61
+ end
62
+ end
63
+
64
+ each_method { |method| builder.comment "Function #{method.name}" }
65
+ end
66
+
67
+ Dumper.def do
68
+ dumper.puts "* type = #{type}"
69
+ Dumper.dump_childs value
70
+ Dumper.dump_childs method
71
+ end
72
+ end
73
+
74
+ class FlagsInfo < EnumInfo
75
+ def attributes(builder)
76
+ builder.annotation("Flags")
77
+ end
78
+ end
79
+ end
80
+
81
+
82
+
83
+
84
+
85
+
86
+
87
+
88
+ # Feedback and donation to gregorycohen2@gmail.com (money transfer or Paypal)
@@ -0,0 +1,97 @@
1
+ #!/usr/bin/env ruby
2
+ #
3
+ # Democracy software compilation VERSION 0.0., created on 2021-11-14 17:41:34 -0500
4
+ # Get all of this code, and all of these files, with
5
+ # gem install democracy
6
+ # Linux ruby 2.7.0p0 (2019-12-25 revision 647ee6f091) [x86_64-linux-gnu]
7
+ #
8
+ # Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted.
9
+ #
10
+ # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
11
+
12
+
13
+
14
+
15
+
16
+ # 47 of 16 source files
17
+ module GIRepository
18
+ require_relative "string__"
19
+ class FieldInfo < BaseInfo
20
+ KEYWORDS = ArgInfo::KEYWORDS
21
+
22
+ def type
23
+ BaseInfo.wrap(GIRepository.field_info_get_type(self)).as(TypeInfo)
24
+ end
25
+
26
+ def name(keyword_safe = true)
27
+ name = super()
28
+ if name && name[0].uppercase?
29
+ normalized_name = "#{name[0].downcase}#{name[1..-1]}"
30
+ neighbour_fields = case container = self.container
31
+ when ObjectInfo, StructInfo, UnionInfo
32
+ container.fields
33
+ else
34
+ nil
35
+ end
36
+ if neighbour_fields && neighbour_fields.any? &.raw_name.==(normalized_name)
37
+ name = "_#{name}"
38
+ else
39
+ name = normalized_name
40
+ end
41
+ end
42
+ name = "_#{name}" if keyword_safe && KEYWORDS.includes? name if name
43
+ name.not_nil!
44
+ end
45
+
46
+ def raw_name
47
+ ptr = LibGIRepository.base_info_get_name(self)
48
+ String.new(ptr) if ptr
49
+ end
50
+
51
+ def wrapper_name
52
+ name = name(false)
53
+ name = "_#{name}" if name == "initialize" || name == "finalize"
54
+ name
55
+ end
56
+
57
+ def flags
58
+ GIRepository.field_info_get_flags(self)
59
+ end
60
+
61
+ def readable?
62
+ flags.readable?
63
+ end
64
+
65
+ def writable?
66
+ flags.writable?
67
+ end
68
+
69
+ def size
70
+ GIRepository.field_info_get_size(self)
71
+ end
72
+
73
+ def offset
74
+ GIRepository.field_info_get_offset(self)
75
+ end
76
+
77
+ def lib_definition(builder)
78
+ builder.field_binding name, type.lib_definition(builder)
79
+ end
80
+
81
+ Dumper.def do
82
+ dumper.puts "* flags = #{flags}"
83
+ dumper.puts "* size = #{size}"
84
+ dumper.puts "* offset = #{offset}"
85
+ Dumper.dump_child type
86
+ end
87
+ end
88
+ end
89
+
90
+
91
+
92
+
93
+
94
+
95
+
96
+
97
+ # Feedback and donation to gregorycohen2@gmail.com (money transfer or Paypal)
@@ -0,0 +1,237 @@
1
+ #!/usr/bin/env ruby
2
+ #
3
+ # Democracy software compilation VERSION 0.0., created on 2021-11-14 17:41:34 -0500
4
+ # Get all of this code, and all of these files, with
5
+ # gem install democracy
6
+ # Linux ruby 2.7.0p0 (2019-12-25 revision 647ee6f091) [x86_64-linux-gnu]
7
+ #
8
+ # Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted.
9
+ #
10
+ # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
11
+
12
+
13
+
14
+
15
+
16
+ # 58 of 16 source files
17
+ module GIRepository
18
+ require_relative "string__"
19
+ class FunctionInfo < BaseInfo
20
+ include CallableInfo
21
+
22
+ def name
23
+ name = super
24
+ if name
25
+ name = name.sub(/^_/, "") unless symbol.includes?("__")
26
+ name = "new" if name.empty?
27
+ name = "init" if name == "initialize"
28
+ end
29
+ name
30
+ end
31
+
32
+ def wrapper_name
33
+ method_name = name
34
+
35
+ raise "Cannot handle method without a name" unless method_name
36
+
37
+ method_name = method_name.underscore
38
+
39
+ if method_name.starts_with?("get_")
40
+ method_prefix = "get_"
41
+ method_name = method_name[4..-1]
42
+ elsif method_name.starts_with?("set_") && args.size == 2 && method?
43
+ method_prefix = "set_"
44
+ method_name = "#{method_name[4..-1]}="
45
+ elsif method_name.starts_with?("is_")
46
+ method_prefix = "is_"
47
+ method_name = "#{method_name[3..-1]}?"
48
+ end
49
+
50
+ method_name = "#{method_prefix}#{method_name}" if ('0'..'9').includes? method_name[0]
51
+
52
+ method_name
53
+ end
54
+
55
+ def flags
56
+ GIRepository.function_info_get_flags(self)
57
+ end
58
+
59
+ def symbol
60
+ GIRepository.function_info_get_symbol(self)
61
+ end
62
+
63
+ def constructor?
64
+ flags.is_constructor?
65
+ end
66
+
67
+ def setter?
68
+ (name = wrapper_name) && name.ends_with?('=')
69
+ end
70
+
71
+ def gvalue_out?
72
+ return false if constructor? || setter?
73
+
74
+ args.count(&.gvalue_out?) == 1
75
+ end
76
+
77
+ def closure_arg?
78
+ return false if setter?
79
+
80
+ args.count(&.closure?) == 1
81
+ end
82
+
83
+ def lib_definition(builder)
84
+ builder.fun_binding symbol,
85
+ args.map(&.lib_definition(builder)),
86
+ name: "#{prefix}#{name}",
87
+ return_type: return_type.lib_definition(builder)
88
+ end
89
+
90
+ def wrapper_definition(builder, libname)
91
+ method_name = wrapper_name
92
+
93
+ wrapper_args = args
94
+
95
+ sizable_args = wrapper_args.select { |candidate|
96
+ !candidate.out? && !candidate.inout? &&
97
+ candidate.type.tag.array? && candidate.type.array_length_param >= 0
98
+ }
99
+ offset = wrapper_args.first?.is_a?(SelfArgInfo) ? 1 : 0
100
+ sizable_args_size_args = sizable_args.map { |arg| wrapper_args[arg.type.array_length_param + offset] }
101
+
102
+ closure_arg = wrapper_args.find &.closure? if closure_arg?
103
+
104
+ gvalue_out_arg = wrapper_args.find &.gvalue_out? if gvalue_out?
105
+ wrapper_args.delete(gvalue_out_arg) if gvalue_out?
106
+
107
+ collection_args = wrapper_args.select { |candidate|
108
+ !candidate.out? && !candidate.inout? &&
109
+ wrapper_args.any? { |arg| arg.name == "n_#{candidate.name}" }
110
+ }
111
+ collection_args_size_args = collection_args.map { |arg| "n_#{arg.name}" }
112
+
113
+ primitive_out_args = wrapper_args.select { |candidate| candidate.out? && candidate.type.primitive? }
114
+
115
+ wrapper_args = wrapper_args.reject { |arg|
116
+ sizable_args_size_args.includes?(arg) ||
117
+ primitive_out_args.includes?(arg) ||
118
+ collection_args_size_args.includes?(arg.name)
119
+ }
120
+
121
+ def_method(builder, libname, wrapper_args.map(&.for_wrapper_definition(builder, libname)).compact, gvalue_out_arg) do
122
+ sizable_args.zip(sizable_args_size_args) do |arg, size_arg|
123
+ size = call("size", receiver: builder.var(arg.name))
124
+ if arg.nilable?
125
+ line assign size_arg.name, ternary(builder.var(arg.name), size, literal(0))
126
+ else
127
+ line assign size_arg.name, size
128
+ end
129
+ end
130
+
131
+ collection_args.each do |arg|
132
+ if arg.nilable?
133
+ line def_if(arg.name) { |b|
134
+ b.line b.assign "__#{arg.name}", arg.for_wrapper_pass(builder, libname)
135
+ b.line b.assign "n_#{arg.name}", b.call("size", receiver: "__#{arg.name}_ary")
136
+ }.else { |b|
137
+ b.line b.assign "n_#{arg.name}", b.literal(0)
138
+ }
139
+ else
140
+ line assign "__#{arg.name}", arg.for_wrapper_pass(builder, libname)
141
+ line assign "n_#{arg.name}", call("size", receiver: "__#{arg.name}_ary")
142
+ end
143
+ end
144
+
145
+ line assign gvalue_out_arg.name, call("new", receiver: "GObject::Value") if gvalue_out_arg
146
+
147
+ error = line assign_var call "null", receiver: "Pointer(LibGLib::Error)" if throws?
148
+
149
+ lib_args = args.map { |arg|
150
+ if collection_args.includes?(arg)
151
+ "__#{arg.name}"
152
+ elsif primitive_out_args.includes?(arg)
153
+ "out #{arg.name}"
154
+ elsif arg.is_a?(ErrorArgInfo)
155
+ arg.for_wrapper_pass(builder, error)
156
+ else
157
+ arg.for_wrapper_pass(builder, libname)
158
+ end
159
+ }.compact.join(", ")
160
+
161
+ libcall = call("#{prefix}#{name}", lib_args, receiver: libname)
162
+ if skip_return?
163
+ line libcall
164
+ else
165
+ return_value = line assign_var(libcall)
166
+ end
167
+
168
+ line call("assert", error, receiver: "GLib::Error") if throws?
169
+
170
+ if gvalue_out_arg
171
+ return_value = gvalue_out_arg.name
172
+ elsif !skip_return? && return_value
173
+ if return_type.pointer? && !may_return_null?
174
+ conditional_line call("null?", receiver: return_value), call("raise_unexpected_null", literal(symbol), receiver: "GObject")
175
+ end
176
+
177
+ ptr = return_value
178
+ return_value = return_type.convert_to_crystal(builder, ptr)
179
+ return_value = call("cast", return_value) if constructor?
180
+ return_value = conditional_line ptr, assign_var(return_value) if may_return_null?
181
+
182
+ if primitive_out_args.any?
183
+ return_values = primitive_out_args.map { |arg| arg.type.convert_to_crystal(builder, arg.name) }
184
+ return_values.unshift return_value
185
+ return_value = tuple(return_values)
186
+ end
187
+ elsif primitive_out_args.size == 1
188
+ arg = primitive_out_args.first
189
+ return_value = arg.type.convert_to_crystal(builder, arg.name)
190
+ elsif primitive_out_args.any?
191
+ return_value = tuple(primitive_out_args.map { |arg| arg.type.convert_to_crystal(builder, arg.name) })
192
+ else
193
+ return_value = literal(nil)
194
+ end
195
+
196
+ line return_value if return_value
197
+ end
198
+
199
+ if closure_arg
200
+ closure_wrapper_args = wrapper_args.reject(&.==(closure_arg)).map(&.for_wrapper_definition(builder, libname)).compact
201
+ closure_wrapper_args << builder.arg closure_arg.name, prefix: :block_capture
202
+ def_method(builder, libname, closure_wrapper_args, gvalue_out_arg) do
203
+ line assign closure_arg.name, call("new", var(closure_arg.name), receiver: "GObject::Closure")
204
+ line call method_name, wrapper_args.reject(&.is_a?(SelfArgInfo)).map(&.name)
205
+ end
206
+ end
207
+ end
208
+
209
+ def def_method(builder, libname, wrapper_args, gvalue_out_arg)
210
+ method_name = wrapper_name
211
+ return_type = if constructor?
212
+ "self"
213
+ elsif gvalue_out_arg
214
+ gvalue_out_arg.type.wrapper_definition(builder, libname)
215
+ end
216
+
217
+ builder.def_method(method_name, wrapper_args, class_method: !method?, return_type: return_type) do
218
+ with builder yield builder
219
+ end
220
+ end
221
+
222
+ Dumper.def do
223
+ dumper.puts "* flags = #{flags}"
224
+ dumper.puts "* symbol = #{symbol}"
225
+ dumper.puts "* constructor = #{constructor?}"
226
+ end
227
+ end
228
+ end
229
+
230
+
231
+
232
+
233
+
234
+
235
+
236
+
237
+ # Feedback and donation to gregorycohen2@gmail.com (money transfer or Paypal)
@@ -0,0 +1,97 @@
1
+ #!/usr/bin/env ruby
2
+ #
3
+ # Democracy software compilation VERSION 0.0., created on 2021-11-14 17:41:34 -0500
4
+ # Get all of this code, and all of these files, with
5
+ # gem install democracy
6
+ # Linux ruby 2.7.0p0 (2019-12-25 revision 647ee6f091) [x86_64-linux-gnu]
7
+ #
8
+ # Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted.
9
+ #
10
+ # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
11
+
12
+
13
+
14
+
15
+
16
+ # 56 of 16 source files
17
+ module GIRepository
18
+ require_relative "string__"
19
+ require_relative "./object"
20
+ class InterfaceInfo < BaseInfo
21
+ include RegisteredTypeInfo
22
+ include WrapperGenerator
23
+
24
+ each_converted interface_info, constant, ConstantInfo
25
+ each_converted interface_info, method, FunctionInfo
26
+ each_converted interface_info, prerequisite, BaseInfo
27
+ each_converted interface_info, property, PropertyInfo, properties
28
+ each_converted interface_info, signal, SignalInfo
29
+ each_converted interface_info, vfunc, VFuncInfo
30
+
31
+ def iface_struct
32
+ ptr = LibGIRepository.interface_info_get_iface_struct(self)
33
+ StructInfo.new ptr if ptr
34
+ end
35
+
36
+ def lib_definition(builder)
37
+ builder.end_of_line_comment "interface"
38
+ builder.def_struct(name) do
39
+ iface_struct = self.iface_struct
40
+ if iface_struct
41
+ iface_struct.field_definition(builder)
42
+ else
43
+ field_binding "_data", "UInt8[0]"
44
+ end
45
+
46
+ each_prerequisite { |prerequisite| comment("Requires #{prerequisite.name}") }
47
+ each_signal(&.lib_definition(builder))
48
+ each_vfunc(&.lib_definition(builder))
49
+ each_property(&.lib_definition(builder))
50
+ end
51
+
52
+ each_constant(&.lib_definition(builder))
53
+
54
+ type_init_lib_definition(builder)
55
+ each_method(&.lib_definition(builder))
56
+ end
57
+
58
+ def wrapper_definition(builder, libname)
59
+ builder.def_module(name) do
60
+ attach_to_next_section { comment ":nodoc:" }
61
+ def_class("Wrapper", parent: "GObject::Object") do
62
+ add_include "GObject::WrappedType"
63
+ add_include name
64
+
65
+ write_gtype_constant builder, libname
66
+ write_constructor builder, libname
67
+ write_to_unsafe builder, libname
68
+ end
69
+
70
+ write_interface_to_unsafe builder, libname
71
+
72
+ each_constant &.wrapper_definition(builder, libname)
73
+ each_method &.wrapper_definition(builder, libname)
74
+ each_signal &.wrapper_definition(builder, libname)
75
+ end
76
+ end
77
+
78
+ Dumper.def do
79
+ Dumper.dump_child iface_struct
80
+ Dumper.dump_childs constant
81
+ Dumper.dump_childs prerequisite
82
+ Dumper.dump_childs property, properties
83
+ Dumper.dump_childs method
84
+ Dumper.dump_childs signal
85
+ Dumper.dump_childs vfunc
86
+ end
87
+ end
88
+ end
89
+
90
+
91
+
92
+
93
+
94
+
95
+
96
+
97
+ # Feedback and donation to gregorycohen2@gmail.com (money transfer or Paypal)