oak-pascal 0.0.11

Pascal programming language parser with support for structured programming and modern Pascal dialects.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
use oak_pascal::{language::PascalLanguage, lexer::PascalLexer};
use oak_testing::lexing::LexerTester;
use std::{path::Path, time::Duration};

static PASCAL_LANGUAGE: PascalLanguage = PascalLanguage {};

#[test]
fn test_pascal_lexer() {
    let here = Path::new(env!("CARGO_MANIFEST_DIR"));
    let lexer = PascalLexer::new(&PASCAL_LANGUAGE);

    let test_runner = LexerTester::new(here.join("tests/lexer")).with_extension("pas").with_timeout(Duration::from_secs(5));
    match test_runner.run_tests::<PascalLanguage, _>(&lexer) {
        Ok(_) => println!("Pascal lexer tests passed"),
        Err(e) => panic!("Pascal lexer tests failed: {}", e),
    }
}