Skip to content

eNobreg/monty

 
 

Repository files navigation

Monty

The monty program

Usage: monty file where file is the path to the file containing Monty byte code If the user does not give any file or more than one argument to your program, print the error message USAGE: monty file, followed by a new line, and exit with the status EXIT_FAILURE If, for any reason, it’s not possible to open the file, print the error message Error: Can't open file , followed by a new line, and exit with the status EXIT_FAILURE where is the name of the file If the file contains an invalid instruction, print the error message L<line_number>: unknown instruction , followed by a new line, and exit with the status EXIT_FAILURE where is the line number where the instruction appears. Line numbers always start at 1 The monty program runs the bytecodes line by line and stop if either: it executed properly every line of the file it finds an error in the file an error occured If you can’t malloc anymore, print the error message Error: malloc failed, followed by a new line, and exit with status EXIT_FAILURE and prints errors to stderr.

TASKS

  1. push, pall Implement the push and pall opcodes

  2. pint Implement the pint opcode

  3. pop Implement the pop opcode

  4. swap Implement the swap opcode

  5. add Implement the add opcode

  6. nop Implement the nop opcode

  7. sub Implement the sub opcode

  8. div Implement the div opcode

  9. mul Implement the mul opcode

  10. mod Implement the od opcode

  11. comments Treat text following '#' as a comment

  12. pchar Implement the pchar opcode

  13. pstr Implement the pstr opcode

  14. rotl Implement the rotl opcode

  15. rotr Implement the rotr opcode

  16. stack, queue Implement the stack and queue opcodes

  17. Holberton A Brainf*ck that prints Holberton

  18. Add two digits Add two digits given by the user

  19. Multiplication Multiply two digits given by the user

  20. Multiplication level up Multiply two digits given by the user

monty

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 95.9%
  • Brainfuck 4.1%