From 6d415472e041a0bac02274f3af5e4a13bccbeae6 Mon Sep 17 00:00:00 2001 From: BLUELOVETH Date: Wed, 19 Jul 2023 13:41:25 +0800 Subject: [PATCH] ... --- include/pocketpy/pocketpy_c.h | 36 +++++++------- scripts/genstub.py | 5 +- src2/pocketpy_c.c | 92 +++++++++++++++++------------------ 3 files changed, 68 insertions(+), 65 deletions(-) diff --git a/include/pocketpy/pocketpy_c.h b/include/pocketpy/pocketpy_c.h index 677aacc9..0257f2bf 100644 --- a/include/pocketpy/pocketpy_c.h +++ b/include/pocketpy/pocketpy_c.h @@ -27,35 +27,35 @@ PK_EXPORT bool pkpy_exec(pkpy_vm*, const char* source); PK_EXPORT bool pkpy_exec_2(pkpy_vm*, const char* source, const char* filename, int mode, const char* module); /* Stack Manipulation */ -PK_EXPORT bool pkpy_dup(pkpy_vm*, int); -PK_EXPORT bool pkpy_pop(pkpy_vm*, int); +PK_EXPORT bool pkpy_dup(pkpy_vm*, int i); +PK_EXPORT bool pkpy_pop(pkpy_vm*, int n); PK_EXPORT bool pkpy_pop_top(pkpy_vm*); PK_EXPORT bool pkpy_dup_top(pkpy_vm*); PK_EXPORT bool pkpy_rot_two(pkpy_vm*); PK_EXPORT int pkpy_stack_size(pkpy_vm*); // int -PK_EXPORT bool pkpy_push_int(pkpy_vm*, int); +PK_EXPORT bool pkpy_push_int(pkpy_vm*, int val); PK_EXPORT bool pkpy_is_int(pkpy_vm*, int i); PK_EXPORT bool pkpy_to_int(pkpy_vm*, int i, int* out); // float -PK_EXPORT bool pkpy_push_float(pkpy_vm*, float); +PK_EXPORT bool pkpy_push_float(pkpy_vm*, float val); PK_EXPORT bool pkpy_is_float(pkpy_vm*, int i); PK_EXPORT bool pkpy_to_float(pkpy_vm*, int i, float* out); // bool -PK_EXPORT bool pkpy_push_bool(pkpy_vm*, bool); +PK_EXPORT bool pkpy_push_bool(pkpy_vm*, bool val); PK_EXPORT bool pkpy_is_bool(pkpy_vm*, int i); PK_EXPORT bool pkpy_to_bool(pkpy_vm*, int i, bool* out); // string -PK_EXPORT bool pkpy_push_string(pkpy_vm*, pkpy_CString); +PK_EXPORT bool pkpy_push_string(pkpy_vm*, pkpy_CString val); PK_EXPORT bool pkpy_is_string(pkpy_vm*, int i); PK_EXPORT bool pkpy_to_string(pkpy_vm*, int i, pkpy_CString* out); // void_p -PK_EXPORT bool pkpy_push_voidp(pkpy_vm*, void*); +PK_EXPORT bool pkpy_push_voidp(pkpy_vm*, void* val); PK_EXPORT bool pkpy_is_voidp(pkpy_vm*, int i); PK_EXPORT bool pkpy_to_voidp(pkpy_vm*, int i, void** out); @@ -65,21 +65,21 @@ PK_EXPORT bool pkpy_is_none(pkpy_vm*, int i); // special push PK_EXPORT bool pkpy_push_null(pkpy_vm*); -PK_EXPORT bool pkpy_push_function(pkpy_vm*, const char*, pkpy_CFunction); -PK_EXPORT bool pkpy_push_module(pkpy_vm*, const char*); +PK_EXPORT bool pkpy_push_function(pkpy_vm*, const char* sig, pkpy_CFunction); +PK_EXPORT bool pkpy_push_module(pkpy_vm*, const char* name); // some opt -PK_EXPORT bool pkpy_getattr(pkpy_vm*, pkpy_CName); -PK_EXPORT bool pkpy_setattr(pkpy_vm*, pkpy_CName); -PK_EXPORT bool pkpy_getglobal(pkpy_vm*, pkpy_CName); -PK_EXPORT bool pkpy_setglobal(pkpy_vm*, pkpy_CName); +PK_EXPORT bool pkpy_getattr(pkpy_vm*, pkpy_CName name); +PK_EXPORT bool pkpy_setattr(pkpy_vm*, pkpy_CName name); +PK_EXPORT bool pkpy_getglobal(pkpy_vm*, pkpy_CName name); +PK_EXPORT bool pkpy_setglobal(pkpy_vm*, pkpy_CName name); PK_EXPORT bool pkpy_eval(pkpy_vm*, const char* source); PK_EXPORT bool pkpy_unpack_sequence(pkpy_vm*, int size); -PK_EXPORT bool pkpy_get_unbound_method(pkpy_vm*, pkpy_CName); +PK_EXPORT bool pkpy_get_unbound_method(pkpy_vm*, pkpy_CName name); PK_EXPORT bool pkpy_py_repr(pkpy_vm*); /* Error Handling */ -PK_EXPORT bool pkpy_error(pkpy_vm*, const char* name, pkpy_CString); +PK_EXPORT bool pkpy_error(pkpy_vm*, const char* name, pkpy_CString msg); PK_EXPORT bool pkpy_check_error(pkpy_vm*); PK_EXPORT bool pkpy_clear_error(pkpy_vm*, char** message); @@ -88,9 +88,9 @@ PK_EXPORT bool pkpy_vectorcall(pkpy_vm*, int argc); /* Special APIs */ PK_EXPORT void pkpy_free(void* p); -PK_EXPORT pkpy_CString pkpy_string(const char*); -PK_EXPORT pkpy_CName pkpy_name(const char*); -PK_EXPORT pkpy_CString pkpy_name_to_string(pkpy_CName); +PK_EXPORT pkpy_CString pkpy_string(const char* s); +PK_EXPORT pkpy_CName pkpy_name(const char* s); +PK_EXPORT pkpy_CString pkpy_name_to_string(pkpy_CName name); PK_EXPORT void pkpy_compile_to_string(pkpy_vm*, const char* source, const char* filename, int mode, bool* ok, char** out); /* REPL */ diff --git a/scripts/genstub.py b/scripts/genstub.py index a071a2b2..0ce8aafa 100644 --- a/scripts/genstub.py +++ b/scripts/genstub.py @@ -13,6 +13,9 @@ for line in lines: assert body.endswith(";") body = body[:-1] + if '(pkpy_vm*' in body: + body = body.replace('(pkpy_vm*', '(pkpy_vm* vm') + if ret == 'void': mock_string = '' else: @@ -22,7 +25,7 @@ for line in lines: ret + ' ' + body + ' {\n' + mock_string + '\n}\n' ) -with open('src2/pocketpy_c.cpp', 'w') as f: +with open('src2/pocketpy_c.c', 'w') as f: f.write(''' #include "pocketpy_c.h" diff --git a/src2/pocketpy_c.c b/src2/pocketpy_c.c index b3e13c63..85738be3 100644 --- a/src2/pocketpy_c.c +++ b/src2/pocketpy_c.c @@ -10,206 +10,206 @@ pkpy_vm* pkpy_new_vm(bool enable_os) { return returnValue; } -void pkpy_delete_vm(pkpy_vm*) { +void pkpy_delete_vm(pkpy_vm* vm) { } -bool pkpy_exec(pkpy_vm*, const char* source) { +bool pkpy_exec(pkpy_vm* vm, const char* source) { bool returnValue; return returnValue; } -bool pkpy_exec_2(pkpy_vm*, const char* source, const char* filename, int mode, const char* module) { +bool pkpy_exec_2(pkpy_vm* vm, const char* source, const char* filename, int mode, const char* module) { bool returnValue; return returnValue; } -bool pkpy_dup(pkpy_vm*, int) { +bool pkpy_dup(pkpy_vm* vm, int i) { bool returnValue; return returnValue; } -bool pkpy_pop(pkpy_vm*, int) { +bool pkpy_pop(pkpy_vm* vm, int n) { bool returnValue; return returnValue; } -bool pkpy_pop_top(pkpy_vm*) { +bool pkpy_pop_top(pkpy_vm* vm) { bool returnValue; return returnValue; } -bool pkpy_dup_top(pkpy_vm*) { +bool pkpy_dup_top(pkpy_vm* vm) { bool returnValue; return returnValue; } -bool pkpy_rot_two(pkpy_vm*) { +bool pkpy_rot_two(pkpy_vm* vm) { bool returnValue; return returnValue; } -int pkpy_stack_size(pkpy_vm*) { +int pkpy_stack_size(pkpy_vm* vm) { int returnValue; return returnValue; } -bool pkpy_push_int(pkpy_vm*, int) { +bool pkpy_push_int(pkpy_vm* vm, int val) { bool returnValue; return returnValue; } -bool pkpy_is_int(pkpy_vm*, int i) { +bool pkpy_is_int(pkpy_vm* vm, int i) { bool returnValue; return returnValue; } -bool pkpy_to_int(pkpy_vm*, int i, int* out) { +bool pkpy_to_int(pkpy_vm* vm, int i, int* out) { bool returnValue; return returnValue; } -bool pkpy_push_float(pkpy_vm*, float) { +bool pkpy_push_float(pkpy_vm* vm, float val) { bool returnValue; return returnValue; } -bool pkpy_is_float(pkpy_vm*, int i) { +bool pkpy_is_float(pkpy_vm* vm, int i) { bool returnValue; return returnValue; } -bool pkpy_to_float(pkpy_vm*, int i, float* out) { +bool pkpy_to_float(pkpy_vm* vm, int i, float* out) { bool returnValue; return returnValue; } -bool pkpy_push_bool(pkpy_vm*, bool) { +bool pkpy_push_bool(pkpy_vm* vm, bool val) { bool returnValue; return returnValue; } -bool pkpy_is_bool(pkpy_vm*, int i) { +bool pkpy_is_bool(pkpy_vm* vm, int i) { bool returnValue; return returnValue; } -bool pkpy_to_bool(pkpy_vm*, int i, bool* out) { +bool pkpy_to_bool(pkpy_vm* vm, int i, bool* out) { bool returnValue; return returnValue; } -bool pkpy_push_string(pkpy_vm*, pkpy_CString) { +bool pkpy_push_string(pkpy_vm* vm, pkpy_CString val) { bool returnValue; return returnValue; } -bool pkpy_is_string(pkpy_vm*, int i) { +bool pkpy_is_string(pkpy_vm* vm, int i) { bool returnValue; return returnValue; } -bool pkpy_to_string(pkpy_vm*, int i, pkpy_CString* out) { +bool pkpy_to_string(pkpy_vm* vm, int i, pkpy_CString* out) { bool returnValue; return returnValue; } -bool pkpy_push_voidp(pkpy_vm*, void*) { +bool pkpy_push_voidp(pkpy_vm* vm, void* val) { bool returnValue; return returnValue; } -bool pkpy_is_voidp(pkpy_vm*, int i) { +bool pkpy_is_voidp(pkpy_vm* vm, int i) { bool returnValue; return returnValue; } -bool pkpy_to_voidp(pkpy_vm*, int i, void** out) { +bool pkpy_to_voidp(pkpy_vm* vm, int i, void** out) { bool returnValue; return returnValue; } -bool pkpy_push_none(pkpy_vm*) { +bool pkpy_push_none(pkpy_vm* vm) { bool returnValue; return returnValue; } -bool pkpy_is_none(pkpy_vm*, int i) { +bool pkpy_is_none(pkpy_vm* vm, int i) { bool returnValue; return returnValue; } -bool pkpy_push_null(pkpy_vm*) { +bool pkpy_push_null(pkpy_vm* vm) { bool returnValue; return returnValue; } -bool pkpy_push_function(pkpy_vm*, const char*, pkpy_CFunction) { +bool pkpy_push_function(pkpy_vm* vm, const char* sig, pkpy_CFunction) { bool returnValue; return returnValue; } -bool pkpy_push_module(pkpy_vm*, const char*) { +bool pkpy_push_module(pkpy_vm* vm, const char* name) { bool returnValue; return returnValue; } -bool pkpy_getattr(pkpy_vm*, pkpy_CName) { +bool pkpy_getattr(pkpy_vm* vm, pkpy_CName name) { bool returnValue; return returnValue; } -bool pkpy_setattr(pkpy_vm*, pkpy_CName) { +bool pkpy_setattr(pkpy_vm* vm, pkpy_CName name) { bool returnValue; return returnValue; } -bool pkpy_getglobal(pkpy_vm*, pkpy_CName) { +bool pkpy_getglobal(pkpy_vm* vm, pkpy_CName name) { bool returnValue; return returnValue; } -bool pkpy_setglobal(pkpy_vm*, pkpy_CName) { +bool pkpy_setglobal(pkpy_vm* vm, pkpy_CName name) { bool returnValue; return returnValue; } -bool pkpy_eval(pkpy_vm*, const char* source) { +bool pkpy_eval(pkpy_vm* vm, const char* source) { bool returnValue; return returnValue; } -bool pkpy_unpack_sequence(pkpy_vm*, int size) { +bool pkpy_unpack_sequence(pkpy_vm* vm, int size) { bool returnValue; return returnValue; } -bool pkpy_get_unbound_method(pkpy_vm*, pkpy_CName) { +bool pkpy_get_unbound_method(pkpy_vm* vm, pkpy_CName name) { bool returnValue; return returnValue; } -bool pkpy_py_repr(pkpy_vm*) { +bool pkpy_py_repr(pkpy_vm* vm) { bool returnValue; return returnValue; } -bool pkpy_error(pkpy_vm*, const char* name, pkpy_CString) { +bool pkpy_error(pkpy_vm* vm, const char* name, pkpy_CString msg) { bool returnValue; return returnValue; } -bool pkpy_check_error(pkpy_vm*) { +bool pkpy_check_error(pkpy_vm* vm) { bool returnValue; return returnValue; } -bool pkpy_clear_error(pkpy_vm*, char** message) { +bool pkpy_clear_error(pkpy_vm* vm, char** message) { bool returnValue; return returnValue; } -bool pkpy_vectorcall(pkpy_vm*, int argc) { +bool pkpy_vectorcall(pkpy_vm* vm, int argc) { bool returnValue; return returnValue; } @@ -218,26 +218,26 @@ void pkpy_free(void* p) { } -pkpy_CString pkpy_string(const char*) { +pkpy_CString pkpy_string(const char* s) { pkpy_CString returnValue; return returnValue; } -pkpy_CName pkpy_name(const char*) { +pkpy_CName pkpy_name(const char* s) { pkpy_CName returnValue; return returnValue; } -pkpy_CString pkpy_name_to_string(pkpy_CName) { +pkpy_CString pkpy_name_to_string(pkpy_CName name) { pkpy_CString returnValue; return returnValue; } -void pkpy_compile_to_string(pkpy_vm*, const char* source, const char* filename, int mode, bool* ok, char** out) { +void pkpy_compile_to_string(pkpy_vm* vm, const char* source, const char* filename, int mode, bool* ok, char** out) { } -void* pkpy_new_repl(pkpy_vm* vm) { +void* pkpy_new_repl(pkpy_vm* vm vm) { void* returnValue; return returnValue; }