A Program node, and an empty parse() method on Parser
This commit is contained in:
parent
da63993fe0
commit
2f8f71fc28
2 changed files with 34 additions and 0 deletions
|
@ -2,12 +2,34 @@
|
||||||
* Eryn Wells <eryn@erynwells.me>
|
* Eryn Wells <eryn@erynwells.me>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
mod nodes;
|
||||||
|
|
||||||
|
use lexer::Lexer;
|
||||||
|
use self::nodes::Program;
|
||||||
|
|
||||||
pub struct Parser {
|
pub struct Parser {
|
||||||
|
lexer: Lexer,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Parser {
|
impl Parser {
|
||||||
|
pub fn new(lexer: Lexer) -> Parser {
|
||||||
|
Parser { lexer: lexer }
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn parse(&mut self) -> Program {
|
||||||
|
Program { }
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
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
12
src/parser/nodes.rs
Normal 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 { }
|
||||||
|
}
|
||||||
|
}
|
Loading…
Add table
Add a link
Reference in a new issue