Skip to content

Repository files navigation

Alx 0x19. C - Stacks, Queues - LIFO, FIFO Task

🚀 Monty Bytecode Interpreter

Dive into the world of Monty bytecodes and explore them like never before! Our Monty 0.98 interpreter decodes .m Monty bytecode files with flair and precision.

📚 Table of Contents

  1. Features
  2. Installation and Usage
  3. Task Descriptions
  4. File Descriptions
  5. Authors
  6. Acknowledgments

🔥 Features

  • Variety of Monty opcodes supported: push, pop, swap, add and much more!
  • Robust error handling for those unexpected moments.
  • Dual-mode support: Stack (LIFO) & Queue (FIFO).

🛠 Installation and Usage

git clone [repository_link]

  1. Navigate to the project directory: cd path_to_directory

  2. Compile the source files: gcc -Wall -Werror -Wextra -pedantic -std=c89 *.c -o monty

  3. Run the interpreter: ./monty your_file.m

📋 Task Descriptions

  • push, pall: Lays the foundation with the basic opcodes, push and pall.
  • pint: Displays the value at the top of the stack.
  • pop: Removes the top element of the stack.

... journeying through other tasks to:

  • Brainfck: A delightful detour into the Brainfck scripting landscape.

🚨 Note: Our task 15, featuring the stack and queue opcodes, is still under artistic development!

📂File Descriptions

  • 📄 main.c: The main entry point and driver for our Monty bytecode interpreter.
  • 📄 utility.c: The toolbelt of functions ensuring fluid operations.
  • 📄 math_operations.c: The heart of arithmetic operations for Monty opcodes.
  • 📄 print_operations.c: Specially dedicated to printing-related tasks for our stack or queue.
  • 📄 stack_operations.c: Home to core stack or queue operations.
  • 📄 stack_operations1.c: An extended suite for additional stack or queue functions.
  • 📁 testfiles: Handcrafted test cases to rigorously vet our interpreter!
  • 📁 bf: A Brainf*ck aficionado's paradise.

👥Authors

  • 🌟 Gift Depriye Amachree
  • 🌟 Idris Amina

🙏 Acknowledgments

Utmost gratitude to ALX for sculpting this enriching course, which has been instrumental in our software engineering journey. Special thanks to Julien Barbier for laying down the foundation for this intricate project. We'd also like to acknowledge the assistance of Chat GPT-3 for being a reliable coding companion. To all the peers and coders out there, thank you for your insights and camaraderie. Here's to more lines of code and growth!

About

Alx 0x19. C - Stacks, Queues - LIFO, FIFO Group project

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages