TokenIter -> SourceIter, reuse logic in operators, and now it renders correctly!

This commit is contained in:
🪞👃🪞 2025-01-19 01:46:06 +01:00
parent 266f59085e
commit b8726de78f
13 changed files with 203 additions and 154 deletions

View file

@ -1,12 +1,10 @@
use crate::*;
pub trait TryFromAtom<'a, T>: Sized {
fn try_from_expr (_state: &'a T, _iter: TokenIter<'a>) -> Option<Self> { None }
fn try_from_atom (state: &'a T, value: Value<'a>) -> Option<Self> {
if let Exp(0, iter) = value { return Self::try_from_expr(state, iter) }
None
}
fn try_from_expr (_state: &'a T, _iter: TokenIter<'a>) -> Option<Self> {
None
}
}
pub trait TryIntoAtom<T>: Sized {
fn try_into_atom (&self) -> Option<Value>;