Native Function Loader
Implemented in path ./src/vm_core/native, the native functions allow C0VM to do many interesting and useful things (like printing to stdout!).
This documentation will provide detailed explanation on how we transcribe C Native Functions works into TypeScript. We will also show the native functions we planned to implement and our progress on them.
Native Functions
Native functions are lower-level functions that is hard to implement using the C0 code itself / is more efficient if implemented using native code.
In C0VM, there are several categories of the native functions, listed as below:
Status Code:
π’ Supported
π‘ Not Implemented Yet
π΄ No Plan to Implement
Command Line Argument
Receive CLI argument, Parse CLI argument
π‘
Standard I/O
Print content to STDOUT and Receives STDIN
π’
Cursor
Cursor related utility
π΄
Double Arithmetic
double number arithmetic operation
π΄
File I/O
File read/write operations
π΄
Float Arithmetic
float number arithmetic operation
π΄
Image
Image reading, operation and saving
π΄
Parse String
Convert string to data (int, char or boolean)
π’
String Operation
String-related operation like concat etc.
π’
Native Function Implementation
The native function object is defined as above.
The numArgs represent the number of argument the native function will receive.
The functionType stores the name of native function
The f stores the actual native function, which receives a ReactUIHook, a HeapAllocator and several C0Values.
Native Function Loading
Defined in ./src/vm_core/native/native_interface.ts, the function nativeFuncLoader receives an index and returns the corresponding C0Native object.
To call the corresponding native function, use syntax like
Last updated