Skip to content
Kristian Virtanen edited this page Oct 14, 2024 · 8 revisions

Welcome to the SmallBasicOpenEditionDll wiki!

SmallBasicOpenEditionDll is part of a project called SmallBasic Open Edition.

The purpose of the project is to create an interpreter/compiler capable of translating code written for Microsoft SmallBasic into C#. The translated C# code is then compiled into an executable using a C# compiler.

SmallBasicOpenEditionDll.dll aims to replicate the classes and methods of the original smallbasic.dll library that comes with SmallBasic. This helps the interpreter by simplifying the process of translating SmallBasic code into C#.

Achieving 100% compatibility is unlikely, but I expect to get very close to it.

SmallBasicOpenEditionDll.dll is currently fully functional for use in C# programs, but it does not, on its own, process SmallBasic code.

The interpreter will be a separate project, and right now I'm focusing on finalizing this library. There have already been successful "proof of concept" tests for the interpreter, but it's still in a rather chaotic state. I want to finish this library first and then focus on the interpreter and the necessary installation program.

When compiled, SmallBasicOpenEditionDll.dll includes all its dependencies, making it a so-called "single file" compilation.

Once I finish fixing the remaining minor bugs and improve the documentation, I will release the compiled version of the library. Until then, you can download the source code from here as a Visual Studio project. If you download it, make sure to check the paths in the .csproj file to ensure that the necessary files are correctly referenced on your machine.

- Krisu

string.join("krisu", ".virtanen", "@gmai", "l.com")

Project details:

Project Sdk="Microsoft.NET.Sdk" TargetFramework=net8.0-windows8.0< OutputType=Library UseWPF=true UseWindowsForms=true LangVersion=12.0 PublishSingleFile=true SelfContained=false IncludeAllContentForSelfExtract=true TrimUnusedDependencies=true SupportedOSPlatformVersion=8.0 Nullable=enable

Clone this wiki locally