crisp-parser 1.5.2

Crisp parser — tokens to AST (spec Appendix A)
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
use crisp_parser::Parser;
use std::fs;
use std::path::PathBuf;

fn server_source() -> String {
    let path = PathBuf::from(env!("CARGO_MANIFEST_DIR")).join("../../examples/server/src/main.crp");
    fs::read_to_string(path).expect("read server example")
}

#[test]
fn parse_server_example() {
    let src = server_source();
    let mut parser = Parser::new(&src).expect("lexer");
    let file = parser.parse_file().expect("parse server");
    insta::assert_debug_snapshot!(file);
}