l0n0lc 0.9.4__py3-none-any.whl → 0.9.5__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- l0n0lc/jit.py +7 -8
- {l0n0lc-0.9.4.dist-info → l0n0lc-0.9.5.dist-info}/METADATA +15 -15
- {l0n0lc-0.9.4.dist-info → l0n0lc-0.9.5.dist-info}/RECORD +6 -6
- {l0n0lc-0.9.4.dist-info → l0n0lc-0.9.5.dist-info}/WHEEL +0 -0
- {l0n0lc-0.9.4.dist-info → l0n0lc-0.9.5.dist-info}/licenses/LICENSE +0 -0
- {l0n0lc-0.9.4.dist-info → l0n0lc-0.9.5.dist-info}/top_level.txt +0 -0
l0n0lc/jit.py
CHANGED
@@ -103,7 +103,7 @@ class py2cpp编译器(ast.NodeVisitor):
|
|
103
103
|
self.花括号 = 花括号(self)
|
104
104
|
self.正在调用直接函数 = False
|
105
105
|
self.正在构建参数 = False
|
106
|
-
self.include
|
106
|
+
self.include列表 = set(['<cstdint>', '<string>'])
|
107
107
|
self.链接库列表 = set()
|
108
108
|
self.库目录 = set()
|
109
109
|
|
@@ -124,11 +124,10 @@ class py2cpp编译器(ast.NodeVisitor):
|
|
124
124
|
# 读取依赖函数
|
125
125
|
cpps = set([f'{通用信息.工作文件夹地址}/{self.获取cpp文件名()}'])
|
126
126
|
for b in self.依赖函数:
|
127
|
-
self.include
|
127
|
+
self.include列表.add(f'"{b.获取h文件名()}"')
|
128
128
|
cpps.add(f'{通用信息.工作文件夹地址}/{b.获取cpp文件名()}')
|
129
129
|
|
130
130
|
self.将代码保存到文件()
|
131
|
-
self.c编译器.include目录列表 = list(self.include目录)
|
132
131
|
self.c编译器.库目录列表 = list(self.库目录)
|
133
132
|
self.c编译器.链接库 = list(self.链接库列表)
|
134
133
|
输出路径 = f'{通用信息.工作文件夹地址}/{self.获取库文件名()}'
|
@@ -316,7 +315,7 @@ class py2cpp编译器(ast.NodeVisitor):
|
|
316
315
|
c类型 = 通用信息.类型映射表.get(fn)
|
317
316
|
if c类型 is not None:
|
318
317
|
for include目录 in c类型.include目录:
|
319
|
-
self.include
|
318
|
+
self.include列表.add(include目录)
|
320
319
|
for 链接库 in c类型.库列表:
|
321
320
|
self.链接库列表.add(链接库)
|
322
321
|
for 库目录 in c类型.库目录:
|
@@ -335,7 +334,7 @@ class py2cpp编译器(ast.NodeVisitor):
|
|
335
334
|
if 映射函数 is not None:
|
336
335
|
参数列表 = [self.获取值(arg) for arg in node.args]
|
337
336
|
for include目录 in 映射函数.include目录:
|
338
|
-
self.include
|
337
|
+
self.include列表.add(include目录)
|
339
338
|
for 链接库 in 映射函数.库列表:
|
340
339
|
self.链接库列表.add(链接库)
|
341
340
|
for 库目录 in 映射函数.库目录:
|
@@ -532,11 +531,11 @@ class py2cpp编译器(ast.NodeVisitor):
|
|
532
531
|
if isinstance(target, ast.Name):
|
533
532
|
if isinstance(值, dict初始化列表):
|
534
533
|
目标 = StdUnorderedMap(值, target.id, False)
|
535
|
-
self.include
|
534
|
+
self.include列表.add('<unordered_map>')
|
536
535
|
elif isinstance(值, list初始化列表):
|
537
536
|
目标 = StdList(值, target.id, False)
|
538
537
|
if 值.类型 == cpp类型.ANY:
|
539
|
-
self.include
|
538
|
+
self.include列表.add('<any>')
|
540
539
|
else:
|
541
540
|
目标 = c变量('auto', target.id, False)
|
542
541
|
self.添加c代码(目标.初始化(值, c强转类型))
|
@@ -579,7 +578,7 @@ class py2cpp编译器(ast.NodeVisitor):
|
|
579
578
|
return f'extern "C" {self.返回类型} /*{self.函数名}*/ {self.c函数名} ({参数定义文本})'
|
580
579
|
|
581
580
|
def 获取includes(self):
|
582
|
-
include代码列表 = [f'#include {目录}' for 目录 in sorted(self.include
|
581
|
+
include代码列表 = [f'#include {目录}' for 目录 in sorted(self.include列表)]
|
583
582
|
return '\n'.join(include代码列表)
|
584
583
|
|
585
584
|
def 获取h代码(self):
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: l0n0lc
|
3
|
-
Version: 0.9.
|
3
|
+
Version: 0.9.5
|
4
4
|
Summary: 一个将python函数翻译为c++函数并运行的jit编译器
|
5
5
|
Classifier: Programming Language :: Python :: 3
|
6
6
|
Requires-Python: >=3.10
|
@@ -235,20 +235,20 @@ vv: 1
|
|
235
235
|
```bash
|
236
236
|
ls -al ./l0n0lcoutput
|
237
237
|
total 136
|
238
|
-
drwxr-xr-x 2 root root 4096 Sep
|
239
|
-
drwxrwxrwx 11 1000 1000 4096 Sep
|
240
|
-
-rw-r--r-- 1 root root 1811 Sep
|
241
|
-
-rw-r--r-- 1 root root 167 Sep
|
242
|
-
-rwxr-xr-x 1 root root 23584 Sep
|
243
|
-
-rw-r--r-- 1 root root 1531 Sep
|
244
|
-
-rw-r--r-- 1 root root 398 Sep
|
245
|
-
-rwxr-xr-x 1 root root 40408 Sep
|
246
|
-
-rw-r--r-- 1 root root 155 Sep
|
247
|
-
-rw-r--r-- 1 root root 106 Sep
|
248
|
-
-rwxr-xr-x 1 root root 15648 Sep
|
249
|
-
-rw-r--r-- 1 root root 219 Sep
|
250
|
-
-rw-r--r-- 1 root root 164 Sep
|
251
|
-
-rwxr-xr-x 1 root root 15688 Sep
|
238
|
+
drwxr-xr-x 2 root root 4096 Sep 27 02:07 .
|
239
|
+
drwxrwxrwx 11 1000 1000 4096 Sep 27 02:07 ..
|
240
|
+
-rw-r--r-- 1 root root 1811 Sep 27 02:07 c31f68e99ed4ce3c_hello_world.py_jit_all_ops_@7801528c3d61baf7.cpp
|
241
|
+
-rw-r--r-- 1 root root 167 Sep 27 02:07 c31f68e99ed4ce3c_hello_world.py_jit_all_ops_@7801528c3d61baf7.h
|
242
|
+
-rwxr-xr-x 1 root root 23584 Sep 27 02:07 c31f68e99ed4ce3c_hello_world.py_jit_all_ops_@7801528c3d61baf7.so
|
243
|
+
-rw-r--r-- 1 root root 1531 Sep 27 02:07 c31f68e99ed4ce3c_hello_world.py_test_add_@469de6acaaabc570.cpp
|
244
|
+
-rw-r--r-- 1 root root 398 Sep 27 02:07 c31f68e99ed4ce3c_hello_world.py_test_add_@469de6acaaabc570.h
|
245
|
+
-rwxr-xr-x 1 root root 40408 Sep 27 02:07 c31f68e99ed4ce3c_hello_world.py_test_add_@469de6acaaabc570.so
|
246
|
+
-rw-r--r-- 1 root root 155 Sep 27 02:07 c31f68e99ed4ce3c_hello_world.py_test_other_fn_@75fdd928ab58a8e3.cpp
|
247
|
+
-rw-r--r-- 1 root root 106 Sep 27 02:07 c31f68e99ed4ce3c_hello_world.py_test_other_fn_@75fdd928ab58a8e3.h
|
248
|
+
-rwxr-xr-x 1 root root 15648 Sep 27 02:07 c31f68e99ed4ce3c_hello_world.py_test_other_fn_@75fdd928ab58a8e3.so
|
249
|
+
-rw-r--r-- 1 root root 219 Sep 27 02:07 c31f68e99ed4ce3c_hello_world.py_test编译的函数_@3bf4501e0408a243.cpp
|
250
|
+
-rw-r--r-- 1 root root 164 Sep 27 02:07 c31f68e99ed4ce3c_hello_world.py_test编译的函数_@3bf4501e0408a243.h
|
251
|
+
-rwxr-xr-x 1 root root 15688 Sep 27 02:07 c31f68e99ed4ce3c_hello_world.py_test编译的函数_@3bf4501e0408a243.so
|
252
252
|
|
253
253
|
```
|
254
254
|
## 5. c31f68e99ed4ce3c_hello_world.py_jit_all_ops_@7801528c3d61baf7.cpp
|
@@ -2,11 +2,11 @@ l0n0lc/StdList.py,sha256=0NTIpaRrNHaCiLrRbEVob21pZHa8S8rfaBRALPT-tD0,889
|
|
2
2
|
l0n0lc/StdMap.py,sha256=997LCvP0ewNciabbmGHVL2eUgMakHBsR3c5HQmOwC_E,666
|
3
3
|
l0n0lc/__init__.py,sha256=fUC6TMeN_fEL7HDazrBEdoWOQkXi5uSGZb7LZj6juog,137
|
4
4
|
l0n0lc/c基础处理.py,sha256=GrCPZpLsyfQD8XZQhOCb5y8v9NCZ6bU4C_xfJGx-pvQ,5723
|
5
|
-
l0n0lc/jit.py,sha256=
|
5
|
+
l0n0lc/jit.py,sha256=eYgc3XHSisZO4FUdyP3kXfJZRXdgaF0HVZut_ncm7_4,25946
|
6
6
|
l0n0lc/编译.py,sha256=Ty4gPDHAB1jn8LgnE4w3R06bOAEeYr8iwqahYf6QeHI,2154
|
7
7
|
l0n0lc/通用.py,sha256=RkqP9cMhKhl2h4YxOpAWFFftIPXLZTYMyOOD1PuB59M,4630
|
8
|
-
l0n0lc-0.9.
|
9
|
-
l0n0lc-0.9.
|
10
|
-
l0n0lc-0.9.
|
11
|
-
l0n0lc-0.9.
|
12
|
-
l0n0lc-0.9.
|
8
|
+
l0n0lc-0.9.5.dist-info/licenses/LICENSE,sha256=1L-MAjulZ3kpbYwsJtlXpDVITRxykna2Ecg_521YfkA,1093
|
9
|
+
l0n0lc-0.9.5.dist-info/METADATA,sha256=oavi7kZlYONyd1qEiGCSn08XgCQz4H5b8G_GxQQKsfg,10994
|
10
|
+
l0n0lc-0.9.5.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
11
|
+
l0n0lc-0.9.5.dist-info/top_level.txt,sha256=Q21D_eEY_-xgRUPwATGp9YDKSBO4w_7MI2MYxQI1aT4,7
|
12
|
+
l0n0lc-0.9.5.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|