Skip to content

a project to translate python code to cpp code

Notifications You must be signed in to change notification settings

fawdlstty/FawPy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FawPy

将Python源码翻译为C艹源码的项目 Python最被大众诟病的主要因素就是速度慢,毕竟虚拟机解释执行,这就从根本上限制了Python无法开发超大型架构的项目,因为项目源码越多,项目就越慢。所以我在此发起这个项目,用于将Python翻译为C艹,给Python提速,使Python也可以自由自在的开发超大型项目而不用考虑速度因素。 原始调用方式比较麻烦,在此简化为web端在线翻译。链接如下:

http://111.230.39.240:4545/tools/fawpy

示例Python代码如下(test1.py):

def fun_a ():
    return 'hello world'

def fun_b (b):
    return b + 1

def fun_c (a, b):
    return a*2-b/3

class cls_a ():
    def fun_cls_d (self):
        return self

if (__name__ == '__main__'):
    a = fun_a ()
    print (a)
    b = fun_b (2)
    print (b)
    c = fun_c (4, 5)
    print (c)

转换后的效果如下所示:

#include <iostream>
#include <string>

auto fun_a () {
    return "hello world";
}

auto fun_b (int b) {
    return (b+1);
}

auto fun_c (int a, int b) {
    return ((a*2)-(b/3));
}

struct cls_a {
    auto fun_cls_d () {
        return this;
    }
};

int main (int argc, char* argv[]) {
    auto a = fun_a ();
    std::cout << a << std::endl;
    auto b = fun_b (2);
    std::cout << b << std::endl;
    auto c = fun_c (4, 5);
    std::cout << c << std::endl;
}

经测试,生成的代码编译成功。目前这个项目是测试版,翻译的不够完美,能翻译的结构有限,问题也较多,也有明确的弱点,比如生成器,截止C艹17还没有这玩意,所以从实现上就比较蛋疼了;另外还有模块的__name=='__main__',etc...

各位大佬如果有什么好的建议及遇到什么问题欢迎提issue,同时也欢迎对这个项目感兴趣的大佬参与进来一起开发。

项目引用的第三方库:

个人博客地址:https://www.fawdlstty.com,欢迎到访。

About

a project to translate python code to cpp code

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published