This commit is contained in:
blueloveTH 2023-07-18 22:44:25 +08:00
parent 5729c0f377
commit 692f3c5266
2 changed files with 45 additions and 3 deletions

34
scripts/genstub.py Normal file
View File

@ -0,0 +1,34 @@
import os
with open('include/pocketpy/pocketpy_c.h') as f:
lines = f.readlines()
a = []
for line in lines:
if line.startswith("PK_EXPORT"):
_, ret, *body = line.split()
else:
continue
body = ' '.join(body)
assert body.endswith(";")
body = body[:-1]
if ret == 'void':
mock_string = ''
else:
mock_string = ' '*4 + ret + ' returnValue;\n return returnValue;'
a.append(
ret + ' ' + body + ' {\n' + mock_string + '\n}\n'
)
with open('src2/pocketpy_c.cpp', 'w') as f:
f.write('''
#include "pocketpy_c.h"
#ifdef _WIN32
#pragma warning(disable: 4700)
#endif
''')
f.write('\n'.join(a))

View File

@ -1,4 +1,3 @@
/* autogenerated code. Do not edit */
#include "pocketpy_c.h" #include "pocketpy_c.h"
@ -12,6 +11,7 @@ pkpy_vm* pkpy_new_vm(bool enable_os) {
} }
void pkpy_delete_vm(pkpy_vm*) { void pkpy_delete_vm(pkpy_vm*) {
} }
bool pkpy_exec(pkpy_vm*, const char* source) { bool pkpy_exec(pkpy_vm*, const char* source) {
@ -24,6 +24,11 @@ bool pkpy_exec_2(pkpy_vm*, const char* source, const char* filename, int mode, c
return returnValue; return returnValue;
} }
bool pkpy_dup(pkpy_vm*, int) {
bool returnValue;
return returnValue;
}
bool pkpy_pop(pkpy_vm*, int) { bool pkpy_pop(pkpy_vm*, int) {
bool returnValue; bool returnValue;
return returnValue; return returnValue;
@ -184,7 +189,7 @@ bool pkpy_get_unbound_method(pkpy_vm*, pkpy_CName) {
return returnValue; return returnValue;
} }
bool pkpy_py_repr(pkpy_vm*, int i) { bool pkpy_py_repr(pkpy_vm*) {
bool returnValue; bool returnValue;
return returnValue; return returnValue;
} }
@ -210,6 +215,7 @@ bool pkpy_vectorcall(pkpy_vm*, int argc) {
} }
void pkpy_free(void* p) { void pkpy_free(void* p) {
} }
pkpy_CString pkpy_string(const char*) { pkpy_CString pkpy_string(const char*) {
@ -228,6 +234,7 @@ pkpy_CString pkpy_name_to_string(pkpy_CName) {
} }
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*, 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) {
@ -241,4 +248,5 @@ bool pkpy_repl_input(void* r, const char* line) {
} }
void pkpy_delete_repl(void* repl) { void pkpy_delete_repl(void* repl) {
} }