This repository has been archived on 2024-05-26. You can view files and clone it, but cannot push or open issues or pull requests.
trixy/trixy-parser/src/lib.rs

22 lines
520 B
Rust
Raw Normal View History

2023-12-23 17:57:10 +00:00
use error::TrixyError;
use crate::lexing::TokenStream;
use self::command_spec::checked::CommandSpec;
pub mod command_spec;
pub mod error;
pub mod lexing;
pub mod parsing;
pub fn parse_trixy_lang(input: &str) -> Result<CommandSpec, Box<TrixyError>> {
let input_tokens = TokenStream::lex(input)
.map_err(Into::<TrixyError>::into)?
.parse_unchecked()
.map_err(Into::<TrixyError>::into)?
.process(input.to_owned())
.map_err(Into::<TrixyError>::into)?;
Ok(input_tokens)
}