This commit is contained in:
blueloveTH 2023-02-01 16:56:32 +08:00
parent bf487ef19d
commit 0645e9aa5b
5 changed files with 504 additions and 504 deletions

File diff suppressed because it is too large Load Diff

@ -1 +1 @@
Subproject commit de94780fd098c376d61f84a6b1655758f9b74c17
Subproject commit 82f297a00d351a32467eadb8f91865b8d87d2efd

View File

@ -25,7 +25,7 @@ for n in [4,3,2,1]:
res = []
args(n, [], 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]
name = f'__f_{p_ret}__{"_".join(p_args)}'
# if c_ret == 'const char*':
@ -36,7 +36,7 @@ for n in [4,3,2,1]:
impl = []
for i, p_arg in enumerate(p_args):
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':
impl.append( call_impl + ';' )
impl.append( 'return vm->None;' )

File diff suppressed because it is too large Load Diff

View File

@ -19,7 +19,7 @@ struct Timer{
int main(int argc, char** argv){
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;
std::getline(std::cin, line);
return line.c_str();