{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":749976710,"defaultBranch":"main","name":"holyc-lang","ownerLogin":"Jamesbarford","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2024-01-29T18:54:27.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/29375815?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1726334227.0","currentOid":""},"activityList":{"items":[{"before":"8d334d4b86ff14ffa437b4c8a4521725c9932b78","after":null,"ref":"refs/heads/fix/do-while-cfg","pushedAt":"2024-09-14T17:17:07.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"Jamesbarford","name":"James","path":"/Jamesbarford","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/29375815?s=80&v=4"}},{"before":"5205a86ceedae4bf4d85f8d7ac8b2499c4df639f","after":"90156ea6c713e770da7418aac2133f4cdbaf65bf","ref":"refs/heads/main","pushedAt":"2024-09-14T17:17:04.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"Jamesbarford","name":"James","path":"/Jamesbarford","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/29375815?s=80&v=4"},"commit":{"message":"fix: do-while cfg (#60)","shortMessageHtmlLink":"fix: do-while cfg (#60)"}},{"before":null,"after":"8d334d4b86ff14ffa437b4c8a4521725c9932b78","ref":"refs/heads/fix/do-while-cfg","pushedAt":"2024-09-14T17:16:06.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"Jamesbarford","name":"James","path":"/Jamesbarford","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/29375815?s=80&v=4"},"commit":{"message":"fix: do-while cfg","shortMessageHtmlLink":"fix: do-while cfg"}},{"before":null,"after":"aff7d8e218a5da63deaeaa123874844b1ab5ce15","ref":"refs/heads/fix/compiler-warnings","pushedAt":"2024-09-04T07:38:26.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"Jamesbarford","name":"James","path":"/Jamesbarford","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/29375815?s=80&v=4"},"commit":{"message":"fixes for -Wpedantic -Wextra","shortMessageHtmlLink":"fixes for -Wpedantic -Wextra"}},{"before":"b7c7de2bbbe802b590b4abb0b15bf591902dc3f6","after":"5205a86ceedae4bf4d85f8d7ac8b2499c4df639f","ref":"refs/heads/main","pushedAt":"2024-09-03T20:35:59.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"Jamesbarford","name":"James","path":"/Jamesbarford","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/29375815?s=80&v=4"},"commit":{"message":"Fixes: link lm & remove intermediary assembly files (#59)\n\n* fix - ensure intermediary assembly files are deleted\r\n\r\n* fix - link in math library","shortMessageHtmlLink":"Fixes: link lm & remove intermediary assembly files (#59)"}},{"before":null,"after":"fbacf591db6b9179552a49ec2d96d7503c09b302","ref":"refs/heads/fix/link-lm","pushedAt":"2024-09-03T20:34:47.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"Jamesbarford","name":"James","path":"/Jamesbarford","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/29375815?s=80&v=4"},"commit":{"message":"fix - link in math library","shortMessageHtmlLink":"fix - link in math library"}},{"before":"c2b49df437246c00c68350a5b51e0b926a2d55fb","after":null,"ref":"refs/heads/cmake/build","pushedAt":"2024-08-31T15:30:06.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"Jamesbarford","name":"James","path":"/Jamesbarford","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/29375815?s=80&v=4"}},{"before":"6acc495359e8af8aa3033d966c3b21dc9221026c","after":"b7c7de2bbbe802b590b4abb0b15bf591902dc3f6","ref":"refs/heads/main","pushedAt":"2024-08-31T15:30:03.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"Jamesbarford","name":"James","path":"/Jamesbarford","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/29375815?s=80&v=4"},"commit":{"message":"(build) Use cmake to build the project (#58)","shortMessageHtmlLink":"(build) Use cmake to build the project (#58)"}},{"before":null,"after":"c2b49df437246c00c68350a5b51e0b926a2d55fb","ref":"refs/heads/cmake/build","pushedAt":"2024-08-31T15:28:27.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"Jamesbarford","name":"James","path":"/Jamesbarford","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/29375815?s=80&v=4"},"commit":{"message":"use cmake to build the project","shortMessageHtmlLink":"use cmake to build the project"}},{"before":"baf146f1af9fde5cc346e9c4491325fc262801d6","after":null,"ref":"refs/heads/fixes/cfg","pushedAt":"2024-08-31T09:10:20.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"Jamesbarford","name":"James","path":"/Jamesbarford","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/29375815?s=80&v=4"}},{"before":"13d4eca36b06903755882b44fc6bb3b8776be084","after":"6acc495359e8af8aa3033d966c3b21dc9221026c","ref":"refs/heads/main","pushedAt":"2024-08-31T09:10:16.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"Jamesbarford","name":"James","path":"/Jamesbarford","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/29375815?s=80&v=4"},"commit":{"message":"Fixes - cfg (#57)\n\n* fixing gathering loop nodes\r\n\r\n* simplified the cfg walker, sketched out a possible route to getting IR\r\n\r\n* fixes for char and pushing to the ast_array","shortMessageHtmlLink":"Fixes - cfg (#57)"}},{"before":"8e0a568656757d09c0d96717d19f76d18e789ca5","after":"baf146f1af9fde5cc346e9c4491325fc262801d6","ref":"refs/heads/fixes/cfg","pushedAt":"2024-08-31T09:07:39.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Jamesbarford","name":"James","path":"/Jamesbarford","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/29375815?s=80&v=4"},"commit":{"message":"fixes for char and pushing to the ast_array","shortMessageHtmlLink":"fixes for char and pushing to the ast_array"}},{"before":"2fbd972455a31a7b3f4d5a5138ae0da05e1713e1","after":"8e0a568656757d09c0d96717d19f76d18e789ca5","ref":"refs/heads/fixes/cfg","pushedAt":"2024-08-28T20:22:21.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Jamesbarford","name":"James","path":"/Jamesbarford","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/29375815?s=80&v=4"},"commit":{"message":"simplified the cfg walker, sketched out a possible route to getting IR","shortMessageHtmlLink":"simplified the cfg walker, sketched out a possible route to getting IR"}},{"before":null,"after":"2fbd972455a31a7b3f4d5a5138ae0da05e1713e1","ref":"refs/heads/fixes/cfg","pushedAt":"2024-08-28T04:53:49.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"Jamesbarford","name":"James","path":"/Jamesbarford","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/29375815?s=80&v=4"},"commit":{"message":"fixing gathering loop nodes","shortMessageHtmlLink":"fixing gathering loop nodes"}},{"before":"4750a94689c8721ed47fa50192a1afa3c5b07f5d","after":null,"ref":"refs/heads/explore/cfg","pushedAt":"2024-08-26T13:48:27.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"Jamesbarford","name":"James","path":"/Jamesbarford","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/29375815?s=80&v=4"}},{"before":"f5f2c25b34d645f05e32aa66dcf50537888d6cda","after":"13d4eca36b06903755882b44fc6bb3b8776be084","ref":"refs/heads/main","pushedAt":"2024-08-26T13:48:20.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"Jamesbarford","name":"James","path":"/Jamesbarford","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/29375815?s=80&v=4"},"commit":{"message":"Control Flow Graph (#56)\n\n* commenced making a control flow graph\r\n\r\n* added note about where the else block should go\r\n\r\n* use memory pool for basic blocks, progress on linking blocks together; conditional flows are not working properly\r\n\r\n* fixed cfg, can output a .dot file (all be it to stdout)\r\n\r\n* add a line underneath the basic block\r\n\r\n* remove redundant ternary operation\r\n\r\n* commenced work on loops in cfg\r\n\r\n* removed cfgFix as the tree is correct in one pass\r\n\r\n* can escape lexemes, cfg can create a loop output in graphviz\r\n\r\n* can handle loops a bit better, and a loop with an if condition inside\r\n\r\n* Can fairly convincingly handle for loops and nested forloops\r\n\r\n* broke out the pretty printing of the graph to separate files\r\n\r\n* loops with breaks and ifs print nicely\r\n\r\n* while loop done\r\n\r\n* code for do-while, not yet working\r\n\r\n* can handle do while and print\r\n\r\n* fix up do while loop when priting the AST\r\n\r\n* attacked gotos\r\n\r\n* fix escape sequence\r\n\r\n* attempting to build a correct graph for branches\r\n\r\n* can fix the cfg for conditionals\r\n\r\n* can print nested loops and correct previous blocks\r\n\r\n* added color coding\r\n\r\n* termination of the loop while dumping a CFG is a bit weird but the graph is getting constructed\r\n\r\n* seem to be able to generate almost all CFGs\r\n\r\n* new idea for printing the cfg, also fixed a bug thanks to the new hashtable\r\n\r\n* trying to find all nodes within one loop\r\n\r\n* fixed bug with map reordering nodes\r\n\r\n* more robust printing of loops and fixing of the graph\r\n\r\n* fix up printing\r\n\r\n* refactor, all loops can be outputted to a graphviz. Goto's are next\r\n\r\n* can do a niche subset of gotos\r\n\r\n* Start handling gotos out of loops\r\n\r\n* Move where the debug statement was for better debugging\r\n\r\n* Relocate some crazy gotos\r\n\r\n* rename variable for clarity\r\n\r\n* gotos are looking good\r\n\r\n* another edge case handled\r\n\r\n* more goto repositioning\r\n\r\n* handle the instance where a goto loops back and an unconditional jump\r\n\r\n* add the flag\r\n\r\n* factor out AstArray for generic PrtVec\r\n\r\n* remove const qualifier\r\n\r\n* remove the 2\r\n\r\n* small refactor\r\n\r\n* remove debug\r\n\r\n* made a crack at switch statement\r\n\r\n* Create switch as a jump table, drastically changed the ast to make this easier\r\n\r\n* removed control flow graph generation, there is a huge feature with no bounds switch that I would like to get in\r\n\r\n* made headway at creating a control flow graph from a switch\r\n\r\n* hack for debugging a case\r\n\r\n* emitting an image but the return being linked to a record is not working...\r\n\r\n* corrected header\r\n\r\n* can handle a switch better\r\n\r\n* put back annoying check\r\n\r\n* getting continue to work (not yet working)\r\n\r\n* handle multiple functions and fixes for functions with no return statements segfaulting the cfg creation\r\n\r\n* creating a cfg is now far less complicated, gotos again are wrong, switch is a bit wrong and memory allocations are completely awry - other than that it works well\r\n\r\n* can more reasonably handle multiple nested ifs\r\n\r\n* better printing of case\r\n\r\n* using SelectOrCreate on more nodes, trying to fix switch statements\r\n\r\n* fix printing of return nodes\r\n\r\n* relink the switch's children as well to prevent orphan nodes\r\n\r\n* silence printf warning\r\n\r\n* add an assert to extending buffer and change argument type\r\n\r\n* ast - change how chars are printed and clone sentinal loop nodes so they can be mutated\r\n\r\n* map - fix memset from overwritting memory, use calloc for indexes and cast when allocating\r\n\r\n* prslib - chars are not uints\r\n\r\n* main - properly terminate strings, causing havoc with -fsanitize=address\r\n\r\n* big changes to printing the cfg, simpler and more correct (not yet 100% there but close)\r\n\r\n* cfg - can print JSON, correcting nodes is more accurate. Only minor cases not handled\r\n\r\n* reorganise flags for a block that has been relinked and account for the fact a loop end can end many loops\r\n\r\n* fix string escaping in ast and tweaks for accomodating for gotos both cfg construction and printing\r\n\r\n* add -fsanitize=address to catch memory issues\r\n\r\n* issue with continue desolving - NOT FIXED\r\n\r\n* trying to get continue working\r\n\r\n* fixes for continue, upgraded datastructures\r\n\r\n* fully functional CFG for non-goto corrupted flows\r\n\r\n* clean up for CFG\r\n\r\n* update readme\r\n\r\n* update readme\r\n\r\n---------","shortMessageHtmlLink":"Control Flow Graph (#56)"}},{"before":"6341e5c126a9ea26f904c19a85f75e198b04e712","after":"4750a94689c8721ed47fa50192a1afa3c5b07f5d","ref":"refs/heads/explore/cfg","pushedAt":"2024-08-26T13:47:10.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Jamesbarford","name":"James","path":"/Jamesbarford","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/29375815?s=80&v=4"},"commit":{"message":"update readme","shortMessageHtmlLink":"update readme"}},{"before":"f507284538eed9f09a0ba8b54d80c961aec70685","after":"6341e5c126a9ea26f904c19a85f75e198b04e712","ref":"refs/heads/explore/cfg","pushedAt":"2024-08-26T13:43:55.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Jamesbarford","name":"James","path":"/Jamesbarford","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/29375815?s=80&v=4"},"commit":{"message":"update readme","shortMessageHtmlLink":"update readme"}},{"before":"8421b539bdfc8148d6f5f37f5b112c5ab10c0883","after":"f507284538eed9f09a0ba8b54d80c961aec70685","ref":"refs/heads/explore/cfg","pushedAt":"2024-08-26T13:40:35.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Jamesbarford","name":"James","path":"/Jamesbarford","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/29375815?s=80&v=4"},"commit":{"message":"clean up for CFG","shortMessageHtmlLink":"clean up for CFG"}},{"before":"4b90ccd8a58fbe19a59063ba512a2919b015967e","after":"8421b539bdfc8148d6f5f37f5b112c5ab10c0883","ref":"refs/heads/explore/cfg","pushedAt":"2024-08-25T19:39:56.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Jamesbarford","name":"James","path":"/Jamesbarford","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/29375815?s=80&v=4"},"commit":{"message":"fully functional CFG for non-goto corrupted flows","shortMessageHtmlLink":"fully functional CFG for non-goto corrupted flows"}},{"before":"52593f98f0f27826ecf4cd025fab8ac6c032871d","after":"4b90ccd8a58fbe19a59063ba512a2919b015967e","ref":"refs/heads/explore/cfg","pushedAt":"2024-08-24T20:28:54.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Jamesbarford","name":"James","path":"/Jamesbarford","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/29375815?s=80&v=4"},"commit":{"message":"fixes for continue, upgraded datastructures","shortMessageHtmlLink":"fixes for continue, upgraded datastructures"}},{"before":"4c3eade66351795cabcfc0200fa3b0e637c5646f","after":"52593f98f0f27826ecf4cd025fab8ac6c032871d","ref":"refs/heads/explore/cfg","pushedAt":"2024-08-21T18:17:37.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Jamesbarford","name":"James","path":"/Jamesbarford","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/29375815?s=80&v=4"},"commit":{"message":"trying to get continue working","shortMessageHtmlLink":"trying to get continue working"}},{"before":"6061dcf448f9f747835df477109ce32bfeaebb85","after":"4c3eade66351795cabcfc0200fa3b0e637c5646f","ref":"refs/heads/explore/cfg","pushedAt":"2024-08-10T05:41:32.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Jamesbarford","name":"James","path":"/Jamesbarford","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/29375815?s=80&v=4"},"commit":{"message":"issue with continue desolving - NOT FIXED","shortMessageHtmlLink":"issue with continue desolving - NOT FIXED"}},{"before":"79c8f395644b804128f8a29959a9e3c96ede8059","after":"6061dcf448f9f747835df477109ce32bfeaebb85","ref":"refs/heads/explore/cfg","pushedAt":"2024-08-06T20:28:33.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"Jamesbarford","name":"James","path":"/Jamesbarford","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/29375815?s=80&v=4"},"commit":{"message":"add -fsanitize=address to catch memory issues","shortMessageHtmlLink":"add -fsanitize=address to catch memory issues"}},{"before":"a952ae95f6a5736a8cdef30a82f1ad4086d1ec61","after":"79c8f395644b804128f8a29959a9e3c96ede8059","ref":"refs/heads/explore/cfg","pushedAt":"2024-08-05T20:21:52.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Jamesbarford","name":"James","path":"/Jamesbarford","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/29375815?s=80&v=4"},"commit":{"message":"reorganise flags for a block that has been relinked and account for the fact a loop end can end many loops","shortMessageHtmlLink":"reorganise flags for a block that has been relinked and account for t…"}},{"before":"a606288e261cbb0a93830c2f89539abfda2e740b","after":"a952ae95f6a5736a8cdef30a82f1ad4086d1ec61","ref":"refs/heads/explore/cfg","pushedAt":"2024-08-04T20:31:48.000Z","pushType":"push","commitsCount":7,"pusher":{"login":"Jamesbarford","name":"James","path":"/Jamesbarford","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/29375815?s=80&v=4"},"commit":{"message":"cfg - can print JSON, correcting nodes is more accurate. Only minor cases not handled","shortMessageHtmlLink":"cfg - can print JSON, correcting nodes is more accurate. Only minor c…"}},{"before":"a8706ce198d165cb39b64137e8e91aea14ffd25b","after":"a606288e261cbb0a93830c2f89539abfda2e740b","ref":"refs/heads/explore/cfg","pushedAt":"2024-07-26T15:46:11.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"Jamesbarford","name":"James","path":"/Jamesbarford","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/29375815?s=80&v=4"},"commit":{"message":"Merge branch 'main' into explore/cfg","shortMessageHtmlLink":"Merge branch 'main' into explore/cfg"}},{"before":"066a9071d57d226c07b219c4ae8527c0a72d2486","after":null,"ref":"refs/heads/fix/io-flags-linux","pushedAt":"2024-07-26T15:43:17.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"Jamesbarford","name":"James","path":"/Jamesbarford","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/29375815?s=80&v=4"}},{"before":"a12e888af205332b7f10be6a37e14e96876ba0b9","after":"f5f2c25b34d645f05e32aa66dcf50537888d6cda","ref":"refs/heads/main","pushedAt":"2024-07-26T15:43:14.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"Jamesbarford","name":"James","path":"/Jamesbarford","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/29375815?s=80&v=4"},"commit":{"message":"fix - basic io on linux and tests (#55)\n\n* fix for basic io on linux and tests\r\n\r\n* remove print statement and strerror function with errno","shortMessageHtmlLink":"fix - basic io on linux and tests (#55)"}},{"before":"31a08702e81539de15959970fbd783682f83409e","after":"066a9071d57d226c07b219c4ae8527c0a72d2486","ref":"refs/heads/fix/io-flags-linux","pushedAt":"2024-07-26T15:42:45.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Jamesbarford","name":"James","path":"/Jamesbarford","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/29375815?s=80&v=4"},"commit":{"message":"remove print statement and strerror function with errno","shortMessageHtmlLink":"remove print statement and strerror function with errno"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0xNFQxNzoxNzowNy4wMDAwMDBazwAAAAS2UwV5","startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0xNFQxNzoxNzowNy4wMDAwMDBazwAAAAS2UwV5","endCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wNy0yNlQxNTo0Mjo0NS4wMDAwMDBazwAAAASKL6HI"}},"title":"Activity · Jamesbarford/holyc-lang"}