aboutsummaryrefslogtreecommitdiffstats
path: root/src/parser.rs
blob: 89e6827c724a3f5d2af85354e45beb7cf93a660b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
pub mod token;
pub mod conversion;
mod pest_rst;
mod pair_ext_parse;
#[cfg(test)]
pub mod tests;

use failure::Error;
use pest::Parser;

use crate::document_tree::elements::Document;

use self::pest_rst::{RstParser,Rule};
use self::conversion::convert_document;


/// tokens to Document tree. resolves sections, but not references
pub fn parse(source: &str) -> Result<Document, Error> {
    let pairs = RstParser::parse(Rule::document, source)?;
    convert_document(pairs)
}