diff --git a/lib/Projectrans/Config.py b/lib/Projectrans/Config.py index 88ac6d9..7b3788a 100644 --- a/lib/Projectrans/Config.py +++ b/lib/Projectrans/Config.py @@ -147,16 +147,16 @@ def main() -> None: parser.add_argument('--run', action='store_true', help='编译成功后立即执行生成的可执行文件') parser.add_argument('--rebuild-includes', action='store_true', help='删除 includes.binary 预编译缓存并重新编译所有 includes') parser.add_argument('--clear-cache', action='store_true', help='清除 .transpyc_cache 全局缓存(.vpi/.stub.ll/.doc.json)') - parser.add_argument('--asan', action='store_true', help='ASan 模式:对全部 .ll 做 opt -passes=asan 插桩并链接 -fsanitize=address(需 clang64 环境)') + parser.add_argument('--asan', action='store_true', help='ASan 模式:对全部 .ll 做 opt -passes=asan 插桩,并显式链接 clang64 的 ASan 运行库(mingw64 的 clang 没有 x86_64-w64-windows-gnu 目标的 ASan runtime,不能用 -fsanitize=address)') parser.add_argument('--nowarn-register', action='store_true', help='抑制"外部函数返回类型未登记"类 WARN 输出(透传给自举编译的 TransPyV.exe)') args: argparse.Namespace = parser.parse_args() # ASan 模式(--asan):直接经 args 传给 Phase2Translator(compile_ll_to_obj - # 先 opt -passes=asan 插桩,链接追加 -fsanitize=address)。不再用 TPC_ASAN - # 环境变量透传——环境变量在 worker 子进程/外部调用链下不可靠。 + # 先 opt -passes=asan 插桩,链接显式 -l: clang64 的 libclang_rt.asan_dynamic*)。 + # 不再用 TPC_ASAN 环境变量透传——环境变量在 worker 子进程/外部调用链下不可靠。 if args.asan: - _vlog().info('ASan 模式已启用(opt -passes=asan + -fsanitize=address)', 'asan') + _vlog().info('ASan 模式已启用(opt -passes=asan + clang64 libclang_rt.asan_dynamic*)', 'asan') project_file: str | None = args.project if not project_file: @@ -184,6 +184,13 @@ def main() -> None: cc_flags: list[str] = resolved.get('compiler', {}).get('flags', ['-filetype=obj']) slice_level: int = resolved.get('options', {}).get('slice_level', 3) project_include_dirs: list[str] = resolved.get('includes', []) + # includes 只认项目配置:同步到 Phase2Translator.PROJECT_INCLUDE_DIRS, + # 供 builtins.vp 扫描等静态路径在 phase1/2 全程使用(禁止仓库硬编码回退) + try: + from lib.Projectrans.Phase2Translator import Phase2Translator + Phase2Translator.PROJECT_INCLUDE_DIRS = [os.path.abspath(d) for d in project_include_dirs if os.path.isdir(os.path.join(project_dir, d)) or os.path.isdir(d)] + except Exception: + pass target_triple: str | None = resolved.get('target', {}).get('triple') target_datalayout: str | None = resolved.get('target', {}).get('datalayout') @@ -250,11 +257,6 @@ def main() -> None: _vlog().error("阶段一需要指定源目录,不支持文件列表") sys.exit(1) all_include_dirs: list[str] = list(project_include_dirs) if project_include_dirs else [] - for d in Phase2Translator.INCLUDE_DIRS: - if os.path.isdir(d): - d = os.path.abspath(d) - if d not in [os.path.abspath(x) for x in all_include_dirs]: - all_include_dirs.append(d) gen: Phase1Generator = Phase1Generator(src, temp_dir, include_dirs=all_include_dirs, target_triple=target_triple, target_datalayout=target_datalayout) gen.run() save_sha1_map(temp_dir, gen.sha1_map) @@ -286,7 +288,7 @@ def main() -> None: force_recompile_includes: bool = bool(resolved.get('options', {}).get('force_recompile_includes', False)) if args.rebuild_includes: force_recompile_includes = True - all_inc_dirs: list[str] = list(project_include_dirs) + list(Phase2Translator.INCLUDE_DIRS) + all_inc_dirs: list[str] = list(project_include_dirs) seen_dirs: set[str] = set() for inc_dir in all_inc_dirs: abs_inc: str = os.path.abspath(inc_dir) diff --git a/lib/Projectrans/Phase2Translator.py b/lib/Projectrans/Phase2Translator.py index 6eeaf29..752b9da 100644 --- a/lib/Projectrans/Phase2Translator.py +++ b/lib/Projectrans/Phase2Translator.py @@ -37,6 +37,40 @@ def _CachedIsFile(path: str) -> bool: return r +def _FindAsanRuntimeDir() -> str | None: + """定位 clang64 的 ASan 运行库目录(按 LLVM 大版本取最新的那个) + + mingw64 的 clang 只为 x86_64-w64-windows-gnu 目标提供 builtins / fuzzer / + profile / orc 运行库,**没有 ASan runtime**(/lib/ + x86_64-w64-windows-gnu/ 是空目录),所以不能靠 `-fsanitize=address` 让驱动 + 自动去找 —— 那只会得到 + "could not open .../libclang_rt.asan_dynamic.dll.a: No such file or directory"。 + clang64(MSVC ABI) 那边才有 libclang_rt.asan_dynamic-x86_64.dll.a 与 + libclang_rt.asan_dynamic_runtime_thunk-x86_64.a,只能借用这两份。 + + Returns: + 形如 D:\\msys64\\clang64\\lib\\clang\\22\\lib\\windows 的目录;找不到返回 None + """ + root = r'D:\msys64\clang64\lib\clang' + if not os.path.isdir(root): + return None + found: list[str] = [] + for name in os.listdir(root): + cand = os.path.join(root, name, 'lib', 'windows') + if os.path.isfile(os.path.join(cand, 'libclang_rt.asan_dynamic-x86_64.dll.a')): + found.append(cand) + if not found: + return None + + def _Ver(path: str) -> int: + # 目录名是 LLVM 大版本号(如 "22")——按数值比,否则 "9" 会排在 "22" 之后 + v = path.split(os.sep)[-3] + return int(v) if v.isdigit() else 0 + + found.sort(key=_Ver) + return found[-1] + + def _PickWorkerCount(n_files: int, per_worker_mb: int = 350) -> int: """按可用物理内存动态限制并行 worker 数,避免多进程编译内存峰值 OOM。 @@ -565,9 +599,10 @@ class Phase2Translator: INCLUDE_LIB_EXTENSIONS: tuple[str, ...] = ('.dll', '.ll', '.so', '.o', '.a', '.lib') INCLUDE_SRC_EXTENSIONS: tuple[str, ...] = ('.c', '.cpp', '.cc', '.cxx', '.m', '.mm') - INCLUDE_DIRS: list[str] = [ - os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))), 'includes'), - ] + # includes 只认项目配置(project.vpj includes),禁止仓库硬编码回退。 + # INCLUDE_DIRS 保留为空以兼容旧引用;实际目录由 __init__ 写入 PROJECT_INCLUDE_DIRS。 + INCLUDE_DIRS: list[str] = [] + PROJECT_INCLUDE_DIRS: list[str] = [] # include 源文件 sha1/存在性缓存(_build_current_ModuleSha1Map): # 编译期间 include .vp/.py 源文件不变,避免每文件重复 isfile + open + # compute_sha1(PROF 显示 9306 isfile + 4653 open + TextIOWrapper.read @@ -595,13 +630,16 @@ class Phase2Translator: # ASan 模式:由 Config 的 --asan 参数直传(不再用 TPC_ASAN 环境变量, # 环境变量在 worker 子进程/外部调用链下不可靠)。 # 检测 stdlib 堆/栈/全局越界与垃圾指针(MemBuddy pool 内部由 canary 覆盖)。 - # 注意:mingw64 的 clang 不提供 ASan runtime(libclang_rt.asan 缺失), - # 必须使用 clang64 环境(自带 asan_dynamic runtime),PATH 前置 clang64/bin。 + # 注意:mingw64 的 clang 不提供 x86_64-w64-windows-gnu 目标的 ASan runtime, + # 只能借用 clang64(MSVC ABI) 的那两份:PATH 前置 clang64/bin(运行期 DLL), + # 链接时显式 -l: 那两份 .a/.dll.a(见 _FindAsanRuntimeDir 的说明)。 self.asan_mode = asan_mode + self.asan_rt_dir: str | None = None if self.asan_mode: _clang64_bin = r'D:\msys64\clang64\bin' if os.path.isdir(_clang64_bin): os.environ['PATH'] = _clang64_bin + os.pathsep + os.environ.get('PATH', '') + self.asan_rt_dir = _FindAsanRuntimeDir() self.slice_level = 3 self.sha1_map: dict[str, str] = {} self.sig_files: dict[str, str] = {} @@ -652,7 +690,7 @@ class Phase2Translator: self._shared_cross_module_vtable: set[str] = set() self._shared_class_methods: dict[str, list[str]] = {} self._shared_cross_module_novtable: set[str] = set() - default_dirs = [d for d in self.INCLUDE_DIRS if os.path.isdir(d)] + default_dirs: list[str] = [] if include_dirs: seen = set() self.include_dirs = [] @@ -663,6 +701,8 @@ class Phase2Translator: seen.add(d) else: self.include_dirs = default_dirs + # 严格:只认项目 includes;供 builtins.vp 扫描等静态路径使用 + Phase2Translator.PROJECT_INCLUDE_DIRS = list(self.include_dirs) self._LoadSha1Map() def _LoadSha1Map(self) -> None: @@ -1486,6 +1526,10 @@ class Phase2Translator: trans.translator._global_function_default_args = self.function_default_args trans.translator._global_function_param_names = self.function_param_names trans.translator._temp_dir = self.temp_dir + # includes 只认 project.vpj 配置的 include 目录(不再回退仓库 TransPyCRoot/includes): + # 目录重组/缺失时避免声明解析从仓库或 sig 回退路径产生错误时序(memhub 未注册→i32) + _proj_inc = [os.path.abspath(d) for d in self.include_dirs if os.path.isdir(d)] + trans.translator.LibraryPaths = _proj_inc if _proj_inc else ['.'] trans.translator._shared_doc_meta = self._shared_doc_meta # 传递共享 vtable 状态 trans.translator._shared_class_vtable = self._shared_class_vtable @@ -3655,9 +3699,23 @@ SECTIONS { # 其他所有标志(包括 -Wl, 选项)放在目标文件之前 non_lib_flags.append(flag) i += 1 - # ASan 模式:链接 libasan(配合各 .ll 的 opt -passes=asan 插桩) + # ASan 模式:链接 ASan 运行库(配合各 .ll 的 opt -passes=asan 插桩) + # 不能传 -fsanitize=address:那会让 clang++ 驱动去找 + # /lib/x86_64-w64-windows-gnu/libclang_rt.asan_dynamic.dll.a, + # 而该目录是空的(上游 LLVM 不为这个 triple 构建 ASan runtime), + # 直接报 "could not open ... No such file or directory"。 + # 改为显式链接 clang64 的那两份(与 TPV / README §8.1 同口径)。 + # 它们是库,必须排在目标文件之后,所以追加到 lib_flags 而不是 non_lib_flags。 if self.asan_mode: - non_lib_flags.append('-fsanitize=address') + if self.asan_rt_dir is None: + _vlog().error( + "ASan 模式找不到 clang64 的 ASan 运行库目录 " + r"(D:\msys64\clang64\lib\clang\\lib\windows)\n" + " 请确认 msys2 的 mingw-w64-clang-x86_64-compiler-rt 已安装。") + sys.exit(1) + lib_flags.append('-L' + self.asan_rt_dir) + lib_flags.append('-l:libclang_rt.asan_dynamic-x86_64.dll.a') + lib_flags.append('-l:libclang_rt.asan_dynamic_runtime_thunk-x86_64.a') cmd = [self.linker_cmd] + non_lib_flags + ['-o', link_output] + all_link_files + lib_flags _vlog().info(f" 执行: {' '.join(cmd)}") result = subprocess.run( diff --git a/lib/Projectrans/__pycache__/Config.cpython-312.pyc b/lib/Projectrans/__pycache__/Config.cpython-312.pyc index 3c10261..f07b61c 100644 Binary files a/lib/Projectrans/__pycache__/Config.cpython-312.pyc and b/lib/Projectrans/__pycache__/Config.cpython-312.pyc differ diff --git a/lib/Projectrans/__pycache__/DeclarationGenerator.cpython-312.pyc b/lib/Projectrans/__pycache__/DeclarationGenerator.cpython-312.pyc index 491a005..74fcb1d 100644 Binary files a/lib/Projectrans/__pycache__/DeclarationGenerator.cpython-312.pyc and b/lib/Projectrans/__pycache__/DeclarationGenerator.cpython-312.pyc differ diff --git a/lib/Projectrans/__pycache__/DeclarationGenerator.cpython-314.pyc b/lib/Projectrans/__pycache__/DeclarationGenerator.cpython-314.pyc deleted file mode 100644 index 1b185ca..0000000 Binary files a/lib/Projectrans/__pycache__/DeclarationGenerator.cpython-314.pyc and /dev/null differ diff --git a/lib/Projectrans/__pycache__/Phase1Generator.cpython-312.pyc b/lib/Projectrans/__pycache__/Phase1Generator.cpython-312.pyc index 87646aa..9160708 100644 Binary files a/lib/Projectrans/__pycache__/Phase1Generator.cpython-312.pyc and b/lib/Projectrans/__pycache__/Phase1Generator.cpython-312.pyc differ diff --git a/lib/Projectrans/__pycache__/Phase1Generator.cpython-314.pyc b/lib/Projectrans/__pycache__/Phase1Generator.cpython-314.pyc deleted file mode 100644 index a0efc1b..0000000 Binary files a/lib/Projectrans/__pycache__/Phase1Generator.cpython-314.pyc and /dev/null differ diff --git a/lib/Projectrans/__pycache__/Phase2Translator.cpython-312.pyc b/lib/Projectrans/__pycache__/Phase2Translator.cpython-312.pyc index 8fab2f2..336d0a7 100644 Binary files a/lib/Projectrans/__pycache__/Phase2Translator.cpython-312.pyc and b/lib/Projectrans/__pycache__/Phase2Translator.cpython-312.pyc differ diff --git a/lib/Projectrans/__pycache__/Utils.cpython-312.pyc b/lib/Projectrans/__pycache__/Utils.cpython-312.pyc index 785cb4e..d569f97 100644 Binary files a/lib/Projectrans/__pycache__/Utils.cpython-312.pyc and b/lib/Projectrans/__pycache__/Utils.cpython-312.pyc differ diff --git a/lib/Projectrans/__pycache__/Utils.cpython-314.pyc b/lib/Projectrans/__pycache__/Utils.cpython-314.pyc deleted file mode 100644 index a6aad70..0000000 Binary files a/lib/Projectrans/__pycache__/Utils.cpython-314.pyc and /dev/null differ diff --git a/lib/Projectrans/__pycache__/__init__.cpython-312.pyc b/lib/Projectrans/__pycache__/__init__.cpython-312.pyc index 072f07b..78262bd 100644 Binary files a/lib/Projectrans/__pycache__/__init__.cpython-312.pyc and b/lib/Projectrans/__pycache__/__init__.cpython-312.pyc differ diff --git a/lib/Projectrans/__pycache__/__init__.cpython-314.pyc b/lib/Projectrans/__pycache__/__init__.cpython-314.pyc deleted file mode 100644 index e641d0a..0000000 Binary files a/lib/Projectrans/__pycache__/__init__.cpython-314.pyc and /dev/null differ diff --git a/lib/Shell/__pycache__/Config.cpython-312.pyc b/lib/Shell/__pycache__/Config.cpython-312.pyc index 26f3298..a1c5ef6 100644 Binary files a/lib/Shell/__pycache__/Config.cpython-312.pyc and b/lib/Shell/__pycache__/Config.cpython-312.pyc differ diff --git a/lib/Shell/__pycache__/Serializer.cpython-312.pyc b/lib/Shell/__pycache__/Serializer.cpython-312.pyc index 474182f..175b971 100644 Binary files a/lib/Shell/__pycache__/Serializer.cpython-312.pyc and b/lib/Shell/__pycache__/Serializer.cpython-312.pyc differ diff --git a/lib/Shell/__pycache__/TransPyC.cpython-312.pyc b/lib/Shell/__pycache__/TransPyC.cpython-312.pyc index f76b655..e3baa5c 100644 Binary files a/lib/Shell/__pycache__/TransPyC.cpython-312.pyc and b/lib/Shell/__pycache__/TransPyC.cpython-312.pyc differ diff --git a/lib/Shell/__pycache__/__init__.cpython-312.pyc b/lib/Shell/__pycache__/__init__.cpython-312.pyc index d3849f2..b7c5e16 100644 Binary files a/lib/Shell/__pycache__/__init__.cpython-312.pyc and b/lib/Shell/__pycache__/__init__.cpython-312.pyc differ diff --git a/lib/StubGen/__pycache__/Config.cpython-312.pyc b/lib/StubGen/__pycache__/Config.cpython-312.pyc index 79e90f2..5e609a0 100644 Binary files a/lib/StubGen/__pycache__/Config.cpython-312.pyc and b/lib/StubGen/__pycache__/Config.cpython-312.pyc differ diff --git a/lib/StubGen/__pycache__/Converter.cpython-312.pyc b/lib/StubGen/__pycache__/Converter.cpython-312.pyc index aebf6ce..ef40d49 100644 Binary files a/lib/StubGen/__pycache__/Converter.cpython-312.pyc and b/lib/StubGen/__pycache__/Converter.cpython-312.pyc differ diff --git a/lib/StubGen/__pycache__/Generator.cpython-312.pyc b/lib/StubGen/__pycache__/Generator.cpython-312.pyc index 3876906..e862caa 100644 Binary files a/lib/StubGen/__pycache__/Generator.cpython-312.pyc and b/lib/StubGen/__pycache__/Generator.cpython-312.pyc differ diff --git a/lib/StubGen/__pycache__/__init__.cpython-312.pyc b/lib/StubGen/__pycache__/__init__.cpython-312.pyc index 4765718..0972a88 100644 Binary files a/lib/StubGen/__pycache__/__init__.cpython-312.pyc and b/lib/StubGen/__pycache__/__init__.cpython-312.pyc differ diff --git a/lib/__pycache__/__init__.cpython-312.pyc b/lib/__pycache__/__init__.cpython-312.pyc index 2c91f7f..e25f0df 100644 Binary files a/lib/__pycache__/__init__.cpython-312.pyc and b/lib/__pycache__/__init__.cpython-312.pyc differ diff --git a/lib/__pycache__/__init__.cpython-314.pyc b/lib/__pycache__/__init__.cpython-314.pyc deleted file mode 100644 index 440b4d2..0000000 Binary files a/lib/__pycache__/__init__.cpython-314.pyc and /dev/null differ diff --git a/lib/__pycache__/_bootstrap.cpython-312.pyc b/lib/__pycache__/_bootstrap.cpython-312.pyc index 34b10ff..1182097 100644 Binary files a/lib/__pycache__/_bootstrap.cpython-312.pyc and b/lib/__pycache__/_bootstrap.cpython-312.pyc differ diff --git a/lib/__pycache__/_bootstrap.cpython-314.pyc b/lib/__pycache__/_bootstrap.cpython-314.pyc deleted file mode 100644 index 3881889..0000000 Binary files a/lib/__pycache__/_bootstrap.cpython-314.pyc and /dev/null differ diff --git a/lib/constants/__pycache__/__init__.cpython-312.pyc b/lib/constants/__pycache__/__init__.cpython-312.pyc index 270003b..31ab49b 100644 Binary files a/lib/constants/__pycache__/__init__.cpython-312.pyc and b/lib/constants/__pycache__/__init__.cpython-312.pyc differ diff --git a/lib/constants/__pycache__/__init__.cpython-314.pyc b/lib/constants/__pycache__/__init__.cpython-314.pyc deleted file mode 100644 index 779bf98..0000000 Binary files a/lib/constants/__pycache__/__init__.cpython-314.pyc and /dev/null differ diff --git a/lib/constants/__pycache__/config.cpython-312.pyc b/lib/constants/__pycache__/config.cpython-312.pyc index 4028051..adc0e42 100644 Binary files a/lib/constants/__pycache__/config.cpython-312.pyc and b/lib/constants/__pycache__/config.cpython-312.pyc differ diff --git a/lib/constants/__pycache__/config.cpython-314.pyc b/lib/constants/__pycache__/config.cpython-314.pyc deleted file mode 100644 index a14151c..0000000 Binary files a/lib/constants/__pycache__/config.cpython-314.pyc and /dev/null differ diff --git a/lib/core/Handles/HandlesExprFormat.py b/lib/core/Handles/HandlesExprFormat.py index bbbb783..1722395 100644 --- a/lib/core/Handles/HandlesExprFormat.py +++ b/lib/core/Handles/HandlesExprFormat.py @@ -175,10 +175,10 @@ class ExprFormatHandle(BaseHandle): length_mod: str = '' if isinstance(val.type, ir.IntType): + # 32 位**不写**长度修饰符(N14):与 TPV 侧 ExprGenFstr 保持同步。 + # 写 'l' 会在 LP64(long=64 位)下让 printf 按 64 位读取 i32 实参。 if val.type.width == 64: length_mod = 'll' - elif val.type.width == 32: - length_mod = 'l' elif val.type.width == 16: length_mod = 'h' elif val.type.width == 8: diff --git a/lib/core/Handles/HandlesImports.py b/lib/core/Handles/HandlesImports.py index f2d0563..5eb421d 100644 --- a/lib/core/Handles/HandlesImports.py +++ b/lib/core/Handles/HandlesImports.py @@ -581,8 +581,10 @@ class ImportHandle(BaseHandle): HandlesFile = os.path.abspath(inspect.getfile(self.__class__)) TransPyCRoot = os.path.dirname(os.path.dirname(os.path.dirname(os.path.dirname(HandlesFile)))) - FullModulePath = None - SearchDirs = [os.path.join(TransPyCRoot, 'includes'), os.path.join(TransPyCRoot, 'lib', 'includes')] + list(self.Trans.LibraryPaths) + FullModulePath = None + # includes 只认项目(project.vpj includes → LibraryPaths)目录,禁止回退仓库硬编码 + # TransPyCRoot/includes:仓库副本缺失时回退会造成声明解析时序错乱(memhub 未注册→i32)。 + SearchDirs = list(self.Trans.LibraryPaths) for LibPath in SearchDirs: SearchPath = os.path.join(ProjectRoot, LibPath) if not os.path.isabs(LibPath) else LibPath @@ -613,7 +615,7 @@ class ImportHandle(BaseHandle): if not FullModulePath: ModulePathPyBase = module_name.replace('.', os.sep) PackageInitPathPyBase = module_name.replace('.', os.sep) + os.sep + '__init__' - SearchDirsForPy = [os.path.join(TransPyCRoot, 'includes'), os.path.join(TransPyCRoot, 'lib', 'includes')] + list(self.Trans.LibraryPaths) + SearchDirsForPy = list(self.Trans.LibraryPaths) for LibPath in SearchDirsForPy: SearchPath = os.path.join(ProjectRoot, LibPath) if not os.path.isabs(LibPath) else LibPath # 优先尝试 .vp,回退 .py @@ -649,7 +651,7 @@ class ImportHandle(BaseHandle): SearchFromDirs = [CurrentFileDir, os.getcwd()] else: SearchFromDirs = [os.getcwd()] - SearchDirsForSubmodule = SearchFromDirs + [os.path.join(TransPyCRoot, 'includes'), os.path.join(TransPyCRoot, 'lib', 'includes')] + list(self.Trans.LibraryPaths) + SearchDirsForSubmodule = SearchFromDirs + list(self.Trans.LibraryPaths) for SearchPath in SearchDirsForSubmodule: if not os.path.isdir(SearchPath): continue diff --git a/lib/core/Handles/__pycache__/HandlesAnnAssign.cpython-312.pyc b/lib/core/Handles/__pycache__/HandlesAnnAssign.cpython-312.pyc index bf9b245..ae45865 100644 Binary files a/lib/core/Handles/__pycache__/HandlesAnnAssign.cpython-312.pyc and b/lib/core/Handles/__pycache__/HandlesAnnAssign.cpython-312.pyc differ diff --git a/lib/core/Handles/__pycache__/HandlesAssert.cpython-312.pyc b/lib/core/Handles/__pycache__/HandlesAssert.cpython-312.pyc index bac29f3..9120c7f 100644 Binary files a/lib/core/Handles/__pycache__/HandlesAssert.cpython-312.pyc and b/lib/core/Handles/__pycache__/HandlesAssert.cpython-312.pyc differ diff --git a/lib/core/Handles/__pycache__/HandlesAssign.cpython-312.pyc b/lib/core/Handles/__pycache__/HandlesAssign.cpython-312.pyc index 6fdb5cb..ff52003 100644 Binary files a/lib/core/Handles/__pycache__/HandlesAssign.cpython-312.pyc and b/lib/core/Handles/__pycache__/HandlesAssign.cpython-312.pyc differ diff --git a/lib/core/Handles/__pycache__/HandlesAsyncFunctions.cpython-312.pyc b/lib/core/Handles/__pycache__/HandlesAsyncFunctions.cpython-312.pyc index 0b0e3ff..b2619f9 100644 Binary files a/lib/core/Handles/__pycache__/HandlesAsyncFunctions.cpython-312.pyc and b/lib/core/Handles/__pycache__/HandlesAsyncFunctions.cpython-312.pyc differ diff --git a/lib/core/Handles/__pycache__/HandlesAugAssign.cpython-312.pyc b/lib/core/Handles/__pycache__/HandlesAugAssign.cpython-312.pyc index 56cd880..c1fae3b 100644 Binary files a/lib/core/Handles/__pycache__/HandlesAugAssign.cpython-312.pyc and b/lib/core/Handles/__pycache__/HandlesAugAssign.cpython-312.pyc differ diff --git a/lib/core/Handles/__pycache__/HandlesBase.cpython-312.pyc b/lib/core/Handles/__pycache__/HandlesBase.cpython-312.pyc index 8edc706..cee4661 100644 Binary files a/lib/core/Handles/__pycache__/HandlesBase.cpython-312.pyc and b/lib/core/Handles/__pycache__/HandlesBase.cpython-312.pyc differ diff --git a/lib/core/Handles/__pycache__/HandlesBody.cpython-312.pyc b/lib/core/Handles/__pycache__/HandlesBody.cpython-312.pyc index 1c67dde..685a34a 100644 Binary files a/lib/core/Handles/__pycache__/HandlesBody.cpython-312.pyc and b/lib/core/Handles/__pycache__/HandlesBody.cpython-312.pyc differ diff --git a/lib/core/Handles/__pycache__/HandlesClassDef.cpython-312.pyc b/lib/core/Handles/__pycache__/HandlesClassDef.cpython-312.pyc index e672483..25f0f62 100644 Binary files a/lib/core/Handles/__pycache__/HandlesClassDef.cpython-312.pyc and b/lib/core/Handles/__pycache__/HandlesClassDef.cpython-312.pyc differ diff --git a/lib/core/Handles/__pycache__/HandlesDelete.cpython-312.pyc b/lib/core/Handles/__pycache__/HandlesDelete.cpython-312.pyc index 1c1fac9..0dd5fc4 100644 Binary files a/lib/core/Handles/__pycache__/HandlesDelete.cpython-312.pyc and b/lib/core/Handles/__pycache__/HandlesDelete.cpython-312.pyc differ diff --git a/lib/core/Handles/__pycache__/HandlesExpr.cpython-312.pyc b/lib/core/Handles/__pycache__/HandlesExpr.cpython-312.pyc index 3049d9c..c89a35e 100644 Binary files a/lib/core/Handles/__pycache__/HandlesExpr.cpython-312.pyc and b/lib/core/Handles/__pycache__/HandlesExpr.cpython-312.pyc differ diff --git a/lib/core/Handles/__pycache__/HandlesExprAsm.cpython-312.pyc b/lib/core/Handles/__pycache__/HandlesExprAsm.cpython-312.pyc index 157cf0f..80cb1fc 100644 Binary files a/lib/core/Handles/__pycache__/HandlesExprAsm.cpython-312.pyc and b/lib/core/Handles/__pycache__/HandlesExprAsm.cpython-312.pyc differ diff --git a/lib/core/Handles/__pycache__/HandlesExprAttr.cpython-312.pyc b/lib/core/Handles/__pycache__/HandlesExprAttr.cpython-312.pyc index 33ca247..d4da88f 100644 Binary files a/lib/core/Handles/__pycache__/HandlesExprAttr.cpython-312.pyc and b/lib/core/Handles/__pycache__/HandlesExprAttr.cpython-312.pyc differ diff --git a/lib/core/Handles/__pycache__/HandlesExprBuiltin.cpython-312.pyc b/lib/core/Handles/__pycache__/HandlesExprBuiltin.cpython-312.pyc index 9306074..6739466 100644 Binary files a/lib/core/Handles/__pycache__/HandlesExprBuiltin.cpython-312.pyc and b/lib/core/Handles/__pycache__/HandlesExprBuiltin.cpython-312.pyc differ diff --git a/lib/core/Handles/__pycache__/HandlesExprCall.cpython-312.pyc b/lib/core/Handles/__pycache__/HandlesExprCall.cpython-312.pyc index b4e4a2d..8297f36 100644 Binary files a/lib/core/Handles/__pycache__/HandlesExprCall.cpython-312.pyc and b/lib/core/Handles/__pycache__/HandlesExprCall.cpython-312.pyc differ diff --git a/lib/core/Handles/__pycache__/HandlesExprFormat.cpython-312.pyc b/lib/core/Handles/__pycache__/HandlesExprFormat.cpython-312.pyc index c6c8019..e687387 100644 Binary files a/lib/core/Handles/__pycache__/HandlesExprFormat.cpython-312.pyc and b/lib/core/Handles/__pycache__/HandlesExprFormat.cpython-312.pyc differ diff --git a/lib/core/Handles/__pycache__/HandlesExprLambda.cpython-312.pyc b/lib/core/Handles/__pycache__/HandlesExprLambda.cpython-312.pyc index 0fd4719..5411cb6 100644 Binary files a/lib/core/Handles/__pycache__/HandlesExprLambda.cpython-312.pyc and b/lib/core/Handles/__pycache__/HandlesExprLambda.cpython-312.pyc differ diff --git a/lib/core/Handles/__pycache__/HandlesExprOps.cpython-312.pyc b/lib/core/Handles/__pycache__/HandlesExprOps.cpython-312.pyc index 6ac96f9..117e322 100644 Binary files a/lib/core/Handles/__pycache__/HandlesExprOps.cpython-312.pyc and b/lib/core/Handles/__pycache__/HandlesExprOps.cpython-312.pyc differ diff --git a/lib/core/Handles/__pycache__/HandlesExprUtils.cpython-312.pyc b/lib/core/Handles/__pycache__/HandlesExprUtils.cpython-312.pyc index d1100b3..8fcaa5d 100644 Binary files a/lib/core/Handles/__pycache__/HandlesExprUtils.cpython-312.pyc and b/lib/core/Handles/__pycache__/HandlesExprUtils.cpython-312.pyc differ diff --git a/lib/core/Handles/__pycache__/HandlesFor.cpython-312.pyc b/lib/core/Handles/__pycache__/HandlesFor.cpython-312.pyc index 93de645..e6b2a2d 100644 Binary files a/lib/core/Handles/__pycache__/HandlesFor.cpython-312.pyc and b/lib/core/Handles/__pycache__/HandlesFor.cpython-312.pyc differ diff --git a/lib/core/Handles/__pycache__/HandlesFunctions.cpython-312.pyc b/lib/core/Handles/__pycache__/HandlesFunctions.cpython-312.pyc index 6d077e7..ed7433f 100644 Binary files a/lib/core/Handles/__pycache__/HandlesFunctions.cpython-312.pyc and b/lib/core/Handles/__pycache__/HandlesFunctions.cpython-312.pyc differ diff --git a/lib/core/Handles/__pycache__/HandlesIf.cpython-312.pyc b/lib/core/Handles/__pycache__/HandlesIf.cpython-312.pyc index e9779da..168d5e7 100644 Binary files a/lib/core/Handles/__pycache__/HandlesIf.cpython-312.pyc and b/lib/core/Handles/__pycache__/HandlesIf.cpython-312.pyc differ diff --git a/lib/core/Handles/__pycache__/HandlesImports.cpython-312.pyc b/lib/core/Handles/__pycache__/HandlesImports.cpython-312.pyc index eecd39b..c7a2ab3 100644 Binary files a/lib/core/Handles/__pycache__/HandlesImports.cpython-312.pyc and b/lib/core/Handles/__pycache__/HandlesImports.cpython-312.pyc differ diff --git a/lib/core/Handles/__pycache__/HandlesMatch.cpython-312.pyc b/lib/core/Handles/__pycache__/HandlesMatch.cpython-312.pyc index 11abae4..51a9df4 100644 Binary files a/lib/core/Handles/__pycache__/HandlesMatch.cpython-312.pyc and b/lib/core/Handles/__pycache__/HandlesMatch.cpython-312.pyc differ diff --git a/lib/core/Handles/__pycache__/HandlesRaise.cpython-312.pyc b/lib/core/Handles/__pycache__/HandlesRaise.cpython-312.pyc index 197610e..acc156b 100644 Binary files a/lib/core/Handles/__pycache__/HandlesRaise.cpython-312.pyc and b/lib/core/Handles/__pycache__/HandlesRaise.cpython-312.pyc differ diff --git a/lib/core/Handles/__pycache__/HandlesReturn.cpython-312.pyc b/lib/core/Handles/__pycache__/HandlesReturn.cpython-312.pyc index 92b7baf..bc0843d 100644 Binary files a/lib/core/Handles/__pycache__/HandlesReturn.cpython-312.pyc and b/lib/core/Handles/__pycache__/HandlesReturn.cpython-312.pyc differ diff --git a/lib/core/Handles/__pycache__/HandlesSpecialCall.cpython-312.pyc b/lib/core/Handles/__pycache__/HandlesSpecialCall.cpython-312.pyc index 9ca86c4..77c2b8b 100644 Binary files a/lib/core/Handles/__pycache__/HandlesSpecialCall.cpython-312.pyc and b/lib/core/Handles/__pycache__/HandlesSpecialCall.cpython-312.pyc differ diff --git a/lib/core/Handles/__pycache__/HandlesTry.cpython-312.pyc b/lib/core/Handles/__pycache__/HandlesTry.cpython-312.pyc index b88a00a..2a6e7c8 100644 Binary files a/lib/core/Handles/__pycache__/HandlesTry.cpython-312.pyc and b/lib/core/Handles/__pycache__/HandlesTry.cpython-312.pyc differ diff --git a/lib/core/Handles/__pycache__/HandlesTypeMerge.cpython-312.pyc b/lib/core/Handles/__pycache__/HandlesTypeMerge.cpython-312.pyc index 4860ce9..ab351e6 100644 Binary files a/lib/core/Handles/__pycache__/HandlesTypeMerge.cpython-312.pyc and b/lib/core/Handles/__pycache__/HandlesTypeMerge.cpython-312.pyc differ diff --git a/lib/core/Handles/__pycache__/HandlesWhile.cpython-312.pyc b/lib/core/Handles/__pycache__/HandlesWhile.cpython-312.pyc index 651f102..2fbbf7f 100644 Binary files a/lib/core/Handles/__pycache__/HandlesWhile.cpython-312.pyc and b/lib/core/Handles/__pycache__/HandlesWhile.cpython-312.pyc differ diff --git a/lib/core/Handles/__pycache__/HandlesWith.cpython-312.pyc b/lib/core/Handles/__pycache__/HandlesWith.cpython-312.pyc index 4d604a6..464f4fa 100644 Binary files a/lib/core/Handles/__pycache__/HandlesWith.cpython-312.pyc and b/lib/core/Handles/__pycache__/HandlesWith.cpython-312.pyc differ diff --git a/lib/core/Handles/__pycache__/__init__.cpython-312.pyc b/lib/core/Handles/__pycache__/__init__.cpython-312.pyc index 4e4149d..5ae1dfa 100644 Binary files a/lib/core/Handles/__pycache__/__init__.cpython-312.pyc and b/lib/core/Handles/__pycache__/__init__.cpython-312.pyc differ diff --git a/lib/core/LLVMCG/__pycache__/BaseGen.cpython-312.pyc b/lib/core/LLVMCG/__pycache__/BaseGen.cpython-312.pyc index 3696f63..91cd788 100644 Binary files a/lib/core/LLVMCG/__pycache__/BaseGen.cpython-312.pyc and b/lib/core/LLVMCG/__pycache__/BaseGen.cpython-312.pyc differ diff --git a/lib/core/LLVMCG/__pycache__/ExprGen.cpython-312.pyc b/lib/core/LLVMCG/__pycache__/ExprGen.cpython-312.pyc index 11a4433..eee4a72 100644 Binary files a/lib/core/LLVMCG/__pycache__/ExprGen.cpython-312.pyc and b/lib/core/LLVMCG/__pycache__/ExprGen.cpython-312.pyc differ diff --git a/lib/core/LLVMCG/__pycache__/FuncGen.cpython-312.pyc b/lib/core/LLVMCG/__pycache__/FuncGen.cpython-312.pyc index 7e8d390..8c4f143 100644 Binary files a/lib/core/LLVMCG/__pycache__/FuncGen.cpython-312.pyc and b/lib/core/LLVMCG/__pycache__/FuncGen.cpython-312.pyc differ diff --git a/lib/core/LLVMCG/__pycache__/MemoryOps.cpython-312.pyc b/lib/core/LLVMCG/__pycache__/MemoryOps.cpython-312.pyc index 5826b98..974944b 100644 Binary files a/lib/core/LLVMCG/__pycache__/MemoryOps.cpython-312.pyc and b/lib/core/LLVMCG/__pycache__/MemoryOps.cpython-312.pyc differ diff --git a/lib/core/LLVMCG/__pycache__/StructGen.cpython-312.pyc b/lib/core/LLVMCG/__pycache__/StructGen.cpython-312.pyc index 0fc9334..ea5ce2d 100644 Binary files a/lib/core/LLVMCG/__pycache__/StructGen.cpython-312.pyc and b/lib/core/LLVMCG/__pycache__/StructGen.cpython-312.pyc differ diff --git a/lib/core/LLVMCG/__pycache__/TypeConvert.cpython-312.pyc b/lib/core/LLVMCG/__pycache__/TypeConvert.cpython-312.pyc index f978390..f03a4b6 100644 Binary files a/lib/core/LLVMCG/__pycache__/TypeConvert.cpython-312.pyc and b/lib/core/LLVMCG/__pycache__/TypeConvert.cpython-312.pyc differ diff --git a/lib/core/LLVMCG/__pycache__/VaArg.cpython-312.pyc b/lib/core/LLVMCG/__pycache__/VaArg.cpython-312.pyc index 5154d74..f845416 100644 Binary files a/lib/core/LLVMCG/__pycache__/VaArg.cpython-312.pyc and b/lib/core/LLVMCG/__pycache__/VaArg.cpython-312.pyc differ diff --git a/lib/core/LLVMCG/__pycache__/__init__.cpython-312.pyc b/lib/core/LLVMCG/__pycache__/__init__.cpython-312.pyc index b3d7e89..732bb71 100644 Binary files a/lib/core/LLVMCG/__pycache__/__init__.cpython-312.pyc and b/lib/core/LLVMCG/__pycache__/__init__.cpython-312.pyc differ diff --git a/lib/core/Translator/__pycache__/AnnotationLoader.cpython-312.pyc b/lib/core/Translator/__pycache__/AnnotationLoader.cpython-312.pyc index aabeac5..b189496 100644 Binary files a/lib/core/Translator/__pycache__/AnnotationLoader.cpython-312.pyc and b/lib/core/Translator/__pycache__/AnnotationLoader.cpython-312.pyc differ diff --git a/lib/core/Translator/__pycache__/BaseTranslator.cpython-312.pyc b/lib/core/Translator/__pycache__/BaseTranslator.cpython-312.pyc index f2ef57b..4270aec 100644 Binary files a/lib/core/Translator/__pycache__/BaseTranslator.cpython-312.pyc and b/lib/core/Translator/__pycache__/BaseTranslator.cpython-312.pyc differ diff --git a/lib/core/Translator/__pycache__/ConstEval.cpython-312.pyc b/lib/core/Translator/__pycache__/ConstEval.cpython-312.pyc index 35ced5f..51c32f7 100644 Binary files a/lib/core/Translator/__pycache__/ConstEval.cpython-312.pyc and b/lib/core/Translator/__pycache__/ConstEval.cpython-312.pyc differ diff --git a/lib/core/Translator/__pycache__/LlvmGenerator.cpython-312.pyc b/lib/core/Translator/__pycache__/LlvmGenerator.cpython-312.pyc index 2333b78..295f270 100644 Binary files a/lib/core/Translator/__pycache__/LlvmGenerator.cpython-312.pyc and b/lib/core/Translator/__pycache__/LlvmGenerator.cpython-312.pyc differ diff --git a/lib/core/Translator/__pycache__/PythonParser.cpython-312.pyc b/lib/core/Translator/__pycache__/PythonParser.cpython-312.pyc index e90fb8b..51560f7 100644 Binary files a/lib/core/Translator/__pycache__/PythonParser.cpython-312.pyc and b/lib/core/Translator/__pycache__/PythonParser.cpython-312.pyc differ diff --git a/lib/core/Translator/__pycache__/__init__.cpython-312.pyc b/lib/core/Translator/__pycache__/__init__.cpython-312.pyc index 0ac4499..921527a 100644 Binary files a/lib/core/Translator/__pycache__/__init__.cpython-312.pyc and b/lib/core/Translator/__pycache__/__init__.cpython-312.pyc differ diff --git a/lib/core/TypeAnnotationResolver.py b/lib/core/TypeAnnotationResolver.py index faf8e5d..6f83771 100644 --- a/lib/core/TypeAnnotationResolver.py +++ b/lib/core/TypeAnnotationResolver.py @@ -105,18 +105,14 @@ class TypeAnnotationResolver: @staticmethod def _builtins_include_dirs() -> list[str]: - """includes 目录列表(builtins.vp 定位用)""" + """includes 目录列表(builtins.vp 定位用)——只认项目配置 includes, + 禁止仓库硬编码回退(重组/缺失时会产生错误类型解析,如 uint32→struct 退化)""" dirs: list[str] = [] try: from lib.Projectrans.Phase2Translator import Phase2Translator - dirs = list(Phase2Translator.INCLUDE_DIRS) + dirs = list(Phase2Translator.PROJECT_INCLUDE_DIRS) except Exception: pass - derived: str = os.path.join( - os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))), - 'includes') - if derived not in dirs: - dirs.append(derived) return dirs @staticmethod diff --git a/lib/core/__pycache__/ConstEvaluator.cpython-312.pyc b/lib/core/__pycache__/ConstEvaluator.cpython-312.pyc index 9420c52..74ba5e5 100644 Binary files a/lib/core/__pycache__/ConstEvaluator.cpython-312.pyc and b/lib/core/__pycache__/ConstEvaluator.cpython-312.pyc differ diff --git a/lib/core/__pycache__/DecoratorPass.cpython-312.pyc b/lib/core/__pycache__/DecoratorPass.cpython-312.pyc index b4dce26..9a118c0 100644 Binary files a/lib/core/__pycache__/DecoratorPass.cpython-312.pyc and b/lib/core/__pycache__/DecoratorPass.cpython-312.pyc differ diff --git a/lib/core/__pycache__/DiagnosticCollector.cpython-312.pyc b/lib/core/__pycache__/DiagnosticCollector.cpython-312.pyc index d14ddcb..6ef1b8f 100644 Binary files a/lib/core/__pycache__/DiagnosticCollector.cpython-312.pyc and b/lib/core/__pycache__/DiagnosticCollector.cpython-312.pyc differ diff --git a/lib/core/__pycache__/Exportable.cpython-312.pyc b/lib/core/__pycache__/Exportable.cpython-312.pyc index 2992d23..29446bf 100644 Binary files a/lib/core/__pycache__/Exportable.cpython-312.pyc and b/lib/core/__pycache__/Exportable.cpython-312.pyc differ diff --git a/lib/core/__pycache__/LLVMTypeMapper.cpython-312.pyc b/lib/core/__pycache__/LLVMTypeMapper.cpython-312.pyc index 679bbdd..062cca2 100644 Binary files a/lib/core/__pycache__/LLVMTypeMapper.cpython-312.pyc and b/lib/core/__pycache__/LLVMTypeMapper.cpython-312.pyc differ diff --git a/lib/core/__pycache__/LlvmCodeGenerator.cpython-312.pyc b/lib/core/__pycache__/LlvmCodeGenerator.cpython-312.pyc index 4c6765a..7d1c9f2 100644 Binary files a/lib/core/__pycache__/LlvmCodeGenerator.cpython-312.pyc and b/lib/core/__pycache__/LlvmCodeGenerator.cpython-312.pyc differ diff --git a/lib/core/__pycache__/SymbolData.cpython-312.pyc b/lib/core/__pycache__/SymbolData.cpython-312.pyc index 8bae13d..4064d8a 100644 Binary files a/lib/core/__pycache__/SymbolData.cpython-312.pyc and b/lib/core/__pycache__/SymbolData.cpython-312.pyc differ diff --git a/lib/core/__pycache__/SymbolExtractor.cpython-312.pyc b/lib/core/__pycache__/SymbolExtractor.cpython-312.pyc index 1a9e89e..ab3b1e9 100644 Binary files a/lib/core/__pycache__/SymbolExtractor.cpython-312.pyc and b/lib/core/__pycache__/SymbolExtractor.cpython-312.pyc differ diff --git a/lib/core/__pycache__/SymbolInserter.cpython-312.pyc b/lib/core/__pycache__/SymbolInserter.cpython-312.pyc index b2de805..4ae08ea 100644 Binary files a/lib/core/__pycache__/SymbolInserter.cpython-312.pyc and b/lib/core/__pycache__/SymbolInserter.cpython-312.pyc differ diff --git a/lib/core/__pycache__/SymbolNode.cpython-312.pyc b/lib/core/__pycache__/SymbolNode.cpython-312.pyc index e881ea0..2740094 100644 Binary files a/lib/core/__pycache__/SymbolNode.cpython-312.pyc and b/lib/core/__pycache__/SymbolNode.cpython-312.pyc differ diff --git a/lib/core/__pycache__/SymbolReexporter.cpython-312.pyc b/lib/core/__pycache__/SymbolReexporter.cpython-312.pyc index 7e979e9..5a369ac 100644 Binary files a/lib/core/__pycache__/SymbolReexporter.cpython-312.pyc and b/lib/core/__pycache__/SymbolReexporter.cpython-312.pyc differ diff --git a/lib/core/__pycache__/SymbolTable.cpython-312.pyc b/lib/core/__pycache__/SymbolTable.cpython-312.pyc index 1081f92..4055f69 100644 Binary files a/lib/core/__pycache__/SymbolTable.cpython-312.pyc and b/lib/core/__pycache__/SymbolTable.cpython-312.pyc differ diff --git a/lib/core/__pycache__/SymbolTypeResolver.cpython-312.pyc b/lib/core/__pycache__/SymbolTypeResolver.cpython-312.pyc index 89bb8af..571e00b 100644 Binary files a/lib/core/__pycache__/SymbolTypeResolver.cpython-312.pyc and b/lib/core/__pycache__/SymbolTypeResolver.cpython-312.pyc differ diff --git a/lib/core/__pycache__/SymbolUtils.cpython-312.pyc b/lib/core/__pycache__/SymbolUtils.cpython-312.pyc index 1eeaa53..119c5c8 100644 Binary files a/lib/core/__pycache__/SymbolUtils.cpython-312.pyc and b/lib/core/__pycache__/SymbolUtils.cpython-312.pyc differ diff --git a/lib/core/__pycache__/SymbolUtils.cpython-314.pyc b/lib/core/__pycache__/SymbolUtils.cpython-314.pyc deleted file mode 100644 index c637296..0000000 Binary files a/lib/core/__pycache__/SymbolUtils.cpython-314.pyc and /dev/null differ diff --git a/lib/core/__pycache__/TypeAnnotationResolver.cpython-312.pyc b/lib/core/__pycache__/TypeAnnotationResolver.cpython-312.pyc index 560b30a..3541275 100644 Binary files a/lib/core/__pycache__/TypeAnnotationResolver.cpython-312.pyc and b/lib/core/__pycache__/TypeAnnotationResolver.cpython-312.pyc differ diff --git a/lib/core/__pycache__/TypeSpec.cpython-312.pyc b/lib/core/__pycache__/TypeSpec.cpython-312.pyc index 5e29b2a..5856fdf 100644 Binary files a/lib/core/__pycache__/TypeSpec.cpython-312.pyc and b/lib/core/__pycache__/TypeSpec.cpython-312.pyc differ diff --git a/lib/core/__pycache__/VLogger.cpython-312.pyc b/lib/core/__pycache__/VLogger.cpython-312.pyc index 52b9332..c414eff 100644 Binary files a/lib/core/__pycache__/VLogger.cpython-312.pyc and b/lib/core/__pycache__/VLogger.cpython-312.pyc differ diff --git a/lib/core/__pycache__/VLogger.cpython-314.pyc b/lib/core/__pycache__/VLogger.cpython-314.pyc deleted file mode 100644 index b4b8c32..0000000 Binary files a/lib/core/__pycache__/VLogger.cpython-314.pyc and /dev/null differ diff --git a/lib/core/__pycache__/__init__.cpython-312.pyc b/lib/core/__pycache__/__init__.cpython-312.pyc index 120e38b..9999b16 100644 Binary files a/lib/core/__pycache__/__init__.cpython-312.pyc and b/lib/core/__pycache__/__init__.cpython-312.pyc differ diff --git a/lib/core/__pycache__/__init__.cpython-314.pyc b/lib/core/__pycache__/__init__.cpython-314.pyc deleted file mode 100644 index c1f566b..0000000 Binary files a/lib/core/__pycache__/__init__.cpython-314.pyc and /dev/null differ diff --git a/lib/core/__pycache__/stub_generator.cpython-312.pyc b/lib/core/__pycache__/stub_generator.cpython-312.pyc index a9b44a6..8fdda6f 100644 Binary files a/lib/core/__pycache__/stub_generator.cpython-312.pyc and b/lib/core/__pycache__/stub_generator.cpython-312.pyc differ diff --git a/lib/core/__pycache__/translator.cpython-312.pyc b/lib/core/__pycache__/translator.cpython-312.pyc index 42d05c3..1f3a3a9 100644 Binary files a/lib/core/__pycache__/translator.cpython-312.pyc and b/lib/core/__pycache__/translator.cpython-312.pyc differ diff --git a/lib/includes/__pycache__/__init__.cpython-312.pyc b/lib/includes/__pycache__/__init__.cpython-312.pyc index 86695a2..07324fb 100644 Binary files a/lib/includes/__pycache__/__init__.cpython-312.pyc and b/lib/includes/__pycache__/__init__.cpython-312.pyc differ diff --git a/lib/includes/__pycache__/__init__.cpython-314.pyc b/lib/includes/__pycache__/__init__.cpython-314.pyc deleted file mode 100644 index 01fa42a..0000000 Binary files a/lib/includes/__pycache__/__init__.cpython-314.pyc and /dev/null differ diff --git a/lib/includes/__pycache__/c.cpython-312.pyc b/lib/includes/__pycache__/c.cpython-312.pyc index 569e5dc..5b9f484 100644 Binary files a/lib/includes/__pycache__/c.cpython-312.pyc and b/lib/includes/__pycache__/c.cpython-312.pyc differ diff --git a/lib/includes/__pycache__/t.cpython-312.pyc b/lib/includes/__pycache__/t.cpython-312.pyc index 4dbee3d..637ff85 100644 Binary files a/lib/includes/__pycache__/t.cpython-312.pyc and b/lib/includes/__pycache__/t.cpython-312.pyc differ diff --git a/lib/includes/__pycache__/t.cpython-314.pyc b/lib/includes/__pycache__/t.cpython-314.pyc deleted file mode 100644 index c86e7e9..0000000 Binary files a/lib/includes/__pycache__/t.cpython-314.pyc and /dev/null differ diff --git a/lib/utils/__pycache__/__init__.cpython-312.pyc b/lib/utils/__pycache__/__init__.cpython-312.pyc index 98cd691..b71f099 100644 Binary files a/lib/utils/__pycache__/__init__.cpython-312.pyc and b/lib/utils/__pycache__/__init__.cpython-312.pyc differ diff --git a/lib/utils/__pycache__/helpers.cpython-312.pyc b/lib/utils/__pycache__/helpers.cpython-312.pyc index 57e03c9..beffece 100644 Binary files a/lib/utils/__pycache__/helpers.cpython-312.pyc and b/lib/utils/__pycache__/helpers.cpython-312.pyc differ diff --git a/lib/vast/__pycache__/ExprParser.cpython-312.pyc b/lib/vast/__pycache__/ExprParser.cpython-312.pyc index 38c2fb2..17e9648 100644 Binary files a/lib/vast/__pycache__/ExprParser.cpython-312.pyc and b/lib/vast/__pycache__/ExprParser.cpython-312.pyc differ diff --git a/lib/vast/__pycache__/ExprParser.cpython-314.pyc b/lib/vast/__pycache__/ExprParser.cpython-314.pyc deleted file mode 100644 index 74b0113..0000000 Binary files a/lib/vast/__pycache__/ExprParser.cpython-314.pyc and /dev/null differ diff --git a/lib/vast/__pycache__/Nodes.cpython-312.pyc b/lib/vast/__pycache__/Nodes.cpython-312.pyc index 506d172..abfbc08 100644 Binary files a/lib/vast/__pycache__/Nodes.cpython-312.pyc and b/lib/vast/__pycache__/Nodes.cpython-312.pyc differ diff --git a/lib/vast/__pycache__/Nodes.cpython-314.pyc b/lib/vast/__pycache__/Nodes.cpython-314.pyc deleted file mode 100644 index 248b46d..0000000 Binary files a/lib/vast/__pycache__/Nodes.cpython-314.pyc and /dev/null differ diff --git a/lib/vast/__pycache__/Parser.cpython-312.pyc b/lib/vast/__pycache__/Parser.cpython-312.pyc index 309736c..69991ab 100644 Binary files a/lib/vast/__pycache__/Parser.cpython-312.pyc and b/lib/vast/__pycache__/Parser.cpython-312.pyc differ diff --git a/lib/vast/__pycache__/Parser.cpython-314.pyc b/lib/vast/__pycache__/Parser.cpython-314.pyc deleted file mode 100644 index 30614d2..0000000 Binary files a/lib/vast/__pycache__/Parser.cpython-314.pyc and /dev/null differ diff --git a/lib/vast/__pycache__/Tokenizer.cpython-312.pyc b/lib/vast/__pycache__/Tokenizer.cpython-312.pyc index 3b265be..5c34496 100644 Binary files a/lib/vast/__pycache__/Tokenizer.cpython-312.pyc and b/lib/vast/__pycache__/Tokenizer.cpython-312.pyc differ diff --git a/lib/vast/__pycache__/Tokenizer.cpython-314.pyc b/lib/vast/__pycache__/Tokenizer.cpython-314.pyc deleted file mode 100644 index 7cdb0e1..0000000 Binary files a/lib/vast/__pycache__/Tokenizer.cpython-314.pyc and /dev/null differ diff --git a/lib/vast/__pycache__/Unparser.cpython-312.pyc b/lib/vast/__pycache__/Unparser.cpython-312.pyc index 35a22b3..0541cb5 100644 Binary files a/lib/vast/__pycache__/Unparser.cpython-312.pyc and b/lib/vast/__pycache__/Unparser.cpython-312.pyc differ diff --git a/lib/vast/__pycache__/Unparser.cpython-314.pyc b/lib/vast/__pycache__/Unparser.cpython-314.pyc deleted file mode 100644 index 972f3be..0000000 Binary files a/lib/vast/__pycache__/Unparser.cpython-314.pyc and /dev/null differ diff --git a/lib/vast/__pycache__/Utils.cpython-312.pyc b/lib/vast/__pycache__/Utils.cpython-312.pyc index bfe9c0c..99c4d37 100644 Binary files a/lib/vast/__pycache__/Utils.cpython-312.pyc and b/lib/vast/__pycache__/Utils.cpython-312.pyc differ diff --git a/lib/vast/__pycache__/Utils.cpython-314.pyc b/lib/vast/__pycache__/Utils.cpython-314.pyc deleted file mode 100644 index 019e294..0000000 Binary files a/lib/vast/__pycache__/Utils.cpython-314.pyc and /dev/null differ diff --git a/lib/vast/__pycache__/__init__.cpython-312.pyc b/lib/vast/__pycache__/__init__.cpython-312.pyc index a9ba061..ee282b2 100644 Binary files a/lib/vast/__pycache__/__init__.cpython-312.pyc and b/lib/vast/__pycache__/__init__.cpython-312.pyc differ diff --git a/lib/vast/__pycache__/__init__.cpython-314.pyc b/lib/vast/__pycache__/__init__.cpython-314.pyc deleted file mode 100644 index 7bb36d4..0000000 Binary files a/lib/vast/__pycache__/__init__.cpython-314.pyc and /dev/null differ diff --git a/lib/vast_c/__pycache__/__init__.cpython-312.pyc b/lib/vast_c/__pycache__/__init__.cpython-312.pyc index ec73325..2a809d1 100644 Binary files a/lib/vast_c/__pycache__/__init__.cpython-312.pyc and b/lib/vast_c/__pycache__/__init__.cpython-312.pyc differ diff --git a/lib/vast_c/__pycache__/__init__.cpython-314.pyc b/lib/vast_c/__pycache__/__init__.cpython-314.pyc deleted file mode 100644 index 47a31a3..0000000 Binary files a/lib/vast_c/__pycache__/__init__.cpython-314.pyc and /dev/null differ