#ast #swf #avm1 #virtual-machine #syntax-tree

avm1-types

Types for the Flash ActionScript Virtual Machine (AVM1)

6 releases (breaking)

0.14.0 Jun 25, 2022
0.13.0 Jul 24, 2021
0.12.0 May 5, 2021
0.11.0 Sep 7, 2020
0.9.0 Sep 27, 2019

#113 in Emulators


Used in 2 crates

MIT/Apache

38KB
1K SLoC

AVM1 Types (Rust)

GitHub repository crates.io crate Rust checks status docs.rs/avm1-types

Rust implementation of the AVM1 Abstract Syntax Tree (AST).

Contributing

This repo uses Git submodules for its test samples:

# Clone with submodules
git clone --recurse-submodules git://github.com/open-flash/swf-parser.git
# Update submodules for an already-cloned repo
git submodule update --init --recursive --remote

This library is a standard Cargo project. You can test your changes with cargo test. The commands must be run from the rs directory.

Code formatting is checked using rustfmt:

# Make sure that you have `rustfmt`
rustup component add rustfmt
# Check formatting
cargo fmt --all -- --check
# Format automatically
cargo fmt --all

Prefer non-master branches when sending a PR so your changes can be rebased if needed. All the commits must be made on top of master (fast-forward merge). CI must pass for changes to be accepted.

Dependencies

~0.8–1.4MB
~31K SLoC