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) { |