🚀 Oak ActionScript Parser
Modern Tooling for Legacy Code. oak-actionscript is a high-performance, incremental ActionScript 3.0 parser built on the Oak framework. It's engineered for building modern IDEs, static analysis tools, and automated migration paths for Flash and Flex applications.
✨ Core Features
- ⚡ Blazing Fast: Built in Rust for sub-millisecond parsing performance and zero-cost abstractions.
- 🔄 Truly Incremental: Re-parse only what changed. Ideal for real-time IDE feedback and massive codebases.
- 🛡️ Industrial-Grade Fault Tolerance: Gracefully handles malformed code with intelligent error recovery.
- 🌳 High-Fidelity AST: Captures every detail, including metadata (
[Bindable]), E4X, and even whitespace/comments (trivia). - Full AS3 Support: Comprehensive coverage of packages, classes, interfaces, and namespaces.
- E4X Integration: First-class support for ECMAScript for XML extensions.
- Metadata Aware: Easily extract and analyze annotations like
[Event],[Inject], etc. - IDE Ready: Designed from the ground up for Language Server Protocol (LSP) integration.
🏗️ Modern Architecture
Leveraging the Green/Red Tree pattern (similar to Roslyn and rust-analyzer):
- Efficient Immutability: Share nodes across tree versions without expensive copies.
- Lossless Syntax: Perfect for automated refactoring and code formatting.
- Type-Safe API: Easy traversal with strongly-typed nodes.
🤝 Contributing
We welcome contributions! Whether it's bug reports, feature requests, or code, help us bring modern tooling to the ActionScript ecosystem. Check our issues or submit a PR.