A simple S-expression parser
Find a file
2024-02-08 20:21:29 +01:00
src Initial commit 2024-02-08 20:21:29 +01:00
.gitignore Initial commit 2024-02-08 20:21:29 +01:00
Cargo.lock Initial commit 2024-02-08 20:21:29 +01:00
Cargo.toml Initial commit 2024-02-08 20:21:29 +01:00
README.md Initial commit 2024-02-08 20:21:29 +01:00

ß (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!(":(") };
  
}