write a regression test that runs on every "make ecce" where it edits a document and applies every command, then ecce < script > log, and diff the logs against a known good copy. also compiler regression test, all language features, all combinations of comparisons etc. ===== memo: gcc -c -g -Wa,-a,-ad ecce-c.c > ecce-c.lst quick hack for examining gcc output. even most basic optimisations only done for -O2 which unfortunately messes up the output above... ===== document choices not taken: this isn't legal :-( ;; PUSH pp ;; push dword [pp] ;; SUB ;; pop eax sub [esp],[pp] similarly, storing at [esp] rather than sub esp,4 followed by push is not valid if operand is in memory. only constants/regs. ===== mov reg, dword 0 => xor reg, reg =====