1mod depfile;
2mod error;
3mod ninja;
4
5pub use self::error::ParseError;
6use self::{
7 depfile::depfile,
8 ninja::{dynamic_module, module},
9};
10use crate::ast::{DynamicModule, Module};
11
12pub fn parse(source: &str) -> Result<Module, ParseError> {
14 Ok(module(source).map(|(_, module)| module)?)
15}
16
17pub fn parse_dynamic(source: &str) -> Result<DynamicModule, ParseError> {
18 Ok(dynamic_module(source).map(|(_, module)| module)?)
19}
20
21pub fn parse_depfile(source: &str) -> Result<Vec<String>, ParseError> {
22 Ok(depfile(source).map(|(_, dependencies)| dependencies)?)
23}