clings 3.0.0__py3-none-any.whl

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.
Files changed (459) hide show
  1. clings-3.0.0.dist-info/METADATA +95 -0
  2. clings-3.0.0.dist-info/RECORD +459 -0
  3. clings-3.0.0.dist-info/WHEEL +4 -0
  4. clings-3.0.0.dist-info/entry_points.txt +2 -0
  5. clings.py +1173 -0
  6. clings.toml +31 -0
  7. exercises/01_simplest_c_program/01a_return_zero.c +13 -0
  8. exercises/01_simplest_c_program/01b_return_expression.c +22 -0
  9. exercises/01_simplest_c_program/README.md +171 -0
  10. exercises/01_simplest_c_program/exercises.toml +47 -0
  11. exercises/01_simplest_c_program/simple.s +22 -0
  12. exercises/01_simplest_c_program/variable.c +9 -0
  13. exercises/02_hello_world_printf/02a_hello_printf.c +16 -0
  14. exercises/02_hello_world_printf/02b_format_print.c +27 -0
  15. exercises/02_hello_world_printf/README.md +72 -0
  16. exercises/02_hello_world_printf/exercises.toml +58 -0
  17. exercises/03_loop_counting/03a_while_loop.c +23 -0
  18. exercises/03_loop_counting/03b_for_loop.c +28 -0
  19. exercises/03_loop_counting/README.md +85 -0
  20. exercises/03_loop_counting/exercises.toml +76 -0
  21. exercises/04_odd_or_even/README.md +41 -0
  22. exercises/04_odd_or_even/exercises.toml +38 -0
  23. exercises/04_odd_or_even/judge.c +30 -0
  24. exercises/05_sum_1_to_100/05a_sum.c +24 -0
  25. exercises/05_sum_1_to_100/05b_sum_even.c +32 -0
  26. exercises/05_sum_1_to_100/README.md +63 -0
  27. exercises/05_sum_1_to_100/exercises.toml +52 -0
  28. exercises/06_multiplication_table/README.md +73 -0
  29. exercises/06_multiplication_table/exercises.toml +36 -0
  30. exercises/06_multiplication_table/table99.c +27 -0
  31. exercises/07_prime_number/07a_prime.c +33 -0
  32. exercises/07_prime_number/README.md +55 -0
  33. exercises/07_prime_number/exercises.toml +28 -0
  34. exercises/08_count_digit_nine/08_sum9.c +47 -0
  35. exercises/08_count_digit_nine/README.md +71 -0
  36. exercises/08_count_digit_nine/exercises.toml +29 -0
  37. exercises/09_integer_to_string/09a_itoa_hex.c +37 -0
  38. exercises/09_integer_to_string/README.md +60 -0
  39. exercises/09_integer_to_string/exercises.toml +89 -0
  40. exercises/09_integer_to_string/itoa.c +34 -0
  41. exercises/10_josephus_ring/10a_init_ring.c +39 -0
  42. exercises/10_josephus_ring/README.md +76 -0
  43. exercises/10_josephus_ring/exercises.toml +79 -0
  44. exercises/10_josephus_ring/josephus.c +56 -0
  45. exercises/11_point_distance/README.md +100 -0
  46. exercises/11_point_distance/exercises.toml +38 -0
  47. exercises/11_point_distance/point.c +34 -0
  48. exercises/12_little_endian/12_endian.c +30 -0
  49. exercises/12_little_endian/README.md +55 -0
  50. exercises/12_little_endian/exercises.toml +25 -0
  51. exercises/13_car_restriction/13a_get_last_char.c +30 -0
  52. exercises/13_car_restriction/13b_is_restricted.c +48 -0
  53. exercises/13_car_restriction/README.md +91 -0
  54. exercises/13_car_restriction/exercises.toml +114 -0
  55. exercises/13_car_restriction/restrict.c +75 -0
  56. exercises/14_maze_exit/14a_print_board.c +44 -0
  57. exercises/14_maze_exit/README.md +129 -0
  58. exercises/14_maze_exit/exercises.toml +77 -0
  59. exercises/14_maze_exit/solution.c +97 -0
  60. exercises/15_count_bits/15a_count_bits_loop.c +33 -0
  61. exercises/15_count_bits/15b_count_bits_clear.c +35 -0
  62. exercises/15_count_bits/README.md +228 -0
  63. exercises/15_count_bits/bits.c +43 -0
  64. exercises/15_count_bits/exercises.toml +120 -0
  65. exercises/16_my_strcpy/16a_strcpy_delta.c +43 -0
  66. exercises/16_my_strcpy/README.md +241 -0
  67. exercises/16_my_strcpy/exercises.toml +70 -0
  68. exercises/16_my_strcpy/mystrcpy.c +40 -0
  69. exercises/17_word_count/README.md +55 -0
  70. exercises/17_word_count/delspace.c +87 -0
  71. exercises/17_word_count/exercises.toml +54 -0
  72. exercises/17_word_count/test.txt +1 -0
  73. exercises/17_word_count/wordsum.c +52 -0
  74. exercises/18_my_printf/18a_itoa.c +35 -0
  75. exercises/18_my_printf/18b_myprintf.c +64 -0
  76. exercises/18_my_printf/README.md +139 -0
  77. exercises/18_my_printf/exercises.toml +100 -0
  78. exercises/18_my_printf/myprintf.c +44 -0
  79. exercises/19_shell_parser/19a_shell_parse.c +38 -0
  80. exercises/19_shell_parser/19b_function_ptr.c +69 -0
  81. exercises/19_shell_parser/19d_shell.c +90 -0
  82. exercises/19_shell_parser/README.md +99 -0
  83. exercises/19_shell_parser/exercises.toml +152 -0
  84. exercises/19_shell_parser/shell.c +88 -0
  85. exercises/20_preprocessor/20a_delcomment.c +63 -0
  86. exercises/20_preprocessor/20b_getword.c +146 -0
  87. exercises/20_preprocessor/20c_expdefine.c +156 -0
  88. exercises/20_preprocessor/README.md +155 -0
  89. exercises/20_preprocessor/delcomment.c +135 -0
  90. exercises/20_preprocessor/delspace.c +78 -0
  91. exercises/20_preprocessor/exercises.toml +125 -0
  92. exercises/20_preprocessor/expdefine.c +58 -0
  93. exercises/20_preprocessor/expif.c +288 -0
  94. exercises/20_preprocessor/log.c +210 -0
  95. exercises/20_preprocessor/state.c +267 -0
  96. exercises/20_preprocessor/t1.c +135 -0
  97. exercises/20_preprocessor/test.c +26 -0
  98. exercises/20_preprocessor/test2.c +16 -0
  99. exercises/21_lexical_analyzer/README.md +75 -0
  100. exercises/21_lexical_analyzer/exercises.toml +38 -0
  101. exercises/21_lexical_analyzer/mylex.c +38 -0
  102. exercises/21_lexical_analyzer/test.c +9 -0
  103. exercises/21_lexical_analyzer/yy_accept.c +18 -0
  104. exercises/21_lexical_analyzer/yy_nxt.c +2407 -0
  105. exercises/22_guess_number/22a_generate.c +38 -0
  106. exercises/22_guess_number/22b_check.c +38 -0
  107. exercises/22_guess_number/README.md +57 -0
  108. exercises/22_guess_number/exercises.toml +123 -0
  109. exercises/22_guess_number/guess.c +63 -0
  110. exercises/23_gomoku_game/23a_print_board.c +38 -0
  111. exercises/23_gomoku_game/23c_check_win.c +48 -0
  112. exercises/23_gomoku_game/README.md +93 -0
  113. exercises/23_gomoku_game/exercises.toml +106 -0
  114. exercises/23_gomoku_game/gomoku.c +69 -0
  115. exercises/24_search_engine/24a_find_istr.c +43 -0
  116. exercises/24_search_engine/24b_extract_links.c +62 -0
  117. exercises/24_search_engine/README.md +48 -0
  118. exercises/24_search_engine/exercises.toml +131 -0
  119. exercises/24_search_engine/search.c +56 -0
  120. exercises/25_file_copy_mycp/Makefile +16 -0
  121. exercises/25_file_copy_mycp/README.md +119 -0
  122. exercises/25_file_copy_mycp/exercises.toml +13 -0
  123. exercises/25_file_copy_mycp/main.c +7 -0
  124. exercises/25_file_copy_mycp/mycp.c +45 -0
  125. exercises/26_elf_header_parser/Makefile +13 -0
  126. exercises/26_elf_header_parser/README.md +127 -0
  127. exercises/26_elf_header_parser/exercises.toml +13 -0
  128. exercises/26_elf_header_parser/main.c +7 -0
  129. exercises/26_elf_header_parser/readelf.c +97 -0
  130. exercises/27_sed_stream_editor/Makefile +22 -0
  131. exercises/27_sed_stream_editor/README.md +59 -0
  132. exercises/27_sed_stream_editor/exercises.toml +13 -0
  133. exercises/27_sed_stream_editor/main.c +7 -0
  134. exercises/27_sed_stream_editor/sed.c +83 -0
  135. exercises/28_math_calculator/Makefile +18 -0
  136. exercises/28_math_calculator/README.md +65 -0
  137. exercises/28_math_calculator/cmd_math.c +141 -0
  138. exercises/28_math_calculator/exercises.toml +13 -0
  139. exercises/28_math_calculator/main.c +7 -0
  140. exercises/29_more_command/Makefile +17 -0
  141. exercises/29_more_command/README.md +39 -0
  142. exercises/29_more_command/cmd_more.c +167 -0
  143. exercises/29_more_command/exercises.toml +13 -0
  144. exercises/29_more_command/main.c +7 -0
  145. exercises/29_more_command/shell.c +81 -0
  146. exercises/30_sort_command/Makefile +20 -0
  147. exercises/30_sort_command/README.md +72 -0
  148. exercises/30_sort_command/cmd_sort.c +124 -0
  149. exercises/30_sort_command/exercises.toml +13 -0
  150. exercises/30_sort_command/main.c +7 -0
  151. exercises/30_sort_command/test.txt +7 -0
  152. exercises/31_ls_command/Makefile +24 -0
  153. exercises/31_ls_command/README.md +77 -0
  154. exercises/31_ls_command/cmd_ll.c +96 -0
  155. exercises/31_ls_command/exercises.toml +13 -0
  156. exercises/31_ls_command/main.c +7 -0
  157. exercises/32_mybash_project/Makefile +14 -0
  158. exercises/32_mybash_project/README.md +162 -0
  159. exercises/32_mybash_project/cmd_ll.c +95 -0
  160. exercises/32_mybash_project/cmd_math.c +141 -0
  161. exercises/32_mybash_project/cmd_more.c +167 -0
  162. exercises/32_mybash_project/cmd_sort.c +124 -0
  163. exercises/32_mybash_project/exercises.toml +13 -0
  164. exercises/32_mybash_project/main.c +7 -0
  165. exercises/32_mybash_project/mycp.c +45 -0
  166. exercises/32_mybash_project/readelf.c +97 -0
  167. exercises/32_mybash_project/sed.c +83 -0
  168. exercises/32_mybash_project/shell.c +89 -0
  169. exercises/32_mybash_project/test.txt +7 -0
  170. exercises/33_singly_linked_list/Makefile +5 -0
  171. exercises/33_singly_linked_list/README.md +105 -0
  172. exercises/33_singly_linked_list/array.c +141 -0
  173. exercises/33_singly_linked_list/array.h +16 -0
  174. exercises/33_singly_linked_list/exercises.toml +13 -0
  175. exercises/33_singly_linked_list/list.c +150 -0
  176. exercises/33_singly_linked_list/list.h +21 -0
  177. exercises/33_singly_linked_list/main.c +7 -0
  178. exercises/34_circular_list_josephus/Makefile +4 -0
  179. exercises/34_circular_list_josephus/README.md +76 -0
  180. exercises/34_circular_list_josephus/clist.c +125 -0
  181. exercises/34_circular_list_josephus/clist.h +23 -0
  182. exercises/34_circular_list_josephus/exercises.toml +13 -0
  183. exercises/34_circular_list_josephus/main.c +7 -0
  184. exercises/35_stack_expression_eval/Makefile +2 -0
  185. exercises/35_stack_expression_eval/README.md +38 -0
  186. exercises/35_stack_expression_eval/exercises.toml +13 -0
  187. exercises/35_stack_expression_eval/stack.c +7 -0
  188. exercises/36_queue_bfs_maze/Makefile +12 -0
  189. exercises/36_queue_bfs_maze/README.md +29 -0
  190. exercises/36_queue_bfs_maze/exercises.toml +13 -0
  191. exercises/36_queue_bfs_maze/queue.c +7 -0
  192. exercises/37_binary_tree_wordfreq/Makefile +7 -0
  193. exercises/37_binary_tree_wordfreq/README.md +29 -0
  194. exercises/37_binary_tree_wordfreq/exercises.toml +13 -0
  195. exercises/37_binary_tree_wordfreq/myparser.c +160 -0
  196. exercises/37_binary_tree_wordfreq/sum_char.c +188 -0
  197. exercises/37_binary_tree_wordfreq/sum_symbol.c +327 -0
  198. exercises/37_binary_tree_wordfreq/sum_word.c +7 -0
  199. exercises/38_heap_sort/Makefile +12 -0
  200. exercises/38_heap_sort/README.md +49 -0
  201. exercises/38_heap_sort/exercises.toml +13 -0
  202. exercises/38_heap_sort/heap.c +7 -0
  203. exercises/39_hash_table_symbol/README.md +18 -0
  204. exercises/39_hash_table_symbol/exercises.toml +13 -0
  205. exercises/39_hash_table_symbol/hash.c +7 -0
  206. exercises/39_hash_table_symbol/in.txt +41 -0
  207. exercises/39_hash_table_symbol/out.txt +93 -0
  208. exercises/40_my_dictionary/Makefile +15 -0
  209. exercises/40_my_dictionary/README.md +183 -0
  210. exercises/40_my_dictionary/dict.c +7 -0
  211. exercises/40_my_dictionary/exercises.toml +13 -0
  212. exercises/41_binary_search/Makefile +12 -0
  213. exercises/41_binary_search/README.md +70 -0
  214. exercises/41_binary_search/bsearch.c +7 -0
  215. exercises/41_binary_search/exercises.toml +13 -0
  216. exercises/42_quicksort/Makefile +12 -0
  217. exercises/42_quicksort/README.md +99 -0
  218. exercises/42_quicksort/exercises.toml +13 -0
  219. exercises/42_quicksort/qsort.c +7 -0
  220. exercises/43_backtrack_dfs_maze/README.md +13 -0
  221. exercises/43_backtrack_dfs_maze/backtrack.c +238 -0
  222. exercises/43_backtrack_dfs_maze/exercises.toml +13 -0
  223. exercises/43_backtrack_dfs_maze/maze.c +7 -0
  224. exercises/44_kmp_string_match/Makefile +12 -0
  225. exercises/44_kmp_string_match/README.md +18 -0
  226. exercises/44_kmp_string_match/exercises.toml +13 -0
  227. exercises/44_kmp_string_match/kmp.c +7 -0
  228. exercises/45_lcs_dynamic_programming/Makefile +12 -0
  229. exercises/45_lcs_dynamic_programming/README.md +37 -0
  230. exercises/45_lcs_dynamic_programming/dp.c +7 -0
  231. exercises/45_lcs_dynamic_programming/exercises.toml +13 -0
  232. exercises/46_dijkstra_shortest_path/Makefile +12 -0
  233. exercises/46_dijkstra_shortest_path/README.md +26 -0
  234. exercises/46_dijkstra_shortest_path/d2.c +90 -0
  235. exercises/46_dijkstra_shortest_path/d3.c +95 -0
  236. exercises/46_dijkstra_shortest_path/dijkstra.c +7 -0
  237. exercises/46_dijkstra_shortest_path/exercises.toml +13 -0
  238. exercises/47_huffman_coding/Makefile +12 -0
  239. exercises/47_huffman_coding/README.md +24 -0
  240. exercises/47_huffman_coding/exercises.toml +13 -0
  241. exercises/47_huffman_coding/huffman.c +7 -0
  242. exercises/48_gps_navigation/Makefile +12 -0
  243. exercises/48_gps_navigation/README.md +17 -0
  244. exercises/48_gps_navigation/exercises.toml +15 -0
  245. exercises/48_gps_navigation/gps.c +7 -0
  246. exercises/48_gps_navigation/map.txt +58 -0
  247. exercises/49_strip_comments_fsm/Makefile +18 -0
  248. exercises/49_strip_comments_fsm/README.md +60 -0
  249. exercises/49_strip_comments_fsm/exercises.toml +13 -0
  250. exercises/49_strip_comments_fsm/strip_comments.c +7 -0
  251. exercises/50_regex_matcher/Makefile +15 -0
  252. exercises/50_regex_matcher/README.md +53 -0
  253. exercises/50_regex_matcher/exercises.toml +13 -0
  254. exercises/50_regex_matcher/regex.c +7 -0
  255. exercises/51_rle_compression/Makefile +15 -0
  256. exercises/51_rle_compression/README.md +46 -0
  257. exercises/51_rle_compression/exercises.toml +13 -0
  258. exercises/51_rle_compression/rle.c +7 -0
  259. exercises/52_lz77_compression/Makefile +15 -0
  260. exercises/52_lz77_compression/README.md +46 -0
  261. exercises/52_lz77_compression/exercises.toml +13 -0
  262. exercises/52_lz77_compression/lz77.c +7 -0
  263. exercises/53_base64_codec/Makefile +15 -0
  264. exercises/53_base64_codec/README.md +42 -0
  265. exercises/53_base64_codec/base64.c +7 -0
  266. exercises/53_base64_codec/exercises.toml +13 -0
  267. exercises/54_json_parser/Makefile +15 -0
  268. exercises/54_json_parser/README.md +48 -0
  269. exercises/54_json_parser/exercises.toml +13 -0
  270. exercises/54_json_parser/json_parser.c +7 -0
  271. exercises/55_memory_allocator/Makefile +15 -0
  272. exercises/55_memory_allocator/README.md +56 -0
  273. exercises/55_memory_allocator/exercises.toml +13 -0
  274. exercises/55_memory_allocator/mymalloc.c +7 -0
  275. exercises/56_coroutine/Makefile +15 -0
  276. exercises/56_coroutine/README.md +55 -0
  277. exercises/56_coroutine/coroutine.c +7 -0
  278. exercises/56_coroutine/exercises.toml +13 -0
  279. exercises/57_tcp_echo_server/Makefile +16 -0
  280. exercises/57_tcp_echo_server/README.md +51 -0
  281. exercises/57_tcp_echo_server/echo_server.c +7 -0
  282. exercises/57_tcp_echo_server/exercises.toml +13 -0
  283. exercises/58_http_server/Makefile +16 -0
  284. exercises/58_http_server/README.md +46 -0
  285. exercises/58_http_server/exercises.toml +13 -0
  286. exercises/58_http_server/http_server.c +7 -0
  287. exercises/58_http_server/index.html +12 -0
  288. exercises/59_signal_handler/Makefile +15 -0
  289. exercises/59_signal_handler/README.md +55 -0
  290. exercises/59_signal_handler/exercises.toml +14 -0
  291. exercises/59_signal_handler/watchdog.c +7 -0
  292. exercises/60_mini_shell/Makefile +17 -0
  293. exercises/60_mini_shell/README.md +52 -0
  294. exercises/60_mini_shell/exercises.toml +13 -0
  295. exercises/60_mini_shell/minishell2.c +7 -0
  296. exercises/61_riscv_assembly/Makefile +27 -0
  297. exercises/61_riscv_assembly/README.md +109 -0
  298. exercises/61_riscv_assembly/exercises.toml +14 -0
  299. exercises/61_riscv_assembly/fact.s +39 -0
  300. exercises/61_riscv_assembly/return42.s +10 -0
  301. exercises/61_riscv_assembly/sum100.s +19 -0
  302. exercises/62_instruction_encoder/Makefile +15 -0
  303. exercises/62_instruction_encoder/README.md +51 -0
  304. exercises/62_instruction_encoder/exercises.toml +13 -0
  305. exercises/62_instruction_encoder/rv_encoder.c +7 -0
  306. exercises/63_disassembler/Makefile +18 -0
  307. exercises/63_disassembler/README.md +37 -0
  308. exercises/63_disassembler/exercises.toml +13 -0
  309. exercises/63_disassembler/rv_disasm.c +7 -0
  310. exercises/64_assembler/Makefile +18 -0
  311. exercises/64_assembler/README.md +37 -0
  312. exercises/64_assembler/exercises.toml +13 -0
  313. exercises/64_assembler/rv_asm.c +7 -0
  314. exercises/64_assembler/test.s +6 -0
  315. exercises/65_elf_generator/Makefile +21 -0
  316. exercises/65_elf_generator/README.md +36 -0
  317. exercises/65_elf_generator/elf_gen.c +7 -0
  318. exercises/65_elf_generator/exercises.toml +13 -0
  319. exercises/66_toolchain_project/Makefile +59 -0
  320. exercises/66_toolchain_project/README.md +42 -0
  321. exercises/66_toolchain_project/exercises.toml +14 -0
  322. exercises/67_c_tokenizer/Makefile +15 -0
  323. exercises/67_c_tokenizer/README.md +43 -0
  324. exercises/67_c_tokenizer/exercises.toml +13 -0
  325. exercises/67_c_tokenizer/test.c +9 -0
  326. exercises/67_c_tokenizer/tokenizer.c +7 -0
  327. exercises/68_expression_parser/Makefile +16 -0
  328. exercises/68_expression_parser/README.md +39 -0
  329. exercises/68_expression_parser/exercises.toml +13 -0
  330. exercises/68_expression_parser/expr_parser.c +7 -0
  331. exercises/69_ast_builder/Makefile +15 -0
  332. exercises/69_ast_builder/README.md +38 -0
  333. exercises/69_ast_builder/ast_builder.c +7 -0
  334. exercises/69_ast_builder/exercises.toml +13 -0
  335. exercises/69_ast_builder/test.c +9 -0
  336. exercises/70_stack_vm/Makefile +15 -0
  337. exercises/70_stack_vm/README.md +41 -0
  338. exercises/70_stack_vm/exercises.toml +13 -0
  339. exercises/70_stack_vm/stack_vm.c +7 -0
  340. exercises/71_tree_interpreter/Makefile +15 -0
  341. exercises/71_tree_interpreter/README.md +41 -0
  342. exercises/71_tree_interpreter/exercises.toml +13 -0
  343. exercises/71_tree_interpreter/interpreter.c +7 -0
  344. exercises/71_tree_interpreter/test.c +13 -0
  345. exercises/72_mini_language/Makefile +21 -0
  346. exercises/72_mini_language/README.md +62 -0
  347. exercises/72_mini_language/exercises.toml +13 -0
  348. exercises/72_mini_language/minilang.c +7 -0
  349. exercises/lessons/73_return_constant/README.md +47 -0
  350. exercises/lessons/73_return_constant/test_return.c +2 -0
  351. exercises/lessons/74_unary_operators/README.md +35 -0
  352. exercises/lessons/74_unary_operators/test_unary.c +2 -0
  353. exercises/lessons/75_binary_arithmetic/README.md +38 -0
  354. exercises/lessons/75_binary_arithmetic/test_arith.c +2 -0
  355. exercises/lessons/76_comparison_logic/README.md +45 -0
  356. exercises/lessons/76_comparison_logic/test_cmp.c +2 -0
  357. exercises/lessons/77_local_variables/README.md +74 -0
  358. exercises/lessons/77_local_variables/test_var.c +6 -0
  359. exercises/lessons/78_assignment/README.md +56 -0
  360. exercises/lessons/78_assignment/test_assign.c +7 -0
  361. exercises/lessons/79_if_else/README.md +54 -0
  362. exercises/lessons/79_if_else/test_if.c +9 -0
  363. exercises/lessons/80_while_for/README.md +64 -0
  364. exercises/lessons/80_while_for/test_for.c +8 -0
  365. exercises/lessons/81_do_while_break/README.md +58 -0
  366. exercises/lessons/81_do_while_break/test_dowhile.c +10 -0
  367. exercises/lessons/82_function_definitions/README.md +68 -0
  368. exercises/lessons/82_function_definitions/test_func.c +8 -0
  369. exercises/lessons/83_function_parameters/README.md +67 -0
  370. exercises/lessons/83_function_parameters/test_func.c +8 -0
  371. exercises/lessons/84_recursive_programs/README.md +57 -0
  372. exercises/lessons/84_recursive_programs/test_recurse.c +9 -0
  373. exercises/lessons/85_global_variables/README.md +61 -0
  374. exercises/lessons/85_global_variables/test_global.c +8 -0
  375. exercises/lessons/86_char_strings/README.md +58 -0
  376. exercises/lessons/86_char_strings/test_char.c +6 -0
  377. exercises/lessons/87_arrays/README.md +58 -0
  378. exercises/lessons/87_arrays/test_array.c +10 -0
  379. exercises/lessons/88_pointers/README.md +57 -0
  380. exercises/lessons/88_pointers/test_pointer.c +7 -0
  381. exercises/lessons/89_pointer_arithmetic/README.md +56 -0
  382. exercises/lessons/89_pointer_arithmetic/test_ptr_arith.c +17 -0
  383. exercises/lessons/89_pointer_arithmetic/test_ptr_neg.c +18 -0
  384. exercises/lessons/90_bubble_sort/README.md +57 -0
  385. exercises/lessons/90_bubble_sort/test_bubble.c +24 -0
  386. exercises/lessons/91_struct_support/README.md +57 -0
  387. exercises/lessons/91_struct_support/test_struct.c +19 -0
  388. exercises/lessons/92_preprocessor/README.md +59 -0
  389. exercises/lessons/92_preprocessor/test_define.c +9 -0
  390. exercises/lessons/93_stdlib_stubs/README.md +74 -0
  391. exercises/lessons/94_arm_backend/README.md +67 -0
  392. exercises/lessons/95_cross_compilation/README.md +67 -0
  393. exercises/lessons/96_josephus_ring_final/README.md +84 -0
  394. exercises/lessons/96_josephus_ring_final/test_josephus.c +35 -0
  395. exercises/nccl-cc/Makefile +54 -0
  396. exercises/nccl-cc/README.md +148 -0
  397. exercises/nccl-cc/bare_rv.ld +33 -0
  398. exercises/nccl-cc/codegen_a64.c +611 -0
  399. exercises/nccl-cc/codegen_arm.c +603 -0
  400. exercises/nccl-cc/codegen_rv.c +553 -0
  401. exercises/nccl-cc/codegen_x86.c +616 -0
  402. exercises/nccl-cc/debug.c +160 -0
  403. exercises/nccl-cc/exercises.toml +359 -0
  404. exercises/nccl-cc/fuzz/gen_prog.c +429 -0
  405. exercises/nccl-cc/fuzz/run_fuzz.sh +111 -0
  406. exercises/nccl-cc/main.c +9 -0
  407. exercises/nccl-cc/nccl_cc.h +233 -0
  408. exercises/nccl-cc/parse.c +1250 -0
  409. exercises/nccl-cc/preprocess.c +331 -0
  410. exercises/nccl-cc/runtime_a64.s +147 -0
  411. exercises/nccl-cc/runtime_arm.s +138 -0
  412. exercises/nccl-cc/runtime_rv.s +34 -0
  413. exercises/nccl-cc/runtime_rv_bare.s +58 -0
  414. exercises/nccl-cc/runtime_rv_io.s +141 -0
  415. exercises/nccl-cc/runtime_x86.s +181 -0
  416. exercises/nccl-cc/test/backends.sh +81 -0
  417. exercises/nccl-cc/test/invalid/bad_token.c +4 -0
  418. exercises/nccl-cc/test/invalid/missing_paren.c +9 -0
  419. exercises/nccl-cc/test/invalid/missing_semicolon.c +5 -0
  420. exercises/nccl-cc/test/invalid/unclosed_brace.c +5 -0
  421. exercises/nccl-cc/test/run_tests.sh +101 -0
  422. exercises/nccl-cc/test/test_arith.c +2 -0
  423. exercises/nccl-cc/test/test_array.c +10 -0
  424. exercises/nccl-cc/test/test_assign.c +7 -0
  425. exercises/nccl-cc/test/test_bigframe.c +29 -0
  426. exercises/nccl-cc/test/test_bitwise.c +43 -0
  427. exercises/nccl-cc/test/test_bubble.c +24 -0
  428. exercises/nccl-cc/test/test_cast.c +8 -0
  429. exercises/nccl-cc/test/test_char.c +6 -0
  430. exercises/nccl-cc/test/test_char_ptr.c +12 -0
  431. exercises/nccl-cc/test/test_cmp.c +2 -0
  432. exercises/nccl-cc/test/test_define.c +9 -0
  433. exercises/nccl-cc/test/test_dowhile.c +10 -0
  434. exercises/nccl-cc/test/test_enum.c +18 -0
  435. exercises/nccl-cc/test/test_fib.c +9 -0
  436. exercises/nccl-cc/test/test_for.c +8 -0
  437. exercises/nccl-cc/test/test_func.c +8 -0
  438. exercises/nccl-cc/test/test_global.c +8 -0
  439. exercises/nccl-cc/test/test_if.c +9 -0
  440. exercises/nccl-cc/test/test_incdec.c +18 -0
  441. exercises/nccl-cc/test/test_init.c +23 -0
  442. exercises/nccl-cc/test/test_josephus.c +35 -0
  443. exercises/nccl-cc/test/test_loop.c +10 -0
  444. exercises/nccl-cc/test/test_lvalue_once.c +25 -0
  445. exercises/nccl-cc/test/test_pointer.c +7 -0
  446. exercises/nccl-cc/test/test_ptr_arith.c +17 -0
  447. exercises/nccl-cc/test/test_ptr_neg.c +18 -0
  448. exercises/nccl-cc/test/test_ptrptr.c +10 -0
  449. exercises/nccl-cc/test/test_recurse.c +9 -0
  450. exercises/nccl-cc/test/test_return.c +2 -0
  451. exercises/nccl-cc/test/test_sizeof.c +15 -0
  452. exercises/nccl-cc/test/test_string.c +10 -0
  453. exercises/nccl-cc/test/test_struct.c +19 -0
  454. exercises/nccl-cc/test/test_switch.c +26 -0
  455. exercises/nccl-cc/test/test_ternary.c +10 -0
  456. exercises/nccl-cc/test/test_unary.c +2 -0
  457. exercises/nccl-cc/test/test_var.c +6 -0
  458. exercises/nccl-cc/tokenize.c +279 -0
  459. exercises/nccl-cc/type.c +295 -0
