{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":656643061,"defaultBranch":"main","name":"Monty_language","ownerLogin":"Ebuube","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2023-06-21T10:51:23.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/111176684?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1705394548.0","currentOid":""},"activityList":{"items":[{"before":"2bf1735128f9aa59886e064b93f75c9b162fd37e","after":"668b934058facb1ab543dd4a137f413fbc99c753","ref":"refs/heads/main","pushedAt":"2024-01-16T08:44:43.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"Ebuube","name":"Ebube Gideon Onwuta","path":"/Ebuube","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/111176684?s=80&v=4"},"commit":{"message":"Merge pull request #34 from Ebuube/README-styling\n\nUpdate README.md","shortMessageHtmlLink":"Merge pull request #34 from Ebuube/README-styling"}},{"before":null,"after":"7d9667dd8e17d7e501444384d655db874c51e3ac","ref":"refs/heads/README-styling","pushedAt":"2024-01-16T08:42:28.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"Ebuube","name":"Ebube Gideon Onwuta","path":"/Ebuube","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/111176684?s=80&v=4"},"commit":{"message":"Update README.md\n\nMarked up the README.md with

\r\n\r\nAnd added more spacing.","shortMessageHtmlLink":"Update README.md"}},{"before":"b621ec0adf264a0a521d61d9fc0e249e4d4a603c","after":"c09a065ee5d725f21e61f7aa481f989b0525eb8a","ref":"refs/heads/develop","pushedAt":"2023-07-01T21:43:36.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"Ebuube","name":"Ebube Gideon Onwuta","path":"/Ebuube","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/111176684?s=80&v=4"},"commit":{"message":"Merge branch 'main' into develop\n\nMerging hotfixes into 'develop' branch","shortMessageHtmlLink":"Merge branch 'main' into develop"}},{"before":"a05c6f2311c385c2aa322a64871263f3baae2dee","after":null,"ref":"refs/tags/Monty_v1.0.0","pushedAt":"2023-07-01T20:51:24.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"Ebuube","name":"Ebube Gideon Onwuta","path":"/Ebuube","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/111176684?s=80&v=4"}},{"before":"ae9ae7f812bd9be52d6ee6a9ac824721542245e5","after":null,"ref":"refs/heads/hotfix-32-Update_README.md","pushedAt":"2023-07-01T20:47:40.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"Ebuube","name":"Ebube Gideon Onwuta","path":"/Ebuube","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/111176684?s=80&v=4"}},{"before":"d3471f120ae584f5e13c40c8a4b73762a781eab9","after":"2bf1735128f9aa59886e064b93f75c9b162fd37e","ref":"refs/heads/main","pushedAt":"2023-07-01T20:47:36.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"Ebuube","name":"Ebube Gideon Onwuta","path":"/Ebuube","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/111176684?s=80&v=4"},"commit":{"message":"Hotfix 32 update readme.md (#33)\n\n* [#32] Update README.md\r\n\r\nReformat some sections of README.md to have 'tab' character.\r\n\r\n* [#32] Updated links in the shields\r\n\r\nUpdated the links in the shield so that they point to more meaningful\r\nsources of information.\r\n\r\n* [#32] Removed newly added tabs\r\n\r\n* [#32] Added newlines","shortMessageHtmlLink":"Hotfix 32 update readme.md (#33)"}},{"before":"22bff019f6d709f901a6f0bc667c2c6b23d98ee7","after":"ae9ae7f812bd9be52d6ee6a9ac824721542245e5","ref":"refs/heads/hotfix-32-Update_README.md","pushedAt":"2023-07-01T20:44:02.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Ebuube","name":"Ebube Gideon Onwuta","path":"/Ebuube","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/111176684?s=80&v=4"},"commit":{"message":"[#32] Added newlines","shortMessageHtmlLink":"[#32] Added newlines"}},{"before":"a42f5bc50c647e7a427fb539f08f25a3867fb9c7","after":"22bff019f6d709f901a6f0bc667c2c6b23d98ee7","ref":"refs/heads/hotfix-32-Update_README.md","pushedAt":"2023-07-01T20:38:56.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Ebuube","name":"Ebube Gideon Onwuta","path":"/Ebuube","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/111176684?s=80&v=4"},"commit":{"message":"[#32] Removed newly added tabs","shortMessageHtmlLink":"[#32] Removed newly added tabs"}},{"before":null,"after":"a42f5bc50c647e7a427fb539f08f25a3867fb9c7","ref":"refs/heads/hotfix-32-Update_README.md","pushedAt":"2023-07-01T20:29:07.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"Ebuube","name":"Ebube Gideon Onwuta","path":"/Ebuube","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/111176684?s=80&v=4"},"commit":{"message":"[#32] Updated links in the shields\n\nUpdated the links in the shield so that they point to more meaningful\nsources of information.","shortMessageHtmlLink":"[#32] Updated links in the shields"}},{"before":"fe773ed959166e577c13bc3926941db4a2fbeab1","after":null,"ref":"refs/heads/hotfix-30-update_readme.md","pushedAt":"2023-07-01T19:55:04.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"Ebuube","name":"Ebube Gideon Onwuta","path":"/Ebuube","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/111176684?s=80&v=4"}},{"before":"a05c6f2311c385c2aa322a64871263f3baae2dee","after":"d3471f120ae584f5e13c40c8a4b73762a781eab9","ref":"refs/heads/main","pushedAt":"2023-07-01T19:52:44.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"Ebuube","name":"Ebube Gideon Onwuta","path":"/Ebuube","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/111176684?s=80&v=4"},"commit":{"message":"Hotfix Updated README.md (#31)\n\n* Included information on how to uninstall the Monty interpreter.\r\n* Also updated the documentation on how to install it. Included\r\ninformation on why it is important to change into the directory cloned.","shortMessageHtmlLink":"Hotfix Updated README.md (#31)"}},{"before":null,"after":"fe773ed959166e577c13bc3926941db4a2fbeab1","ref":"refs/heads/hotfix-30-update_readme.md","pushedAt":"2023-07-01T19:44:24.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"Ebuube","name":"Ebube Gideon Onwuta","path":"/Ebuube","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/111176684?s=80&v=4"},"commit":{"message":"[#30] Updated README.md\n\n* Included information on how to uninstall the Monty interpreter.\n* Also updated the documentation on how to install it. Included\ninformation on why it is important to change into the directory cloned.","shortMessageHtmlLink":"[#30] Updated README.md"}},{"before":"449855dafa354de2e53ea9aaa22865de0e55e42a","after":null,"ref":"refs/heads/revert-26-Ebuube/25-implement_new_opcodes","pushedAt":"2023-06-30T23:54:03.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"Ebuube","name":"Ebube Gideon Onwuta","path":"/Ebuube","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/111176684?s=80&v=4"}},{"before":"62049ad39e1be917e3c9cca1b15fecf3326ea0d7","after":null,"ref":"refs/heads/Ebuube/25-implement_new_opcodes","pushedAt":"2023-06-30T23:54:01.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"Ebuube","name":"Ebube Gideon Onwuta","path":"/Ebuube","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/111176684?s=80&v=4"}},{"before":"415fe0a2324436215bbb99aa955541eb0c1de258","after":"a05c6f2311c385c2aa322a64871263f3baae2dee","ref":"refs/heads/main","pushedAt":"2023-06-30T23:53:24.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"Ebuube","name":"Ebube Gideon Onwuta","path":"/Ebuube","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/111176684?s=80&v=4"},"commit":{"message":"New Features Implemented (#29)\n\n* [#1] Initial Documentation\r\n\r\nCreated an AUTHORS.md file\r\nAdded the name of current contributors.\r\n\r\n* [#1] Initial Documentation\r\n\r\nDescribed the system of workflow for this repository\r\n\r\n* [#1] Initial Documentation\r\n\r\nIncluded a `.gitignore.` file in the repository and ignored `*.bak`\r\nfiles.\r\n\r\n* Revert \"Initial commit\"\r\n\r\nThis reverts commit 8277676f7951ee7661424f8b715ed7cdb70a4a9f.\r\n\r\n* [#1] Initial Documentation\r\n\r\nDescribed the system of workflow for this repository\r\nUsed proper styling to make the necessary instructions more visible\r\n\r\n* [#1] Initial Documentation\r\n\r\nDescribed the system of workflow for this repository\r\nUsed proper styling to make the necessary instructions more visible\r\nCorrected punctuation marks\r\n\r\n* [#3] Integrating pull request reviews\r\n\r\nI resolved the problems by:\r\n\t* Replacing the name `julien` with `vagrant` in the README.md\r\nfile\r\n\t* Removing the bold style in the ` ... tag\r\ncontents. I now have something that is has this format\r\n\t\t```Header : description``\r\n\r\n* Revert \"Integrating pull request reviews\"\r\n\r\n* Created README.md file (#6)\r\n\r\nResolves [#5]\r\nCloses [#1]\r\nThis commit is an attempt to push back the README.md to the remote\r\n\r\n* Basic codebase functionality (#8)\r\n\r\n* Planned procedure for the monty program\r\n\r\nThis is the algorithm for the monty program.\r\nIt explains the maxim of the steps that the monty program uses for\r\nexecution.\r\n\r\n* Created Makefile\r\n\r\nThe Makefile facilitates maintainance of the codebasee\r\n* clean: To clean or unwanted files\r\n* all: To build the executable `monty`\r\n* betty_check: To check if codebase is `betty` compliant\r\n* spell_check: To check if codebase is English is grammatically correct\r\n* check: Run both `betty_check` and `spell_check`\r\n\r\n* Implemented basic codebase functionality\r\n\r\n* Code compiles safely without memory leaks\r\n* Opens file passed to it\r\n* Reads file line by line\r\n* Parses each line to get the first two words i.e opcode and argument\r\n* Prints the output to screen - To be turned into execute operation\r\n* Closes file on exit\r\n* Ends successfully without memory leaks\r\n\r\n* Updated monty.h to accomodate the new function 'execute'\r\n\r\n* Updated 'read_file.c' so that it calls the 'execute' function when appropriate\r\n\r\n* Updated Makefile so that it incoporates 'valgrind' for mememory check\r\n\r\n* Updated Makefile with documentation on how to use it\r\n\r\n* Created a new file 'execute.c' to house the execute() funtion\r\n\r\n* [#2] Prepared basic code functionalities\r\n\r\nI successfully:\r\n* Created a well-documented Makefile for the project\r\n* Created the basic functions that handle file reading\r\n\tand parsing to select the opcodes and the arguements\r\n\r\nNote: I have not implemented the stack data structure, yet\r\n\r\n* First working model of monty (#9)\r\n\r\n* Planned procedure for the monty program\r\n\r\nThis is the algorithm for the monty program.\r\nIt explains the maxim of the steps that the monty program uses for\r\nexecution.\r\n\r\n* Created Makefile\r\n\r\nThe Makefile facilitates maintainance of the codebasee\r\n* clean: To clean or unwanted files\r\n* all: To build the executable `monty`\r\n* betty_check: To check if codebase is `betty` compliant\r\n* spell_check: To check if codebase is English is grammatically correct\r\n* check: Run both `betty_check` and `spell_check`\r\n\r\n* Implemented basic codebase functionality\r\n\r\n* Code compiles safely without memory leaks\r\n* Opens file passed to it\r\n* Reads file line by line\r\n* Parses each line to get the first two words i.e opcode and argument\r\n* Prints the output to screen - To be turned into execute operation\r\n* Closes file on exit\r\n* Ends successfully without memory leaks\r\n\r\n* Updated monty.h to accomodate the new function 'execute'\r\n\r\n* Updated 'read_file.c' so that it calls the 'execute' function when appropriate\r\n\r\n* Updated Makefile so that it incoporates 'valgrind' for mememory check\r\n\r\n* Updated Makefile with documentation on how to use it\r\n\r\n* Created a new file 'execute.c' to house the execute() funtion\r\n\r\n* [#2] Prepared basic code functionalities\r\n\r\nI successfully:\r\n* Created a well-documented Makefile for the project\r\n* Created the basic functions that handle file reading\r\n\tand parsing to select the opcodes and the arguements\r\n\r\nNote: I have not implemented the stack data structure, yet\r\n\r\n* [#2] Refactored codebase and added two opcodes\r\n\r\n- Gitignore : ignores both *.bak and valgrind-out.txt log file\r\n- Makefile: Takes note of the new file structure espcially, opcodes and\r\n\tutility directories\r\n- README.md : Warns users not to exceed INT_MIN - INT_MAX range as\r\n\topcode arguments to opcoes like push, pall, etc.\r\n- main.c : Takes not of the new codebase structure\r\n- monty.h : Added extra data types, header files and prototypes\r\n- WORKFLOW.md : Corrected patter of pulling from remote branch\r\n\r\nRemoved unwanted files they are now replaced by new ones in a different\r\n\tdirectory -> utility:\r\n- execute.c\r\n- parse_line.c\r\n- read_file.c\r\n\r\nAdded new files:\r\n- opcodes directory:\r\n\t* _pall.c : implements a function to print all elements of stack\r\n\t* _push.c : implements a function to add element to top of stack\r\n\r\n- utility directory:\r\n\t* execute.c : executes instructions\r\n\t* free_stack.c : frees stack as clean up action\r\n\t* get_int.c : safely fetches arguments to opcodes if any\r\n\t* get_opcode_func.c : fetches the opcode from a line in a bytecode\r\n\t\tfile\r\n\r\n* [#2] Modified codebase and added 'pint' opcode\r\n\r\nModification:\r\n- Makefile : that betty_check target now uses automatic variables\r\n- monty.h : now accomodates the new opcode 'pint'\r\n- utility/get_opcode_func.c : now accomodates the new opcode 'pint'\r\n\r\nNew files:\r\n- opcodes/_pint.c : implements the 'pint' opcode\r\n\r\n* [#2] Modified codebase and added 'pop' opcode\r\n\r\n Modification:\r\n - Makefile : that betty_check target now uses automatic variables\r\n - monty.h : now accomodates the new opcode 'pop'\r\n - utility/get_opcode_func.c : now accomodates the new opcode 'pop'\r\n\r\n New files:\r\n - opcodes/_pop.c : implements the 'pop' opcode\r\n\r\n* Successfully implemented Basic opcodes (#13)\r\n\r\n* Planned procedure for the monty program\r\n\r\nThis is the algorithm for the monty program.\r\nIt explains the maxim of the steps that the monty program uses for\r\nexecution.\r\n\r\n* Created Makefile\r\n\r\nThe Makefile facilitates maintainance of the codebasee\r\n* clean: To clean or unwanted files\r\n* all: To build the executable `monty`\r\n* betty_check: To check if codebase is `betty` compliant\r\n* spell_check: To check if codebase is English is grammatically correct\r\n* check: Run both `betty_check` and `spell_check`\r\n\r\n* Implemented basic codebase functionality\r\n\r\n* Code compiles safely without memory leaks\r\n* Opens file passed to it\r\n* Reads file line by line\r\n* Parses each line to get the first two words i.e opcode and argument\r\n* Prints the output to screen - To be turned into execute operation\r\n* Closes file on exit\r\n* Ends successfully without memory leaks\r\n\r\n* Updated monty.h to accomodate the new function 'execute'\r\n\r\n* Updated 'read_file.c' so that it calls the 'execute' function when appropriate\r\n\r\n* Updated Makefile so that it incoporates 'valgrind' for mememory check\r\n\r\n* Updated Makefile with documentation on how to use it\r\n\r\n* Created a new file 'execute.c' to house the execute() funtion\r\n\r\n* [#2] Prepared basic code functionalities\r\n\r\nI successfully:\r\n* Created a well-documented Makefile for the project\r\n* Created the basic functions that handle file reading\r\n\tand parsing to select the opcodes and the arguements\r\n\r\nNote: I have not implemented the stack data structure, yet\r\n\r\n* [#2] Refactored codebase and added two opcodes\r\n\r\n- Gitignore : ignores both *.bak and valgrind-out.txt log file\r\n- Makefile: Takes note of the new file structure espcially, opcodes and\r\n\tutility directories\r\n- README.md : Warns users not to exceed INT_MIN - INT_MAX range as\r\n\topcode arguments to opcoes like push, pall, etc.\r\n- main.c : Takes not of the new codebase structure\r\n- monty.h : Added extra data types, header files and prototypes\r\n- WORKFLOW.md : Corrected patter of pulling from remote branch\r\n\r\nRemoved unwanted files they are now replaced by new ones in a different\r\n\tdirectory -> utility:\r\n- execute.c\r\n- parse_line.c\r\n- read_file.c\r\n\r\nAdded new files:\r\n- opcodes directory:\r\n\t* _pall.c : implements a function to print all elements of stack\r\n\t* _push.c : implements a function to add element to top of stack\r\n\r\n- utility directory:\r\n\t* execute.c : executes instructions\r\n\t* free_stack.c : frees stack as clean up action\r\n\t* get_int.c : safely fetches arguments to opcodes if any\r\n\t* get_opcode_func.c : fetches the opcode from a line in a bytecode\r\n\t\tfile\r\n\r\n* [#2] Modified codebase and added 'pint' opcode\r\n\r\nModification:\r\n- Makefile : that betty_check target now uses automatic variables\r\n- monty.h : now accomodates the new opcode 'pint'\r\n- utility/get_opcode_func.c : now accomodates the new opcode 'pint'\r\n\r\nNew files:\r\n- opcodes/_pint.c : implements the 'pint' opcode\r\n\r\n* [#2] Modified codebase and added 'pop' opcode\r\n\r\n Modification:\r\n - Makefile : that betty_check target now uses automatic variables\r\n - monty.h : now accomodates the new opcode 'pop'\r\n - utility/get_opcode_func.c : now accomodates the new opcode 'pop'\r\n\r\n New files:\r\n - opcodes/_pop.c : implements the 'pop' opcode\r\n\r\n* [#10] Implemented the `swap` opcode\r\n\r\nModification:\r\n- monty.h : take note of the new function for swapping nodes\r\n\r\n- utility/\r\n\t*get_opcode_func.c - Included the new opcode in the instruction\r\n\t\tset\r\n- opcodes/\r\n\t* _push.c : Corrected the function so that it properly assigns the\r\n\t\t`prev` data of a node\r\n\r\nNew file:\r\n- opcodes/\r\n\t* _swap.c : Implements the `swap` opcode\r\n\r\n* [#11] Implement the `add` opcode\r\n\r\nModifications:\r\n- monty.h : include prototype of new function for 'add' opcode\r\n\r\n- utility/\r\n\t* get_opcode_func.c : included 'add' opcode in instrcutions\r\n\r\nNew files:\r\n- opcodes/\r\n\t* _add.c : implement the 'add' opcode\r\n\r\n* [#12] Implement the `nop` opcode\r\n\r\nThis opcode doesn't do anyting\r\n\r\nModification:\r\n- monty.h : included prototype of the new function that handles this\r\n\t\topcode\r\n- utility/\r\n\t* get_opcode_func.c : Added new opcode to instructions\r\n\r\nNew files:\r\n- opcodes/\r\n\t* _nop.c : implements the `nop` opcode\r\n\r\n* Create the first release (#17)\r\n\r\n* [#15] Put the markdown files in Documentation/\r\n\r\nAll the Markdown files except `README.md` file is moved to the directory\r\nnamed `Documentation`.\r\nThese files include :\r\n- AUTHORS.md\r\n- PROCEDURE.md\r\n- WORKFLOW.md\r\n\r\n* [#7] Bug in README.md documentation\r\n\r\nModifications:\r\n- Removed grammatical error\r\n- Added two Markdown badges to README.md\r\n\t* Maintainer\r\n\t* Git\r\n\r\n* [#14] Adding badges to READM.md\r\n\r\nRemoved the `Maintainer` badge and added a generic badge.\r\n\r\n* [#14] Modified the Maintainer badge\r\n\r\nUsing a different `shields.io` bade to do the same task of creating\r\nthe `Maintainer` badge.\r\n\r\n* [#14] Corrected badge URL\r\n\r\nModified the badge so that it displays an `svg` image.\r\n\r\n* [#14] Added new badge\r\n\r\nNew badges:\r\n- `made-with-C`\r\n- `realase - version`\r\n\r\n* [#14] Added new badges\r\n\r\nModification:\r\n- `release` badge\r\n\r\nNew:\r\n- `contributors` badge\r\n\r\n* [#14] Badge modifcation\r\n\r\nModifications:\r\n- Moved the `Git` badge to the acknowledgement section of README.md\r\n\r\nNew:\r\n- `GITHUB` badge at the acknowledgement section\r\n\r\n* [#14] README.md modification\r\n\r\nChanged the header of the README.md\r\n\r\n* [#14] More acknowledgements\r\n\r\nModification:\r\n- Github badge\r\nNew badges:\r\n- ALX badge\r\n\r\n* [#14] Modification of Badges in README.md\r\n\r\nModification:\r\n- ALX badge\r\n\r\n* Squashed commit of the following:\r\n\r\ncommit 3be87dddb84b4dd7b7d8aff5222b2ff8df96aafd\r\nAuthor: Ebube Gideon Onwuta <111176684+Ebuube@users.noreply.github.com>\r\nDate: Tue Jun 27 07:49:38 2023 +0100\r\n\r\n Hotfix 19 add license (#21)\r\n\r\n * Added LICENSE to proposed release\r\n\r\n This license expresses the condition for using this software product.\r\n\r\n License type: MIT\r\n\r\n * Update LICENSE\r\n\r\n Corrected the order of the names for the License bearer.\r\n\r\ncommit 74115f0c2402b9407aacd147b87447b4162539ab\r\nAuthor: Ebube Gideon Onwuta <111176684+Ebuube@users.noreply.github.com>\r\nDate: Tue Jun 27 06:39:01 2023 +0100\r\n\r\n [#19] Prerelease hotfix (#20)\r\n\r\n Modification:\r\n - README.md : Linked the `Git` acknowledgement badge to the `git` website ->\r\n https://git-scm.com/\r\n\r\n - opcodes/\r\n \t* Modified the `nop` opcode function so that it takes not of the unused\r\n \t\tparameters\r\n\r\ncommit 871877670311addca968c30ef4869916bd046a1f\r\nAuthor: Ebube Gideon Onwuta <111176684+Ebuube@users.noreply.github.com>\r\nDate: Tue Jun 27 06:19:38 2023 +0100\r\n\r\n First Major release of monty (#18)\r\n\r\n * [#1] Initial Documentation\r\n\r\n Created an AUTHORS.md file\r\n Added the name of current contributors.\r\n\r\n * [#1] Initial Documentation\r\n\r\n Described the system of workflow for this repository\r\n\r\n * [#1] Initial Documentation\r\n\r\n Included a `.gitignore.` file in the repository and ignored `*.bak`\r\n files.\r\n\r\n * Revert \"Initial commit\"\r\n\r\n This reverts commit 8277676f7951ee7661424f8b715ed7cdb70a4a9f.\r\n\r\n * [#1] Initial Documentation\r\n\r\n Described the system of workflow for this repository\r\n Used proper styling to make the necessary instructions more visible\r\n\r\n * [#1] Initial Documentation\r\n\r\n Described the system of workflow for this repository\r\n Used proper styling to make the necessary instructions more visible\r\n Corrected punctuation marks\r\n\r\n * [#3] Integrating pull request reviews\r\n\r\n I resolved the problems by:\r\n \t* Replacing the name `julien` with `vagrant` in the README.md\r\n file\r\n \t* Removing the bold style in the ` ... tag\r\n contents. I now have something that is has this format\r\n \t\t```Header : description``\r\n\r\n * Revert \"Integrating pull request reviews\"\r\n\r\n * Created README.md file (#6)\r\n\r\n Resolves [#5]\r\n Closes [#1]\r\n This commit is an attempt to push back the README.md to the remote\r\n\r\n * Basic codebase functionality (#8)\r\n\r\n * Planned procedure for the monty program\r\n\r\n This is the algorithm for the monty program.\r\n It explains the maxim of the steps that the monty program uses for\r\n execution.\r\n\r\n * Created Makefile\r\n\r\n The Makefile facilitates maintainance of the codebasee\r\n * clean: To clean or unwanted files\r\n * all: To build the executable `monty`\r\n * betty_check: To check if codebase is `betty` compliant\r\n * spell_check: To check if codebase is English is grammatically correct\r\n * check: Run both `betty_check` and `spell_check`\r\n\r\n * Implemented basic codebase functionality\r\n\r\n * Code compiles safely without memory leaks\r\n * Opens file passed to it\r\n * Reads file line by line\r\n * Parses each line to get the first two words i.e opcode and argument\r\n * Prints the output to screen - To be turned into execute operation\r\n * Closes file on exit\r\n * Ends successfully without memory leaks\r\n\r\n * Updated monty.h to accomodate the new function 'execute'\r\n\r\n * Updated 'read_file.c' so that it calls the 'execute' function when appropriate\r\n\r\n * Updated Makefile so that it incoporates 'valgrind' for mememory check\r\n\r\n * Updated Makefile with documentation on how to use it\r\n\r\n * Created a new file 'execute.c' to house the execute() funtion\r\n\r\n * [#2] Prepared basic code functionalities\r\n\r\n I successfully:\r\n * Created a well-documented Makefile for the project\r\n * Created the basic functions that handle file reading\r\n \tand parsing to select the opcodes and the arguements\r\n\r\n Note: I have not implemented the stack data structure, yet\r\n\r\n * First working model of monty (#9)\r\n\r\n * Planned procedure for the monty program\r\n\r\n This is the algorithm for the monty program.\r\n It explains the maxim of the steps that the monty program uses for\r\n execution.\r\n\r\n * Created Makefile\r\n\r\n The Makefile facilitates maintainance of the codebasee\r\n * clean: To clean or unwanted files\r\n * all: To build the executable `monty`\r\n * betty_check: To check if codebase is `betty` compliant\r\n * spell_check: To check if codebase is English is grammatically correct\r\n * check: Run both `betty_check` and `spell_check`\r\n\r\n * Implemented basic codebase functionality\r\n\r\n * Code compiles safely without memory leaks\r\n * Opens file passed to it\r\n * Reads file line by line\r\n * Parses each line to get the first two words i.e opcode and argument\r\n * Prints the output to screen - To be turned into execute operation\r\n * Closes file on exit\r\n * Ends successfully without memory leaks\r\n\r\n * Updated monty.h to accomodate the new function 'execute'\r\n\r\n * Updated 'read_file.c' so that it calls the 'execute' function when appropriate\r\n\r\n * Updated Makefile so that it incoporates 'valgrind' for mememory check\r\n\r\n * Updated Makefile with documentation on how to use it\r\n\r\n * Created a new file 'execute.c' to house the execute() funtion\r\n\r\n * [#2] Prepared basic code functionalities\r\n\r\n I successfully:\r\n * Created a well-documented Makefile for the project\r\n * Created the basic functions that handle file reading\r\n \tand parsing to select the opcodes and the arguements\r\n\r\n Note: I have not implemented the stack data structure, yet\r\n\r\n * [#2] Refactored codebase and added two opcodes\r\n\r\n - Gitignore : ignores both *.bak and valgrind-out.txt log file\r\n - Makefile: Takes note of the new file structure espcially, opcodes and\r\n \tutility directories\r\n - README.md : Warns users not to exceed INT_MIN - INT_MAX range as\r\n \topcode arguments to opcoes like push, pall, etc.\r\n - main.c : Takes not of the new codebase structure\r\n - monty.h : Added extra data types, header files and prototypes\r\n - WORKFLOW.md : Corrected patter of pulling from remote branch\r\n\r\n Removed unwanted files they are now replaced by new ones in a different\r\n \tdirectory -> utility:\r\n - execute.c\r\n - parse_line.c\r\n - read_file.c\r\n\r\n Added new files:\r\n - opcodes directory:\r\n \t* _pall.c : implements a function to print all elements of stack\r\n \t* _push.c : implements a function to add element to top of stack\r\n\r\n - utility directory:\r\n \t* execute.c : executes instructions\r\n \t* free_stack.c : frees stack as clean up action\r\n \t* get_int.c : safely fetches arguments to opcodes if any\r\n \t* get_opcode_func.c : fetches the opcode from a line in a bytecode\r\n \t\tfile\r\n\r\n * [#2] Modified codebase and added 'pint' opcode\r\n\r\n Modification:\r\n - Makefile : that betty_check target now uses automatic variables\r\n - monty.h : now accomodates the new opcode 'pint'\r\n - utility/get_opcode_func.c : now accomodates the new opcode 'pint'\r\n\r\n New files:\r\n - opcodes/_pint.c : implements the 'pint' opcode\r\n\r\n * [#2] Modified codebase and added 'pop' opcode\r\n\r\n Modification:\r\n - Makefile : that betty_check target now uses automatic variables\r\n - monty.h : now accomodates the new opcode 'pop'\r\n - utility/get_opcode_func.c : now accomodates the new opcode 'pop'\r\n\r\n New files:\r\n - opcodes/_pop.c : implements the 'pop' opcode\r\n\r\n * Successfully implemented Basic opcodes (#13)\r\n\r\n * Planned procedure for the monty program\r\n\r\n This is the algorithm for the monty program.\r\n It explains the maxim of the steps that the monty program uses for\r\n execution.\r\n\r\n * Created Makefile\r\n\r\n The Makefile facilitates maintainance of the codebasee\r\n * clean: To clean or unwanted files\r\n * all: To build the executable `monty`\r\n * betty_check: To check if codebase is `betty` compliant\r\n * spell_check: To check if codebase is English is grammatically correct\r\n * check: Run both `betty_check` and `spell_check`\r\n\r\n * Implemented basic codebase functionality\r\n\r\n * Code compiles safely without memory leaks\r\n * Opens file passed to it\r\n * Reads file line by line\r\n * Parses each line to get the first two words i.e opcode and argument\r\n * Prints the output to screen - To be turned into execute operation\r\n * Closes file on exit\r\n * Ends successfully without memory leaks\r\n\r\n * Updated monty.h to accomodate the new function 'execute'\r\n\r\n * Updated 'read_file.c' so that it calls the 'execute' function when appropriate\r\n\r\n * Updated Makefile so that it incoporates 'valgrind' for mememory check\r\n\r\n * Updated Makefile with documentation on how to use it\r\n\r\n * Created a new file 'execute.c' to house the execute() funtion\r\n\r\n * [#2] Prepared basic code functionalities\r\n\r\n I successfully:\r\n * Created a well-documented Makefile for the project\r\n * Created the basic functions that handle file reading\r\n \tand parsing to select the opcodes and the arguements\r\n\r\n Note: I have not implemented the stack data structure, yet\r\n\r\n * [#2] Refactored codebase and added two opcodes\r\n\r\n - Gitignore : ignores both *.bak and valgrind-out.txt log file\r\n - Makefile: Takes note of the new file structure espcially, opcodes and\r\n \tutility directories\r\n - README.md : Warns users not to exceed INT_MIN - INT_MAX range as\r\n \topcode arguments to opcoes like push, pall, etc.\r\n - main.c : Takes not of the new codebase structure\r\n - monty.h : Added extra data types, header files and prototypes\r\n - WORKFLOW.md : Corrected patter of pulling from remote branch\r\n\r\n Removed unwanted files they are now replaced by new ones in a different\r\n \tdirectory -> utility:\r\n - execute.c\r\n - parse_line.c\r\n - read_file.c\r\n\r\n Added new files:\r\n - opcodes directory:\r\n \t* _pall.c : implements a function to print all elements of stack\r\n \t* _push.c : implements a function to add element to top of stack\r\n\r\n - utility directory:\r\n \t* execute.c : executes instructions\r\n \t* free_stack.c : frees stack as clean up action\r\n \t* get_int.c : safely fetches arguments to opcodes if any\r\n \t* get_opcode_func.c : fetches the opcode from a line in a bytecode\r\n \t\tfile\r\n\r\n * [#2] Modified codebase and added 'pint' opcode\r\n\r\n Modification:\r\n - Makefile : that betty_check target now uses automatic variables\r\n - monty.h : now accomodates the new opcode 'pint'\r\n - utility/get_opcode_func.c : now accomodates the new opcode 'pint'\r\n\r\n New files:\r\n - opcodes/_pint.c : implements the 'pint' opcode\r\n\r\n * [#2] Modified codebase and added 'pop' opcode\r\n\r\n Modification:\r\n - Makefile : that betty_check target now uses automatic variables\r\n - monty.h : now accomodates the new opcode 'pop'\r\n - utility/get_opcode_func.c : now accomodates the new opcode 'pop'\r\n\r\n New files:\r\n - opcodes/_pop.c : implements the 'pop' opcode\r\n\r\n * [#10] Implemented the `swap` opcode\r\n\r\n Modification:\r\n - monty.h : take note of the new function for swapping nodes\r\n\r\n - utility/\r\n \t*get_opcode_func.c - Included the new opcode in the instruction\r\n \t\tset\r\n - opcodes/\r\n \t* _push.c : Corrected the function so that it properly assigns the\r\n \t\t`prev` data of a node\r\n\r\n New file:\r\n - opcodes/\r\n \t* _swap.c : Implements the `swap` opcode\r\n\r\n * [#11] Implement the `add` opcode\r\n\r\n Modifications:\r\n - monty.h : include prototype of new function for 'add' opcode\r\n\r\n - utility/\r\n \t* get_opcode_func.c : included 'add' opcode in instrcutions\r\n\r\n New files:\r\n - opcodes/\r\n \t* _add.c : implement the 'add' opcode\r\n\r\n * [#12] Implement the `nop` opcode\r\n\r\n This opcode doesn't do anyting\r\n\r\n Modification:\r\n - monty.h : included prototype of the new function that handles this\r\n \t\topcode\r\n - utility/\r\n \t* get_opcode_func.c : Added new opcode to instructions\r\n\r\n New files:\r\n - opcodes/\r\n \t* _nop.c : implements the `nop` opcode\r\n\r\n * Create the first release (#17)\r\n\r\n * [#15] Put the markdown files in Documentation/\r\n\r\n All the Markdown files except `README.md` file is moved to the directory\r\n named `Documentation`.\r\n These files include :\r\n - AUTHORS.md\r\n - PROCEDURE.md\r\n - WORKFLOW.md\r\n\r\n * [#7] Bug in README.md documentation\r\n\r\n Modifications:\r\n - Removed grammatical error\r\n - Added two Markdown badges to README.md\r\n \t* Maintainer\r\n \t* Git\r\n\r\n * [#14] Adding badges to READM.md\r\n\r\n Removed the `Maintainer` badge and added a generic badge.\r\n\r\n * [#14] Modified the Maintainer badge\r\n\r\n Using a different `shields.io` bade to do the same task of creating\r\n the `Maintainer` badge.\r\n\r\n * [#14] Corrected badge URL\r\n\r\n Modified the badge so that it displays an `svg` image.\r\n\r\n * [#14] Added new badge\r\n\r\n New badges:\r\n - `made-with-C`\r\n - `realase - version`\r\n\r\n * [#14] Added new badges\r\n\r\n Modification:\r\n - `release` badge\r\n\r\n New:\r\n - `contributors` badge\r\n\r\n * [#14] Badge modifcation\r\n\r\n Modifications:\r\n - Moved the `Git` badge to the acknowledgement section of README.md\r\n\r\n New:\r\n - `GITHUB` badge at the acknowledgement section\r\n\r\n * [#14] README.md modification\r\n\r\n Changed the header of the README.md\r\n\r\n * [#14] More acknowledgements\r\n\r\n Modification:\r\n - Github badge\r\n New badges:\r\n - ALX badge\r\n\r\n * [#14] Modification of Badges in README.md\r\n\r\n Modification:\r\n - ALX badge\r\n\r\n* [#25] Refactoring patches\r\n\r\nImplemented a new function to handle:\r\n\t- get_node_at : fetches the node at a particular position\r\n\r\n(cherry picked from commit f908e0ce33e31fc4da78f5b8b7029fec08392e83)\r\n\r\n* [#25] Corrected phony targets of Makefile\r\n\r\nThe phony target 'read_and debug' had no rule, which was a bug.\r\nIt has been updated to 'ready_and_debug', which has a rule.\r\n\r\n* [#25] New methods in Makefile\r\n\r\nUpdated Makefile so that the targets that compile the program configures\r\nthe executable. This will make the executable 'monty' available all\r\nacross the device -- not only this directory.\r\n\r\nIt was achieved by moving the executable binary to the /usr/bin\r\ndirectory\r\n\r\n* [#25] Updated Documentation of usage\r\n\r\nExplained thenew way using this program 'monty'.\r\nEmpahisizing that 'monty' can be used anywhere in the machine once\r\ninstalled.\r\n\r\n* [#23] Created configuration file\r\n\r\nThe configuration file 'config.sh' is called by make according to the\r\nMakefile. It moves the executable binary file to the '/usr/bin'\r\ndirectory where it will be accessible throught the machine.\r\n\r\nIt equally ensures that the binary file is not left lying around.\r\n\r\n* [#24] New changes\r\n\r\n* Revert 26 ebuube/25 implement new opcodes (#27)\r\n\r\n* New features for Monty (#26)\r\n\r\n* [#1] Initial Documentation\r\n\r\nCreated an AUTHORS.md file\r\nAdded the name of current contributors.\r\n\r\n* [#1] Initial Documentation\r\n\r\nDescribed the system of workflow for this repository\r\n\r\n* [#1] Initial Documentation\r\n\r\nIncluded a `.gitignore.` file in the repository and ignored `*.bak`\r\nfiles.\r\n\r\n* Revert \"Initial commit\"\r\n\r\nThis reverts commit 8277676f7951ee7661424f8b715ed7cdb70a4a9f.\r\n\r\n* [#1] Initial Documentation\r\n\r\nDescribed the system of workflow for this repository\r\nUsed proper styling to make the necessary instructions more visible\r\n\r\n* [#1] Initial Documentation\r\n\r\nDescribed the system of workflow for this repository\r\nUsed proper styling to make the necessary instructions more visible\r\nCorrected punctuation marks\r\n\r\n* [#3] Integrating pull request reviews\r\n\r\nI resolved the problems by:\r\n\t* Replacing the name `julien` with `vagrant` in the README.md\r\nfile\r\n\t* Removing the bold style in the ` ... tag\r\ncontents. I now have something that is has this format\r\n\t\t```Header : description``\r\n\r\n* Revert \"Integrating pull request reviews\"\r\n\r\n* Created README.md file (#6)\r\n\r\nResolves [#5]\r\nCloses [#1]\r\nThis commit is an attempt to push back the README.md to the remote\r\n\r\n* Basic codebase functionality (#8)\r\n\r\n* Planned procedure for the monty program\r\n\r\nThis is the algorithm for the monty program.\r\nIt explains the maxim of the steps that the monty program uses for\r\nexecution.\r\n\r\n* Created Makefile\r\n\r\nThe Makefile facilitates maintainance of the codebasee\r\n* clean: To clean or unwanted files\r\n* all: To build the executable `monty`\r\n* betty_check: To check if codebase is `betty` compliant\r\n* spell_check: To check if codebase is English is grammatically correct\r\n* check: Run both `betty_check` and `spell_check`\r\n\r\n* Implemented basic codebase functionality\r\n\r\n* Code compiles safely without memory leaks\r\n* Opens file passed to it\r\n* Reads file line by line\r\n* Parses each line to get the first two words i.e opcode and argument\r\n* Prints the output to screen - To be turned into execute operation\r\n* Closes file on exit\r\n* Ends successfully without memory leaks\r\n\r\n* Updated monty.h to accomodate the new function 'execute'\r\n\r\n* Updated 'read_file.c' so that it calls the 'execute' function when appropriate\r\n\r\n* Updated Makefile so that it incoporates 'valgrind' for mememory check\r\n\r\n* Updated Makefile with documentation on how to use it\r\n\r\n* Created a new file 'execute.c' to house the execute() funtion\r\n\r\n* [#2] Prepared basic code functionalities\r\n\r\nI successfully:\r\n* Created a well-documented Makefile for the project\r\n* Created the basic functions that handle file reading\r\n\tand parsing to select the opcodes and the arguements\r\n\r\nNote: I have not implemented the stack data structure, yet\r\n\r\n* First working model of monty (#9)\r\n\r\n* Planned procedure for the monty program\r\n\r\nThis is the algorithm for the monty program.\r\nIt explains the maxim of the steps that the monty program uses for\r\nexecution.\r\n\r\n* Created Makefile\r\n\r\nThe Makefile facilitates maintainance of the codebasee\r\n* clean: To clean or unwanted files\r\n* all: To build the executable `monty`\r\n* betty_check: To check if codebase is `betty` compliant\r\n* spell_check: To check if codebase is English is grammatically correct\r\n* check: Run both `betty_check` and `spell_check`\r\n\r\n* Implemented basic codebase functionality\r\n\r\n* Code compiles safely without memory leaks\r\n* Opens file passed to it\r\n* Reads file line by line\r\n* Parses each line to get the first two words i.e opcode and argument\r\n* Prints the output to screen - To be turned into execute operation\r\n* Closes file on exit\r\n* Ends successfully without memory leaks\r\n\r\n* Updated monty.h to accomodate the new function 'execute'\r\n\r\n* Updated 'read_file.c' so that it calls the 'execute' function when appropriate\r\n\r\n* Updated Makefile so that it incoporates 'valgrind' for mememory check\r\n\r\n* Updated Makefile with documentation on how to use it\r\n\r\n* Created a new file 'execute.c' to house the execute() funtion\r\n\r\n* [#2] Prepared basic code functionalities\r\n\r\nI successfully:\r\n* Created a well-documented Makefile for the project\r\n* Created the basic functions that handle file reading\r\n\tand parsing to select the opcodes and the arguements\r\n\r\nNote: I have not implemented the stack data structure, yet\r\n\r\n* [#2] Refactored codebase and added two opcodes\r\n\r\n- Gitignore : ignores both *.bak and valgrind-out.txt log file\r\n- Makefile: Takes note of the new file structure espcially, opcodes and\r\n\tutility directories\r\n- README.md : Warns users not to exceed INT_MIN - INT_MAX range as\r\n\topcode arguments to opcoes like push, pall, etc.\r\n- main.c : Takes not of the new codebase structure\r\n- monty.h : Added extra data types, header files and prototypes\r\n- WORKFLOW.md : Corrected patter of pulling from remote branch\r\n\r\nRemoved unwanted files they are now replaced by new ones in a different\r\n\tdirectory -> utility:\r\n- execute.c\r\n- parse_line.c\r\n- read_file.c\r\n\r\nAdded new files:\r\n- opcodes directory:\r\n\t* _pall.c : implements a function to print all elements of stack\r\n\t* _push.c : implements a function to add element to top of stack\r\n\r\n- utility directory:\r\n\t* execute.c : executes instructions\r\n\t* free_stack.c : frees stack as clean up action\r\n\t* get_int.c : safely fetches arguments to opcodes if any\r\n\t* get_opcode_func.c : fetches the opcode from a line in a bytecode\r\n\t\tfile\r\n\r\n* [#2] Modified codebase and added 'pint' opcode\r\n\r\nModification:\r\n- Makefile : that betty_check target now uses automatic variables\r\n- monty.h : now accomodates the new opcode 'pint'\r\n- utility/get_opcode_func.c : now accomodates the new opcode 'pint'\r\n\r\nNew files:\r\n- opcodes/_pint.c : implements the 'pint' opcode\r\n\r\n* [#2] Modified codebase and added 'pop' opcode\r\n\r\n Modification:\r\n - Makefile : that betty_check target now uses automatic variables\r\n - monty.h : now accomodates the new opcode 'pop'\r\n - utility/get_opcode_func.c : now accomodates the new opcode 'pop'\r\n\r\n New files:\r\n - opcodes/_pop.c : implements the 'pop' opcode\r\n\r\n* Successfully implemented Basic opcodes (#13)\r\n\r\n* Planned procedure for the monty program\r\n\r\nThis is the algorithm for the monty program.\r\nIt explains the maxim of the steps that the monty program uses for\r\nexecution.\r\n\r\n* Created Makefile\r\n\r\nThe Makefile facilitates maintainance of the codebasee\r\n* clean: To clean or unwanted files\r\n* all: To build the executable `monty`\r\n* betty_check: To check if codebase is `betty` compliant\r\n* spell_check: To check if codebase is English is grammatically correct\r\n* check: Run both `betty_check` and `spell_check`\r\n\r\n* Implemented basic codebase functionality\r\n\r\n* Code compiles safely without memory leaks\r\n* Opens file passed to it\r\n* Reads file line by line\r\n* Parses each line to get the first two words i.e opcode and argument\r\n* Prints the output to screen - To be turned into execute operation\r\n* Closes file on exit\r\n* Ends successfully without memory leaks\r\n\r\n* Updated monty.h to accomodate the new function 'execute'\r\n\r\n* Updated 'read_file.c' so that it calls the 'execute' function when appropriate\r\n\r\n* Updated Makefile so that it incoporates 'valgrind' for mememory check\r\n\r\n* Updated Makefile with documentation on how to use it\r\n\r\n* Created a new file 'execute.c' to house the execute() funtion\r\n\r\n* [#2] Prepared basic code functionalities\r\n\r\nI successfully:\r\n* Created a well-documented Makefile for the project\r\n* Created the basic functions that handle file reading\r\n\tand parsing to select the opcodes and the arguements\r\n\r\nNote: I have not implemented the stack data structure, yet\r\n\r\n* [#2] Refactored codebase and added two opcodes\r\n\r\n- Gitignore : ignores both *.bak and valgrind-out.txt log file\r\n- Makefile: Takes note of the new file structure espcially, opcodes and\r\n\tutility directories\r\n- README.md : Warns users not to exceed INT_MIN - INT_MAX range as\r\n\topcode arguments to opcoes like push, pall, etc.\r\n- main.c : Takes not of the new codebase structure\r\n- monty.h : Added extra data types, header files and prototypes\r\n- WORKFLOW.md : Corrected patter of pulling from remote branch\r\n\r\nRemoved unwanted files they are now replaced by new ones in a different\r\n\tdirectory -> utility:\r\n- execute.c\r\n- parse_line.c\r\n- read_file.c\r\n\r\nAdded new files:\r\n- opcodes directory:\r\n\t* _pall.c : implements a function to print all elements of stack\r\n\t* _push.c : implements a function to add element to top of stack\r\n\r\n- utility directory:\r\n\t* execute.c : executes instructions\r\n\t* free_stack.c : frees stack as clean up action\r\n\t* get_int.c : safely fetches arguments to opcodes if any\r\n\t* get_opcode_func.c : fetches the opcode from a line in a bytecode\r\n\t\tfile\r\n\r\n* [#2] Modified codebase and added 'pint' opcode\r\n\r\nModification:\r\n- Makefile : that betty_check target now uses automatic variables\r\n- monty.h : now accomodates the new opcode 'pint'\r\n- utility/get_opcode_func.c : now accomodates the new opcode 'pint'\r\n\r\nNew files:\r\n- opcodes/_pint.c : implements the 'pint' opcode\r\n\r\n* [#2] Modified codebase and added 'pop' opcode\r\n\r\n Modification:\r\n - Makefile : that betty_check target now uses automatic variables\r\n - monty.h : now accomodates the new opcode 'pop'\r\n - utility/get_opcode_func.c : now accomodates the new opcode 'pop'\r\n\r\n New files:\r\n - opcodes/_pop.c : implements the 'pop' opcode\r\n\r\n* [#10] Implemented the `swap` opcode\r\n\r\nModification:\r\n- monty.h : take note of the new function for swapping nodes\r\n\r\n- utility/\r\n\t*get_opcode_func.c - Included the new opcode in the instruction\r\n\t\tset\r\n- opcodes/\r\n\t* _push.c : Corrected the function so that it properly assigns the\r\n\t\t`prev` data of a node\r\n\r\nNew file:\r\n- opcodes/\r\n\t* _swap.c : Implements the `swap` opcode\r\n\r\n* [#11] Implement the `add` opcode\r\n\r\nModifications:\r\n- monty.h : include prototype of new function for 'add' opcode\r\n\r\n- utility/\r\n\t* get_opcode_func.c : included 'add' opcode in instrcutions\r\n\r\nNew files:\r\n- opcodes/\r\n\t* _add.c : implement the 'add' opcode\r\n\r\n* [#12] Implement the `nop` opcode\r\n\r\nThis opcode doesn't do anyting\r\n\r\nModification:\r\n- monty.h : included prototype of the new function that handles this\r\n\t\topcode\r\n- utility/\r\n\t* get_opcode_func.c : Added new opcode to instructions\r\n\r\nNew files:\r\n- opcodes/\r\n\t* _nop.c : implements the `nop` opcode\r\n\r\n* Create the first release (#17)\r\n\r\n* [#15] Put the markdown files in Documentation/\r\n\r\nAll the Markdown files except `README.md` file is moved to the directory\r\nnamed `Documentation`.\r\nThese files include :\r\n- AUTHORS.md\r\n- PROCEDURE.md\r\n- WORKFLOW.md\r\n\r\n* [#7] Bug in README.md documentation\r\n\r\nModifications:\r\n- Removed grammatical error\r\n- Added two Markdown badges to README.md\r\n\t* Maintainer\r\n\t* Git\r\n\r\n* [#14] Adding badges to READM.md\r\n\r\nRemoved the `Maintainer` badge and added a generic badge.\r\n\r\n* [#14] Modified the Maintainer badge\r\n\r\nUsing a different `shields.io` bade to do the same task of creating\r\nthe `Maintainer` badge.\r\n\r\n* [#14] Corrected badge URL\r\n\r\nModified the badge so that it displays an `svg` image.\r\n\r\n* [#14] Added new badge\r\n\r\nNew badges:\r\n- `made-with-C`\r\n- `realase - version`\r\n\r\n* [#14] Added new badges\r\n\r\nModification:\r\n- `release` badge\r\n\r\nNew:\r\n- `contributors` badge\r\n\r\n* [#14] Badge modifcation\r\n\r\nModifications:\r\n- Moved the `Git` badge to the acknowledgement section of README.md\r\n\r\nNew:\r\n- `GITHUB` badge at the acknowledgement section\r\n\r\n* [#14] README.md modification\r\n\r\nChanged the header of the README.md\r\n\r\n* [#14] More acknowledgements\r\n\r\nModification:\r\n- Github badge\r\nNew badges:\r\n- ALX badge\r\n\r\n* [#14] Modification of Badges in README.md\r\n\r\nModification:\r\n- ALX badge\r\n\r\n* Squashed commit of the following:\r\n\r\ncommit 3be87dddb84b4dd7b7d8aff5222b2ff8df96aafd\r\nAuthor: Ebube Gideon Onwuta <111176684+Ebuube@users.noreply.github.com>\r\nDate: Tue Jun 27 07:49:38 2023 +0100\r\n\r\n Hotfix 19 add license (#21)\r\n\r\n * Added LICENSE to proposed release\r\n\r\n This license expresses the condition for using this software product.\r\n\r\n License type: MIT\r\n\r\n * Update LICENSE\r\n\r\n Corrected the order of the names for the License bearer.\r\n\r\ncommit 74115f0c2402b9407aacd147b87447b4162539ab\r\nAuthor: Ebube Gideon Onwuta <111176684+Ebuube@users.noreply.github.com>\r\nDate: Tue Jun 27 06:39:01 2023 +0100\r\n\r\n [#19] Prerelease hotfix (#20)\r\n\r\n Modification:\r\n - README.md : Linked the `Git` acknowledgement badge to the `git` website ->\r\n https://git-scm.com/\r\n\r\n - opcodes/\r\n \t* Modified the `nop` opcode function so that it takes not of the unused\r\n \t\tparameters\r\n\r\ncommit 871877670311addca968c30ef4869916bd046a1f\r\nAuthor: Ebube Gideon Onwuta <111176684+Ebuube@users.noreply.github.com>\r\nDate: Tue Jun 27 06:19:38 2023 +0100\r\n\r\n First Major release of monty (#18)\r\n\r\n * [#1] Initial Documentation\r\n\r\n Created an AUTHORS.md file\r\n Added the name of current contributors.\r\n\r\n * [#1] Initial Documentation\r\n\r\n Described the system of workflow for this repository\r\n\r\n * [#1] Initial Documentation\r\n\r\n Included a `.gitignore.` file in the repository and ignored `*.bak`\r\n files.\r\n\r\n * Revert \"Initial commit\"\r\n\r\n This reverts commit 8277676f7951ee7661424f8b715ed7cdb70a4a9f.\r\n\r\n * [#1] Initial Documentation\r\n\r\n Described the system of workflow for this repository\r\n Used proper styling to make the necessary instructions more visible\r\n\r\n * [#1] Initial Documentation\r\n\r\n Described the system of workflow for this repository\r\n Used proper styling to make the necessary instructions more visible\r\n Corrected punctuation marks\r\n\r\n * [#3] Integrating pull request reviews\r\n\r\n I resolved the problems by:\r\n \t* Replacing the name `julien` with `vagrant` in the README.md\r\n file\r\n \t* Removing the bold style in the ` ... tag\r\n contents. I now have something that is has this format\r\n \t\t```Header : description``\r\n\r\n * Revert \"Integrating pull request reviews\"\r\n\r\n * Created README.md file (#6)\r\n\r\n Resolves [#5]\r\n Closes [#1]\r\n This commit is an attempt to push back the README.md to the remote\r\n\r\n * Basic codebase functionality (#8)\r\n\r\n * Planned procedure for the monty program\r\n\r\n This is the algorithm for the monty program.\r\n It explains the maxim of the steps that the monty program uses for\r\n execution.\r\n\r\n * Created Makefile\r\n\r\n The Makefile facilitates maintainance of the codebasee\r\n * clean: To clean or unwanted files\r\n * all: To build the executable `monty`\r\n * betty_check: To check if codebase is `betty` compliant\r\n * spell_check: To check if codebase is English is grammatically correct\r\n * check: Run both `betty_check` and `spell_check`\r\n\r\n * Implemented basic codebase functionality\r\n\r\n * Code compiles safely without memory leaks\r\n * Opens file passed to it\r\n * Reads file line by line\r\n * Parses each line to get the first two words i.e opcode and argument\r\n * Prints the output to screen - To be turned into execute operation\r\n * Closes file on exit\r\n * Ends successfully without memory leaks\r\n\r\n * Updated monty.h to accomodate the new function 'execute'\r\n\r\n * Updated 'read_file.c' so that it calls the 'execute' function when appropriate\r\n\r\n * Updated Makefile so that it incoporates 'valgrind' for mememory check\r\n\r\n * Updated Makefile with documentation on how to use it\r\n\r\n * Created a new file 'execute.c' to house the execute() funtion\r\n\r\n * [#2] Prepared basic code functionalities\r\n\r\n I successfully:\r\n * Created a well-documented Makefile for the project\r\n * Created the basic functions that handle file reading\r\n \tand parsing to select the opcodes and the arguements\r\n\r\n Note: I have not implemented the stack data structure, yet\r\n\r\n * First working model of monty (#9)\r\n\r\n * Planned procedure for the monty program\r\n\r\n This is the algorithm for the monty program.\r\n It explains the maxim of the steps that the monty program uses for\r\n execution.\r\n\r\n * Created Makefile\r\n\r\n The Makefile facilitates maintainance of the codebasee\r\n * clean: To clean or unwanted files\r\n * all: To build the executable `monty`\r\n * betty_check: To check if codebase is `betty` compliant\r\n * spell_check: To check if codebase is English is grammatically correct\r\n * check: Run both `betty_check` and `spell_check`\r\n\r\n * Implemented basic codebase functionality\r\n\r\n * Code compiles safely without memory leaks\r\n * Opens file passed to it\r\n * Reads file line by line\r\n * Parses each line to get the first two words i.e opcode and argument\r\n * Prints the output to screen - To be turned into execute operation\r\n * Closes file on exit\r\n * Ends successfully without memory leaks\r\n\r\n * Updated monty.h to accomodate the new function 'execute'\r\n\r\n * Updated 'read_file.c' so that it calls the 'execute' function when appropriate\r\n\r\n * Updated Makefile so that it incoporates 'valgrind' for mememory check\r\n\r\n * Updated Makefile with documentation on how to use it\r\n\r\n * Created a new file 'execute.c' to house the execute() funtion\r\n\r\n * [#2] Prepared basic code functionalities\r\n\r\n I successfully:\r\n * Created a well-documented Makefile for the project\r\n * Created the basic functions that handle file reading\r\n \tand parsing to select the opcodes and the arguements\r\n\r\n Note: I have not implemented the stack data structure, yet\r\n\r\n * [#2] Refactored codebase and added two opcodes\r\n\r\n - Gitignore : ignores both *.bak and valgrind-out.txt log file\r\n - Makefile: Takes note of the new file structure espcially, opcodes and\r\n \tutility directories\r\n - README.md : Warns users not to exceed INT_MIN - INT_MAX range as\r\n \topcode arguments to opcoes like push, pall, etc.\r\n - main.c : Takes not of the new codebase structure\r\n - monty.h : Added extra data types, header files and prototypes\r\n - WORKFLOW.md : Corrected patter of pulling from remote branch\r\n\r\n Removed unwanted files they are now replaced by new ones in a different\r\n \tdirectory -> utility:\r\n - execute.c\r\n - parse_line.c\r\n - read_file.c\r\n\r\n Added new files:\r\n - opcodes directory:\r\n \t* _pall.c : implements a function to print all elements of stack\r\n \t* _push.c : implements a function to add element to top of stack\r\n\r\n - utility directory:\r\n \t* execute.c : executes instructions\r\n \t* free_stack.c : frees stack as clean up action\r\n \t* get_int.c : safely fetches arguments to opcodes if any\r\n \t* get_opcode_func.c : fetches the opcode from a line in a bytecode\r\n \t\tfile\r\n\r\n * [#2] Modified codebase and added 'pint' opcode\r\n\r\n Modification:\r\n - Makefile : that betty_check target now uses automatic variables\r\n - monty.h : now accomodates the new opcode 'pint'\r\n - utility/get_opcode_func.c : now accomodates the new opcode 'pint'\r\n\r\n New files:\r\n - opcodes/_pint.c : implements the 'pint' opcode\r\n\r\n * [#2] Modified codebase and added 'pop' opcode\r\n\r\n Modification:\r\n - Makefile : that betty_check target now uses automatic variables\r\n - monty.h : now accomodates the new opcode 'pop'\r\n - utility/get_opcode_func.c : now accomodates the new opcode 'pop'\r\n\r\n New files:\r\n - opcodes/_pop.c : implements the 'pop' opcode\r\n\r\n * Successfully implemented Basic opcodes (#13)\r\n\r\n * Planned procedure for the monty program\r\n\r\n This is the algorithm for the monty program.\r\n It explains the maxim of the steps that the monty program uses for\r\n execution.\r\n\r\n * Created Makefile\r\n\r\n The Makefile facilitates maintainance of the codebasee\r\n * clean: To clean or unwanted files\r\n * all: To build the executable `monty`\r\n * betty_check: To check if codebase is `betty` compliant\r\n * spell_check: To check if codebase is English is grammatically correct\r\n * check: Run both `betty_check` and `spell_check`\r\n\r\n * Implemented basic codebase functionality\r\n\r\n * Code compiles safely without memory leaks\r\n * Opens file passed to it\r\n * Reads file line by line\r\n * Parses each line to get the first two words i.e opcode and argument\r\n * Prints the output to screen - To be turned into execute operation\r\n * Closes file on exit\r\n * Ends successfully without memory leaks\r\n\r\n * Updated monty.h to accomodate the new function 'execute'\r\n\r\n * Updated 'read_file.c' so that it calls the 'execute' function when appropriate\r\n\r\n * Updated Makefile so that it incoporates 'valgrind' for mememory check\r\n\r\n * Updated Makefile with documentation on how to use it\r\n\r\n * Created a new file 'execute.c' to house the execute() funtion\r\n\r\n * [#2] Prepared basic code functionalities\r\n\r\n I successfully:\r\n * Created a well-documented Makefile for the project\r\n * Created the basic functions that handle file reading\r\n \tand parsing to select the opcodes and the arguements\r\n\r\n Note: I have not implemented the stack data structure, yet\r\n\r\n * [#2] Refactored codebase and added two opcodes\r\n\r\n - Gitignore : ignores both *.bak and valgrind-out.txt log file\r\n - Makefile: Takes note of the new file structure espcially, opcodes and\r\n \tutility directories\r\n - README.md : Warns users not to exceed INT_MIN - INT_MAX range as\r\n \topcode arguments to opcoes like push, pall, etc.\r\n - main.c : Takes not of the new codebase structure\r\n - monty.h : Added extra data types, header files and prototypes\r\n - WORKFLOW.md : Corrected patter of pulling from remote branch\r\n\r\n Removed unwanted files they are now replaced by new ones in a different\r\n \tdirectory -> utility:\r\n - execute.c\r\n - parse_line.c\r\n - read_file.c\r\n\r\n Added new files:\r\n - opcodes directory:\r\n \t* _pall.c : implements a function to print all elements of stack\r\n \t* _push.c : implements a function to add element to top of stack\r\n\r\n - utility directory:\r\n \t* execute.c : executes instructions\r\n \t* free_stack.c : frees stack as clean up action\r\n \t* get_int.c : safely fetches arguments to opcodes if any\r\n \t* get_opcode_func.c : fetches the opcode from a line in a bytecode\r\n \t\tfile\r\n\r\n * [#2] Modified codebase and added 'pint' opcode\r\n\r\n Modification:\r\n - Makefile : that betty_check target now uses automatic variables\r\n - monty.h : now accomodates the new opcode 'pint'\r\n - utility/get_opcode_func.c : now accomodates the new opcode 'pint'\r\n\r\n New files:\r\n - opcodes/_pint.c : implements the 'pint' opcode\r\n\r\n * [#2] Modified codebase and added 'pop' opcode\r\n\r\n Modification:\r\n - Makefile : that betty_check target now uses automatic variables\r\n - monty.h : now accomodates the new opcode 'pop'\r\n - utility/get_opcode_func.c : now accomodates the new opcode 'pop'\r\n\r\n New files:\r\n - opcodes/_pop.c : implements the 'pop' opcode\r\n\r\n * [#10] Implemented the `swap` opcode\r\n\r\n Modification:\r\n - monty.h : take note of the new function for swapping nodes\r\n\r\n - utility/\r\n \t*get_opcode_func.c - Included the new opcode in the instruction\r\n \t\tset\r\n - opcodes/\r\n \t* _push.c : Corrected the function so that it properly assigns the\r\n \t\t`prev` data of a node\r\n\r\n New file:\r\n - opcodes/\r\n \t* _swap.c : Implements the `swap` opcode\r\n\r\n * [#11] Implement the `add` opcode\r\n\r\n Modifications:\r\n - monty.h : include prototype of new function for 'add' opcode\r\n\r\n - utility/\r\n \t* get_opcode_func.c : included 'add' opcode in instrcutions\r\n\r\n New files:\r\n - opcodes/\r\n \t* _add.c : implement the 'add' opcode\r\n\r\n * [#12] Implement the `nop` opcode\r\n\r\n This opcode doesn't do anyting\r\n\r\n Modification:\r\n - monty.h : included prototype of the new function that handles this\r\n \t\topcode\r\n - utility/\r\n \t* get_opcode_func.c : Added new opcode to instructions\r\n\r\n New files:\r\n - opcodes/\r\n \t* _nop.c : implements the `nop` opcode\r\n\r\n * Create the first release (#17)\r\n\r\n * [#15] Put the markdown files in Documentation/\r\n\r\n All the Markdown files except `README.md` file is moved to the directory\r\n named `Documentation`.\r\n These files include :\r\n - AUTHORS.md\r\n - PROCEDURE.md\r\n - WORKFLOW.md\r\n\r\n * [#7] Bug in README.md documentation\r\n\r\n Modifications:\r\n - Removed grammatical error\r\n - Added two Markdown badges to README.md\r\n \t* Maintainer\r\n \t* Git\r\n\r\n * [#14] Adding badges to READM.md\r\n\r\n Removed the `Maintainer` badge and added a generic badge.\r\n\r\n * [#14] Modified the Maintainer badge\r\n\r\n Using a different `shields.io` bade to do the same task of creating\r\n the `Maintainer` badge.\r\n\r\n * [#14] Corrected badge URL\r\n\r\n Modified the badge so that it displays an `svg` image.\r\n\r\n * [#14] Added new badge\r\n\r\n New badges:\r\n - `made-with-C`\r\n - `realase - version`\r\n\r\n * [#14] Added new badges\r\n\r\n Modification:\r\n - `release` badge\r\n\r\n New:\r\n - `contributors` badge\r\n\r\n * [#14] Badge modifcation\r\n\r\n Modifications:\r\n - Moved the `Git` badge to the acknowledgement section of README.md\r\n\r\n New:\r\n - `GITHUB` badge at the acknowledgement section\r\n\r\n * [#14] README.md modification\r\n\r\n Changed the header of the README.md\r\n\r\n * [#14] More acknowledgements\r\n\r\n Modification:\r\n - Github badge\r\n New badges:\r\n - ALX badge\r\n\r\n * [#14] Modification of Badges in README.md\r\n\r\n Modification:\r\n - ALX badge\r\n\r\n* [#25] Refactoring patches\r\n\r\nImplemented a new function to handle:\r\n\t- get_node_at : fetches the node at a particular position\r\n\r\n(cherry picked from commit f908e0ce33e31fc4da78f5b8b7029fec08392e83)\r\n\r\n* [#25] Corrected phony targets of Makefile\r\n\r\nThe phony target 'read_and debug' had no rule, which was a bug.\r\nIt has been updated to 'ready_and_debug', which has a rule.\r\n\r\n* [#25] New methods in Makefile\r\n\r\nUpdated Makefile so that the targets that compile the program configures\r\nthe executable. This will make the executable 'monty' available all\r\nacross the device -- not only this directory.\r\n\r\nIt was achieved by moving the executable binary to the /usr/bin\r\ndirectory\r\n\r\n* [#25] Updated Documentation of usage\r\n\r\nExplained thenew way using this program 'monty'.\r\nEmpahisizing that 'monty' can be used anywhere in the machine once\r\ninstalled.\r\n\r\n* [#23] Created configuration file\r\n\r\nThe configuration file 'config.sh' is called by make according to the\r\nMakefile. It moves the executable binary file to the '/usr/bin'\r\ndirectory where it will be accessible throught the machine.\r\n\r\nIt equally ensures that the binary file is not left lying around.\r\n\r\n* [#24] New changes\r\n\r\n* [#22] Made monty accept negative numbers\r\n\r\nBefore now, monty reports an eror for negative numbers. This has been\r\ncorrected in this commit.\r\n\r\n* [#22] Updating monty\r\n\r\nThis commit made changes that ensures monty doesn't accept invalid\r\nstrings as integers. It also makes sure that only one file is passed to\r\nmonty.\r\n\r\n* [#25] Implement new opcodes and commenting feature\r\n\r\nThese new opcodes were implemented\r\n* sub\r\n* div\r\n* mul\r\n* mod\r\n\r\nAdded the commenting feature so that any line that begins with an hash\r\n'#' is treated as a comment.\r\n\r\n* [#25] Implemented the 'pchar' opcode\r\n\r\nThis involves updating the README.md to tell about such feature.\r\n\r\n* [#25] Implement the 'pstr' opcode\r\n\r\nThis commit implements the `pstr` opcode and updated README.md with\r\ndocumentation on how to use it.\r\n\r\n* [#25] Refactored functions & added rotl opcode\r\n\r\nSome changes were made in the way these opcodes behave. Instead of\r\ncalling a get_node_at() function to fetch the second node, it removes\r\nthe need of calling another function by directly determining if stack is\r\nup to the required length. This increases the speed of the program.\r\n\r\nThese functions were refactored: _add(), _div(), _mod(), _mul(), _sub()\r\nand _swap.\r\n\r\nNew opcode 'rotl' was implemented with the _rotl() function.\r\n\r\nThe change was properly documented in the README.md\r\n\r\n* [#25] Refactored functions & added rotl opcode\r\n\r\nSome changes were made in the way these opcodes behave. Instead of\r\ncalling a get_node_at() function to fetch the second node, it removes\r\nthe need of calling another function by directly determining if stack is\r\nup to the required length. This increases the speed of the program.\r\n\r\nThese functions were refactored: _add(), _div(), _mod(), _mul(), _sub()\r\nand _swap.\r\n\r\nNew opcode 'rotl' was implemented with the _rotl() function.\r\n\r\nThe change was properly documented in the README.md\r\n\r\n* [#25] Removed previous version of files\r\n\r\n* [#25] Implemented the 'rotr' opcode\r\n\r\nCreated the function _rotr() for this opcode and updated monty.h\r\nand utility/get_opcode_func.c\r\n\r\n* [#25] Implemented the 'rotr' opcode\r\n\r\nCreated the function _rotr() for this opcode and updated monty.h\r\nand utility/get_opcode_func.c\r\n\r\nEqually update README.md with documentation on how to use it.\r\n\r\n* [#25] Implemented the 'stack' and 'queue' opcodes\r\n\r\nThe 'stack' opcode sets the data format to 'FIFO' which is the progams's\r\ndefault state.\r\nThe 'queue' opcode sets the data format to 'LIFO'.\r\n\r\nUpdated the documentation in the README.md\r\n\r\n* [#25] Implemented the 'stack' and 'queue' opcodes\r\n\r\nThe 'stack' opcode sets the data format to 'LIFO' which is the progams's\r\ndefault state.\r\nThe 'queue' opcode sets the data format to 'FIFO'.\r\n\r\nUpdated the documentation in the README.md\r\n\r\n* Revert \"New features for Monty (#26)\"\r\n\r\nThis reverts commit 415fe0a2324436215bbb99aa955541eb0c1de258.\r\n\r\n* Ebuube/25 implement new opcodes (#28)\r\n\r\n* [#22] Made monty accept negative numbers\r\n\r\nBefore now, monty reports an eror for negative numbers. This has been\r\ncorrected in this commit.\r\n\r\n* [#22] Updating monty\r\n\r\nThis commit made changes that ensures monty doesn't accept invalid\r\nstrings as integers. It also makes sure that only one file is passed to\r\nmonty.\r\n\r\n* [#25] Implement new opcodes and commenting feature\r\n\r\nThese new opcodes were implemented\r\n* sub\r\n* div\r\n* mul\r\n* mod\r\n\r\nAdded the commenting feature so that any line that begins with an hash\r\n'#' is treated as a comment.\r\n\r\n* [#25] Implemented the 'pchar' opcode\r\n\r\nThis involves updating the README.md to tell about such feature.\r\n\r\n* [#25] Implement the 'pstr' opcode\r\n\r\nThis commit implements the `pstr` opcode and updated README.md with\r\ndocumentation on how to use it.\r\n\r\n* [#25] Refactored functions & added rotl opcode\r\n\r\nSome changes were made in the way these opcodes behave. Instead of\r\ncalling a get_node_at() function to fetch the second node, it removes\r\nthe need of calling another function by directly determining if stack is\r\nup to the required length. This increases the speed of the program.\r\n\r\nThese functions were refactored: _add(), _div(), _mod(), _mul(), _sub()\r\nand _swap.\r\n\r\nNew opcode 'rotl' was implemented with the _rotl() function.\r\n\r\nThe change was properly documented in the README.md\r\n\r\n* [#25] Refactored functions & added rotl opcode\r\n\r\nSome changes were made in the way these opcodes behave. Instead of\r\ncalling a get_node_at() function to fetch the second node, it removes\r\nthe need of calling another function by directly determining if stack is\r\nup to the required length. This increases the speed of the program.\r\n\r\nThese functions were refactored: _add(), _div(), _mod(), _mul(), _sub()\r\nand _swap.\r\n\r\nNew opcode 'rotl' was implemented with the _rotl() function.\r\n\r\nThe change was properly documented in the README.md\r\n\r\n* [#25] Removed previous version of files\r\n\r\n* [#25] Implemented the 'rotr' opcode\r\n\r\nCreated the function _rotr() for this opcode and updated monty.h\r\nand utility/get_opcode_func.c\r\n\r\n* [#25] Implemented the 'rotr' opcode\r\n\r\nCreated the function _rotr() for this opcode and updated monty.h\r\nand utility/get_opcode_func.c\r\n\r\nEqually update README.md with documentation on how to use it.\r\n\r\n* [#25] Implemented the 'stack' and 'queue' opcodes\r\n\r\nThe 'stack' opcode sets the data format to 'FIFO' which is the progams's\r\ndefault state.\r\nThe 'queue' opcode sets the data format to 'LIFO'.\r\n\r\nUpdated the documentation in the README.md\r\n\r\n* [#25] Implemented the 'stack' and 'queue' opcodes\r\n\r\nThe 'stack' opcode sets the data format to 'LIFO' which is the progams's\r\ndefault state.\r\nThe 'queue' opcode sets the data format to 'FIFO'.\r\n\r\nUpdated the documentation in the README.md","shortMessageHtmlLink":"New Features Implemented (#29)"}},{"before":"0092bbb28a62a152090b244952fce3d6eac82240","after":"b621ec0adf264a0a521d61d9fc0e249e4d4a603c","ref":"refs/heads/develop","pushedAt":"2023-06-30T23:50:02.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"Ebuube","name":"Ebube Gideon Onwuta","path":"/Ebuube","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/111176684?s=80&v=4"},"commit":{"message":"Ebuube/25 implement new opcodes (#28)\n\n* [#22] Made monty accept negative numbers\r\n\r\nBefore now, monty reports an eror for negative numbers. This has been\r\ncorrected in this commit.\r\n\r\n* [#22] Updating monty\r\n\r\nThis commit made changes that ensures monty doesn't accept invalid\r\nstrings as integers. It also makes sure that only one file is passed to\r\nmonty.\r\n\r\n* [#25] Implement new opcodes and commenting feature\r\n\r\nThese new opcodes were implemented\r\n* sub\r\n* div\r\n* mul\r\n* mod\r\n\r\nAdded the commenting feature so that any line that begins with an hash\r\n'#' is treated as a comment.\r\n\r\n* [#25] Implemented the 'pchar' opcode\r\n\r\nThis involves updating the README.md to tell about such feature.\r\n\r\n* [#25] Implement the 'pstr' opcode\r\n\r\nThis commit implements the `pstr` opcode and updated README.md with\r\ndocumentation on how to use it.\r\n\r\n* [#25] Refactored functions & added rotl opcode\r\n\r\nSome changes were made in the way these opcodes behave. Instead of\r\ncalling a get_node_at() function to fetch the second node, it removes\r\nthe need of calling another function by directly determining if stack is\r\nup to the required length. This increases the speed of the program.\r\n\r\nThese functions were refactored: _add(), _div(), _mod(), _mul(), _sub()\r\nand _swap.\r\n\r\nNew opcode 'rotl' was implemented with the _rotl() function.\r\n\r\nThe change was properly documented in the README.md\r\n\r\n* [#25] Refactored functions & added rotl opcode\r\n\r\nSome changes were made in the way these opcodes behave. Instead of\r\ncalling a get_node_at() function to fetch the second node, it removes\r\nthe need of calling another function by directly determining if stack is\r\nup to the required length. This increases the speed of the program.\r\n\r\nThese functions were refactored: _add(), _div(), _mod(), _mul(), _sub()\r\nand _swap.\r\n\r\nNew opcode 'rotl' was implemented with the _rotl() function.\r\n\r\nThe change was properly documented in the README.md\r\n\r\n* [#25] Removed previous version of files\r\n\r\n* [#25] Implemented the 'rotr' opcode\r\n\r\nCreated the function _rotr() for this opcode and updated monty.h\r\nand utility/get_opcode_func.c\r\n\r\n* [#25] Implemented the 'rotr' opcode\r\n\r\nCreated the function _rotr() for this opcode and updated monty.h\r\nand utility/get_opcode_func.c\r\n\r\nEqually update README.md with documentation on how to use it.\r\n\r\n* [#25] Implemented the 'stack' and 'queue' opcodes\r\n\r\nThe 'stack' opcode sets the data format to 'FIFO' which is the progams's\r\ndefault state.\r\nThe 'queue' opcode sets the data format to 'LIFO'.\r\n\r\nUpdated the documentation in the README.md\r\n\r\n* [#25] Implemented the 'stack' and 'queue' opcodes\r\n\r\nThe 'stack' opcode sets the data format to 'LIFO' which is the progams's\r\ndefault state.\r\nThe 'queue' opcode sets the data format to 'FIFO'.\r\n\r\nUpdated the documentation in the README.md","shortMessageHtmlLink":"Ebuube/25 implement new opcodes (#28)"}},{"before":null,"after":"62049ad39e1be917e3c9cca1b15fecf3326ea0d7","ref":"refs/heads/Ebuube/25-implement_new_opcodes","pushedAt":"2023-06-30T23:47:20.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"Ebuube","name":"Ebube Gideon Onwuta","path":"/Ebuube","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/111176684?s=80&v=4"},"commit":{"message":"Merge branch 'develop' of https://github.com/Ebuube/Monty_language into Ebuube/25-implement_new_opcodes","shortMessageHtmlLink":"Merge branch 'develop' of https://github.com/Ebuube/Monty_language inโ€ฆ"}},{"before":"35f43a8061a8f994ae72d711fb933a6afbab193e","after":"0092bbb28a62a152090b244952fce3d6eac82240","ref":"refs/heads/develop","pushedAt":"2023-06-30T23:42:59.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"Ebuube","name":"Ebube Gideon Onwuta","path":"/Ebuube","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/111176684?s=80&v=4"},"commit":{"message":"Revert 26 ebuube/25 implement new opcodes (#27)\n\n* New features for Monty (#26)\r\n\r\n* [#1] Initial Documentation\r\n\r\nCreated an AUTHORS.md file\r\nAdded the name of current contributors.\r\n\r\n* [#1] Initial Documentation\r\n\r\nDescribed the system of workflow for this repository\r\n\r\n* [#1] Initial Documentation\r\n\r\nIncluded a `.gitignore.` file in the repository and ignored `*.bak`\r\nfiles.\r\n\r\n* Revert \"Initial commit\"\r\n\r\nThis reverts commit 8277676f7951ee7661424f8b715ed7cdb70a4a9f.\r\n\r\n* [#1] Initial Documentation\r\n\r\nDescribed the system of workflow for this repository\r\nUsed proper styling to make the necessary instructions more visible\r\n\r\n* [#1] Initial Documentation\r\n\r\nDescribed the system of workflow for this repository\r\nUsed proper styling to make the necessary instructions more visible\r\nCorrected punctuation marks\r\n\r\n* [#3] Integrating pull request reviews\r\n\r\nI resolved the problems by:\r\n\t* Replacing the name `julien` with `vagrant` in the README.md\r\nfile\r\n\t* Removing the bold style in the ` ... tag\r\ncontents. I now have something that is has this format\r\n\t\t```Header : description``\r\n\r\n* Revert \"Integrating pull request reviews\"\r\n\r\n* Created README.md file (#6)\r\n\r\nResolves [#5]\r\nCloses [#1]\r\nThis commit is an attempt to push back the README.md to the remote\r\n\r\n* Basic codebase functionality (#8)\r\n\r\n* Planned procedure for the monty program\r\n\r\nThis is the algorithm for the monty program.\r\nIt explains the maxim of the steps that the monty program uses for\r\nexecution.\r\n\r\n* Created Makefile\r\n\r\nThe Makefile facilitates maintainance of the codebasee\r\n* clean: To clean or unwanted files\r\n* all: To build the executable `monty`\r\n* betty_check: To check if codebase is `betty` compliant\r\n* spell_check: To check if codebase is English is grammatically correct\r\n* check: Run both `betty_check` and `spell_check`\r\n\r\n* Implemented basic codebase functionality\r\n\r\n* Code compiles safely without memory leaks\r\n* Opens file passed to it\r\n* Reads file line by line\r\n* Parses each line to get the first two words i.e opcode and argument\r\n* Prints the output to screen - To be turned into execute operation\r\n* Closes file on exit\r\n* Ends successfully without memory leaks\r\n\r\n* Updated monty.h to accomodate the new function 'execute'\r\n\r\n* Updated 'read_file.c' so that it calls the 'execute' function when appropriate\r\n\r\n* Updated Makefile so that it incoporates 'valgrind' for mememory check\r\n\r\n* Updated Makefile with documentation on how to use it\r\n\r\n* Created a new file 'execute.c' to house the execute() funtion\r\n\r\n* [#2] Prepared basic code functionalities\r\n\r\nI successfully:\r\n* Created a well-documented Makefile for the project\r\n* Created the basic functions that handle file reading\r\n\tand parsing to select the opcodes and the arguements\r\n\r\nNote: I have not implemented the stack data structure, yet\r\n\r\n* First working model of monty (#9)\r\n\r\n* Planned procedure for the monty program\r\n\r\nThis is the algorithm for the monty program.\r\nIt explains the maxim of the steps that the monty program uses for\r\nexecution.\r\n\r\n* Created Makefile\r\n\r\nThe Makefile facilitates maintainance of the codebasee\r\n* clean: To clean or unwanted files\r\n* all: To build the executable `monty`\r\n* betty_check: To check if codebase is `betty` compliant\r\n* spell_check: To check if codebase is English is grammatically correct\r\n* check: Run both `betty_check` and `spell_check`\r\n\r\n* Implemented basic codebase functionality\r\n\r\n* Code compiles safely without memory leaks\r\n* Opens file passed to it\r\n* Reads file line by line\r\n* Parses each line to get the first two words i.e opcode and argument\r\n* Prints the output to screen - To be turned into execute operation\r\n* Closes file on exit\r\n* Ends successfully without memory leaks\r\n\r\n* Updated monty.h to accomodate the new function 'execute'\r\n\r\n* Updated 'read_file.c' so that it calls the 'execute' function when appropriate\r\n\r\n* Updated Makefile so that it incoporates 'valgrind' for mememory check\r\n\r\n* Updated Makefile with documentation on how to use it\r\n\r\n* Created a new file 'execute.c' to house the execute() funtion\r\n\r\n* [#2] Prepared basic code functionalities\r\n\r\nI successfully:\r\n* Created a well-documented Makefile for the project\r\n* Created the basic functions that handle file reading\r\n\tand parsing to select the opcodes and the arguements\r\n\r\nNote: I have not implemented the stack data structure, yet\r\n\r\n* [#2] Refactored codebase and added two opcodes\r\n\r\n- Gitignore : ignores both *.bak and valgrind-out.txt log file\r\n- Makefile: Takes note of the new file structure espcially, opcodes and\r\n\tutility directories\r\n- README.md : Warns users not to exceed INT_MIN - INT_MAX range as\r\n\topcode arguments to opcoes like push, pall, etc.\r\n- main.c : Takes not of the new codebase structure\r\n- monty.h : Added extra data types, header files and prototypes\r\n- WORKFLOW.md : Corrected patter of pulling from remote branch\r\n\r\nRemoved unwanted files they are now replaced by new ones in a different\r\n\tdirectory -> utility:\r\n- execute.c\r\n- parse_line.c\r\n- read_file.c\r\n\r\nAdded new files:\r\n- opcodes directory:\r\n\t* _pall.c : implements a function to print all elements of stack\r\n\t* _push.c : implements a function to add element to top of stack\r\n\r\n- utility directory:\r\n\t* execute.c : executes instructions\r\n\t* free_stack.c : frees stack as clean up action\r\n\t* get_int.c : safely fetches arguments to opcodes if any\r\n\t* get_opcode_func.c : fetches the opcode from a line in a bytecode\r\n\t\tfile\r\n\r\n* [#2] Modified codebase and added 'pint' opcode\r\n\r\nModification:\r\n- Makefile : that betty_check target now uses automatic variables\r\n- monty.h : now accomodates the new opcode 'pint'\r\n- utility/get_opcode_func.c : now accomodates the new opcode 'pint'\r\n\r\nNew files:\r\n- opcodes/_pint.c : implements the 'pint' opcode\r\n\r\n* [#2] Modified codebase and added 'pop' opcode\r\n\r\n Modification:\r\n - Makefile : that betty_check target now uses automatic variables\r\n - monty.h : now accomodates the new opcode 'pop'\r\n - utility/get_opcode_func.c : now accomodates the new opcode 'pop'\r\n\r\n New files:\r\n - opcodes/_pop.c : implements the 'pop' opcode\r\n\r\n* Successfully implemented Basic opcodes (#13)\r\n\r\n* Planned procedure for the monty program\r\n\r\nThis is the algorithm for the monty program.\r\nIt explains the maxim of the steps that the monty program uses for\r\nexecution.\r\n\r\n* Created Makefile\r\n\r\nThe Makefile facilitates maintainance of the codebasee\r\n* clean: To clean or unwanted files\r\n* all: To build the executable `monty`\r\n* betty_check: To check if codebase is `betty` compliant\r\n* spell_check: To check if codebase is English is grammatically correct\r\n* check: Run both `betty_check` and `spell_check`\r\n\r\n* Implemented basic codebase functionality\r\n\r\n* Code compiles safely without memory leaks\r\n* Opens file passed to it\r\n* Reads file line by line\r\n* Parses each line to get the first two words i.e opcode and argument\r\n* Prints the output to screen - To be turned into execute operation\r\n* Closes file on exit\r\n* Ends successfully without memory leaks\r\n\r\n* Updated monty.h to accomodate the new function 'execute'\r\n\r\n* Updated 'read_file.c' so that it calls the 'execute' function when appropriate\r\n\r\n* Updated Makefile so that it incoporates 'valgrind' for mememory check\r\n\r\n* Updated Makefile with documentation on how to use it\r\n\r\n* Created a new file 'execute.c' to house the execute() funtion\r\n\r\n* [#2] Prepared basic code functionalities\r\n\r\nI successfully:\r\n* Created a well-documented Makefile for the project\r\n* Created the basic functions that handle file reading\r\n\tand parsing to select the opcodes and the arguements\r\n\r\nNote: I have not implemented the stack data structure, yet\r\n\r\n* [#2] Refactored codebase and added two opcodes\r\n\r\n- Gitignore : ignores both *.bak and valgrind-out.txt log file\r\n- Makefile: Takes note of the new file structure espcially, opcodes and\r\n\tutility directories\r\n- README.md : Warns users not to exceed INT_MIN - INT_MAX range as\r\n\topcode arguments to opcoes like push, pall, etc.\r\n- main.c : Takes not of the new codebase structure\r\n- monty.h : Added extra data types, header files and prototypes\r\n- WORKFLOW.md : Corrected patter of pulling from remote branch\r\n\r\nRemoved unwanted files they are now replaced by new ones in a different\r\n\tdirectory -> utility:\r\n- execute.c\r\n- parse_line.c\r\n- read_file.c\r\n\r\nAdded new files:\r\n- opcodes directory:\r\n\t* _pall.c : implements a function to print all elements of stack\r\n\t* _push.c : implements a function to add element to top of stack\r\n\r\n- utility directory:\r\n\t* execute.c : executes instructions\r\n\t* free_stack.c : frees stack as clean up action\r\n\t* get_int.c : safely fetches arguments to opcodes if any\r\n\t* get_opcode_func.c : fetches the opcode from a line in a bytecode\r\n\t\tfile\r\n\r\n* [#2] Modified codebase and added 'pint' opcode\r\n\r\nModification:\r\n- Makefile : that betty_check target now uses automatic variables\r\n- monty.h : now accomodates the new opcode 'pint'\r\n- utility/get_opcode_func.c : now accomodates the new opcode 'pint'\r\n\r\nNew files:\r\n- opcodes/_pint.c : implements the 'pint' opcode\r\n\r\n* [#2] Modified codebase and added 'pop' opcode\r\n\r\n Modification:\r\n - Makefile : that betty_check target now uses automatic variables\r\n - monty.h : now accomodates the new opcode 'pop'\r\n - utility/get_opcode_func.c : now accomodates the new opcode 'pop'\r\n\r\n New files:\r\n - opcodes/_pop.c : implements the 'pop' opcode\r\n\r\n* [#10] Implemented the `swap` opcode\r\n\r\nModification:\r\n- monty.h : take note of the new function for swapping nodes\r\n\r\n- utility/\r\n\t*get_opcode_func.c - Included the new opcode in the instruction\r\n\t\tset\r\n- opcodes/\r\n\t* _push.c : Corrected the function so that it properly assigns the\r\n\t\t`prev` data of a node\r\n\r\nNew file:\r\n- opcodes/\r\n\t* _swap.c : Implements the `swap` opcode\r\n\r\n* [#11] Implement the `add` opcode\r\n\r\nModifications:\r\n- monty.h : include prototype of new function for 'add' opcode\r\n\r\n- utility/\r\n\t* get_opcode_func.c : included 'add' opcode in instrcutions\r\n\r\nNew files:\r\n- opcodes/\r\n\t* _add.c : implement the 'add' opcode\r\n\r\n* [#12] Implement the `nop` opcode\r\n\r\nThis opcode doesn't do anyting\r\n\r\nModification:\r\n- monty.h : included prototype of the new function that handles this\r\n\t\topcode\r\n- utility/\r\n\t* get_opcode_func.c : Added new opcode to instructions\r\n\r\nNew files:\r\n- opcodes/\r\n\t* _nop.c : implements the `nop` opcode\r\n\r\n* Create the first release (#17)\r\n\r\n* [#15] Put the markdown files in Documentation/\r\n\r\nAll the Markdown files except `README.md` file is moved to the directory\r\nnamed `Documentation`.\r\nThese files include :\r\n- AUTHORS.md\r\n- PROCEDURE.md\r\n- WORKFLOW.md\r\n\r\n* [#7] Bug in README.md documentation\r\n\r\nModifications:\r\n- Removed grammatical error\r\n- Added two Markdown badges to README.md\r\n\t* Maintainer\r\n\t* Git\r\n\r\n* [#14] Adding badges to READM.md\r\n\r\nRemoved the `Maintainer` badge and added a generic badge.\r\n\r\n* [#14] Modified the Maintainer badge\r\n\r\nUsing a different `shields.io` bade to do the same task of creating\r\nthe `Maintainer` badge.\r\n\r\n* [#14] Corrected badge URL\r\n\r\nModified the badge so that it displays an `svg` image.\r\n\r\n* [#14] Added new badge\r\n\r\nNew badges:\r\n- `made-with-C`\r\n- `realase - version`\r\n\r\n* [#14] Added new badges\r\n\r\nModification:\r\n- `release` badge\r\n\r\nNew:\r\n- `contributors` badge\r\n\r\n* [#14] Badge modifcation\r\n\r\nModifications:\r\n- Moved the `Git` badge to the acknowledgement section of README.md\r\n\r\nNew:\r\n- `GITHUB` badge at the acknowledgement section\r\n\r\n* [#14] README.md modification\r\n\r\nChanged the header of the README.md\r\n\r\n* [#14] More acknowledgements\r\n\r\nModification:\r\n- Github badge\r\nNew badges:\r\n- ALX badge\r\n\r\n* [#14] Modification of Badges in README.md\r\n\r\nModification:\r\n- ALX badge\r\n\r\n* Squashed commit of the following:\r\n\r\ncommit 3be87dddb84b4dd7b7d8aff5222b2ff8df96aafd\r\nAuthor: Ebube Gideon Onwuta <111176684+Ebuube@users.noreply.github.com>\r\nDate: Tue Jun 27 07:49:38 2023 +0100\r\n\r\n Hotfix 19 add license (#21)\r\n\r\n * Added LICENSE to proposed release\r\n\r\n This license expresses the condition for using this software product.\r\n\r\n License type: MIT\r\n\r\n * Update LICENSE\r\n\r\n Corrected the order of the names for the License bearer.\r\n\r\ncommit 74115f0c2402b9407aacd147b87447b4162539ab\r\nAuthor: Ebube Gideon Onwuta <111176684+Ebuube@users.noreply.github.com>\r\nDate: Tue Jun 27 06:39:01 2023 +0100\r\n\r\n [#19] Prerelease hotfix (#20)\r\n\r\n Modification:\r\n - README.md : Linked the `Git` acknowledgement badge to the `git` website ->\r\n https://git-scm.com/\r\n\r\n - opcodes/\r\n \t* Modified the `nop` opcode function so that it takes not of the unused\r\n \t\tparameters\r\n\r\ncommit 871877670311addca968c30ef4869916bd046a1f\r\nAuthor: Ebube Gideon Onwuta <111176684+Ebuube@users.noreply.github.com>\r\nDate: Tue Jun 27 06:19:38 2023 +0100\r\n\r\n First Major release of monty (#18)\r\n\r\n * [#1] Initial Documentation\r\n\r\n Created an AUTHORS.md file\r\n Added the name of current contributors.\r\n\r\n * [#1] Initial Documentation\r\n\r\n Described the system of workflow for this repository\r\n\r\n * [#1] Initial Documentation\r\n\r\n Included a `.gitignore.` file in the repository and ignored `*.bak`\r\n files.\r\n\r\n * Revert \"Initial commit\"\r\n\r\n This reverts commit 8277676f7951ee7661424f8b715ed7cdb70a4a9f.\r\n\r\n * [#1] Initial Documentation\r\n\r\n Described the system of workflow for this repository\r\n Used proper styling to make the necessary instructions more visible\r\n\r\n * [#1] Initial Documentation\r\n\r\n Described the system of workflow for this repository\r\n Used proper styling to make the necessary instructions more visible\r\n Corrected punctuation marks\r\n\r\n * [#3] Integrating pull request reviews\r\n\r\n I resolved the problems by:\r\n \t* Replacing the name `julien` with `vagrant` in the README.md\r\n file\r\n \t* Removing the bold style in the ` ... tag\r\n contents. I now have something that is has this format\r\n \t\t```Header : description``\r\n\r\n * Revert \"Integrating pull request reviews\"\r\n\r\n * Created README.md file (#6)\r\n\r\n Resolves [#5]\r\n Closes [#1]\r\n This commit is an attempt to push back the README.md to the remote\r\n\r\n * Basic codebase functionality (#8)\r\n\r\n * Planned procedure for the monty program\r\n\r\n This is the algorithm for the monty program.\r\n It explains the maxim of the steps that the monty program uses for\r\n execution.\r\n\r\n * Created Makefile\r\n\r\n The Makefile facilitates maintainance of the codebasee\r\n * clean: To clean or unwanted files\r\n * all: To build the executable `monty`\r\n * betty_check: To check if codebase is `betty` compliant\r\n * spell_check: To check if codebase is English is grammatically correct\r\n * check: Run both `betty_check` and `spell_check`\r\n\r\n * Implemented basic codebase functionality\r\n\r\n * Code compiles safely without memory leaks\r\n * Opens file passed to it\r\n * Reads file line by line\r\n * Parses each line to get the first two words i.e opcode and argument\r\n * Prints the output to screen - To be turned into execute operation\r\n * Closes file on exit\r\n * Ends successfully without memory leaks\r\n\r\n * Updated monty.h to accomodate the new function 'execute'\r\n\r\n * Updated 'read_file.c' so that it calls the 'execute' function when appropriate\r\n\r\n * Updated Makefile so that it incoporates 'valgrind' for mememory check\r\n\r\n * Updated Makefile with documentation on how to use it\r\n\r\n * Created a new file 'execute.c' to house the execute() funtion\r\n\r\n * [#2] Prepared basic code functionalities\r\n\r\n I successfully:\r\n * Created a well-documented Makefile for the project\r\n * Created the basic functions that handle file reading\r\n \tand parsing to select the opcodes and the arguements\r\n\r\n Note: I have not implemented the stack data structure, yet\r\n\r\n * First working model of monty (#9)\r\n\r\n * Planned procedure for the monty program\r\n\r\n This is the algorithm for the monty program.\r\n It explains the maxim of the steps that the monty program uses for\r\n execution.\r\n\r\n * Created Makefile\r\n\r\n The Makefile facilitates maintainance of the codebasee\r\n * clean: To clean or unwanted files\r\n * all: To build the executable `monty`\r\n * betty_check: To check if codebase is `betty` compliant\r\n * spell_check: To check if codebase is English is grammatically correct\r\n * check: Run both `betty_check` and `spell_check`\r\n\r\n * Implemented basic codebase functionality\r\n\r\n * Code compiles safely without memory leaks\r\n * Opens file passed to it\r\n * Reads file line by line\r\n * Parses each line to get the first two words i.e opcode and argument\r\n * Prints the output to screen - To be turned into execute operation\r\n * Closes file on exit\r\n * Ends successfully without memory leaks\r\n\r\n * Updated monty.h to accomodate the new function 'execute'\r\n\r\n * Updated 'read_file.c' so that it calls the 'execute' function when appropriate\r\n\r\n * Updated Makefile so that it incoporates 'valgrind' for mememory check\r\n\r\n * Updated Makefile with documentation on how to use it\r\n\r\n * Created a new file 'execute.c' to house the execute() funtion\r\n\r\n * [#2] Prepared basic code functionalities\r\n\r\n I successfully:\r\n * Created a well-documented Makefile for the project\r\n * Created the basic functions that handle file reading\r\n \tand parsing to select the opcodes and the arguements\r\n\r\n Note: I have not implemented the stack data structure, yet\r\n\r\n * [#2] Refactored codebase and added two opcodes\r\n\r\n - Gitignore : ignores both *.bak and valgrind-out.txt log file\r\n - Makefile: Takes note of the new file structure espcially, opcodes and\r\n \tutility directories\r\n - README.md : Warns users not to exceed INT_MIN - INT_MAX range as\r\n \topcode arguments to opcoes like push, pall, etc.\r\n - main.c : Takes not of the new codebase structure\r\n - monty.h : Added extra data types, header files and prototypes\r\n - WORKFLOW.md : Corrected patter of pulling from remote branch\r\n\r\n Removed unwanted files they are now replaced by new ones in a different\r\n \tdirectory -> utility:\r\n - execute.c\r\n - parse_line.c\r\n - read_file.c\r\n\r\n Added new files:\r\n - opcodes directory:\r\n \t* _pall.c : implements a function to print all elements of stack\r\n \t* _push.c : implements a function to add element to top of stack\r\n\r\n - utility directory:\r\n \t* execute.c : executes instructions\r\n \t* free_stack.c : frees stack as clean up action\r\n \t* get_int.c : safely fetches arguments to opcodes if any\r\n \t* get_opcode_func.c : fetches the opcode from a line in a bytecode\r\n \t\tfile\r\n\r\n * [#2] Modified codebase and added 'pint' opcode\r\n\r\n Modification:\r\n - Makefile : that betty_check target now uses automatic variables\r\n - monty.h : now accomodates the new opcode 'pint'\r\n - utility/get_opcode_func.c : now accomodates the new opcode 'pint'\r\n\r\n New files:\r\n - opcodes/_pint.c : implements the 'pint' opcode\r\n\r\n * [#2] Modified codebase and added 'pop' opcode\r\n\r\n Modification:\r\n - Makefile : that betty_check target now uses automatic variables\r\n - monty.h : now accomodates the new opcode 'pop'\r\n - utility/get_opcode_func.c : now accomodates the new opcode 'pop'\r\n\r\n New files:\r\n - opcodes/_pop.c : implements the 'pop' opcode\r\n\r\n * Successfully implemented Basic opcodes (#13)\r\n\r\n * Planned procedure for the monty program\r\n\r\n This is the algorithm for the monty program.\r\n It explains the maxim of the steps that the monty program uses for\r\n execution.\r\n\r\n * Created Makefile\r\n\r\n The Makefile facilitates maintainance of the codebasee\r\n * clean: To clean or unwanted files\r\n * all: To build the executable `monty`\r\n * betty_check: To check if codebase is `betty` compliant\r\n * spell_check: To check if codebase is English is grammatically correct\r\n * check: Run both `betty_check` and `spell_check`\r\n\r\n * Implemented basic codebase functionality\r\n\r\n * Code compiles safely without memory leaks\r\n * Opens file passed to it\r\n * Reads file line by line\r\n * Parses each line to get the first two words i.e opcode and argument\r\n * Prints the output to screen - To be turned into execute operation\r\n * Closes file on exit\r\n * Ends successfully without memory leaks\r\n\r\n * Updated monty.h to accomodate the new function 'execute'\r\n\r\n * Updated 'read_file.c' so that it calls the 'execute' function when appropriate\r\n\r\n * Updated Makefile so that it incoporates 'valgrind' for mememory check\r\n\r\n * Updated Makefile with documentation on how to use it\r\n\r\n * Created a new file 'execute.c' to house the execute() funtion\r\n\r\n * [#2] Prepared basic code functionalities\r\n\r\n I successfully:\r\n * Created a well-documented Makefile for the project\r\n * Created the basic functions that handle file reading\r\n \tand parsing to select the opcodes and the arguements\r\n\r\n Note: I have not implemented the stack data structure, yet\r\n\r\n * [#2] Refactored codebase and added two opcodes\r\n\r\n - Gitignore : ignores both *.bak and valgrind-out.txt log file\r\n - Makefile: Takes note of the new file structure espcially, opcodes and\r\n \tutility directories\r\n - README.md : Warns users not to exceed INT_MIN - INT_MAX range as\r\n \topcode arguments to opcoes like push, pall, etc.\r\n - main.c : Takes not of the new codebase structure\r\n - monty.h : Added extra data types, header files and prototypes\r\n - WORKFLOW.md : Corrected patter of pulling from remote branch\r\n\r\n Removed unwanted files they are now replaced by new ones in a different\r\n \tdirectory -> utility:\r\n - execute.c\r\n - parse_line.c\r\n - read_file.c\r\n\r\n Added new files:\r\n - opcodes directory:\r\n \t* _pall.c : implements a function to print all elements of stack\r\n \t* _push.c : implements a function to add element to top of stack\r\n\r\n - utility directory:\r\n \t* execute.c : executes instructions\r\n \t* free_stack.c : frees stack as clean up action\r\n \t* get_int.c : safely fetches arguments to opcodes if any\r\n \t* get_opcode_func.c : fetches the opcode from a line in a bytecode\r\n \t\tfile\r\n\r\n * [#2] Modified codebase and added 'pint' opcode\r\n\r\n Modification:\r\n - Makefile : that betty_check target now uses automatic variables\r\n - monty.h : now accomodates the new opcode 'pint'\r\n - utility/get_opcode_func.c : now accomodates the new opcode 'pint'\r\n\r\n New files:\r\n - opcodes/_pint.c : implements the 'pint' opcode\r\n\r\n * [#2] Modified codebase and added 'pop' opcode\r\n\r\n Modification:\r\n - Makefile : that betty_check target now uses automatic variables\r\n - monty.h : now accomodates the new opcode 'pop'\r\n - utility/get_opcode_func.c : now accomodates the new opcode 'pop'\r\n\r\n New files:\r\n - opcodes/_pop.c : implements the 'pop' opcode\r\n\r\n * [#10] Implemented the `swap` opcode\r\n\r\n Modification:\r\n - monty.h : take note of the new function for swapping nodes\r\n\r\n - utility/\r\n \t*get_opcode_func.c - Included the new opcode in the instruction\r\n \t\tset\r\n - opcodes/\r\n \t* _push.c : Corrected the function so that it properly assigns the\r\n \t\t`prev` data of a node\r\n\r\n New file:\r\n - opcodes/\r\n \t* _swap.c : Implements the `swap` opcode\r\n\r\n * [#11] Implement the `add` opcode\r\n\r\n Modifications:\r\n - monty.h : include prototype of new function for 'add' opcode\r\n\r\n - utility/\r\n \t* get_opcode_func.c : included 'add' opcode in instrcutions\r\n\r\n New files:\r\n - opcodes/\r\n \t* _add.c : implement the 'add' opcode\r\n\r\n * [#12] Implement the `nop` opcode\r\n\r\n This opcode doesn't do anyting\r\n\r\n Modification:\r\n - monty.h : included prototype of the new function that handles this\r\n \t\topcode\r\n - utility/\r\n \t* get_opcode_func.c : Added new opcode to instructions\r\n\r\n New files:\r\n - opcodes/\r\n \t* _nop.c : implements the `nop` opcode\r\n\r\n * Create the first release (#17)\r\n\r\n * [#15] Put the markdown files in Documentation/\r\n\r\n All the Markdown files except `README.md` file is moved to the directory\r\n named `Documentation`.\r\n These files include :\r\n - AUTHORS.md\r\n - PROCEDURE.md\r\n - WORKFLOW.md\r\n\r\n * [#7] Bug in README.md documentation\r\n\r\n Modifications:\r\n - Removed grammatical error\r\n - Added two Markdown badges to README.md\r\n \t* Maintainer\r\n \t* Git\r\n\r\n * [#14] Adding badges to READM.md\r\n\r\n Removed the `Maintainer` badge and added a generic badge.\r\n\r\n * [#14] Modified the Maintainer badge\r\n\r\n Using a different `shields.io` bade to do the same task of creating\r\n the `Maintainer` badge.\r\n\r\n * [#14] Corrected badge URL\r\n\r\n Modified the badge so that it displays an `svg` image.\r\n\r\n * [#14] Added new badge\r\n\r\n New badges:\r\n - `made-with-C`\r\n - `realase - version`\r\n\r\n * [#14] Added new badges\r\n\r\n Modification:\r\n - `release` badge\r\n\r\n New:\r\n - `contributors` badge\r\n\r\n * [#14] Badge modifcation\r\n\r\n Modifications:\r\n - Moved the `Git` badge to the acknowledgement section of README.md\r\n\r\n New:\r\n - `GITHUB` badge at the acknowledgement section\r\n\r\n * [#14] README.md modification\r\n\r\n Changed the header of the README.md\r\n\r\n * [#14] More acknowledgements\r\n\r\n Modification:\r\n - Github badge\r\n New badges:\r\n - ALX badge\r\n\r\n * [#14] Modification of Badges in README.md\r\n\r\n Modification:\r\n - ALX badge\r\n\r\n* [#25] Refactoring patches\r\n\r\nImplemented a new function to handle:\r\n\t- get_node_at : fetches the node at a particular position\r\n\r\n(cherry picked from commit f908e0ce33e31fc4da78f5b8b7029fec08392e83)\r\n\r\n* [#25] Corrected phony targets of Makefile\r\n\r\nThe phony target 'read_and debug' had no rule, which was a bug.\r\nIt has been updated to 'ready_and_debug', which has a rule.\r\n\r\n* [#25] New methods in Makefile\r\n\r\nUpdated Makefile so that the targets that compile the program configures\r\nthe executable. This will make the executable 'monty' available all\r\nacross the device -- not only this directory.\r\n\r\nIt was achieved by moving the executable binary to the /usr/bin\r\ndirectory\r\n\r\n* [#25] Updated Documentation of usage\r\n\r\nExplained thenew way using this program 'monty'.\r\nEmpahisizing that 'monty' can be used anywhere in the machine once\r\ninstalled.\r\n\r\n* [#23] Created configuration file\r\n\r\nThe configuration file 'config.sh' is called by make according to the\r\nMakefile. It moves the executable binary file to the '/usr/bin'\r\ndirectory where it will be accessible throught the machine.\r\n\r\nIt equally ensures that the binary file is not left lying around.\r\n\r\n* [#24] New changes\r\n\r\n* [#22] Made monty accept negative numbers\r\n\r\nBefore now, monty reports an eror for negative numbers. This has been\r\ncorrected in this commit.\r\n\r\n* [#22] Updating monty\r\n\r\nThis commit made changes that ensures monty doesn't accept invalid\r\nstrings as integers. It also makes sure that only one file is passed to\r\nmonty.\r\n\r\n* [#25] Implement new opcodes and commenting feature\r\n\r\nThese new opcodes were implemented\r\n* sub\r\n* div\r\n* mul\r\n* mod\r\n\r\nAdded the commenting feature so that any line that begins with an hash\r\n'#' is treated as a comment.\r\n\r\n* [#25] Implemented the 'pchar' opcode\r\n\r\nThis involves updating the README.md to tell about such feature.\r\n\r\n* [#25] Implement the 'pstr' opcode\r\n\r\nThis commit implements the `pstr` opcode and updated README.md with\r\ndocumentation on how to use it.\r\n\r\n* [#25] Refactored functions & added rotl opcode\r\n\r\nSome changes were made in the way these opcodes behave. Instead of\r\ncalling a get_node_at() function to fetch the second node, it removes\r\nthe need of calling another function by directly determining if stack is\r\nup to the required length. This increases the speed of the program.\r\n\r\nThese functions were refactored: _add(), _div(), _mod(), _mul(), _sub()\r\nand _swap.\r\n\r\nNew opcode 'rotl' was implemented with the _rotl() function.\r\n\r\nThe change was properly documented in the README.md\r\n\r\n* [#25] Refactored functions & added rotl opcode\r\n\r\nSome changes were made in the way these opcodes behave. Instead of\r\ncalling a get_node_at() function to fetch the second node, it removes\r\nthe need of calling another function by directly determining if stack is\r\nup to the required length. This increases the speed of the program.\r\n\r\nThese functions were refactored: _add(), _div(), _mod(), _mul(), _sub()\r\nand _swap.\r\n\r\nNew opcode 'rotl' was implemented with the _rotl() function.\r\n\r\nThe change was properly documented in the README.md\r\n\r\n* [#25] Removed previous version of files\r\n\r\n* [#25] Implemented the 'rotr' opcode\r\n\r\nCreated the function _rotr() for this opcode and updated monty.h\r\nand utility/get_opcode_func.c\r\n\r\n* [#25] Implemented the 'rotr' opcode\r\n\r\nCreated the function _rotr() for this opcode and updated monty.h\r\nand utility/get_opcode_func.c\r\n\r\nEqually update README.md with documentation on how to use it.\r\n\r\n* [#25] Implemented the 'stack' and 'queue' opcodes\r\n\r\nThe 'stack' opcode sets the data format to 'FIFO' which is the progams's\r\ndefault state.\r\nThe 'queue' opcode sets the data format to 'LIFO'.\r\n\r\nUpdated the documentation in the README.md\r\n\r\n* [#25] Implemented the 'stack' and 'queue' opcodes\r\n\r\nThe 'stack' opcode sets the data format to 'LIFO' which is the progams's\r\ndefault state.\r\nThe 'queue' opcode sets the data format to 'FIFO'.\r\n\r\nUpdated the documentation in the README.md\r\n\r\n* Revert \"New features for Monty (#26)\"\r\n\r\nThis reverts commit 415fe0a2324436215bbb99aa955541eb0c1de258.","shortMessageHtmlLink":"Revert 26 ebuube/25 implement new opcodes (#27)"}},{"before":null,"after":"449855dafa354de2e53ea9aaa22865de0e55e42a","ref":"refs/heads/revert-26-Ebuube/25-implement_new_opcodes","pushedAt":"2023-06-30T23:39:23.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"Ebuube","name":"Ebube Gideon Onwuta","path":"/Ebuube","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/111176684?s=80&v=4"},"commit":{"message":"Revert \"New features for Monty (#26)\"\n\nThis reverts commit 415fe0a2324436215bbb99aa955541eb0c1de258.","shortMessageHtmlLink":"Revert \"New features for Monty (#26)\""}},{"before":"424e62cb46cc240d5b4b37a5ff761d311dc27975","after":null,"ref":"refs/heads/Ebuube/25-implement_new_opcodes","pushedAt":"2023-06-30T23:36:19.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"Ebuube","name":"Ebube Gideon Onwuta","path":"/Ebuube","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/111176684?s=80&v=4"}},{"before":"3be87dddb84b4dd7b7d8aff5222b2ff8df96aafd","after":"415fe0a2324436215bbb99aa955541eb0c1de258","ref":"refs/heads/main","pushedAt":"2023-06-30T23:36:11.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"Ebuube","name":"Ebube Gideon Onwuta","path":"/Ebuube","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/111176684?s=80&v=4"},"commit":{"message":"New features for Monty (#26)\n\n* [#1] Initial Documentation\r\n\r\nCreated an AUTHORS.md file\r\nAdded the name of current contributors.\r\n\r\n* [#1] Initial Documentation\r\n\r\nDescribed the system of workflow for this repository\r\n\r\n* [#1] Initial Documentation\r\n\r\nIncluded a `.gitignore.` file in the repository and ignored `*.bak`\r\nfiles.\r\n\r\n* Revert \"Initial commit\"\r\n\r\nThis reverts commit 8277676f7951ee7661424f8b715ed7cdb70a4a9f.\r\n\r\n* [#1] Initial Documentation\r\n\r\nDescribed the system of workflow for this repository\r\nUsed proper styling to make the necessary instructions more visible\r\n\r\n* [#1] Initial Documentation\r\n\r\nDescribed the system of workflow for this repository\r\nUsed proper styling to make the necessary instructions more visible\r\nCorrected punctuation marks\r\n\r\n* [#3] Integrating pull request reviews\r\n\r\nI resolved the problems by:\r\n\t* Replacing the name `julien` with `vagrant` in the README.md\r\nfile\r\n\t* Removing the bold style in the ` ... tag\r\ncontents. I now have something that is has this format\r\n\t\t```Header : description``\r\n\r\n* Revert \"Integrating pull request reviews\"\r\n\r\n* Created README.md file (#6)\r\n\r\nResolves [#5]\r\nCloses [#1]\r\nThis commit is an attempt to push back the README.md to the remote\r\n\r\n* Basic codebase functionality (#8)\r\n\r\n* Planned procedure for the monty program\r\n\r\nThis is the algorithm for the monty program.\r\nIt explains the maxim of the steps that the monty program uses for\r\nexecution.\r\n\r\n* Created Makefile\r\n\r\nThe Makefile facilitates maintainance of the codebasee\r\n* clean: To clean or unwanted files\r\n* all: To build the executable `monty`\r\n* betty_check: To check if codebase is `betty` compliant\r\n* spell_check: To check if codebase is English is grammatically correct\r\n* check: Run both `betty_check` and `spell_check`\r\n\r\n* Implemented basic codebase functionality\r\n\r\n* Code compiles safely without memory leaks\r\n* Opens file passed to it\r\n* Reads file line by line\r\n* Parses each line to get the first two words i.e opcode and argument\r\n* Prints the output to screen - To be turned into execute operation\r\n* Closes file on exit\r\n* Ends successfully without memory leaks\r\n\r\n* Updated monty.h to accomodate the new function 'execute'\r\n\r\n* Updated 'read_file.c' so that it calls the 'execute' function when appropriate\r\n\r\n* Updated Makefile so that it incoporates 'valgrind' for mememory check\r\n\r\n* Updated Makefile with documentation on how to use it\r\n\r\n* Created a new file 'execute.c' to house the execute() funtion\r\n\r\n* [#2] Prepared basic code functionalities\r\n\r\nI successfully:\r\n* Created a well-documented Makefile for the project\r\n* Created the basic functions that handle file reading\r\n\tand parsing to select the opcodes and the arguements\r\n\r\nNote: I have not implemented the stack data structure, yet\r\n\r\n* First working model of monty (#9)\r\n\r\n* Planned procedure for the monty program\r\n\r\nThis is the algorithm for the monty program.\r\nIt explains the maxim of the steps that the monty program uses for\r\nexecution.\r\n\r\n* Created Makefile\r\n\r\nThe Makefile facilitates maintainance of the codebasee\r\n* clean: To clean or unwanted files\r\n* all: To build the executable `monty`\r\n* betty_check: To check if codebase is `betty` compliant\r\n* spell_check: To check if codebase is English is grammatically correct\r\n* check: Run both `betty_check` and `spell_check`\r\n\r\n* Implemented basic codebase functionality\r\n\r\n* Code compiles safely without memory leaks\r\n* Opens file passed to it\r\n* Reads file line by line\r\n* Parses each line to get the first two words i.e opcode and argument\r\n* Prints the output to screen - To be turned into execute operation\r\n* Closes file on exit\r\n* Ends successfully without memory leaks\r\n\r\n* Updated monty.h to accomodate the new function 'execute'\r\n\r\n* Updated 'read_file.c' so that it calls the 'execute' function when appropriate\r\n\r\n* Updated Makefile so that it incoporates 'valgrind' for mememory check\r\n\r\n* Updated Makefile with documentation on how to use it\r\n\r\n* Created a new file 'execute.c' to house the execute() funtion\r\n\r\n* [#2] Prepared basic code functionalities\r\n\r\nI successfully:\r\n* Created a well-documented Makefile for the project\r\n* Created the basic functions that handle file reading\r\n\tand parsing to select the opcodes and the arguements\r\n\r\nNote: I have not implemented the stack data structure, yet\r\n\r\n* [#2] Refactored codebase and added two opcodes\r\n\r\n- Gitignore : ignores both *.bak and valgrind-out.txt log file\r\n- Makefile: Takes note of the new file structure espcially, opcodes and\r\n\tutility directories\r\n- README.md : Warns users not to exceed INT_MIN - INT_MAX range as\r\n\topcode arguments to opcoes like push, pall, etc.\r\n- main.c : Takes not of the new codebase structure\r\n- monty.h : Added extra data types, header files and prototypes\r\n- WORKFLOW.md : Corrected patter of pulling from remote branch\r\n\r\nRemoved unwanted files they are now replaced by new ones in a different\r\n\tdirectory -> utility:\r\n- execute.c\r\n- parse_line.c\r\n- read_file.c\r\n\r\nAdded new files:\r\n- opcodes directory:\r\n\t* _pall.c : implements a function to print all elements of stack\r\n\t* _push.c : implements a function to add element to top of stack\r\n\r\n- utility directory:\r\n\t* execute.c : executes instructions\r\n\t* free_stack.c : frees stack as clean up action\r\n\t* get_int.c : safely fetches arguments to opcodes if any\r\n\t* get_opcode_func.c : fetches the opcode from a line in a bytecode\r\n\t\tfile\r\n\r\n* [#2] Modified codebase and added 'pint' opcode\r\n\r\nModification:\r\n- Makefile : that betty_check target now uses automatic variables\r\n- monty.h : now accomodates the new opcode 'pint'\r\n- utility/get_opcode_func.c : now accomodates the new opcode 'pint'\r\n\r\nNew files:\r\n- opcodes/_pint.c : implements the 'pint' opcode\r\n\r\n* [#2] Modified codebase and added 'pop' opcode\r\n\r\n Modification:\r\n - Makefile : that betty_check target now uses automatic variables\r\n - monty.h : now accomodates the new opcode 'pop'\r\n - utility/get_opcode_func.c : now accomodates the new opcode 'pop'\r\n\r\n New files:\r\n - opcodes/_pop.c : implements the 'pop' opcode\r\n\r\n* Successfully implemented Basic opcodes (#13)\r\n\r\n* Planned procedure for the monty program\r\n\r\nThis is the algorithm for the monty program.\r\nIt explains the maxim of the steps that the monty program uses for\r\nexecution.\r\n\r\n* Created Makefile\r\n\r\nThe Makefile facilitates maintainance of the codebasee\r\n* clean: To clean or unwanted files\r\n* all: To build the executable `monty`\r\n* betty_check: To check if codebase is `betty` compliant\r\n* spell_check: To check if codebase is English is grammatically correct\r\n* check: Run both `betty_check` and `spell_check`\r\n\r\n* Implemented basic codebase functionality\r\n\r\n* Code compiles safely without memory leaks\r\n* Opens file passed to it\r\n* Reads file line by line\r\n* Parses each line to get the first two words i.e opcode and argument\r\n* Prints the output to screen - To be turned into execute operation\r\n* Closes file on exit\r\n* Ends successfully without memory leaks\r\n\r\n* Updated monty.h to accomodate the new function 'execute'\r\n\r\n* Updated 'read_file.c' so that it calls the 'execute' function when appropriate\r\n\r\n* Updated Makefile so that it incoporates 'valgrind' for mememory check\r\n\r\n* Updated Makefile with documentation on how to use it\r\n\r\n* Created a new file 'execute.c' to house the execute() funtion\r\n\r\n* [#2] Prepared basic code functionalities\r\n\r\nI successfully:\r\n* Created a well-documented Makefile for the project\r\n* Created the basic functions that handle file reading\r\n\tand parsing to select the opcodes and the arguements\r\n\r\nNote: I have not implemented the stack data structure, yet\r\n\r\n* [#2] Refactored codebase and added two opcodes\r\n\r\n- Gitignore : ignores both *.bak and valgrind-out.txt log file\r\n- Makefile: Takes note of the new file structure espcially, opcodes and\r\n\tutility directories\r\n- README.md : Warns users not to exceed INT_MIN - INT_MAX range as\r\n\topcode arguments to opcoes like push, pall, etc.\r\n- main.c : Takes not of the new codebase structure\r\n- monty.h : Added extra data types, header files and prototypes\r\n- WORKFLOW.md : Corrected patter of pulling from remote branch\r\n\r\nRemoved unwanted files they are now replaced by new ones in a different\r\n\tdirectory -> utility:\r\n- execute.c\r\n- parse_line.c\r\n- read_file.c\r\n\r\nAdded new files:\r\n- opcodes directory:\r\n\t* _pall.c : implements a function to print all elements of stack\r\n\t* _push.c : implements a function to add element to top of stack\r\n\r\n- utility directory:\r\n\t* execute.c : executes instructions\r\n\t* free_stack.c : frees stack as clean up action\r\n\t* get_int.c : safely fetches arguments to opcodes if any\r\n\t* get_opcode_func.c : fetches the opcode from a line in a bytecode\r\n\t\tfile\r\n\r\n* [#2] Modified codebase and added 'pint' opcode\r\n\r\nModification:\r\n- Makefile : that betty_check target now uses automatic variables\r\n- monty.h : now accomodates the new opcode 'pint'\r\n- utility/get_opcode_func.c : now accomodates the new opcode 'pint'\r\n\r\nNew files:\r\n- opcodes/_pint.c : implements the 'pint' opcode\r\n\r\n* [#2] Modified codebase and added 'pop' opcode\r\n\r\n Modification:\r\n - Makefile : that betty_check target now uses automatic variables\r\n - monty.h : now accomodates the new opcode 'pop'\r\n - utility/get_opcode_func.c : now accomodates the new opcode 'pop'\r\n\r\n New files:\r\n - opcodes/_pop.c : implements the 'pop' opcode\r\n\r\n* [#10] Implemented the `swap` opcode\r\n\r\nModification:\r\n- monty.h : take note of the new function for swapping nodes\r\n\r\n- utility/\r\n\t*get_opcode_func.c - Included the new opcode in the instruction\r\n\t\tset\r\n- opcodes/\r\n\t* _push.c : Corrected the function so that it properly assigns the\r\n\t\t`prev` data of a node\r\n\r\nNew file:\r\n- opcodes/\r\n\t* _swap.c : Implements the `swap` opcode\r\n\r\n* [#11] Implement the `add` opcode\r\n\r\nModifications:\r\n- monty.h : include prototype of new function for 'add' opcode\r\n\r\n- utility/\r\n\t* get_opcode_func.c : included 'add' opcode in instrcutions\r\n\r\nNew files:\r\n- opcodes/\r\n\t* _add.c : implement the 'add' opcode\r\n\r\n* [#12] Implement the `nop` opcode\r\n\r\nThis opcode doesn't do anyting\r\n\r\nModification:\r\n- monty.h : included prototype of the new function that handles this\r\n\t\topcode\r\n- utility/\r\n\t* get_opcode_func.c : Added new opcode to instructions\r\n\r\nNew files:\r\n- opcodes/\r\n\t* _nop.c : implements the `nop` opcode\r\n\r\n* Create the first release (#17)\r\n\r\n* [#15] Put the markdown files in Documentation/\r\n\r\nAll the Markdown files except `README.md` file is moved to the directory\r\nnamed `Documentation`.\r\nThese files include :\r\n- AUTHORS.md\r\n- PROCEDURE.md\r\n- WORKFLOW.md\r\n\r\n* [#7] Bug in README.md documentation\r\n\r\nModifications:\r\n- Removed grammatical error\r\n- Added two Markdown badges to README.md\r\n\t* Maintainer\r\n\t* Git\r\n\r\n* [#14] Adding badges to READM.md\r\n\r\nRemoved the `Maintainer` badge and added a generic badge.\r\n\r\n* [#14] Modified the Maintainer badge\r\n\r\nUsing a different `shields.io` bade to do the same task of creating\r\nthe `Maintainer` badge.\r\n\r\n* [#14] Corrected badge URL\r\n\r\nModified the badge so that it displays an `svg` image.\r\n\r\n* [#14] Added new badge\r\n\r\nNew badges:\r\n- `made-with-C`\r\n- `realase - version`\r\n\r\n* [#14] Added new badges\r\n\r\nModification:\r\n- `release` badge\r\n\r\nNew:\r\n- `contributors` badge\r\n\r\n* [#14] Badge modifcation\r\n\r\nModifications:\r\n- Moved the `Git` badge to the acknowledgement section of README.md\r\n\r\nNew:\r\n- `GITHUB` badge at the acknowledgement section\r\n\r\n* [#14] README.md modification\r\n\r\nChanged the header of the README.md\r\n\r\n* [#14] More acknowledgements\r\n\r\nModification:\r\n- Github badge\r\nNew badges:\r\n- ALX badge\r\n\r\n* [#14] Modification of Badges in README.md\r\n\r\nModification:\r\n- ALX badge\r\n\r\n* Squashed commit of the following:\r\n\r\ncommit 3be87dddb84b4dd7b7d8aff5222b2ff8df96aafd\r\nAuthor: Ebube Gideon Onwuta <111176684+Ebuube@users.noreply.github.com>\r\nDate: Tue Jun 27 07:49:38 2023 +0100\r\n\r\n Hotfix 19 add license (#21)\r\n\r\n * Added LICENSE to proposed release\r\n\r\n This license expresses the condition for using this software product.\r\n\r\n License type: MIT\r\n\r\n * Update LICENSE\r\n\r\n Corrected the order of the names for the License bearer.\r\n\r\ncommit 74115f0c2402b9407aacd147b87447b4162539ab\r\nAuthor: Ebube Gideon Onwuta <111176684+Ebuube@users.noreply.github.com>\r\nDate: Tue Jun 27 06:39:01 2023 +0100\r\n\r\n [#19] Prerelease hotfix (#20)\r\n\r\n Modification:\r\n - README.md : Linked the `Git` acknowledgement badge to the `git` website ->\r\n https://git-scm.com/\r\n\r\n - opcodes/\r\n \t* Modified the `nop` opcode function so that it takes not of the unused\r\n \t\tparameters\r\n\r\ncommit 871877670311addca968c30ef4869916bd046a1f\r\nAuthor: Ebube Gideon Onwuta <111176684+Ebuube@users.noreply.github.com>\r\nDate: Tue Jun 27 06:19:38 2023 +0100\r\n\r\n First Major release of monty (#18)\r\n\r\n * [#1] Initial Documentation\r\n\r\n Created an AUTHORS.md file\r\n Added the name of current contributors.\r\n\r\n * [#1] Initial Documentation\r\n\r\n Described the system of workflow for this repository\r\n\r\n * [#1] Initial Documentation\r\n\r\n Included a `.gitignore.` file in the repository and ignored `*.bak`\r\n files.\r\n\r\n * Revert \"Initial commit\"\r\n\r\n This reverts commit 8277676f7951ee7661424f8b715ed7cdb70a4a9f.\r\n\r\n * [#1] Initial Documentation\r\n\r\n Described the system of workflow for this repository\r\n Used proper styling to make the necessary instructions more visible\r\n\r\n * [#1] Initial Documentation\r\n\r\n Described the system of workflow for this repository\r\n Used proper styling to make the necessary instructions more visible\r\n Corrected punctuation marks\r\n\r\n * [#3] Integrating pull request reviews\r\n\r\n I resolved the problems by:\r\n \t* Replacing the name `julien` with `vagrant` in the README.md\r\n file\r\n \t* Removing the bold style in the ` ... tag\r\n contents. I now have something that is has this format\r\n \t\t```Header : description``\r\n\r\n * Revert \"Integrating pull request reviews\"\r\n\r\n * Created README.md file (#6)\r\n\r\n Resolves [#5]\r\n Closes [#1]\r\n This commit is an attempt to push back the README.md to the remote\r\n\r\n * Basic codebase functionality (#8)\r\n\r\n * Planned procedure for the monty program\r\n\r\n This is the algorithm for the monty program.\r\n It explains the maxim of the steps that the monty program uses for\r\n execution.\r\n\r\n * Created Makefile\r\n\r\n The Makefile facilitates maintainance of the codebasee\r\n * clean: To clean or unwanted files\r\n * all: To build the executable `monty`\r\n * betty_check: To check if codebase is `betty` compliant\r\n * spell_check: To check if codebase is English is grammatically correct\r\n * check: Run both `betty_check` and `spell_check`\r\n\r\n * Implemented basic codebase functionality\r\n\r\n * Code compiles safely without memory leaks\r\n * Opens file passed to it\r\n * Reads file line by line\r\n * Parses each line to get the first two words i.e opcode and argument\r\n * Prints the output to screen - To be turned into execute operation\r\n * Closes file on exit\r\n * Ends successfully without memory leaks\r\n\r\n * Updated monty.h to accomodate the new function 'execute'\r\n\r\n * Updated 'read_file.c' so that it calls the 'execute' function when appropriate\r\n\r\n * Updated Makefile so that it incoporates 'valgrind' for mememory check\r\n\r\n * Updated Makefile with documentation on how to use it\r\n\r\n * Created a new file 'execute.c' to house the execute() funtion\r\n\r\n * [#2] Prepared basic code functionalities\r\n\r\n I successfully:\r\n * Created a well-documented Makefile for the project\r\n * Created the basic functions that handle file reading\r\n \tand parsing to select the opcodes and the arguements\r\n\r\n Note: I have not implemented the stack data structure, yet\r\n\r\n * First working model of monty (#9)\r\n\r\n * Planned procedure for the monty program\r\n\r\n This is the algorithm for the monty program.\r\n It explains the maxim of the steps that the monty program uses for\r\n execution.\r\n\r\n * Created Makefile\r\n\r\n The Makefile facilitates maintainance of the codebasee\r\n * clean: To clean or unwanted files\r\n * all: To build the executable `monty`\r\n * betty_check: To check if codebase is `betty` compliant\r\n * spell_check: To check if codebase is English is grammatically correct\r\n * check: Run both `betty_check` and `spell_check`\r\n\r\n * Implemented basic codebase functionality\r\n\r\n * Code compiles safely without memory leaks\r\n * Opens file passed to it\r\n * Reads file line by line\r\n * Parses each line to get the first two words i.e opcode and argument\r\n * Prints the output to screen - To be turned into execute operation\r\n * Closes file on exit\r\n * Ends successfully without memory leaks\r\n\r\n * Updated monty.h to accomodate the new function 'execute'\r\n\r\n * Updated 'read_file.c' so that it calls the 'execute' function when appropriate\r\n\r\n * Updated Makefile so that it incoporates 'valgrind' for mememory check\r\n\r\n * Updated Makefile with documentation on how to use it\r\n\r\n * Created a new file 'execute.c' to house the execute() funtion\r\n\r\n * [#2] Prepared basic code functionalities\r\n\r\n I successfully:\r\n * Created a well-documented Makefile for the project\r\n * Created the basic functions that handle file reading\r\n \tand parsing to select the opcodes and the arguements\r\n\r\n Note: I have not implemented the stack data structure, yet\r\n\r\n * [#2] Refactored codebase and added two opcodes\r\n\r\n - Gitignore : ignores both *.bak and valgrind-out.txt log file\r\n - Makefile: Takes note of the new file structure espcially, opcodes and\r\n \tutility directories\r\n - README.md : Warns users not to exceed INT_MIN - INT_MAX range as\r\n \topcode arguments to opcoes like push, pall, etc.\r\n - main.c : Takes not of the new codebase structure\r\n - monty.h : Added extra data types, header files and prototypes\r\n - WORKFLOW.md : Corrected patter of pulling from remote branch\r\n\r\n Removed unwanted files they are now replaced by new ones in a different\r\n \tdirectory -> utility:\r\n - execute.c\r\n - parse_line.c\r\n - read_file.c\r\n\r\n Added new files:\r\n - opcodes directory:\r\n \t* _pall.c : implements a function to print all elements of stack\r\n \t* _push.c : implements a function to add element to top of stack\r\n\r\n - utility directory:\r\n \t* execute.c : executes instructions\r\n \t* free_stack.c : frees stack as clean up action\r\n \t* get_int.c : safely fetches arguments to opcodes if any\r\n \t* get_opcode_func.c : fetches the opcode from a line in a bytecode\r\n \t\tfile\r\n\r\n * [#2] Modified codebase and added 'pint' opcode\r\n\r\n Modification:\r\n - Makefile : that betty_check target now uses automatic variables\r\n - monty.h : now accomodates the new opcode 'pint'\r\n - utility/get_opcode_func.c : now accomodates the new opcode 'pint'\r\n\r\n New files:\r\n - opcodes/_pint.c : implements the 'pint' opcode\r\n\r\n * [#2] Modified codebase and added 'pop' opcode\r\n\r\n Modification:\r\n - Makefile : that betty_check target now uses automatic variables\r\n - monty.h : now accomodates the new opcode 'pop'\r\n - utility/get_opcode_func.c : now accomodates the new opcode 'pop'\r\n\r\n New files:\r\n - opcodes/_pop.c : implements the 'pop' opcode\r\n\r\n * Successfully implemented Basic opcodes (#13)\r\n\r\n * Planned procedure for the monty program\r\n\r\n This is the algorithm for the monty program.\r\n It explains the maxim of the steps that the monty program uses for\r\n execution.\r\n\r\n * Created Makefile\r\n\r\n The Makefile facilitates maintainance of the codebasee\r\n * clean: To clean or unwanted files\r\n * all: To build the executable `monty`\r\n * betty_check: To check if codebase is `betty` compliant\r\n * spell_check: To check if codebase is English is grammatically correct\r\n * check: Run both `betty_check` and `spell_check`\r\n\r\n * Implemented basic codebase functionality\r\n\r\n * Code compiles safely without memory leaks\r\n * Opens file passed to it\r\n * Reads file line by line\r\n * Parses each line to get the first two words i.e opcode and argument\r\n * Prints the output to screen - To be turned into execute operation\r\n * Closes file on exit\r\n * Ends successfully without memory leaks\r\n\r\n * Updated monty.h to accomodate the new function 'execute'\r\n\r\n * Updated 'read_file.c' so that it calls the 'execute' function when appropriate\r\n\r\n * Updated Makefile so that it incoporates 'valgrind' for mememory check\r\n\r\n * Updated Makefile with documentation on how to use it\r\n\r\n * Created a new file 'execute.c' to house the execute() funtion\r\n\r\n * [#2] Prepared basic code functionalities\r\n\r\n I successfully:\r\n * Created a well-documented Makefile for the project\r\n * Created the basic functions that handle file reading\r\n \tand parsing to select the opcodes and the arguements\r\n\r\n Note: I have not implemented the stack data structure, yet\r\n\r\n * [#2] Refactored codebase and added two opcodes\r\n\r\n - Gitignore : ignores both *.bak and valgrind-out.txt log file\r\n - Makefile: Takes note of the new file structure espcially, opcodes and\r\n \tutility directories\r\n - README.md : Warns users not to exceed INT_MIN - INT_MAX range as\r\n \topcode arguments to opcoes like push, pall, etc.\r\n - main.c : Takes not of the new codebase structure\r\n - monty.h : Added extra data types, header files and prototypes\r\n - WORKFLOW.md : Corrected patter of pulling from remote branch\r\n\r\n Removed unwanted files they are now replaced by new ones in a different\r\n \tdirectory -> utility:\r\n - execute.c\r\n - parse_line.c\r\n - read_file.c\r\n\r\n Added new files:\r\n - opcodes directory:\r\n \t* _pall.c : implements a function to print all elements of stack\r\n \t* _push.c : implements a function to add element to top of stack\r\n\r\n - utility directory:\r\n \t* execute.c : executes instructions\r\n \t* free_stack.c : frees stack as clean up action\r\n \t* get_int.c : safely fetches arguments to opcodes if any\r\n \t* get_opcode_func.c : fetches the opcode from a line in a bytecode\r\n \t\tfile\r\n\r\n * [#2] Modified codebase and added 'pint' opcode\r\n\r\n Modification:\r\n - Makefile : that betty_check target now uses automatic variables\r\n - monty.h : now accomodates the new opcode 'pint'\r\n - utility/get_opcode_func.c : now accomodates the new opcode 'pint'\r\n\r\n New files:\r\n - opcodes/_pint.c : implements the 'pint' opcode\r\n\r\n * [#2] Modified codebase and added 'pop' opcode\r\n\r\n Modification:\r\n - Makefile : that betty_check target now uses automatic variables\r\n - monty.h : now accomodates the new opcode 'pop'\r\n - utility/get_opcode_func.c : now accomodates the new opcode 'pop'\r\n\r\n New files:\r\n - opcodes/_pop.c : implements the 'pop' opcode\r\n\r\n * [#10] Implemented the `swap` opcode\r\n\r\n Modification:\r\n - monty.h : take note of the new function for swapping nodes\r\n\r\n - utility/\r\n \t*get_opcode_func.c - Included the new opcode in the instruction\r\n \t\tset\r\n - opcodes/\r\n \t* _push.c : Corrected the function so that it properly assigns the\r\n \t\t`prev` data of a node\r\n\r\n New file:\r\n - opcodes/\r\n \t* _swap.c : Implements the `swap` opcode\r\n\r\n * [#11] Implement the `add` opcode\r\n\r\n Modifications:\r\n - monty.h : include prototype of new function for 'add' opcode\r\n\r\n - utility/\r\n \t* get_opcode_func.c : included 'add' opcode in instrcutions\r\n\r\n New files:\r\n - opcodes/\r\n \t* _add.c : implement the 'add' opcode\r\n\r\n * [#12] Implement the `nop` opcode\r\n\r\n This opcode doesn't do anyting\r\n\r\n Modification:\r\n - monty.h : included prototype of the new function that handles this\r\n \t\topcode\r\n - utility/\r\n \t* get_opcode_func.c : Added new opcode to instructions\r\n\r\n New files:\r\n - opcodes/\r\n \t* _nop.c : implements the `nop` opcode\r\n\r\n * Create the first release (#17)\r\n\r\n * [#15] Put the markdown files in Documentation/\r\n\r\n All the Markdown files except `README.md` file is moved to the directory\r\n named `Documentation`.\r\n These files include :\r\n - AUTHORS.md\r\n - PROCEDURE.md\r\n - WORKFLOW.md\r\n\r\n * [#7] Bug in README.md documentation\r\n\r\n Modifications:\r\n - Removed grammatical error\r\n - Added two Markdown badges to README.md\r\n \t* Maintainer\r\n \t* Git\r\n\r\n * [#14] Adding badges to READM.md\r\n\r\n Removed the `Maintainer` badge and added a generic badge.\r\n\r\n * [#14] Modified the Maintainer badge\r\n\r\n Using a different `shields.io` bade to do the same task of creating\r\n the `Maintainer` badge.\r\n\r\n * [#14] Corrected badge URL\r\n\r\n Modified the badge so that it displays an `svg` image.\r\n\r\n * [#14] Added new badge\r\n\r\n New badges:\r\n - `made-with-C`\r\n - `realase - version`\r\n\r\n * [#14] Added new badges\r\n\r\n Modification:\r\n - `release` badge\r\n\r\n New:\r\n - `contributors` badge\r\n\r\n * [#14] Badge modifcation\r\n\r\n Modifications:\r\n - Moved the `Git` badge to the acknowledgement section of README.md\r\n\r\n New:\r\n - `GITHUB` badge at the acknowledgement section\r\n\r\n * [#14] README.md modification\r\n\r\n Changed the header of the README.md\r\n\r\n * [#14] More acknowledgements\r\n\r\n Modification:\r\n - Github badge\r\n New badges:\r\n - ALX badge\r\n\r\n * [#14] Modification of Badges in README.md\r\n\r\n Modification:\r\n - ALX badge\r\n\r\n* [#25] Refactoring patches\r\n\r\nImplemented a new function to handle:\r\n\t- get_node_at : fetches the node at a particular position\r\n\r\n(cherry picked from commit f908e0ce33e31fc4da78f5b8b7029fec08392e83)\r\n\r\n* [#25] Corrected phony targets of Makefile\r\n\r\nThe phony target 'read_and debug' had no rule, which was a bug.\r\nIt has been updated to 'ready_and_debug', which has a rule.\r\n\r\n* [#25] New methods in Makefile\r\n\r\nUpdated Makefile so that the targets that compile the program configures\r\nthe executable. This will make the executable 'monty' available all\r\nacross the device -- not only this directory.\r\n\r\nIt was achieved by moving the executable binary to the /usr/bin\r\ndirectory\r\n\r\n* [#25] Updated Documentation of usage\r\n\r\nExplained thenew way using this program 'monty'.\r\nEmpahisizing that 'monty' can be used anywhere in the machine once\r\ninstalled.\r\n\r\n* [#23] Created configuration file\r\n\r\nThe configuration file 'config.sh' is called by make according to the\r\nMakefile. It moves the executable binary file to the '/usr/bin'\r\ndirectory where it will be accessible throught the machine.\r\n\r\nIt equally ensures that the binary file is not left lying around.\r\n\r\n* [#24] New changes\r\n\r\n* [#22] Made monty accept negative numbers\r\n\r\nBefore now, monty reports an eror for negative numbers. This has been\r\ncorrected in this commit.\r\n\r\n* [#22] Updating monty\r\n\r\nThis commit made changes that ensures monty doesn't accept invalid\r\nstrings as integers. It also makes sure that only one file is passed to\r\nmonty.\r\n\r\n* [#25] Implement new opcodes and commenting feature\r\n\r\nThese new opcodes were implemented\r\n* sub\r\n* div\r\n* mul\r\n* mod\r\n\r\nAdded the commenting feature so that any line that begins with an hash\r\n'#' is treated as a comment.\r\n\r\n* [#25] Implemented the 'pchar' opcode\r\n\r\nThis involves updating the README.md to tell about such feature.\r\n\r\n* [#25] Implement the 'pstr' opcode\r\n\r\nThis commit implements the `pstr` opcode and updated README.md with\r\ndocumentation on how to use it.\r\n\r\n* [#25] Refactored functions & added rotl opcode\r\n\r\nSome changes were made in the way these opcodes behave. Instead of\r\ncalling a get_node_at() function to fetch the second node, it removes\r\nthe need of calling another function by directly determining if stack is\r\nup to the required length. This increases the speed of the program.\r\n\r\nThese functions were refactored: _add(), _div(), _mod(), _mul(), _sub()\r\nand _swap.\r\n\r\nNew opcode 'rotl' was implemented with the _rotl() function.\r\n\r\nThe change was properly documented in the README.md\r\n\r\n* [#25] Refactored functions & added rotl opcode\r\n\r\nSome changes were made in the way these opcodes behave. Instead of\r\ncalling a get_node_at() function to fetch the second node, it removes\r\nthe need of calling another function by directly determining if stack is\r\nup to the required length. This increases the speed of the program.\r\n\r\nThese functions were refactored: _add(), _div(), _mod(), _mul(), _sub()\r\nand _swap.\r\n\r\nNew opcode 'rotl' was implemented with the _rotl() function.\r\n\r\nThe change was properly documented in the README.md\r\n\r\n* [#25] Removed previous version of files\r\n\r\n* [#25] Implemented the 'rotr' opcode\r\n\r\nCreated the function _rotr() for this opcode and updated monty.h\r\nand utility/get_opcode_func.c\r\n\r\n* [#25] Implemented the 'rotr' opcode\r\n\r\nCreated the function _rotr() for this opcode and updated monty.h\r\nand utility/get_opcode_func.c\r\n\r\nEqually update README.md with documentation on how to use it.\r\n\r\n* [#25] Implemented the 'stack' and 'queue' opcodes\r\n\r\nThe 'stack' opcode sets the data format to 'FIFO' which is the progams's\r\ndefault state.\r\nThe 'queue' opcode sets the data format to 'LIFO'.\r\n\r\nUpdated the documentation in the README.md\r\n\r\n* [#25] Implemented the 'stack' and 'queue' opcodes\r\n\r\nThe 'stack' opcode sets the data format to 'LIFO' which is the progams's\r\ndefault state.\r\nThe 'queue' opcode sets the data format to 'FIFO'.\r\n\r\nUpdated the documentation in the README.md","shortMessageHtmlLink":"New features for Monty (#26)"}},{"before":"da5fff449b69213492852fb3b3eb8dca7c584c87","after":"424e62cb46cc240d5b4b37a5ff761d311dc27975","ref":"refs/heads/Ebuube/25-implement_new_opcodes","pushedAt":"2023-06-30T23:33:39.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Ebuube","name":"Ebube Gideon Onwuta","path":"/Ebuube","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/111176684?s=80&v=4"},"commit":{"message":"[#25] Implemented the 'stack' and 'queue' opcodes\n\nThe 'stack' opcode sets the data format to 'LIFO' which is the progams's\ndefault state.\nThe 'queue' opcode sets the data format to 'FIFO'.\n\nUpdated the documentation in the README.md","shortMessageHtmlLink":"[#25] Implemented the 'stack' and 'queue' opcodes"}},{"before":"a4a67551bc538dec7418e2bc8da9de7527f6cc65","after":"da5fff449b69213492852fb3b3eb8dca7c584c87","ref":"refs/heads/Ebuube/25-implement_new_opcodes","pushedAt":"2023-06-30T23:21:22.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Ebuube","name":"Ebube Gideon Onwuta","path":"/Ebuube","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/111176684?s=80&v=4"},"commit":{"message":"[#25] Implemented the 'stack' and 'queue' opcodes\n\nThe 'stack' opcode sets the data format to 'FIFO' which is the progams's\ndefault state.\nThe 'queue' opcode sets the data format to 'LIFO'.\n\nUpdated the documentation in the README.md","shortMessageHtmlLink":"[#25] Implemented the 'stack' and 'queue' opcodes"}},{"before":"2fbaeb728706e80921cdf74acfab4b709182d4db","after":"a4a67551bc538dec7418e2bc8da9de7527f6cc65","ref":"refs/heads/Ebuube/25-implement_new_opcodes","pushedAt":"2023-06-30T00:06:33.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Ebuube","name":"Ebube Gideon Onwuta","path":"/Ebuube","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/111176684?s=80&v=4"},"commit":{"message":"[#25] Implemented the 'rotr' opcode\n\nCreated the function _rotr() for this opcode and updated monty.h\nand utility/get_opcode_func.c\n\nEqually update README.md with documentation on how to use it.","shortMessageHtmlLink":"[#25] Implemented the 'rotr' opcode"}},{"before":"0d123b2c27e1f711fb6d29005764495b98681b3a","after":"2fbaeb728706e80921cdf74acfab4b709182d4db","ref":"refs/heads/Ebuube/25-implement_new_opcodes","pushedAt":"2023-06-29T23:11:31.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Ebuube","name":"Ebube Gideon Onwuta","path":"/Ebuube","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/111176684?s=80&v=4"},"commit":{"message":"[#25] Implemented the 'rotr' opcode\n\nCreated the function _rotr() for this opcode and updated monty.h\nand utility/get_opcode_func.c","shortMessageHtmlLink":"[#25] Implemented the 'rotr' opcode"}},{"before":"01a31c55a8af7930f5bbf09b49dff5893aa83794","after":"0d123b2c27e1f711fb6d29005764495b98681b3a","ref":"refs/heads/Ebuube/25-implement_new_opcodes","pushedAt":"2023-06-29T09:12:24.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"Ebuube","name":"Ebube Gideon Onwuta","path":"/Ebuube","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/111176684?s=80&v=4"},"commit":{"message":"[#25] Removed previous version of files","shortMessageHtmlLink":"[#25] Removed previous version of files"}},{"before":"55c992e2756645942798a49da124555ca7d7779c","after":"01a31c55a8af7930f5bbf09b49dff5893aa83794","ref":"refs/heads/Ebuube/25-implement_new_opcodes","pushedAt":"2023-06-29T09:04:32.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Ebuube","name":"Ebube Gideon Onwuta","path":"/Ebuube","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/111176684?s=80&v=4"},"commit":{"message":"[#25] Refactored functions & added rotl opcode\n\nSome changes were made in the way these opcodes behave. Instead of\ncalling a get_node_at() function to fetch the second node, it removes\nthe need of calling another function by directly determining if stack is\nup to the required length. This increases the speed of the program.\n\nThese functions were refactored: _add(), _div(), _mod(), _mul(), _sub()\nand _swap.\n\nNew opcode 'rotl' was implemented with the _rotl() function.\n\nThe change was properly documented in the README.md","shortMessageHtmlLink":"[#25] Refactored functions & added rotl opcode"}},{"before":"55143af03928d8e43374581f97f01a73cd6fd703","after":"55c992e2756645942798a49da124555ca7d7779c","ref":"refs/heads/Ebuube/25-implement_new_opcodes","pushedAt":"2023-06-29T06:23:14.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Ebuube","name":"Ebube Gideon Onwuta","path":"/Ebuube","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/111176684?s=80&v=4"},"commit":{"message":"[#25] Implement the 'pstr' opcode\n\nThis commit implements the `pstr` opcode and updated README.md with\ndocumentation on how to use it.","shortMessageHtmlLink":"[#25] Implement the 'pstr' opcode"}},{"before":"8cf6a36b327c472113c0842846e9a2b62c7acee4","after":"55143af03928d8e43374581f97f01a73cd6fd703","ref":"refs/heads/Ebuube/25-implement_new_opcodes","pushedAt":"2023-06-29T06:16:28.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Ebuube","name":"Ebube Gideon Onwuta","path":"/Ebuube","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/111176684?s=80&v=4"},"commit":{"message":"[#25] Implemented the 'pchar' opcode\n\nThis involves updating the README.md to tell about such feature.","shortMessageHtmlLink":"[#25] Implemented the 'pchar' opcode"}},{"before":"bc39982c91907f9c3ba4c04d72ea2d654fac6f64","after":"8cf6a36b327c472113c0842846e9a2b62c7acee4","ref":"refs/heads/Ebuube/25-implement_new_opcodes","pushedAt":"2023-06-29T04:44:18.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Ebuube","name":"Ebube Gideon Onwuta","path":"/Ebuube","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/111176684?s=80&v=4"},"commit":{"message":"[#25] Implement new opcodes and commenting feature\n\nThese new opcodes were implemented\n* sub\n* div\n* mul\n* mod\n\nAdded the commenting feature so that any line that begins with an hash\n'#' is treated as a comment.","shortMessageHtmlLink":"[#25] Implement new opcodes and commenting feature"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAD4MXi6AA","startCursor":null,"endCursor":null}},"title":"Activity ยท Ebuube/Monty_language"}