A simple S-expression parser
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
eater e37938a394 Initial commit 11 months ago
src Initial commit 11 months ago
.gitignore Initial commit 11 months ago
Cargo.lock Initial commit 11 months ago
Cargo.toml Initial commit 11 months ago
README.md Initial commit 11 months ago

README.md

ß (Ringel-S)

A simple S-Expression parser

Features

  • miette error reporting with source annotation

    use the miette feature and either OffsetTracker or LineTracker as tracker

  • Location tracking of tokens and nodes
  • UTF-8/String first
  • Top level can contain multiple nodes

Example

fn example() {
    let parser = ParserOptions::new()
        .with_comments()
        .build_with_tracker::<OffsetTracker>("(hello #| world |#)");
  
  let Some(Ok(node)) = parser.next() else { panic!(":(") };
  
}