Outra poesia nasceu
Sempre (no mínimo)
são dois os que parem a poesia:
Aquele que deseja morrer,
eu lírico;
E aquele que há muito está morto,
o poeta.
seen from Russia
seen from United States

seen from Australia

seen from Singapore

seen from United States

seen from United States

seen from Costa Rica
seen from China
seen from Iraq
seen from China

seen from United States
seen from South Korea

seen from Singapore
seen from Portugal

seen from United States
seen from China

seen from Malaysia
seen from China

seen from Singapore
seen from Malaysia
Outra poesia nasceu
Sempre (no mínimo)
são dois os que parem a poesia:
Aquele que deseja morrer,
eu lírico;
E aquele que há muito está morto,
o poeta.
Estética
Estética
sem
métrica Sem
ideia
Vazio
Designing an ASM-like scripting language, Part 2
Obligatory gloating and selecting operation by argument count
As it turns out, forcing brackets was a great idea. The initial tutorial architecture was woefully inadequate, and not a great idea. I think it was meant to be party to both C and C++, which explains some of the design choices. Either way, a little bit had to be refactored with the introduction of the argument stack - curmudgeonly pointer interfaces were the most prominent.
One thing that hit me on the drive home yesterday, and a suspicion which was confirmed today, is that the recursive parser needs a queue rather than a stack. ctrl+f saved the day, thankfully the STL is fairly homogenous and I only had to replace calls to top() with front().
I ran the first operation with a right-most nesting, and after a minor correction with a string index it ran happily. I then tried an operation with a nested first argument, which didn't work. It didn't seem it would be hard to correct though, and this too was a well-founded inquiry. All I had to do was increment that aforementioned string index by 1 after returning from the recursion.
See for yourself!
Well that's the gloating part. What now? Argument-dependent operation types, which I briefly mentioned in the first part of this series. This might be a little bit more tricky. This pertains to the TMR and REG commands - with two arguments, it is considered a write operation and does not return anything. With one argument, it is a read operation and passes it's return down the queue.
So that's today's mission, which after explanation doesn't seem so complex after all.