l0n0lc 0.8.1__py3-none-any.whl → 0.8.3__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 CHANGED
@@ -71,6 +71,16 @@ class c函数调用:
71
71
  return f'{self.函数名}({self.参数字符串})'
72
72
 
73
73
 
74
+ class c布尔:
75
+ def __init__(self, v) -> None:
76
+ self.v = v
77
+
78
+ def __str__(self) -> str:
79
+ if self.v:
80
+ return 'true'
81
+ return 'false'
82
+
83
+
74
84
  class py2cpp编译器(ast.NodeVisitor):
75
85
  def __init__(self, 被编译的函数: Callable, c编译器) -> None:
76
86
  self.被编译的函数 = 被编译的函数
@@ -158,6 +168,8 @@ class py2cpp编译器(ast.NodeVisitor):
158
168
 
159
169
  def 获取值(self, value):
160
170
  if isinstance(value, ast.Constant):
171
+ if isinstance(value.value, bool):
172
+ return c布尔(value.value)
161
173
  return value.value
162
174
 
163
175
  if isinstance(value, ast.Name):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: l0n0lc
3
- Version: 0.8.1
3
+ Version: 0.8.3
4
4
  Summary: 一个将python函数翻译为c++函数并运行的jit编译器
5
5
  Classifier: Programming Language :: Python :: 3
6
6
  Requires-Python: >=3.10
@@ -14,48 +14,7 @@ Dynamic: license-file
14
14
  ```
15
15
  pip install l0n0lc
16
16
  ```
17
- ## 2. 运行hello_world.py
18
- ```
19
- uv run tests/hello_world.py
20
- # 输入: b'1\n2\n100\n101\n'
21
- ```
22
- ```bash
23
- 输出map:
24
- c 3
25
- a 1
26
- b 2
27
- 输出list:
28
- 0 134
29
- 1 3
30
- 2 2
31
- Hello World 13 3
32
- test_other_fn 10
33
- test编译的函数 39
34
- 请输入>>>输入的 1 小于等于100
35
- 请输入>>>输入的 2 小于等于100
36
- 请输入>>>输入的 100 小于等于100
37
- 请输入>>>结果: 241
38
-
39
- ```
40
-
41
- ## 3. 查看输出文件
42
- ```bash
43
- ls -al ./l0n0lcoutput
44
- total 96
45
- drwxr-xr-x 2 root root 4096 Sep 12 01:42 .
46
- drwxrwxrwx 11 1000 1000 4096 Sep 12 01:14 ..
47
- -rw-r--r-- 1 root root 1233 Sep 12 01:42 test_add_@3ecbfe0013e83ebc.cpp
48
- -rw-r--r-- 1 root root 246 Sep 12 01:42 test_add_@3ecbfe0013e83ebc.h
49
- -rwxr-xr-x 1 root root 29904 Sep 12 01:42 test_add_@3ecbfe0013e83ebc.so
50
- -rw-r--r-- 1 root root 121 Sep 12 01:42 test_other_fn_@75fdd928ab58a8e3.cpp
51
- -rw-r--r-- 1 root root 93 Sep 12 01:42 test_other_fn_@75fdd928ab58a8e3.h
52
- -rwxr-xr-x 1 root root 15616 Sep 12 01:42 test_other_fn_@75fdd928ab58a8e3.so
53
- -rw-r--r-- 1 root root 185 Sep 12 01:14 test编译的函数_@3bf4501e0408a243.cpp
54
- -rw-r--r-- 1 root root 151 Sep 12 01:14 test编译的函数_@3bf4501e0408a243.h
55
- -rwxr-xr-x 1 root root 15656 Sep 12 01:14 test编译的函数_@3bf4501e0408a243.so
56
-
57
- ```
58
- ## 4. hello_world.py
17
+ ## 2. hello_world.py
59
18
  ```python
60
19
  import l0n0lc as lc
61
20
  import math
@@ -121,7 +80,8 @@ def test_add(a: int, b: int) -> int:
121
80
  print('test_other_fn', test_other_fn(a, b))
122
81
  print('test编译的函数', test编译的函数(a, b))
123
82
  v = 0
124
- while (1):
83
+ vv = True
84
+ while (vv):
125
85
  py_cin(v)
126
86
  if v > 100:
127
87
  break
@@ -133,9 +93,51 @@ def test_add(a: int, b: int) -> int:
133
93
  print('结果:', test_add(1, 3))
134
94
 
135
95
  ```
