An interpreter for the malio programming language written in C++. For more details on the specs, look up deavmi's repository.

Vitor S 36b881ed29 Support for more command-line options, returns error codes and added support for a few other keywords. 9 jaren geleden
tests 36b881ed29 Support for more command-line options, returns error codes and added support for a few other keywords. 9 jaren geleden
.gitignore ef8d2a4b28 Init commit 9 jaren geleden
LICENSE ef8d2a4b28 Init commit 9 jaren geleden
Makefile 36b881ed29 Support for more command-line options, returns error codes and added support for a few other keywords. 9 jaren geleden
README.md 36b881ed29 Support for more command-line options, returns error codes and added support for a few other keywords. 9 jaren geleden
builtins.cpp 36b881ed29 Support for more command-line options, returns error codes and added support for a few other keywords. 9 jaren geleden
builtins.h b996a86d51 Major update, created a proper parser able to identify commands and comments. 9 jaren geleden
hello.malio b996a86d51 Major update, created a proper parser able to identify commands and comments. 9 jaren geleden
interpreter.cpp 36b881ed29 Support for more command-line options, returns error codes and added support for a few other keywords. 9 jaren geleden
parser.cpp 36b881ed29 Support for more command-line options, returns error codes and added support for a few other keywords. 9 jaren geleden
parser.h 36b881ed29 Support for more command-line options, returns error codes and added support for a few other keywords. 9 jaren geleden

README.md

malio-cpp

An interpreter for the malio programming language written in C++. For more details on the specs, look up deavmi's Malio language specification.

As of this moment, the interpreter is still in its babysteps, but as the malio specification gets more mature, so will the quality of this interpreter. Also, it has never been tried in a Windows environment, only Linux, but you're welcome to try, and modify the code as needed to make that happen.

Malio language support checklist

Currently, malio-cpp supports the following builtin methods:

  • print
  • writef
  • the directives program and end program.

Features that are in the process of being implemented:

  • copyf method
  • chdir and mkdir methods
  • removef and rmdir methods
  • input function
  • Declaration and assignment of variables.

Compiling and install instructions

Be aware that malio is written using a modern revision of the C++ standard (C++11), so that you will need a fairly modern compiler to build it (g++ 4.9 and above work fine).

From the terminal:

make
make install # installs in /usr/local/bin, might need root access. 

And then run:

malio [FILE]

Parser options

Currently, the malio interpreter does not implement any of the language options (not even testing ones), save for these:

  • -h: short help and overview on how to use the interpreter.
  • -v: displays the interpreter version.

More options might come as they're added to the language specifications, and may include even debugging support to the developer (depends on how much I can progress as well...)