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 3 months ago
src Initial commit 3 months ago
.gitignore Initial commit 3 months ago
Cargo.lock Initial commit 3 months ago
Cargo.toml Initial commit 3 months ago
README.md Initial commit 3 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!(":(") };
  
}