In section 5.7 Translation to assembly language (https://inform-fiction.org/source/tm/chapter5.txt), the Inform Technical Manual provides the following example:
For example,
while (i <= 10) print i++;
generates the assembly language
.L0; @jg i 10 ?L1;
@inc i;
@print_num i;
@jump L0;
.L1;
Since the ++ operator is used in the postfix position, shouldn’t the generated assembly be
.L0; @jg i 10 ?L1;
@print_num i;
@inc i;
@jump L0;
.L1;
instead? (Or alternatively shouldn’t the pre-compiled loop be “while (i <= 10) print ++i;
”?)
I thought that maybe this was just a typo, but section 6.2 The operator precedence grammar (https://inform-fiction.org/source/tm/chapter6.txt) contains a table with the following lines:
9 ++ unary (pre/postfix) read/increment or increment/read
9 -- unary (pre/postfix) read/decrement or decrement/read
The order of the descriptions here implies that prefix use translates to “read/increment” and postfix to “increment/read”, which agrees with the earlier example but seems reversed from how they actually work.
Are these errata, or am I misunderstanding something? Is there a published list of errata for the Inform Technical Manual?