From bbf161ede9da02e1a54171868cd0f10c17fe9734 Mon Sep 17 00:00:00 2001 From: Eryn Wells Date: Mon, 2 Jan 2017 11:46:45 -0500 Subject: [PATCH] DELETE PARSER CRAP --- src/parser/mod.rs | 42 ---------------------------------- src/parser/nodes/constant.rs | 29 ----------------------- src/parser/nodes/expression.rs | 5 ---- src/parser/nodes/mod.rs | 33 -------------------------- src/parser/nodes/program.rs | 40 -------------------------------- 5 files changed, 149 deletions(-) delete mode 100644 src/parser/mod.rs delete mode 100644 src/parser/nodes/constant.rs delete mode 100644 src/parser/nodes/expression.rs delete mode 100644 src/parser/nodes/mod.rs delete mode 100644 src/parser/nodes/program.rs diff --git a/src/parser/mod.rs b/src/parser/mod.rs deleted file mode 100644 index e768349..0000000 --- a/src/parser/mod.rs +++ /dev/null @@ -1,42 +0,0 @@ -/* mod.rs - * Eryn Wells - */ - -pub use self::nodes::Program; - -mod nodes; - -use lexer::Lexer; - -pub struct Parser { - lexer: Lexer, -} - -impl Parser { - pub fn new(lexer: Lexer) -> Parser { - Parser { lexer: lexer } - } - - pub fn parse(&self) -> nodes::Program { - self.parse_program() - } -} - -impl Parser { - fn parse_program(&self) -> nodes::Program { - let program = Program::new(); - } -} - -#[cfg(test)] -mod tests { - use super::*; - use lexer::Lexer; - - #[test] - fn parses_empty_input() { - let parser = Parser::new(Lexer::new("")); - let parsed = parser.parse(); - assert_eq!(parsed, Program::new()); - } -} diff --git a/src/parser/nodes/constant.rs b/src/parser/nodes/constant.rs deleted file mode 100644 index 473a562..0000000 --- a/src/parser/nodes/constant.rs +++ /dev/null @@ -1,29 +0,0 @@ -/* parser/nodes/constant.rs - * Eryn Wells - */ - -use std::fmt; -use types::{Boolean, Number}; -use super::TreeDebug; -use super::expression::Expression; - -pub trait ConstantValue {} -impl ConstantValue for Boolean {} -impl ConstantValue for Number {} - -pub struct Constant<'a, V: ConstantValue> { - parent: Option<&'a Expression>, - value: V -} - -impl<'a, V: ConstantValue> Constant<'a, V> { - pub fn new(value: V) -> Constant<'a, V> { - Constant { parent: None, value: value } - } -} - -impl<'a, V: ConstantValue + fmt::Debug> fmt::Debug for Constant<'a, V> { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - write!(f, "Constant {{ {:?} }}", self.value) - } -} diff --git a/src/parser/nodes/expression.rs b/src/parser/nodes/expression.rs deleted file mode 100644 index 979c004..0000000 --- a/src/parser/nodes/expression.rs +++ /dev/null @@ -1,5 +0,0 @@ -/* parser/nodes/expression.rs - * Eryn Wells - */ - -pub trait Expression {} diff --git a/src/parser/nodes/mod.rs b/src/parser/nodes/mod.rs deleted file mode 100644 index 2c943a8..0000000 --- a/src/parser/nodes/mod.rs +++ /dev/null @@ -1,33 +0,0 @@ -/* parser/nodes/mod.rs - * Eryn Wells - */ - -use std::fmt; - -pub use self::constant::Constant; -pub use self::program::Program; - -mod constant; -mod expression; -mod program; - -use self::expression::Expression; - -/// Conveniently print out a node in the tree -trait TreeDebug: fmt::Debug { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - self.tree_fmt(f, 0) - } - - fn tree_indent(&self, indent: u8) -> String { - (0..10).fold(String::new(), |mut acc, _| { - acc.push(' '); - acc - }) - } - - fn tree_fmt(&self, f: &mut fmt::Formatter, indent: u8) -> fmt::Result { - let spaces: String = self.tree_indent(indent); - write!(f, "{}{:?}", spaces, self) - } -} diff --git a/src/parser/nodes/program.rs b/src/parser/nodes/program.rs deleted file mode 100644 index 3cf71eb..0000000 --- a/src/parser/nodes/program.rs +++ /dev/null @@ -1,40 +0,0 @@ -/* parser/nodes/program.rs - * Eryn Wells - */ - -use std::fmt; - -use super::TreeDebug; -use super::expression::Expression; - -pub struct Program { - forms: Vec>, -} - -impl Program { - pub fn new() -> Program { - Program { forms: Vec::new() } - } -} - -/* -impl fmt::Debug for Program { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - self.tree_fmt(f, 0) - } -} - -impl TreeDebug for Program { - fn tree_fmt(&self, f: &mut fmt::Formatter, indent: u8) -> fmt::Result { - let spaces = self.tree_indent(indent); - let mut result = write!(f, "{}Program", spaces); - for form in self.forms.iter() { - if result.is_err() { - break; - } - result = form.tree_fmt(f, indent + 2); - } - result - } -} -*/