Skip to content

Malikbadmus/monty

Folders and files

NameName
Last commit message
Last commit date

Latest commit

3774c6f · Feb 8, 2023

History

4 Commits
Jan 19, 2023
Jan 19, 2023
Jan 23, 2023
Jan 19, 2023
Jan 19, 2023
Jan 19, 2023
Jan 19, 2023
Jan 19, 2023
Jan 19, 2023
Jan 19, 2023
Jan 19, 2023
Feb 8, 2023
Jan 19, 2023
Jan 19, 2023
Jan 19, 2023
Jan 19, 2023
Jan 19, 2023
Jan 19, 2023
Jan 19, 2023
Jan 19, 2023
Jan 19, 2023
Jan 19, 2023
Jan 19, 2023
Jan 19, 2023
Jan 19, 2023
Jan 19, 2023

Repository files navigation

MONTY

alt text

Description

Monty 0.98 is a scripting language that is first compiled into Monty byte codes (Just like Python). It relies on a unique stack, with specific instructions to manipulate it. The goal of this project is to create an interpreter for Monty ByteCodes files.


Installation

  1. Clone the repository:
https://github.com/Malikbadmus/monty.git

Usage

  1. Enter at directory
cd monty
  1. Compile:
gcc -Wall -Werror -Wextra -pedantic -std=c89 *.c -o monty
  1. Execute:
./monty file.m
//The file contains the bytcode instructions for example
cat -e 000.m
push 0$
push 1$
push 2$
  push 3$
                   pall    $
push 4$
    push 5    $
      push    6        $
pall$

Functions

The functions used are:

Name Description Return File
_f_add adds the top two elements of the stack No Return add.c
addnode add node to the head stack No Return addnode.c
f_div divides the top two elements of the stack. No Return div.c
execute executes the opcode No Return execute.c
free_stack frees a doubly linked list No Return free_stack.c
main monty code interpreter 0 on success main.c

Examples

$Malikbadmus> ls
basics.c    general.c  main.h  memory.c   shell.c
builders.c  helper.c   hsh          README.md  test

Authors

Malik Badmus

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published