oak-scheme 0.0.11

Scheme functional programming language parser with support for Lisp dialect and symbolic computation.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
use oak_core::parser::{ParseSession, Parser};
use oak_scheme::{language::SchemeLanguage, parser::SchemeParser};

#[test]
fn test_scheme_parser() {
    let lang = SchemeLanguage::new();
    let parser = SchemeParser::new(&lang);
    let source = "(define (hello) (display \"Hello\"))\n(hello)";
    let mut session = ParseSession::<SchemeLanguage>::new(16);
    let output = parser.parse(source, &[], &mut session);
    assert!(output.result.is_ok());
    let green = output.result.unwrap();
    assert!(green.children.len() > 0);
}