Minus

From Esolang
Jump to navigation Jump to search
This article is not detailed enough and needs to be expanded. Please help us by adding some more information.

Overview

Minus is a language created by Darren Smith. At its core there is only one instruction, similar to -= in C. This gives it a passing similarity to OISC (using Subleq). However, branching and I/O in Minus are implemented using some additional special variables.

Has two levels of specifications: basics (aka minimalist version) and extensions.

Basics

Program is represented as follows:

Program := Statement*
Statement := LeftHand RightHand
LeftHand:= Letter
RightHand := Letter | Integer
Letter := one of 'A' ... 'Z' and 'a' ... 'z'
Integer := Digit+
Digit := one of '0' ... '9'

Every other letter is comment or the end of Integer token.

Every statement represents subtraction of RightHand value from LeftHand giving to memory place of LeftHand represents.

Extensions

Program is represented as follows

Program := BasicsProgram Input?
Input := "!" Byte*
Letter := BasicsLetter | "_"

External resources

A more complete description, interpreters, a compiler and sample programs, plus a minimal self-interpreter can be found here