Add DOES>, EVALUATE, double-cell arithmetic, and 20+ more Core words

- DOES> with split-compilation for defining words (CREATE , DOES> @ pattern)
- EVALUATE for string interpretation
- Double-cell: M* UM* UM/MOD FM/MOD SM/REM S>D */ */MOD
- Parsing: WORD FIND COUNT >NUMBER >IN STATE
- Memory: CMOVE CMOVE>
- Compile-time: ABORT" S" (compile mode)
- 219 tests passing, ~90% Core word set coverage
- Update docs to reflect current implementation
This commit is contained in:
2026-03-29 23:40:37 +02:00
parent ca07d358fb
commit d9cd6f2b10
4 changed files with 1472 additions and 64 deletions
+8
View File
@@ -124,6 +124,14 @@ impl Dictionary {
}
}
/// Reveal a word at a specific address (remove HIDDEN flag).
pub fn reveal_at(&mut self, word_addr: u32) {
let flags_addr = (word_addr + 4) as usize;
if flags_addr < self.memory.len() {
self.memory[flags_addr] &= !flags::HIDDEN;
}
}
/// Set the code field of the most recent word.
pub fn set_code_field(&mut self, word_addr: u32, fn_index: u32) {
if let Ok(code_addr) = self.code_field_addr(word_addr) {
+1446 -49
View File
File diff suppressed because it is too large Load Diff