vbscript

Crates.iovbscript
lib.rsvbscript
version
sourcesrc
created_at2024-05-17 21:17:55.970945
updated_at2024-12-09 08:57:12.415674
descriptionRust VBScript lexer and parser
homepage
repositoryhttps://github.com/francisdb/vbscript.rs
max_upload_size
id1243689
Cargo.toml error:TOML parse error at line 17, column 1 | 17 | autolib = false | ^^^^^^^ unknown field `autolib`, expected one of `name`, `version`, `edition`, `authors`, `description`, `readme`, `license`, `repository`, `homepage`, `documentation`, `build`, `resolver`, `links`, `default-run`, `default_dash_run`, `rust-version`, `rust_dash_version`, `rust_version`, `license-file`, `license_dash_file`, `license_file`, `licenseFile`, `license_capital_file`, `forced-target`, `forced_dash_target`, `autobins`, `autotests`, `autoexamples`, `autobenches`, `publish`, `metadata`, `keywords`, `categories`, `exclude`, `include`
size0
Francis De Brabandere (francisdb)

documentation

https://docs.rs/vbscript

README

vbscript.rs

Rust VBScript lexer and parser

https://crates.io/crates/vbscript

Documentation

https://docs.rs/vpin

Example code

Check the examples folder

Rationale

On October 2023 Microsoft deprecated VBScript. A timeline is available at the Windows IT Pro Blog.

However, there are still many legacy systems that use VBScript. This project aims to provide a lexer, parser and maybe later interpreter for VBScript, so that it can be used in Rust projects.

Projects using vbscript.rs

https://github.com/francisdb/vbsfmt

Other links

Running the integration tests

Make sure you populate the testsctipts folder, feel free to add more vbs files to the folder.

./testsctipts/populate.sh

Run the tests. They will also be included in the default cargo test run.

RUST_BACKTRACE=1 cargo test -- --nocapture try_lexing_all_vbs_files
RUST_BACKTRACE=1 cargo test -- --nocapture try_parsing_all_vbs_files

Running the benchmarks

To run this benchmark, use the following command:

cargo bench

Making a release

We use https://github.com/MarcoIeni/release-plz which creates a release pr on every commit to master

Attributions

Thanks go to Domenic Quirl for his excellent blog post on parsing basics. This project was started from his blog post, you can find it here: https://domenicquirl.github.io/blog/parsing-basics/ https://github.com/domenicquirl/blog/tree/master/parsing-basics

Commit count: 14

cargo fmt