Skip to main content

turtle_build/
parse.rs

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
12/// Parses a module.
13pub 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}