owml_parser/lib.rs
1#![no_std]
2
3#[allow(unused_imports)]
4#[macro_use]
5extern crate alloc;
6extern crate nom;
7
8mod parsers;
9pub mod types;
10
11use nom::IResult;
12use types::OType;
13
14/// This is the main frontend parser for Owen's Markup Language.
15///
16/// # Language specification
17///
18/// The language specification for Owen's Markup Language can be found
19/// [here](https://owml.gitlab.io/owml-website/docs/lang-spec/).
20///
21/// # Using the parser
22///
23/// All documentation for using this parser can be found
24/// [here](https://owml.gitlab.io/owml-website/docs/parser/).
25pub fn parse_owml_str(input: &str) -> IResult<&str, OType> {
26 let (input, found_vec) = parsers::owml_parser::get_vec_parser(input)?;
27
28 Ok((input, OType::ObjectType(found_vec)))
29}