On Friday, 9 February 2018 at 21:39:22 UTC, Adam D. Ruppe wrote:
On Friday, 9 February 2018 at 21:31:29 UTC, ShadoLight wrote:
[1] https://run.dlang.io/is/dyElXg
There's missing quotes in there:
Line 14:
code ~= "push(call!"~piece~"(pop(), pop()));\n";
Should be:
code ~= "push(call!\""~piece~"\"(pop(), pop()));\n";
[snip]
On Friday, 9 February 2018 at 21:58:51 UTC, Meta wrote:
On Friday, 9 February 2018 at 21:31:29 UTC, ShadoLight wrote:
[snip]
The problem becomes apparent once you uncomment one of these
and paste the offending string ("5 5 + 3 - 2 * 1 + 3 /") in.
[snip]
push(call!+(pop(), pop()));
[snip]
So it takes a string as its sole template argument. The problem
is that the code in convertToD forgot to add the quotes around
the operators that are supposed to be passed as strings to call.
[snip]
Indeed, that makes sense! Thanks to you both!
Adam, you are right - it was indeed incorrectly mangled... it is
shown as...
code ~= "push(call!'"~piece~"'(pop(), pop()));\n";
So the escaped quotes \" were mangled as '. I simply removed them
since I assumed they were typos in the doc, similar to the other
ones I had fixed. My bad.
Man, I cannot believe how quickly you guys answered. Thanks again!