JSFiddle - React, Tailwind, and code Playground

HTML

<textarea rows="30" cols="80">var flowers = new Misdirection(&flowers);
flowers.abracadabra();
alert(flowers);

function Misdirection(flowers) {
    this.abracadabra = function () {
        *flowers = new Rabbit;
    };
}

function Rabbit() {
    this.toString = function () {
        return "Eh... What's up, doc?";
    };
}</textarea><button>Run</button>

JavaScript

var textarea = document.getElementsByTagName("textarea")[0];
var button = document.getElementsByTagName("button")[0];

button.addEventListener("click", function () {
    var script = textarea.value.replace(/&([$A-Z_][$0-9A-Z_]*)/gi, (function () {
        var pointer = new String("function(value){if(value===void 0)return upvalue;else upvalue=value;}");
        return function (value, identifier) {return pointer.replace(/upvalue/g, identifier);};
    }()));

    script = script.replace(/\*([$A-Z_][$0-9A-Z_]*)\s*(=|\+=|-=|\*=|\/=|%=|&=|\|=|\^=|<<=|>>=|>>>=)\s*(.*);/gi, function (value, identifier, operator, expression) {
        if (operator === "=") return identifier + "(" + expression + ");";
        else return identifier + "(" + identifier + "()" + operator.slice(0, -1) + "(" + expression + "));";
    });

    script = script.replace(/\*([$A-Z_][$0-9A-Z_]*)/gi, function (value, identifier) {return identifier + "()";});

    try {Function.call(null, script)();} 
    catch (error) {alert(error);}
}, false);