diff --git a/src/main.rs b/src/main.rs index cdd19c7..a0061a2 100644 --- a/src/main.rs +++ b/src/main.rs @@ -6,7 +6,7 @@ mod lex; mod line; mod log; mod output; -mod parse2; +mod parse; mod prompt; mod shell; mod syntax; @@ -55,7 +55,6 @@ fn main() -> Result<()> { shell.output.newline()?; let s = shell.line.pop(); info!("◇ {}", s); - // let tree = parse::parse(&s)?; match syntax::x(&s) { Ok(tree) => { debug!(" {:?}", tree); diff --git a/src/parse2.rs b/src/parse.rs similarity index 100% rename from src/parse2.rs rename to src/parse.rs diff --git a/src/syntax.rs b/src/syntax.rs index f7e3238..94f7216 100644 --- a/src/syntax.rs +++ b/src/syntax.rs @@ -1,7 +1,7 @@ use crate::{ error::{ExecError, ParseError}, lex::{Lexer, Token}, - parse2, + parse, }; use std::{collections::HashSet, process}; @@ -120,9 +120,9 @@ impl TreeBuilder { } } - fn descend(&mut self, source: &mut parse2::Cursor) -> Result { + fn descend(&mut self, source: &mut parse::Cursor) -> Result { let e = match source.value() { - parse2::Value::Start => { + parse::Value::Start => { let mut root = Block::new(); let children = source.iter_children(); for mut child in children { @@ -134,7 +134,7 @@ impl TreeBuilder { } Element::Block(root) } - parse2::Value::Statement => { + parse::Value::Statement => { let mut children = source.iter_children(); let mut first = children.next().unwrap(); let name = self.descend(&mut first)?; @@ -148,10 +148,10 @@ impl TreeBuilder { } Element::Command(cmd) } - parse2::Value::Terminal(Token::Word(word)) => { + parse::Value::Terminal(Token::Word(word)) => { Element::Literal(Value::Text(word.to_string())) } - parse2::Value::Terminal(Token::Glob(_)) => { + parse::Value::Terminal(Token::Glob(_)) => { todo!() } }; @@ -160,7 +160,7 @@ impl TreeBuilder { } } -fn build(mut source: parse2::Cursor) -> Result { +fn build(mut source: parse::Cursor) -> Result { source.up_to_root(); let mut builder = TreeBuilder::new(); builder.descend(&mut source) @@ -168,7 +168,7 @@ fn build(mut source: parse2::Cursor) -> Result { pub fn x(source: &str) -> Result { let tokens = Lexer::new(source); - let parser = parse2::Parser::new(tokens); + let parser = parse::Parser::new(tokens); let mut parse_tree = parser.parse()?; let mut builder = TreeBuilder::new(); builder.descend(&mut parse_tree)