API Reference

The API Reference is spit into Three parts and Compiler and RunTime.

Every thing in UCodeLang in UCodeLang NameSpace

namespace UC = UCodeLang;

Compilation

Types related to compiling and its Output.

NameTypeDescription
CompilerClassThe UCodeLang Compiler.
ModuleFileClassThe UCodeLang Compiler Module System.
UClibClassThe UCodeLang Compiler Output.
UCodeBackEndClassThe BackEnd for the UCodeInterpreter.
C11BackEndClassThe BackEnd to output C Code.
WasmBackEndClassThe BackEnd targeting Wasm.

RunTime

Types related to The UCodeVM/RunTime.

NameTypeDescription
RunTimeLibClassThe BackEnd to output C Code.
UCodeRunTimeClassThe Core UCodeLang Runtime.
AnyInterpreterClassA wapper over Interpreter,JitInterpreter and NativeInterpreter.
InterpreterClassThe Default Interpreter.
JitInterpreterClassThe Jit Interpreter.
NativeInterpreterClassRuns Precompiled Native Code.
IOLinkClassAdds CppCalls for direct access to the file system,network and other IO.
SandBoxedIOLinkClassAdds CppCalls for SandBoxed access to the file system,network and other IO.
UtilityLinkClassAdds CppCalls for everything else that doesn't fit in IO.

Analysis

Types related to The Analyzing UCodeLang ,UCodeLang Output or its Runtime.

NameTypeDescription
ReflectionVectorClassLets you use UCodeLang Vectors in a Easy Way.
ReflectionStringClassLets you use UCodeLang Strings in a Easy Way.

Core

Basic types that UCodeLang Uses stop isn't part of C++17 standard Library.

NameTypeDescription
ResultGeneric classA type holding a returned value or an error code.
NeverNullPtrGeneric classA pointer that should never be null.
NullablePtrGeneric classA pointer that could be null.
VariantGeneric classA wapper over std::variant give it more functions.
SpanGeneric classA contiguous sequence of objects

C API

UCodeLang Has a C API for using UCodeLang in Programming Languages other than C++.

Notes

Many more classes and funcions can be found in UCodeLang but may change may change on a whim its recommended not to used those them if its not documented here.