Important
This repository is in a development/prototype state. The code may be incomplete, incompatible with some environments, contain obvious bugs, undocumented parts, and areas with technical debt. Use at your own risk — for production use, it is not recommended to use this code without thorough review and testing.
Warning
May contain elements that are subject to change for the release.
An attempt to implement a Newbie interpreter with syntax more similar to Javascript
| Implemented | Planned |
|---|---|
| Native functions | if-else-while |
| Variables (🐞) | function declarations |
| Integration API (+-) |
Example:
#intern <stdio>
var char ggwp = o
printExample of a native library (.c):
#include "nwb-types.h" // newbie_state define
#include "nwb_native_api.h" // native api for library
#include <stdio.h> // printf
static int my_custom_function(void * State){ // only int and only void * State
RECAST // DON'T REMOVE!!! (Converts void * State -> newbie_state * State)
printf("Moan~~\n");
printf("Btw, current line = %i\n", state->line_counter); // outputs line counter (#1)
return 0; // doesn't play any role
}
NEWBIE_LIB nwb_module_(newbie_state * State){
if (State == NULL) { // simple check
printf("Error: State is NULL\n");
return;
}
newbie_register(State, "ahegao", &my_custom_function); // register function ahegao
}(#1) - not literally a line counter, but the number of variable 'synchronizations' (resync)
Note
This version of the interpreter implementation will not be perfected, as it has deviated from the concept.