mirror of
https://github.com/pocketpy/pocketpy
synced 2025-10-20 03:20:18 +00:00
up
This commit is contained in:
parent
bf487ef19d
commit
0645e9aa5b
File diff suppressed because it is too large
Load Diff
@ -1 +1 @@
|
|||||||
Subproject commit de94780fd098c376d61f84a6b1655758f9b74c17
|
Subproject commit 82f297a00d351a32467eadb8f91865b8d87d2efd
|
@ -25,7 +25,7 @@ for n in [4,3,2,1]:
|
|||||||
res = []
|
res = []
|
||||||
args(n, [], res)
|
args(n, [], res)
|
||||||
for p_ret,*p_args in res:
|
for p_ret,*p_args in res:
|
||||||
c_args = ['VM*'] + [mapping[i] for i in p_args]
|
c_args = [mapping[i] for i in p_args]
|
||||||
c_ret = mapping[p_ret]
|
c_ret = mapping[p_ret]
|
||||||
name = f'__f_{p_ret}__{"_".join(p_args)}'
|
name = f'__f_{p_ret}__{"_".join(p_args)}'
|
||||||
# if c_ret == 'const char*':
|
# if c_ret == 'const char*':
|
||||||
@ -36,7 +36,7 @@ for n in [4,3,2,1]:
|
|||||||
impl = []
|
impl = []
|
||||||
for i, p_arg in enumerate(p_args):
|
for i, p_arg in enumerate(p_args):
|
||||||
impl.append( f'{mapping[p_arg]} _{i} = vm->Py{p_arg.capitalize()}_AS_C(args[{i}]);' )
|
impl.append( f'{mapping[p_arg]} _{i} = vm->Py{p_arg.capitalize()}_AS_C(args[{i}]);' )
|
||||||
call_impl = f'f({", ".join(["vm"] + [f"_{j}" for j in range(len(p_args))])})';
|
call_impl = f'f({", ".join([f"_{j}" for j in range(len(p_args))])})';
|
||||||
if p_ret == 'None':
|
if p_ret == 'None':
|
||||||
impl.append( call_impl + ';' )
|
impl.append( call_impl + ';' )
|
||||||
impl.append( 'return vm->None;' )
|
impl.append( 'return vm->None;' )
|
||||||
|
500
src/_bindings.h
500
src/_bindings.h
File diff suppressed because it is too large
Load Diff
@ -19,7 +19,7 @@ struct Timer{
|
|||||||
|
|
||||||
int main(int argc, char** argv){
|
int main(int argc, char** argv){
|
||||||
VM* vm = pkpy_new_vm(true);
|
VM* vm = pkpy_new_vm(true);
|
||||||
pkpy_vm_bind__f_str__(vm, "builtins", "input", [](VM* vm){
|
pkpy_vm_bind__f_str__(vm, "builtins", "input", [](){
|
||||||
static std::string line;
|
static std::string line;
|
||||||
std::getline(std::cin, line);
|
std::getline(std::cin, line);
|
||||||
return line.c_str();
|
return line.c_str();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user