基线重置,修复了一些 bug
This commit is contained in:
1 parent
b02bedae9a
commit
45e78ad107
2421 files changed
+13195
-19306
No files matched your search
@@ -1,2 +0,0 @@
|
||||
DEBUG_SERVER_URL=http://127.0.0.1:7777/event
|
||||
DEBUG_SESSION_ID=llvmtype-overwrite-crash
|
||||
+10
-1
@@ -30,6 +30,7 @@ wheels/
|
||||
*.so
|
||||
.transpyc_cache/
|
||||
includes.binary/
|
||||
includes.binary_asan/
|
||||
|
||||
|
||||
# 调试文件
|
||||
@@ -81,4 +82,12 @@ Undo/vmware/
|
||||
/wiki/
|
||||
|
||||
# VRTE
|
||||
/VRTE/
|
||||
/VRTE/
|
||||
|
||||
/.includes_rowptr_bk/
|
||||
/Venom/
|
||||
/ViperOS_/
|
||||
|
||||
/TPVAppBK/
|
||||
/TPVAppBK2/
|
||||
|
||||
@@ -1,160 +0,0 @@
|
||||
#!/usr/bin/env python3
|
||||
# -*- coding: utf-8 -*-
|
||||
"""PROF 综合分析脚本:合并 worker + 主进程 cProfile,输出更有分析价值的报告。
|
||||
|
||||
用法:
|
||||
python PROF/1.py
|
||||
|
||||
输入(PROF/ 目录下,每次编译自动清理并重新生成):
|
||||
worker_prof_*.prof —— worker 子进程每任务 cProfile(Phase2Translator._ProfileWorker)
|
||||
main_prof_*.prof —— 主进程整次编译 cProfile(Projectrans.py 入口)
|
||||
|
||||
输出:
|
||||
1.txt —— 综合报告(总览 + tottime top + cumtime top +
|
||||
热点函数 callers 定位 + 模块聚合)
|
||||
combined_all.raw.prof —— 全部合并原始 profile(snakeviz/gprof2dot 用)
|
||||
combined_worker_cum.txt —— worker cumulative(全量)
|
||||
combined_worker_tottime.txt —— worker tottime(全量)
|
||||
"""
|
||||
import pstats
|
||||
from pathlib import Path
|
||||
|
||||
PROF_DIR = Path(__file__).resolve().parent
|
||||
|
||||
# 关键热点关键词:命中即在 1.txt 中输出其 callers 定位(按实际热点增减)
|
||||
HOT_SPOTS = (
|
||||
'_path_isfile', '_LookupStubFuncType', '_Init', '_TryLoadClassMembersFromPyi',
|
||||
'_TryLoadStructFromStub', 'vast_c.parse', 'finalize', '_LoadSha1Map',
|
||||
'_BuildPyiCacheFile', '_translate_file', 'Convert', 'GenerateCCode',
|
||||
'_build_current_ModuleSha1Map', 'iter_child_nodes', 'read of',
|
||||
'iter_fields', 'walk', '_io.open', '_pickle.loads',
|
||||
)
|
||||
|
||||
|
||||
def _ModuleKey(fname: str) -> str:
|
||||
"""将文件路径归并到顶层模块(lib/xxx.py 或 lib/xxx/yyy.py 的 xxx)。"""
|
||||
parts = fname.replace('\\', '/').split('/')
|
||||
try:
|
||||
i = parts.index('lib')
|
||||
except ValueError:
|
||||
return fname.rsplit('/', 1)[-1]
|
||||
# lib 之后的第一段即模块归属;直接文件则取文件名
|
||||
if i + 1 < len(parts):
|
||||
return parts[i + 1]
|
||||
return parts[-1]
|
||||
|
||||
|
||||
def _AggregateByModule(stats: pstats.Stats) -> list[tuple[str, int, float, float]]:
|
||||
"""按顶层模块聚合 tottime/cumtime(ncalls 取和)。返回按 tottime 降序。"""
|
||||
agg: dict[str, list[float]] = {}
|
||||
for key, val in stats.stats.items():
|
||||
fname = key[0]
|
||||
tt, ct = val[2], val[3]
|
||||
m = _ModuleKey(fname)
|
||||
if m not in agg:
|
||||
agg[m] = [0, 0.0, 0.0] # ncalls, tottime, cumtime
|
||||
agg[m][0] += val[0]
|
||||
agg[m][1] += tt
|
||||
agg[m][2] += ct
|
||||
rows = [(m, *v) for m, v in agg.items()]
|
||||
rows.sort(key=lambda r: r[2], reverse=True)
|
||||
return rows
|
||||
|
||||
|
||||
def _WriteCallers(stats: pstats.Stats, fp, keyword: str) -> None:
|
||||
"""输出含 keyword 的所有函数的 callers(谁在调它,调用次数)。"""
|
||||
hits = [k for k in stats.stats if keyword in k[2]]
|
||||
if not hits:
|
||||
fp.write(f" [无匹配 {keyword!r} 的函数]\n")
|
||||
return
|
||||
for key in sorted(hits, key=lambda k: stats.stats[k][2], reverse=True)[:5]:
|
||||
cc, nc, tt, ct, callers = stats.stats[key]
|
||||
fp.write(f" {key[2]}: tottime={tt:.3f}s cumtime={ct:.3f}s ncalls={nc}\n")
|
||||
if not callers:
|
||||
fp.write(" callers: (无)\n")
|
||||
continue
|
||||
for ckey, ncc in sorted(callers.items(), key=lambda x: x[1], reverse=True)[:8]:
|
||||
fp.write(f" <- {ckey[2]} x{ncc}\n")
|
||||
|
||||
|
||||
def main() -> None:
|
||||
worker_files = sorted(PROF_DIR.glob('worker_prof_*.prof'))
|
||||
main_files = sorted(PROF_DIR.glob('main_prof_*.prof'))
|
||||
all_files = main_files + worker_files
|
||||
if not all_files:
|
||||
raise SystemExit(f'PROF 目录无 .prof 文件: {PROF_DIR}')
|
||||
|
||||
# 合并全部(主进程 + worker)
|
||||
stats = pstats.Stats(str(all_files[0]))
|
||||
for f in all_files[1:]:
|
||||
stats.add(str(f))
|
||||
|
||||
stats.dump_stats(str(PROF_DIR / 'combined_all.raw.prof'))
|
||||
|
||||
# ---- worker 单独的全量 cum / tottime(兼容旧脚本输出) ----
|
||||
if worker_files:
|
||||
wstats = pstats.Stats(str(worker_files[0]))
|
||||
for f in worker_files[1:]:
|
||||
wstats.add(str(f))
|
||||
for name, sort in (('combined_worker_cum.txt', 'cumulative'),
|
||||
('combined_worker_tottime.txt', 'tottime')):
|
||||
with open(PROF_DIR / name, 'w', encoding='utf-8') as fp:
|
||||
wstats.stream = fp
|
||||
wstats.sort_stats(sort)
|
||||
wstats.print_stats()
|
||||
|
||||
# ---- 1.txt 综合报告 ----
|
||||
report = PROF_DIR / '1.txt'
|
||||
total_tt = sum(v[2] for v in stats.stats.values())
|
||||
total_ncalls = sum(v[0] for v in stats.stats.values())
|
||||
with open(report, 'w', encoding='utf-8') as fp:
|
||||
fp.write('=' * 72 + '\n')
|
||||
# 上次编译总耗时(Projectrans.py 入口记录,成功/失败均落盘)
|
||||
time_txt = PROF_DIR / 'main_time.txt'
|
||||
if time_txt.exists():
|
||||
try:
|
||||
_status, _secs = time_txt.read_text(encoding='utf-8').strip().split('\t')
|
||||
fp.write(f'上次编译状态: {_status} 总耗时: {_secs}s\n')
|
||||
except Exception:
|
||||
pass
|
||||
fp.write(f'PROF 综合分析报告 生成时间: {Path(__file__).stat().st_mtime}\n')
|
||||
fp.write(f'主进程 prof: {len(main_files)} 个, worker prof: {len(worker_files)} 个\n')
|
||||
fp.write(f'总函数调用 {total_ncalls} 次, 总 tottime {total_tt:.1f}s\n')
|
||||
fp.write('=' * 72 + '\n\n')
|
||||
|
||||
fp.write('【一】Top 40 热点函数 (tottime = 真实 CPU 消耗, 优先优化)\n')
|
||||
fp.write('-' * 72 + '\n')
|
||||
tmp = pstats.Stats(str(all_files[0]))
|
||||
for f in all_files[1:]:
|
||||
tmp.add(str(f))
|
||||
tmp.stream = fp
|
||||
tmp.sort_stats('tottime')
|
||||
tmp.print_stats(40)
|
||||
fp.write('\n')
|
||||
|
||||
fp.write('【二】Top 20 调用链耗时 (cumtime = 含子调用, 看大流程)\n')
|
||||
fp.write('-' * 72 + '\n')
|
||||
tmp.sort_stats('cumulative')
|
||||
tmp.print_stats(20)
|
||||
fp.write('\n')
|
||||
|
||||
fp.write('【三】热点函数 callers 定位(找出"谁在调用"以定点优化)\n')
|
||||
fp.write('-' * 72 + '\n')
|
||||
for kw in HOT_SPOTS:
|
||||
fp.write(f'\n== {kw} ==\n')
|
||||
_WriteCallers(stats, fp, kw)
|
||||
fp.write('\n')
|
||||
|
||||
fp.write('【四】模块聚合耗时(按顶层模块归类, tottime 降序)\n')
|
||||
fp.write('-' * 72 + '\n')
|
||||
fp.write(f"{'模块':<40}{'ncalls':>10}{'tottime(s)':>12}{'cumtime(s)':>12}\n")
|
||||
for m, nc, tt, ct in _AggregateByModule(stats):
|
||||
fp.write(f'{m:<40}{nc:>10}{tt:>12.2f}{ct:>12.2f}\n')
|
||||
fp.write('\n')
|
||||
|
||||
print(f'报告已生成: {report}')
|
||||
print(f'原始合并: {PROF_DIR / "combined_all.raw.prof"}')
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
@@ -1,14 +0,0 @@
|
||||
import pstats
|
||||
|
||||
for f in ["PROF/main_prof_23800.prof", "PROF/combined_all.raw.prof"]:
|
||||
print("=" * 70)
|
||||
print("FILE:", f)
|
||||
print("=" * 70)
|
||||
try:
|
||||
p = pstats.Stats(f)
|
||||
print("--- cumulative top 35 ---")
|
||||
p.sort_stats("cumulative").print_stats(35)
|
||||
print("--- tottime top 35 ---")
|
||||
p.sort_stats("tottime").print_stats(35)
|
||||
except Exception as e:
|
||||
print("ERROR:", e)
|
||||
@@ -1,62 +0,0 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
"""临时:扫描 .vp 源码中真实可能掉出末尾的函数
|
||||
(有 -> 返回注解、非 extern/export 声明、末句非 return 且非控制流关键字开头)"""
|
||||
import re
|
||||
import glob
|
||||
|
||||
ROOTS = [
|
||||
r"D:\Users\TermiNexus\Desktop\TransPyC\TransPyV\App\lib",
|
||||
r"D:\Users\TermiNexus\Desktop\TransPyC\includes",
|
||||
]
|
||||
|
||||
pat_def = re.compile(r'^(\s*)def (\w+)\(.*\)\s*(->\s*.+)?:')
|
||||
CTRL = ('if', 'match', 'while', 'for', 'try', 'with', 'return', 'raise',
|
||||
'pass', 'def', 'class', 'extern', 'export')
|
||||
total = 0
|
||||
|
||||
for root in ROOTS:
|
||||
for path in sorted(glob.glob(root + r"\**\*.vp", recursive=True)):
|
||||
lines = open(path, encoding='utf-8').read().split('\n')
|
||||
defs = []
|
||||
for i, ln in enumerate(lines):
|
||||
m = pat_def.match(ln)
|
||||
if m:
|
||||
defs.append((i, m.group(2), m.group(3), len(m.group(1))))
|
||||
for idx, (start, name, ret_ann, indent) in enumerate(defs):
|
||||
if not ret_ann:
|
||||
continue
|
||||
ret = ret_ann.strip()
|
||||
# 排除 extern/export 声明(| t.State / | t.CExport)
|
||||
if '| t.State' in ret or '| t.CExport' in ret:
|
||||
continue
|
||||
# 排除 void 返回(-> None / -> t.CVoid:掉出末尾 ret void 合法)
|
||||
if ret in ('-> None', '-> t.CVoid') or ret.startswith('-> t.CVoid |'):
|
||||
continue
|
||||
end = defs[idx + 1][0] if idx + 1 < len(defs) else len(lines)
|
||||
body = lines[start + 1:end]
|
||||
last = None
|
||||
for ln in reversed(body):
|
||||
s = ln.strip()
|
||||
if s and not s.startswith('#'):
|
||||
# 末行缩进必须大于 def 缩进(否则是模块级语句,非函数体)
|
||||
lead = len(ln) - len(ln.lstrip(' '))
|
||||
if lead <= indent:
|
||||
last = None
|
||||
break
|
||||
last = s
|
||||
break
|
||||
if last is None or last.startswith('return'):
|
||||
continue
|
||||
# 排除 docstring 误报(末行是字符串字面量 docstring)
|
||||
if last.startswith('"""') or last.startswith("'''"):
|
||||
continue
|
||||
first = last.split('(', 1)[0].split(' ', 1)[0]
|
||||
# 排除"末句是控制流/声明关键字"(TPV 会正确收尾)
|
||||
if first in CTRL:
|
||||
continue
|
||||
print(f"MISS {path}:L{start+1} def {name} {ret} 末行: {last!r}")
|
||||
total += 1
|
||||
|
||||
print(f"\n共 {total} 个真实掉出候选(有返回注解 + 末句普通语句)")
|
||||
|
||||
|
||||
@@ -1,19 +0,0 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
"""临时:拆解主进程 prof,看 501s 编译时间的分布"""
|
||||
import pstats
|
||||
import sys
|
||||
|
||||
prof = r"D:\Users\TermiNexus\Desktop\TransPyC\PROF\main_prof_64336.prof"
|
||||
st = pstats.Stats(prof)
|
||||
|
||||
print("=" * 72)
|
||||
print("主进程 Top 45 (cumtime, 含子调用)")
|
||||
print("=" * 72)
|
||||
st.sort_stats("cumulative")
|
||||
st.print_stats(45)
|
||||
|
||||
print("=" * 72)
|
||||
print("主进程 Top 30 (tottime, 真实 CPU)")
|
||||
print("=" * 72)
|
||||
st.sort_stats("tottime")
|
||||
st.print_stats(30)
|
||||
@@ -1,23 +0,0 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
"""临时:分析 worker prof,看翻译计算时间分布"""
|
||||
import pstats
|
||||
import glob
|
||||
|
||||
files = sorted(glob.glob(r"D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_*.prof"))
|
||||
print(f"worker prof 数量: {len(files)}")
|
||||
|
||||
rows = []
|
||||
for f in files:
|
||||
st = pstats.Stats(f)
|
||||
# 总时间 = 文件头打印的 in X seconds
|
||||
total = st.total_tt # tottime 总和
|
||||
# 找 _translate_file 的 cumtime
|
||||
tt_file = st.stats.get(('D:\\Users\\TermiNexus\\Desktop\\TransPyC\\lib\\Projectrans\\Phase2Translator.py',
|
||||
1286, '_translate_file'))
|
||||
tf_cum = tt_file[3] if tt_file else 0.0
|
||||
rows.append((tf_cum, total, f))
|
||||
|
||||
rows.sort(reverse=True)
|
||||
print(f"{'worker文件':<45}{'translate_file(s)':>18}{'total_tt(s)':>12}")
|
||||
for tf_cum, total, f in rows[:20]:
|
||||
print(f"{f.split('worker_prof_')[-1]:<45}{tf_cum:>18.2f}{total:>12.2f}")
|
||||
@@ -1,11 +0,0 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
"""临时:单个 worker prof 的 top"""
|
||||
import pstats
|
||||
|
||||
f = r"D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_34852_1.prof"
|
||||
st = pstats.Stats(f)
|
||||
st.sort_stats("cumulative")
|
||||
st.print_stats(25)
|
||||
print("=" * 72)
|
||||
st.sort_stats("tottime")
|
||||
st.print_stats(25)
|
||||
Binary file not shown.
Binary file not shown.
+1
-1
@@ -1 +1 @@
|
||||
失败 6.44
|
||||
成功 167.97
|
||||
@@ -1,26 +0,0 @@
|
||||
import time
|
||||
import sys
|
||||
import os
|
||||
|
||||
|
||||
if "r" in sys.argv:
|
||||
a=time.time()
|
||||
os.system("python Projectrans.py --project TransPyV/project.json --clean --rebuild-includes --clear-cache")
|
||||
b=time.time()
|
||||
print(b-a)
|
||||
|
||||
|
||||
import pstats
|
||||
|
||||
# 读取cprofile二进制文件
|
||||
stats = pstats.Stats("tpc_tpv.prof")
|
||||
|
||||
# 按累计时间排序
|
||||
stats.sort_stats(pstats.SortKey.CUMULATIVE)
|
||||
|
||||
# 将全部统计信息写入文本文件
|
||||
with open("./cprofile.txt", "w", encoding="utf-8") as f:
|
||||
stats.stream = f
|
||||
stats.print_stats()
|
||||
|
||||
# python -m pstats tpc_tpv.prof --sort cumulative --dump cprofile.txt
|
||||
@@ -39,6 +39,8 @@ init_set 构造
|
||||
给 linkedlist 库改成 node 库,或者拆分 linkedlist 库
|
||||
TPV 的 typedef 名是硬编码的,后期尝试修正
|
||||
TPV 再次支持泛型能力检查和字节序
|
||||
不应编码class X[T搜索泛型
|
||||
string的"%"格式化
|
||||
|
||||
TPV 避免虚类问题,参见 ast/base.vp:224行
|
||||
TPV 虚类判断问题,参见 ast/parser.vp:2037行
|
||||
@@ -50,23 +52,23 @@ TPV 虚类判断问题,参见 ast/parser.vp:2037行
|
||||
结构子(反射型 runtime lookup 鸭子(看起来像跑起来像,就是鸭子,愿意))
|
||||
函数前后父子构造钩子
|
||||
元对象协议 MOP 的编译期版本
|
||||
多分派实验
|
||||
Mixin 方法直接调用的合法性静态检查:MixinC2.outer2(c) 用非组合类实例直接调用,编译通过(兜底 this_adjust 前移)但运行期越界——Mixin 方法必须经组合类实例调用。日后"编译器提前报错预警"功能需在调用处验证 self 类型的组合完整性(NoVTableCrossMixinTest Test 2/3 边界)
|
||||
|
||||
# ========== 去除 Handles 层(计划 2026-08-21,StringTest Phase A 字段分裂已修复) ==========
|
||||
# 目标:删除 lib/core/Handles/(32 文件 469 模块函数 98.9% 纯 _g_gen 委托壳),逻辑并入 Gen
|
||||
# 子对象,调用点改 self.Gen.X 真源(防字段分裂),管线经 gen 对象调用,删 _g_gen 注入。
|
||||
# 阶段 0: 基线——StringTest Phase A 修复已验证通过
|
||||
# 阶段 1: 常量/数据类/实体类迁入 Gen(Translator/TypeRegistry/ExprHandle/ExprCallHandle/13 数据类/常量,保留 HT 别名)
|
||||
# 阶段 2A: HandlesType(558)→TypeGen*/ClassGen*/StmtGenCif
|
||||
# 阶段 2B: HandlesStruct(476)→StructGenMixin; HandlesExpr(417)→ExprGen*
|
||||
# 阶段 2C: HandlesVar(269)→VarGenMixin; HandlesExprCall(217)+ExprCall* 6 文件(104 _g_gen 样板)→CallGen*
|
||||
# 阶段 2D: HandlesClassDef(120)→ClassGen*; HandlesImports(84)→ImportsGenMixin; HandlesFunctions(40)→FuncGen*
|
||||
# 阶段 2E: 小模块 Body/Enum/Nonlocal/Return/If/While/For/Match/Assign/AnnAssign/AugAssign/Main/ExprOps/Base/ForHandle* 删除
|
||||
# 阶段 3: 管线入口改造(BuildPipeline/Phase1/2/StubMerger*/VpiReader/Converter ~60-70 处)+ main/BuildPipeline _g_gen 注入块删除
|
||||
# 阶段 4: 删 Handles/ 目录、清 import、全量自举验证(Phase A/B/C)
|
||||
# 风险: 字段分裂铁律(一律 self.Gen.宿主.字段 真源); Translator 395 处 HT 类型注解用别名; 链式调用深度
|
||||
|
||||
多分派实验
|
||||
Mixin 方法直接调用的合法性静态检查:MixinC2.outer2(c) 用非组合类实例直接调用,编译通过(兜底 this_adjust 前移)但运行期越界——Mixin 方法必须经组合类实例调用。日后"编译器提前报错预警"功能需在调用处验证 self 类型的组合完整性(NoVTableCrossMixinTest Test 2/3 边界)
|
||||
|
||||
# ========== 去除 Handles 层(计划 2026-08-21,StringTest Phase A 字段分裂已修复) ==========
|
||||
# 目标:删除 lib/core/Handles/(32 文件 469 模块函数 98.9% 纯 _g_gen 委托壳),逻辑并入 Gen
|
||||
# 子对象,调用点改 self.Gen.X 真源(防字段分裂),管线经 gen 对象调用,删 _g_gen 注入。
|
||||
# 阶段 0: 基线——StringTest Phase A 修复已验证通过
|
||||
# 阶段 1: 常量/数据类/实体类迁入 Gen(Translator/TypeRegistry/ExprHandle/ExprCallHandle/13 数据类/常量,保留 HT 别名)
|
||||
# 阶段 2A: HandlesType(558)→TypeGen*/ClassGen*/StmtGenCif
|
||||
# 阶段 2B: HandlesStruct(476)→StructGenMixin; HandlesExpr(417)→ExprGen*
|
||||
# 阶段 2C: HandlesVar(269)→VarGenMixin; HandlesExprCall(217)+ExprCall* 6 文件(104 _g_gen 样板)→CallGen*
|
||||
# 阶段 2D: HandlesClassDef(120)→ClassGen*; HandlesImports(84)→ImportsGenMixin; HandlesFunctions(40)→FuncGen*
|
||||
# 阶段 2E: 小模块 Body/Enum/Nonlocal/Return/If/While/For/Match/Assign/AnnAssign/AugAssign/Main/ExprOps/Base/ForHandle* 删除
|
||||
# 阶段 3: 管线入口改造(BuildPipeline/Phase1/2/StubMerger*/VpiReader/Converter ~60-70 处)+ main/BuildPipeline _g_gen 注入块删除
|
||||
# 阶段 4: 删 Handles/ 目录、清 import、全量自举验证(Phase A/B/C)
|
||||
# 风险: 字段分裂铁律(一律 self.Gen.宿主.字段 真源); Translator 395 处 HT 类型注解用别名; 链式调用深度
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
t c vipermath _list
|
||||
@@ -1 +0,0 @@
|
||||
t c stdint vqt6._types
|
||||
@@ -1 +0,0 @@
|
||||
t c stdint platmacro memhub string stdio w32.win32base w32 w32.win32process w32 posix
|
||||
@@ -1 +0,0 @@
|
||||
t c stdint w32.win32base w32.win32sync
|
||||
@@ -1 +0,0 @@
|
||||
t c stdint string memhub platmacro
|
||||
@@ -1 +0,0 @@
|
||||
t c stdint
|
||||
@@ -1 +0,0 @@
|
||||
t c stdint memhub string stdio json
|
||||
@@ -1 +0,0 @@
|
||||
t c stdint memhub string json
|
||||
@@ -1 +0,0 @@
|
||||
t c stdint memhub
|
||||
@@ -1 +0,0 @@
|
||||
t c
|
||||
@@ -1,20 +0,0 @@
|
||||
"""Auto-generated Python stub file"""
|
||||
|
||||
|
||||
import t, c
|
||||
def printf(fmt: t.CConst | str, *args) -> int | t.State: pass
|
||||
|
||||
def fprintf(stream: bytes, fmt: t.CConst | str, *args) -> int | t.State: pass
|
||||
|
||||
def sprintf(buf: bytes, fmt: t.CConst | str, *args) -> int | t.State: pass
|
||||
|
||||
def snprintf(buf: bytes, size: t.CSizeT, fmt: t.CConst | str, *args) -> int | t.State: pass
|
||||
|
||||
def puts(s: t.CConst | str) -> int | t.State: pass
|
||||
|
||||
def fputs(s: t.CConst | str, stream: bytes) -> int | t.State: pass
|
||||
|
||||
def fgets(buf: bytes, size: int, stream: bytes) -> bytes | t.State: pass
|
||||
|
||||
def fflush(stream: bytes) -> int | t.State: pass
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
t c stdint
|
||||
@@ -1 +0,0 @@
|
||||
t c stdint w32.win32base w32.win32sync
|
||||
@@ -1 +0,0 @@
|
||||
t c _list
|
||||
@@ -1 +0,0 @@
|
||||
string
|
||||
@@ -1 +0,0 @@
|
||||
t c stdint w32.win32base w32.win32sync
|
||||
@@ -1 +0,0 @@
|
||||
t c stdint platmacro memhub os.path os os._win32 os os._posix os
|
||||
@@ -1 +0,0 @@
|
||||
t c atom
|
||||
@@ -1 +0,0 @@
|
||||
stdio
|
||||
@@ -1 +0,0 @@
|
||||
stdint t
|
||||
@@ -1,18 +0,0 @@
|
||||
"""Auto-generated Python stub file"""
|
||||
|
||||
import c
|
||||
|
||||
from stdint import *
|
||||
import t
|
||||
def malloc(size: t.CSizeT) -> t.CVoid | t.CPtr | t.State: pass
|
||||
|
||||
def calloc(nmemb: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr | t.State: pass
|
||||
|
||||
def realloc(p: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CVoid | t.CPtr | t.State: pass
|
||||
|
||||
def free(p: t.CVoid | t.CPtr) -> t.State: pass
|
||||
|
||||
def system(cmd: t.CConst | t.CChar | t.CPtr) -> INT | t.State: pass
|
||||
|
||||
def exit(status: int) -> t.State: pass
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
t stdint
|
||||
@@ -1 +0,0 @@
|
||||
t c stdint memhub string viperio json.__parser json.__writer
|
||||
@@ -1 +0,0 @@
|
||||
t
|
||||
@@ -1 +0,0 @@
|
||||
t c memhub string stdint
|
||||
@@ -1,27 +0,0 @@
|
||||
"""Auto-generated Python stub file"""
|
||||
|
||||
|
||||
import t, c
|
||||
import memhub
|
||||
import string
|
||||
from stdint import *
|
||||
class list[T]:
|
||||
__data__: t.CVoid | t.CPtr
|
||||
__count__: t.CSizeT
|
||||
__capacity__: t.CSizeT
|
||||
__pool__: memhub.MemManager | t.CPtr
|
||||
__elem_size__: t.CSizeT
|
||||
__iter_index__: t.CSizeT
|
||||
def __new__(self, pool: memhub.MemManager | t.CPtr, elem_size: t.CSizeT): pass
|
||||
def __init__(self, pool: memhub.MemManager | t.CPtr, elem_size: t.CSizeT): pass
|
||||
def __len__(self) -> t.CSizeT: pass
|
||||
def append(self, item: T): pass
|
||||
def get(self, index: t.CSizeT) -> T: pass
|
||||
def __getitem__(self, index: t.CSizeT) -> T: pass
|
||||
def set(self, index: t.CSizeT, value: T): pass
|
||||
def __setitem__(self, index: t.CSizeT, value: T): pass
|
||||
def pop(self) -> T: pass
|
||||
def clear(self): pass
|
||||
def __iter__(self) -> list[T] | t.CPtr: pass
|
||||
def __next__(self) -> T: pass
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
t c stdint platmacro memhub string w32.win32base w32 w32.win32file w32 posix
|
||||
@@ -1 +0,0 @@
|
||||
stdint t c _list
|
||||
@@ -1 +0,0 @@
|
||||
hashlib.__md5 hashlib.__sha1 hashlib.__sha256 hashlib.__sha512
|
||||
@@ -1 +0,0 @@
|
||||
t stdint vqt6._types vqt6._qtcore vqt6._qtwidgets vqt6._qtgui vqt6._qtnetwork _list
|
||||
@@ -1,15 +1,15 @@
|
||||
104b74146bf17483:includes/argparse.vp
|
||||
aa246c6e6aa30484:includes/atom.vp
|
||||
ac87eb59087b9c33:includes/builtins.vp
|
||||
4c1f8f779b98eab9:includes/hashtable.vp
|
||||
2a61eed4abe49e06:includes/memhub.vp
|
||||
f5522571bcce7bcb:includes/stdint.vp
|
||||
285b6aa29a34754d:includes/stdio.vp
|
||||
6c658cc728d0bbf4:includes/stdlib.vp
|
||||
40b053f21c0df07c:includes/string.vp
|
||||
09c0472e6fd0d088:includes/stdio.vp
|
||||
989dba6e92235032:includes/stdlib.vp
|
||||
b8970f3b6886efa6:includes/string.vp
|
||||
7e4672b992208969:includes/memhub.vp
|
||||
104b74146bf17483:includes/argparse.vp
|
||||
748d0424e8976fa0:includes/testcheck.vp
|
||||
001947a1f780bd5f:includes/builtins.vp
|
||||
aa246c6e6aa30484:includes/atom.vp
|
||||
2c175afd85852faf:includes/viperio.vp
|
||||
e710417730391023:includes/w32/win32base.vp
|
||||
e94ef9e139461915:includes/_list.vp
|
||||
4c1f8f779b98eab9:includes/hashtable.vp
|
||||
db613a1bd6a3ca26:includes/w32/win32console.vp
|
||||
7cadfe07e983fd90:includes/_list.vp
|
||||
e710417730391023:includes/w32/win32base.vp
|
||||
356c943c53331be0:main.vp
|
||||
@@ -1 +0,0 @@
|
||||
t c stdint string socket memhub stdio
|
||||
@@ -1 +0,0 @@
|
||||
t c stdint platmacro memhub string w32.win32base w32 w32.win32file w32 w32.win32process w32 w32.win32sync w32 posix
|
||||
@@ -1 +0,0 @@
|
||||
t c _list
|
||||
@@ -1 +0,0 @@
|
||||
t c stdint
|
||||
@@ -1 +0,0 @@
|
||||
t c stdint w32.win32base w32 w32.win32file w32 memhub stdlib
|
||||
@@ -1 +0,0 @@
|
||||
t c stdint w32.win32base w32.win32sync
|
||||
@@ -1 +0,0 @@
|
||||
t c stdint w32.win32base w32.win32process w32.win32sync lock event condition rwlock
|
||||
@@ -1 +0,0 @@
|
||||
t memhub string _list
|
||||
@@ -1 +0,0 @@
|
||||
t c
|
||||
@@ -1 +0,0 @@
|
||||
t c stdint vqt6._types
|
||||
@@ -1 +0,0 @@
|
||||
t c stdint stdio w32.win32base w32 w32.win32file w32
|
||||
@@ -1 +0,0 @@
|
||||
t c stdint posix memhub stdlib
|
||||
@@ -1 +0,0 @@
|
||||
zlib.pyzlib
|
||||
@@ -1 +0,0 @@
|
||||
t c stdint vqt6._types
|
||||
@@ -1 +0,0 @@
|
||||
t c memhub string json stdint _dict
|
||||
@@ -1 +0,0 @@
|
||||
t c stdint vqt6._types
|
||||
@@ -1 +0,0 @@
|
||||
t c stdint string platmacro stdio w32.winsock2 w32
|
||||
@@ -1,27 +1,27 @@
|
||||
34dc6a647fa19b7b:includes/ast/astaux.vp
|
||||
f467978339422f32:includes/ast/base.vp
|
||||
c0def010dcebadb1:includes/ast/exprs.vp
|
||||
688b9c1ad51d7c05:includes/ast/lexer.vp
|
||||
3b2a307c9c7d0129:includes/ast/match.vp
|
||||
6f68d4561b9de7c7:includes/ast/parser.vp
|
||||
46ea1349c980c7f4:includes/ast/stmts.vp
|
||||
eb09ac7f10988a63:includes/ast/tokens.vp
|
||||
35245c385b0ddd7b:includes/ast/__init__.vp
|
||||
aa246c6e6aa30484:includes/atom.vp
|
||||
ac87eb59087b9c33:includes/builtins.vp
|
||||
2a61eed4abe49e06:includes/memhub.vp
|
||||
b57252077e6b596b:includes/platmacro.vp
|
||||
28de517e3820658a:includes/posix.vp
|
||||
71e0a3ffcb3ebfad:includes/stdarg.vp
|
||||
f5522571bcce7bcb:includes/stdint.vp
|
||||
285b6aa29a34754d:includes/stdio.vp
|
||||
6c658cc728d0bbf4:includes/stdlib.vp
|
||||
40b053f21c0df07c:includes/string.vp
|
||||
0c67644125bea0fd:includes/sys.vp
|
||||
2c175afd85852faf:includes/viperio.vp
|
||||
bba983c61a970f7c:includes/viperlib.vp
|
||||
e710417730391023:includes/w32/win32base.vp
|
||||
09c0472e6fd0d088:includes/stdio.vp
|
||||
7e4672b992208969:includes/memhub.vp
|
||||
989dba6e92235032:includes/stdlib.vp
|
||||
93ab1a1df8ba3422:includes/sys.vp
|
||||
b8970f3b6886efa6:includes/string.vp
|
||||
6394599d6a61cabf:includes/ast/__init__.vp
|
||||
db613a1bd6a3ca26:includes/w32/win32console.vp
|
||||
001947a1f780bd5f:includes/builtins.vp
|
||||
aa246c6e6aa30484:includes/atom.vp
|
||||
2c175afd85852faf:includes/viperio.vp
|
||||
e94ef9e139461915:includes/_list.vp
|
||||
b57252077e6b596b:includes/platmacro.vp
|
||||
e710417730391023:includes/w32/win32base.vp
|
||||
652aff7c2e85125c:includes/w32/win32process.vp
|
||||
7cadfe07e983fd90:includes/_list.vp
|
||||
22fa78c72db5c469:includes/posix.vp
|
||||
eb09ac7f10988a63:includes/ast/tokens.vp
|
||||
e9dfb296a8674aee:includes/ast/base.vp
|
||||
4618d74293c6746a:includes/ast/stmts.vp
|
||||
c0def010dcebadb1:includes/ast/exprs.vp
|
||||
34dc6a647fa19b7b:includes/ast/astaux.vp
|
||||
3b2a307c9c7d0129:includes/ast/match.vp
|
||||
43ee0269efffadc3:includes/ast/lexer.vp
|
||||
df83e214ee82d0f3:includes/ast/parser.vp
|
||||
95a546a38b5b6316:includes/viperlib.vp
|
||||
cf900a640e6eeff3:includes/stdarg.vp
|
||||
662151088eb5374c:main.vp
|
||||
@@ -1 +0,0 @@
|
||||
t c vipermath _list
|
||||
@@ -1 +0,0 @@
|
||||
t c stdint vqt6._types
|
||||
@@ -1 +0,0 @@
|
||||
t c stdint platmacro memhub string stdio w32.win32base w32 w32.win32process w32 posix
|
||||
@@ -1 +0,0 @@
|
||||
t c stdint w32.win32base w32.win32sync
|
||||
@@ -1 +0,0 @@
|
||||
t c stdint string memhub platmacro
|
||||
@@ -1 +0,0 @@
|
||||
t c stdint
|
||||
@@ -1 +0,0 @@
|
||||
t c stdint memhub string stdio json
|
||||
@@ -1 +0,0 @@
|
||||
t c stdint memhub string json
|
||||
@@ -1 +0,0 @@
|
||||
t c stdint memhub
|
||||
@@ -1 +0,0 @@
|
||||
t c
|
||||
@@ -1,20 +0,0 @@
|
||||
"""Auto-generated Python stub file"""
|
||||
|
||||
|
||||
import t, c
|
||||
def printf(fmt: t.CConst | str, *args) -> int | t.State: pass
|
||||
|
||||
def fprintf(stream: bytes, fmt: t.CConst | str, *args) -> int | t.State: pass
|
||||
|
||||
def sprintf(buf: bytes, fmt: t.CConst | str, *args) -> int | t.State: pass
|
||||
|
||||
def snprintf(buf: bytes, size: t.CSizeT, fmt: t.CConst | str, *args) -> int | t.State: pass
|
||||
|
||||
def puts(s: t.CConst | str) -> int | t.State: pass
|
||||
|
||||
def fputs(s: t.CConst | str, stream: bytes) -> int | t.State: pass
|
||||
|
||||
def fgets(buf: bytes, size: int, stream: bytes) -> bytes | t.State: pass
|
||||
|
||||
def fflush(stream: bytes) -> int | t.State: pass
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
t c stdint
|
||||
@@ -1 +0,0 @@
|
||||
t c stdint w32.win32base w32.win32sync
|
||||
@@ -1 +0,0 @@
|
||||
t c _list
|
||||
@@ -1 +0,0 @@
|
||||
string
|
||||
@@ -1 +0,0 @@
|
||||
t c stdint w32.win32base w32.win32sync
|
||||
@@ -1 +0,0 @@
|
||||
t c stdint platmacro memhub os.path os os._win32 os os._posix os
|
||||
@@ -1 +0,0 @@
|
||||
t c atom
|
||||
@@ -1 +0,0 @@
|
||||
stdio
|
||||
@@ -1 +0,0 @@
|
||||
stdint t
|
||||
@@ -1,18 +0,0 @@
|
||||
"""Auto-generated Python stub file"""
|
||||
|
||||
import c
|
||||
|
||||
from stdint import *
|
||||
import t
|
||||
def malloc(size: t.CSizeT) -> t.CVoid | t.CPtr | t.State: pass
|
||||
|
||||
def calloc(nmemb: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr | t.State: pass
|
||||
|
||||
def realloc(p: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CVoid | t.CPtr | t.State: pass
|
||||
|
||||
def free(p: t.CVoid | t.CPtr) -> t.State: pass
|
||||
|
||||
def system(cmd: t.CConst | t.CChar | t.CPtr) -> INT | t.State: pass
|
||||
|
||||
def exit(status: int) -> t.State: pass
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
t stdint
|
||||
@@ -1 +0,0 @@
|
||||
t c stdint memhub string viperio json.__parser json.__writer
|
||||
@@ -1 +0,0 @@
|
||||
t
|
||||
@@ -1,14 +0,0 @@
|
||||
"""Auto-generated Python stub file"""
|
||||
|
||||
import c
|
||||
|
||||
import t
|
||||
def va_start(args: t.CPtr, last_arg: t.CPtr) -> t.State: pass
|
||||
|
||||
def va_arg(args: t.CPtr, type: t.CPtr) -> t.CPtr | t.State: pass
|
||||
|
||||
def va_end(args: t.CPtr) -> t.State | t.State: pass
|
||||
|
||||
va_list: t.CTypedef = t.CUnsignedChar | t.CPtr
|
||||
def arg(type: t.CType) -> t.State: pass
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
t c memhub string stdint
|
||||
@@ -1,27 +0,0 @@
|
||||
"""Auto-generated Python stub file"""
|
||||
|
||||
|
||||
import t, c
|
||||
import memhub
|
||||
import string
|
||||
from stdint import *
|
||||
class list[T]:
|
||||
__data__: t.CVoid | t.CPtr
|
||||
__count__: t.CSizeT
|
||||
__capacity__: t.CSizeT
|
||||
__pool__: memhub.MemManager | t.CPtr
|
||||
__elem_size__: t.CSizeT
|
||||
__iter_index__: t.CSizeT
|
||||
def __new__(self, pool: memhub.MemManager | t.CPtr, elem_size: t.CSizeT): pass
|
||||
def __init__(self, pool: memhub.MemManager | t.CPtr, elem_size: t.CSizeT): pass
|
||||
def __len__(self) -> t.CSizeT: pass
|
||||
def append(self, item: T): pass
|
||||
def get(self, index: t.CSizeT) -> T: pass
|
||||
def __getitem__(self, index: t.CSizeT) -> T: pass
|
||||
def set(self, index: t.CSizeT, value: T): pass
|
||||
def __setitem__(self, index: t.CSizeT, value: T): pass
|
||||
def pop(self) -> T: pass
|
||||
def clear(self): pass
|
||||
def __iter__(self) -> list[T] | t.CPtr: pass
|
||||
def __next__(self) -> T: pass
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
t c stdint platmacro memhub string w32.win32base w32 w32.win32file w32 posix
|
||||
@@ -1 +0,0 @@
|
||||
stdint t c _list
|
||||
@@ -1 +0,0 @@
|
||||
hashlib.__md5 hashlib.__sha1 hashlib.__sha256 hashlib.__sha512
|
||||
@@ -1 +0,0 @@
|
||||
t stdint vqt6._types vqt6._qtcore vqt6._qtwidgets vqt6._qtgui vqt6._qtnetwork _list
|
||||
@@ -1,18 +1,18 @@
|
||||
aa246c6e6aa30484:includes/atom.vp
|
||||
ac87eb59087b9c33:includes/builtins.vp
|
||||
2a61eed4abe49e06:includes/memhub.vp
|
||||
71e0a3ffcb3ebfad:includes/stdarg.vp
|
||||
f5522571bcce7bcb:includes/stdint.vp
|
||||
285b6aa29a34754d:includes/stdio.vp
|
||||
6c658cc728d0bbf4:includes/stdlib.vp
|
||||
40b053f21c0df07c:includes/string.vp
|
||||
748d0424e8976fa0:includes/testcheck.vp
|
||||
2c175afd85852faf:includes/viperio.vp
|
||||
bba983c61a970f7c:includes/viperlib.vp
|
||||
e710417730391023:includes/w32/win32base.vp
|
||||
db613a1bd6a3ca26:includes/w32/win32console.vp
|
||||
95a546a38b5b6316:includes/viperlib.vp
|
||||
2c175afd85852faf:includes/viperio.vp
|
||||
989dba6e92235032:includes/stdlib.vp
|
||||
7e4672b992208969:includes/memhub.vp
|
||||
b8970f3b6886efa6:includes/string.vp
|
||||
748d0424e8976fa0:includes/testcheck.vp
|
||||
652aff7c2e85125c:includes/w32/win32process.vp
|
||||
35ffd1374f30cdd6:includes/w32/win32sync.vp
|
||||
7cadfe07e983fd90:includes/_list.vp
|
||||
e710417730391023:includes/w32/win32base.vp
|
||||
001947a1f780bd5f:includes/builtins.vp
|
||||
cf900a640e6eeff3:includes/stdarg.vp
|
||||
aa246c6e6aa30484:includes/atom.vp
|
||||
09c0472e6fd0d088:includes/stdio.vp
|
||||
e94ef9e139461915:includes/_list.vp
|
||||
5e430ae5bf7af3a2:main.vp
|
||||
8efc91cbab0452f0:mbuddytest.vp
|
||||
@@ -1 +0,0 @@
|
||||
t c stdint string socket memhub stdio
|
||||
@@ -1 +0,0 @@
|
||||
t c stdint platmacro memhub string w32.win32base w32 w32.win32file w32 w32.win32process w32 w32.win32sync w32 posix
|
||||
@@ -1 +0,0 @@
|
||||
t c _list
|
||||
@@ -1 +0,0 @@
|
||||
t c stdint
|
||||
@@ -1 +0,0 @@
|
||||
t c stdint w32.win32base w32 w32.win32file w32 memhub stdlib
|
||||
@@ -1 +0,0 @@
|
||||
t c stdint w32.win32base w32.win32sync
|
||||
Loaded 100 of 2421 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user