diff --git a/gemla/src/bracket/mod.rs b/gemla/src/bracket/mod.rs index c452a8c..acfcf65 100644 --- a/gemla/src/bracket/mod.rs +++ b/gemla/src/bracket/mod.rs @@ -2,8 +2,25 @@ mod state; use super::tree; +use std::str::FromStr; use uuid::Uuid; +impl tree::Tree { + pub fn run_simulation(&self) { + println!("================================"); + println!("Running simulation for node: {}", self.val); + println!("With children {} and {}", tree::fmt_node(&self.left), tree::fmt_node(&self.right)); + } +} + +impl FromStr for tree::Tree { + type Err = tree::ParseTreeError; + + fn from_str(s: &str) -> Result { + + } +} + // pub struct Bracket { // tree: tree::Tree, // directory: String diff --git a/gemla/src/file_data/mod.rs b/gemla/src/file_data/mod.rs new file mode 100644 index 0000000..7f347ca --- /dev/null +++ b/gemla/src/file_data/mod.rs @@ -0,0 +1,3 @@ +trait FileData { + +} \ No newline at end of file diff --git a/gemla/src/tree/mod.rs b/gemla/src/tree/mod.rs index 03faf9d..d03c69e 100644 --- a/gemla/src/tree/mod.rs +++ b/gemla/src/tree/mod.rs @@ -1,9 +1,9 @@ use std::fmt; pub struct Tree { - val: T, - left: Option>>, - right: Option>> + pub val: T, + pub left: Option>>, + pub right: Option>> } pub fn combine_trees(v: T, l: Option>>, r: Option>>) -> Tree { @@ -27,17 +27,13 @@ impl fmt::Display for Tree { } } -fn fmt_node(t: &Option>>) -> String { +pub fn fmt_node(t: &Option>>) -> String { match t { Some(n) => format!("{}", (*n).val), _ => String::from("_") } } -impl Tree { - pub fn run_simulation(&self) { - println!("================================"); - println!("Running simulation for node: {}", self.val); - println!("With children {} and {}", fmt_node(&self.left), fmt_node(&self.right)); - } +struct ParseTreeError { + msg: String } \ No newline at end of file