diff --git a/platform/library_msvc.c b/platform/library_msvc.c index c2c54b4..ea7e670 100644 --- a/platform/library_msvc.c +++ b/platform/library_msvc.c @@ -1,5 +1,30 @@ #include "../interpreter.h" -void PlatformLibraryInit() -{ +void MsvcSetupFunc() +{ } + +void CTest (struct ParseState *Parser, struct Value *ReturnValue, struct Value **Param, int NumArgs) +{ + printf("test(%d)\n", Param[0]->Val->Integer); + Param[0]->Val->Integer = 1234; +} + +void CLineNo (struct ParseState *Parser, struct Value *ReturnValue, struct Value **Param, int NumArgs) +{ + ReturnValue->Val->Integer = Parser->Line; +} + +/* list of all library functions and their prototypes */ +struct LibraryFunction MsvcFunctions[] = +{ + { CTest, "void Test(int);" }, + { CLineNo, "int LineNo();" }, + { NULL, NULL } +}; + +void PlatformLibraryInit(Picoc *pc) +{ + IncludeRegister(pc, "picoc_msvc.h", &MsvcSetupFunc, &MsvcFunctions[0], NULL); +} +