A Program node, and an empty parse() method on Parser

This commit is contained in:
Eryn Wells 2017-01-02 12:17:26 -05:00
parent da63993fe0
commit 2f8f71fc28
2 changed files with 34 additions and 0 deletions

View file

@ -2,12 +2,34 @@
* Eryn Wells <eryn@erynwells.me>
*/
mod nodes;
use lexer::Lexer;
use self::nodes::Program;
pub struct Parser {
lexer: Lexer,
}
impl Parser {
pub fn new(lexer: Lexer) -> Parser {
Parser { lexer: lexer }
}
pub fn parse(&mut self) -> Program {
Program { }
}
}
#[cfg(test)]
mod tests {
use super::*;
use super::nodes::*;
use lexer::Lexer;
#[test]
fn parses_empty_input() {
let mut parser = Parser::new(Lexer::new(""));
assert_eq!(parser.parse(), Program::new());
}
}

12
src/parser/nodes.rs Normal file
View file

@ -0,0 +1,12 @@
/* parser/nodes.rs
* Eryn Wells <eryn@erynwells.me>
*/
#[derive(Debug, PartialEq)]
pub struct Program { }
impl Program {
pub fn new() -> Program {
Program { }
}
}