ABCstr

From Esolang
Jump to navigation Jump to search

ABCstr is an esolang by User:ChuckEsoteric08 inspired by Novice and based upon the modification of a string, serving as the memory, by substitutions.

Specification

ABCstr uses string as memory. The initial string is "abc".

There are three commands:

x=y

If there is instance of x in the string replace it with y, else goto label x.

x-y

Works the same but also outputs x if there is x.

:x

Works the same but will replace x with the user input. It is the only string-rewriting language created by User:ChuckEsoteric08 that has input.

Examples

Hello, World!

a=Hello, World!
a
Hello, World!-a

Computational class

The language is Turing-complete because there is a Cyclic tag interpreter written in it:

a=def
a
:f
f
b=gh
b
:h
h
-
g1
eg=g
gc=g
c=c
gc
d=de
-=-
eg
e;=;e
g0-g
g0
g1-g
-=-
;e
e0=0e
g1=g1
c=0c
-=-
e0
e1=1e
g1=g1
c=1c
-=-
d
c
e1

Interpreter

  • Common Lisp implementation of the ABCstr programming language.