Rasen

Rasen is a stack based, esoteric programming language created by User:Wolgr in early 2014 and inspired by both Assembly code and Brainfuck.

Current Version: v0.2

Syntax

 * Spaces, tabs, and newlines are all ways of starting a new line in code. Whitespace can only be used to indicate a new line.
 * [] brackets are used to enclose the data block, and the keyword is used to signify what it the data will be used for.
 * All data can be inputted as either hexadecimal or decimal.
 * The stack size is 0x0000 to 0xFFFF in hexadecimal, or 0 to 65535 in decimal.
 * One line comments are done with a hash (#)

Runtime

 * The only runtime input allowed in Rasen is decimal or a character. If you input a string it will only grab the first character.

Keywords
Rasen uses a system of 3 letter keywords followed by a data block for majority of code, although some keywords do not require a command block to run successfully.

Hello World! Program
Expanded form of the program. SET[0x0,72] SET[0x1,101] SET[0x2,108] SET[0x3,108] SET[0x4,111] SET[0x5,32] SET[0x6,87] SET[0x7,111] SET[0x8,114] SET[0x9,108] SET[0xA,100] SET[0xB,33] OUT[0x0,1] OUT[0x1,1] OUT[0x2,1] OUT[0x3,1] OUT[0x4,1] OUT[0x5,1] OUT[0x6,1] OUT[0x7,1] OUT[0x8,1] OUT[0x9,1] OUT[0xA,1] OUT[0xB,1] EXT

A little bit nicer looking. SET[0x0,72] SET[0x1,101] SET[0x2,108] SET[0x3,108] SET[0x4,111] SET[0x5,32] SET[0x6,87] SET[0x7,111] SET[0x8,114] SET[0x9,108] SET[0xA,100] SET[0xB,33] OUT[0x0,1] OUT[0x1,1] OUT[0x2,1] OUT[0x3,1] OUT[0x4,1] OUT[0x5,1] OUT[0x6,1] OUT[0x7,1] OUT[0x8,1] OUT[0x9,1] OUT[0xA,1] OUT[0xB,1] EXT

Cat Program
Grabs whatever character you enter and outputs it. GET[0x0] OUT[0x0,1]

Same can easily be done with number input. GET[0x0] OUT[0x0,0]

If Statement Program
The basic if statement, where if user input equal to 100, it is outputted. GET[0x0] SET[0xF,100] IFF[0x0,0xF,1] OUT[0x0,0] EXT

Known Bugs

 * Issue with GET currently only accepting decimal input.

To Be Implemented

 * Program will loop until it comes across the EXT command.
 * Optimise reading of file.
 * Goto and Label commands.

Changelog
v0.2: v0.1:
 * If statements added.
 * 1 line comments added.
 * Reorganization of source code.
 * Initial release.
 * All base functions.
 * Numerical and Character input.

External resources

 * Dropbox Download
 * [mailto:contact@mrwolgr.com Report A Bug]