From 5b8962e35836cf7ccbfdbca312f6b0eb9269e2a6 Mon Sep 17 00:00:00 2001 From: Brian Cully Date: Sat, 23 Aug 2025 10:22:11 -0400 Subject: show wordlist in html on compile --- src/forth/interp.rs | 17 ++++++++++++++--- src/forth/parser.rs | 3 --- 2 files changed, 14 insertions(+), 6 deletions(-) (limited to 'src/forth') diff --git a/src/forth/interp.rs b/src/forth/interp.rs index cacc5e3..e41f0d9 100644 --- a/src/forth/interp.rs +++ b/src/forth/interp.rs @@ -29,6 +29,12 @@ pub enum OpCode { #[derive(Clone, Debug)] pub struct ByteCode(pub Vec); +impl std::ops::Deref for ByteCode { + type Target = Vec; + fn deref(&self) -> &Self::Target { + &self.0 + } +} impl ByteCode { pub fn len(&self) -> usize { @@ -67,15 +73,20 @@ pub struct CallStack(pub Vec); #[derive(Clone, Debug)] pub struct WordList(pub Vec); +impl std::ops::Deref for WordList { + type Target = Vec; + fn deref(&self) -> &Self::Target { + &self.0 + } +} #[derive(Debug)] pub struct Interp { // todo: don't be pub, probably pub stack: DataStack, - callstack: CallStack, - // todo: don't be pub + pub callstack: CallStack, pub wordlist: WordList, - ip: InstructionPointer, + pub ip: InstructionPointer, } #[derive(Debug)] diff --git a/src/forth/parser.rs b/src/forth/parser.rs index ac6715d..1eb93df 100644 --- a/src/forth/parser.rs +++ b/src/forth/parser.rs @@ -1,7 +1,5 @@ use super::interp::{ByteCode, OpCode, WordList}; -use log::debug; - use std::collections::HashMap; use std::iter::{Enumerate, Iterator}; use std::str::Chars; @@ -81,7 +79,6 @@ impl<'a> Parser<'a> { self.enumerator.by_ref() .find(|(_i, c)| c.is_whitespace())?; let word = &self.text[start..end]; - debug!("Parser::next_word → ‘{}’ ({} → {})", word, start, end); Some((word, start, end)) } -- cgit v1.3