Home > octane-mini-lang-onefile

octane-mini-lang-onefile

Octane-mini-lang-onefile is a project mainly written in ..., it's free.

OctaneMini - Stack Programming Language in One Source File

Octane mini is a simple proof of concept stack based programming language built on top of Java. It is very basic, almost esoteric (in the of BrainF**k). It was created to use only one source file. The entire implementation is contained in this file. Despite only using one file, there are dozens of commons operations available.

A suite of test cases are also provided in a separate class. The goal of this project is to implement a simple stack based language with as few operations as possible.
This is a turing complete proof of concept language.

Example programs in OctaneMini:

This line will add two numbers 100 and 101,

201 is pushed on the data stack

101 is read in first and then 100.

  • 100 101

Lambda call, execute the block of code

lambda ( + 1 1 )

Other source

data + 1 1

data + 100 11000

data lambda ( + + 1 1 + 1 1)

data - swap 5 10

data lambda (+ 1 1)

data myf call , myf func (- 5 10) ,

data myfunc call , myfunc func ( - ) 5 10

data ptr ptrval ptrplus , ptrval 'h' ptrset

data ptrval , ptr , ptrdec ptr ptrdec , ptr , ptrwhile ( 100 ptrinc ) , ptrdec ptrdec , ptrinc ptrplus , ptrinc ptrplus

data if ( false ) ( + 1 1 ) ( + 2 2 )

data if (true) (+ 1 1) (+ 2 2)

data ptrval ptrinc , ptrwhile ( ptrdec ptrplus ptrplus ptrinc, ptrminus ) , ptrval 1000 ptrset

data ifstk , or norem 5 2 norem 5 2 , 1 0

data x loop [ 1 2 3 4 5 ] , x func ( ifstk , or norem ptrval 3 norem ptrval 5 , ptrval 0 , ptrsetstk )

data sumstk , x loop range 10, x func ( ifstk , or norem ptrval 3 norem ptrval 5 , ptrval 0 , ptrsetstk )

keywords: java, simple, brainf**k, bf, simple, stack language, forth like, joy like

http://en.wikipedia.org/wiki/Joy_(programming_language) http://www.kevinalbrecht.com/code/joy-mirror/index.html http://en.wikipedia.org/wiki/Forth_(programming_language)

Previous:Hello-World