diff --git a/src/language.rs b/src/language.rs index d876d86..c277a84 100644 --- a/src/language.rs +++ b/src/language.rs @@ -94,3 +94,25 @@ impl 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, +} + +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; +} + +pub trait CompileableLanguage : ProgrammingLanguageInterface { + fn compile(&mut self); +}