Skip to content
This repository was archived by the owner on Feb 28, 2025. It is now read-only.

tjlawal/monna

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

74 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Monna Programming Language

This project is a result of learning the innards of compilers. Among other compiler books that I learned from, this was the most influential, especially in making this project: Writing an Interpreter In Go.

Demo of Monna working

Using

To use the Monna interpreter, simply run go run main.go in the project directory.To get an executable, run go build in the project directory.

Features

Variables:

let x = 5;

Return Statements:

return 5; 
return false;

Expressions:

if (x < y) { x }

if (x > y) { y } else { x }

Functions:

fn(x, y) { x + y; }

String Literals:

"Hello World"

Built-in Functions:

  • len(): Returns the number of characters in a string.
len("Dexter's Laboratory");
19
  • puts(): Prints the given arguments to STDOUT. It return a null. It only cares about printing not returning a value.
puts("Sugar, spice, and everything nice!");
Sugar, spice, and everything nice!

Error Handling:

The Monna programming language also responds accordingly to errors: Error Handling

About

Interpreter for the Monna programming language.

Topics

Resources

Stars

Watchers

Forks

Contributors

Languages