From dd6a64539aaea68284a2b4b0136990b62d6831d6 Mon Sep 17 00:00:00 2001 From: Lewis Dale Date: Wed, 4 Jan 2023 09:00:27 +0000 Subject: [PATCH] Implement From<&str> for Program --- src/basic.rs | 7 +++++++ src/main.rs | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/basic.rs b/src/basic.rs index 7f9e9ce..647d280 100644 --- a/src/basic.rs +++ b/src/basic.rs @@ -96,6 +96,13 @@ impl Program { } } +impl From<&str> for Program { + fn from(value: &str) -> Self { + let (_, program) = read_program(value).unwrap(); + program + } +} + impl Iterator for Program { type Item = Node; diff --git a/src/main.rs b/src/main.rs index b8c875a..4b2bd1f 100644 --- a/src/main.rs +++ b/src/main.rs @@ -4,6 +4,6 @@ mod basic; fn main() { let file = fs::read_to_string("./inputs/simple_program.bas").unwrap(); - let (_, mut program) = basic::read_program(&file).unwrap(); + let mut program = basic::Program::from(file.as_str()); program.execute(); }