Ce document est disponible en français
👋 Hi! New here? Rubberduck was always an open-source initiative. RDCore honors it with an Open-Core formula.
See rubberduckvba.ca for more information.
This repository contains different projects under active development producing different libraries and executables, under a relatively simple licensing model:
- The RDCore.SDK library (including its documentation) is licensed under ⚖️MIT;
- Everything else built around it is licensed under ⚖️GPLv3.
This arrangement protects both the legacy and current contributors while enabling the future: The RDCore runtime implementation shall remain open-source.
👉 We're building a solid language core foundation here, but please note that at the moment the only deliverable is the documentation site.
RD-VBAL §1.0.1
RDCore™ is an actively evolving Language Server (LSP) platform that is currently a work in progress. Ultimately, the RDCore deliverables are:
- 🎯 rdc.exe: a configurable and extensible RD-VBA environment host and LSP client CLI application;
- 🎯 RDCore.LanguageServer.exe: the platform's "orchestrator" LSP server application;
- 🎯 RDCore.Parser.exe: the platform's parser is a satellite LSP server application owned and coordinated by the main language server;
- 🎯 RDCore.Diagnostics.exe: a core platform extension asynchronously issuing diagnostics to the main language server;
- 👉 RDCore.Runtime.dll: a library containing an implementation for all the RD-VBA runtime semantics and mechanics, including an implementation of the VBA Standard Library;
- 🧩 RDCore.SDK.dll: a library exposing the RDCore abstractions and encapsulating the base RD-VBA language core implementation.
- Analyze VBA code at depths only LSP analyzers can reach
- Execute VBA code outside the VBIDE
- Build dev tools via the Language Server Protocol (LSP)
- Inspect runtime behavior and semantic facts
- Extend the platform with analyzers and plugins
Note
This section is kept up to date as implementation progresses.
RDCore is currently in active pre-alpha development - the only deliverable for now consists of its specification and documentation.
- Core architecture: ✅ stable
- Language SDK: ✅ largely defined
- Runtime: 🚧 implementation in progress
- Standard library: 🚧 partially defined
- Parser: 🚧 exists (barely)
- CLI host (rdc.exe): 🚧 exists (barely)
- Public contributions (individuals): ✅ opened (CLA)
- Public contributions (corporate): ⏳ planned
RD-VBAL §1.0.2
The implementation of the platform's language core is a work in progress. Ultimately, RD-VBA:
- 🎯 aims for strict compliance with the MS-VBAL specifications, ensuring behavioral compatibility with existing VBA semantics;
- 🧩 elevates VBA into a modern, extensible, and fully open-sourced language platform separating the language definition from its original 1993 implementation;
- 👀 makes implicit language behavior explicit, exposing semantic rules, evaluation steps, call stacks, and error conditions as observable facts.
Note
This section is kept up to date as implementation progresses.
- ✅ Static semantics IMPLEMENTED for all operators
- ✅ Static semantics IMPLEMENTED for all let-coercions
- ✅ Runtime semantics IMPLEMENTED for all operators
- 🚧 Runtime semantics IN PROGRESS for let-coercions
- 🎯 Runtime semantics TODO for all statements
- 🎯 Runtime semantics TODO for the standard library
- 🚧 Evaluation pipeline modelization IN PROGRESS
- 🚧 Analysis pipeline modelization IN PROGRESS
- 🚧 Execution pipeline modelization IN PROGRESS
-
🚧 Static: IN PROGRESS
- Operators: ✅ IMPLEMENTED (coverage: 62.4 %block | 64.6 %lines)
- Let-coercions: ✅ IMPLEMENTED (coverage: TODO)
- Statements: 🎯 TODO
- Standard library: 🎯 TODO
-
🚧 Runtime: IN PROGRESS
- Operators: ✅ IMPLEMENTED (coverage: TODO)
- Let-coercions: 🚧 IN PROGRESS (conceptually completed)
- Statements: 🎯 TODO
- Standard library: 🎯 TODO
- 🧪 OVERALL test coverage (rdcore.sdk.dll): 17.4 %blocks; 15.0 %lines |
⚠️ BELOW TARGET (>70%)
The current operator tests run the static semantics through a matrix of VBIntrinsicType that exercises most if not all specified input combinations:
👉 Missing: tests for any unspecified combinations (if any), and error conditions / type mismatch checks.
ACCUEIL • HOME | ℹ️ BIENVENUE • WELCOME | 🧩 BÂTISSONS • BUILD | RD-VBAL | SDK | 🌐 rubberduckvba.ca
© Copyright 9562-7303 Québec inc. (2026)
Seul, "Rubberduck" est utilisé pour fins de référence au projet open-source legacy utilisé publiquement ainsi depuis 2015 et sans lien ni affiliation avec tout tiers détenteur d'une marque semblable dans quelque juridiction que ce soit.
"Rubberduck VBA", "RDCore" et "VIVAT CUCUMIS" sont des marques de commerce revendiquées par 9562-7303 Québec inc. (en attente); Toutes les marques appartiennent à leur détenteur respectif.
RDCore n'est pas un produit de Microsoft et n'est pas affilié à Microsoft, ni directement, ni indirectement.
If used alone, "Rubberduck" is used as a reference to the legacy open-source project the same way it has been used publicly since 2015 and without any links or affiliation with any third-party trademark holders of a similar trademark in any jurdisdiction.
"Rubberduck VBA", "RDCore" and "VIVAT CUCUMIS" are trademarks claimed by 9562-7303 Québec inc. (pending). All trademarks belong to their respective owners.
RDCore is not a Microsoft product and is not affiliated with Microsoft, directly or indirectly.

