-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement the opcode #10
Labels
Milestone
Comments
Ebuube
added a commit
that referenced
this issue
Jun 26, 2023
Modification: - monty.h : take note of the new function for swapping nodes - utility/ *get_opcode_func.c - Included the new opcode in the instruction set - opcodes/ * _push.c : Corrected the function so that it properly assigns the `prev` data of a node New file: - opcodes/ * _swap.c : Implements the `swap` opcode
Ebuube
added
documentation
Improvements or additions to documentation
enhancement
New feature or request
labels
Jun 26, 2023
Ebuube
added a commit
that referenced
this issue
Jun 26, 2023
* Planned procedure for the monty program This is the algorithm for the monty program. It explains the maxim of the steps that the monty program uses for execution. * Created Makefile The Makefile facilitates maintainance of the codebasee * clean: To clean or unwanted files * all: To build the executable `monty` * betty_check: To check if codebase is `betty` compliant * spell_check: To check if codebase is English is grammatically correct * check: Run both `betty_check` and `spell_check` * Implemented basic codebase functionality * Code compiles safely without memory leaks * Opens file passed to it * Reads file line by line * Parses each line to get the first two words i.e opcode and argument * Prints the output to screen - To be turned into execute operation * Closes file on exit * Ends successfully without memory leaks * Updated monty.h to accomodate the new function 'execute' * Updated 'read_file.c' so that it calls the 'execute' function when appropriate * Updated Makefile so that it incoporates 'valgrind' for mememory check * Updated Makefile with documentation on how to use it * Created a new file 'execute.c' to house the execute() funtion * [#2] Prepared basic code functionalities I successfully: * Created a well-documented Makefile for the project * Created the basic functions that handle file reading and parsing to select the opcodes and the arguements Note: I have not implemented the stack data structure, yet * [#2] Refactored codebase and added two opcodes - Gitignore : ignores both *.bak and valgrind-out.txt log file - Makefile: Takes note of the new file structure espcially, opcodes and utility directories - README.md : Warns users not to exceed INT_MIN - INT_MAX range as opcode arguments to opcoes like push, pall, etc. - main.c : Takes not of the new codebase structure - monty.h : Added extra data types, header files and prototypes - WORKFLOW.md : Corrected patter of pulling from remote branch Removed unwanted files they are now replaced by new ones in a different directory -> utility: - execute.c - parse_line.c - read_file.c Added new files: - opcodes directory: * _pall.c : implements a function to print all elements of stack * _push.c : implements a function to add element to top of stack - utility directory: * execute.c : executes instructions * free_stack.c : frees stack as clean up action * get_int.c : safely fetches arguments to opcodes if any * get_opcode_func.c : fetches the opcode from a line in a bytecode file * [#2] Modified codebase and added 'pint' opcode Modification: - Makefile : that betty_check target now uses automatic variables - monty.h : now accomodates the new opcode 'pint' - utility/get_opcode_func.c : now accomodates the new opcode 'pint' New files: - opcodes/_pint.c : implements the 'pint' opcode * [#2] Modified codebase and added 'pop' opcode Modification: - Makefile : that betty_check target now uses automatic variables - monty.h : now accomodates the new opcode 'pop' - utility/get_opcode_func.c : now accomodates the new opcode 'pop' New files: - opcodes/_pop.c : implements the 'pop' opcode * [#10] Implemented the `swap` opcode Modification: - monty.h : take note of the new function for swapping nodes - utility/ *get_opcode_func.c - Included the new opcode in the instruction set - opcodes/ * _push.c : Corrected the function so that it properly assigns the `prev` data of a node New file: - opcodes/ * _swap.c : Implements the `swap` opcode * [#11] Implement the `add` opcode Modifications: - monty.h : include prototype of new function for 'add' opcode - utility/ * get_opcode_func.c : included 'add' opcode in instrcutions New files: - opcodes/ * _add.c : implement the 'add' opcode * [#12] Implement the `nop` opcode This opcode doesn't do anyting Modification: - monty.h : included prototype of the new function that handles this opcode - utility/ * get_opcode_func.c : Added new opcode to instructions New files: - opcodes/ * _nop.c : implements the `nop` opcode
Ebuube
added a commit
that referenced
this issue
Jun 27, 2023
* [#1] Initial Documentation Created an AUTHORS.md file Added the name of current contributors. * [#1] Initial Documentation Described the system of workflow for this repository * [#1] Initial Documentation Included a `.gitignore.` file in the repository and ignored `*.bak` files. * Revert "Initial commit" This reverts commit 8277676. * [#1] Initial Documentation Described the system of workflow for this repository Used proper styling to make the necessary instructions more visible * [#1] Initial Documentation Described the system of workflow for this repository Used proper styling to make the necessary instructions more visible Corrected punctuation marks * [#3] Integrating pull request reviews I resolved the problems by: * Replacing the name `julien` with `vagrant` in the README.md file * Removing the bold style in the `<summary> ... </summary> tag contents. I now have something that is has this format ```<summary>Header : description</summary>`` * Revert "Integrating pull request reviews" * Created README.md file (#6) Resolves [#5] Closes [#1] This commit is an attempt to push back the README.md to the remote * Basic codebase functionality (#8) * Planned procedure for the monty program This is the algorithm for the monty program. It explains the maxim of the steps that the monty program uses for execution. * Created Makefile The Makefile facilitates maintainance of the codebasee * clean: To clean or unwanted files * all: To build the executable `monty` * betty_check: To check if codebase is `betty` compliant * spell_check: To check if codebase is English is grammatically correct * check: Run both `betty_check` and `spell_check` * Implemented basic codebase functionality * Code compiles safely without memory leaks * Opens file passed to it * Reads file line by line * Parses each line to get the first two words i.e opcode and argument * Prints the output to screen - To be turned into execute operation * Closes file on exit * Ends successfully without memory leaks * Updated monty.h to accomodate the new function 'execute' * Updated 'read_file.c' so that it calls the 'execute' function when appropriate * Updated Makefile so that it incoporates 'valgrind' for mememory check * Updated Makefile with documentation on how to use it * Created a new file 'execute.c' to house the execute() funtion * [#2] Prepared basic code functionalities I successfully: * Created a well-documented Makefile for the project * Created the basic functions that handle file reading and parsing to select the opcodes and the arguements Note: I have not implemented the stack data structure, yet * First working model of monty (#9) * Planned procedure for the monty program This is the algorithm for the monty program. It explains the maxim of the steps that the monty program uses for execution. * Created Makefile The Makefile facilitates maintainance of the codebasee * clean: To clean or unwanted files * all: To build the executable `monty` * betty_check: To check if codebase is `betty` compliant * spell_check: To check if codebase is English is grammatically correct * check: Run both `betty_check` and `spell_check` * Implemented basic codebase functionality * Code compiles safely without memory leaks * Opens file passed to it * Reads file line by line * Parses each line to get the first two words i.e opcode and argument * Prints the output to screen - To be turned into execute operation * Closes file on exit * Ends successfully without memory leaks * Updated monty.h to accomodate the new function 'execute' * Updated 'read_file.c' so that it calls the 'execute' function when appropriate * Updated Makefile so that it incoporates 'valgrind' for mememory check * Updated Makefile with documentation on how to use it * Created a new file 'execute.c' to house the execute() funtion * [#2] Prepared basic code functionalities I successfully: * Created a well-documented Makefile for the project * Created the basic functions that handle file reading and parsing to select the opcodes and the arguements Note: I have not implemented the stack data structure, yet * [#2] Refactored codebase and added two opcodes - Gitignore : ignores both *.bak and valgrind-out.txt log file - Makefile: Takes note of the new file structure espcially, opcodes and utility directories - README.md : Warns users not to exceed INT_MIN - INT_MAX range as opcode arguments to opcoes like push, pall, etc. - main.c : Takes not of the new codebase structure - monty.h : Added extra data types, header files and prototypes - WORKFLOW.md : Corrected patter of pulling from remote branch Removed unwanted files they are now replaced by new ones in a different directory -> utility: - execute.c - parse_line.c - read_file.c Added new files: - opcodes directory: * _pall.c : implements a function to print all elements of stack * _push.c : implements a function to add element to top of stack - utility directory: * execute.c : executes instructions * free_stack.c : frees stack as clean up action * get_int.c : safely fetches arguments to opcodes if any * get_opcode_func.c : fetches the opcode from a line in a bytecode file * [#2] Modified codebase and added 'pint' opcode Modification: - Makefile : that betty_check target now uses automatic variables - monty.h : now accomodates the new opcode 'pint' - utility/get_opcode_func.c : now accomodates the new opcode 'pint' New files: - opcodes/_pint.c : implements the 'pint' opcode * [#2] Modified codebase and added 'pop' opcode Modification: - Makefile : that betty_check target now uses automatic variables - monty.h : now accomodates the new opcode 'pop' - utility/get_opcode_func.c : now accomodates the new opcode 'pop' New files: - opcodes/_pop.c : implements the 'pop' opcode * Successfully implemented Basic opcodes (#13) * Planned procedure for the monty program This is the algorithm for the monty program. It explains the maxim of the steps that the monty program uses for execution. * Created Makefile The Makefile facilitates maintainance of the codebasee * clean: To clean or unwanted files * all: To build the executable `monty` * betty_check: To check if codebase is `betty` compliant * spell_check: To check if codebase is English is grammatically correct * check: Run both `betty_check` and `spell_check` * Implemented basic codebase functionality * Code compiles safely without memory leaks * Opens file passed to it * Reads file line by line * Parses each line to get the first two words i.e opcode and argument * Prints the output to screen - To be turned into execute operation * Closes file on exit * Ends successfully without memory leaks * Updated monty.h to accomodate the new function 'execute' * Updated 'read_file.c' so that it calls the 'execute' function when appropriate * Updated Makefile so that it incoporates 'valgrind' for mememory check * Updated Makefile with documentation on how to use it * Created a new file 'execute.c' to house the execute() funtion * [#2] Prepared basic code functionalities I successfully: * Created a well-documented Makefile for the project * Created the basic functions that handle file reading and parsing to select the opcodes and the arguements Note: I have not implemented the stack data structure, yet * [#2] Refactored codebase and added two opcodes - Gitignore : ignores both *.bak and valgrind-out.txt log file - Makefile: Takes note of the new file structure espcially, opcodes and utility directories - README.md : Warns users not to exceed INT_MIN - INT_MAX range as opcode arguments to opcoes like push, pall, etc. - main.c : Takes not of the new codebase structure - monty.h : Added extra data types, header files and prototypes - WORKFLOW.md : Corrected patter of pulling from remote branch Removed unwanted files they are now replaced by new ones in a different directory -> utility: - execute.c - parse_line.c - read_file.c Added new files: - opcodes directory: * _pall.c : implements a function to print all elements of stack * _push.c : implements a function to add element to top of stack - utility directory: * execute.c : executes instructions * free_stack.c : frees stack as clean up action * get_int.c : safely fetches arguments to opcodes if any * get_opcode_func.c : fetches the opcode from a line in a bytecode file * [#2] Modified codebase and added 'pint' opcode Modification: - Makefile : that betty_check target now uses automatic variables - monty.h : now accomodates the new opcode 'pint' - utility/get_opcode_func.c : now accomodates the new opcode 'pint' New files: - opcodes/_pint.c : implements the 'pint' opcode * [#2] Modified codebase and added 'pop' opcode Modification: - Makefile : that betty_check target now uses automatic variables - monty.h : now accomodates the new opcode 'pop' - utility/get_opcode_func.c : now accomodates the new opcode 'pop' New files: - opcodes/_pop.c : implements the 'pop' opcode * [#10] Implemented the `swap` opcode Modification: - monty.h : take note of the new function for swapping nodes - utility/ *get_opcode_func.c - Included the new opcode in the instruction set - opcodes/ * _push.c : Corrected the function so that it properly assigns the `prev` data of a node New file: - opcodes/ * _swap.c : Implements the `swap` opcode * [#11] Implement the `add` opcode Modifications: - monty.h : include prototype of new function for 'add' opcode - utility/ * get_opcode_func.c : included 'add' opcode in instrcutions New files: - opcodes/ * _add.c : implement the 'add' opcode * [#12] Implement the `nop` opcode This opcode doesn't do anyting Modification: - monty.h : included prototype of the new function that handles this opcode - utility/ * get_opcode_func.c : Added new opcode to instructions New files: - opcodes/ * _nop.c : implements the `nop` opcode * Create the first release (#17) * [#15] Put the markdown files in Documentation/ All the Markdown files except `README.md` file is moved to the directory named `Documentation`. These files include : - AUTHORS.md - PROCEDURE.md - WORKFLOW.md * [#7] Bug in README.md documentation Modifications: - Removed grammatical error - Added two Markdown badges to README.md * Maintainer * Git * [#14] Adding badges to READM.md Removed the `Maintainer` badge and added a generic badge. * [#14] Modified the Maintainer badge Using a different `shields.io` bade to do the same task of creating the `Maintainer` badge. * [#14] Corrected badge URL Modified the badge so that it displays an `svg` image. * [#14] Added new badge New badges: - `made-with-C` - `realase - version` * [#14] Added new badges Modification: - `release` badge New: - `contributors` badge * [#14] Badge modifcation Modifications: - Moved the `Git` badge to the acknowledgement section of README.md New: - `GITHUB` badge at the acknowledgement section * [#14] README.md modification Changed the header of the README.md * [#14] More acknowledgements Modification: - Github badge New badges: - ALX badge * [#14] Modification of Badges in README.md Modification: - ALX badge
Ebuube
added a commit
that referenced
this issue
Jun 27, 2023
commit 3be87dd Author: Ebube Gideon Onwuta <111176684+Ebuube@users.noreply.github.com> Date: Tue Jun 27 07:49:38 2023 +0100 Hotfix 19 add license (#21) * Added LICENSE to proposed release This license expresses the condition for using this software product. License type: MIT * Update LICENSE Corrected the order of the names for the License bearer. commit 74115f0 Author: Ebube Gideon Onwuta <111176684+Ebuube@users.noreply.github.com> Date: Tue Jun 27 06:39:01 2023 +0100 [#19] Prerelease hotfix (#20) Modification: - README.md : Linked the `Git` acknowledgement badge to the `git` website -> https://git-scm.com/ - opcodes/ * Modified the `nop` opcode function so that it takes not of the unused parameters commit 8718776 Author: Ebube Gideon Onwuta <111176684+Ebuube@users.noreply.github.com> Date: Tue Jun 27 06:19:38 2023 +0100 First Major release of monty (#18) * [#1] Initial Documentation Created an AUTHORS.md file Added the name of current contributors. * [#1] Initial Documentation Described the system of workflow for this repository * [#1] Initial Documentation Included a `.gitignore.` file in the repository and ignored `*.bak` files. * Revert "Initial commit" This reverts commit 8277676. * [#1] Initial Documentation Described the system of workflow for this repository Used proper styling to make the necessary instructions more visible * [#1] Initial Documentation Described the system of workflow for this repository Used proper styling to make the necessary instructions more visible Corrected punctuation marks * [#3] Integrating pull request reviews I resolved the problems by: * Replacing the name `julien` with `vagrant` in the README.md file * Removing the bold style in the `<summary> ... </summary> tag contents. I now have something that is has this format ```<summary>Header : description</summary>`` * Revert "Integrating pull request reviews" * Created README.md file (#6) Resolves [#5] Closes [#1] This commit is an attempt to push back the README.md to the remote * Basic codebase functionality (#8) * Planned procedure for the monty program This is the algorithm for the monty program. It explains the maxim of the steps that the monty program uses for execution. * Created Makefile The Makefile facilitates maintainance of the codebasee * clean: To clean or unwanted files * all: To build the executable `monty` * betty_check: To check if codebase is `betty` compliant * spell_check: To check if codebase is English is grammatically correct * check: Run both `betty_check` and `spell_check` * Implemented basic codebase functionality * Code compiles safely without memory leaks * Opens file passed to it * Reads file line by line * Parses each line to get the first two words i.e opcode and argument * Prints the output to screen - To be turned into execute operation * Closes file on exit * Ends successfully without memory leaks * Updated monty.h to accomodate the new function 'execute' * Updated 'read_file.c' so that it calls the 'execute' function when appropriate * Updated Makefile so that it incoporates 'valgrind' for mememory check * Updated Makefile with documentation on how to use it * Created a new file 'execute.c' to house the execute() funtion * [#2] Prepared basic code functionalities I successfully: * Created a well-documented Makefile for the project * Created the basic functions that handle file reading and parsing to select the opcodes and the arguements Note: I have not implemented the stack data structure, yet * First working model of monty (#9) * Planned procedure for the monty program This is the algorithm for the monty program. It explains the maxim of the steps that the monty program uses for execution. * Created Makefile The Makefile facilitates maintainance of the codebasee * clean: To clean or unwanted files * all: To build the executable `monty` * betty_check: To check if codebase is `betty` compliant * spell_check: To check if codebase is English is grammatically correct * check: Run both `betty_check` and `spell_check` * Implemented basic codebase functionality * Code compiles safely without memory leaks * Opens file passed to it * Reads file line by line * Parses each line to get the first two words i.e opcode and argument * Prints the output to screen - To be turned into execute operation * Closes file on exit * Ends successfully without memory leaks * Updated monty.h to accomodate the new function 'execute' * Updated 'read_file.c' so that it calls the 'execute' function when appropriate * Updated Makefile so that it incoporates 'valgrind' for mememory check * Updated Makefile with documentation on how to use it * Created a new file 'execute.c' to house the execute() funtion * [#2] Prepared basic code functionalities I successfully: * Created a well-documented Makefile for the project * Created the basic functions that handle file reading and parsing to select the opcodes and the arguements Note: I have not implemented the stack data structure, yet * [#2] Refactored codebase and added two opcodes - Gitignore : ignores both *.bak and valgrind-out.txt log file - Makefile: Takes note of the new file structure espcially, opcodes and utility directories - README.md : Warns users not to exceed INT_MIN - INT_MAX range as opcode arguments to opcoes like push, pall, etc. - main.c : Takes not of the new codebase structure - monty.h : Added extra data types, header files and prototypes - WORKFLOW.md : Corrected patter of pulling from remote branch Removed unwanted files they are now replaced by new ones in a different directory -> utility: - execute.c - parse_line.c - read_file.c Added new files: - opcodes directory: * _pall.c : implements a function to print all elements of stack * _push.c : implements a function to add element to top of stack - utility directory: * execute.c : executes instructions * free_stack.c : frees stack as clean up action * get_int.c : safely fetches arguments to opcodes if any * get_opcode_func.c : fetches the opcode from a line in a bytecode file * [#2] Modified codebase and added 'pint' opcode Modification: - Makefile : that betty_check target now uses automatic variables - monty.h : now accomodates the new opcode 'pint' - utility/get_opcode_func.c : now accomodates the new opcode 'pint' New files: - opcodes/_pint.c : implements the 'pint' opcode * [#2] Modified codebase and added 'pop' opcode Modification: - Makefile : that betty_check target now uses automatic variables - monty.h : now accomodates the new opcode 'pop' - utility/get_opcode_func.c : now accomodates the new opcode 'pop' New files: - opcodes/_pop.c : implements the 'pop' opcode * Successfully implemented Basic opcodes (#13) * Planned procedure for the monty program This is the algorithm for the monty program. It explains the maxim of the steps that the monty program uses for execution. * Created Makefile The Makefile facilitates maintainance of the codebasee * clean: To clean or unwanted files * all: To build the executable `monty` * betty_check: To check if codebase is `betty` compliant * spell_check: To check if codebase is English is grammatically correct * check: Run both `betty_check` and `spell_check` * Implemented basic codebase functionality * Code compiles safely without memory leaks * Opens file passed to it * Reads file line by line * Parses each line to get the first two words i.e opcode and argument * Prints the output to screen - To be turned into execute operation * Closes file on exit * Ends successfully without memory leaks * Updated monty.h to accomodate the new function 'execute' * Updated 'read_file.c' so that it calls the 'execute' function when appropriate * Updated Makefile so that it incoporates 'valgrind' for mememory check * Updated Makefile with documentation on how to use it * Created a new file 'execute.c' to house the execute() funtion * [#2] Prepared basic code functionalities I successfully: * Created a well-documented Makefile for the project * Created the basic functions that handle file reading and parsing to select the opcodes and the arguements Note: I have not implemented the stack data structure, yet * [#2] Refactored codebase and added two opcodes - Gitignore : ignores both *.bak and valgrind-out.txt log file - Makefile: Takes note of the new file structure espcially, opcodes and utility directories - README.md : Warns users not to exceed INT_MIN - INT_MAX range as opcode arguments to opcoes like push, pall, etc. - main.c : Takes not of the new codebase structure - monty.h : Added extra data types, header files and prototypes - WORKFLOW.md : Corrected patter of pulling from remote branch Removed unwanted files they are now replaced by new ones in a different directory -> utility: - execute.c - parse_line.c - read_file.c Added new files: - opcodes directory: * _pall.c : implements a function to print all elements of stack * _push.c : implements a function to add element to top of stack - utility directory: * execute.c : executes instructions * free_stack.c : frees stack as clean up action * get_int.c : safely fetches arguments to opcodes if any * get_opcode_func.c : fetches the opcode from a line in a bytecode file * [#2] Modified codebase and added 'pint' opcode Modification: - Makefile : that betty_check target now uses automatic variables - monty.h : now accomodates the new opcode 'pint' - utility/get_opcode_func.c : now accomodates the new opcode 'pint' New files: - opcodes/_pint.c : implements the 'pint' opcode * [#2] Modified codebase and added 'pop' opcode Modification: - Makefile : that betty_check target now uses automatic variables - monty.h : now accomodates the new opcode 'pop' - utility/get_opcode_func.c : now accomodates the new opcode 'pop' New files: - opcodes/_pop.c : implements the 'pop' opcode * [#10] Implemented the `swap` opcode Modification: - monty.h : take note of the new function for swapping nodes - utility/ *get_opcode_func.c - Included the new opcode in the instruction set - opcodes/ * _push.c : Corrected the function so that it properly assigns the `prev` data of a node New file: - opcodes/ * _swap.c : Implements the `swap` opcode * [#11] Implement the `add` opcode Modifications: - monty.h : include prototype of new function for 'add' opcode - utility/ * get_opcode_func.c : included 'add' opcode in instrcutions New files: - opcodes/ * _add.c : implement the 'add' opcode * [#12] Implement the `nop` opcode This opcode doesn't do anyting Modification: - monty.h : included prototype of the new function that handles this opcode - utility/ * get_opcode_func.c : Added new opcode to instructions New files: - opcodes/ * _nop.c : implements the `nop` opcode * Create the first release (#17) * [#15] Put the markdown files in Documentation/ All the Markdown files except `README.md` file is moved to the directory named `Documentation`. These files include : - AUTHORS.md - PROCEDURE.md - WORKFLOW.md * [#7] Bug in README.md documentation Modifications: - Removed grammatical error - Added two Markdown badges to README.md * Maintainer * Git * [#14] Adding badges to READM.md Removed the `Maintainer` badge and added a generic badge. * [#14] Modified the Maintainer badge Using a different `shields.io` bade to do the same task of creating the `Maintainer` badge. * [#14] Corrected badge URL Modified the badge so that it displays an `svg` image. * [#14] Added new badge New badges: - `made-with-C` - `realase - version` * [#14] Added new badges Modification: - `release` badge New: - `contributors` badge * [#14] Badge modifcation Modifications: - Moved the `Git` badge to the acknowledgement section of README.md New: - `GITHUB` badge at the acknowledgement section * [#14] README.md modification Changed the header of the README.md * [#14] More acknowledgements Modification: - Github badge New badges: - ALX badge * [#14] Modification of Badges in README.md Modification: - ALX badge
Ebuube
added a commit
that referenced
this issue
Jun 30, 2023
* [#1] Initial Documentation Created an AUTHORS.md file Added the name of current contributors. * [#1] Initial Documentation Described the system of workflow for this repository * [#1] Initial Documentation Included a `.gitignore.` file in the repository and ignored `*.bak` files. * Revert "Initial commit" This reverts commit 8277676. * [#1] Initial Documentation Described the system of workflow for this repository Used proper styling to make the necessary instructions more visible * [#1] Initial Documentation Described the system of workflow for this repository Used proper styling to make the necessary instructions more visible Corrected punctuation marks * [#3] Integrating pull request reviews I resolved the problems by: * Replacing the name `julien` with `vagrant` in the README.md file * Removing the bold style in the `<summary> ... </summary> tag contents. I now have something that is has this format ```<summary>Header : description</summary>`` * Revert "Integrating pull request reviews" * Created README.md file (#6) Resolves [#5] Closes [#1] This commit is an attempt to push back the README.md to the remote * Basic codebase functionality (#8) * Planned procedure for the monty program This is the algorithm for the monty program. It explains the maxim of the steps that the monty program uses for execution. * Created Makefile The Makefile facilitates maintainance of the codebasee * clean: To clean or unwanted files * all: To build the executable `monty` * betty_check: To check if codebase is `betty` compliant * spell_check: To check if codebase is English is grammatically correct * check: Run both `betty_check` and `spell_check` * Implemented basic codebase functionality * Code compiles safely without memory leaks * Opens file passed to it * Reads file line by line * Parses each line to get the first two words i.e opcode and argument * Prints the output to screen - To be turned into execute operation * Closes file on exit * Ends successfully without memory leaks * Updated monty.h to accomodate the new function 'execute' * Updated 'read_file.c' so that it calls the 'execute' function when appropriate * Updated Makefile so that it incoporates 'valgrind' for mememory check * Updated Makefile with documentation on how to use it * Created a new file 'execute.c' to house the execute() funtion * [#2] Prepared basic code functionalities I successfully: * Created a well-documented Makefile for the project * Created the basic functions that handle file reading and parsing to select the opcodes and the arguements Note: I have not implemented the stack data structure, yet * First working model of monty (#9) * Planned procedure for the monty program This is the algorithm for the monty program. It explains the maxim of the steps that the monty program uses for execution. * Created Makefile The Makefile facilitates maintainance of the codebasee * clean: To clean or unwanted files * all: To build the executable `monty` * betty_check: To check if codebase is `betty` compliant * spell_check: To check if codebase is English is grammatically correct * check: Run both `betty_check` and `spell_check` * Implemented basic codebase functionality * Code compiles safely without memory leaks * Opens file passed to it * Reads file line by line * Parses each line to get the first two words i.e opcode and argument * Prints the output to screen - To be turned into execute operation * Closes file on exit * Ends successfully without memory leaks * Updated monty.h to accomodate the new function 'execute' * Updated 'read_file.c' so that it calls the 'execute' function when appropriate * Updated Makefile so that it incoporates 'valgrind' for mememory check * Updated Makefile with documentation on how to use it * Created a new file 'execute.c' to house the execute() funtion * [#2] Prepared basic code functionalities I successfully: * Created a well-documented Makefile for the project * Created the basic functions that handle file reading and parsing to select the opcodes and the arguements Note: I have not implemented the stack data structure, yet * [#2] Refactored codebase and added two opcodes - Gitignore : ignores both *.bak and valgrind-out.txt log file - Makefile: Takes note of the new file structure espcially, opcodes and utility directories - README.md : Warns users not to exceed INT_MIN - INT_MAX range as opcode arguments to opcoes like push, pall, etc. - main.c : Takes not of the new codebase structure - monty.h : Added extra data types, header files and prototypes - WORKFLOW.md : Corrected patter of pulling from remote branch Removed unwanted files they are now replaced by new ones in a different directory -> utility: - execute.c - parse_line.c - read_file.c Added new files: - opcodes directory: * _pall.c : implements a function to print all elements of stack * _push.c : implements a function to add element to top of stack - utility directory: * execute.c : executes instructions * free_stack.c : frees stack as clean up action * get_int.c : safely fetches arguments to opcodes if any * get_opcode_func.c : fetches the opcode from a line in a bytecode file * [#2] Modified codebase and added 'pint' opcode Modification: - Makefile : that betty_check target now uses automatic variables - monty.h : now accomodates the new opcode 'pint' - utility/get_opcode_func.c : now accomodates the new opcode 'pint' New files: - opcodes/_pint.c : implements the 'pint' opcode * [#2] Modified codebase and added 'pop' opcode Modification: - Makefile : that betty_check target now uses automatic variables - monty.h : now accomodates the new opcode 'pop' - utility/get_opcode_func.c : now accomodates the new opcode 'pop' New files: - opcodes/_pop.c : implements the 'pop' opcode * Successfully implemented Basic opcodes (#13) * Planned procedure for the monty program This is the algorithm for the monty program. It explains the maxim of the steps that the monty program uses for execution. * Created Makefile The Makefile facilitates maintainance of the codebasee * clean: To clean or unwanted files * all: To build the executable `monty` * betty_check: To check if codebase is `betty` compliant * spell_check: To check if codebase is English is grammatically correct * check: Run both `betty_check` and `spell_check` * Implemented basic codebase functionality * Code compiles safely without memory leaks * Opens file passed to it * Reads file line by line * Parses each line to get the first two words i.e opcode and argument * Prints the output to screen - To be turned into execute operation * Closes file on exit * Ends successfully without memory leaks * Updated monty.h to accomodate the new function 'execute' * Updated 'read_file.c' so that it calls the 'execute' function when appropriate * Updated Makefile so that it incoporates 'valgrind' for mememory check * Updated Makefile with documentation on how to use it * Created a new file 'execute.c' to house the execute() funtion * [#2] Prepared basic code functionalities I successfully: * Created a well-documented Makefile for the project * Created the basic functions that handle file reading and parsing to select the opcodes and the arguements Note: I have not implemented the stack data structure, yet * [#2] Refactored codebase and added two opcodes - Gitignore : ignores both *.bak and valgrind-out.txt log file - Makefile: Takes note of the new file structure espcially, opcodes and utility directories - README.md : Warns users not to exceed INT_MIN - INT_MAX range as opcode arguments to opcoes like push, pall, etc. - main.c : Takes not of the new codebase structure - monty.h : Added extra data types, header files and prototypes - WORKFLOW.md : Corrected patter of pulling from remote branch Removed unwanted files they are now replaced by new ones in a different directory -> utility: - execute.c - parse_line.c - read_file.c Added new files: - opcodes directory: * _pall.c : implements a function to print all elements of stack * _push.c : implements a function to add element to top of stack - utility directory: * execute.c : executes instructions * free_stack.c : frees stack as clean up action * get_int.c : safely fetches arguments to opcodes if any * get_opcode_func.c : fetches the opcode from a line in a bytecode file * [#2] Modified codebase and added 'pint' opcode Modification: - Makefile : that betty_check target now uses automatic variables - monty.h : now accomodates the new opcode 'pint' - utility/get_opcode_func.c : now accomodates the new opcode 'pint' New files: - opcodes/_pint.c : implements the 'pint' opcode * [#2] Modified codebase and added 'pop' opcode Modification: - Makefile : that betty_check target now uses automatic variables - monty.h : now accomodates the new opcode 'pop' - utility/get_opcode_func.c : now accomodates the new opcode 'pop' New files: - opcodes/_pop.c : implements the 'pop' opcode * [#10] Implemented the `swap` opcode Modification: - monty.h : take note of the new function for swapping nodes - utility/ *get_opcode_func.c - Included the new opcode in the instruction set - opcodes/ * _push.c : Corrected the function so that it properly assigns the `prev` data of a node New file: - opcodes/ * _swap.c : Implements the `swap` opcode * [#11] Implement the `add` opcode Modifications: - monty.h : include prototype of new function for 'add' opcode - utility/ * get_opcode_func.c : included 'add' opcode in instrcutions New files: - opcodes/ * _add.c : implement the 'add' opcode * [#12] Implement the `nop` opcode This opcode doesn't do anyting Modification: - monty.h : included prototype of the new function that handles this opcode - utility/ * get_opcode_func.c : Added new opcode to instructions New files: - opcodes/ * _nop.c : implements the `nop` opcode * Create the first release (#17) * [#15] Put the markdown files in Documentation/ All the Markdown files except `README.md` file is moved to the directory named `Documentation`. These files include : - AUTHORS.md - PROCEDURE.md - WORKFLOW.md * [#7] Bug in README.md documentation Modifications: - Removed grammatical error - Added two Markdown badges to README.md * Maintainer * Git * [#14] Adding badges to READM.md Removed the `Maintainer` badge and added a generic badge. * [#14] Modified the Maintainer badge Using a different `shields.io` bade to do the same task of creating the `Maintainer` badge. * [#14] Corrected badge URL Modified the badge so that it displays an `svg` image. * [#14] Added new badge New badges: - `made-with-C` - `realase - version` * [#14] Added new badges Modification: - `release` badge New: - `contributors` badge * [#14] Badge modifcation Modifications: - Moved the `Git` badge to the acknowledgement section of README.md New: - `GITHUB` badge at the acknowledgement section * [#14] README.md modification Changed the header of the README.md * [#14] More acknowledgements Modification: - Github badge New badges: - ALX badge * [#14] Modification of Badges in README.md Modification: - ALX badge * Squashed commit of the following: commit 3be87dd Author: Ebube Gideon Onwuta <111176684+Ebuube@users.noreply.github.com> Date: Tue Jun 27 07:49:38 2023 +0100 Hotfix 19 add license (#21) * Added LICENSE to proposed release This license expresses the condition for using this software product. License type: MIT * Update LICENSE Corrected the order of the names for the License bearer. commit 74115f0 Author: Ebube Gideon Onwuta <111176684+Ebuube@users.noreply.github.com> Date: Tue Jun 27 06:39:01 2023 +0100 [#19] Prerelease hotfix (#20) Modification: - README.md : Linked the `Git` acknowledgement badge to the `git` website -> https://git-scm.com/ - opcodes/ * Modified the `nop` opcode function so that it takes not of the unused parameters commit 8718776 Author: Ebube Gideon Onwuta <111176684+Ebuube@users.noreply.github.com> Date: Tue Jun 27 06:19:38 2023 +0100 First Major release of monty (#18) * [#1] Initial Documentation Created an AUTHORS.md file Added the name of current contributors. * [#1] Initial Documentation Described the system of workflow for this repository * [#1] Initial Documentation Included a `.gitignore.` file in the repository and ignored `*.bak` files. * Revert "Initial commit" This reverts commit 8277676. * [#1] Initial Documentation Described the system of workflow for this repository Used proper styling to make the necessary instructions more visible * [#1] Initial Documentation Described the system of workflow for this repository Used proper styling to make the necessary instructions more visible Corrected punctuation marks * [#3] Integrating pull request reviews I resolved the problems by: * Replacing the name `julien` with `vagrant` in the README.md file * Removing the bold style in the `<summary> ... </summary> tag contents. I now have something that is has this format ```<summary>Header : description</summary>`` * Revert "Integrating pull request reviews" * Created README.md file (#6) Resolves [#5] Closes [#1] This commit is an attempt to push back the README.md to the remote * Basic codebase functionality (#8) * Planned procedure for the monty program This is the algorithm for the monty program. It explains the maxim of the steps that the monty program uses for execution. * Created Makefile The Makefile facilitates maintainance of the codebasee * clean: To clean or unwanted files * all: To build the executable `monty` * betty_check: To check if codebase is `betty` compliant * spell_check: To check if codebase is English is grammatically correct * check: Run both `betty_check` and `spell_check` * Implemented basic codebase functionality * Code compiles safely without memory leaks * Opens file passed to it * Reads file line by line * Parses each line to get the first two words i.e opcode and argument * Prints the output to screen - To be turned into execute operation * Closes file on exit * Ends successfully without memory leaks * Updated monty.h to accomodate the new function 'execute' * Updated 'read_file.c' so that it calls the 'execute' function when appropriate * Updated Makefile so that it incoporates 'valgrind' for mememory check * Updated Makefile with documentation on how to use it * Created a new file 'execute.c' to house the execute() funtion * [#2] Prepared basic code functionalities I successfully: * Created a well-documented Makefile for the project * Created the basic functions that handle file reading and parsing to select the opcodes and the arguements Note: I have not implemented the stack data structure, yet * First working model of monty (#9) * Planned procedure for the monty program This is the algorithm for the monty program. It explains the maxim of the steps that the monty program uses for execution. * Created Makefile The Makefile facilitates maintainance of the codebasee * clean: To clean or unwanted files * all: To build the executable `monty` * betty_check: To check if codebase is `betty` compliant * spell_check: To check if codebase is English is grammatically correct * check: Run both `betty_check` and `spell_check` * Implemented basic codebase functionality * Code compiles safely without memory leaks * Opens file passed to it * Reads file line by line * Parses each line to get the first two words i.e opcode and argument * Prints the output to screen - To be turned into execute operation * Closes file on exit * Ends successfully without memory leaks * Updated monty.h to accomodate the new function 'execute' * Updated 'read_file.c' so that it calls the 'execute' function when appropriate * Updated Makefile so that it incoporates 'valgrind' for mememory check * Updated Makefile with documentation on how to use it * Created a new file 'execute.c' to house the execute() funtion * [#2] Prepared basic code functionalities I successfully: * Created a well-documented Makefile for the project * Created the basic functions that handle file reading and parsing to select the opcodes and the arguements Note: I have not implemented the stack data structure, yet * [#2] Refactored codebase and added two opcodes - Gitignore : ignores both *.bak and valgrind-out.txt log file - Makefile: Takes note of the new file structure espcially, opcodes and utility directories - README.md : Warns users not to exceed INT_MIN - INT_MAX range as opcode arguments to opcoes like push, pall, etc. - main.c : Takes not of the new codebase structure - monty.h : Added extra data types, header files and prototypes - WORKFLOW.md : Corrected patter of pulling from remote branch Removed unwanted files they are now replaced by new ones in a different directory -> utility: - execute.c - parse_line.c - read_file.c Added new files: - opcodes directory: * _pall.c : implements a function to print all elements of stack * _push.c : implements a function to add element to top of stack - utility directory: * execute.c : executes instructions * free_stack.c : frees stack as clean up action * get_int.c : safely fetches arguments to opcodes if any * get_opcode_func.c : fetches the opcode from a line in a bytecode file * [#2] Modified codebase and added 'pint' opcode Modification: - Makefile : that betty_check target now uses automatic variables - monty.h : now accomodates the new opcode 'pint' - utility/get_opcode_func.c : now accomodates the new opcode 'pint' New files: - opcodes/_pint.c : implements the 'pint' opcode * [#2] Modified codebase and added 'pop' opcode Modification: - Makefile : that betty_check target now uses automatic variables - monty.h : now accomodates the new opcode 'pop' - utility/get_opcode_func.c : now accomodates the new opcode 'pop' New files: - opcodes/_pop.c : implements the 'pop' opcode * Successfully implemented Basic opcodes (#13) * Planned procedure for the monty program This is the algorithm for the monty program. It explains the maxim of the steps that the monty program uses for execution. * Created Makefile The Makefile facilitates maintainance of the codebasee * clean: To clean or unwanted files * all: To build the executable `monty` * betty_check: To check if codebase is `betty` compliant * spell_check: To check if codebase is English is grammatically correct * check: Run both `betty_check` and `spell_check` * Implemented basic codebase functionality * Code compiles safely without memory leaks * Opens file passed to it * Reads file line by line * Parses each line to get the first two words i.e opcode and argument * Prints the output to screen - To be turned into execute operation * Closes file on exit * Ends successfully without memory leaks * Updated monty.h to accomodate the new function 'execute' * Updated 'read_file.c' so that it calls the 'execute' function when appropriate * Updated Makefile so that it incoporates 'valgrind' for mememory check * Updated Makefile with documentation on how to use it * Created a new file 'execute.c' to house the execute() funtion * [#2] Prepared basic code functionalities I successfully: * Created a well-documented Makefile for the project * Created the basic functions that handle file reading and parsing to select the opcodes and the arguements Note: I have not implemented the stack data structure, yet * [#2] Refactored codebase and added two opcodes - Gitignore : ignores both *.bak and valgrind-out.txt log file - Makefile: Takes note of the new file structure espcially, opcodes and utility directories - README.md : Warns users not to exceed INT_MIN - INT_MAX range as opcode arguments to opcoes like push, pall, etc. - main.c : Takes not of the new codebase structure - monty.h : Added extra data types, header files and prototypes - WORKFLOW.md : Corrected patter of pulling from remote branch Removed unwanted files they are now replaced by new ones in a different directory -> utility: - execute.c - parse_line.c - read_file.c Added new files: - opcodes directory: * _pall.c : implements a function to print all elements of stack * _push.c : implements a function to add element to top of stack - utility directory: * execute.c : executes instructions * free_stack.c : frees stack as clean up action * get_int.c : safely fetches arguments to opcodes if any * get_opcode_func.c : fetches the opcode from a line in a bytecode file * [#2] Modified codebase and added 'pint' opcode Modification: - Makefile : that betty_check target now uses automatic variables - monty.h : now accomodates the new opcode 'pint' - utility/get_opcode_func.c : now accomodates the new opcode 'pint' New files: - opcodes/_pint.c : implements the 'pint' opcode * [#2] Modified codebase and added 'pop' opcode Modification: - Makefile : that betty_check target now uses automatic variables - monty.h : now accomodates the new opcode 'pop' - utility/get_opcode_func.c : now accomodates the new opcode 'pop' New files: - opcodes/_pop.c : implements the 'pop' opcode * [#10] Implemented the `swap` opcode Modification: - monty.h : take note of the new function for swapping nodes - utility/ *get_opcode_func.c - Included the new opcode in the instruction set - opcodes/ * _push.c : Corrected the function so that it properly assigns the `prev` data of a node New file: - opcodes/ * _swap.c : Implements the `swap` opcode * [#11] Implement the `add` opcode Modifications: - monty.h : include prototype of new function for 'add' opcode - utility/ * get_opcode_func.c : included 'add' opcode in instrcutions New files: - opcodes/ * _add.c : implement the 'add' opcode * [#12] Implement the `nop` opcode This opcode doesn't do anyting Modification: - monty.h : included prototype of the new function that handles this opcode - utility/ * get_opcode_func.c : Added new opcode to instructions New files: - opcodes/ * _nop.c : implements the `nop` opcode * Create the first release (#17) * [#15] Put the markdown files in Documentation/ All the Markdown files except `README.md` file is moved to the directory named `Documentation`. These files include : - AUTHORS.md - PROCEDURE.md - WORKFLOW.md * [#7] Bug in README.md documentation Modifications: - Removed grammatical error - Added two Markdown badges to README.md * Maintainer * Git * [#14] Adding badges to READM.md Removed the `Maintainer` badge and added a generic badge. * [#14] Modified the Maintainer badge Using a different `shields.io` bade to do the same task of creating the `Maintainer` badge. * [#14] Corrected badge URL Modified the badge so that it displays an `svg` image. * [#14] Added new badge New badges: - `made-with-C` - `realase - version` * [#14] Added new badges Modification: - `release` badge New: - `contributors` badge * [#14] Badge modifcation Modifications: - Moved the `Git` badge to the acknowledgement section of README.md New: - `GITHUB` badge at the acknowledgement section * [#14] README.md modification Changed the header of the README.md * [#14] More acknowledgements Modification: - Github badge New badges: - ALX badge * [#14] Modification of Badges in README.md Modification: - ALX badge * [#25] Refactoring patches Implemented a new function to handle: - get_node_at : fetches the node at a particular position (cherry picked from commit f908e0ce33e31fc4da78f5b8b7029fec08392e83) * [#25] Corrected phony targets of Makefile The phony target 'read_and debug' had no rule, which was a bug. It has been updated to 'ready_and_debug', which has a rule. * [#25] New methods in Makefile Updated Makefile so that the targets that compile the program configures the executable. This will make the executable 'monty' available all across the device -- not only this directory. It was achieved by moving the executable binary to the /usr/bin directory * [#25] Updated Documentation of usage Explained thenew way using this program 'monty'. Empahisizing that 'monty' can be used anywhere in the machine once installed. * [#23] Created configuration file The configuration file 'config.sh' is called by make according to the Makefile. It moves the executable binary file to the '/usr/bin' directory where it will be accessible throught the machine. It equally ensures that the binary file is not left lying around. * [#24] New changes * [#22] Made monty accept negative numbers Before now, monty reports an eror for negative numbers. This has been corrected in this commit. * [#22] Updating monty This commit made changes that ensures monty doesn't accept invalid strings as integers. It also makes sure that only one file is passed to monty. * [#25] Implement new opcodes and commenting feature These new opcodes were implemented * sub * div * mul * mod Added the commenting feature so that any line that begins with an hash '#' is treated as a comment. * [#25] Implemented the 'pchar' opcode This involves updating the README.md to tell about such feature. * [#25] Implement the 'pstr' opcode This commit implements the `pstr` opcode and updated README.md with documentation on how to use it. * [#25] Refactored functions & added rotl opcode Some changes were made in the way these opcodes behave. Instead of calling a get_node_at() function to fetch the second node, it removes the need of calling another function by directly determining if stack is up to the required length. This increases the speed of the program. These functions were refactored: _add(), _div(), _mod(), _mul(), _sub() and _swap. New opcode 'rotl' was implemented with the _rotl() function. The change was properly documented in the README.md * [#25] Refactored functions & added rotl opcode Some changes were made in the way these opcodes behave. Instead of calling a get_node_at() function to fetch the second node, it removes the need of calling another function by directly determining if stack is up to the required length. This increases the speed of the program. These functions were refactored: _add(), _div(), _mod(), _mul(), _sub() and _swap. New opcode 'rotl' was implemented with the _rotl() function. The change was properly documented in the README.md * [#25] Removed previous version of files * [#25] Implemented the 'rotr' opcode Created the function _rotr() for this opcode and updated monty.h and utility/get_opcode_func.c * [#25] Implemented the 'rotr' opcode Created the function _rotr() for this opcode and updated monty.h and utility/get_opcode_func.c Equally update README.md with documentation on how to use it. * [#25] Implemented the 'stack' and 'queue' opcodes The 'stack' opcode sets the data format to 'FIFO' which is the progams's default state. The 'queue' opcode sets the data format to 'LIFO'. Updated the documentation in the README.md * [#25] Implemented the 'stack' and 'queue' opcodes The 'stack' opcode sets the data format to 'LIFO' which is the progams's default state. The 'queue' opcode sets the data format to 'FIFO'. Updated the documentation in the README.md
Ebuube
added a commit
that referenced
this issue
Jun 30, 2023
* New features for Monty (#26) * [#1] Initial Documentation Created an AUTHORS.md file Added the name of current contributors. * [#1] Initial Documentation Described the system of workflow for this repository * [#1] Initial Documentation Included a `.gitignore.` file in the repository and ignored `*.bak` files. * Revert "Initial commit" This reverts commit 8277676. * [#1] Initial Documentation Described the system of workflow for this repository Used proper styling to make the necessary instructions more visible * [#1] Initial Documentation Described the system of workflow for this repository Used proper styling to make the necessary instructions more visible Corrected punctuation marks * [#3] Integrating pull request reviews I resolved the problems by: * Replacing the name `julien` with `vagrant` in the README.md file * Removing the bold style in the `<summary> ... </summary> tag contents. I now have something that is has this format ```<summary>Header : description</summary>`` * Revert "Integrating pull request reviews" * Created README.md file (#6) Resolves [#5] Closes [#1] This commit is an attempt to push back the README.md to the remote * Basic codebase functionality (#8) * Planned procedure for the monty program This is the algorithm for the monty program. It explains the maxim of the steps that the monty program uses for execution. * Created Makefile The Makefile facilitates maintainance of the codebasee * clean: To clean or unwanted files * all: To build the executable `monty` * betty_check: To check if codebase is `betty` compliant * spell_check: To check if codebase is English is grammatically correct * check: Run both `betty_check` and `spell_check` * Implemented basic codebase functionality * Code compiles safely without memory leaks * Opens file passed to it * Reads file line by line * Parses each line to get the first two words i.e opcode and argument * Prints the output to screen - To be turned into execute operation * Closes file on exit * Ends successfully without memory leaks * Updated monty.h to accomodate the new function 'execute' * Updated 'read_file.c' so that it calls the 'execute' function when appropriate * Updated Makefile so that it incoporates 'valgrind' for mememory check * Updated Makefile with documentation on how to use it * Created a new file 'execute.c' to house the execute() funtion * [#2] Prepared basic code functionalities I successfully: * Created a well-documented Makefile for the project * Created the basic functions that handle file reading and parsing to select the opcodes and the arguements Note: I have not implemented the stack data structure, yet * First working model of monty (#9) * Planned procedure for the monty program This is the algorithm for the monty program. It explains the maxim of the steps that the monty program uses for execution. * Created Makefile The Makefile facilitates maintainance of the codebasee * clean: To clean or unwanted files * all: To build the executable `monty` * betty_check: To check if codebase is `betty` compliant * spell_check: To check if codebase is English is grammatically correct * check: Run both `betty_check` and `spell_check` * Implemented basic codebase functionality * Code compiles safely without memory leaks * Opens file passed to it * Reads file line by line * Parses each line to get the first two words i.e opcode and argument * Prints the output to screen - To be turned into execute operation * Closes file on exit * Ends successfully without memory leaks * Updated monty.h to accomodate the new function 'execute' * Updated 'read_file.c' so that it calls the 'execute' function when appropriate * Updated Makefile so that it incoporates 'valgrind' for mememory check * Updated Makefile with documentation on how to use it * Created a new file 'execute.c' to house the execute() funtion * [#2] Prepared basic code functionalities I successfully: * Created a well-documented Makefile for the project * Created the basic functions that handle file reading and parsing to select the opcodes and the arguements Note: I have not implemented the stack data structure, yet * [#2] Refactored codebase and added two opcodes - Gitignore : ignores both *.bak and valgrind-out.txt log file - Makefile: Takes note of the new file structure espcially, opcodes and utility directories - README.md : Warns users not to exceed INT_MIN - INT_MAX range as opcode arguments to opcoes like push, pall, etc. - main.c : Takes not of the new codebase structure - monty.h : Added extra data types, header files and prototypes - WORKFLOW.md : Corrected patter of pulling from remote branch Removed unwanted files they are now replaced by new ones in a different directory -> utility: - execute.c - parse_line.c - read_file.c Added new files: - opcodes directory: * _pall.c : implements a function to print all elements of stack * _push.c : implements a function to add element to top of stack - utility directory: * execute.c : executes instructions * free_stack.c : frees stack as clean up action * get_int.c : safely fetches arguments to opcodes if any * get_opcode_func.c : fetches the opcode from a line in a bytecode file * [#2] Modified codebase and added 'pint' opcode Modification: - Makefile : that betty_check target now uses automatic variables - monty.h : now accomodates the new opcode 'pint' - utility/get_opcode_func.c : now accomodates the new opcode 'pint' New files: - opcodes/_pint.c : implements the 'pint' opcode * [#2] Modified codebase and added 'pop' opcode Modification: - Makefile : that betty_check target now uses automatic variables - monty.h : now accomodates the new opcode 'pop' - utility/get_opcode_func.c : now accomodates the new opcode 'pop' New files: - opcodes/_pop.c : implements the 'pop' opcode * Successfully implemented Basic opcodes (#13) * Planned procedure for the monty program This is the algorithm for the monty program. It explains the maxim of the steps that the monty program uses for execution. * Created Makefile The Makefile facilitates maintainance of the codebasee * clean: To clean or unwanted files * all: To build the executable `monty` * betty_check: To check if codebase is `betty` compliant * spell_check: To check if codebase is English is grammatically correct * check: Run both `betty_check` and `spell_check` * Implemented basic codebase functionality * Code compiles safely without memory leaks * Opens file passed to it * Reads file line by line * Parses each line to get the first two words i.e opcode and argument * Prints the output to screen - To be turned into execute operation * Closes file on exit * Ends successfully without memory leaks * Updated monty.h to accomodate the new function 'execute' * Updated 'read_file.c' so that it calls the 'execute' function when appropriate * Updated Makefile so that it incoporates 'valgrind' for mememory check * Updated Makefile with documentation on how to use it * Created a new file 'execute.c' to house the execute() funtion * [#2] Prepared basic code functionalities I successfully: * Created a well-documented Makefile for the project * Created the basic functions that handle file reading and parsing to select the opcodes and the arguements Note: I have not implemented the stack data structure, yet * [#2] Refactored codebase and added two opcodes - Gitignore : ignores both *.bak and valgrind-out.txt log file - Makefile: Takes note of the new file structure espcially, opcodes and utility directories - README.md : Warns users not to exceed INT_MIN - INT_MAX range as opcode arguments to opcoes like push, pall, etc. - main.c : Takes not of the new codebase structure - monty.h : Added extra data types, header files and prototypes - WORKFLOW.md : Corrected patter of pulling from remote branch Removed unwanted files they are now replaced by new ones in a different directory -> utility: - execute.c - parse_line.c - read_file.c Added new files: - opcodes directory: * _pall.c : implements a function to print all elements of stack * _push.c : implements a function to add element to top of stack - utility directory: * execute.c : executes instructions * free_stack.c : frees stack as clean up action * get_int.c : safely fetches arguments to opcodes if any * get_opcode_func.c : fetches the opcode from a line in a bytecode file * [#2] Modified codebase and added 'pint' opcode Modification: - Makefile : that betty_check target now uses automatic variables - monty.h : now accomodates the new opcode 'pint' - utility/get_opcode_func.c : now accomodates the new opcode 'pint' New files: - opcodes/_pint.c : implements the 'pint' opcode * [#2] Modified codebase and added 'pop' opcode Modification: - Makefile : that betty_check target now uses automatic variables - monty.h : now accomodates the new opcode 'pop' - utility/get_opcode_func.c : now accomodates the new opcode 'pop' New files: - opcodes/_pop.c : implements the 'pop' opcode * [#10] Implemented the `swap` opcode Modification: - monty.h : take note of the new function for swapping nodes - utility/ *get_opcode_func.c - Included the new opcode in the instruction set - opcodes/ * _push.c : Corrected the function so that it properly assigns the `prev` data of a node New file: - opcodes/ * _swap.c : Implements the `swap` opcode * [#11] Implement the `add` opcode Modifications: - monty.h : include prototype of new function for 'add' opcode - utility/ * get_opcode_func.c : included 'add' opcode in instrcutions New files: - opcodes/ * _add.c : implement the 'add' opcode * [#12] Implement the `nop` opcode This opcode doesn't do anyting Modification: - monty.h : included prototype of the new function that handles this opcode - utility/ * get_opcode_func.c : Added new opcode to instructions New files: - opcodes/ * _nop.c : implements the `nop` opcode * Create the first release (#17) * [#15] Put the markdown files in Documentation/ All the Markdown files except `README.md` file is moved to the directory named `Documentation`. These files include : - AUTHORS.md - PROCEDURE.md - WORKFLOW.md * [#7] Bug in README.md documentation Modifications: - Removed grammatical error - Added two Markdown badges to README.md * Maintainer * Git * [#14] Adding badges to READM.md Removed the `Maintainer` badge and added a generic badge. * [#14] Modified the Maintainer badge Using a different `shields.io` bade to do the same task of creating the `Maintainer` badge. * [#14] Corrected badge URL Modified the badge so that it displays an `svg` image. * [#14] Added new badge New badges: - `made-with-C` - `realase - version` * [#14] Added new badges Modification: - `release` badge New: - `contributors` badge * [#14] Badge modifcation Modifications: - Moved the `Git` badge to the acknowledgement section of README.md New: - `GITHUB` badge at the acknowledgement section * [#14] README.md modification Changed the header of the README.md * [#14] More acknowledgements Modification: - Github badge New badges: - ALX badge * [#14] Modification of Badges in README.md Modification: - ALX badge * Squashed commit of the following: commit 3be87dd Author: Ebube Gideon Onwuta <111176684+Ebuube@users.noreply.github.com> Date: Tue Jun 27 07:49:38 2023 +0100 Hotfix 19 add license (#21) * Added LICENSE to proposed release This license expresses the condition for using this software product. License type: MIT * Update LICENSE Corrected the order of the names for the License bearer. commit 74115f0 Author: Ebube Gideon Onwuta <111176684+Ebuube@users.noreply.github.com> Date: Tue Jun 27 06:39:01 2023 +0100 [#19] Prerelease hotfix (#20) Modification: - README.md : Linked the `Git` acknowledgement badge to the `git` website -> https://git-scm.com/ - opcodes/ * Modified the `nop` opcode function so that it takes not of the unused parameters commit 8718776 Author: Ebube Gideon Onwuta <111176684+Ebuube@users.noreply.github.com> Date: Tue Jun 27 06:19:38 2023 +0100 First Major release of monty (#18) * [#1] Initial Documentation Created an AUTHORS.md file Added the name of current contributors. * [#1] Initial Documentation Described the system of workflow for this repository * [#1] Initial Documentation Included a `.gitignore.` file in the repository and ignored `*.bak` files. * Revert "Initial commit" This reverts commit 8277676. * [#1] Initial Documentation Described the system of workflow for this repository Used proper styling to make the necessary instructions more visible * [#1] Initial Documentation Described the system of workflow for this repository Used proper styling to make the necessary instructions more visible Corrected punctuation marks * [#3] Integrating pull request reviews I resolved the problems by: * Replacing the name `julien` with `vagrant` in the README.md file * Removing the bold style in the `<summary> ... </summary> tag contents. I now have something that is has this format ```<summary>Header : description</summary>`` * Revert "Integrating pull request reviews" * Created README.md file (#6) Resolves [#5] Closes [#1] This commit is an attempt to push back the README.md to the remote * Basic codebase functionality (#8) * Planned procedure for the monty program This is the algorithm for the monty program. It explains the maxim of the steps that the monty program uses for execution. * Created Makefile The Makefile facilitates maintainance of the codebasee * clean: To clean or unwanted files * all: To build the executable `monty` * betty_check: To check if codebase is `betty` compliant * spell_check: To check if codebase is English is grammatically correct * check: Run both `betty_check` and `spell_check` * Implemented basic codebase functionality * Code compiles safely without memory leaks * Opens file passed to it * Reads file line by line * Parses each line to get the first two words i.e opcode and argument * Prints the output to screen - To be turned into execute operation * Closes file on exit * Ends successfully without memory leaks * Updated monty.h to accomodate the new function 'execute' * Updated 'read_file.c' so that it calls the 'execute' function when appropriate * Updated Makefile so that it incoporates 'valgrind' for mememory check * Updated Makefile with documentation on how to use it * Created a new file 'execute.c' to house the execute() funtion * [#2] Prepared basic code functionalities I successfully: * Created a well-documented Makefile for the project * Created the basic functions that handle file reading and parsing to select the opcodes and the arguements Note: I have not implemented the stack data structure, yet * First working model of monty (#9) * Planned procedure for the monty program This is the algorithm for the monty program. It explains the maxim of the steps that the monty program uses for execution. * Created Makefile The Makefile facilitates maintainance of the codebasee * clean: To clean or unwanted files * all: To build the executable `monty` * betty_check: To check if codebase is `betty` compliant * spell_check: To check if codebase is English is grammatically correct * check: Run both `betty_check` and `spell_check` * Implemented basic codebase functionality * Code compiles safely without memory leaks * Opens file passed to it * Reads file line by line * Parses each line to get the first two words i.e opcode and argument * Prints the output to screen - To be turned into execute operation * Closes file on exit * Ends successfully without memory leaks * Updated monty.h to accomodate the new function 'execute' * Updated 'read_file.c' so that it calls the 'execute' function when appropriate * Updated Makefile so that it incoporates 'valgrind' for mememory check * Updated Makefile with documentation on how to use it * Created a new file 'execute.c' to house the execute() funtion * [#2] Prepared basic code functionalities I successfully: * Created a well-documented Makefile for the project * Created the basic functions that handle file reading and parsing to select the opcodes and the arguements Note: I have not implemented the stack data structure, yet * [#2] Refactored codebase and added two opcodes - Gitignore : ignores both *.bak and valgrind-out.txt log file - Makefile: Takes note of the new file structure espcially, opcodes and utility directories - README.md : Warns users not to exceed INT_MIN - INT_MAX range as opcode arguments to opcoes like push, pall, etc. - main.c : Takes not of the new codebase structure - monty.h : Added extra data types, header files and prototypes - WORKFLOW.md : Corrected patter of pulling from remote branch Removed unwanted files they are now replaced by new ones in a different directory -> utility: - execute.c - parse_line.c - read_file.c Added new files: - opcodes directory: * _pall.c : implements a function to print all elements of stack * _push.c : implements a function to add element to top of stack - utility directory: * execute.c : executes instructions * free_stack.c : frees stack as clean up action * get_int.c : safely fetches arguments to opcodes if any * get_opcode_func.c : fetches the opcode from a line in a bytecode file * [#2] Modified codebase and added 'pint' opcode Modification: - Makefile : that betty_check target now uses automatic variables - monty.h : now accomodates the new opcode 'pint' - utility/get_opcode_func.c : now accomodates the new opcode 'pint' New files: - opcodes/_pint.c : implements the 'pint' opcode * [#2] Modified codebase and added 'pop' opcode Modification: - Makefile : that betty_check target now uses automatic variables - monty.h : now accomodates the new opcode 'pop' - utility/get_opcode_func.c : now accomodates the new opcode 'pop' New files: - opcodes/_pop.c : implements the 'pop' opcode * Successfully implemented Basic opcodes (#13) * Planned procedure for the monty program This is the algorithm for the monty program. It explains the maxim of the steps that the monty program uses for execution. * Created Makefile The Makefile facilitates maintainance of the codebasee * clean: To clean or unwanted files * all: To build the executable `monty` * betty_check: To check if codebase is `betty` compliant * spell_check: To check if codebase is English is grammatically correct * check: Run both `betty_check` and `spell_check` * Implemented basic codebase functionality * Code compiles safely without memory leaks * Opens file passed to it * Reads file line by line * Parses each line to get the first two words i.e opcode and argument * Prints the output to screen - To be turned into execute operation * Closes file on exit * Ends successfully without memory leaks * Updated monty.h to accomodate the new function 'execute' * Updated 'read_file.c' so that it calls the 'execute' function when appropriate * Updated Makefile so that it incoporates 'valgrind' for mememory check * Updated Makefile with documentation on how to use it * Created a new file 'execute.c' to house the execute() funtion * [#2] Prepared basic code functionalities I successfully: * Created a well-documented Makefile for the project * Created the basic functions that handle file reading and parsing to select the opcodes and the arguements Note: I have not implemented the stack data structure, yet * [#2] Refactored codebase and added two opcodes - Gitignore : ignores both *.bak and valgrind-out.txt log file - Makefile: Takes note of the new file structure espcially, opcodes and utility directories - README.md : Warns users not to exceed INT_MIN - INT_MAX range as opcode arguments to opcoes like push, pall, etc. - main.c : Takes not of the new codebase structure - monty.h : Added extra data types, header files and prototypes - WORKFLOW.md : Corrected patter of pulling from remote branch Removed unwanted files they are now replaced by new ones in a different directory -> utility: - execute.c - parse_line.c - read_file.c Added new files: - opcodes directory: * _pall.c : implements a function to print all elements of stack * _push.c : implements a function to add element to top of stack - utility directory: * execute.c : executes instructions * free_stack.c : frees stack as clean up action * get_int.c : safely fetches arguments to opcodes if any * get_opcode_func.c : fetches the opcode from a line in a bytecode file * [#2] Modified codebase and added 'pint' opcode Modification: - Makefile : that betty_check target now uses automatic variables - monty.h : now accomodates the new opcode 'pint' - utility/get_opcode_func.c : now accomodates the new opcode 'pint' New files: - opcodes/_pint.c : implements the 'pint' opcode * [#2] Modified codebase and added 'pop' opcode Modification: - Makefile : that betty_check target now uses automatic variables - monty.h : now accomodates the new opcode 'pop' - utility/get_opcode_func.c : now accomodates the new opcode 'pop' New files: - opcodes/_pop.c : implements the 'pop' opcode * [#10] Implemented the `swap` opcode Modification: - monty.h : take note of the new function for swapping nodes - utility/ *get_opcode_func.c - Included the new opcode in the instruction set - opcodes/ * _push.c : Corrected the function so that it properly assigns the `prev` data of a node New file: - opcodes/ * _swap.c : Implements the `swap` opcode * [#11] Implement the `add` opcode Modifications: - monty.h : include prototype of new function for 'add' opcode - utility/ * get_opcode_func.c : included 'add' opcode in instrcutions New files: - opcodes/ * _add.c : implement the 'add' opcode * [#12] Implement the `nop` opcode This opcode doesn't do anyting Modification: - monty.h : included prototype of the new function that handles this opcode - utility/ * get_opcode_func.c : Added new opcode to instructions New files: - opcodes/ * _nop.c : implements the `nop` opcode * Create the first release (#17) * [#15] Put the markdown files in Documentation/ All the Markdown files except `README.md` file is moved to the directory named `Documentation`. These files include : - AUTHORS.md - PROCEDURE.md - WORKFLOW.md * [#7] Bug in README.md documentation Modifications: - Removed grammatical error - Added two Markdown badges to README.md * Maintainer * Git * [#14] Adding badges to READM.md Removed the `Maintainer` badge and added a generic badge. * [#14] Modified the Maintainer badge Using a different `shields.io` bade to do the same task of creating the `Maintainer` badge. * [#14] Corrected badge URL Modified the badge so that it displays an `svg` image. * [#14] Added new badge New badges: - `made-with-C` - `realase - version` * [#14] Added new badges Modification: - `release` badge New: - `contributors` badge * [#14] Badge modifcation Modifications: - Moved the `Git` badge to the acknowledgement section of README.md New: - `GITHUB` badge at the acknowledgement section * [#14] README.md modification Changed the header of the README.md * [#14] More acknowledgements Modification: - Github badge New badges: - ALX badge * [#14] Modification of Badges in README.md Modification: - ALX badge * [#25] Refactoring patches Implemented a new function to handle: - get_node_at : fetches the node at a particular position (cherry picked from commit f908e0ce33e31fc4da78f5b8b7029fec08392e83) * [#25] Corrected phony targets of Makefile The phony target 'read_and debug' had no rule, which was a bug. It has been updated to 'ready_and_debug', which has a rule. * [#25] New methods in Makefile Updated Makefile so that the targets that compile the program configures the executable. This will make the executable 'monty' available all across the device -- not only this directory. It was achieved by moving the executable binary to the /usr/bin directory * [#25] Updated Documentation of usage Explained thenew way using this program 'monty'. Empahisizing that 'monty' can be used anywhere in the machine once installed. * [#23] Created configuration file The configuration file 'config.sh' is called by make according to the Makefile. It moves the executable binary file to the '/usr/bin' directory where it will be accessible throught the machine. It equally ensures that the binary file is not left lying around. * [#24] New changes * [#22] Made monty accept negative numbers Before now, monty reports an eror for negative numbers. This has been corrected in this commit. * [#22] Updating monty This commit made changes that ensures monty doesn't accept invalid strings as integers. It also makes sure that only one file is passed to monty. * [#25] Implement new opcodes and commenting feature These new opcodes were implemented * sub * div * mul * mod Added the commenting feature so that any line that begins with an hash '#' is treated as a comment. * [#25] Implemented the 'pchar' opcode This involves updating the README.md to tell about such feature. * [#25] Implement the 'pstr' opcode This commit implements the `pstr` opcode and updated README.md with documentation on how to use it. * [#25] Refactored functions & added rotl opcode Some changes were made in the way these opcodes behave. Instead of calling a get_node_at() function to fetch the second node, it removes the need of calling another function by directly determining if stack is up to the required length. This increases the speed of the program. These functions were refactored: _add(), _div(), _mod(), _mul(), _sub() and _swap. New opcode 'rotl' was implemented with the _rotl() function. The change was properly documented in the README.md * [#25] Refactored functions & added rotl opcode Some changes were made in the way these opcodes behave. Instead of calling a get_node_at() function to fetch the second node, it removes the need of calling another function by directly determining if stack is up to the required length. This increases the speed of the program. These functions were refactored: _add(), _div(), _mod(), _mul(), _sub() and _swap. New opcode 'rotl' was implemented with the _rotl() function. The change was properly documented in the README.md * [#25] Removed previous version of files * [#25] Implemented the 'rotr' opcode Created the function _rotr() for this opcode and updated monty.h and utility/get_opcode_func.c * [#25] Implemented the 'rotr' opcode Created the function _rotr() for this opcode and updated monty.h and utility/get_opcode_func.c Equally update README.md with documentation on how to use it. * [#25] Implemented the 'stack' and 'queue' opcodes The 'stack' opcode sets the data format to 'FIFO' which is the progams's default state. The 'queue' opcode sets the data format to 'LIFO'. Updated the documentation in the README.md * [#25] Implemented the 'stack' and 'queue' opcodes The 'stack' opcode sets the data format to 'LIFO' which is the progams's default state. The 'queue' opcode sets the data format to 'FIFO'. Updated the documentation in the README.md * Revert "New features for Monty (#26)" This reverts commit 415fe0a.
Ebuube
added a commit
that referenced
this issue
Jun 30, 2023
* [#1] Initial Documentation Created an AUTHORS.md file Added the name of current contributors. * [#1] Initial Documentation Described the system of workflow for this repository * [#1] Initial Documentation Included a `.gitignore.` file in the repository and ignored `*.bak` files. * Revert "Initial commit" This reverts commit 8277676f7951ee7661424f8b715ed7cdb70a4a9f. * [#1] Initial Documentation Described the system of workflow for this repository Used proper styling to make the necessary instructions more visible * [#1] Initial Documentation Described the system of workflow for this repository Used proper styling to make the necessary instructions more visible Corrected punctuation marks * [#3] Integrating pull request reviews I resolved the problems by: * Replacing the name `julien` with `vagrant` in the README.md file * Removing the bold style in the `<summary> ... </summary> tag contents. I now have something that is has this format ```<summary>Header : description</summary>`` * Revert "Integrating pull request reviews" * Created README.md file (#6) Resolves [#5] Closes [#1] This commit is an attempt to push back the README.md to the remote * Basic codebase functionality (#8) * Planned procedure for the monty program This is the algorithm for the monty program. It explains the maxim of the steps that the monty program uses for execution. * Created Makefile The Makefile facilitates maintainance of the codebasee * clean: To clean or unwanted files * all: To build the executable `monty` * betty_check: To check if codebase is `betty` compliant * spell_check: To check if codebase is English is grammatically correct * check: Run both `betty_check` and `spell_check` * Implemented basic codebase functionality * Code compiles safely without memory leaks * Opens file passed to it * Reads file line by line * Parses each line to get the first two words i.e opcode and argument * Prints the output to screen - To be turned into execute operation * Closes file on exit * Ends successfully without memory leaks * Updated monty.h to accomodate the new function 'execute' * Updated 'read_file.c' so that it calls the 'execute' function when appropriate * Updated Makefile so that it incoporates 'valgrind' for mememory check * Updated Makefile with documentation on how to use it * Created a new file 'execute.c' to house the execute() funtion * [#2] Prepared basic code functionalities I successfully: * Created a well-documented Makefile for the project * Created the basic functions that handle file reading and parsing to select the opcodes and the arguements Note: I have not implemented the stack data structure, yet * First working model of monty (#9) * Planned procedure for the monty program This is the algorithm for the monty program. It explains the maxim of the steps that the monty program uses for execution. * Created Makefile The Makefile facilitates maintainance of the codebasee * clean: To clean or unwanted files * all: To build the executable `monty` * betty_check: To check if codebase is `betty` compliant * spell_check: To check if codebase is English is grammatically correct * check: Run both `betty_check` and `spell_check` * Implemented basic codebase functionality * Code compiles safely without memory leaks * Opens file passed to it * Reads file line by line * Parses each line to get the first two words i.e opcode and argument * Prints the output to screen - To be turned into execute operation * Closes file on exit * Ends successfully without memory leaks * Updated monty.h to accomodate the new function 'execute' * Updated 'read_file.c' so that it calls the 'execute' function when appropriate * Updated Makefile so that it incoporates 'valgrind' for mememory check * Updated Makefile with documentation on how to use it * Created a new file 'execute.c' to house the execute() funtion * [#2] Prepared basic code functionalities I successfully: * Created a well-documented Makefile for the project * Created the basic functions that handle file reading and parsing to select the opcodes and the arguements Note: I have not implemented the stack data structure, yet * [#2] Refactored codebase and added two opcodes - Gitignore : ignores both *.bak and valgrind-out.txt log file - Makefile: Takes note of the new file structure espcially, opcodes and utility directories - README.md : Warns users not to exceed INT_MIN - INT_MAX range as opcode arguments to opcoes like push, pall, etc. - main.c : Takes not of the new codebase structure - monty.h : Added extra data types, header files and prototypes - WORKFLOW.md : Corrected patter of pulling from remote branch Removed unwanted files they are now replaced by new ones in a different directory -> utility: - execute.c - parse_line.c - read_file.c Added new files: - opcodes directory: * _pall.c : implements a function to print all elements of stack * _push.c : implements a function to add element to top of stack - utility directory: * execute.c : executes instructions * free_stack.c : frees stack as clean up action * get_int.c : safely fetches arguments to opcodes if any * get_opcode_func.c : fetches the opcode from a line in a bytecode file * [#2] Modified codebase and added 'pint' opcode Modification: - Makefile : that betty_check target now uses automatic variables - monty.h : now accomodates the new opcode 'pint' - utility/get_opcode_func.c : now accomodates the new opcode 'pint' New files: - opcodes/_pint.c : implements the 'pint' opcode * [#2] Modified codebase and added 'pop' opcode Modification: - Makefile : that betty_check target now uses automatic variables - monty.h : now accomodates the new opcode 'pop' - utility/get_opcode_func.c : now accomodates the new opcode 'pop' New files: - opcodes/_pop.c : implements the 'pop' opcode * Successfully implemented Basic opcodes (#13) * Planned procedure for the monty program This is the algorithm for the monty program. It explains the maxim of the steps that the monty program uses for execution. * Created Makefile The Makefile facilitates maintainance of the codebasee * clean: To clean or unwanted files * all: To build the executable `monty` * betty_check: To check if codebase is `betty` compliant * spell_check: To check if codebase is English is grammatically correct * check: Run both `betty_check` and `spell_check` * Implemented basic codebase functionality * Code compiles safely without memory leaks * Opens file passed to it * Reads file line by line * Parses each line to get the first two words i.e opcode and argument * Prints the output to screen - To be turned into execute operation * Closes file on exit * Ends successfully without memory leaks * Updated monty.h to accomodate the new function 'execute' * Updated 'read_file.c' so that it calls the 'execute' function when appropriate * Updated Makefile so that it incoporates 'valgrind' for mememory check * Updated Makefile with documentation on how to use it * Created a new file 'execute.c' to house the execute() funtion * [#2] Prepared basic code functionalities I successfully: * Created a well-documented Makefile for the project * Created the basic functions that handle file reading and parsing to select the opcodes and the arguements Note: I have not implemented the stack data structure, yet * [#2] Refactored codebase and added two opcodes - Gitignore : ignores both *.bak and valgrind-out.txt log file - Makefile: Takes note of the new file structure espcially, opcodes and utility directories - README.md : Warns users not to exceed INT_MIN - INT_MAX range as opcode arguments to opcoes like push, pall, etc. - main.c : Takes not of the new codebase structure - monty.h : Added extra data types, header files and prototypes - WORKFLOW.md : Corrected patter of pulling from remote branch Removed unwanted files they are now replaced by new ones in a different directory -> utility: - execute.c - parse_line.c - read_file.c Added new files: - opcodes directory: * _pall.c : implements a function to print all elements of stack * _push.c : implements a function to add element to top of stack - utility directory: * execute.c : executes instructions * free_stack.c : frees stack as clean up action * get_int.c : safely fetches arguments to opcodes if any * get_opcode_func.c : fetches the opcode from a line in a bytecode file * [#2] Modified codebase and added 'pint' opcode Modification: - Makefile : that betty_check target now uses automatic variables - monty.h : now accomodates the new opcode 'pint' - utility/get_opcode_func.c : now accomodates the new opcode 'pint' New files: - opcodes/_pint.c : implements the 'pint' opcode * [#2] Modified codebase and added 'pop' opcode Modification: - Makefile : that betty_check target now uses automatic variables - monty.h : now accomodates the new opcode 'pop' - utility/get_opcode_func.c : now accomodates the new opcode 'pop' New files: - opcodes/_pop.c : implements the 'pop' opcode * [#10] Implemented the `swap` opcode Modification: - monty.h : take note of the new function for swapping nodes - utility/ *get_opcode_func.c - Included the new opcode in the instruction set - opcodes/ * _push.c : Corrected the function so that it properly assigns the `prev` data of a node New file: - opcodes/ * _swap.c : Implements the `swap` opcode * [#11] Implement the `add` opcode Modifications: - monty.h : include prototype of new function for 'add' opcode - utility/ * get_opcode_func.c : included 'add' opcode in instrcutions New files: - opcodes/ * _add.c : implement the 'add' opcode * [#12] Implement the `nop` opcode This opcode doesn't do anyting Modification: - monty.h : included prototype of the new function that handles this opcode - utility/ * get_opcode_func.c : Added new opcode to instructions New files: - opcodes/ * _nop.c : implements the `nop` opcode * Create the first release (#17) * [#15] Put the markdown files in Documentation/ All the Markdown files except `README.md` file is moved to the directory named `Documentation`. These files include : - AUTHORS.md - PROCEDURE.md - WORKFLOW.md * [#7] Bug in README.md documentation Modifications: - Removed grammatical error - Added two Markdown badges to README.md * Maintainer * Git * [#14] Adding badges to READM.md Removed the `Maintainer` badge and added a generic badge. * [#14] Modified the Maintainer badge Using a different `shields.io` bade to do the same task of creating the `Maintainer` badge. * [#14] Corrected badge URL Modified the badge so that it displays an `svg` image. * [#14] Added new badge New badges: - `made-with-C` - `realase - version` * [#14] Added new badges Modification: - `release` badge New: - `contributors` badge * [#14] Badge modifcation Modifications: - Moved the `Git` badge to the acknowledgement section of README.md New: - `GITHUB` badge at the acknowledgement section * [#14] README.md modification Changed the header of the README.md * [#14] More acknowledgements Modification: - Github badge New badges: - ALX badge * [#14] Modification of Badges in README.md Modification: - ALX badge * Squashed commit of the following: commit 3be87dddb84b4dd7b7d8aff5222b2ff8df96aafd Author: Ebube Gideon Onwuta <111176684+Ebuube@users.noreply.github.com> Date: Tue Jun 27 07:49:38 2023 +0100 Hotfix 19 add license (#21) * Added LICENSE to proposed release This license expresses the condition for using this software product. License type: MIT * Update LICENSE Corrected the order of the names for the License bearer. commit 74115f0c2402b9407aacd147b87447b4162539ab Author: Ebube Gideon Onwuta <111176684+Ebuube@users.noreply.github.com> Date: Tue Jun 27 06:39:01 2023 +0100 [#19] Prerelease hotfix (#20) Modification: - README.md : Linked the `Git` acknowledgement badge to the `git` website -> https://git-scm.com/ - opcodes/ * Modified the `nop` opcode function so that it takes not of the unused parameters commit 871877670311addca968c30ef4869916bd046a1f Author: Ebube Gideon Onwuta <111176684+Ebuube@users.noreply.github.com> Date: Tue Jun 27 06:19:38 2023 +0100 First Major release of monty (#18) * [#1] Initial Documentation Created an AUTHORS.md file Added the name of current contributors. * [#1] Initial Documentation Described the system of workflow for this repository * [#1] Initial Documentation Included a `.gitignore.` file in the repository and ignored `*.bak` files. * Revert "Initial commit" This reverts commit 8277676f7951ee7661424f8b715ed7cdb70a4a9f. * [#1] Initial Documentation Described the system of workflow for this repository Used proper styling to make the necessary instructions more visible * [#1] Initial Documentation Described the system of workflow for this repository Used proper styling to make the necessary instructions more visible Corrected punctuation marks * [#3] Integrating pull request reviews I resolved the problems by: * Replacing the name `julien` with `vagrant` in the README.md file * Removing the bold style in the `<summary> ... </summary> tag contents. I now have something that is has this format ```<summary>Header : description</summary>`` * Revert "Integrating pull request reviews" * Created README.md file (#6) Resolves [#5] Closes [#1] This commit is an attempt to push back the README.md to the remote * Basic codebase functionality (#8) * Planned procedure for the monty program This is the algorithm for the monty program. It explains the maxim of the steps that the monty program uses for execution. * Created Makefile The Makefile facilitates maintainance of the codebasee * clean: To clean or unwanted files * all: To build the executable `monty` * betty_check: To check if codebase is `betty` compliant * spell_check: To check if codebase is English is grammatically correct * check: Run both `betty_check` and `spell_check` * Implemented basic codebase functionality * Code compiles safely without memory leaks * Opens file passed to it * Reads file line by line * Parses each line to get the first two words i.e opcode and argument * Prints the output to screen - To be turned into execute operation * Closes file on exit * Ends successfully without memory leaks * Updated monty.h to accomodate the new function 'execute' * Updated 'read_file.c' so that it calls the 'execute' function when appropriate * Updated Makefile so that it incoporates 'valgrind' for mememory check * Updated Makefile with documentation on how to use it * Created a new file 'execute.c' to house the execute() funtion * [#2] Prepared basic code functionalities I successfully: * Created a well-documented Makefile for the project * Created the basic functions that handle file reading and parsing to select the opcodes and the arguements Note: I have not implemented the stack data structure, yet * First working model of monty (#9) * Planned procedure for the monty program This is the algorithm for the monty program. It explains the maxim of the steps that the monty program uses for execution. * Created Makefile The Makefile facilitates maintainance of the codebasee * clean: To clean or unwanted files * all: To build the executable `monty` * betty_check: To check if codebase is `betty` compliant * spell_check: To check if codebase is English is grammatically correct * check: Run both `betty_check` and `spell_check` * Implemented basic codebase functionality * Code compiles safely without memory leaks * Opens file passed to it * Reads file line by line * Parses each line to get the first two words i.e opcode and argument * Prints the output to screen - To be turned into execute operation * Closes file on exit * Ends successfully without memory leaks * Updated monty.h to accomodate the new function 'execute' * Updated 'read_file.c' so that it calls the 'execute' function when appropriate * Updated Makefile so that it incoporates 'valgrind' for mememory check * Updated Makefile with documentation on how to use it * Created a new file 'execute.c' to house the execute() funtion * [#2] Prepared basic code functionalities I successfully: * Created a well-documented Makefile for the project * Created the basic functions that handle file reading and parsing to select the opcodes and the arguements Note: I have not implemented the stack data structure, yet * [#2] Refactored codebase and added two opcodes - Gitignore : ignores both *.bak and valgrind-out.txt log file - Makefile: Takes note of the new file structure espcially, opcodes and utility directories - README.md : Warns users not to exceed INT_MIN - INT_MAX range as opcode arguments to opcoes like push, pall, etc. - main.c : Takes not of the new codebase structure - monty.h : Added extra data types, header files and prototypes - WORKFLOW.md : Corrected patter of pulling from remote branch Removed unwanted files they are now replaced by new ones in a different directory -> utility: - execute.c - parse_line.c - read_file.c Added new files: - opcodes directory: * _pall.c : implements a function to print all elements of stack * _push.c : implements a function to add element to top of stack - utility directory: * execute.c : executes instructions * free_stack.c : frees stack as clean up action * get_int.c : safely fetches arguments to opcodes if any * get_opcode_func.c : fetches the opcode from a line in a bytecode file * [#2] Modified codebase and added 'pint' opcode Modification: - Makefile : that betty_check target now uses automatic variables - monty.h : now accomodates the new opcode 'pint' - utility/get_opcode_func.c : now accomodates the new opcode 'pint' New files: - opcodes/_pint.c : implements the 'pint' opcode * [#2] Modified codebase and added 'pop' opcode Modification: - Makefile : that betty_check target now uses automatic variables - monty.h : now accomodates the new opcode 'pop' - utility/get_opcode_func.c : now accomodates the new opcode 'pop' New files: - opcodes/_pop.c : implements the 'pop' opcode * Successfully implemented Basic opcodes (#13) * Planned procedure for the monty program This is the algorithm for the monty program. It explains the maxim of the steps that the monty program uses for execution. * Created Makefile The Makefile facilitates maintainance of the codebasee * clean: To clean or unwanted files * all: To build the executable `monty` * betty_check: To check if codebase is `betty` compliant * spell_check: To check if codebase is English is grammatically correct * check: Run both `betty_check` and `spell_check` * Implemented basic codebase functionality * Code compiles safely without memory leaks * Opens file passed to it * Reads file line by line * Parses each line to get the first two words i.e opcode and argument * Prints the output to screen - To be turned into execute operation * Closes file on exit * Ends successfully without memory leaks * Updated monty.h to accomodate the new function 'execute' * Updated 'read_file.c' so that it calls the 'execute' function when appropriate * Updated Makefile so that it incoporates 'valgrind' for mememory check * Updated Makefile with documentation on how to use it * Created a new file 'execute.c' to house the execute() funtion * [#2] Prepared basic code functionalities I successfully: * Created a well-documented Makefile for the project * Created the basic functions that handle file reading and parsing to select the opcodes and the arguements Note: I have not implemented the stack data structure, yet * [#2] Refactored codebase and added two opcodes - Gitignore : ignores both *.bak and valgrind-out.txt log file - Makefile: Takes note of the new file structure espcially, opcodes and utility directories - README.md : Warns users not to exceed INT_MIN - INT_MAX range as opcode arguments to opcoes like push, pall, etc. - main.c : Takes not of the new codebase structure - monty.h : Added extra data types, header files and prototypes - WORKFLOW.md : Corrected patter of pulling from remote branch Removed unwanted files they are now replaced by new ones in a different directory -> utility: - execute.c - parse_line.c - read_file.c Added new files: - opcodes directory: * _pall.c : implements a function to print all elements of stack * _push.c : implements a function to add element to top of stack - utility directory: * execute.c : executes instructions * free_stack.c : frees stack as clean up action * get_int.c : safely fetches arguments to opcodes if any * get_opcode_func.c : fetches the opcode from a line in a bytecode file * [#2] Modified codebase and added 'pint' opcode Modification: - Makefile : that betty_check target now uses automatic variables - monty.h : now accomodates the new opcode 'pint' - utility/get_opcode_func.c : now accomodates the new opcode 'pint' New files: - opcodes/_pint.c : implements the 'pint' opcode * [#2] Modified codebase and added 'pop' opcode Modification: - Makefile : that betty_check target now uses automatic variables - monty.h : now accomodates the new opcode 'pop' - utility/get_opcode_func.c : now accomodates the new opcode 'pop' New files: - opcodes/_pop.c : implements the 'pop' opcode * [#10] Implemented the `swap` opcode Modification: - monty.h : take note of the new function for swapping nodes - utility/ *get_opcode_func.c - Included the new opcode in the instruction set - opcodes/ * _push.c : Corrected the function so that it properly assigns the `prev` data of a node New file: - opcodes/ * _swap.c : Implements the `swap` opcode * [#11] Implement the `add` opcode Modifications: - monty.h : include prototype of new function for 'add' opcode - utility/ * get_opcode_func.c : included 'add' opcode in instrcutions New files: - opcodes/ * _add.c : implement the 'add' opcode * [#12] Implement the `nop` opcode This opcode doesn't do anyting Modification: - monty.h : included prototype of the new function that handles this opcode - utility/ * get_opcode_func.c : Added new opcode to instructions New files: - opcodes/ * _nop.c : implements the `nop` opcode * Create the first release (#17) * [#15] Put the markdown files in Documentation/ All the Markdown files except `README.md` file is moved to the directory named `Documentation`. These files include : - AUTHORS.md - PROCEDURE.md - WORKFLOW.md * [#7] Bug in README.md documentation Modifications: - Removed grammatical error - Added two Markdown badges to README.md * Maintainer * Git * [#14] Adding badges to READM.md Removed the `Maintainer` badge and added a generic badge. * [#14] Modified the Maintainer badge Using a different `shields.io` bade to do the same task of creating the `Maintainer` badge. * [#14] Corrected badge URL Modified the badge so that it displays an `svg` image. * [#14] Added new badge New badges: - `made-with-C` - `realase - version` * [#14] Added new badges Modification: - `release` badge New: - `contributors` badge * [#14] Badge modifcation Modifications: - Moved the `Git` badge to the acknowledgement section of README.md New: - `GITHUB` badge at the acknowledgement section * [#14] README.md modification Changed the header of the README.md * [#14] More acknowledgements Modification: - Github badge New badges: - ALX badge * [#14] Modification of Badges in README.md Modification: - ALX badge * [#25] Refactoring patches Implemented a new function to handle: - get_node_at : fetches the node at a particular position (cherry picked from commit f908e0ce33e31fc4da78f5b8b7029fec08392e83) * [#25] Corrected phony targets of Makefile The phony target 'read_and debug' had no rule, which was a bug. It has been updated to 'ready_and_debug', which has a rule. * [#25] New methods in Makefile Updated Makefile so that the targets that compile the program configures the executable. This will make the executable 'monty' available all across the device -- not only this directory. It was achieved by moving the executable binary to the /usr/bin directory * [#25] Updated Documentation of usage Explained thenew way using this program 'monty'. Empahisizing that 'monty' can be used anywhere in the machine once installed. * [#23] Created configuration file The configuration file 'config.sh' is called by make according to the Makefile. It moves the executable binary file to the '/usr/bin' directory where it will be accessible throught the machine. It equally ensures that the binary file is not left lying around. * [#24] New changes * Revert 26 ebuube/25 implement new opcodes (#27) * New features for Monty (#26) * [#1] Initial Documentation Created an AUTHORS.md file Added the name of current contributors. * [#1] Initial Documentation Described the system of workflow for this repository * [#1] Initial Documentation Included a `.gitignore.` file in the repository and ignored `*.bak` files. * Revert "Initial commit" This reverts commit 8277676f7951ee7661424f8b715ed7cdb70a4a9f. * [#1] Initial Documentation Described the system of workflow for this repository Used proper styling to make the necessary instructions more visible * [#1] Initial Documentation Described the system of workflow for this repository Used proper styling to make the necessary instructions more visible Corrected punctuation marks * [#3] Integrating pull request reviews I resolved the problems by: * Replacing the name `julien` with `vagrant` in the README.md file * Removing the bold style in the `<summary> ... </summary> tag contents. I now have something that is has this format ```<summary>Header : description</summary>`` * Revert "Integrating pull request reviews" * Created README.md file (#6) Resolves [#5] Closes [#1] This commit is an attempt to push back the README.md to the remote * Basic codebase functionality (#8) * Planned procedure for the monty program This is the algorithm for the monty program. It explains the maxim of the steps that the monty program uses for execution. * Created Makefile The Makefile facilitates maintainance of the codebasee * clean: To clean or unwanted files * all: To build the executable `monty` * betty_check: To check if codebase is `betty` compliant * spell_check: To check if codebase is English is grammatically correct * check: Run both `betty_check` and `spell_check` * Implemented basic codebase functionality * Code compiles safely without memory leaks * Opens file passed to it * Reads file line by line * Parses each line to get the first two words i.e opcode and argument * Prints the output to screen - To be turned into execute operation * Closes file on exit * Ends successfully without memory leaks * Updated monty.h to accomodate the new function 'execute' * Updated 'read_file.c' so that it calls the 'execute' function when appropriate * Updated Makefile so that it incoporates 'valgrind' for mememory check * Updated Makefile with documentation on how to use it * Created a new file 'execute.c' to house the execute() funtion * [#2] Prepared basic code functionalities I successfully: * Created a well-documented Makefile for the project * Created the basic functions that handle file reading and parsing to select the opcodes and the arguements Note: I have not implemented the stack data structure, yet * First working model of monty (#9) * Planned procedure for the monty program This is the algorithm for the monty program. It explains the maxim of the steps that the monty program uses for execution. * Created Makefile The Makefile facilitates maintainance of the codebasee * clean: To clean or unwanted files * all: To build the executable `monty` * betty_check: To check if codebase is `betty` compliant * spell_check: To check if codebase is English is grammatically correct * check: Run both `betty_check` and `spell_check` * Implemented basic codebase functionality * Code compiles safely without memory leaks * Opens file passed to it * Reads file line by line * Parses each line to get the first two words i.e opcode and argument * Prints the output to screen - To be turned into execute operation * Closes file on exit * Ends successfully without memory leaks * Updated monty.h to accomodate the new function 'execute' * Updated 'read_file.c' so that it calls the 'execute' function when appropriate * Updated Makefile so that it incoporates 'valgrind' for mememory check * Updated Makefile with documentation on how to use it * Created a new file 'execute.c' to house the execute() funtion * [#2] Prepared basic code functionalities I successfully: * Created a well-documented Makefile for the project * Created the basic functions that handle file reading and parsing to select the opcodes and the arguements Note: I have not implemented the stack data structure, yet * [#2] Refactored codebase and added two opcodes - Gitignore : ignores both *.bak and valgrind-out.txt log file - Makefile: Takes note of the new file structure espcially, opcodes and utility directories - README.md : Warns users not to exceed INT_MIN - INT_MAX range as opcode arguments to opcoes like push, pall, etc. - main.c : Takes not of the new codebase structure - monty.h : Added extra data types, header files and prototypes - WORKFLOW.md : Corrected patter of pulling from remote branch Removed unwanted files they are now replaced by new ones in a different directory -> utility: - execute.c - parse_line.c - read_file.c Added new files: - opcodes directory: * _pall.c : implements a function to print all elements of stack * _push.c : implements a function to add element to top of stack - utility directory: * execute.c : executes instructions * free_stack.c : frees stack as clean up action * get_int.c : safely fetches arguments to opcodes if any * get_opcode_func.c : fetches the opcode from a line in a bytecode file * [#2] Modified codebase and added 'pint' opcode Modification: - Makefile : that betty_check target now uses automatic variables - monty.h : now accomodates the new opcode 'pint' - utility/get_opcode_func.c : now accomodates the new opcode 'pint' New files: - opcodes/_pint.c : implements the 'pint' opcode * [#2] Modified codebase and added 'pop' opcode Modification: - Makefile : that betty_check target now uses automatic variables - monty.h : now accomodates the new opcode 'pop' - utility/get_opcode_func.c : now accomodates the new opcode 'pop' New files: - opcodes/_pop.c : implements the 'pop' opcode * Successfully implemented Basic opcodes (#13) * Planned procedure for the monty program This is the algorithm for the monty program. It explains the maxim of the steps that the monty program uses for execution. * Created Makefile The Makefile facilitates maintainance of the codebasee * clean: To clean or unwanted files * all: To build the executable `monty` * betty_check: To check if codebase is `betty` compliant * spell_check: To check if codebase is English is grammatically correct * check: Run both `betty_check` and `spell_check` * Implemented basic codebase functionality * Code compiles safely without memory leaks * Opens file passed to it * Reads file line by line * Parses each line to get the first two words i.e opcode and argument * Prints the output to screen - To be turned into execute operation * Closes file on exit * Ends successfully without memory leaks * Updated monty.h to accomodate the new function 'execute' * Updated 'read_file.c' so that it calls the 'execute' function when appropriate * Updated Makefile so that it incoporates 'valgrind' for mememory check * Updated Makefile with documentation on how to use it * Created a new file 'execute.c' to house the execute() funtion * [#2] Prepared basic code functionalities I successfully: * Created a well-documented Makefile for the project * Created the basic functions that handle file reading and parsing to select the opcodes and the arguements Note: I have not implemented the stack data structure, yet * [#2] Refactored codebase and added two opcodes - Gitignore : ignores both *.bak and valgrind-out.txt log file - Makefile: Takes note of the new file structure espcially, opcodes and utility directories - README.md : Warns users not to exceed INT_MIN - INT_MAX range as opcode arguments to opcoes like push, pall, etc. - main.c : Takes not of the new codebase structure - monty.h : Added extra data types, header files and prototypes - WORKFLOW.md : Corrected patter of pulling from remote branch Removed unwanted files they are now replaced by new ones in a different directory -> utility: - execute.c - parse_line.c - read_file.c Added new files: - opcodes directory: * _pall.c : implements a function to print all elements of stack * _push.c : implements a function to add element to top of stack - utility directory: * execute.c : executes instructions * free_stack.c : frees stack as clean up action * get_int.c : safely fetches arguments to opcodes if any * get_opcode_func.c : fetches the opcode from a line in a bytecode file * [#2] Modified codebase and added 'pint' opcode Modification: - Makefile : that betty_check target now uses automatic variables - monty.h : now accomodates the new opcode 'pint' - utility/get_opcode_func.c : now accomodates the new opcode 'pint' New files: - opcodes/_pint.c : implements the 'pint' opcode * [#2] Modified codebase and added 'pop' opcode Modification: - Makefile : that betty_check target now uses automatic variables - monty.h : now accomodates the new opcode 'pop' - utility/get_opcode_func.c : now accomodates the new opcode 'pop' New files: - opcodes/_pop.c : implements the 'pop' opcode * [#10] Implemented the `swap` opcode Modification: - monty.h : take note of the new function for swapping nodes - utility/ *get_opcode_func.c - Included the new opcode in the instruction set - opcodes/ * _push.c : Corrected the function so that it properly assigns the `prev` data of a node New file: - opcodes/ * _swap.c : Implements the `swap` opcode * [#11] Implement the `add` opcode Modifications: - monty.h : include prototype of new function for 'add' opcode - utility/ * get_opcode_func.c : included 'add' opcode in instrcutions New files: - opcodes/ * _add.c : implement the 'add' opcode * [#12] Implement the `nop` opcode This opcode doesn't do anyting Modification: - monty.h : included prototype of the new function that handles this opcode - utility/ * get_opcode_func.c : Added new opcode to instructions New files: - opcodes/ * _nop.c : implements the `nop` opcode * Create the first release (#17) * [#15] Put the markdown files in Documentation/ All the Markdown files except `README.md` file is moved to the directory named `Documentation`. These files include : - AUTHORS.md - PROCEDURE.md - WORKFLOW.md * [#7] Bug in README.md documentation Modifications: - Removed grammatical error - Added two Markdown badges to README.md * Maintainer * Git * [#14] Adding badges to READM.md Removed the `Maintainer` badge and added a generic badge. * [#14] Modified the Maintainer badge Using a different `shields.io` bade to do the same task of creating the `Maintainer` badge. * [#14] Corrected badge URL Modified the badge so that it displays an `svg` image. * [#14] Added new badge New badges: - `made-with-C` - `realase - version` * [#14] Added new badges Modification: - `release` badge New: - `contributors` badge * [#14] Badge modifcation Modifications: - Moved the `Git` badge to the acknowledgement section of README.md New: - `GITHUB` badge at the acknowledgement section * [#14] README.md modification Changed the header of the README.md * [#14] More acknowledgements Modification: - Github badge New badges: - ALX badge * [#14] Modification of Badges in README.md Modification: - ALX badge * Squashed commit of the following: commit 3be87dddb84b4dd7b7d8aff5222b2ff8df96aafd Author: Ebube Gideon Onwuta <111176684+Ebuube@users.noreply.github.com> Date: Tue Jun 27 07:49:38 2023 +0100 Hotfix 19 add license (#21) * Added LICENSE to proposed release This license expresses the condition for using this software product. License type: MIT * Update LICENSE Corrected the order of the names for the License bearer. commit 74115f0c2402b9407aacd147b87447b4162539ab Author: Ebube Gideon Onwuta <111176684+Ebuube@users.noreply.github.com> Date: Tue Jun 27 06:39:01 2023 +0100 [#19] Prerelease hotfix (#20) Modification: - README.md : Linked the `Git` acknowledgement badge to the `git` website -> https://git-scm.com/ - opcodes/ * Modified the `nop` opcode function so that it takes not of the unused parameters commit 871877670311addca968c30ef4869916bd046a1f Author: Ebube Gideon Onwuta <111176684+Ebuube@users.noreply.github.com> Date: Tue Jun 27 06:19:38 2023 +0100 First Major release of monty (#18) * [#1] Initial Documentation Created an AUTHORS.md file Added the name of current contributors. * [#1] Initial Documentation Described the system of workflow for this repository * [#1] Initial Documentation Included a `.gitignore.` file in the repository and ignored `*.bak` files. * Revert "Initial commit" This reverts commit 8277676f7951ee7661424f8b715ed7cdb70a4a9f. * [#1] Initial Documentation Described the system of workflow for this repository Used proper styling to make the necessary instructions more visible * [#1] Initial Documentation Described the system of workflow for this repository Used proper styling to make the necessary instructions more visible Corrected punctuation marks * [#3] Integrating pull request reviews I resolved the problems by: * Replacing the name `julien` with `vagrant` in the README.md file * Removing the bold style in the `<summary> ... </summary> tag contents. I now have something that is has this format ```<summary>Header : description</summary>`` * Revert "Integrating pull request reviews" * Created README.md file (#6) Resolves [#5] Closes [#1] This commit is an attempt to push back the README.md to the remote * Basic codebase functionality (#8) * Planned procedure for the monty program This is the algorithm for the monty program. It explains the maxim of the steps that the monty program uses for execution. * Created Makefile The Makefile facilitates maintainance of the codebasee * clean: To clean or unwanted files * all: To build the executable `monty` * betty_check: To check if codebase is `betty` compliant * spell_check: To check if codebase is English is grammatically correct * check: Run both `betty_check` and `spell_check` * Implemented basic codebase functionality * Code compiles safely without memory leaks * Opens file passed to it * Reads file line by line * Parses each line to get the first two words i.e opcode and argument * Prints the output to screen - To be turned into execute operation * Closes file on exit * Ends successfully without memory leaks * Updated monty.h to accomodate the new function 'execute' * Updated 'read_file.c' so that it calls the 'execute' function when appropriate * Updated Makefile so that it incoporates 'valgrind' for mememory check * Updated Makefile with documentation on how to use it * Created a new file 'execute.c' to house the execute() funtion * [#2] Prepared basic code functionalities I successfully: * Created a well-documented Makefile for the project * Created the basic functions that handle file reading and parsing to select the opcodes and the arguements Note: I have not implemented the stack data structure, yet * First working model of monty (#9) * Planned procedure for the monty program This is the algorithm for the monty program. It explains the maxim of the steps that the monty program uses for execution. * Created Makefile The Makefile facilitates maintainance of the codebasee * clean: To clean or unwanted files * all: To build the executable `monty` * betty_check: To check if codebase is `betty` compliant * spell_check: To check if codebase is English is grammatically correct * check: Run both `betty_check` and `spell_check` * Implemented basic codebase functionality * Code compiles safely without memory leaks * Opens file passed to it * Reads file line by line * Parses each line to get the first two words i.e opcode and argument * Prints the output to screen - To be turned into execute operation * Closes file on exit * Ends successfully without memory leaks * Updated monty.h to accomodate the new function 'execute' * Updated 'read_file.c' so that it calls the 'execute' function when appropriate * Updated Makefile so that it incoporates 'valgrind' for mememory check * Updated Makefile with documentation on how to use it * Created a new file 'execute.c' to house the execute() funtion * [#2] Prepared basic code functionalities I successfully: * Created a well-documented Makefile for the project * Created the basic functions that handle file reading and parsing to select the opcodes and the arguements Note: I have not implemented the stack data structure, yet * [#2] Refactored codebase and added two opcodes - Gitignore : ignores both *.bak and valgrind-out.txt log file - Makefile: Takes note of the new file structure espcially, opcodes and utility directories - README.md : Warns users not to exceed INT_MIN - INT_MAX range as opcode arguments to opcoes like push, pall, etc. - main.c : Takes not of the new codebase structure - monty.h : Added extra data types, header files and prototypes - WORKFLOW.md : Corrected patter of pulling from remote branch Removed unwanted files they are now replaced by new ones in a different directory -> utility: - execute.c - parse_line.c - read_file.c Added new files: - opcodes directory: * _pall.c : implements a function to print all elements of stack * _push.c : implements a function to add element to top of stack - utility directory: * execute.c : executes instructions * free_stack.c : frees stack as clean up action * get_int.c : safely fetches arguments to opcodes if any * get_opcode_func.c : fetches the opcode from a line in a bytecode file * [#2] Modified codebase and added 'pint' opcode Modification: - Makefile : that betty_check target now uses automatic variables - monty.h : now accomodates the new opcode 'pint' - utility/get_opcode_func.c : now accomodates the new opcode 'pint' New files: - opcodes/_pint.c : implements the 'pint' opcode * [#2] Modified codebase and added 'pop' opcode Modification: - Makefile : that betty_check target now uses automatic variables - monty.h : now accomodates the new opcode 'pop' - utility/get_opcode_func.c : now accomodates the new opcode 'pop' New files: - opcodes/_pop.c : implements the 'pop' opcode * Successfully implemented Basic opcodes (#13) * Planned procedure for the monty program This is the algorithm for the monty program. It explains the maxim of the steps that the monty program uses for execution. * Created Makefile The Makefile facilitates maintainance of the codebasee * clean: To clean or unwanted files * all: To build the executable `monty` * betty_check: To check if codebase is `betty` compliant * spell_check: To check if codebase is English is grammatically correct * check: Run both `betty_check` and `spell_check` * Implemented basic codebase functionality * Code compiles safely without memory leaks * Opens file passed to it * Reads file line by line * Parses each line to get the first two words i.e opcode and argument * Prints the output to screen - To be turned into execute operation * Closes file on exit * Ends successfully without memory leaks * Updated monty.h to accomodate the new function 'execute' * Updated 'read_file.c' so that it calls the 'execute' function when appropriate * Updated Makefile so that it incoporates 'valgrind' for mememory check * Updated Makefile with documentation on how to use it * Created a new file 'execute.c' to house the execute() funtion * [#2] Prepared basic code functionalities I successfully: * Created a well-documented Makefile for the project * Created the basic functions that handle file reading and parsing to select the opcodes and the arguements Note: I have not implemented the stack data structure, yet * [#2] Refactored codebase and added two opcodes - Gitignore : ignores both *.bak and valgrind-out.txt log file - Makefile: Takes note of the new file structure espcially, opcodes and utility directories - README.md : Warns users not to exceed INT_MIN - INT_MAX range as opcode arguments to opcoes like push, pall, etc. - main.c : Takes not of the new codebase structure - monty.h : Added extra data types, header files and prototypes - WORKFLOW.md : Corrected patter of pulling from remote branch Removed unwanted files they are now replaced by new ones in a different directory -> utility: - execute.c - parse_line.c - read_file.c Added new files: - opcodes directory: * _pall.c : implements a function to print all elements of stack * _push.c : implements a function to add element to top of stack - utility directory: * execute.c : executes instructions * free_stack.c : frees stack as clean up action * get_int.c : safely fetches arguments to opcodes if any * get_opcode_func.c : fetches the opcode from a line in a bytecode file * [#2] Modified codebase and added 'pint' opcode Modification: - Makefile : that betty_check target now uses automatic variables - monty.h : now accomodates the new opcode 'pint' - utility/get_opcode_func.c : now accomodates the new opcode 'pint' New files: - opcodes/_pint.c : implements the 'pint' opcode * [#2] Modified codebase and added 'pop' opcode Modification: - Makefile : that betty_check target now uses automatic variables - monty.h : now accomodates the new opcode 'pop' - utility/get_opcode_func.c : now accomodates the new opcode 'pop' New files: - opcodes/_pop.c : implements the 'pop' opcode * [#10] Implemented the `swap` opcode Modification: - monty.h : take note of the new function for swapping nodes - utility/ *get_opcode_func.c - Included the new opcode in the instruction set - opcodes/ * _push.c : Corrected the function so that it properly assigns the `prev` data of a node New file: - opcodes/ * _swap.c : Implements the `swap` opcode * [#11] Implement the `add` opcode Modifications: - monty.h : include prototype of new function for 'add' opcode - utility/ * get_opcode_func.c : included 'add' opcode in instrcutions New files: - opcodes/ * _add.c : implement the 'add' opcode * [#12] Implement the `nop` opcode This opcode doesn't do anyting Modification: - monty.h : included prototype of the new function that handles this opcode - utility/ * get_opcode_func.c : Added new opcode to instructions New files: - opcodes/ * _nop.c : implements the `nop` opcode * Create the first release (#17) * [#15] Put the markdown files in Documentation/ All the Markdown files except `README.md` file is moved to the directory named `Documentation`. These files include : - AUTHORS.md - PROCEDURE.md - WORKFLOW.md * [#7] Bug in README.md documentation Modifications: - Removed grammatical error - Added two Markdown badges to README.md * Maintainer * Git * [#14] Adding badges to READM.md Removed the `Maintainer` badge and added a generic badge. * [#14] Modified the Maintainer badge Using a different `shields.io` bade to do the same task of creating the `Maintainer` badge. * [#14] Corrected badge URL Modified the badge so that it displays an `svg` image. * [#14] Added new badge New badges: - `made-with-C` - `realase - version` * [#14] Added new badges Modification: - `release` badge New: - `contributors` badge * [#14] Badge modifcation Modifications: - Moved the `Git` badge to the acknowledgement section of README.md New: - `GITHUB` badge at the acknowledgement section * [#14] README.md modification Changed the header of the README.md * [#14] More acknowledgements Modification: - Github badge New badges: - ALX badge * [#14] Modification of Badges in README.md Modification: - ALX badge * [#25] Refactoring patches Implemented a new function to handle: - get_node_at : fetches the node at a particular position (cherry picked from commit f908e0ce33e31fc4da78f5b8b7029fec08392e83) * [#25] Corrected phony targets of Makefile The phony target 'read_and debug' had no rule, which was a bug. It has been updated to 'ready_and_debug', which has a rule. * [#25] New methods in Makefile Updated Makefile so that the targets that compile the program configures the executable. This will make the executable 'monty' available all across the device -- not only this directory. It was achieved by moving the executable binary to the /usr/bin directory * [#25] Updated Documentation of usage Explained thenew way using this program 'monty'. Empahisizing that 'monty' can be used anywhere in the machine once installed. * [#23] Created configuration file The configuration file 'config.sh' is called by make according to the Makefile. It moves the executable binary file to the '/usr/bin' directory where it will be accessible throught the machine. It equally ensures that the binary file is not left lying around. * [#24] New changes * [#22] Made monty accept negative numbers Before now, monty reports an eror for negative numbers. This has been corrected in this commit. * [#22] Updating monty This commit made changes that ensures monty doesn't accept invalid strings as integers. It also makes sure that only one file is passed to monty. * [#25] Implement new opcodes and commenting feature These new opcodes were implemented * sub * div * mul * mod Added the commenting feature so that any line that begins with an hash '#' is treated as a comment. * [#25] Implemented the 'pchar' opcode This involves updating the README.md to tell about such feature. * [#25] Implement the 'pstr' opcode This commit implements the `pstr` opcode and updated README.md with documentation on how to use it. * [#25] Refactored functions & added rotl opcode Some changes were made in the way these opcodes behave. Instead of calling a get_node_at() function to fetch the second node, it removes the need of calling another function by directly determining if stack is up to the required length. This increases the speed of the program. These functions were refactored: _add(), _div(), _mod(), _mul(), _sub() and _swap. New opcode 'rotl' was implemented with the _rotl() function. The change was properly documented in the README.md * [#25] Refactored functions & added rotl opcode Some changes were made in the way these opcodes behave. Instead of calling a get_node_at() function to fetch the second node, it removes the need of calling another function by directly determining if stack is up to the required length. This increases the speed of the program. These functions were refactored: _add(), _div(), _mod(), _mul(), _sub() and _swap. New opcode 'rotl' was implemented with the _rotl() function. The change was properly documented in the README.md * [#25] Removed previous version of files * [#25] Implemented the 'rotr' opcode Created the function _rotr() for this opcode and updated monty.h and utility/get_opcode_func.c * [#25] Implemented the 'rotr' opcode Created the function _rotr() for this opcode and updated monty.h and utility/get_opcode_func.c Equally update README.md with documentation on how to use it. * [#25] Implemented the 'stack' and 'queue' opcodes The 'stack' opcode sets the data format to 'FIFO' which is the progams's default state. The 'queue' opcode sets the data format to 'LIFO'. Updated the documentation in the README.md * [#25] Implemented the 'stack' and 'queue' opcodes The 'stack' opcode sets the data format to 'LIFO' which is the progams's default state. The 'queue' opcode sets the data format to 'FIFO'. Updated the documentation in the README.md * Revert "New features for Monty (#26)" This reverts commit 415fe0a2324436215bbb99aa955541eb0c1de258. * Ebuube/25 implement new opcodes (#28) * [#22] Made monty accept negative numbers Before now, monty reports an eror for negative numbers. This has been corrected in this commit. * [#22] Updating monty This commit made changes that ensures monty doesn't accept invalid strings as integers. It also makes sure that only one file is passed to monty. * [#25] Implement new opcodes and commenting feature These new opcodes were implemented * sub * div * mul * mod Added the commenting feature so that any line that begins with an hash '#' is treated as a comment. * [#25] Implemented the 'pchar' opcode This involves updating the README.md to tell about such feature. * [#25] Implement the 'pstr' opcode This commit implements the `pstr` opcode and updated README.md with documentation on how to use it. * [#25] Refactored functions & added rotl opcode Some changes were made in the way these opcodes behave. Instead of calling a get_node_at() function to fetch the second node, it removes the need of calling another function by directly determining if stack is up to the required length. This increases the speed of the program. These functions were refactored: _add(), _div(), _mod(), _mul(), _sub() and _swap. New opcode 'rotl' was implemented with the _rotl() function. The change was properly documented in the README.md * [#25] Refactored functions & added rotl opcode Some changes were made in the way these opcodes behave. Instead of calling a get_node_at() function to fetch the second node, it removes the need of calling another function by directly determining if stack is up to the required length. This increases the speed of the program. These functions were refactored: _add(), _div(), _mod(), _mul(), _sub() and _swap. New opcode 'rotl' was implemented with the _rotl() function. The change was properly documented in the README.md * [#25] Removed previous version of files * [#25] Implemented the 'rotr' opcode Created the function _rotr() for this opcode and updated monty.h and utility/get_opcode_func.c * [#25] Implemented the 'rotr' opcode Created the function _rotr() for this opcode and updated monty.h and utility/get_opcode_func.c Equally update README.md with documentation on how to use it. * [#25] Implemented the 'stack' and 'queue' opcodes The 'stack' opcode sets the data format to 'FIFO' which is the progams's default state. The 'queue' opcode sets the data format to 'LIFO'. Updated the documentation in the README.md * [#25] Implemented the 'stack' and 'queue' opcodes The 'stack' opcode sets the data format to 'LIFO' which is the progams's default state. The 'queue' opcode sets the data format to 'FIFO'. Updated the documentation in the README.md
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
No description provided.
The text was updated successfully, but these errors were encountered: