r7rs-parser

Crates.ior7rs-parser
lib.rsr7rs-parser
version0.1.0
sourcesrc
created_at2022-10-28 07:00:59.243096
updated_at2022-10-28 07:00:59.243096
descriptionSimple Scheme R7RS parser & lexer
homepage
repositoryhttps://github.com/playxe/r7rs-parser
max_upload_size
id700165
size70,381
playX (playXE)

documentation

README

r7rs-parser

Simple R7RS Scheme parser.

Example

use r7rs_parser::{ parser::Parser, expr::NoIntern};

const SOURCE: &'static str = r#"
#!fold-case


(Add 2 3+43i 4145125125153151351351353 3/4)
"#;

fn main() {
    let mut i = NoIntern;
    let mut parser = Parser::new(&mut i, &SOURCE, false);

    while !parser.finished() {
        match parser.parse(true) {
            Ok(expr) => {
                let s = expr.to_string(&NoIntern, false);

                println!("{}", s);
            }
            Err(e) => {
                println!("{}", e);
            }
        }
    }
}
Commit count: 9

cargo fmt