|
@@ -97,7 +97,7 @@ Current rung (measured today, normalised position):
|
|
|
|
|
|
|
|
| position | blocker |
|
|
| position | blocker |
|
|
|
|---|---|
|
|
|---|---|
|
|
|
-| **48461** | `OkChars : set of Char` inside `GotoX` — local set variable (`ERR 102`) |
|
|
|
|
|
|
|
+| **48574** | code-image ceiling — runtime + generated code reaches the `0x8000` data base (`ERR 98`) |
|
|
|
|
|
|
|
|
Rungs behind it (now passed):
|
|
Rungs behind it (now passed):
|
|
|
|
|
|
|
@@ -158,7 +158,8 @@ Rungs ahead:
|
|
|
| 43902 | forward definition repeating only the name - DONE |
|
|
| 43902 | forward definition repeating only the name - DONE |
|
|
|
| 44567 | `Delete` string builtin - DONE |
|
|
| 44567 | `Delete` string builtin - DONE |
|
|
|
| 47788 | code ceiling reached; raised to 0x8000 - DONE |
|
|
| 47788 | code ceiling reached; raised to 0x8000 - DONE |
|
|
|
-| 48461 | local `set of Char` variable (`ERR 102`) |
|
|
|
|
|
|
|
+| 48461 | local `set of Char` variable - DONE |
|
|
|
|
|
+| 48574 | code-image ceiling (`ERR 98`) |
|
|
|
|
|
|
|
|
Corrections the measurements force, worth stating plainly because the stage list
|
|
Corrections the measurements force, worth stating plainly because the stage list
|
|
|
below was written before them:
|
|
below was written before them:
|
|
@@ -597,6 +598,10 @@ Exec86):
|
|
|
- **`Abs`, `Sqr` and `Sqrt` are landed (`t104_mathbasic`).** `Abs` clears the
|
|
- **`Abs`, `Sqr` and `Sqrt` are landed (`t104_mathbasic`).** `Abs` clears the
|
|
|
MBF sign, `Sqr` lowers to the real multiply entry, and `Sqrt` is Newton over
|
|
MBF sign, `Sqr` lowers to the real multiply entry, and `Sqrt` is Newton over
|
|
|
the existing real division/addition entries.
|
|
the existing real division/addition entries.
|
|
|
|
|
+- **Local `set of Char` variables are landed (`t109_localset`).** The local
|
|
|
|
|
+ variable declaration path now admits sets, and the identifier-statement
|
|
|
|
|
+ assignment path carries the set size/base metadata; literal assignment and
|
|
|
|
|
+ `in` both work.
|
|
|
- **`Delete(S,pos,len)` is landed (`t108_delete`).** A counted-string
|
|
- **`Delete(S,pos,len)` is landed (`t108_delete`).** A counted-string
|
|
|
runtime entry rewrites the length and moves the tail; positions outside the
|
|
runtime entry rewrites the length and moves the tail; positions outside the
|
|
|
string and non-positive lengths are no-ops.
|
|
string and non-positive lengths are no-ops.
|
|
@@ -1236,10 +1241,12 @@ and TEXT file output is done (`t91_textout`), both compile-only because the
|
|
|
harness has no filesystem. `Str` real formatting is done (`t92_strreal`),
|
|
harness has no filesystem. `Str` real formatting is done (`t92_strreal`),
|
|
|
pointer types with `New`/`Dispose`/dereference are done (`t93_pointer`), and
|
|
pointer types with `New`/`Dispose`/dereference are done (`t93_pointer`), and
|
|
|
text `Eof`/`Readln` plus integer `Str` are done (`t94_textread`/`t95_strint`).
|
|
text `Eof`/`Readln` plus integer `Str` are done (`t94_textread`/`t95_strint`).
|
|
|
-The next ladder blocker is a local `set of Char` variable in `GotoX`. All the
|
|
|
|
|
-REAL builtins CALC uses, forward definitions and `Delete` are implemented. The
|
|
|
|
|
-runtime is 14,063 bytes; `rt_exec` is at HDR=0x4000 / data 0x5000, and the
|
|
|
|
|
-compiler's code ceiling is 0x8000.
|
|
|
|
|
|
|
+The next blocker is image capacity, not a language construct: the runtime plus
|
|
|
|
|
+generated CALC code reaches the `0x8000` data base. The runtime is 14,063
|
|
|
|
|
+bytes; `rt_exec` is at HDR=0x4000 / data 0x5000, and the compiler's code
|
|
|
|
|
+ceiling is 0x8000. The next change must either shrink the runtime (the
|
|
|
|
|
+unrolled math entries are the largest part) or move the data base/code
|
|
|
|
|
+ceiling as a deliberate layout change.
|
|
|
|
|
|
|
|
**Stage 14 — the CRT identifiers.** `GotoXY` (25), `LowVideo`/`NormVideo`
|
|
**Stage 14 — the CRT identifiers.** `GotoXY` (25), `LowVideo`/`NormVideo`
|
|
|
(16 + 16), `ClrEol` (10), `ClrScr` (6), `KeyPressed` (3), `Delay` (1),
|
|
(16 + 16), `ClrEol` (10), `ClrScr` (6), `KeyPressed` (3), `Delay` (1),
|