Idea for trait redesign
This commit is contained in:
parent
192a7e611f
commit
626b17cbd2
@ -94,3 +94,25 @@ impl<PL, T, A, E> LanguageInterface for (PL, PL::Evaluator) where PL: Programmin
|
||||
output
|
||||
}
|
||||
}
|
||||
|
||||
/* below here is new versions of everything */
|
||||
|
||||
#[derive(Debug, PartialEq)]
|
||||
pub struct EvalStage {
|
||||
index: u8,
|
||||
name: String,
|
||||
}
|
||||
|
||||
pub struct EvalOptions {
|
||||
debug_stages: Vec<EvalStage>,
|
||||
}
|
||||
|
||||
pub trait ProgrammingLanguageInterface {
|
||||
fn evaluate_in_repl(&mut self, input: &str, eval_options: EvalOptions);
|
||||
fn get_language_name(&self) -> String;
|
||||
fn get_stages(&self) -> Vec<u8>;
|
||||
}
|
||||
|
||||
pub trait CompileableLanguage : ProgrammingLanguageInterface {
|
||||
fn compile(&mut self);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user