{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":640507225,"defaultBranch":"main","name":"spherehorn","ownerLogin":"CCrady","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2023-05-14T10:22:56.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/16215658?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1684062580.787883","currentOid":""},"activityList":{"items":[{"before":"00df901e4ac6bc9b7bb9ccd896f2093d6fb63f7c","after":"6097221ec175928df1d8ba25272bc165342b2ed2","ref":"refs/heads/main","pushedAt":"2023-07-05T06:42:39.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"CCrady","name":null,"path":"/CCrady","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16215658?s=80&v=4"},"commit":{"message":"Create LICENSE.txt","shortMessageHtmlLink":"Create LICENSE.txt"}},{"before":"3b0dd09361fad77fa8b453c2e0f71662400d5cf1","after":"00df901e4ac6bc9b7bb9ccd896f2093d6fb63f7c","ref":"refs/heads/main","pushedAt":"2023-07-04T07:21:30.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"CCrady","name":null,"path":"/CCrady","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16215658?s=80&v=4"},"commit":{"message":"Create build.sh\n\nCreate build.sh, a shell script to compile the program without make. Update\nREADME.md with information on how to use it.","shortMessageHtmlLink":"Create build.sh"}},{"before":"c8023f5c81bee2866805f233f4968ba4edf31d22","after":"3b0dd09361fad77fa8b453c2e0f71662400d5cf1","ref":"refs/heads/main","pushedAt":"2023-07-04T02:13:55.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"CCrady","name":null,"path":"/CCrady","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16215658?s=80&v=4"},"commit":{"message":"Update guide.md\n\nUpdate the guide to reflect the changes to the parser (string concatenation,\narbitrary literal for initial memory).","shortMessageHtmlLink":"Update guide.md"}},{"before":"3b4a4e869eb6baae3dc31a78a8eb71ec7c0f58fe","after":"c8023f5c81bee2866805f233f4968ba4edf31d22","ref":"refs/heads/main","pushedAt":"2023-07-01T07:18:58.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"CCrady","name":null,"path":"/CCrady","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16215658?s=80&v=4"},"commit":{"message":"Create brainfuck interpreter","shortMessageHtmlLink":"Create brainfuck interpreter"}},{"before":"3979e6e53f1ef303d03f2f072025e1d2e78ed6bf","after":"3b4a4e869eb6baae3dc31a78a8eb71ec7c0f58fe","ref":"refs/heads/main","pushedAt":"2023-06-29T10:30:11.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"CCrady","name":null,"path":"/CCrady","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16215658?s=80&v=4"},"commit":{"message":"Fiddle with inlining and compiler flags\n\nMess around with optimization levels and inlining Program's helper methods.\nWonder confusedly why the compiler is complaining about not inlining default\ndestructors. Ultimately give up and decide that -Winline is more trouble than\nit's worth.","shortMessageHtmlLink":"Fiddle with inlining and compiler flags"}},{"before":"eb200207efeb4482077429a1fd649d00091eb866","after":"3979e6e53f1ef303d03f2f072025e1d2e78ed6bf","ref":"refs/heads/main","pushedAt":"2023-06-29T04:54:32.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"CCrady","name":null,"path":"/CCrady","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16215658?s=80&v=4"},"commit":{"message":"Update README.md\n\nUpdate README.md to reflect the new layout of the makefile","shortMessageHtmlLink":"Update README.md"}},{"before":"3e664e18ebb40922003d2a5d05c7b689b03d62b8","after":"eb200207efeb4482077429a1fd649d00091eb866","ref":"refs/heads/main","pushedAt":"2023-06-29T04:02:23.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"CCrady","name":null,"path":"/CCrady","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16215658?s=80&v=4"},"commit":{"message":"Fix sign conversion compiler warnings\n\nMake casts from char to num explicit.","shortMessageHtmlLink":"Fix sign conversion compiler warnings"}},{"before":"89d2e84e52c3455df95c280d6798351375e7ff31","after":"3e664e18ebb40922003d2a5d05c7b689b03d62b8","ref":"refs/heads/main","pushedAt":"2023-06-29T03:44:34.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"CCrady","name":null,"path":"/CCrady","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16215658?s=80&v=4"},"commit":{"message":"Fix memory leaks\n\nFix memory leaks in Argument and the parser.","shortMessageHtmlLink":"Fix memory leaks"}},{"before":"1473ae938f540bbac7435f1a61bbdaab4ab7115a","after":"89d2e84e52c3455df95c280d6798351375e7ff31","ref":"refs/heads/main","pushedAt":"2023-06-29T01:57:50.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"CCrady","name":null,"path":"/CCrady","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16215658?s=80&v=4"},"commit":{"message":"Reorganize directory structure\n\nReorganize the directory structure of the project, moving program source files\ninto the src/ directory and object files into the test_objs/ and build_objs/\ndirectories. Also improve compiler warnings and checks.","shortMessageHtmlLink":"Reorganize directory structure"}},{"before":"836026f810c262f5300d949c311990f415ae7c82","after":"1473ae938f540bbac7435f1a61bbdaab4ab7115a","ref":"refs/heads/main","pushedAt":"2023-06-28T23:11:59.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"CCrady","name":null,"path":"/CCrady","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16215658?s=80&v=4"},"commit":{"message":"Improve literal parsing\n\nImprove error checking for invalid integer, character, and string literals,\nand add a hex escape sequence \\xHH.","shortMessageHtmlLink":"Improve literal parsing"}},{"before":"760a1de5421386df274e644c81e8be7905265634","after":"836026f810c262f5300d949c311990f415ae7c82","ref":"refs/heads/main","pushedAt":"2023-06-28T07:36:53.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"CCrady","name":null,"path":"/CCrady","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16215658?s=80&v=4"},"commit":{"message":"Merge branch 'main' of github.com:CCrady/spherehorn","shortMessageHtmlLink":"Merge branch 'main' of github.com:CCrady/spherehorn"}},{"before":"8807545baacfd9b9cc0f6aaa472512f4ca752cde","after":"760a1de5421386df274e644c81e8be7905265634","ref":"refs/heads/main","pushedAt":"2023-06-21T21:49:37.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"CCrady","name":null,"path":"/CCrady","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16215658?s=80&v=4"},"commit":{"message":"Fix README formatting","shortMessageHtmlLink":"Fix README formatting"}},{"before":"14b002d0510738adf7bd4cda982aacdf72ed421d","after":"8807545baacfd9b9cc0f6aaa472512f4ca752cde","ref":"refs/heads/main","pushedAt":"2023-06-21T21:43:39.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"CCrady","name":null,"path":"/CCrady","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16215658?s=80&v=4"},"commit":{"message":"Create README.md and guide.md","shortMessageHtmlLink":"Create README.md and guide.md"}},{"before":"7771955d93a60e6bf95938b7c68d76f6706d2a1b","after":"14b002d0510738adf7bd4cda982aacdf72ed421d","ref":"refs/heads/main","pushedAt":"2023-06-17T04:43:20.094Z","pushType":"push","commitsCount":1,"pusher":{"login":"CCrady","name":null,"path":"/CCrady","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16215658?s=80&v=4"},"commit":{"message":"Create cyclic tag system emulator\n\nCreate cyclic_tag.spherehorn, a Spherehorn program that can emulate an arbitrary\ncyclic tag system. This proves that Spherehorn is Turing-complete.","shortMessageHtmlLink":"Create cyclic tag system emulator"}},{"before":"277c92281fdeda8cc91020301999b3a38dc836d3","after":"7771955d93a60e6bf95938b7c68d76f6706d2a1b","ref":"refs/heads/main","pushedAt":"2023-06-16T08:34:02.407Z","pushType":"push","commitsCount":1,"pusher":{"login":"CCrady","name":null,"path":"/CCrady","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16215658?s=80&v=4"},"commit":{"message":"Implement Insert/Delete Before/After instructions\n\nCreate .deleteBefore() and .deleteAfter methods on MemoryCell. Implement and\ntest InsertBefore, InsertAfter, DeleteBefore, and DeleteAfter instructions.","shortMessageHtmlLink":"Implement Insert/Delete Before/After instructions"}},{"before":"0c0d07b1b0cea7df3f353bad4f53545f13c88f11","after":"277c92281fdeda8cc91020301999b3a38dc836d3","ref":"refs/heads/main","pushedAt":"2023-06-14T23:57:25.286Z","pushType":"push","commitsCount":3,"pusher":{"login":"CCrady","name":null,"path":"/CCrady","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16215658?s=80&v=4"},"commit":{"message":"Add more examples","shortMessageHtmlLink":"Add more examples"}},{"before":"9dbfffc10a74308dded88762990451e79319be94","after":"0c0d07b1b0cea7df3f353bad4f53545f13c88f11","ref":"refs/heads/main","pushedAt":"2023-06-14T18:50:35.574Z","pushType":"push","commitsCount":3,"pusher":{"login":"CCrady","name":null,"path":"/CCrady","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16215658?s=80&v=4"},"commit":{"message":"Misc tweaks to Program\n\nMake a few tweaks to Program: change the NotEqual instruction code from \"!=\" to\n\"/=\" to stop the \"!\" from being tokenized as a terminator, make .run() return a\nStatus depending on whether the program aborted, and make Program objects ensure\nthat they're only run once each.","shortMessageHtmlLink":"Misc tweaks to Program"}},{"before":"f704393a0ebe64b46e14db5f8272319dbb6aecaf","after":"9dbfffc10a74308dded88762990451e79319be94","ref":"refs/heads/main","pushedAt":"2023-06-14T01:57:33.258Z","pushType":"push","commitsCount":5,"pusher":{"login":"CCrady","name":null,"path":"/CCrady","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16215658?s=80&v=4"},"commit":{"message":"Create class Program\n\nCreate class Program and write some very basic tests for its parsing\nfunctionality.","shortMessageHtmlLink":"Create class Program"}},{"before":"ab1f345fc60498fd8b9cd4bd9e7808ca0161479c","after":"f704393a0ebe64b46e14db5f8272319dbb6aecaf","ref":"refs/heads/main","pushedAt":"2023-06-12T09:34:21.434Z","pushType":"push","commitsCount":2,"pusher":{"login":"CCrady","name":null,"path":"/CCrady","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16215658?s=80&v=4"},"commit":{"message":"Add destructors to instruction classes\n\nAdd destructors to InstructionContainer and its derived classes to allow\npolymorphism.","shortMessageHtmlLink":"Add destructors to instruction classes"}},{"before":"6d3b58dda5addd5b443aded1801d9978585d22fe","after":"ab1f345fc60498fd8b9cd4bd9e7808ca0161479c","ref":"refs/heads/main","pushedAt":"2023-06-11T00:08:44.634Z","pushType":"push","commitsCount":2,"pusher":{"login":"CCrady","name":null,"path":"/CCrady","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16215658?s=80&v=4"},"commit":{"message":"Extend conditional functionality\n\nImplement and test inverse conditionals (!). Implement conditionals on\nInstructionBlocks. Move the conditional code into InstructionContainer now that\nInstructionBlocks needs to use it, and delete Instruction because that's no\nlonger being used.","shortMessageHtmlLink":"Extend conditional functionality"}},{"before":"97ded9b8d307414f1ae40f3cb6c89877862465ff","after":"6d3b58dda5addd5b443aded1801d9978585d22fe","ref":"refs/heads/main","pushedAt":"2023-06-10T08:29:52.676Z","pushType":"push","commitsCount":3,"pusher":{"login":"CCrady","name":null,"path":"/CCrady","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16215658?s=80&v=4"},"commit":{"message":"Implement move constructor/assignment for MemoryCell\n\nImplement move assignment and a move constructor for MemoryCell, and test them.\nAlso make minor tweaks to MemoryCell, including splitting off linkNext() and\nlinkPrev() helper methods.","shortMessageHtmlLink":"Implement move constructor/assignment for MemoryCell"}},{"before":"deedc24dca09a3efb661b7e63be620156c694416","after":"97ded9b8d307414f1ae40f3cb6c89877862465ff","ref":"refs/heads/main","pushedAt":"2023-06-08T20:33:51.085Z","pushType":"push","commitsCount":2,"pusher":{"login":"CCrady","name":null,"path":"/CCrady","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16215658?s=80&v=4"},"commit":{"message":"Switch from raw Argument pointers to unique_ptrs\n\nChange unary instructions' constructors to use unique_ptrs to Arguments, rather\nthan raw pointers. Also create type aliases instr_ptr and arg_ptr as unique_ptrs\nto InstructionContainers and Arguments, respectively.","shortMessageHtmlLink":"Switch from raw Argument pointers to unique_ptrs"}},{"before":"4e907ef0fc406f7554bc156eba6deab7e3c72564","after":"deedc24dca09a3efb661b7e63be620156c694416","ref":"refs/heads/main","pushedAt":"2023-06-06T09:12:59.654Z","pushType":"push","commitsCount":3,"pusher":{"login":"CCrady","name":null,"path":"/CCrady","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16215658?s=80&v=4"},"commit":{"message":"Implement Tokenizer\n\nImplement and test the Tokenizer class. The class structure may change once I\nwrite the parser.","shortMessageHtmlLink":"Implement Tokenizer"}},{"before":"303e33519ac6f6cb69ad52e9c63052e670481497","after":"4e907ef0fc406f7554bc156eba6deab7e3c72564","ref":"refs/heads/main","pushedAt":"2023-06-05T06:18:29.740Z","pushType":"push","commitsCount":1,"pusher":{"login":"CCrady","name":null,"path":"/CCrady","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16215658?s=80&v=4"},"commit":{"message":"Fix compiler warnings\n\nSilence unused parameter warnings on instructions' action() methods, and account\nfor the Status::EXIT case in the stream insertion operator for Status objects.","shortMessageHtmlLink":"Fix compiler warnings"}},{"before":"52088c1826739b6c10a73e3320db381fa1b95527","after":"303e33519ac6f6cb69ad52e9c63052e670481497","ref":"refs/heads/main","pushedAt":"2023-06-05T06:13:11.764Z","pushType":"push","commitsCount":2,"pusher":{"login":"CCrady","name":null,"path":"/CCrady","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16215658?s=80&v=4"},"commit":{"message":"Create memory manipulation instructions\n\nCreate and test instructions for manipulating memory. Also fix an issue with\nmemory cells with a single child.\n\nI've decided that the top-level memory cell in a program will be inaccessible\nfrom within the program, and will just be there for algorithmic convenience. If\na program tries to move to the top-level cell, it will exit.","shortMessageHtmlLink":"Create memory manipulation instructions"}},{"before":"e8360bf5df4c7654cad308db879764c59321a2cc","after":"52088c1826739b6c10a73e3320db381fa1b95527","ref":"refs/heads/main","pushedAt":"2023-06-03T07:51:50.467Z","pushType":"push","commitsCount":1,"pusher":{"login":"CCrady","name":null,"path":"/CCrady","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16215658?s=80&v=4"},"commit":{"message":"Rewrite argument classes\n\nModify the Accumulator and MemoryCell argument classes to use a static pointer\nto the program state instead of an instance variable. Write tests for the\nArgument subclasses.","shortMessageHtmlLink":"Rewrite argument classes"}},{"before":"d0faced1c8a0f5cd1383d9713a003885d6b29a1b","after":"e8360bf5df4c7654cad308db879764c59321a2cc","ref":"refs/heads/main","pushedAt":"2023-06-02T08:04:18.324Z","pushType":"push","commitsCount":1,"pusher":{"login":"CCrady","name":null,"path":"/CCrady","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16215658?s=80&v=4"},"commit":{"message":"Create tests for control flow\n\nCreate tests for control flow in test_control_flow.h. Also fix mistaken\npass-by-value in InstructionBlock's .insertInstr() method.","shortMessageHtmlLink":"Create tests for control flow"}},{"before":"fc2f5a4119f31658e5a7e982fde2b83be22dae0a","after":"d0faced1c8a0f5cd1383d9713a003885d6b29a1b","ref":"refs/heads/main","pushedAt":"2023-06-02T07:15:53.698Z","pushType":"push","commitsCount":1,"pusher":{"login":"CCrady","name":null,"path":"/CCrady","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16215658?s=80&v=4"},"commit":{"message":"Restructure Instruction inheritance hierachy\n\nRestructure the inheritance hierarchy of Instruction and related classes; in\nparticular, create the InstructionBlock class to hold a block of code and the\nInstructionContainer class to allow polymorphism. Modify the internals of\nInstruction and tests to accommodate the changes.","shortMessageHtmlLink":"Restructure Instruction inheritance hierachy"}},{"before":"cd409d5b6087302bb2f19c1799432fb15c9cf3e9","after":"fc2f5a4119f31658e5a7e982fde2b83be22dae0a","ref":"refs/heads/main","pushedAt":"2023-06-01T04:33:37.403Z","pushType":"push","commitsCount":1,"pusher":{"login":"CCrady","name":null,"path":"/CCrady","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16215658?s=80&v=4"},"commit":{"message":"Create insertChild method on MemoryCell\n\nCreate MemoryCell::insertChild, and test it. Also fix improper child counting in\nMemoryCell's insertBefore and insertAfter methods, which could cause a segfault\non destruction/reset.","shortMessageHtmlLink":"Create insertChild method on MemoryCell"}},{"before":"59a422efda1db15da08e4a8f31b5a26c5948dbc7","after":"cd409d5b6087302bb2f19c1799432fb15c9cf3e9","ref":"refs/heads/main","pushedAt":"2023-05-31T09:06:50.676Z","pushType":"push","commitsCount":1,"pusher":{"login":"CCrady","name":null,"path":"/CCrady","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16215658?s=80&v=4"},"commit":{"message":"Restructure unit tests\n\nSplit unit_tests.cpp into several files housed in the unit_tests/ directory, one\nfor each testing function. Also update makefile to accommodate this.","shortMessageHtmlLink":"Restructure unit tests"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAADTvH3kAA","startCursor":null,"endCursor":null}},"title":"Activity ยท CCrady/spherehorn"}