Skip to content
/ monna Public

Toy interpreter for the Monna programming language.

Notifications You must be signed in to change notification settings

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

Toy interpreter for the Monna programming language.

Topics

Resources

Stars

Watchers

Forks

Languages