Multilingual Programming Language
Go Other
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
analyze
cfg
codegen
lexer
locale
localization
parse
scripts
start_scripts
types Moved source files. Mar 24, 2018
vm
.gitignore
LICENSE
README.md
main.go

README.md

mlpl

Multilingual Programming Language - http://ivandejanovic.github.io/mlpl/

Multilingual Programming Language, MLPL, is envisioned as an introductionary programming language for children.

A problem with majority of programming languages in use today is that they require some knowledge of an English language and alphabet. Children from non-English speaking countries therefore have a higher barrier for entry than children whose native language is English.

Idea behind MLPL is to create an interpreter for a language with very simple syntax that can be easily localized. A programmer would beside source code file provide a file that contains all the keywords localized to programmer's native language. Thus, children from non-English speaking countries can start programming at much earlier age.

Example usage is mlpl mycode.mlpl mylocalization.cfg

Initial version of MLPL was heavily influenced by Kenneth C. Louden's implementation of a Tiny programming language as an example in a book Compiler Construction Principles and Practice by the same author. Large part of the initial code implementation was directly borrowed from the code Kenneth C. Louden provided in the book. You can download the whole source code of Tiny compiler and virtual machine on the link: http://www.cs.sjsu.edu/~louden/cmptext/