dust/src/lib.rs

35 lines
699 B
Rust
Raw Normal View History

2024-02-25 18:49:26 +00:00
pub mod abstract_tree;
pub mod context;
pub mod error;
pub mod lexer;
pub mod parser;
2024-02-26 21:27:01 +00:00
pub mod value;
2024-02-23 12:40:01 +00:00
2024-02-26 21:27:01 +00:00
use abstract_tree::Statement;
2024-02-25 05:38:41 +00:00
use chumsky::{prelude::*, Parser};
2024-02-25 18:49:26 +00:00
use context::Context;
use error::Error;
2024-02-26 21:27:01 +00:00
pub use value::Value;
2024-02-25 08:12:09 +00:00
pub struct Interpreter<P> {
2024-02-25 18:49:26 +00:00
_parser: P,
_context: Context,
2024-02-25 08:12:09 +00:00
}
impl<'src, P> Interpreter<P>
where
2024-02-26 21:27:01 +00:00
P: Parser<'src, &'src str, Statement<'src>, extra::Err<Rich<'src, char>>>,
2024-02-25 08:12:09 +00:00
{
2024-02-25 18:49:26 +00:00
pub fn run(&self, _source: &'src str) -> Result<Value, Error<'src>> {
todo!();
2024-02-23 17:14:15 +00:00
2024-02-25 18:49:26 +00:00
// let final_value = self
// .parser
// .parse(source)
// .into_result()?
// .run(&self.context)?;
2024-02-23 12:40:01 +00:00
2024-02-25 18:49:26 +00:00
// Ok(final_value)
2023-09-28 19:58:01 +00:00
}
}