Mmmm() interpreter

A random and probably useless interpreter for an esoteric microlanguage

by SuperJedi224

HTML

Mmmm() interpreter by SuperJedi224
<hr/>

JavaScript

//Mmmm() interpreter
//just something random
//and probably useless
Number.prototype.m=function(){return this%10};
var m=[];
m.o="";
m.d=[];
function assign(p,f){m[p]={m:f}};
assign(0,function(a){return a+1});
assign(1,function(){var o={a:0,m:function(){this.a++;return this.a}};return o});
assign(2,function(a){m.d.push(a);return m.d.length});
assign(3,function(){return m.d.pop()});
assign(4,function(){return Number(prompt())});
assign(5,function(a){m.o+=a});
assign(6,function(a){m.o+=String.fromCharCode(a)});
assign(7,function(a,b){if(a){return b.m()};return 0});
assign(8,function(a){return (a<1)?0:a-1});
assign(9,function(a){return Math.random()});
m.m=function(){return 0};
var code=prompt("Mmmm() Code:","Mmm=m[m.m()].m(m.m());Mmmm=m[mm].m();mmm.m();mmm.m();mmm.m();mmm.m();m[mmm.m()].m(mm)")
code=code.replace(/[^m\[\]\(\)\.\;\=M\,\<\>]/g,"").replace(/(\=\[|\]\=]|\]\;)/g,"");
document.body.innerHTML+=code+"<br/>";
eval(code.replace(/M/g,"var ").replace(/\</g,"while\(m\.d\.pop\(\)\)\{").replace(/\>/g,"\}"));
document.body.innerHTML+=m.o+"<hr/>";