From 2f45f0cfed9bcc3f89e8d5aceeeb359f60f55d56 Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Tue, 11 Jul 2023 14:51:58 +0200 Subject: [PATCH] Add convenience methods Machine::load_module_string() and Machine::run_query() --- src/machine/mod.rs | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/machine/mod.rs b/src/machine/mod.rs index 9a1c978a..2d5cff2e 100644 --- a/src/machine/mod.rs +++ b/src/machine/mod.rs @@ -320,6 +320,17 @@ impl Machine { String::from_utf8(output_bytes).unwrap() } + pub fn load_module_string(&mut self, module_name: &str, program: String) { + let stream = Stream::from_owned_string(program, &mut self.machine_st.arena); + self.load_file(module_name, stream); + } + + pub fn run_query(&mut self, query: String) -> String{ + self.set_user_input(query); + self.run_input_once(); + self.get_user_output() + } + pub(crate) fn configure_modules(&mut self) { fn update_call_n_indices(loader: &Module, target_code_dir: &mut CodeDir, arena: &mut Arena) { for arity in 1..66 { -- 2.54.0