REBEL

REBEL stands for Regular Expression Based Esoteric Language. REBEL is a declarative programming language that works by iteratively replacing substrings.

A program in REBEL consists of an initial state and a list of regular expression substitutions, separated by slash characters:


 * initial state RE RHS RE RHS ...

where RE is a regular expression and RHS is the right hand side that is substituted if that RE matches. Special constructs  and   in the RHS allow for input and output respectively.

The program execution is deterministic: at each step the first possible substitution is performed on the string, until no substitution is possible.

Computational class
The trivial possibility of translation from any deterministic Thue program into REBEL gives a proof that REBEL is Turing-complete.

External resources
Specification