@@ -0,0 +1,95 @@
1
+ Metadata-Version: 2.4
2
+ Name: clings
3
+ Version: 3.0.0
4
+ Summary: Rustlings-style C exercises CLI for OpenCamp C 2026 Summer
5
+ Project-URL: Homepage, https://cnb.cool/q.qq/opencamp-c-2026-summer/clings.cli
6
+ Project-URL: Repository, https://cnb.cool/q.qq/opencamp-c-2026-summer/clings.cli
7
+ Author: OpenCamp C Team
8
+ License-Expression: MIT
9
+ Keywords: c,exercises,learning,rustlings
10
+ Classifier: Development Status :: 4 - Beta
11
+ Classifier: Environment :: Console
12
+ Classifier: Intended Audience :: Education
13
+ Classifier: Programming Language :: Python :: 3.11
14
+ Classifier: Programming Language :: Python :: 3.12
15
+ Classifier: Programming Language :: Python :: 3.13
16
+ Classifier: Programming Language :: Python :: 3.14
17
+ Classifier: Topic :: Education
18
+ Requires-Python: >=3.11
19
+ Description-Content-Type: text/markdown
20
+
21
+ # Clings — C 语言练习系统 CLI
22
+
23
+ > **C 语言版 [Rustlings](https://github.com/rust-lang/rustlings)**:通过修复编译错误、补全代码来学习 C 语言。
24
+ > 配套 [OpenCamp C 2026 Summer](https://cnb.cool/q.qq/opencamp-c-2026-summer) 课程 Unit 1–4,共 **121 道练习**。
25
+
26
+ ## 分支说明
27
+
28
+ | 分支 | 用途 |
29
+ | ---------------------- | ---------------------------------------------------- |
30
+ | **cli** (本分支, 默认) | CLI 工具源码 + 练习数据,CI 自动发布 pip 包 |
31
+ | main | 练习仓库 (学生 clone 用,已废弃,改用 `clings init`) |
32
+
33
+ ## 快速开始
34
+
35
+ ```sh
36
+ # 1. 安装
37
+ pip install clings --index-url https://pypi.cnb.cool/q.qq/opencamp-c-2026-summer/clings-cli/-/packages/simple
38
+
39
+ # 2. 初始化练习 (在任意空目录)
40
+ mkdir my-c-exercises && cd my-c-exercises
41
+ clings init unit1 # 释放 Unit 1 (24课49题)
42
+
43
+ # 3. 开始做题!
44
+ clings # 进入交互式 watch 模式
45
+ ```
46
+
47
+ ## 命令参考
48
+
49
+ ```sh
50
+ clings # 直接进入 watch 模式 (默认)
51
+ clings init [unit1|...|all] # 初始化练习 (从包内释放到当前目录)
52
+ clings watch [selector] # 交互式 watch (保存即验证)
53
+ clings run [exercise] # 运行练习 (省略=下一道, 'random'=随机)
54
+ clings hint [exercise] # 查看提示 (省略=下一道)
55
+ clings list [selector] # 列出练习 + ✔/• 进度状态
56
+ clings check [selector] # 批量验证
57
+ clings reset <exercise> # 重置练习文件
58
+ clings reset progress # 清除全部进度
59
+ clings doctor # 检查环境
60
+ ```
61
+
62
+ ## 开发
63
+
64
+ ```sh
65
+ git clone https://cnb.cool/q.qq/opencamp-c-2026-summer/clings.git
66
+ cd clings/ # 默认在 cli 分支
67
+ pip install -e .
68
+ clings check unit1 --solutions # 验证 49/49
69
+ ```
70
+
71
+ ## CI/CD
72
+
73
+ push 到 `cli` 分支自动触发:
74
+
75
+ 1. **Install & Test**: pip install → clings init all → check unit1 --solutions
76
+ 2. **Build & Publish**: python -m build → twine upload 到 CNB PyPI 制品库
77
+
78
+ ## 架构
79
+
80
+ ```
81
+ clings/ (cli 分支)
82
+ ├── clings.py # CLI 核心 (单文件, 零依赖, Python 3.11+)
83
+ ├── pyproject.toml # pip 打包 (exercises/ 嵌入 wheel)
84
+ ├── clings.toml # units 配置
85
+ ├── .cnb.yml # CI: cli 分支 push → test → publish
86
+ ├── Dockerfile.ci # Ubuntu 24.04 CI 环境
87
+ ├── exercises/ # 121 道练习 (嵌入 pip 包, clings init 释放)
88
+ │ ├── 01_simplest_c_program/
89
+ │ │ ├── exercises.toml # 练习元数据 + 测试用例
90
+ │ │ ├── *.c # 学生源码模板
91
+ │ │ └── README.md # 课程参考
92
+ │ └── ...
93
+ ├── solutions/ # Unit 1 参考答案 (CI 测试用, 不打包)
94
+ └── tools/ # 维护脚本
95
+ ```
@@ -0,0 +1,459 @@
1
+ clings.py,sha256=UWvZRdU7LIejiJoKLQ4VX_Mqw1YvdElL-umabLV5zec,40861
2
+ clings.toml,sha256=EmpQb_OMtG5eyv9Y81N11_hOVR8equuRwappUsiLvoA,803
3
+ exercises/01_simplest_c_program/01a_return_zero.c,sha256=IbQxeGs86EvUrcGGiWaJ7zpvP7x0fsPTR0zS7YkL9os,525
4
+ exercises/01_simplest_c_program/01b_return_expression.c,sha256=wQoQ3DUWkJ1E6tioLrpxVkP8uKqy_FDn1C8S9-3gSTo,686
5
+ exercises/01_simplest_c_program/README.md,sha256=avmFSoN09Z7fr8GgEnvXaPdQdj0qWfXX6SZd3yptGaA,5102
6
+ exercises/01_simplest_c_program/exercises.toml,sha256=FF0JPwW4YWUaam18Rh0P_Q5GYxpHzMrCckki9_IfIx0,1364
7
+ exercises/01_simplest_c_program/simple.s,sha256=Ap_v_4L38OCWqFs1dUDu6zD8i_Cb2N44REhF4ne187I,386
8
+ exercises/01_simplest_c_program/variable.c,sha256=OajXfwfuv_NKxJAo1WycTJ1qG9gXLgg3CKIInam6NIs,78
9
+ exercises/02_hello_world_printf/02a_hello_printf.c,sha256=lgmI-puvwPApy-DCUuXKJfI-3FrKT_u9P_4O21MXo7E,593
10
+ exercises/02_hello_world_printf/02b_format_print.c,sha256=su9DwshiOF_aTpmvBWScT3TX8MYrMHzyQGoE1437nDI,847
11
+ exercises/02_hello_world_printf/README.md,sha256=nGsdXz_Uwr9C-VcCXo91D-gCa_kbKdVGcePCsqu7DhI,1762
12
+ exercises/02_hello_world_printf/exercises.toml,sha256=zx6I6ev_UATKCt3Gdz7j_9FD1ILqpmOX2VVpdMrA8U4,1483
13
+ exercises/03_loop_counting/03a_while_loop.c,sha256=Pqak-8CR9ZkLFRMGVV3d0JFnxJkZ9pWCj9Objz9Fr8o,659
14
+ exercises/03_loop_counting/03b_for_loop.c,sha256=QGD3DPX2S37Zk4YdJWmS6X1TyDPu_WlrcdRz0_5i9_k,733
15
+ exercises/03_loop_counting/README.md,sha256=wH1hqwVL1UQTIheW527-W5GN7ShZ462r0Wef8XQthJk,1820
16
+ exercises/03_loop_counting/exercises.toml,sha256=WEz1vQ8_g4dvBj1vYmPVc2gOEe2TAX1UYKCXwut5PzM,1711
17
+ exercises/04_odd_or_even/README.md,sha256=CogCtowNSI2-MrBiNee_zroCeVYIA0RP11AmZTrx2c4,1221
18
+ exercises/04_odd_or_even/exercises.toml,sha256=N5oQLuhYZMXKjq-vuCWMhzvT07l9_DR2H8W0u3-Yg2U,779
19
+ exercises/04_odd_or_even/judge.c,sha256=dTFclRzEbEXR7DtB90pR5OoDmYWkpj_WEglUEiYDHQs,825
20
+ exercises/05_sum_1_to_100/05a_sum.c,sha256=uJ_TCvNCgF3lMlzry1VveEA2dbhLpkSP7CEhKqU8WqM,674
21
+ exercises/05_sum_1_to_100/05b_sum_even.c,sha256=kyWvCKSbWyS4qhl4T1Cl5ion0QYzDp0yL1LJ9gXRj2Q,675
22
+ exercises/05_sum_1_to_100/README.md,sha256=9zi7DxunDwdQdpo53JWgyjHciGhXkgd48eFQzEJrh8Q,1805
23
+ exercises/05_sum_1_to_100/exercises.toml,sha256=7UvLE5mm4PbY_K9LQmm0IjCJEmijIjotIOvNKvIaBlo,1320
24
+ exercises/06_multiplication_table/README.md,sha256=lMocLdH68nQRRIXd4dX1Uf3REsYcMlqeSyvsFOwVGw4,1704
25
+ exercises/06_multiplication_table/exercises.toml,sha256=19Dm2iuvT6iv4WC5snz5M2R3pDEKsZ2SSc8FZPLeWP4,1051
26
+ exercises/06_multiplication_table/table99.c,sha256=nsyBx8-Tn0Zj1Elw4Tt8eOb_8Ra70P6499lFEZBrlRg,675
27
+ exercises/07_prime_number/07a_prime.c,sha256=5IwWEYONn-nDcTUEn3-Fg2bhYrTYtZmfHTgV3YegNTY,898
28
+ exercises/07_prime_number/README.md,sha256=zRGoZp3ZFZ1S5va39Wo35KFLDkwdDn6h_7wMYsLWaLU,1395
29
+ exercises/07_prime_number/exercises.toml,sha256=72k7PIT5QLV1BJlxyeQGBwUtwHuhYepDR3fdsP_1QPk,795
30
+ exercises/08_count_digit_nine/08_sum9.c,sha256=Xqq-04lLvekvdsMa8CH7cXdae0Xm2x0anFYCF67L-U4,1135
31
+ exercises/08_count_digit_nine/README.md,sha256=N3_MzLYzMbl-OK39JYy2g19mux-dz_RJ9s9NglXKfMs,2212
32
+ exercises/08_count_digit_nine/exercises.toml,sha256=x1KR39f5aWXPWjHGRq611ke6AAKLPalbjdGwlOv2F1Y,787
33
+ exercises/09_integer_to_string/09a_itoa_hex.c,sha256=q-TD1qu289tWOftJTl66NYt0prCl_fBEg5SUlMfJUMI,814
34
+ exercises/09_integer_to_string/README.md,sha256=MpTd8JSA9GB3pjYOxeQVf4CInAmFWx832jXgaS2buCk,1535
35
+ exercises/09_integer_to_string/exercises.toml,sha256=9lfAu2GYsLNGm6UsjATGV6iouN0vdxKbTkcnxpgNZtI,1760
36
+ exercises/09_integer_to_string/itoa.c,sha256=jLhAL0nkfg9owE68JqxBc8hpECYCzCIlc3X8e2WDhAg,891
37
+ exercises/10_josephus_ring/10a_init_ring.c,sha256=e4hthysJEIm-IIyGSToNyXLi4nYAkbmhp19f_D9vHhk,820
38
+ exercises/10_josephus_ring/README.md,sha256=WosxSS_UCll-oOvxzpG7OJMNcMMB9HQL1CnIXBsIxKs,2339
39
+ exercises/10_josephus_ring/exercises.toml,sha256=K1DE-9euCtkGKlzX7apK5H-VIGcIOrzePW3nb0QBP80,1727
40
+ exercises/10_josephus_ring/josephus.c,sha256=6jYsP0UFjVfGetUYzoHcdg4MTrVQ2yBZhrdZDQJo54A,1206
41
+ exercises/11_point_distance/README.md,sha256=ARec3sx7IVhW9WWQIOuKv_8PP3RFB2xSuRxvpxjDLjs,2270
42
+ exercises/11_point_distance/exercises.toml,sha256=yOJI9CWtfR70crkn1Y7DcGiVCH0zbMEyFy9SQeQaJxE,770
43
+ exercises/11_point_distance/point.c,sha256=hakJV2P8Zu3NkYM5kTgnTiPNVOinGZc6pby8YzuqKSI,901
44
+ exercises/12_little_endian/12_endian.c,sha256=7LbpQewK_RGwzyX6vnqR6mGOP9OAcxB98Xrx0TDiLK0,719
45
+ exercises/12_little_endian/README.md,sha256=OIKRw9O3oyWOaNnrOqhYBlU08CGsT526YX8Rivsu-lM,1296
46
+ exercises/12_little_endian/exercises.toml,sha256=JcHAdcWKZQCxH2WjBKLw3RE1U-PI1Gxo0zfXnLSx2eo,832
47
+ exercises/13_car_restriction/13a_get_last_char.c,sha256=3WT5zmwUCWxbcdoM4k3hAMGObSSsZMAyMvVRIy_y4FI,668
48
+ exercises/13_car_restriction/13b_is_restricted.c,sha256=c12k3-1TrEAfmSsx8YePQ_ToSN7JuQ39TzP9RpjwUx4,1136
49
+ exercises/13_car_restriction/README.md,sha256=9nzqRc7BEasn2ELVvC3F-0YfRtCzVArT0TzgfI2seXs,1883
50
+ exercises/13_car_restriction/exercises.toml,sha256=i7v_Ws87vK5ILqHNCmmnhWe9rfQa4B_jHblDJgpa8Hc,2400
51
+ exercises/13_car_restriction/restrict.c,sha256=JUEtNSZHq5qRQHE4vsKi5N3c0iKPulxWh_2miSTDb9A,1664
52
+ exercises/14_maze_exit/14a_print_board.c,sha256=ip1QbEgivQJGsAu_3BVOLybmQ77Ul7YDTkzogGaB4Ik,1233
53
+ exercises/14_maze_exit/README.md,sha256=wJRV2Axrvixe4E1xUvMjNolTYJ17y1N6TdIm4PL9y4g,2343
54
+ exercises/14_maze_exit/exercises.toml,sha256=Z-Rxj3DSoeo5J4TNg0JbZepGerefIkUiAnu6jjH9Nkg,1723
55
+ exercises/14_maze_exit/solution.c,sha256=BXU5JZP-C_M77KbcnDhM_5SN9Tj2ZbueyMCtheM9P_I,1785
56
+ exercises/15_count_bits/15a_count_bits_loop.c,sha256=YxB11vBt2fXK2GgC2VqUrjvYxTErVDOy9Mbj1SQyC_s,601
57
+ exercises/15_count_bits/15b_count_bits_clear.c,sha256=Z3wfvomJhwkqclYxWdZuleflag6NJUBvD-TtFJBp38E,730
58
+ exercises/15_count_bits/README.md,sha256=8-rdjekXvhUJMkBG1JE3PkUPk8kAfhJtw7IOuEPAPEU,5621
59
+ exercises/15_count_bits/bits.c,sha256=Qeg2zeEmTcBBVIQHKe3yv__UKJTI0M4rPGGZpT-5t-U,1000
60
+ exercises/15_count_bits/exercises.toml,sha256=MZBVvAgJjq7ERWmyoVVTa6mUnB1vmaJaND5w8HVNkT4,2476
61
+ exercises/16_my_strcpy/16a_strcpy_delta.c,sha256=4wTBgWFe9K-nYdwsMwcqN2TTMjtfTA4kg1AxiB5TC8k,1130
62
+ exercises/16_my_strcpy/README.md,sha256=bcNIF8J_SB1b246bBHJHo8KI7QBAjErrcGDYnvUGZ3c,11384
63
+ exercises/16_my_strcpy/exercises.toml,sha256=r-hOraxxeGgDZK3bGpBGPEHo9omgSJawiPbcnhs7LK8,1618
64
+ exercises/16_my_strcpy/mystrcpy.c,sha256=qVCaPfIHYq5IBw6js17DqeL9Nv6y_UQbCXf8-3zkc0Q,874
65
+ exercises/17_word_count/README.md,sha256=6NZXpIqpOD9TslCfQV8k1MIOowsizxRxRvAXNGhm82w,1448
66
+ exercises/17_word_count/delspace.c,sha256=h6nFDqikg_gDPsE06tHEANk8vPNfAOnthY_87O8nGNg,1255
67
+ exercises/17_word_count/exercises.toml,sha256=4QzBUtGQmk02_zYQMu7u3fbvAZmxG9EBfuSbUqPeKHI,1073
68
+ exercises/17_word_count/test.txt,sha256=a8i-ooczw1NIXlSHdI9WGWlSSEGk1ZhChlU-J1_kN7I,25
69
+ exercises/17_word_count/wordsum.c,sha256=t2Uw1NsGRgydF48NoF7CAqGt7VBptSlLd7hpuA7XRsA,1330
70
+ exercises/18_my_printf/18a_itoa.c,sha256=rhT8QQfy20SXBg2dQ7pG1-lqM8VnL0lSjvZT4Q_-8d4,809
71
+ exercises/18_my_printf/18b_myprintf.c,sha256=FZDw23ONFHRYikaYHOEJgilBmes5p4dEq7Q1S3UPQSE,1350
72
+ exercises/18_my_printf/README.md,sha256=9cR7PWCKJzgdPInpT4-EfyUSC-yr4RgsBRaKf3iXhdw,2612
73
+ exercises/18_my_printf/exercises.toml,sha256=fOXjXXiUBr1p9yyG4-nAjmZbWP0OIffA3WlI2XVSWns,2260
74
+ exercises/18_my_printf/myprintf.c,sha256=p9EETbnjsuqVHrD8p7GFN8IzA9K6XpUySmQvsmGVeFU,1041
75
+ exercises/19_shell_parser/19a_shell_parse.c,sha256=Lv70BRSrY7274tHX24NDFIMwSAAcpi5ho8m8aM5yP-E,835
76
+ exercises/19_shell_parser/19b_function_ptr.c,sha256=UvY1T2t-t7TwaUQCCB0RwX4TLNCivBX3UYAiPN5dxRE,1476
77
+ exercises/19_shell_parser/19d_shell.c,sha256=Hns8vQMHHeTUBkbCXC6JIMnA-hITr3qWXqRzVUnN-fA,1798
78
+ exercises/19_shell_parser/README.md,sha256=DzY6PokWh9Ndpq0R2eF8bZOrGU0kEA_t3tm6dwSbTMs,2128
79
+ exercises/19_shell_parser/exercises.toml,sha256=V_OJhY9MTHsZx7ovi81vmwj18VGw_cMME5ZeuvnSZIA,3215
80
+ exercises/19_shell_parser/shell.c,sha256=6MkGKQlwv4moii4A9KnYDW_om8iBWwpHFr7a18ZTTeQ,1894
81
+ exercises/20_preprocessor/20a_delcomment.c,sha256=SO3BwmEYw8QBI-mhIOyLBwmvP6-3c-A749TYK8DnqY8,1636
82
+ exercises/20_preprocessor/20b_getword.c,sha256=wVJ8zWDT_rux2DAbd2oYQu6vFEPm5gPZez-IMQz5wkg,3301
83
+ exercises/20_preprocessor/20c_expdefine.c,sha256=XmYZ-vSN8cujdeJN7J_JsYYvyjk05YfIfg1KGrsi88o,3528
84
+ exercises/20_preprocessor/README.md,sha256=ZRqAcp5q_7CDl9cevR0UeQfoQl50IyRPzIgCSAO-PWE,2839
85
+ exercises/20_preprocessor/delcomment.c,sha256=C10cwiEIEcr_MS9m7ntkKla-4xavMdlXbQW981sXjK8,1791
86
+ exercises/20_preprocessor/delspace.c,sha256=DVkwB8Pdjec98k2z6gdhXA1u7OpLZ2DBOPSFL0ifYwo,1024
87
+ exercises/20_preprocessor/exercises.toml,sha256=fSkb7ca7DMt7rxBj0OhcdhdleEicBBh_lErgvnJbfEo,2695
88
+ exercises/20_preprocessor/expdefine.c,sha256=puFS2JmicHD5egAYO_W4lY3JHSOgwPEWPrHzeB84V_s,1224
89
+ exercises/20_preprocessor/expif.c,sha256=au-dcLecsw3XUushhcyyVb7TV1_PlwFQ8VdPYNQFdqw,4584
90
+ exercises/20_preprocessor/log.c,sha256=sBmCDh-NDQD4p_56sL33GgZWq1IO5ACiHtkQUglTrvc,3742
91
+ exercises/20_preprocessor/state.c,sha256=C40NSZl5T3zkUd6p8Tq5Lkjd6W7eyAZzPj-lHBa55eQ,3975
92
+ exercises/20_preprocessor/t1.c,sha256=iwYhRCeWLm_z7oOtBdEyrzT8SALs_5lNQIGZ906M4eQ,1555
93
+ exercises/20_preprocessor/test.c,sha256=yjyOwDdokIi_MK1InxYFgPatuoIyw2Lh4zLdqNwMhEM,395
94
+ exercises/20_preprocessor/test2.c,sha256=sWWSPTveovSRCNsFhOhmpk6TCcCfMkcl8C_R4wzZ5yc,151
95
+ exercises/21_lexical_analyzer/README.md,sha256=WzQ1nvy50xefoIJp5JXup_K727MvWkNpBQvyfWuQFto,1640
96
+ exercises/21_lexical_analyzer/exercises.toml,sha256=wfM0k10T9hH1Wsmt73RbgIEdhxdPvP6_YkUc5dW82G0,967
97
+ exercises/21_lexical_analyzer/mylex.c,sha256=COjJfmSmcYBNn-6UUxtL07hYxKY1pXAqoI4Jz4YN5RQ,1229
98
+ exercises/21_lexical_analyzer/test.c,sha256=1TuF7l9EH4-pPkVfSfkhLbr-Z1B1pvYtP1vt7pJZ8FI,82
99
+ exercises/21_lexical_analyzer/yy_accept.c,sha256=hCeJBKVFTjLOOk4N9PyO1sRfqJmx0D-A6hjqLxgT8w4,945
100
+ exercises/21_lexical_analyzer/yy_nxt.c,sha256=-zvjBsPSawpQUeHJa489BpSLHZJhr152VjLIyDT2hvs,117815
101
+ exercises/22_guess_number/22a_generate.c,sha256=1LeSGyWb-uBa6B2BQk6IXhBRReUtzZVaFSJJiODNk7U,984
102
+ exercises/22_guess_number/22b_check.c,sha256=tcLQgC4LtI2lGpvowJOHSAgpQULpKYRs9ckQVu10uMI,906
103
+ exercises/22_guess_number/README.md,sha256=jPREzfOdyxJPKc7qTwA9GWqI9Djooe_npKEC28y67Mo,1715
104
+ exercises/22_guess_number/exercises.toml,sha256=QlwolSmWGm6X8dak3vOrHNuSa-7glvEwcz6Mb-mTzms,2592
105
+ exercises/22_guess_number/guess.c,sha256=b9yn7FCJkSfLK7BF6xuEqYplULHogrMXaDPxuJaO4I0,1773
106
+ exercises/23_gomoku_game/23a_print_board.c,sha256=X85p21WeQONM_BB0huNeR_hgg1G9qiWfQcTffyPl5_Q,773
107
+ exercises/23_gomoku_game/23c_check_win.c,sha256=9SDaigG6m5ePhUBEE5AgJBUkaCWZARBXpomZMUQGD1E,1170
108
+ exercises/23_gomoku_game/README.md,sha256=jEqYv0LyzPcNYS_dcFbDM6HOj2a-G-woWePlLp11xGk,3705
109
+ exercises/23_gomoku_game/exercises.toml,sha256=GVjOYYIGcC2PHhalTVgk4DArRoC0HDV9ev6hWinUofA,2309
110
+ exercises/23_gomoku_game/gomoku.c,sha256=6HgOlOmc1M1uWvLXUsnkCUlK5xnFdKrg8GixVXjCoA4,1797
111
+ exercises/24_search_engine/24a_find_istr.c,sha256=CHl0dEVbXuUebx2_5fW9oLSjX0_XhVe8aIYmditMV3k,1081
112
+ exercises/24_search_engine/24b_extract_links.c,sha256=05TRlh81l1OONLuU1yYZb99WyLfqXg8f8hdMzyIjHjA,1501
113
+ exercises/24_search_engine/README.md,sha256=R4OWfYc5bG5bNTzeHGrudJQ0vYBaCmTV9GrgCghQFcE,1679
114
+ exercises/24_search_engine/exercises.toml,sha256=zPPX7gpcUGAod0U4LImtLRycOn_lgSq7BhDQWW9_WR8,2889
115
+ exercises/24_search_engine/search.c,sha256=2qL_GjHXHY0HwvGpHkIPc2KsVqgt3PQJyD092p4IQJQ,1555
116
+ exercises/25_file_copy_mycp/Makefile,sha256=dEZjQNfWHjAdAV_K2ye_Daecf9txQmdIOYhFpHnuZZ8,127
117
+ exercises/25_file_copy_mycp/README.md,sha256=QWRCC76DWRwSE_FexUsmBcgf81ScYjNuFcQBx8T8qQw,3483
118
+ exercises/25_file_copy_mycp/exercises.toml,sha256=eUHlZo6AmTLIfMqrNja_DZFgZLLNp-rd9gTgHsFqqa4,373
119
+ exercises/25_file_copy_mycp/main.c,sha256=DQGGpBx5KSueKumkfMyOa9ebpdTn7bTofptRAMHYueM,148
120
+ exercises/25_file_copy_mycp/mycp.c,sha256=UyKZMSfJmm0f3kvNkqfiC9Lm5Xlauy4dioEv0PLhCAk,645
121
+ exercises/26_elf_header_parser/Makefile,sha256=MqkGej5NKbBRb648YFqQefZil6SnjLx2ec_8um0Nd4c,118
122
+ exercises/26_elf_header_parser/README.md,sha256=ATdxTrICuPI_0EleULBVkh2x-KW5b9WWiiwG71vIUqE,4648
123
+ exercises/26_elf_header_parser/exercises.toml,sha256=7nlUhPn96VIVaywlN9DgiATigAHJM1nhPpufB21vtlk,408
124
+ exercises/26_elf_header_parser/main.c,sha256=fMTokgCqC93SEnw_LAOm7bFc-aMb283Xc88uLdP8MgI,151
125
+ exercises/26_elf_header_parser/readelf.c,sha256=mADoWbZyfqq9_SSwYQ0rxzkZfyIwH28Ob860t2q7kDg,1644
126
+ exercises/27_sed_stream_editor/Makefile,sha256=wD2M4knJnkX9FqyEhuX1BWJjrNZuDnyzV7TbFgkR26w,697
127
+ exercises/27_sed_stream_editor/README.md,sha256=phERutqJn2fJmKCxgutAHk99vRY0FMXDh-jM2-DNPFg,2424
128
+ exercises/27_sed_stream_editor/exercises.toml,sha256=fDDpHWZ4e3ebjocOcf9DC4XLgnoB80Bd-2_PC_mTaQc,412
129
+ exercises/27_sed_stream_editor/main.c,sha256=yc22YxszL1g4OFIsM70KLmvidTPw9PUvFbKDVj4Jl_g,151
130
+ exercises/27_sed_stream_editor/sed.c,sha256=8BKvDwo8xf6wgduJGEEKAQ6I4CusidwGK2Cg8PQT-FE,1707
131
+ exercises/28_math_calculator/Makefile,sha256=-jX9T-npX_qPB4GjGpJlbandXt8dwVIDfnpV-G1l2tw,355
132
+ exercises/28_math_calculator/README.md,sha256=I-sNi6aBpKW1_ielz_ntC3sq0PMQCFdFdaKqeMZH5oU,2027
133
+ exercises/28_math_calculator/cmd_math.c,sha256=TgNbWUTMmuJdmFQYt2cp784BnqbUsC9dtV3rvbPQy0Y,3478
134
+ exercises/28_math_calculator/exercises.toml,sha256=VX3Yu7nxzdGOudkuKV6J1Kd5NoPle8ovEXIRgjhsx3Q,397
135
+ exercises/28_math_calculator/main.c,sha256=i-EJMQWEp2avLahMw7Xt1WpL2beNNhAGMzd-Y537WKg,149
136
+ exercises/29_more_command/Makefile,sha256=94QIHpUdu5I3a5Yicl52CvchfpWEkI06ACOzsPUqMa8,340
137
+ exercises/29_more_command/README.md,sha256=k5DEu6uOuPA_aRAwwtmH4OpoYjtBEkkOibB2V-MCEuI,1107
138
+ exercises/29_more_command/cmd_more.c,sha256=WZB4SFmojvsgsBvjpa5jLmYvdsvpi7ddviFCN5lJx9o,3176
139
+ exercises/29_more_command/exercises.toml,sha256=blHKLBw_AUptdscIoFXJi8vyaRbF8h8fqvu2Gw7aC7I,383
140
+ exercises/29_more_command/main.c,sha256=uoywr4eWbR8qcUXq3OHvDlRnofBEuWd7nuj1TMiD4lg,146
141
+ exercises/29_more_command/shell.c,sha256=n6Ld0JvUwzMQgo3hRP25ERJ72dzsrPZpNf8N3_YjoWA,1230
142
+ exercises/30_sort_command/Makefile,sha256=Xipb6Idn5yalT9GeiM81XanVUQRAJ11556Qv_yjPYXk,406
143
+ exercises/30_sort_command/README.md,sha256=sQo2Eo6xnNEiQWgvoj5mr10A5eMOPHC2-95jolxhYfc,1389
144
+ exercises/30_sort_command/cmd_sort.c,sha256=qItDO5Lnstfd9dWlvWvU78nD88kMpjmX5OKyhLOSK1I,2310
145
+ exercises/30_sort_command/exercises.toml,sha256=pfjDrBzyInsMQEtZefgOQoO8si2cmfNhUMt_DgObbqc,375
146
+ exercises/30_sort_command/main.c,sha256=XNhqV5dMmzAMfpwzKNRrhCAJzoTVMcyY45Qwk9jToYM,146
147
+ exercises/30_sort_command/test.txt,sha256=7hzPrKRQvkdps0V0LBdu6A2ytJZB-QBpF9V_TSlZCBs,56
148
+ exercises/31_ls_command/Makefile,sha256=K6EVBmJHMJP_2b7brSI5lLBkDzafVKqloI4N6bJW-FA,460
149
+ exercises/31_ls_command/README.md,sha256=jV6tJvkj4lHbo8xYFS0kYYC45cZAfcfYihc4kRakq5E,3237
150
+ exercises/31_ls_command/cmd_ll.c,sha256=fPEu8XU7zb7zQAeJIcnc45U40qHOkzDGqGUwmEsTdjM,1855
151
+ exercises/31_ls_command/exercises.toml,sha256=h_EdN-FoDtV-XZMYxNMQMK7gfvkHKVsakmvN6A8fBts,377
152
+ exercises/31_ls_command/main.c,sha256=r-ewCCW4JQa4VUobIH5AdwX7ftxBP3iKXJKtd3CBhPc,144
153
+ exercises/32_mybash_project/Makefile,sha256=v0743NkpqVVZp_YtWV91lDsXh_1xgxTf6ULC5h8_v80,241
154
+ exercises/32_mybash_project/README.md,sha256=vLCq1l-18kZMvJrQsqVnK8vkYGHgSJJs6r-hFuca6XY,2597
155
+ exercises/32_mybash_project/cmd_ll.c,sha256=cvyaTlvzElDxmziyESNKFhGhNkwN-vcV4MjGEkr1bFw,1832
156
+ exercises/32_mybash_project/cmd_math.c,sha256=TgNbWUTMmuJdmFQYt2cp784BnqbUsC9dtV3rvbPQy0Y,3478
157
+ exercises/32_mybash_project/cmd_more.c,sha256=WZB4SFmojvsgsBvjpa5jLmYvdsvpi7ddviFCN5lJx9o,3176
158
+ exercises/32_mybash_project/cmd_sort.c,sha256=qItDO5Lnstfd9dWlvWvU78nD88kMpjmX5OKyhLOSK1I,2310
159
+ exercises/32_mybash_project/exercises.toml,sha256=Zblx_5dRPazo513rJRzXvTaqh_E_Quil8V6VPNfh9B8,462
160
+ exercises/32_mybash_project/main.c,sha256=9e_68tm4fhrIfOaKdnhiKDHll-njMN4xnXkk3GowsJY,148
161
+ exercises/32_mybash_project/mycp.c,sha256=UyKZMSfJmm0f3kvNkqfiC9Lm5Xlauy4dioEv0PLhCAk,645
162
+ exercises/32_mybash_project/readelf.c,sha256=mADoWbZyfqq9_SSwYQ0rxzkZfyIwH28Ob860t2q7kDg,1644
163
+ exercises/32_mybash_project/sed.c,sha256=8BKvDwo8xf6wgduJGEEKAQ6I4CusidwGK2Cg8PQT-FE,1707
164
+ exercises/32_mybash_project/shell.c,sha256=DJciifT5qzpgrQJsrnBbUo2lPucyh1l1GflSI30QriI,1382
165
+ exercises/32_mybash_project/test.txt,sha256=7hzPrKRQvkdps0V0LBdu6A2ytJZB-QBpF9V_TSlZCBs,56
166
+ exercises/33_singly_linked_list/Makefile,sha256=Z-yTMo6BnisRuLdEbI7ouJC75SY_lW1hBbFYUYQlkKY,55
167
+ exercises/33_singly_linked_list/README.md,sha256=MxBhZnh57Yt-PF165SGMiSdToiL_8R1nanuzFh_Z8q8,2700
168
+ exercises/33_singly_linked_list/array.c,sha256=BCmUNGf8edlRItOPUeOewHDiEgPdebTDeqT7poWlMXg,1782
169
+ exercises/33_singly_linked_list/array.h,sha256=gm9CKIf5gL3DfCZoykLr64nG0yR4dszHCuPRWa9IXJQ,350
170
+ exercises/33_singly_linked_list/exercises.toml,sha256=q-t7gh-p5agKIL-i0qdFUXyxLy85hLk32STz-klGcyo,389
171
+ exercises/33_singly_linked_list/list.c,sha256=xSYU6QS6pB_fNM_QB_TiYPl1Bt46LThWGvgniHH2FlI,1853
172
+ exercises/33_singly_linked_list/list.h,sha256=bSbZo4BpsSND58rckRYGHzio4m10cftcX07RRBZ7W8U,380
173
+ exercises/33_singly_linked_list/main.c,sha256=v06oBgvAdXTqKgZPrAvVEGP-maoBF18_ZUwmga_rzGk,152
174
+ exercises/34_circular_list_josephus/Makefile,sha256=Mj3PN5uc1icMZjJUlprlSP56VguvDyaMNsuQ26NDJ0Y,35
175
+ exercises/34_circular_list_josephus/README.md,sha256=GEMkfpBKhFUI3oQFOLrGV_w8UpX4lZya8GS5K-f_33U,1483
176
+ exercises/34_circular_list_josephus/clist.c,sha256=FblSRYv2yeroD38V4PoYzcsPJvhKMOEAjRYoZw-tJyo,1385
177
+ exercises/34_circular_list_josephus/clist.h,sha256=KUhc_BVc2VEr3oZwrlnsFr1_f1dkFr5Jo729jfOeqbM,395
178
+ exercises/34_circular_list_josephus/exercises.toml,sha256=0oTwPebdi0cjRP7bp9BHC2hxFwboAd-4m7MUDZK9Hd4,387
179
+ exercises/34_circular_list_josephus/main.c,sha256=WcFD2RuKh-P-PHBJTaU1wMP_AHOEULz9liV9RrB1vCI,156
180
+ exercises/35_stack_expression_eval/Makefile,sha256=yhuyutXbk4HIgbpXplvUXKhOkDEM7iZVR3FUiE7X4ro,18
181
+ exercises/35_stack_expression_eval/README.md,sha256=ExvmOhcxU55vCEnoBu1OVStxbjW_Ct6CZDJrKCkj4N4,2024
182
+ exercises/35_stack_expression_eval/exercises.toml,sha256=YLqmrQIy1_a8bXFubrm5HGJ9tWAmHNxH3r2ZDYTGlRo,375
183
+ exercises/35_stack_expression_eval/stack.c,sha256=UNKEnh-1mlaFmZchTuSU0UzH5_j87nB6YdElBZioTk8,155
184
+ exercises/36_queue_bfs_maze/Makefile,sha256=Nc6DJiMMNSOgu7Eq4B68ASgAxrfqROaeNSA1UVpTvgo,135
185
+ exercises/36_queue_bfs_maze/README.md,sha256=Jp_WJk5y2y-yFSTEm5Qx-U5UQMmqCKf5eQrN6Yvjn-g,1199
186
+ exercises/36_queue_bfs_maze/exercises.toml,sha256=EHb0RYb1IDvWyWUNZTPUKbebXj5ih6NeXGJlNc3AeXU,370
187
+ exercises/36_queue_bfs_maze/queue.c,sha256=9gds8YiLTXT4PooIYulkhGmo5txuCTj6g6TfKKWKaW4,148
188
+ exercises/37_binary_tree_wordfreq/Makefile,sha256=iI5tZaUEOsaEUqQGrBLIkGabtsc-_El5ueOJu3f-Puo,40
189
+ exercises/37_binary_tree_wordfreq/README.md,sha256=yGGBYimGXZHz-2NUub5Slfko-TGAQumsTmdUsosBeS8,1846
190
+ exercises/37_binary_tree_wordfreq/exercises.toml,sha256=EWQiHg1G_VvvK9KDK5yEviT4REVga2g3F7s_A1LSQ_Y,370
191
+ exercises/37_binary_tree_wordfreq/myparser.c,sha256=ngMm35ihcVSB5u97s0_8D5lme7bQ6bgYiFvOkjbd6MI,2843
192
+ exercises/37_binary_tree_wordfreq/sum_char.c,sha256=scxGoz_js0P9mjWntxT_V6OFzvMDS-tsUa5vzhnY574,2682
193
+ exercises/37_binary_tree_wordfreq/sum_symbol.c,sha256=AfX1RsU9k0AjQBsbFHCpGm1ycjvSXvQkGo3fuaTMFSU,4621
194
+ exercises/37_binary_tree_wordfreq/sum_word.c,sha256=pPSqP3G-vc7gXCbtGr-kkl5DdbOqi1a77ysygZN7BNo,154
195
+ exercises/38_heap_sort/Makefile,sha256=__soH6Frr5TqP-lQr1EwIecfsJEpKJFOyoX2QV-V-EY,131
196
+ exercises/38_heap_sort/README.md,sha256=foykPSWnTxSh4uL1DbAufjgYjQ3WpuQT8EklBYmBXbg,2315
197
+ exercises/38_heap_sort/exercises.toml,sha256=qNd-nyfqSDQaNvLgWSULpi5bOH6EQL6THXyFubK3W_Y,344
198
+ exercises/38_heap_sort/heap.c,sha256=sq4St8eyhrC1QMm7IypEM-79EKic1zbi0uDloTIC3No,143
199
+ exercises/39_hash_table_symbol/README.md,sha256=D7pLtJtHy8RzkgGI0KgGLFAWK-9VX_e3uBdNOpDawhk,1403
200
+ exercises/39_hash_table_symbol/exercises.toml,sha256=h9jABJFQuMZbFa15BqsVIr9iuPEnhliz9znaNQ6avdQ,360
201
+ exercises/39_hash_table_symbol/hash.c,sha256=PGd90jUoUxfZAd8JFj8IfnjLaXRvMPPdTUZcyiUp5is,151
202
+ exercises/39_hash_table_symbol/in.txt,sha256=z6M0TEUjopVzyq-1JFbW6x3-0po6RJx_hg7koKeGi98,1380
203
+ exercises/39_hash_table_symbol/out.txt,sha256=QGeFNNlkaUoBW8VJc4y-VRV6XatohR-q8L2GX9kajeo,1058
204
+ exercises/40_my_dictionary/Makefile,sha256=7cFJD0-VNiSkbR_3t7q8KRiWvqutRT_7RYKtupdkym8,156
205
+ exercises/40_my_dictionary/README.md,sha256=mNSrPgGtxFIK7f74Vlyzbeee4kYEOxHVCR8uWLUxpOI,6090
206
+ exercises/40_my_dictionary/dict.c,sha256=Nq8gkS_RQ0i_9PW-LmXTNKgv89IxDqHDMzlBMdXlxw8,147
207
+ exercises/40_my_dictionary/exercises.toml,sha256=rio-Ri5zMCalzhvYTXAGyCeDLOCkwBv4OmsTmw7rkaU,374
208
+ exercises/41_binary_search/Makefile,sha256=B9UKBVsLB4KjBQOLUNMJBhSAfF6aMhkkVm4sp32ntXo,143
209
+ exercises/41_binary_search/README.md,sha256=blawRnKFnRWEvvxC0LpxAbigi_kYlVfVntbAAMyj6nU,2500
210
+ exercises/41_binary_search/bsearch.c,sha256=cbuM3cjtNbUZzSyeFJ04hNC4kABKDiPGCA0yyy_iNyE,147
211
+ exercises/41_binary_search/exercises.toml,sha256=C82hhpLi4UXXFlzL70dnam6xPr8DN5NSz8SWJpe09Vc,372
212
+ exercises/42_quicksort/Makefile,sha256=78383yk-DwLDD-ZC-yb8D--Jk7UH0AObhdqOsrKhRAc,135
213
+ exercises/42_quicksort/README.md,sha256=WT3RIjTyuHK5hVxQeknri4FwSqLTic2J-v8iIQCrGeU,3403
214
+ exercises/42_quicksort/exercises.toml,sha256=n-itwL_uFpLbdEg6VcfrgnS3x3U8XyOeYjDQvUChfsk,354
215
+ exercises/42_quicksort/qsort.c,sha256=V4xhuz_wplNVPp59ZxLqTT4OxXPs6GDkKxuV-DR9F7M,143
216
+ exercises/43_backtrack_dfs_maze/README.md,sha256=QgM5Pszi5NgQa6ok4VhcVip0j0SCi49AC9kS6UmIJF0,465
217
+ exercises/43_backtrack_dfs_maze/backtrack.c,sha256=A98neVD6nT5SA8yRa-Zg0tWIydmd98nQOSV1hY7-66U,4134
218
+ exercises/43_backtrack_dfs_maze/exercises.toml,sha256=EYC_iYiQyVpdwX9Q4OpfR6_H6T2qBfANV0ATeAkLK8g,377
219
+ exercises/43_backtrack_dfs_maze/maze.c,sha256=s0pU1uHKremrxATi7OxcdSvhTBycL5ofUIVgZU7Wdxo,152
220
+ exercises/44_kmp_string_match/Makefile,sha256=Gj9IlZpkyV4_umZ2cRe_vZBOXv4mO1Kwnq03SCoqcIo,127
221
+ exercises/44_kmp_string_match/README.md,sha256=90WRK7mZuDo5WAQ_UTm-9Shj9csRgQrHmFnaC9kyw_4,1563
222
+ exercises/44_kmp_string_match/exercises.toml,sha256=ADBim3Qfes0LVgkxrnGPEvHp-9egENWr9QCxv5uMNyI,358
223
+ exercises/44_kmp_string_match/kmp.c,sha256=Y10h5jfwrrRTxVh3K3WG64Qk2DQFg6w5FlyIElJbL5M,150
224
+ exercises/45_lcs_dynamic_programming/Makefile,sha256=FmBViZZCyponSQg6OUPDIfGPd63Aw35uhKT_s3QJ_JY,123
225
+ exercises/45_lcs_dynamic_programming/README.md,sha256=GgfkhZ5duYJA07EbTlHpdfX3SXGUiiBihWBOG2Lg7Kk,1545
226
+ exercises/45_lcs_dynamic_programming/dp.c,sha256=6Xhc2EJbqmSt7krSGdHBGjopRR0zrV9Hafj9uqR0B0I,157
227
+ exercises/45_lcs_dynamic_programming/exercises.toml,sha256=hauICJT6vRrd1JkY99roMn5j45dHorkfqNXbEvLHwHI,387
228
+ exercises/46_dijkstra_shortest_path/Makefile,sha256=k2lIFfa1XA1hXV3T-y0QTERLtco2tVLKNtOpg1cU62M,147
229
+ exercises/46_dijkstra_shortest_path/README.md,sha256=hQX4PmV5On3M88eg_8-J-1xqUR3Fb7vFmLNMDeN3YuI,1235
230
+ exercises/46_dijkstra_shortest_path/d2.c,sha256=47r_6enviGPiFVnc9eO9RJ2OtEupcOi5rZTo8kXQESQ,1705
231
+ exercises/46_dijkstra_shortest_path/d3.c,sha256=ACTA9pinaH0Siw358_BuXwi4c0ZUTqD54g56pZKeC_M,1729
232
+ exercises/46_dijkstra_shortest_path/dijkstra.c,sha256=FgeidU4l1Ynd7h961SbO76dM9JAByovxuwuUZ1TogGo,156
233
+ exercises/46_dijkstra_shortest_path/exercises.toml,sha256=Ogcf4S5lyfPQrsgkgJZF-C6up6CFGdxCBar-Rgt-Atw,374
234
+ exercises/47_huffman_coding/Makefile,sha256=iRczoM6I6VxnlJsZ0YPA4QB_LGnRIhwKY3rsnUWFbjE,143
235
+ exercises/47_huffman_coding/README.md,sha256=DydjVG86M1U1QoHhPG65NWrYjbL1oFHsj2Ss9uR7VbU,1259
236
+ exercises/47_huffman_coding/exercises.toml,sha256=mTAe0ZAnOQI9nnI3mqWsAuWFBFhuqxwWaLMslUXmUVc,363
237
+ exercises/47_huffman_coding/huffman.c,sha256=xaV5cGw4GODUkiLdC_eyFdL-KFSQVd93_frxnDHMRrA,148
238
+ exercises/48_gps_navigation/Makefile,sha256=bfrB3OWHfDVv1Zy_3KeLzxvYYqaGTSEdn6ChDDAMQ3o,127
239
+ exercises/48_gps_navigation/README.md,sha256=nCV2GtqZm2QWlsVcuXQ8wftiHbmvFHj4rkP6cmgQX_Q,666
240
+ exercises/48_gps_navigation/exercises.toml,sha256=Q6yXQvlEdPZjblCl__sBnoa6S_TQH2ecJH-lL0sVkDI,424
241
+ exercises/48_gps_navigation/gps.c,sha256=UCUNyMIygb_Si89fqO0XceysiBj2xGvYAOzhQ6qU8W4,148
242
+ exercises/48_gps_navigation/map.txt,sha256=AyFui1s1Ir_y4mDGMd6yWlC5hfeOIvABrPHQ0VhzyCs,824
243
+ exercises/49_strip_comments_fsm/Makefile,sha256=9V_Cv97RT5vGxlVT78dBORNzAkg-GX3j0R1D--UhnyI,363
244
+ exercises/49_strip_comments_fsm/README.md,sha256=yTbZSp5V_R4dmtiZCsbQE_4q6p36CNlgznBfrMxhLec,2256
245
+ exercises/49_strip_comments_fsm/exercises.toml,sha256=j6AxLHAdcPNeOur_KGceXglglNGaO_3SF1u19ArF1TE,402
246
+ exercises/49_strip_comments_fsm/strip_comments.c,sha256=VgN-wkI2QImN0xJkXePP-H4sSe8XwDzNIiX6469KxU8,152
247
+ exercises/50_regex_matcher/Makefile,sha256=VWLWIsjsz-b3E3wWBxqEvScWheWEsNPFdT-ffgeXbxo,162
248
+ exercises/50_regex_matcher/README.md,sha256=BfYFb--FGuxIYBYH8qtCLZXZ6ZHiHkSc_RPDvW3PogY,1989
249
+ exercises/50_regex_matcher/exercises.toml,sha256=tzGfhCCoB6fmRSl7cp5NNWKxldkecAIr9XCUhUd1cLA,389
250
+ exercises/50_regex_matcher/regex.c,sha256=jMSsFw_Dko2E1FDimZhsBQNamThPbIcxuGi1DXb2P2o,147
251
+ exercises/51_rle_compression/Makefile,sha256=GegvBsO4z50aOrNqTdynD-cZ_7FCVpojyu1L4DGvDgs,150
252
+ exercises/51_rle_compression/README.md,sha256=yYb5o16wyT_I4vRDABnnAgD0_76AFfyN1JBJKM6Jeco,1504
253
+ exercises/51_rle_compression/exercises.toml,sha256=33d8Uqa8otSMmHNmtgBez0aJJxzrIojaW2m-xkVArr8,378
254
+ exercises/51_rle_compression/rle.c,sha256=FEGEr5jNlVTbW818ufUOJY9ia2-nT11wFxbhW7WvDO4,149
255
+ exercises/52_lz77_compression/Makefile,sha256=opa6qx773N1v6PBHt2b8mZDrhsdlAucbjPKvNk9d5wI,156
256
+ exercises/52_lz77_compression/README.md,sha256=f-grU4iyMiMgpetIeUdDNqb48gfZu2V2jDZmE76pDtI,1749
257
+ exercises/52_lz77_compression/exercises.toml,sha256=ZKV0mrlZNtR8ghKhMUd-wg3cfEj7Es_N-aP9KQ4LKqQ,393
258
+ exercises/52_lz77_compression/lz77.c,sha256=4cv_a6XVKfPGRxQxo8DW7So5vieUJz7tkNKv_PMSKlM,150
259
+ exercises/53_base64_codec/Makefile,sha256=rR_vxGH6nqghHjaBCQ-4s6-LKo_oByHL3n9D1PgR-Bo,168
260
+ exercises/53_base64_codec/README.md,sha256=ycLoBM-nfauIDqWl3I8Sg265QBpUMRRflDZYGt89toM,1564
261
+ exercises/53_base64_codec/base64.c,sha256=r1Hk3q2qd3lEn3pAk9125DSkpS5dKK1c6OzuYRPIDDk,146
262
+ exercises/53_base64_codec/exercises.toml,sha256=4rZF5ZskpQY2IdopX5MFVzO1YweL_YJIQH-oQJhw--c,376
263
+ exercises/54_json_parser/Makefile,sha256=czWZZKXUPeA67Fv1oGA8fBdzVygsQlF0lTbo4LSJnw8,198
264
+ exercises/54_json_parser/README.md,sha256=vojgl9M_FWjnK-Z_MncFXz9RL83ouPhbed2xV_PSUKg,1789
265
+ exercises/54_json_parser/exercises.toml,sha256=MnDWj17rHl-RNWxjbwfD82vJ-3jLeSCZXWO-IvSfe3c,366
266
+ exercises/54_json_parser/json_parser.c,sha256=W7NvXCgQqFtTQUKPFFRxgmLhtN5DPzD7_FszZzHJvGE,145
267
+ exercises/55_memory_allocator/Makefile,sha256=2-2fdiQc1Q2cE8fSwrWYmN43-b54pH979N0CZ8t-EhY,180
268
+ exercises/55_memory_allocator/README.md,sha256=AQyEYosuNcx_bOxEznKWg75j9amOWFnOWPNhYn14Rt0,1983
269
+ exercises/55_memory_allocator/exercises.toml,sha256=lMfkFDTfVLQGnN4CCp6oKFWmeaNPiR08SKk3PcHYzbM,379
270
+ exercises/55_memory_allocator/mymalloc.c,sha256=zb-haapUPH9yh206wo_msTM5bLvO5LZX1ndEYTF7M48,150
271
+ exercises/56_coroutine/Makefile,sha256=pF-THw9JsQOv0KlDu6o8DJ8gBott-Ep61y2k_R1VOOQ,186
272
+ exercises/56_coroutine/README.md,sha256=nfmjb1EbMrhotxUlZXYKA-JPdnLIbi6xO0JIirV6IQM,1985
273
+ exercises/56_coroutine/coroutine.c,sha256=h_CtOsgXbK5wmhHQAcUy21AF6rq3QnyTMcS72sR3lP0,143
274
+ exercises/56_coroutine/exercises.toml,sha256=OlAFwIm-GRQ3NrK2XizMmfTbUY8MWimfXwa3dELP_2Y,356
275
+ exercises/57_tcp_echo_server/Makefile,sha256=__3_mE8tZX9fyUMSLglCfvlImi7lhzmwKWDTwMbhsEc,274
276
+ exercises/57_tcp_echo_server/README.md,sha256=4zRdFgQnr1qXqIKVN1qmoRJ-luBxiXzSJPeUWfLH2NI,1905
277
+ exercises/57_tcp_echo_server/echo_server.c,sha256=b6VpVTUIoHqpyCWptQUi-Hli6zahbj0j8GZR0ekO4Rw,149
278
+ exercises/57_tcp_echo_server/exercises.toml,sha256=ZzVnebANrk8358pFaf-g02OSRTgdfKngDcyoXceG9Wo,379
279
+ exercises/58_http_server/Makefile,sha256=988aTWNQ3EHh16_7Ss1S6wRJCtmahkXsH-NVAsU1c-k,274
280
+ exercises/58_http_server/README.md,sha256=gLWwaLCGHblP0btIEBjHccg_hamzVmQkrFnO_N4XKCI,1695
281
+ exercises/58_http_server/exercises.toml,sha256=9JPObMH0nouLI5en3L-UPKk58JdUXpIkICrWa9kViVk,378
282
+ exercises/58_http_server/http_server.c,sha256=jh_45RoGQDQAuDpsEPYX9y-QoQuEWANiuYnkuTDA78c,145
283
+ exercises/58_http_server/index.html,sha256=1OYREJfGbbylRzTF48eRX7RnFNgz6b_0NFCNE4liUeI,307
284
+ exercises/59_signal_handler/Makefile,sha256=L85nX75rZUY7ezPkhuWY6vvcNz9CtZsR7t0tKW07_GA,182
285
+ exercises/59_signal_handler/README.md,sha256=gqL8EykCeaZEfY_w2m5nnJjRQmxKVcDMjwM3I6eRNjk,2126
286
+ exercises/59_signal_handler/exercises.toml,sha256=hweo9kGaPeVTQtXyOlDRwo7uPwKO7kGie0unzV6YCfw,464
287
+ exercises/59_signal_handler/watchdog.c,sha256=SsXRgUveMVObbbMmjgObeApyjhYFRx2BxYJitV5o-hE,148
288
+ exercises/60_mini_shell/Makefile,sha256=csnot0FD7aMQwQ-EMiCimaHjgxbVMnxvry3cbkcj6oY,304
289
+ exercises/60_mini_shell/README.md,sha256=0GlXSyY3lagJK1uGba0eeT23RofCY-KODweJ7vpeDFc,2095
290
+ exercises/60_mini_shell/exercises.toml,sha256=s7AqbT_VrNi_zgKtlT9CnuwI8A23fFOfPn3T168tJWo,373
291
+ exercises/60_mini_shell/minishell2.c,sha256=NtWYDaF5kLWCNxpyd_1iThSmq609dHDpcGlLvpEd6PQ,144
292
+ exercises/61_riscv_assembly/Makefile,sha256=pTnSSzyquiJvapYV-0q7fLkpFyjXzpz2lHfTgaiJxRs,513
293
+ exercises/61_riscv_assembly/README.md,sha256=HBMPjskUJCajhQp0UwSS-9bYWh8HIcL7Ohxy3yIOuMo,3504
294
+ exercises/61_riscv_assembly/exercises.toml,sha256=Cy7Fd508W6HM8gxZLdKGsF3i3TC3DabKy6tgESGh718,397
295
+ exercises/61_riscv_assembly/fact.s,sha256=lzp02N_PbAlj4xIHvahSdMCtWahTsZaAoWhl-RnDqqA,1037
296
+ exercises/61_riscv_assembly/return42.s,sha256=QnRJO76VjpYPXAL1VhDmt7483qC6Yp2F7MXIGi8OzRw,309
297
+ exercises/61_riscv_assembly/sum100.s,sha256=GBw_Dffy9X1Yu0JnQ-tDVw6tA9gH03HxXNm69nxE_Ks,568
298
+ exercises/62_instruction_encoder/Makefile,sha256=0zSuQqI3GuM8hGhQKGYAI7oYuK-VqbqVA2WGqvNbwEs,178
299
+ exercises/62_instruction_encoder/README.md,sha256=zmMhdLDJHTB9WA2W5WTC8CSI0GATXi-N4IE8v9FL8S4,1934
300
+ exercises/62_instruction_encoder/exercises.toml,sha256=YxBTSE7jEFggMt1Ng1Eyd1sZU4Ko4dsANAtIIVSS37E,404
301
+ exercises/62_instruction_encoder/rv_encoder.c,sha256=XBQxxxHLRnuN-x7-Ysu5MbGiD1yhPeYpDS061YNNB9M,153
302
+ exercises/63_disassembler/Makefile,sha256=pGhsq3wTdlzqShI8FAZqNFM3LHz-LybZYhuxu8Q5gt0,421
303
+ exercises/63_disassembler/README.md,sha256=gYkizzyLIuZmwv2w1fMZvoJ5MHQ7bao86pxwt9mIPg0,1413
304
+ exercises/63_disassembler/exercises.toml,sha256=rjyc8JpbHhRVHeTY-l48a1ZfZ4TvTwqJy1ha-SDqFjA,378
305
+ exercises/63_disassembler/rv_disasm.c,sha256=-1MwSCC04OsM3nzJ6A2k_n5cV4Zik5kVgUBnQ_fZmi8,146
306
+ exercises/64_assembler/Makefile,sha256=-hc8D869PxpIt15RevKiVeHg135u1zs_bMPfdlYskdc,300
307
+ exercises/64_assembler/README.md,sha256=vCAVXAqv5HXvfYNEtGrAijyyqND1AAt3yfRdTCEUdbg,1398
308
+ exercises/64_assembler/exercises.toml,sha256=MJBKC_M_LyoHzNsWwDA9OBKP78WUMr5q2ijHC2zWW7M,363
309
+ exercises/64_assembler/rv_asm.c,sha256=-sNPVeAHuy7qqgqbled4XzGReniG20HaxreLF52sMJM,143
310
+ exercises/64_assembler/test.s,sha256=vZd9dYT7rMIT-ydH5Rq0ZBHKLWHXO2T44mwJTLp2u98,137
311
+ exercises/65_elf_generator/Makefile,sha256=uOGvB5YYMRwn44pO6zaDPtMTU9gQeqWvi1t56rwl05c,420
312
+ exercises/65_elf_generator/README.md,sha256=Oy5QWjm5YEnauFOe7enhAFPbhuqe9WNs1zMdpNfkeDY,1546
313
+ exercises/65_elf_generator/elf_gen.c,sha256=pr5LcgcJeyQbhlO2POMWnGNacL6nO6yHjaPzfgmR1z8,147
314
+ exercises/65_elf_generator/exercises.toml,sha256=GRmqmit98sZ0kWY9Kog21liN5LIuzZgZdYS5abe5DRQ,377
315
+ exercises/66_toolchain_project/Makefile,sha256=qKqV2MzErQmkVId2AQagoWk9PJHyHVK42MWzZgH_5YQ,1582
316
+ exercises/66_toolchain_project/README.md,sha256=ct_akZFM2xyc4lmwJMecm0Mv0eQOMoa0S7VxgQCHqDs,1711
317
+ exercises/66_toolchain_project/exercises.toml,sha256=EEs9-F2b8K9aHdq-XNEz3ru7myBe50txEOrlYLRr3oM,420
318
+ exercises/67_c_tokenizer/Makefile,sha256=xB9rDkuB54VDi_itX345ky85F5eXT0sNV3SRGTkZayc,179
319
+ exercises/67_c_tokenizer/README.md,sha256=2iNMYMA1yy-sR32uZbUQVqB7RJdOVxzhFB7cH_Wjf-A,1569
320
+ exercises/67_c_tokenizer/exercises.toml,sha256=-_yXR44E_ykswa9hU-QvNnbuF78MddaB4nmWpvdrWPk,379
321
+ exercises/67_c_tokenizer/test.c,sha256=Zfy88Gx0691Ifn2fUKRbHo4WEcP7RCIE4pWlvC1Xoeo,156
322
+ exercises/67_c_tokenizer/tokenizer.c,sha256=038pob9OVNRqceq7M9LnmmlGdOhrz_YLap5Q4C7Kbm0,145
323
+ exercises/68_expression_parser/Makefile,sha256=X-lz6zTNV6ZSFhY19KRL5dEmKADPb_TKjvwSMeE93JI,245
324
+ exercises/68_expression_parser/README.md,sha256=-4p8GnU3K5rSpVyzVIUBSy-gz-s4ooyV9Y25djmc4yU,1580
325
+ exercises/68_expression_parser/exercises.toml,sha256=WuE5m7UvuJtLR37ghyF3cKSnzFu6FEIuQ0gUVZc5WW8,388
326
+ exercises/68_expression_parser/expr_parser.c,sha256=h3OwBS5Cys7piA99eqHihLeHnyl3XMpldnID-JOYcU0,151
327
+ exercises/69_ast_builder/Makefile,sha256=t-nGKc6hazLyd1RWjxOwl0iKTCFFbf_IWnglXwaxeCE,191
328
+ exercises/69_ast_builder/README.md,sha256=z1Vup0KEFV_lGn1LIaCpc2c-PerLQ14RDgpUe_I6Qf8,1482
329
+ exercises/69_ast_builder/ast_builder.c,sha256=qknpe81TI0eFN7UOm9aS7P1kfk3wZJhX4KHSSAiH5vk,145
330
+ exercises/69_ast_builder/exercises.toml,sha256=9pfNUQdP2kHmedJ_709D25lrgMGzaMkemn1pwRYTpr4,373
331
+ exercises/69_ast_builder/test.c,sha256=E5rVa-fyxQJEwv_cmddKR0D3r8qcVSfSKvbCC_Jz4F0,125
332
+ exercises/70_stack_vm/Makefile,sha256=VheUq7ZmgxS2qMXvhQi-viyu_EcwtTr_4S94o3VOYok,166
333
+ exercises/70_stack_vm/README.md,sha256=Qsw5zCqfNMhDAW_JKMn4Nfl8l-m_vgAbcI5n3fJX7t8,1421
334
+ exercises/70_stack_vm/exercises.toml,sha256=9u88enoC0lVN3m5r0vCUwhz9ws7w0nazp5cu_qdVz-0,365
335
+ exercises/70_stack_vm/stack_vm.c,sha256=X1y7GknxmdVABgC94TGrXzPlveF9ExWoCuxhhU3AQHg,142
336
+ exercises/71_tree_interpreter/Makefile,sha256=P9_6RN1DmnO2rnwWa-WXj_BMmwwpRRQAOkd-DINCMeE,191
337
+ exercises/71_tree_interpreter/README.md,sha256=Sl9dmyrt1_VAM5fbkNwTz-WpYPJXgZHUpmjo6SayUlA,1562
338
+ exercises/71_tree_interpreter/exercises.toml,sha256=Klrc3TCPSu5exaN0_NptJxlyU00TXJkP2elN_Ep459g,390
339
+ exercises/71_tree_interpreter/interpreter.c,sha256=9-MVfN4V447axv74M0OQ3snTHPryyxTDbW9pFf3ZI_4,150
340
+ exercises/71_tree_interpreter/test.c,sha256=uV14mqq12PZRDbXMhsOZ6UcmRara_Zxp-2ChlWKJPkg,192
341
+ exercises/72_mini_language/Makefile,sha256=vcZmSFs0i3lL8JB2_hFAo5PBPeb6H-EZevI-x9ePGDs,293
342
+ exercises/72_mini_language/README.md,sha256=NhVNJOns_5KUuPnKNAP9NKWAjle2dNUgHWPMr0eEPRY,1896
343
+ exercises/72_mini_language/exercises.toml,sha256=Wx_IggoWz0STh_lrGTyM02O-ejsQW1GrJNdhbg981tE,376
344
+ exercises/72_mini_language/minilang.c,sha256=uZkEKVDMs2tqAnphtL1QjOZO9iNXS11t4P1y5tqgUW0,147
345
+ exercises/lessons/73_return_constant/README.md,sha256=tIviLjSWoF18wce0WP71uf6Iv7rlaS684O2D-e_0kmc,1601
346
+ exercises/lessons/73_return_constant/test_return.c,sha256=ypMNNTNDI6MS2u_0QIiV4NI5xQcIdzq1QDWUw9pHGHQ,44
347
+ exercises/lessons/74_unary_operators/README.md,sha256=Y0tnJe5haroK9oFAlR88HLXFA4NpMIqAH_CWAYrcSCU,911
348
+ exercises/lessons/74_unary_operators/test_unary.c,sha256=vu5daPpcWzXJjX1Fey7RO8cTVKgvq6m3BFmxIaJyYy4,46
349
+ exercises/lessons/75_binary_arithmetic/README.md,sha256=0H2BfNKUjo_qqusZvvK3ghEgImx4m8kyTrqOs78BgQI,1080
350
+ exercises/lessons/75_binary_arithmetic/test_arith.c,sha256=VpMAj_2TdhlBXEam52xw8pa_vY-MUtB7KPSRf-sRSEE,51
351
+ exercises/lessons/76_comparison_logic/README.md,sha256=8H0yKXqolUUCvXO-4PoWTSgfroMRMB6R9yWRa5V-fQM,1091
352
+ exercises/lessons/76_comparison_logic/test_cmp.c,sha256=rxD1c25-QAG2oQD9io2uETgUeRWyX5wFJ1aImrj0EmY,60
353
+ exercises/lessons/77_local_variables/README.md,sha256=7xz6oXGcrywxvdDz6dS8kHpx2bIpuEkia2D39UKSe2A,2974
354
+ exercises/lessons/77_local_variables/test_var.c,sha256=qs9hPXKFqtLV8T9aB4suw1P9iZRfxgSeAhoYky5-tUg,80
355
+ exercises/lessons/78_assignment/README.md,sha256=R7u80LdicnWghvLmR-xvfVS89D-Sz-rWonpUhCugRBI,2422
356
+ exercises/lessons/78_assignment/test_assign.c,sha256=OqaFjlb3iXmfuPbX7_6uM6IgDj9EYLK4Wvbyh52Sh-g,85
357
+ exercises/lessons/79_if_else/README.md,sha256=yLUMvo3YrjhIC-UnbJmWKDvzxKopCfZlZAFsZolnBEY,2144
358
+ exercises/lessons/79_if_else/test_if.c,sha256=IJE8PWd7IzXfcgptd3lLl93OstmmaJLtdoaTX69t59Q,120
359
+ exercises/lessons/80_while_for/README.md,sha256=tRpu5yeMSlRiUFTf_wVo0GBw3MWbuk5PwfYfIhrcs8c,2370
360
+ exercises/lessons/80_while_for/test_for.c,sha256=cx4MoUDGw_Mk_WYdCLfWfGE3qOgEc-27MxNax8k5n04,139
361
+ exercises/lessons/81_do_while_break/README.md,sha256=pXfELL3RGDSyqFxe0Z6t-MrR07uDdtRi-YVxDnuwDmQ,2252
362
+ exercises/lessons/81_do_while_break/test_dowhile.c,sha256=tB3qcTjnzRwVt9R1FBz3l3DuljU6vr7HQmdsVPVISiM,167
363
+ exercises/lessons/82_function_definitions/README.md,sha256=cxG3FV6bQDQPBxQgQXYl_Qs-vQbFY2d--o0T6oqTcz0,2551
364
+ exercises/lessons/82_function_definitions/test_func.c,sha256=zBrgHgNwNXShy1EYVi8FN9UqW-lVJ1I1q2sOexw-mdg,99
365
+ exercises/lessons/83_function_parameters/README.md,sha256=9AhxwBTKpAnYba4VJdyR7pdtqYVMsRZg628BJWxKpt0,2646
366
+ exercises/lessons/83_function_parameters/test_func.c,sha256=zBrgHgNwNXShy1EYVi8FN9UqW-lVJ1I1q2sOexw-mdg,99
367
+ exercises/lessons/84_recursive_programs/README.md,sha256=JUTYyQAs7AraBG3khrIInt4NKSii9VrHbCh7nj-T4eM,2449
368
+ exercises/lessons/84_recursive_programs/test_recurse.c,sha256=7RNfvV6kG16RdECTMMyaF9XdylJpDVySIx9OBn3_K00,129
369
+ exercises/lessons/85_global_variables/README.md,sha256=3uJHPHHJWcFGsjDKmT7aJOu77TDtmCOtgBqC4EhtdFQ,2354
370
+ exercises/lessons/85_global_variables/test_global.c,sha256=fRlUIKjsQOTHrXcLnFUDsayb4I2tgz5jz_dZyqyAQog,95
371
+ exercises/lessons/86_char_strings/README.md,sha256=DeMdPwj_Av6Xljp6N7Rv6zvS2HIwCO9wgOL-bnqzbWY,2350
372
+ exercises/lessons/86_char_strings/test_char.c,sha256=543tPJ2JPxGqhT-bLkuhjLTXJQ_X_8o8zZyfmuvPWf4,85
373
+ exercises/lessons/87_arrays/README.md,sha256=pdgk0AJtJJpf6rS6BCXJXMOr_Awml20IAdAIQZvu260,2588
374
+ exercises/lessons/87_arrays/test_array.c,sha256=VzpgM_litI-JuDWx65dzgn2CWWXyYjK5dPwzq6pwp_Q,133
375
+ exercises/lessons/88_pointers/README.md,sha256=p_R9cU2H4TwDgkuaUwiFDkAIkrA3fPaQROqlpoJK2eQ,2343
376
+ exercises/lessons/88_pointers/test_pointer.c,sha256=5BW4dEhuQa7B6W59ryJOszn1amaxLX50DFBrUU4oMs0,93
377
+ exercises/lessons/89_pointer_arithmetic/README.md,sha256=PorWWtVi82Cx2vWTdBn00q6zd2cQfj89pkLKUqnqdTM,2428
378
+ exercises/lessons/89_pointer_arithmetic/test_ptr_arith.c,sha256=lHdL1KX0_sh9i9X9nMvp5tjMSbHnnzkmdjHrfkh1NgA,410
379
+ exercises/lessons/89_pointer_arithmetic/test_ptr_neg.c,sha256=z2OT9_59xA0hm2Emmu9hlhRCO10mq4Dr7AUSlSoRbAw,483
380
+ exercises/lessons/90_bubble_sort/README.md,sha256=cyGw4UbTLFIIfHU0kQzqW500RxT_AMDYi2eKc9BXekw,2435
381
+ exercises/lessons/90_bubble_sort/test_bubble.c,sha256=V68QdWjvCnCpgthVW0u9j2Ov_MMFtkhurZ-11hh4wIg,420
382
+ exercises/lessons/91_struct_support/README.md,sha256=Do1tCI6QlVVmWx4rBW8oIPPbuzrbUNhwtQqyA6ivDYY,2448
383
+ exercises/lessons/91_struct_support/test_struct.c,sha256=9HN9IrcMfyL3uD9HHfgLyw8Okt0BzFiod3I_-INyIPM,314
384
+ exercises/lessons/92_preprocessor/README.md,sha256=zZNEssjiA9E3NT-9J4bEYGRuhseR8ngNszTjpvCnpk0,2409
385
+ exercises/lessons/92_preprocessor/test_define.c,sha256=MqyBk0icIu9PyUDgvqoclcLdi2y6vUkKk3Ly1aKo20I,107
386
+ exercises/lessons/93_stdlib_stubs/README.md,sha256=aXrcQZgnAjqET1-b0PATFyHwCQJeXjrr49MuEVDKUeo,3258
387
+ exercises/lessons/94_arm_backend/README.md,sha256=LPV2qMLoBNLGDY7lziYbZdWCqzA386kVxT3vvXNugGU,3575
388
+ exercises/lessons/95_cross_compilation/README.md,sha256=sJu2LgfirFp4iq7D_pLZHXzFbH_xJ0XuesMQ4wbOlDQ,3467
389
+ exercises/lessons/96_josephus_ring_final/README.md,sha256=sO2Nji4c0C0vQ5OI-1pZ77BNq2MZpbMefRhOd8uZpno,3872
390
+ exercises/lessons/96_josephus_ring_final/test_josephus.c,sha256=oZonADLQnGNKnj-qqzQWAC1tALpwtKEVdoyHzTrLGmg,578
391
+ exercises/nccl-cc/Makefile,sha256=joSyGp7tkGc9FrGyPRm6J71-Ko7r0bgVCtT5F5rtQw0,1871
392
+ exercises/nccl-cc/README.md,sha256=rLvqg9xxDiEThYHDRAvq_VWMTw2VEtG9sOQK2zk6owo,10133
393
+ exercises/nccl-cc/bare_rv.ld,sha256=rbo__aIgtS0lS7Wx7WlEb3rGEuE96LyDcptNBtS4FZk,1023
394
+ exercises/nccl-cc/codegen_a64.c,sha256=XbCbL7c17ek0j21Ug92KExitJXr7Iskg4mBduyM3n8I,19229
395
+ exercises/nccl-cc/codegen_arm.c,sha256=K0WmzXGesv3wGUn3hDOWgzXq8jJdQ8Q0IYVUG5EprR8,18073
396
+ exercises/nccl-cc/codegen_rv.c,sha256=s50w1QqML1YuTlTrfGzAmmv4aotoJsht9cQ55YL-Vmg,16670
397
+ exercises/nccl-cc/codegen_x86.c,sha256=2lAmOdFO_DL9aMmnI79scVkEMy9w0iU6W64Og3Du1nU,20002
398
+ exercises/nccl-cc/debug.c,sha256=0OhTVJEqeb_dkZf7ap2esCV7BPVaVhV-dpN-jQsixs4,4804
399
+ exercises/nccl-cc/exercises.toml,sha256=WfQym5tSWgdDUfYced4gMgstPsJfRgAJy6MJoJ9C8O8,9828
400
+ exercises/nccl-cc/main.c,sha256=42InQE6cAvexoBM5Ey5KjFwnkslzZ_PlvSizEg1KJyA,190
401
+ exercises/nccl-cc/nccl_cc.h,sha256=hF-ZRYVuVA1IUCnfwgn6Qppu02Brv6h6wvgY6Oi4dL0,6625
402
+ exercises/nccl-cc/parse.c,sha256=5iRM3CDm-DRuv9X0v1agKLWc7fyIbj8X76oyZbeUkfM,38212
403
+ exercises/nccl-cc/preprocess.c,sha256=aYI_dz9dbC_-D-GP3cjMf7hlcr4jDomFQVauRuBY5n8,10228
404
+ exercises/nccl-cc/runtime_a64.s,sha256=hx0W57yl89diyyCDQ4c7apmzjTfXu_Yv3dzdfQ21rEc,3650
405
+ exercises/nccl-cc/runtime_arm.s,sha256=a-dIVVvSC3-w3UKnMvyxx54bKCUizUQCLw7m8QnSjwc,2944
406
+ exercises/nccl-cc/runtime_rv.s,sha256=4G463grqP8CCzD7ZCz6JSWptEAfHWsyOAULPsg14Tzg,1093
407
+ exercises/nccl-cc/runtime_rv_bare.s,sha256=-rGo4sdWUvXeMBV26R4dqVkwvzxPTBCSa6zXJ2-1LEs,2211
408
+ exercises/nccl-cc/runtime_rv_io.s,sha256=FARAYi45aFBptzz1VomxJYuMDnic3nLqBtoYkNqbG0g,2901
409
+ exercises/nccl-cc/runtime_x86.s,sha256=SlCyGVqQ89cAlTZ_9_R3ccVJROPCgonQ5njZIyHha7g,3948
410
+ exercises/nccl-cc/tokenize.c,sha256=BDTjEtwLEl1SWBMIqZXiAHm7Q47r0aspbg6htCX0ZuQ,8306
411
+ exercises/nccl-cc/type.c,sha256=Oj3plHvPpHjLPmCjWEeqhNCMVpf2Y_FmAmagcXkYOQw,8729
412
+ exercises/nccl-cc/fuzz/gen_prog.c,sha256=MBI3yC__Rakj3IF6KQVel7pejFaeZHAnyDuaiwd3rE4,12385
413
+ exercises/nccl-cc/fuzz/run_fuzz.sh,sha256=KX46oQ_gRcoWJBO4TLGocgi2e4cIpvSlb34hSHq7yHE,3419
414
+ exercises/nccl-cc/test/backends.sh,sha256=I-E7eQflZ1PM1HBPCt-6FXTax0skQLEyrCrHGLsSlPc,2683
415
+ exercises/nccl-cc/test/run_tests.sh,sha256=qrCxSLzbpKKeh0C2_xXb0rEaSAoXbadp-2U2bEiGZNc,3207
416
+ exercises/nccl-cc/test/test_arith.c,sha256=VpMAj_2TdhlBXEam52xw8pa_vY-MUtB7KPSRf-sRSEE,51
417
+ exercises/nccl-cc/test/test_array.c,sha256=VzpgM_litI-JuDWx65dzgn2CWWXyYjK5dPwzq6pwp_Q,133
418
+ exercises/nccl-cc/test/test_assign.c,sha256=OqaFjlb3iXmfuPbX7_6uM6IgDj9EYLK4Wvbyh52Sh-g,85
419
+ exercises/nccl-cc/test/test_bigframe.c,sha256=GhOmK_UUUMj3zImUox9jHpmfox6HONs93bJMQH4ulKA,791
420
+ exercises/nccl-cc/test/test_bitwise.c,sha256=NFZ9nomwuzX0OhUp6TAyABvGuWlkD5UJgDykNDul2GU,919
421
+ exercises/nccl-cc/test/test_bubble.c,sha256=V68QdWjvCnCpgthVW0u9j2Ov_MMFtkhurZ-11hh4wIg,420
422
+ exercises/nccl-cc/test/test_cast.c,sha256=7yrdPP7ce9F_rMP0a_l-c2pyMTm7SjySdFcHR_8IlKI,264
423
+ exercises/nccl-cc/test/test_char.c,sha256=543tPJ2JPxGqhT-bLkuhjLTXJQ_X_8o8zZyfmuvPWf4,85
424
+ exercises/nccl-cc/test/test_char_ptr.c,sha256=_ZEqx35L2LKrRRx0D-TZmAFXj-5GVCRCRz7mETzC1Xw,237
425
+ exercises/nccl-cc/test/test_cmp.c,sha256=rxD1c25-QAG2oQD9io2uETgUeRWyX5wFJ1aImrj0EmY,60
426
+ exercises/nccl-cc/test/test_define.c,sha256=MqyBk0icIu9PyUDgvqoclcLdi2y6vUkKk3Ly1aKo20I,107
427
+ exercises/nccl-cc/test/test_dowhile.c,sha256=tB3qcTjnzRwVt9R1FBz3l3DuljU6vr7HQmdsVPVISiM,167
428
+ exercises/nccl-cc/test/test_enum.c,sha256=vnR5tYGV2br2GqXh1iSUnyEy_zCDF7XESbM2sH_p7zQ,467
429
+ exercises/nccl-cc/test/test_fib.c,sha256=66ec_NJiTwqO683zicYMaIuziKt-a2oEKjz1kGE2DIc,135
430
+ exercises/nccl-cc/test/test_for.c,sha256=cx4MoUDGw_Mk_WYdCLfWfGE3qOgEc-27MxNax8k5n04,139
431
+ exercises/nccl-cc/test/test_func.c,sha256=zBrgHgNwNXShy1EYVi8FN9UqW-lVJ1I1q2sOexw-mdg,99
432
+ exercises/nccl-cc/test/test_global.c,sha256=fRlUIKjsQOTHrXcLnFUDsayb4I2tgz5jz_dZyqyAQog,95
433
+ exercises/nccl-cc/test/test_if.c,sha256=IJE8PWd7IzXfcgptd3lLl93OstmmaJLtdoaTX69t59Q,120
434
+ exercises/nccl-cc/test/test_incdec.c,sha256=JTXViQI9zAFbUNQjsA2BvBw7NvmpPjR6ubMIQoRI6Es,475
435
+ exercises/nccl-cc/test/test_init.c,sha256=MAjMrawm3zu31izvEGHj8cE_QVcbxFLn-00KN2EuNWg,568
436
+ exercises/nccl-cc/test/test_josephus.c,sha256=oZonADLQnGNKnj-qqzQWAC1tALpwtKEVdoyHzTrLGmg,578
437
+ exercises/nccl-cc/test/test_loop.c,sha256=Vcn8cQjFKsH3tHXSd6xfw0N93x5ICUfA2cexnxQISls,151
438
+ exercises/nccl-cc/test/test_lvalue_once.c,sha256=iw-ccI0Zxfq41mg-ApLaxMK4FhirtGYqAvHepD9O-GA,757
439
+ exercises/nccl-cc/test/test_pointer.c,sha256=5BW4dEhuQa7B6W59ryJOszn1amaxLX50DFBrUU4oMs0,93
440
+ exercises/nccl-cc/test/test_ptr_arith.c,sha256=lHdL1KX0_sh9i9X9nMvp5tjMSbHnnzkmdjHrfkh1NgA,410
441
+ exercises/nccl-cc/test/test_ptr_neg.c,sha256=z2OT9_59xA0hm2Emmu9hlhRCO10mq4Dr7AUSlSoRbAw,483
442
+ exercises/nccl-cc/test/test_ptrptr.c,sha256=dBSkI5LlRFClcQr8PReW0aiNyHtHH6gLJAD90PNaQdE,255
443
+ exercises/nccl-cc/test/test_recurse.c,sha256=7RNfvV6kG16RdECTMMyaF9XdylJpDVySIx9OBn3_K00,129
444
+ exercises/nccl-cc/test/test_return.c,sha256=ypMNNTNDI6MS2u_0QIiV4NI5xQcIdzq1QDWUw9pHGHQ,44
445
+ exercises/nccl-cc/test/test_sizeof.c,sha256=yrKWhhiham781xymwKaMTfSpmJPWHgWKzMYYWk_nJY0,579
446
+ exercises/nccl-cc/test/test_string.c,sha256=ab5sPVIKWulZBIaGfapOwd0DWEW6iKMcl6JU8n49TzU,345
447
+ exercises/nccl-cc/test/test_struct.c,sha256=9HN9IrcMfyL3uD9HHfgLyw8Okt0BzFiod3I_-INyIPM,314
448
+ exercises/nccl-cc/test/test_switch.c,sha256=4f-x_nnR8loB-fPAftErlV_sWviIWFQpPRtt0yUnMx4,478
449
+ exercises/nccl-cc/test/test_ternary.c,sha256=5pSemQgZGB493rGO9iQFo-muCoNZTJiFEqgRXQKcFkI,349
450
+ exercises/nccl-cc/test/test_unary.c,sha256=vu5daPpcWzXJjX1Fey7RO8cTVKgvq6m3BFmxIaJyYy4,46
451
+ exercises/nccl-cc/test/test_var.c,sha256=qs9hPXKFqtLV8T9aB4suw1P9iZRfxgSeAhoYky5-tUg,80
452
+ exercises/nccl-cc/test/invalid/bad_token.c,sha256=vGmlgyJcKJOYJFCYPVCUf3769hjp5iaf8Fvz_pojON4,110
453
+ exercises/nccl-cc/test/invalid/missing_paren.c,sha256=b7tkufgGXN_NOSUX74RSBSL2sXRZgqZH3WEUzTV8GZA,228
454
+ exercises/nccl-cc/test/invalid/missing_semicolon.c,sha256=I4p90SBLpp6j05PK5KALN4L45mlTVnIossIbCghq1qs,144
455
+ exercises/nccl-cc/test/invalid/unclosed_brace.c,sha256=YL9l-mBw9pHD9fLtkfx8bcfBS3qlXu_YRcHoEEUihTE,169
456
+ clings-3.0.0.dist-info/METADATA,sha256=f0_7bmI3-OwnTVSRVMxnUrmdzRx2fmC-a18wc_WtN6w,3731
457
+ clings-3.0.0.dist-info/WHEEL,sha256=mffPy8wBnZQn2VnJUU5jE99KsxaSfiyMHV9Yt0aLVxs,87
458
+ clings-3.0.0.dist-info/entry_points.txt,sha256=JV-Z-aTfwwvBxrrouAXAb4FNC_Ncvl1kSR5jQW_zHhw,39
459
+ clings-3.0.0.dist-info/RECORD,,
@@ -0,0 +1,4 @@
1
+ Wheel-Version: 1.0
2
+ Generator: hatchling 1.30.1
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ clings = clings:main