Strip down the parser (again...)
This commit is contained in:
parent
0133bbed19
commit
d783e561da
2 changed files with 2 additions and 19 deletions
|
@ -5,18 +5,14 @@
|
||||||
extern crate sibillexer;
|
extern crate sibillexer;
|
||||||
extern crate sibiltypes;
|
extern crate sibiltypes;
|
||||||
|
|
||||||
mod list;
|
|
||||||
mod program;
|
mod program;
|
||||||
|
|
||||||
use sibillexer::Lexer;
|
use sibillexer::Lexer;
|
||||||
|
use sibiltypes::Object;
|
||||||
|
|
||||||
struct ParseError { }
|
struct ParseError { }
|
||||||
|
|
||||||
type Result<T> = std::result::Result<T, ParseError>;
|
type Result = std::result::Result<Object, ParseError>;
|
||||||
|
|
||||||
trait Parsable: Sized {
|
|
||||||
fn parse(lexer: &Lexer) -> Result<Self>;
|
|
||||||
}
|
|
||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
|
|
|
@ -4,18 +4,5 @@
|
||||||
|
|
||||||
use sibillexer::Lexer;
|
use sibillexer::Lexer;
|
||||||
use super::Result;
|
use super::Result;
|
||||||
use super::Parsable;
|
|
||||||
use super::ParseError;
|
use super::ParseError;
|
||||||
use list::SExpression;
|
|
||||||
|
|
||||||
struct Program {
|
|
||||||
commands: Vec<SExpression>,
|
|
||||||
}
|
|
||||||
|
|
||||||
impl Parsable for Program {
|
|
||||||
fn parse(lexer: &Lexer) -> Result<Program> {
|
|
||||||
let mut commands: Vec<SExpression> = Vec::new();
|
|
||||||
// TODO: Actually parse commands.
|
|
||||||
Ok(Program { commands: commands })
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue