164 compile errors down to 99 on the large application.
INPUT gained BEFORE INPUT and AFTER INPUT, which bracket the dialog as
BEFORE/AFTER ROW bracket a row, and GET_FLDBUF, which reads what the
user actually typed in a field before it was converted to the
variable's type. That last one is the point of it: a program uses
GET_FLDBUF precisely to look at input that would not convert.
The unimplemented client/server entry points now take params object?[]
rather than fixed arities. The arities were a guess and the guess was
wrong - the prototypes the generator has for these C functions carry no
signature at all, so the call sites vary and nothing here can predict
them. Taking whatever is passed is honest; they still throw.
That prototype gap is worth stating plainly, because it is not visible
in an error count: a C function declared with no signature generates a
call the compiler will accept and the program will get wrong. Reading
the real signatures out of the C source is the fix, and it has not been
done.
203 runtime tests pass; the six end-to-end programs and the UI message
stream still agree with the C runtime.