SBPL (Stack-Based Programming Language)

A simple programming language with a Kotlin-based interpreter built for an educational experience.


SBPL is a stack-oriented language that uses an interpreter coded in Kotlin. It is not intended as a serious language and I had no prior experience with Kotlin or making my own language before starting this project.


At the moment SBPL can turn “normal” infix arithmetic expressions such as (3 + 4) * 2 into postfix expressions such as 3 4 + 2 *.



Clone the repo with the Git command:

git clone

Build the SBPL interpreter with the Gradle command:

gradlew build

The SBPL interpreter sbpl.jar will be located in the build/libs directory.


Execute an SBPL file with the command:

java -jar sbpl main.sbpl

where main.sbpl is the name of the SBPL file.


The master branch provides stable versions of SBPL while most of development takes place on the develop branch. This repository follows Vincent Driessen’s Git branching model. The version numbers for the hotfix and release branches are based on the Semantic Versioning system.


SBPL is governed by The Unlicense.


View Github