136
- ## 5. test_add_@3ecbfe0013e83ebc.cpp
96
+
97
+ ## 3. 运行hello_world.py
98
+ ```
99
+ uv run tests/hello_world.py
100
+ # 输入: b'1\n2\n100\n101\n'
101
+ ```
102
+ ```bash
103
+ 输出map:
104
+ c 3
105
+ a 1
106
+ b 2
107
+ 输出list:
108
+ 0 134
109
+ 1 3
110
+ 2 2
111
+ Hello World 13 3
112
+ test_other_fn 10
113
+ test编译的函数 39
114
+ 请输入>>>输入的 1 小于等于100
115
+ 请输入>>>输入的 2 小于等于100
116
+ 请输入>>>输入的 100 小于等于100
117
+ 请输入>>>结果: 241
118
+
119
+ ```
120
+
121
+ ## 4. 查看输出文件
122
+ ```bash
123
+ ls -al ./l0n0lcoutput
124
+ total 96
125
+ drwxr-xr-x 2 root root 4096 Sep 16 01:38 .
126
+ drwxrwxrwx 11 1000 1000 4096 Sep 16 01:36 ..
127
+ -rw-r--r-- 1 root root 1252 Sep 16 01:38 test_add_@05ade4b088e9b383.cpp
128
+ -rw-r--r-- 1 root root 246 Sep 16 01:38 test_add_@05ade4b088e9b383.h
129
+ -rwxr-xr-x 1 root root 29904 Sep 16 01:38 test_add_@05ade4b088e9b383.so
130
+ -rw-r--r-- 1 root root 121 Sep 16 01:38 test_other_fn_@75fdd928ab58a8e3.cpp
131
+ -rw-r--r-- 1 root root 93 Sep 16 01:38 test_other_fn_@75fdd928ab58a8e3.h
132
+ -rwxr-xr-x 1 root root 15616 Sep 16 01:38 test_other_fn_@75fdd928ab58a8e3.so
133
+ -rw-r--r-- 1 root root 185 Sep 16 01:36 test编译的函数_@3bf4501e0408a243.cpp
134
+ -rw-r--r-- 1 root root 151 Sep 16 01:36 test编译的函数_@3bf4501e0408a243.h
135
+ -rwxr-xr-x 1 root root 15656 Sep 16 01:36 test编译的函数_@3bf4501e0408a243.so
136
+
137
+ ```
138
+ ## 5. test_add_@05ade4b088e9b383.cpp
137
139
  ```c++
138
- #include "test_add_@3ecbfe0013e83ebc.h"
140
+ #include "test_add_@05ade4b088e9b383.h"
139
141
  extern "C" int64_t test_add (int64_t a, int64_t b)
140
142
  {
141
143
  if ((a > 1))
@@ -174,7 +176,8 @@ extern "C" int64_t test_add (int64_t a, int64_t b)
174
176
  std::cout<< u8"test_other_fn" << " "<< test_other_fn(a,b) << " "<< std::endl;
175
177
  std::cout<< u8"test编译的函数" << " "<< function_74657374e7bc96e8af91e79a84e587bde695b0(a,b) << " "<< std::endl;
176
178
  auto v = 0;
177
- while (1)
179
+ auto vv = true;
180
+ while (vv)
178
181
  {
179
182
  std::cout << u8"请输入>>>"; std::cin >> v;
180
183
  if ((v > 100))
@@ -192,7 +195,7 @@ extern "C" int64_t test_add (int64_t a, int64_t b)
192
195
  }
193
196
 
194
197
  ```
195
- ## 6. test_add_@3ecbfe0013e83ebc.h
198
+ ## 6. test_add_@05ade4b088e9b383.h
196
199
  ```c++
197
200
  #include "test_other_fn_@75fdd928ab58a8e3.h"
198
201
  #include "test编译的函数_@3bf4501e0408a243.h"
@@ -2,11 +2,11 @@ l0n0lc/StdList.py,sha256=fA6sWAfW2JgDUhQDK2Hlx_PPuSdLwTcCTk5aha4zA-Q,863
2
2
  l0n0lc/StdMap.py,sha256=TIVKqhT078cjLIM0Zlq-TwGFSy-KwOyJe00BLFPVxr8,735
3
3
  l0n0lc/__init__.py,sha256=fUC6TMeN_fEL7HDazrBEdoWOQkXi5uSGZb7LZj6juog,137
4
4
  l0n0lc/c基础处理.py,sha256=FMauoVx4-33JXl4OLpUl1D6NCkLjk6yBH7do9WnT0Wg,5671
5
- l0n0lc/jit.py,sha256=0HFfsFG531wHFwHaEsscJE2RiUe1D9nfutn8CfqWaV4,23676
5
+ l0n0lc/jit.py,sha256=FBGvpIeRINR2QaI4sB6fnsHjAAurHTqk9cJBOzQ_4nk,23936
6
6
  l0n0lc/编译.py,sha256=Ty4gPDHAB1jn8LgnE4w3R06bOAEeYr8iwqahYf6QeHI,2154
7
7
  l0n0lc/通用.py,sha256=O_Y4bbW1WzHCJkibxAy9WGACv-aEZJLG-fEeVBcAbBQ,3649
8
- l0n0lc-0.8.1.dist-info/licenses/LICENSE,sha256=1L-MAjulZ3kpbYwsJtlXpDVITRxykna2Ecg_521YfkA,1093
9
- l0n0lc-0.8.1.dist-info/METADATA,sha256=AUjv6PdArE-jazXeyTCfJH41AmAOlyLyDvn6T9C7q0o,5512
10
- l0n0lc-0.8.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
11
- l0n0lc-0.8.1.dist-info/top_level.txt,sha256=Q21D_eEY_-xgRUPwATGp9YDKSBO4w_7MI2MYxQI1aT4,7
12
- l0n0lc-0.8.1.dist-info/RECORD,,
8
+ l0n0lc-0.8.3.dist-info/licenses/LICENSE,sha256=1L-MAjulZ3kpbYwsJtlXpDVITRxykna2Ecg_521YfkA,1093
9
+ l0n0lc-0.8.3.dist-info/METADATA,sha256=e0DJP_v-J92RjhpLItzAeV_qAzcvEtxHEHBQqEwFbjo,5547
10
+ l0n0lc-0.8.3.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
11
+ l0n0lc-0.8.3.dist-info/top_level.txt,sha256=Q21D_eEY_-xgRUPwATGp9YDKSBO4w_7MI2MYxQI1aT4,7
12
+ l0n0lc-0.8.3.dist-info/RECORD,,
File without changes