Table of Contents

1.0 Introduction

This specification describes the RDCore Language Platform and SDK. The platform includes an implementation of the VBA programming language, herein called RD-VBA.

RD-VBA is derived from MS-VBAL, the specification for Microsoft Visual Basic for Applications (MS-VBA). RD-VBA is entirely independent from the historical host environment of MS-VBA, and aims to achieve and maintain full compatibility with it.

1.0.1 RDCore

RDCore™ is a Language Server (LSP) platform. It is a work in progress, under active development.

Ultimately, the RDCore deliverables are the following six components:

Deliverable Kind Description
🎯 rdc.exe LSP client CLI application A configurable and extensible RD-VBA environment host.
🎯 RDCore.LanguageServer.exe LSP server application The platform's orchestrator language server.
🎯 RDCore.ParseServer.exe Satellite LSP server application The platform's parser. It is owned and coordinated by the main language server, RDCore.LanguageServer.exe.
🎯 RDCore.Diagnostics.exe Core platform extension Issues diagnostics asynchronously to the main language server. See RD-VBAL §1.1.4 Core Diagnostics.
👉 RDCore.Runtime.dll Library An implementation of all the RD-VBA runtime semantics and mechanics, including an implementation of the VBA Standard Library.
🧩 RDCore.SDK.dll Library Exposes the RDCore abstractions, and encapsulates the base RD-VBA language core implementation.

🎯 The RDCore platform shall provide, with the rdc.exe CLI client, the ability to compose, host, analyze, run, and debug any RD-VBA application. See RD-VBAL §2.0 RD-VBA Computational Environment and RD-VBAL §2.3 Application Host.

A fully realized RDCore platform could run RD-VBA CI/CD pipelines, and integrate with enterprise software development lifecycles. See RD-VBAL §4.0 Program Structure and Organization.

1.0.2 RD-VBA

The implementation of the platform's language core, RD-VBA, is a work in progress. Ultimately, RD-VBA:

  • 🎯 aims for strict compliance with the MS-VBAL specifications. Strict compliance is intended to ensure behavioural compatibility with existing VBA semantics.
  • 🧩 elevates VBA into a modern, extensible, and fully open-sourced language platform. RD-VBA separates the VBA language definition from its original 1993 implementation.
  • makes implicit language behaviour explicit. RD-VBA exposes semantic rules, evaluation steps, call stacks, and error conditions as observable facts.

The principles that govern these objectives are described in RD-VBAL §1.1 Design and Extension Philosophy.


⏮️ RD-VBAL Table of Contents | ⏭️ RD-VBAL §1.1 Design and Extension Philosophy