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!

Reply via email to