I hereby claim:
- I am tiago on github.
- I am tiago_oliveira (https://keybase.io/tiago_oliveira) on keybase.
- I have a public key ASAy2UIB6EF1iooTJK_95toG6eci4S_x-v2-gNVdYIMoewo
To claim this, I am signing this object:
I hereby claim:
To claim this, I am signing this object:
var find_matching = (start, stop, direction) => { | |
var level = 1; | |
instruction_pointer += direction; | |
while(level > 0 && instructions[instruction_pointer]) { | |
instruction_pointer += direction; | |
if (instructions[instruction_pointer] === start) level++; | |
if (instructions[instruction_pointer] === stop) level--; | |
} | |
} | |
... |
var c = (program) => { | |
var register = undefined; | |
var memory = [0]; | |
var memory_pointer = 0; | |
var instruction_pointer = 0; | |
var find_matching = (start, stop, direction) => { | |
var level = 1; | |
instruction_pointer += direction; | |
while(level) { | |
instruction_pointer += direction; |
c = (program, register, undefined) => { | |
// These variable declarations are just to aid compression and should be removed from the compressed output | |
var memory, instruction_pointer, memory_pointer, write_char, level, commands, instruction, tokens, instructions, find_matching, memory_value; | |
memory = [instruction_pointer = memory_pointer = 0]; | |
write_char = output_char; | |
find_matching = (start, stop, direction) => { | |
level = 1; | |
instruction_pointer += direction; |
c = (a, b, c) => { | |
for (d = [e = f = 0], g = output_char, m = (a, b, c) => { | |
for (h = 1, e += c; h += l[e += c] == a ? 1 : l[e] == b ? -1 : 0;); | |
}, i = { | |
moo: $ => m(k[0], k[7], -1) | e--, | |
mOo: $ => f--, | |
moO: $ => d[++f] |= 0, | |
mOO: $ => 3 == n || i[k[n]](), | |
Moo: $ => n ? g(String.fromCharCode(n)) : d[f] = input_char(), | |
MOo: $ => d[f]--, |
var c = (program) => { | |
var register = undefined; | |
var memory = [0]; | |
var memory_pointer = 0; | |
var instruction_pointer = 0; | |
var find_matching = (start, stop, direction) => { | |
var level = 1; | |
instruction_pointer += direction; | |
while(level) { | |
instruction_pointer += direction; |
var c = (program = '') => { | |
var register = undefined; | |
var memory = [0]; | |
var memory_pointer = 0; | |
var instruction_pointer = 0; | |
var find_matching = (start, stop, direction) => { | |
var level = 1; | |
instruction_pointer += direction; | |
while(level > 0 && instructions[instruction_pointer]) { | |
instruction_pointer += direction; |
var c = (program = '') => { | |
var register = undefined; | |
var memory = [0]; | |
var memory_pointer = 0; | |
var instruction_pointer = 0; | |
var commands = { | |
moo: () => { | |
var level = 1; | |
instruction_pointer--; | |
while(level > 0 && instructions[instruction_pointer]) { |
var c = (program) => { | |
var register = undefined; | |
var memory = [0]; | |
var memory_pointer = 0; | |
var instruction_pointer = 0; | |
var commands = { | |
moo: () => { console.log('moo'); }, | |
mOo: () => { console.log('mOo'); }, | |
moO: () => { console.log('moO'); }, | |
mOO: () => { console.log('mOO'); }, |
var input_char = (function () { | |
var i = 0; | |
var text = 'Hello COW!'; | |
return function input_char() { | |
return text[i++ % text.length].charCodeAt(0); | |
}; | |
} ()); | |
function output_char(char) { | |
if(typeof char !== 'string' || char.length !== 1) { |