C is a powerful general-purpose programming language. It can be used to develop software like operating systems, databases, compilers, and so on. This projects covers concepts of Stacks, Queues, LIFO, FIFO implementation. This was a duo project with the awesome partner Karen Herrera
At the end of this project, We were able to solve these questions:
- What do LIFO and FIFO mean
- What is a stack, and when to use it
- What is a queue, and when to use it
- What are the common implementations of stacks and queues
- What are the most common use cases of stacks and queues
- What is the proper way to use global variables
- Implement the push and pall opcodes
- Implement the pint opcode.
- Implement the pop opcode.
- Implement the swap opcode.
- Implement the add opcode.
- Implement the nop opcode.
- Implement the sub opcode.
- Implement the div opcode.
- Implement the mul opcode.
- Implement the mod opcode.
- When the first non-space character of a line is #, treat this line as a comment (don’t do anything).
- Implement the pchar opcode.
- Implement the pstr opcode.
- Implement the rotl opcode.
- Implement the rotr opcode.
- Implement the stack and queue opcodes.
- Write a Brainf*ck script that prints Holberton (at bf/dir)
- Read the two digits from stdin, add them, and print the result (at bf/dir)
- Read the two digits from stdin, multiply them, and print the result (at bf/dir)
- Multiply two digits given by the user. (at bf/dir)
Filename |
---|
bf |
builtins1.c |
builtins2.c |
builtins3.c |
error_1.c |
error_2.c |
free.c |
get_ops.c |
linked_list.c |
main_monty.c |
monty.h |
stacks.c |
str3.c |
tokerr.c |
bytecodes |
- GLIBC 2.24
- gcc 4.8.4
- betty linter 0.32
git clone https://github.com/edward0rtiz/holbertonschool-low_level_programming.git
cd monty
gcc -Wall -Werror -Wextra -pedantic *.c -o monty
USAGE
cat -e bytecodes/000.m
FORT TESTING WITH BYTECODES:
cd bytecodes
cat bytecodes/FILENAME.m
./monty bytecodes/FILENAME.m