Table of Contents

2.0.1 Supported Languages

An RD-VBA environment host may configure language-level restrictions or extensions, depending on the capabilities of the host application.

A language is identified by a language code. The following list is prioritized:

Language code Definition
VBA The Visual Basic for Applications language as per the MS-VBAL language specification.
VB6 Largely the same language definition as VBA, without the restrictions around attribute semantics, and with a limited set of additional semantics.
VBX Extended RD-VBA. An environment host that signals support for this language code may support semantics that would be illegal in VB6 or VBA.
VBS A diminished language specification that removes Option Explicit and declared types, forcing the use of duck-typing using implicit Variant declarations.
BASIC A diminished language specification that removes procedure scopes (see BASIC below).

VBA is deemed a subset of the VB6 language (see RD-VBAL §3.1.1 Attributes).

The list is not intended to be exhaustive: additional dialects may be supported by different RD-VBA hosts.

BASIC

The BASIC language code removes procedure scopes, and restricts the language as follows:

Construct BASIC restriction
Comments REM is the only comment form. This makes annotations unavailable.
Control flow Line numbers and GoSub/Return are required for control flow.
Loops Do...Loop and Do...While constructs are undefined, forcing the use of While...Wend constructs.

This list of restrictions is not complete.

Scope of the SDK

🎯 The scope of the RDCore SDK minimally covers VBA, then VB6, then VBX, and so on.

👉 The LSP paradigm shift, where an RD-VBA project physically exists in the file system (see RD-VBAL §2.0 RD-VBA Computational Environment), alone brings RD-VBA much closer to how VB6 already works.


⏮️ RD-VBAL §2.0 RD-VBA Computational Environment | ⏭️ RD-VBAL §2.0.2 Client/Server Capabilities