修正了一些错误

This commit is contained in:
2026-07-26 20:32:26 +08:00
parent ca7c2120b8
commit 1837339f69
203 changed files with 374300 additions and 2638 deletions

View File

@@ -1,81 +0,0 @@
"""
Auto-generated Python stub file from w32.fileio.py
Module: w32.fileio
"""
import t, c
from stdint import *
import stdio
import w32.win32base
import w32.win32file
class MODE(t.CEnum):
R = 0
W = 1
A = 2
RP = 3
WP = 4
AP = 5
X = 6
XP = 7
class FRESULT(t.CEnum):
OK = 0
ERR = -1
ERR_CLOSED = -2
ERR_PERM = -3
ERR_IO = -4
ERR_NOTFOUND = -5
SEEK_SET: t.CDefine = 0
SEEK_CUR: t.CDefine = 1
SEEK_END: t.CDefine = 2
INVALID_SET_FILE_POINTER: t.CDefine = -1
SHARE_READ: t.CDefine = 0x00000001
SHARE_WRITE: t.CDefine = 0x00000002
SHARE_DELETE: t.CDefine = 0x00000004
class File:
handle: w32.win32base.HANDLE
closed: bool
can_read: bool
can_write: bool
is_append: bool
_share_mode: ULONG
def __init__(self: File, filename: str, mode: ULONG, share: ULONG) -> t.CInt: pass
def __enter__(self: File) -> 'File' | t.CPtr: pass
def __exit__(self: File) -> t.CInt: pass
def read(self: File, buf: bytes, count: ULONG) -> LONG: pass
def write(self: File, buf: bytes, count: ULONG) -> LONG: pass
def write_str(self: File, s: str) -> LONG: pass
def seek(self: File, offset: LONG, origin: ULONG) -> LONG: pass
def tell(self: File) -> LONG: pass
def close(self: File) -> LONG: pass
def flush(self: File) -> LONG: pass
def size(self: File) -> LONGLONG: pass
def readline(self: File, buf: bytes, max_count: ULONG) -> LONG: pass
def read_all(self: File, buf: bytes, max_count: ULONG) -> LONG: pass
class FileW:
handle: w32.win32base.HANDLE
closed: bool
can_read: bool
can_write: bool
is_append: bool
_share_mode: ULONG
def __init__(self: FileW, filename: w32.win32base.LPCWSTR, mode: ULONG, share: ULONG) -> t.CInt: pass
def __enter__(self: FileW) -> 'FileW' | t.CPtr: pass
def __exit__(self: FileW) -> t.CInt: pass
def read(self: FileW, buf: bytes, count: ULONG) -> LONG: pass
def write(self: FileW, buf: bytes, count: ULONG) -> LONG: pass
def write_str(self: FileW, s: str) -> LONG: pass
def seek(self: FileW, offset: LONG, origin: ULONG) -> LONG: pass
def tell(self: FileW) -> LONG: pass
def close(self: FileW) -> LONG: pass
def flush(self: FileW) -> LONG: pass
def size(self: FileW) -> LONGLONG: pass
def readline(self: FileW, buf: bytes, max_count: ULONG) -> LONG: pass
def read_all(self: FileW, buf: bytes, max_count: ULONG) -> LONG: pass
def open(filename: str, mode: ULONG, share: ULONG) -> File | t.CPtr: pass
def openw(filename: LPCWSTR, mode: ULONG, share: ULONG) -> FileW | t.CPtr: pass

View File

@@ -1 +0,0 @@
{"VarEntry": "变量表条目", "Scope": "作用域节点", "SymbolTable": "嵌套作用域符号表", "init_vars": "分配并清零变量表数组", "find_var": "在变量表中按名称查找", "find_var_entry": "在变量表中按名称查找,返回 VarEntry 或 None", "lookup_var_entry": "从当前作用域逐级向上查找变量,返回 VarEntry 或 None", "set_var_annot_class_name": "设置变量的原始类型注解类名,返回 0=成功 / 1=失败", "add_var": "添加变量到变量表", "get_or_create_var": "查找或创建变量 alloca", "_create_scope": "创建并初始化作用域节点", "init_symbol_table": "创建并初始化符号表,包含模块级根作用域", "enter_scope": "进入新作用域,返回新创建的作用域", "exit_scope": "退出当前作用域,恢复到父作用域", "define_var": "在当前作用域定义变量,返回 0 成功", "define_module_var": "在模块作用域定义变量,返回 0 成功", "lookup_var": "从当前作用域逐级向上查找变量,返回 alloca 或 None", "lookup_current": "仅在当前作用域查找变量", "lookup_module_var": "在模块作用域查找变量", "get_or_create_sym": "查找或创建变量 alloca在当前作用域"}

View File

@@ -1,68 +0,0 @@
"""
Auto-generated Python stub file from lib.core.Handles.HandlesVar.py
Module: lib.core.Handles.HandlesVar
"""
import t, c
from stdint import *
import llvmlite
import memhub
import string
SCOPE_MODULE: t.CDefine = 0
SCOPE_FUNCTION: t.CDefine = 1
SCOPE_BLOCK: t.CDefine = 2
MAX_VARS: t.CDefine = 256
@t.NoVTable
class VarEntry:
Name: t.CChar | t.CPtr
Alloca: llvmlite.Value | t.CPtr
Used: t.CInt
AnnotClassName: t.CChar | t.CPtr
@t.NoVTable
class Scope:
Parent: Scope | t.CPtr
Vars: VarEntry | t.CPtr
VarCount: t.CInt
Kind: t.CInt
@t.NoVTable
class SymbolTable:
Pool: memhub.MemBuddy | t.CPtr
Root: Scope | t.CPtr
Current: Scope | t.CPtr
def init_vars(pool: memhub.MemBuddy | t.CPtr) -> VarEntry | t.CPtr: pass
def find_var(vars_ptr: VarEntry | t.CPtr, var_count: int, name: str) -> llvmlite.Value | t.CPtr: pass
def find_var_entry(vars_ptr: VarEntry | t.CPtr, var_count: int, name: str) -> VarEntry | t.CPtr: pass
def lookup_var_entry(symtab: SymbolTable | t.CPtr, name: str) -> VarEntry | t.CPtr: pass
def set_var_annot_class_name(symtab: SymbolTable | t.CPtr, name: str, class_name: str) -> int: pass
def add_var(vars_ptr: VarEntry | t.CPtr, var_count: int, name: str, alloca: llvmlite.Value | t.CPtr) -> int: pass
def get_or_create_var(pool: memhub.MemBuddy | t.CPtr, builder: llvmlite.IRBuilder | t.CPtr, vars_ptr: VarEntry | t.CPtr, var_count: int, name: str, ty: llvmlite.LLVMType | t.CPtr) -> llvmlite.Value | t.CPtr: pass
def _create_scope(pool: memhub.MemBuddy | t.CPtr, parent: Scope | t.CPtr, kind: int) -> Scope | t.CPtr: pass
def init_symbol_table(pool: memhub.MemBuddy | t.CPtr) -> SymbolTable | t.CPtr: pass
def enter_scope(symtab: SymbolTable | t.CPtr, kind: int) -> Scope | t.CPtr: pass
def exit_scope(symtab: SymbolTable | t.CPtr) -> t.CInt: pass
def define_var(symtab: SymbolTable | t.CPtr, name: str, alloca: llvmlite.Value | t.CPtr) -> int: pass
def define_module_var(symtab: SymbolTable | t.CPtr, name: str, alloca: llvmlite.Value | t.CPtr) -> int: pass
def lookup_var(symtab: SymbolTable | t.CPtr, name: str) -> llvmlite.Value | t.CPtr: pass
def lookup_current(symtab: SymbolTable | t.CPtr, name: str) -> llvmlite.Value | t.CPtr: pass
def lookup_module_var(symtab: SymbolTable | t.CPtr, name: str) -> llvmlite.Value | t.CPtr: pass
def get_or_create_sym(symtab: SymbolTable | t.CPtr, pool: memhub.MemBuddy | t.CPtr, builder: llvmlite.IRBuilder | t.CPtr, name: str, ty: llvmlite.LLVMType | t.CPtr) -> llvmlite.Value | t.CPtr: pass

View File

@@ -1 +0,0 @@
{"_binop_to_dunder": "将 BinOp 运算符映射到 dunder 方法名,无映射时返回 None", "_cmpop_to_dunder": "将 Compare 运算符映射到 dunder 方法名,无映射时返回 None", "try_operator_overload": "尝试运算符重载lhs 是结构体指针时调用 dunder 方法,否则返回 None", "translate_binop": "翻译二元运算(自动类型提升)"}

View File

@@ -1,24 +0,0 @@
"""
Auto-generated Python stub file from lib.core.Handles.HandlesExprOps.py
Module: lib.core.Handles.HandlesExprOps
"""
import t, c
from stdint import *
import ast
import llvmlite
import memhub
import string
import viperlib
import lib.core.Handles.HandlesExpr as HandlesExpr
import lib.core.Handles.HandlesVar as HandlesVar
import lib.core.Handles.HandlesTranslator as HT
def _binop_to_dunder(op: int) -> str: pass
def _cmpop_to_dunder(op: int) -> str: pass
def try_operator_overload(pool: memhub.MemBuddy | t.CPtr, builder: llvmlite.IRBuilder | t.CPtr, mod: llvmlite.LLVMModule | t.CPtr, lhs: llvmlite.Value | t.CPtr, rhs: llvmlite.Value | t.CPtr, op: int, trans: HT.Translator | t.CPtr, is_compare: int) -> llvmlite.Value | t.CPtr: pass
def translate_binop(pool: memhub.MemBuddy | t.CPtr, builder: llvmlite.IRBuilder | t.CPtr, mod: llvmlite.LLVMModule | t.CPtr, node: ast.AST | t.CPtr, trans: HT.Translator | t.CPtr) -> llvmlite.Value | t.CPtr: pass

View File

@@ -1 +0,0 @@
{"register_cdefine_constant": "注册 CDefine 编译期常量到全局表", "lookup_cdefine_constant": "查找 CDefine 编译期常量,返回值或 -1未找到", "clear_cdefine_constants": "清空 CDefine 常量表(模块切换时调用)", "set_generic_context": "设置泛型特化上下文(进入泛型类方法体翻译时调用)", "clear_generic_context": "清除泛型特化上下文(离开泛型类方法体翻译时调用)", "resolve_generic_type_name": "如果 name 是泛型类型参数,返回对应的具体类型名;否则返回 name 本身\n\n 用于表达式中的 T 替换(如 T.__sizeof__() → int.__sizeof__()\n ", "_get_type_name_from_annotation": "从类型注解节点提取类型名(支持 Name/Attribute/BinOp", "_parse_type_string": "将类型名字符串解析为 AST 节点", "set_current_file": "设置当前编译的文件名(供报错使用)", "_read_source_line": "从源文件读取第 lineno 行内容", "fatal_error": "以 Python 风格报错并退出(带源代码行)", "fatal_type_error": "以 Python 风格报错并退出fatal_error 的别名)", "map_t_type": "将 t.CXxx / c.CXxx 类型名映射到 LLVMType\n\n 注意: t.CChar | t.CPtr = i8* = str = bytes\n ", "_is_t_attr": "检测节点是否是 t.attr_name 形式", "extract_class_name_from_annotation": "从类型注解 AST 中提取类名,返回 None=无法提取", "resolve_annotation_type": "解析类型注解节点为 LLVMType\n\n Args:\n pool: 内存分配器\n node: 类型注解 AST 节点Name 或 Attribute\n imported_modules: 已导入模块名字符串(空格分隔)\n from_imports: from-import 映射字符串(\"name:module name:module\" 格式)\n ", "has_decorator_marker": "检测类型注解中是否包含指定的装饰器标记", "is_pass_body": "检测函数体是否为 pass空体或仅含 pass 语句)", "get_llvm_type_bits": "获取 LLVM 整数类型的位宽,非整数类型返回 0", "infer_expr_type": "推断表达式的 LLVM 类型\n\n param_types 格式: \"name:bits,name:bits,...\"\n ", "infer_return_type": "扫描函数体中的 return 语句,推断返回类型", "build_param_types_str": "构建参数类型编码字符串 \"name:bits,name:bits,...\" ", "_strappend": "将 src 追加到 dst 末尾"}

View File

@@ -1,74 +0,0 @@
"""
Auto-generated Python stub file from lib.core.Handles.HandlesType.py
Module: lib.core.Handles.HandlesType
"""
import t, c
from stdint import *
import ast
import llvmlite
import memhub
import string
import stdio
import sys
import stdlib
import viperlib
import w32.fileio as fileio
import lib.core.Handles.HandlesImports as HandlesImports
import lib.core.Handles.HandlesStruct as HandlesStruct
_g_current_file: t.CExtern | str
_g_generic_tp_names: t.CExtern | list[str] | t.CPtr
_g_generic_type_args: t.CExtern | list[str] | t.CPtr
_g_cdefine_names: t.CExtern | list[str] | t.CPtr
_g_cdefine_values: t.CExtern | list[str] | t.CPtr
def register_cdefine_constant(pool: memhub.MemBuddy | t.CPtr, name: str, value: int) -> None: pass
def lookup_cdefine_constant(name: str) -> int: pass
def clear_cdefine_constants() -> None: pass
def set_generic_context(tp_names: list[str] | t.CPtr, type_args: list[str] | t.CPtr) -> t.CInt: pass
def clear_generic_context() -> t.CInt: pass
def resolve_generic_type_name(name: str) -> str: pass
def _get_type_name_from_annotation(pool: memhub.MemBuddy | t.CPtr, node: ast.AST | t.CPtr) -> str: pass
def _parse_type_string(pool: memhub.MemBuddy | t.CPtr, type_str: str, ctx: t.CInt) -> ast.AST | t.CPtr: pass
def set_current_file(file_path: str) -> t.CInt: pass
_SRC_BUF_SIZE: t.CDefine = 262144
def _read_source_line(file_path: str, lineno: int) -> str: pass
def fatal_error(node: ast.AST | t.CPtr, msg: str) -> t.CInt: pass
def fatal_type_error(node: ast.AST | t.CPtr, msg: str) -> t.CInt: pass
def map_t_type(pool: memhub.MemBuddy | t.CPtr, type_name: str) -> llvmlite.LLVMType | t.CPtr: pass
def _is_t_attr(node: ast.AST | t.CPtr, attr_name: str, imported_modules: str) -> int: pass
def extract_class_name_from_annotation(node: ast.AST | t.CPtr, imported_modules: str) -> str: pass
def resolve_annotation_type(pool: memhub.MemBuddy | t.CPtr, node: ast.AST | t.CPtr, imported_modules: str, from_imports: str) -> llvmlite.LLVMType | t.CPtr: pass
def has_decorator_marker(node: ast.AST | t.CPtr, marker_name: str) -> int: pass
def is_pass_body(body: list[ast.AST | t.CPtr] | t.CPtr) -> int: pass
def get_llvm_type_bits(ty: llvmlite.LLVMType | t.CPtr) -> int: pass
def infer_expr_type(pool: memhub.MemBuddy | t.CPtr, node: ast.AST | t.CPtr, param_types: str) -> llvmlite.LLVMType | t.CPtr: pass
def infer_return_type(pool: memhub.MemBuddy | t.CPtr, body: list[ast.AST | t.CPtr] | t.CPtr, param_types: str) -> llvmlite.LLVMType | t.CPtr: pass
def build_param_types_str(pool: memhub.MemBuddy | t.CPtr, args_node: ast.AST | t.CPtr) -> str: pass
def _strappend(dst: t.CChar | t.CPtr, dst_size: t.CSizeT, src: t.CChar | t.CPtr) -> t.CInt: pass

View File

@@ -1,87 +0,0 @@
"""
Auto-generated Python stub file from llvmlite.__module.py
Module: llvmlite.__module
"""
import t, c
from stdint import *
import string
import stdio
import viperlib
import memhub
from linkedlist import GSList, GSListNode
from .__types import LLVMType, TypePrint, Array, PrintStructDefinition, get_struct_name, Struct
from .__function import Function, FunctionPrint, _ll_name_needs_quote, Param
@t.NoVTable
class GlobalVariable(GSListNode[GlobalVariable]):
Name: t.CChar | t.CPtr
Ty: LLVMType | t.CPtr
Initializer: t.CVoid | t.CPtr
IsConstant: t.CInt
Linkage: t.CChar | t.CPtr
Section: t.CChar | t.CPtr
UnnamedAddr: t.CInt
@t.NoVTable
class NamedTypeNode(GSListNode[NamedTypeNode]):
Ty: LLVMType | t.CPtr
@t.NoVTable
class LLVMModule:
Name: t.CChar | t.CPtr
FuncHead: Function | t.CPtr
FuncTail: Function | t.CPtr
FuncCount: t.CSizeT
GlobalHead: GlobalVariable | t.CPtr
GlobalTail: GlobalVariable | t.CPtr
GlobalCount: t.CSizeT
TargetTriple: t.CChar | t.CPtr
DataLayout: t.CChar | t.CPtr
NamedTypeHead: NamedTypeNode | t.CPtr
NamedTypeTail: NamedTypeNode | t.CPtr
NamedTypeCount: t.CSizeT
def new_module(pool: memhub.MemBuddy | t.CPtr, name: t.CChar | t.CPtr) -> LLVMModule | t.CPtr: pass
GV_SIZE: t.CDefine = 64
NAMED_TYPE_NODE_SIZE: t.CDefine = 16
def new_global_variable(pool: memhub.MemBuddy | t.CPtr, name: t.CChar | t.CPtr, ty: LLVMType | t.CPtr) -> GlobalVariable | t.CPtr: pass
def module_add_function(mod: LLVMModule | t.CPtr, func: Function | t.CPtr) -> t.CInt: pass
def module_add_global(mod: LLVMModule | t.CPtr, gv: GlobalVariable | t.CPtr) -> t.CInt: pass
def module_set_target(mod: LLVMModule | t.CPtr, triple: t.CChar | t.CPtr) -> t.CInt: pass
def module_set_datalayout(mod: LLVMModule | t.CPtr, layout: t.CChar | t.CPtr) -> t.CInt: pass
def module_add_named_type(mod: LLVMModule | t.CPtr, pool: memhub.MemBuddy | t.CPtr, ty: LLVMType | t.CPtr) -> t.CInt: pass
def _is_type_defined_in_module(mod: LLVMModule | t.CPtr, name: t.CChar | t.CPtr) -> int: pass
def _scan_type_for_cross_module_refs(pool: memhub.MemBuddy | t.CPtr, mod: LLVMModule | t.CPtr, ty: LLVMType | t.CPtr) -> t.CInt: pass
def module_ensure_opaque_for_type(mod: LLVMModule | t.CPtr, pool: memhub.MemBuddy | t.CPtr, ty: LLVMType | t.CPtr) -> t.CInt: pass
def global_set_constant(gv: GlobalVariable | t.CPtr, is_const: t.CInt) -> t.CInt: pass
def global_set_linkage(gv: GlobalVariable | t.CPtr, linkage: t.CChar | t.CPtr) -> t.CInt: pass
def global_set_unnamed_addr(gv: GlobalVariable | t.CPtr, level: t.CInt) -> t.CInt: pass
def global_set_section(gv: GlobalVariable | t.CPtr, section: t.CChar | t.CPtr) -> t.CInt: pass
OUTPUT_FULL: t.CDefine = 0 # 完整 IRstub + text
OUTPUT_STUB: t.CDefine = 1 # 仅声明header + 类型定义 + declare + external global
OUTPUT_TEXT: t.CDefine = 2 # 仅代码define + global 带初值)
def LLVMModulePrint(buf: t.CChar | t.CPtr, size: t.CSizeT, mod: LLVMModule | t.CPtr, pool: memhub.MemBuddy | t.CPtr, mode: t.CInt) -> t.CInt: pass
def _print_global(buf: t.CChar | t.CPtr, size: t.CSizeT, gv: GlobalVariable | t.CPtr, pool: memhub.MemBuddy | t.CPtr) -> t.CInt: pass
def _print_global_stub(buf: t.CChar | t.CPtr, size: t.CSizeT, gv: GlobalVariable | t.CPtr, pool: memhub.MemBuddy | t.CPtr) -> t.CInt: pass
def _append_cstr(dst: t.CChar | t.CPtr, dst_size: t.CSizeT, src: t.CChar | t.CPtr) -> t.CInt: pass

View File

@@ -1 +0,0 @@
{"Logger.banner": "输出分节标题(青色高亮)。", "Logger.compile_error": "格式化编译错误输出(红底白字标题 + 位置 + 错误信息)。", "Logger.compile_warning": "格式化编译警告输出(黄底黑字标题 + 位置 + 警告信息)。", "get_logger": "获取全局 logger 实例。若不存在则通过 _mbuddy 分配并初始化。", "set_logger": "设置全局 logger 实例。"}

View File

@@ -1,60 +0,0 @@
"""
Auto-generated Python stub file from lib.core.VLogger.py
Module: lib.core.VLogger
"""
import t, c
from stdint import *
import stdio
import memhub
import w32.win32console as w32cmd
import w32.win32file as w32file
import w32.win32base as w32base
class LogLevel(t.CEnum):
DEBUG = 0
INFO = 1
WARNING = 2
ERROR = 3
SUCCESS = 4
FOREGROUND_BLUE: t.CDefine = 0x0001
FOREGROUND_GREEN: t.CDefine = 0x0002
FOREGROUND_RED: t.CDefine = 0x0004
FOREGROUND_INTENSITY: t.CDefine = 0x0008
FOREGROUND_WHITE: t.CDefine = FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE
FOREGROUND_CYAN: t.CDefine = FOREGROUND_BLUE | FOREGROUND_GREEN
FOREGROUND_YELLOW: t.CDefine = FOREGROUND_RED | FOREGROUND_GREEN
FOREGROUND_MAGENTA: t.CDefine = FOREGROUND_RED | FOREGROUND_BLUE
BACKGROUND_RED: t.CDefine = 0x0040
BACKGROUND_GREEN: t.CDefine = 0x0020
BACKGROUND_BLUE: t.CDefine = 0x0010
BACKGROUND_INTENSITY: t.CDefine = 0x0080
BACKGROUND_WHITE: t.CDefine = BACKGROUND_RED | BACKGROUND_GREEN | BACKGROUND_BLUE
class Logger:
_level: int
_console_handle: w32base.HANDLE
_use_color: int
__mbuddy__: memhub.MemManager | t.CPtr
def __init__(self: Logger, level: int) -> t.CInt: pass
def _set_color(self: Logger, attr: WORD) -> int: pass
def _reset_color(self: Logger) -> int: pass
def _log(self: Logger, level: int, prefix: str, msg: str, color: WORD, category: str) -> int: pass
def debug(self: Logger, msg: str, category: str) -> int: pass
def info(self: Logger, msg: str, category: str) -> int: pass
def warning(self: Logger, msg: str, category: str) -> int: pass
def error(self: Logger, msg: str, category: str) -> int: pass
def success(self: Logger, msg: str, category: str) -> int: pass
def set_level(self: Logger, level: int) -> int: pass
def banner(self: Logger, msg: str) -> int: pass
def compile_error(self: Logger, msg: str, file: str, line: int) -> int: pass
def compile_warning(self: Logger, msg: str, file: str, line: int) -> int: pass
_mbuddy: t.CExtern | memhub.MemManager | t.CPtr
_g_logger: t.CExtern | Logger | t.CPtr
def get_logger() -> Logger | t.CPtr: pass
def set_logger(logger: Logger | t.CPtr) -> int: pass

View File

@@ -1 +0,0 @@
{"Translator": "翻译器:管理编译状态,委托 Handles 模块执行翻译", "Translator._init_state": "初始化变量表、函数表和子 Handle", "Translator.translate": "将 AST 翻译为 LLVM IR", "Translator._translate_wrapper_main": "委托 HandlesMain.create_wrapper_main() 创建包装 maintrans 单参)", "Translator._translate_module_level": "委托 HandlesMain.translate_children() 翻译模块级语句trans 单参)", "Translator.dump_ir": "将 LLVM IR 输出到缓冲区\n\n mode: 0=完整, 1=stub(仅声明), 2=text(仅代码)\n ", "add_global_name": "添加一个 global 变量名", "is_global_name": "检查 name 是否在当前函数的 global 集合中", "add_nonlocal_name": "添加一个 nonlocal 变量名", "is_nonlocal_name": "检查 name 是否在当前函数的 nonlocal 集合中", "get_nonlocal_index": "获取 nonlocal 变量在 env 中的索引0-based找不到返回 -1", "clear_scope_names": "清空当前函数的 global/nonlocal 名称集合(进入新函数时调用)"}

View File

@@ -1,90 +0,0 @@
"""
Auto-generated Python stub file from lib.core.Handles.HandlesTranslator.py
Module: lib.core.Handles.HandlesTranslator
"""
import t, c
from stdint import *
import ast
import llvmlite
import memhub
import string
import stdio
import stdlib
import lib.core.Handles.HandlesVar as HandlesVar
import lib.core.Handles.HandlesExprCall as HandlesExprCall
import lib.core.Handles.HandlesMain as HandlesMain
import lib.core.Handles.HandlesAssign as HandlesAssign
import lib.core.Handles.HandlesReturn as HandlesReturn
import lib.core.Handles.HandlesImports as HandlesImports
import lib.core.Handles.HandlesAnnAssign as HandlesAnnAssign
import lib.core.Handles.HandlesAugAssign as HandlesAugAssign
import lib.core.Handles.HandlesIf as HandlesIf
import lib.core.Handles.HandlesWhile as HandlesWhile
import lib.core.Handles.HandlesFor as HandlesFor
import lib.core.Handles.HandlesExpr as HandlesExpr
import lib.core.Handles.HandlesFunctions as HandlesFunctions
import lib.Projectrans.Config as Config
MAX_VARS: t.CDefine = 256
MAX_FUNCS: t.CDefine = 256
MAX_GLOBAL_NAMES: t.CDefine = 32
@t.NoVTable
class Translator:
Module: llvmlite.LLVMModule | t.CPtr
Pool: memhub.MemBuddy | t.CPtr
_funcs: HandlesExprCall.FuncEntry | t.CPtr
_func_count: t.CInt
_imported_modules: str
_from_imports: str
_cur_func: llvmlite.Function | t.CPtr
_cur_builder: llvmlite.IRBuilder | t.CPtr
_break_bb: llvmlite.BasicBlock | t.CPtr
_continue_bb: llvmlite.BasicBlock | t.CPtr
_label_counter: t.CInt
_global_names: str
_global_name_count: t.CInt
_nonlocal_names: str
_nonlocal_name_count: t.CInt
_cur_func_name: str
ModuleSha1: str
CurrentPackage: str
_closure_env_offsets: t.CInt
_closure_env_count: t.CInt
GenericTypeParamNames: list[str] | t.CPtr
GenericTypeArgs: list[str] | t.CPtr
_declare_only: t.CInt
AssignH: HandlesAssign.AssignHandle | t.CPtr
ReturnH: HandlesReturn.ReturnHandle | t.CPtr
ImportsH: HandlesImports.ImportsHandle | t.CPtr
AnnAssignH: HandlesAnnAssign.AnnAssignHandle | t.CPtr
AugAssignH: HandlesAugAssign.AugAssignHandle | t.CPtr
IfH: HandlesIf.IfHandle | t.CPtr
WhileH: HandlesWhile.WhileHandle | t.CPtr
ForH: HandlesFor.ForHandle | t.CPtr
ExprH: HandlesExpr.ExprHandle | t.CPtr
ExprCallH: HandlesExprCall.ExprCallHandle | t.CPtr
SymTab: HandlesVar.SymbolTable | t.CPtr
def __init__(self: Translator) -> t.CInt: pass
def _init_state(self: Translator, pool: memhub.MemBuddy | t.CPtr) -> t.CInt: pass
def translate(self: Translator, tree: ast.AST | t.CPtr) -> int: pass
def _translate_wrapper_main(self: Translator, pool: memhub.MemBuddy | t.CPtr, mod: llvmlite.LLVMModule | t.CPtr, tree: ast.AST | t.CPtr, i32_ty: llvmlite.LLVMType | t.CPtr) -> t.CInt: pass
def _translate_module_level(self: Translator, pool: memhub.MemBuddy | t.CPtr, mod: llvmlite.LLVMModule | t.CPtr, tree: ast.AST | t.CPtr) -> t.CInt: pass
def dump_ir(self: Translator, buf: bytes, size: t.CSizeT, mode: int) -> t.CInt: pass
def add_global_name(trans: HT.Translator | t.CPtr, name: str) -> t.CInt: pass
def is_global_name(trans: HT.Translator | t.CPtr, name: str) -> int: pass
def add_nonlocal_name(trans: HT.Translator | t.CPtr, name: str) -> t.CInt: pass
def is_nonlocal_name(trans: HT.Translator | t.CPtr, name: str) -> int: pass
def get_nonlocal_index(trans: HT.Translator | t.CPtr, name: str) -> int: pass
def clear_scope_names(trans: HT.Translator | t.CPtr) -> t.CInt: pass
_mbuddy: t.CExtern | memhub.MemBuddy | t.CPtr

View File

@@ -1 +0,0 @@
{"is_cdefine_annotation": "检测注解是否为 t.CDefine返回 1 表示是0 表示否", "extract_cdefine_int_value": "从值节点提取整数常量(仅支持 Constant INT", "AnnAssignHandle": "AnnAssign 语句处理器:继承 Mixin 获得 Trans 回指针", "AnnAssignHandle.PreScan": "预扫描 AnnAssign提前创建 alloca 到 entry block 顶部", "AnnAssignHandle.Handle": "翻译 AnnAssign(target=Name, annotation=..., value=expr)"}

View File

@@ -1,33 +0,0 @@
"""
Auto-generated Python stub file from lib.core.Handles.HandlesAnnAssign.py
Module: lib.core.Handles.HandlesAnnAssign
"""
import t, c
from stdint import *
import ast
import llvmlite
import memhub
import string
import lib.core.Handles.HandlesBase as HandlesBase
import lib.core.Handles.HandlesTranslator as HT
import lib.core.Handles.HandlesVar as HandlesVar
import lib.core.Handles.HandlesExpr as HandlesExpr
import lib.core.Handles.HandlesType as HandlesType
import lib.core.Handles.HandlesNonlocal as HandlesNonlocal
import lib.core.Handles.HandlesClassDef as HandlesClassDef
import lib.core.Handles.HandlesExprCall as HandlesExprCall
def is_cdefine_annotation(annot: ast.AST | t.CPtr) -> int: pass
def extract_cdefine_int_value(val_node: ast.AST | t.CPtr) -> int: pass
@t.NoVTable
class AnnAssignHandle(HandlesBase.Mixin):
def __init__(self: AnnAssignHandle, trans: HT.Translator | t.CPtr) -> t.CInt: pass
def PreScan(self: AnnAssignHandle, node: ast.AST | t.CPtr) -> int: pass
def Handle(self: AnnAssignHandle, node: ast.AST | t.CPtr) -> int: pass
def NewAnnAssignHandle(pool: memhub.MemBuddy | t.CPtr, trans: HT.Translator | t.CPtr) -> AnnAssignHandle | t.CPtr: pass

View File

@@ -1 +0,0 @@
{"AssignHandle": "Assign 语句处理器:继承 Mixin 获得 Trans 回指针 + 共享方法"}

View File

@@ -1,30 +0,0 @@
"""
Auto-generated Python stub file from lib.core.Handles.HandlesAssign.py
Module: lib.core.Handles.HandlesAssign
"""
import t, c
from stdint import *
import ast
import llvmlite
import memhub
import string
import stdio
import viperlib
import lib.core.Handles.HandlesBase as HandlesBase
import lib.core.Handles.HandlesTranslator as HT
import lib.core.Handles.HandlesVar as HandlesVar
import lib.core.Handles.HandlesExpr as HandlesExpr
import lib.core.Handles.HandlesExprCall as HandlesExprCall
import lib.core.Handles.HandlesNonlocal as HandlesNonlocal
import lib.core.Handles.HandlesType as HandlesType
import lib.core.Handles.HandlesStruct as HandlesStruct
@t.NoVTable
class AssignHandle(HandlesBase.Mixin):
_CurrentClass: str
def __init__(self: AssignHandle, trans: HT.Translator | t.CPtr) -> t.CInt: pass
def Handle(self: AssignHandle, node: ast.AST | t.CPtr) -> int: pass
def NewAssignHandle(pool: memhub.MemBuddy | t.CPtr, trans: HT.Translator | t.CPtr) -> AssignHandle | t.CPtr: pass

View File

@@ -1 +0,0 @@
{"ForHandle": "for 循环语句处理器:继承 Mixin 获得 Trans 回指针", "ForHandle.Handle": "翻译 for i in range(...) 循环语句", "ForHandle._handle_ptr_iter": "指针迭代: for x in ptr: 直到解引用为空"}

View File

@@ -1,28 +0,0 @@
"""
Auto-generated Python stub file from lib.core.Handles.HandlesFor.py
Module: lib.core.Handles.HandlesFor
"""
import t, c
from stdint import *
import ast
import llvmlite
import memhub
import string
import stdio
import viperlib
import lib.core.Handles.HandlesBase as HandlesBase
import lib.core.Handles.HandlesTranslator as HT
import lib.core.Handles.HandlesVar as HandlesVar
import lib.core.Handles.HandlesExpr as HandlesExpr
import lib.core.Handles.HandlesBody as HandlesBody
import lib.core.Handles.HandlesType as HandlesType
@t.NoVTable
class ForHandle(HandlesBase.Mixin):
def __init__(self: ForHandle, trans: HT.Translator | t.CPtr) -> t.CInt: pass
def Handle(self: ForHandle, node: ast.AST | t.CPtr) -> int: pass
def _handle_ptr_iter(self: ForHandle, for_node: ast.For | t.CPtr, var_name: str) -> int: pass
def NewForHandle(pool: memhub.MemBuddy | t.CPtr, trans: HT.Translator | t.CPtr) -> ForHandle | t.CPtr: pass

File diff suppressed because one or more lines are too long

View File

@@ -1,139 +0,0 @@
"""
Auto-generated Python stub file from lib.core.Handles.HandlesStruct.py
Module: lib.core.Handles.HandlesStruct
"""
import t, c
from stdint import *
import memhub
import string
import llvmlite
import stdio
import ast
import hashtable
STRUCT_MAX: t.CDefine = 512
FIELD_MAX: t.CDefine = 32
FIELD_NAME_MAX: t.CDefine = 64
@t.NoVTable
class FieldEntry:
Name: t.CChar | t.CPtr
Index: int
Ty: llvmlite.LLVMType | t.CPtr
DefaultVal: ast.AST | t.CPtr
AnnotClassName: t.CChar | t.CPtr
@t.NoVTable
class StructEntry:
Name: t.CChar | t.CPtr
Ty: llvmlite.LLVMType | t.CPtr
FieldCount: int
Fields: FieldEntry | t.CPtr
IsUnion: int
IsOOP: int
HasInit: int
HasNew: int
HasVTable: int
IsNoVTable: int
ParentName: t.CChar | t.CPtr
VTableMethodCount: int
VTableMethods: t.CChar | t.CPtr
ModuleSha1: t.CChar | t.CPtr
_struct_table: t.CExtern | StructEntry | t.CPtr
_struct_count: t.CExtern | int
_visible_structs: t.CExtern | hashtable.HashTable | t.CPtr
_strict_visibility: t.CExtern | int
def reset_visible_structs(pool: memhub.MemBuddy | t.CPtr, strict: int) -> t.CInt: pass
def add_visible_struct(pool: memhub.MemBuddy | t.CPtr, name: str) -> t.CInt: pass
def is_struct_visible(name: str) -> int: pass
def init_struct_table(pool: memhub.MemBuddy | t.CPtr) -> int: pass
def _get_struct_entry(i: int) -> StructEntry | t.CPtr: pass
def _get_field_entry(struct_entry: StructEntry | t.CPtr, i: int) -> FieldEntry | t.CPtr: pass
def register_struct(pool: memhub.MemBuddy | t.CPtr, name: str, struct_ty: llvmlite.LLVMType | t.CPtr, sha1: str) -> StructEntry | t.CPtr: pass
def set_struct_sha1(pool: memhub.MemBuddy | t.CPtr, class_name: str, sha1: str) -> int: pass
def get_struct_sha1(class_name: str) -> str: pass
def add_field(pool: memhub.MemBuddy | t.CPtr, struct_entry: StructEntry | t.CPtr, field_name: str, field_ty: llvmlite.LLVMType | t.CPtr, default_val: ast.AST | t.CPtr, annot_class_name: t.CChar | t.CPtr) -> int: pass
def find_struct(name: str) -> StructEntry | t.CPtr: pass
def find_struct_by_module(name: str, sha1: str) -> StructEntry | t.CPtr: pass
def find_struct_by_type(struct_ty: llvmlite.LLVMType | t.CPtr) -> StructEntry | t.CPtr: pass
def lookup_field(struct_ty: llvmlite.LLVMType | t.CPtr, field_name: str) -> FieldEntry | t.CPtr: pass
def lookup_field_by_class(class_name: str, field_name: str, sha1: str) -> FieldEntry | t.CPtr: pass
def get_struct_type(class_name: str) -> llvmlite.LLVMType | t.CPtr: pass
def get_field_by_index(class_name: str, idx: int) -> FieldEntry | t.CPtr: pass
def struct_has_defaults(class_name: str) -> int: pass
def _is_struct_type(ty: llvmlite.LLVMType | t.CPtr) -> int: pass
def get_struct_type_from_value(val: llvmlite.Value | t.CPtr) -> llvmlite.LLVMType | t.CPtr: pass
def mark_as_union(name: str) -> int: pass
def is_union_by_name(name: str) -> int: pass
def is_union_by_type(struct_ty: llvmlite.LLVMType | t.CPtr) -> int: pass
def mark_as_oop(name: str) -> int: pass
def is_oop_by_name(name: str) -> int: pass
def mark_has_init(name: str) -> int: pass
def has_init_by_name(name: str) -> int: pass
def mark_has_new(name: str) -> int: pass
def has_new_by_name(name: str) -> int: pass
def get_class_name_by_type(pool: memhub.MemBuddy | t.CPtr, struct_ty: llvmlite.LLVMType | t.CPtr) -> str: pass
def _extract_struct_name(ty: llvmlite.LLVMType | t.CPtr) -> str: pass
def mark_has_vtable(name: str) -> int: pass
def has_vtable_by_name(name: str) -> int: pass
def mark_novtable(name: str) -> int: pass
def is_novtable_by_name(name: str) -> int: pass
def set_parent_name(name: str, parent_name: str) -> int: pass
def get_parent_name(name: str) -> str: pass
def set_vtable_methods(name: str, methods: t.CChar | t.CPtr, count: int) -> int: pass
def get_vtable_method_index(name: str, method_name: str) -> int: pass
def get_vtable_method_count(name: str) -> int: pass
def get_vtable_method_name(name: str, idx: int) -> str: pass
def get_field_count(name: str) -> int: pass
def get_field_name_ptr(fe: FieldEntry | t.CPtr) -> str: pass
def get_field_type_ptr(fe: FieldEntry | t.CPtr) -> llvmlite.LLVMType | t.CPtr: pass
def get_field_default_ptr(fe: FieldEntry | t.CPtr) -> ast.AST | t.CPtr: pass
def get_field_annot_class_name(fe: FieldEntry | t.CPtr) -> str: pass

View File

@@ -1 +0,0 @@
{"AugAssignHandle": "增强赋值处理器 (+=, -=, *=, etc.):继承 Mixin 获得 Trans 回指针", "AugAssignHandle.Handle": "翻译增强赋值语句 (x += 1, y -= 2, etc.)", "_apply_aug_op": "应用增强赋值的二元运算(指针算术 + 整数运算)"}

View File

@@ -1,27 +0,0 @@
"""
Auto-generated Python stub file from lib.core.Handles.HandlesAugAssign.py
Module: lib.core.Handles.HandlesAugAssign
"""
import t, c
from stdint import *
import ast
import llvmlite
import memhub
import stdio
import string
import lib.core.Handles.HandlesBase as HandlesBase
import lib.core.Handles.HandlesTranslator as HT
import lib.core.Handles.HandlesVar as HandlesVar
import lib.core.Handles.HandlesExpr as HandlesExpr
import lib.core.Handles.HandlesNonlocal as HandlesNonlocal
@t.NoVTable
class AugAssignHandle(HandlesBase.Mixin):
def __init__(self: AugAssignHandle, trans: HT.Translator | t.CPtr) -> t.CInt: pass
def Handle(self: AugAssignHandle, node: ast.AST | t.CPtr) -> int: pass
def _apply_aug_op(pool: memhub.MemBuddy | t.CPtr, builder: llvmlite.IRBuilder | t.CPtr, op: int, lhs: llvmlite.Value | t.CPtr, rhs: llvmlite.Value | t.CPtr) -> llvmlite.Value | t.CPtr: pass
def NewAugAssignHandle(pool: memhub.MemBuddy | t.CPtr, trans: HT.Translator | t.CPtr) -> AugAssignHandle | t.CPtr: pass

View File

@@ -1 +0,0 @@
{"add_imported_module": "记录已导入的模块名,返回新的 imported_modules 字符串指针", "is_module_imported": "检查模块是否已导入(词边界精确匹配,避免子串误匹配)", "add_from_import": "添加 from-import 映射 \"name:module\",返回新的 from_imports 字符串", "lookup_from_import": "查找 from-import 名称,返回模块名或 None\n\n 支持 star import: 如果 from_imports 中有 \"*:module\" 条目,\n 且未找到精确名称匹配,且 allow_star_fallback != 0则返回 star import 的模块名。\n ", "_resolve_relative_module": "解析相对导入为完整模块名", "compute_package_from_relpath": "从相对路径计算包名(目录部分,分隔符替换为 .", "ImportsHandle": "导入语句处理器:继承 Mixin 获得 Trans 回指针", "ImportsHandle.HandleImport": "处理 import 语句,返回 0", "ImportsHandle.HandleImportFromModule": "处理 from X import Y 的模块部分,更新 trans._imported_modules", "ImportsHandle.HandleImportFromNames": "处理 from X import Y 的名称部分,更新 trans._from_imports"}

View File

@@ -1,38 +0,0 @@
"""
Auto-generated Python stub file from lib.core.Handles.HandlesImports.py
Module: lib.core.Handles.HandlesImports
"""
import t, c
from stdint import *
import ast
import memhub
import string
import viperlib
import stdio
import lib.core.Handles.HandlesBase as HandlesBase
import lib.core.Handles.HandlesTranslator as HT
import lib.core.Handles.HandlesStruct as HandlesStruct
def add_imported_module(pool: memhub.MemBuddy | t.CPtr, imported_modules: str, name: str) -> str: pass
def is_module_imported(imported_modules: str, name: str) -> int: pass
def add_from_import(pool: memhub.MemBuddy | t.CPtr, from_imports: str, local_name: str, module_name: str) -> str: pass
def lookup_from_import(from_imports: str, name: str, allow_star_fallback: int) -> str: pass
def _resolve_relative_module(pool: memhub.MemBuddy | t.CPtr, current_package: str, level: t.CInt, module: str) -> str: pass
def compute_package_from_relpath(pool: memhub.MemBuddy | t.CPtr, rel_path: str) -> str: pass
@t.NoVTable
class ImportsHandle(HandlesBase.Mixin):
def __init__(self: ImportsHandle, trans: HT.Translator | t.CPtr) -> t.CInt: pass
def HandleImport(self: ImportsHandle, node: ast.AST | t.CPtr) -> int: pass
def HandleImportFromModule(self: ImportsHandle, node: ast.AST | t.CPtr) -> int: pass
def HandleImportFromNames(self: ImportsHandle, node: ast.AST | t.CPtr) -> int: pass
def NewImportsHandle(pool: memhub.MemBuddy | t.CPtr, trans: HT.Translator | t.CPtr) -> ImportsHandle | t.CPtr: pass

View File

@@ -1,100 +0,0 @@
"""
Auto-generated Python stub file from w32.win32base.py
Module: w32.win32base
"""
import c
import t
from stdint import *
HANDLE: t.CTypedef = VOIDPTR
LPCSTR: t.CTypedef = t.CConst | t.CChar | t.CPtr
LPCWSTR: t.CTypedef = t.CConst | t.CUnsignedShort | t.CPtr
INVALID_HANDLE_VALUE: t.CDefine = t.CVoid(-1)
NULL: t.CDefine = 0
TRUE: t.CDefine = 1
FALSE: t.CDefine = 0
INFINITE: t.CDefine = 0xFFFFFFFF
WAIT_FAILED: t.CDefine = 0xFFFFFFFF
WAIT_OBJECT_0: t.CDefine = 0
WAIT_TIMEOUT: t.CDefine = 258
WAIT_ABANDONED: t.CDefine = 0x80
MAX_PATH: t.CDefine = 260
ERROR_SUCCESS: t.CDefine = 0
ERROR_FILE_NOT_FOUND: t.CDefine = 2
ERROR_ACCESS_DENIED: t.CDefine = 5
ERROR_INSUFFICIENT_BUFFER: t.CDefine = 122
class SECURITY_ATTRIBUTES:
nLength: ULONG
lpSecurityDescriptor: VOIDPTR
bInheritHandle: BOOL
class OVERLAPPED:
Internal: ULONGLONG
InternalHigh: ULONGLONG
Offset: ULONG
OffsetHigh: ULONG
hEvent: HANDLE
class FILETIME:
dwLowDateTime: DWORD
dwHighDateTime: DWORD
class SYSTEMTIME:
wYear: WORD
wMonth: WORD
wDayOfWeek: WORD
wDay: WORD
wHour: WORD
wMinute: WORD
wSecond: WORD
wMilliseconds: WORD
class GUID:
Data1: DWORD
Data2: WORD
Data3: WORD
Data4: BYTEPTR
class LARGE_INTEGER:
QuadPart: LONGLONG
class ULARGE_INTEGER:
QuadPart: ULONGLONG
def GetLastError() -> ULONG | t.State: pass
def SetLastError(dwErrCode: ULONG) -> t.State: pass
def CloseHandle(hObject: HANDLE) -> BOOL | t.State: pass
def GetProcAddress(hModule: HANDLE, lpProcName: LPCSTR) -> VOIDPTR | t.State: pass
def GetModuleHandleA(lpModuleName: LPCSTR) -> HANDLE | t.State: pass
def GetModuleHandleW(lpModuleName: LPCWSTR) -> HANDLE | t.State: pass
def LoadLibraryA(lpLibFileName: LPCSTR) -> HANDLE | t.State: pass
def LoadLibraryW(lpLibFileName: LPCWSTR) -> HANDLE | t.State: pass
def FreeLibrary(hLibModule: HANDLE) -> BOOL | t.State: pass
def GetSystemTime(lpSystemTime: SYSTEMTIME | t.CPtr) -> t.State: pass
def GetLocalTime(lpSystemTime: SYSTEMTIME | t.CPtr) -> t.State: pass
def FileTimeToSystemTime(lpFileTime: FILETIME | t.CPtr, lpSystemTime: SYSTEMTIME | t.CPtr) -> BOOL | t.State: pass
def SystemTimeToFileTime(lpSystemTime: SYSTEMTIME | t.CPtr, lpFileTime: FILETIME | t.CPtr) -> BOOL | t.State: pass
def QueryPerformanceCounter(lpPerformanceCount: LARGE_INTEGER | t.CPtr) -> BOOL | t.State: pass
def QueryPerformanceFrequency(lpFrequency: LARGE_INTEGER | t.CPtr) -> BOOL | t.State: pass
def Sleep(dwMilliseconds: ULONG) -> t.State: pass
def SleepEx(dwMilliseconds: ULONG, bAlertable: BOOL) -> ULONG | t.State: pass
def GetTickCount() -> ULONG | t.State: pass
def GetTickCount64() -> ULONGLONG | t.State: pass
def GetCommandLineA() -> CHARPTR | t.State: pass

View File

@@ -1 +0,0 @@
{"compute_sha1": "计算字符串的 SHA1返回前 16 个十六进制字符(用于文件命名)", "CleanDir": "删除目录中所有文件(非递归),返回删除的文件数,-1 表示错误"}

View File

@@ -1,21 +0,0 @@
"""
Auto-generated Python stub file from lib.Projectrans.Utils.py
Module: lib.Projectrans.Utils
"""
import t, c
from stdint import *
import memhub
import string
import stdlib
import viperlib
import hashlib
import w32.win32file
import w32.win32base
_mbuddy: t.CExtern | memhub.MemManager | t.CPtr
def compute_sha1(pool: memhub.MemBuddy | t.CPtr, content: str) -> str: pass
def CleanDir(dir_path: str) -> int: pass

View File

@@ -1,70 +0,0 @@
"""
Auto-generated Python stub file from llvmlite.__init__.py
Module: llvmlite.__init__
"""
import t, c
from stdint import *
import memhub
import string
import viperlib
from .__types import LLVMType, ParamNode, LLVMTypeCore, Int1, Int8, Int16, Int32, Int64, Ptr, Func, Void, Array, Struct, Half, Float, Double, FP128, Label, new_param_node, param_list_append, paramnode_get_ty, paramnode_get_next, paramnode_set_ty, paramnode_set_next, TypePrint, PrintStructDefinition, get_struct_name
from .__values import Value, new_value, ConstInt, ConstNull, ConstZero, ConstFloat, SSAValue, ValuePrint, value_get_ty, value_get_next, value_set_ty, value_set_next, value_set_name, value_set_isconst
from .__function import Line, BasicBlock, Param, Function, new_line, new_basic_block, new_param, new_function, function_add_param, function_add_block, block_append_line, block_append_text, function_set_attrs, param_set_attrs, function_get_name, function_get_ret_ty, function_get_params, function_get_param_head, function_get_next, function_is_declared, param_get_name, param_get_ty, param_get_next, FunctionPrint
from .__module import LLVMModule, GlobalVariable, NamedTypeNode, new_module, new_global_variable, module_add_function, module_add_global, module_add_named_type, module_set_target, module_set_datalayout, global_set_constant, global_set_linkage, global_set_unnamed_addr, global_set_section, LLVMModulePrint, OUTPUT_FULL, OUTPUT_STUB, OUTPUT_TEXT, module_ensure_opaque_for_type
from .__builder import IRBuilder, new_builder, position_at_end, build_alloca, build_load, build_store, build_add, build_sub, build_mul, build_sdiv, build_udiv, build_srem, build_urem, build_and, build_or, build_xor, build_shl, build_lshr, build_ashr, build_fadd, build_fsub, build_fmul, build_fdiv, build_frem, build_fneg, build_icmp, build_fcmp, build_br, build_cond_br, build_ret, build_ret_void, build_call, build_call_indirect, build_bitcast, build_sext, build_trunc, build_zext, build_ptrtoint, build_inttoptr, build_fpext, build_fptrunc, build_fp2si, build_si2fp, build_fp2ui, build_ui2fp, build_gep, build_gep_array, build_gep_struct, build_phi, build_switch, build_select, build_unreachable, build_atomicrmw, build_cmpxchg, build_inline_asm, PhiIncoming, new_phi_incoming, SwitchCase, new_switch_case, ICMP_EQ, ICMP_NE, ICMP_SGT, ICMP_SGE, ICMP_SLT, ICMP_SLE, ICMP_UGT, ICMP_UGE, ICMP_ULT, ICMP_ULE, FCMP_FALSE, FCMP_OEQ, FCMP_OGT, FCMP_OGE, FCMP_OLT, FCMP_OLE, FCMP_ONE, FCMP_ORD, FCMP_UNO, FCMP_UEQ, FCMP_UGT, FCMP_UGE, FCMP_ULT, FCMP_ULE, FCMP_UNE, FCMP_TRUE, ATOMIC_XCHG, ATOMIC_ADD, ATOMIC_SUB, ATOMIC_AND, ATOMIC_NAND, ATOMIC_OR, ATOMIC_XOR, ATOMIC_MAX, ATOMIC_MIN, ATOMIC_UMAX, ATOMIC_UMIN, ATOMIC_ORDER_NOTATOMIC, ATOMIC_ORDER_UNORDERED, ATOMIC_ORDER_MONOTONIC, ATOMIC_ORDER_ACQUIRE, ATOMIC_ORDER_RELEASE, ATOMIC_ORDER_ACQ_REL, ATOMIC_ORDER_SEQ_CST
from .__verify import VerifyResult, NameEntry, verify_function, verify_module, VERIFY_OK, VERIFY_ERR_NO_TERMINATOR, VERIFY_ERR_DUPLICATE_DEF, VERIFY_ERR_UNDEFINED_USE, VERIFY_ERR_PHI_NOT_FIRST, _new_verify_result
def _str_dup(pool: memhub.MemBuddy | t.CPtr, src: t.CChar | t.CPtr) -> t.CChar | t.CPtr: pass
def create_block(pool: memhub.MemBuddy | t.CPtr, func: Function | t.CPtr, name: t.CChar | t.CPtr) -> BasicBlock | t.CPtr: pass
def const_int(pool: memhub.MemBuddy | t.CPtr, bits: t.CInt, val: t.CInt64T) -> Value | t.CPtr: pass
def const_int32(pool: memhub.MemBuddy | t.CPtr, val: t.CInt64T) -> Value | t.CPtr: pass
def const_int64(pool: memhub.MemBuddy | t.CPtr, val: t.CInt64T) -> Value | t.CPtr: pass
def create_function(pool: memhub.MemBuddy | t.CPtr, mod: LLVMModule | t.CPtr, name: t.CChar | t.CPtr, ret_ty: LLVMType | t.CPtr) -> Function | t.CPtr: pass
def add_param(pool: memhub.MemBuddy | t.CPtr, func: Function | t.CPtr, ty: LLVMType | t.CPtr, name: t.CChar | t.CPtr) -> Param | t.CPtr: pass
def create_declare(pool: memhub.MemBuddy | t.CPtr, mod: LLVMModule | t.CPtr, name: t.CChar | t.CPtr, ret_ty: LLVMType | t.CPtr) -> Function | t.CPtr: pass
def create_global_string(pool: memhub.MemBuddy | t.CPtr, mod: LLVMModule | t.CPtr, name: t.CChar | t.CPtr, text: t.CChar | t.CPtr) -> GlobalVariable | t.CPtr: pass
def create_global_int(pool: memhub.MemBuddy | t.CPtr, mod: LLVMModule | t.CPtr, name: t.CChar | t.CPtr, bits: t.CInt, val: t.CInt64T) -> GlobalVariable | t.CPtr: pass
@t.NoVTable
class LLVMModuleCore:
Pool: memhub.MemBuddy | t.CPtr
def __init__(self: LLVMModuleCore, pool: memhub.MemBuddy | t.CPtr) -> t.CInt: pass
def NewModule(self: LLVMModuleCore, name: t.CChar | t.CPtr) -> LLVMModule | t.CPtr: pass
def CreateFunction(self: LLVMModuleCore, mod: LLVMModule | t.CPtr, name: t.CChar | t.CPtr, ret_ty: LLVMType | t.CPtr) -> Function | t.CPtr: pass
def CreateDeclare(self: LLVMModuleCore, mod: LLVMModule | t.CPtr, name: t.CChar | t.CPtr, ret_ty: LLVMType | t.CPtr) -> Function | t.CPtr: pass
def AddParam(self: LLVMModuleCore, func: Function | t.CPtr, ty: LLVMType | t.CPtr, name: t.CChar | t.CPtr) -> Param | t.CPtr: pass
def FunctionSetAttrs(self: LLVMModuleCore, func: Function | t.CPtr, attrs: t.CChar | t.CPtr) -> t.CInt: pass
def ParamSetAttrs(self: LLVMModuleCore, param: Param | t.CPtr, attrs: t.CChar | t.CPtr) -> t.CInt: pass
def CreateBlock(self: LLVMModuleCore, func: Function | t.CPtr, name: t.CChar | t.CPtr) -> BasicBlock | t.CPtr: pass
def NewBuilder(self: LLVMModuleCore, func: Function | t.CPtr) -> IRBuilder | t.CPtr: pass
def NewGlobal(self: LLVMModuleCore, mod: LLVMModule | t.CPtr, name: t.CChar | t.CPtr, ty: LLVMType | t.CPtr) -> GlobalVariable | t.CPtr: pass
def CreateGlobalString(self: LLVMModuleCore, mod: LLVMModule | t.CPtr, name: t.CChar | t.CPtr, text: t.CChar | t.CPtr) -> GlobalVariable | t.CPtr: pass
def CreateGlobalInt(self: LLVMModuleCore, mod: LLVMModule | t.CPtr, name: t.CChar | t.CPtr, bits: t.CInt, val: t.CInt64T) -> GlobalVariable | t.CPtr: pass
def GlobalSetConstant(self: LLVMModuleCore, gv: GlobalVariable | t.CPtr, is_const: t.CInt) -> t.CInt: pass
def GlobalSetLinkage(self: LLVMModuleCore, gv: GlobalVariable | t.CPtr, linkage: t.CChar | t.CPtr) -> t.CInt: pass
def GlobalSetUnnamedAddr(self: LLVMModuleCore, gv: GlobalVariable | t.CPtr, level: t.CInt) -> t.CInt: pass
def GlobalSetSection(self: LLVMModuleCore, gv: GlobalVariable | t.CPtr, section: t.CChar | t.CPtr) -> t.CInt: pass
def ConstInt(self: LLVMModuleCore, bits: t.CInt, val: t.CInt64T) -> Value | t.CPtr: pass
def ConstInt32(self: LLVMModuleCore, val: t.CInt64T) -> Value | t.CPtr: pass
def ConstInt64(self: LLVMModuleCore, val: t.CInt64T) -> Value | t.CPtr: pass
def ConstFloat(self: LLVMModuleCore, ty: LLVMType | t.CPtr, val: t.CDouble) -> Value | t.CPtr: pass
def SSAValue(self: LLVMModuleCore, ty: LLVMType | t.CPtr, name: t.CChar | t.CPtr) -> Value | t.CPtr: pass
def ConstNull(self: LLVMModuleCore, ty: LLVMType | t.CPtr, name: t.CChar | t.CPtr) -> Value | t.CPtr: pass
def PrintValue(self: LLVMModuleCore, buf: t.CChar | t.CPtr, size: t.CSizeT, val: Value | t.CPtr) -> t.CInt: pass
def PrintFunction(self: LLVMModuleCore, buf: t.CChar | t.CPtr, size: t.CSizeT, func: Function | t.CPtr) -> t.CInt: pass
def PrintModule(self: LLVMModuleCore, buf: t.CChar | t.CPtr, size: t.CSizeT, mod: LLVMModule | t.CPtr) -> t.CInt: pass
def NewVerifyResult(self: LLVMModuleCore, buf_size: t.CSizeT) -> VerifyResult | t.CPtr: pass
def VerifyFunction(self: LLVMModuleCore, func: Function | t.CPtr, result: VerifyResult | t.CPtr) -> t.CInt: pass
def VerifyModule(self: LLVMModuleCore, mod: LLVMModule | t.CPtr, result: VerifyResult | t.CPtr) -> t.CInt: pass

File diff suppressed because one or more lines are too long

View File

@@ -1,80 +1,80 @@
0035c95a18d4f8e8:includes/w32\fileio.py
02885f6f134079c2:lib\core\Handles\HandlesVar.py
067c78e9f121dce3:includes/w32\win32process.py
06f53cc594b4ac6c:includes/w32\win32sync.py
07a8c82a8ca2be90:lib\core\Handles\HandlesExprOps.py
0c212981c180e7fb:includes/ast\lexer.py
0c56128647a0b845:lib\core\Handles\HandlesType.py
0c9a196ed8f137a8:includes/llvmlite\__function.py
0df65b8ed15664b0:includes/hashlib\__sha1.py
159967284b0392a8:lib\core\Handles\HandlesExpr.py
15f1ded02f3aa5bc:includes/llvmlite\__types.py
0f2ec5a0ea127bf7:includes/w32\win32base.py
1563f524ea59aee2:lib/core/Handles/HandlesMain.py
19f8024d10c828e8:includes/hashlib\__md5.py
1c6a2fbc52efb1eb:includes/ast\parser.py
20cd49775c100a38:includes/json\__writer.py
21a7fcfc665f75ef:includes/llvmlite\__module.py
21fffba3315e81b4:lib\core\VLogger.py
240a9a4157959a9f:includes/json\__parser.py
2624f814f0426f7d:lib\Projectrans\Config.py
26bbf0af9e538483:lib/core/Handles/HandlesExprCall.py
2703a899f26b771d:lib/core/Handles/HandlesReturn.py
271ea3decb810db2:includes/atom.py
2998b8f78d7022bf:lib\core\Handles\HandlesTranslator.py
273767e73e99360d:lib/core/Handles/HandlesFunctions.py
2d39c6c7d3557b3e:includes/linkedlist.py
2d8debefda779c40:includes/llvmlite\__types.py
2da636c61863c815:includes/subprocess.py
2ed380190e9df89e:lib\core\Handles\HandlesAnnAssign.py
30a3729d9d006176:lib/core/Handles/HandlesStruct.py
31e49accebfc8aac:lib/core/Handles/HandlesAugAssign.py
34548789d646f432:includes/ast\__init__.py
3d3edda4a4e6c08b:lib\core\Handles\HandlesAssign.py
3bfb3d482babffea:lib/core/StubMerger.py
4337fb260448bbe2:includes/ast\astaux.py
47767b5026a8ee15:includes/ast\exprs.py
48fa8cc758d3826b:lib\core\Handles\HandlesFor.py
4dd6b3f1427d1cc5:includes/ast\match.py
51f0144d6e8188d9:lib\core\Handles\HandlesWhile.py
54014f6c53e9640b:lib\core\Handles\HandlesStruct.py
541a090dde0cc1ba:lib\core\Handles\HandlesAugAssign.py
560d283cc2aa0a7e:lib\core\BuildPipeline.py
51f0144d6e8188d9:lib/core/Handles/HandlesWhile.py
5618258560f966d9:lib/core/Handles/HandlesAnnAssign.py
57288496f7c2d1ad:includes/json\__init__.py
57f5af31fb28c259:lib/core/BuildPipeline.py
5dab8cb390496d22:includes/ast\base.py
6293eee0a5805aa5:lib/core/Handles/HandlesImports.py
6503c97dde0c79c4:includes/posix.py
657e182b27c2a022:includes/ast\stmts.py
668790e6c9efdbae:includes/_list.py
66de93aaeebc0601:lib\core\Handles\HandlesIf.py
66de93aaeebc0601:lib/core/Handles/HandlesIf.py
68ddd5cc3fecbb2e:lib/Projectrans/Utils.py
692919c5a194ac8d:includes/llvmlite\__module.py
6b3bc463fd044545:includes/llvmlite\__verify.py
6d4e0608efefb78b:lib\StubGen\Converter.py
6cb15dde11ae2df1:lib/core/Handles/HandlesExpr.py
6f62fe05c5ea1ceb:includes/stdio.py
6ff26590374ae6fc:includes/hashlib\__sha512.py
71e0a3ffcb3ebfad:includes/stdarg.py
78bbe886bbe5ca8f:lib\core\Handles\HandlesImports.py
791eb22373fae4b7:lib\core\StubMerger.py
7e529fe7a078cfef:includes/w32\win32base.py
7ef6624cd9949048:lib\core\IncludesScanner.py
81eb28ba912467a6:lib\core\Handles\HandlesBody.py
83ba314b4637eec9:lib\core\Handles\HandlesBase.py
888ea5bd6ab516ae:lib\Projectrans\Utils.py
89b3965176cd2407:includes/llvmlite\__function.py
8f12094c840be06a:lib\__init__.py
727a218636fc49ab:lib/core/Handles/HandlesFor.py
769a4c9b8dda31e0:lib/core/IncludesScanner.py
81eb28ba912467a6:lib/core/Handles/HandlesBody.py
83ba314b4637eec9:lib/core/Handles/HandlesBase.py
86ed9b466210d090:includes/w32\fileio.py
8f12094c840be06a:lib/__init__.py
90c53dd6db8d41cf:includes/stdlib.py
9335f9c689852ba5:includes/argparse.py
93c1d18e35d188d6:includes/platmacro.py
9467b36736d844bd:lib\core\Phase2.py
946e087da91aaada:includes/llvmlite\__builder.py
950028de389b7a7b:main.py
95394ca8da0f655a:includes/llvmlite\__init__.py
959faeab0256d578:lib\core\Handles\HandlesFunctions.py
96837bcc64032444:includes/hashlib\__init__.py
a534cf73df0ccaaf:lib\core\Handles\HandlesClassDef.py
aba439b7882ad9d6:includes/argparse.py
af9484a65085bf4b:lib\core\Handles\HandlesNonlocal.py
a299b2ce21d25f48:lib/StubGen/Converter.py
a9f3c850055ba988:includes/llvmlite\__builder.py
aeb3b313894c4616:includes/memhub.py
af9484a65085bf4b:lib/core/Handles/HandlesNonlocal.py
b547ac4f380bddb6:includes/ast\tokens.py
b5a965302cded36b:includes/sys.py
b8c66c8ff44eb874:includes/hashtable.py
ba12ed409d78139e:includes/string.py
bb6aff9d8496ec9f:lib/core/Phase2.py
bbc9ba0a1caf7acd:lib/core/Handles/HandlesAssign.py
bbdf3bbd4c3bc28c:includes/w32\win32console.py
bc03c843b00a8e64:lib/core/Phase1.py
be8c2d7b882881c8:lib/core/Handles/HandlesExprOps.py
c3b259b4059f8668:includes/viperlib.py
c71b13e39e9a105b:lib\core\Phase1.py
c8f9dfae54946053:lib/core/Handles/HandlesType.py
c9d54a4158f7f5a8:includes/hashlib\__sha256.py
c9f4be41ca1cc2b4:includes/viperio.py
d089e25a15c6f6e0:includes/memhub.py
d9322f0db660edd8:lib\core\Handles\HandlesReturn.py
e592baca1313fbfd:lib\core\Handles\HandlesExprCall.py
e5be27ae4fe7ce04:lib\core\Handles\HandlesEnum.py
ee52c08239684346:includes/ast\parser.py
cb1aa3a78af6f362:lib/core/Handles/HandlesVar.py
eeaeebbc850a20f1:lib/Projectrans/Config.py
f05b14a2ad5767a7:lib/core/Handles/HandlesEnum.py
f1aabfe4d0e2b893:lib/core/VLogger.py
f23f91ad42cb466f:includes/llvmlite\__init__.py
f2a3bab94f5087b8:main.py
f331c46316ec1dd3:lib/core/Handles/HandlesTranslator.py
f5522571bcce7bcb:includes/stdint.py
f6b51804a0ba8ff0:includes/w32\win32file.py
f9bcefb43d61d6dd:lib\core\Handles\HandlesMain.py
f9e36e2cd6fa659f:includes/llvmlite\__values.py
fd52aebc25e17276:lib/core/Handles/HandlesClassDef.py

Binary file not shown.

View File

@@ -1,67 +0,0 @@
"""
Auto-generated Python stub file from argparse.py
Module: argparse
"""
import t, c
from stdint import *
import string
import memhub
import stdio
import hashtable
STRING: t.CDefine = 0
INT: t.CDefine = 1
BOOL: t.CDefine = 2
STORE: t.CDefine = 0
STORE_TRUE: t.CDefine = 1
STORE_FALSE: t.CDefine = 2
COUNT: t.CDefine = 3
MAX_ARGS: t.CDefine = 32
_mbuddy: t.CExtern | memhub.MemBuddy | t.CPtr
class Argument:
name: str
short_name: str
help_text: str
arg_type: INT
action: INT
default_int: INT
default_str: str
required: bool
is_positional: bool
dest: str
class ParsedArgs:
_ht: hashtable.HashTable | t.CPtr
__mbuddy__: memhub.MemBuddy | t.CPtr
def __new__(self: ParsedArgs, mb: memhub.MemBuddy | t.CPtr) -> t.CPtr: pass
def __init__(self: ParsedArgs, mb: memhub.MemBuddy | t.CPtr) -> t.CInt: pass
def get_str(self: ParsedArgs, name: str) -> str: pass
def get_int(self: ParsedArgs, name: str) -> INT: pass
def get_bool(self: ParsedArgs, name: str) -> INT: pass
def has(self: ParsedArgs, name: str) -> bool: pass
def _set_str(self: ParsedArgs, name: str, val: str) -> t.CInt: pass
def _set_int(self: ParsedArgs, name: str, val: INT) -> t.CInt: pass
def _set_bool(self: ParsedArgs, name: str, val: bool) -> t.CInt: pass
class ArgumentParser:
_prog: str
_description: str
_args: Argument | t.CPtr
_arg_count: INT
__mbuddy__: memhub.MemBuddy | t.CPtr
def __new__(self: ArgumentParser, prog: str, description: str, pool: memhub.MemBuddy | t.CPtr) -> t.CPtr: pass
def __init__(self: ArgumentParser, prog: str, description: str, pool: memhub.MemBuddy | t.CPtr) -> t.CInt: pass
def add_argument(self: ArgumentParser, name: str, short: str, arg_type: INT, default: INT, default_str: str, required: bool, action: INT, help: str) -> t.CInt: pass
def _get_arg(self: ArgumentParser, idx: INT) -> Argument | t.CPtr: pass
def _find_long(self: ArgumentParser, token: str) -> INT: pass
def _find_long_prefix(self: ArgumentParser, token: str) -> INT: pass
def _find_short(self: ArgumentParser, token: str) -> INT: pass
def _find_positional(self: ArgumentParser, pos_idx: INT) -> INT: pass
def _store_value(self: ArgumentParser, args: ParsedArgs | t.CPtr, arg: Argument | t.CPtr, value: str) -> t.CInt: pass
def _apply_action(self: ArgumentParser, args: ParsedArgs | t.CPtr, arg: Argument | t.CPtr) -> t.CInt: pass
def parse_args(self: ArgumentParser, argc: INT, argv: str | t.CPtr) -> ParsedArgs | t.CPtr: pass
def print_help(self: ArgumentParser) -> t.CInt: pass
def print_usage(self: ArgumentParser) -> t.CInt: pass
def release(args: ParsedArgs | t.CPtr) -> t.CInt: pass

View File

@@ -1 +0,0 @@
{"ReturnHandle": "Return 语句处理器:继承 Mixin 获得 Trans 回指针", "ReturnHandle.Handle": "翻译 Return 语句"}

View File

@@ -1,23 +0,0 @@
"""
Auto-generated Python stub file from lib.core.Handles.HandlesReturn.py
Module: lib.core.Handles.HandlesReturn
"""
import t, c
from stdint import *
import ast
import llvmlite
import memhub
import string
import lib.core.Handles.HandlesBase as HandlesBase
import lib.core.Handles.HandlesTranslator as HT
import lib.core.Handles.HandlesExpr as HandlesExpr
import lib.core.Handles.HandlesVar as HandlesVar
@t.NoVTable
class ReturnHandle(HandlesBase.Mixin):
def __init__(self: ReturnHandle, trans: HT.Translator | t.CPtr) -> t.CInt: pass
def Handle(self: ReturnHandle, node: ast.AST | t.CPtr) -> int: pass
def NewReturnHandle(pool: memhub.MemBuddy | t.CPtr, trans: HT.Translator | t.CPtr) -> ReturnHandle | t.CPtr: pass

View File

@@ -1 +0,0 @@
{"init_enum_table": "初始化枚举注册表,返回 1 成功", "_get_enum_entry": "获取第 i 个枚举条目", "_get_enum_member": "获取枚举中第 i 个成员条目", "register_enum": "注册枚举类型,返回 EnumEntry 指针", "add_enum_member": "向枚举添加成员,返回成员索引(-1 失败)", "find_enum": "按枚举类名查找,返回 EnumEntry 或 None", "lookup_enum_member": "按枚举类名和成员名查找,返回 EnumMember 或 None", "is_enum_class": "检查类名是否为已注册枚举,返回 1=是 / 0=否", "get_enum_base_type": "按枚举类名获取基准类型"}

View File

@@ -1,48 +0,0 @@
"""
Auto-generated Python stub file from lib.core.Handles.HandlesEnum.py
Module: lib.core.Handles.HandlesEnum
"""
import t, c
from stdint import *
import memhub
import string
import llvmlite
import stdio
ENUM_MAX: t.CDefine = 64
ENUM_MEMBER_MAX: t.CDefine = 64
@t.NoVTable
class EnumMember:
Name: t.CChar | t.CPtr
Value: t.CInt64T
Ty: llvmlite.LLVMType | t.CPtr
@t.NoVTable
class EnumEntry:
Name: t.CChar | t.CPtr
BaseTy: llvmlite.LLVMType | t.CPtr
MemberCount: int
Members: EnumMember | t.CPtr
_enum_table: t.CExtern | EnumEntry | t.CPtr
_enum_count: t.CExtern | int
def init_enum_table(pool: memhub.MemBuddy | t.CPtr) -> int: pass
def _get_enum_entry(i: int) -> EnumEntry | t.CPtr: pass
def _get_enum_member(enum_entry: EnumEntry | t.CPtr, i: int) -> EnumMember | t.CPtr: pass
def register_enum(pool: memhub.MemBuddy | t.CPtr, name: str, base_ty: llvmlite.LLVMType | t.CPtr) -> EnumEntry | t.CPtr: pass
def add_enum_member(pool: memhub.MemBuddy | t.CPtr, enum_entry: EnumEntry | t.CPtr, member_name: str, member_val: t.CInt64T, member_ty: llvmlite.LLVMType | t.CPtr) -> int: pass
def find_enum(name: str) -> EnumEntry | t.CPtr: pass
def lookup_enum_member(enum_name: str, member_name: str) -> EnumMember | t.CPtr: pass
def is_enum_class(name: str) -> int: pass
def get_enum_base_type(enum_name: str) -> llvmlite.LLVMType | t.CPtr: pass

View File

@@ -1,215 +0,0 @@
"""
Auto-generated Python stub file from ast.parser.py
Module: ast.parser
"""
import t, c
from stdint import *
import memhub
import string
from .tokens import Token, TokenType, Keyword, TokOp
from .base import AST, ASTCtx, ASTKind, OpKind, ASTFlag, _set_pos, _binop_from_op, _augop_from_op, _cmpop_from_op, _copy_str, _inherit_pos, _init_ast, CONST_INT, CONST_FLOAT, CONST_STR, CONST_BOOL, CONST_NONE, FLAG_IS_ASYNC
from .exprs import BoolOp, BinOp, UnaryOp, Lambda, IfExp, Dict, Set, ListComp, SetComp, DictComp, GeneratorExp, Await, Yield, YieldFrom, FormattedValue, JoinedStr, Constant, NamedExpr, Attribute, Subscript, Starred, Name, List, Tuple, Slice, Call, Compare, OpNode
from .stmts import Module, Expression, Interactive, FunctionType, FunctionDef, ClassDef, Return, Delete, Assign, AugAssign, AnnAssign, For, While, If, With, Raise, Try, Assert, Global, Nonlocal, Pass, Break, Continue, Expr, Import, ImportFrom, Match
from .astaux import ExceptHandler, Arguments, Arg, Keyword as KwNode, Alias, WithItem, Comprehension
from .match import MatchCase, MatchValue, MatchSingleton, MatchSequence, MatchMapping, MatchClass, MatchStar, MatchAs, MatchOr
from .lexer import Lexer, _lexer_init, tokenize, new_lexer
class Parser:
tokens: Token | t.CPtr
cur: Token | t.CPtr
pool: memhub.MemManager | t.CPtr
error_count: t.CInt
pending_decorators: list[AST | t.CPtr] | t.CPtr
def __new__(self: Parser, pool: memhub.MemManager | t.CPtr) -> t.CInt: pass
def new_parser(pool: memhub.MemManager | t.CPtr) -> Parser | t.CPtr: pass
def _parser_init(ps: Parser | t.CPtr, tokens: Token | t.CPtr, pool: memhub.MemManager | t.CPtr) -> t.CInt: pass
def _advance(ps: Parser | t.CPtr) -> t.CInt: pass
def _cur_type(ps: Parser | t.CPtr) -> t.CInt: pass
def _cur_op(ps: Parser | t.CPtr) -> t.CInt: pass
def _cur_kw(ps: Parser | t.CPtr) -> t.CInt: pass
def _cur_str(ps: Parser | t.CPtr) -> str: pass
def _cur_lineno(ps: Parser | t.CPtr) -> t.CInt: pass
def _cur_col(ps: Parser | t.CPtr) -> t.CInt: pass
def _skip_nl(ps: Parser | t.CPtr) -> t.CInt: pass
def _skip_nls_and_newlines(ps: Parser | t.CPtr) -> t.CInt: pass
def _expect_type(ps: Parser | t.CPtr, ttype: t.CInt) -> t.CInt: pass
def _expect_op(ps: Parser | t.CPtr, op_id: t.CInt) -> t.CInt: pass
def _match_op(ps: Parser | t.CPtr, op_id: t.CInt) -> t.CInt: pass
def _accept_op(ps: Parser | t.CPtr, op_id: t.CInt) -> t.CInt: pass
def _new_const_int(pool: memhub.MemManager | t.CPtr, val: t.CInt64T, lineno: t.CInt, col: t.CInt) -> AST | t.CPtr: pass
def _new_const_float(pool: memhub.MemManager | t.CPtr, val: t.CDouble, lineno: t.CInt, col: t.CInt) -> AST | t.CPtr: pass
def _new_const_str(pool: memhub.MemManager | t.CPtr, val: str, lineno: t.CInt, col: t.CInt) -> AST | t.CPtr: pass
def _new_const_bool(pool: memhub.MemManager | t.CPtr, val: t.CInt, lineno: t.CInt, col: t.CInt) -> AST | t.CPtr: pass
def _new_const_none(pool: memhub.MemManager | t.CPtr, lineno: t.CInt, col: t.CInt) -> AST | t.CPtr: pass
def _set_ctx(node: AST | t.CPtr, ctx: t.CInt) -> t.CInt: pass
def _fix_store_ctx(node: AST | t.CPtr) -> t.CInt: pass
def _parse_expr(ps: Parser | t.CPtr) -> AST | t.CPtr: pass
def _parse_namedexpr(ps: Parser | t.CPtr) -> AST | t.CPtr: pass
def _parse_test(ps: Parser | t.CPtr) -> AST | t.CPtr: pass
def _parse_lambda(ps: Parser | t.CPtr) -> AST | t.CPtr: pass
def _parse_or_test(ps: Parser | t.CPtr) -> AST | t.CPtr: pass
def _parse_and_test(ps: Parser | t.CPtr) -> AST | t.CPtr: pass
def _parse_not_test(ps: Parser | t.CPtr) -> AST | t.CPtr: pass
def _parse_comparison(ps: Parser | t.CPtr) -> AST | t.CPtr: pass
def _match_comp_op(ps: Parser | t.CPtr) -> t.CInt: pass
def _advance_comp_op(ps: Parser | t.CPtr) -> t.CInt: pass
def _parse_bitor(ps: Parser | t.CPtr) -> AST | t.CPtr: pass
def _parse_bitxor(ps: Parser | t.CPtr) -> AST | t.CPtr: pass
def _parse_bitand(ps: Parser | t.CPtr) -> AST | t.CPtr: pass
def _parse_shift(ps: Parser | t.CPtr) -> AST | t.CPtr: pass
def _parse_arith(ps: Parser | t.CPtr) -> AST | t.CPtr: pass
def _parse_term(ps: Parser | t.CPtr) -> AST | t.CPtr: pass
def _parse_factor(ps: Parser | t.CPtr) -> AST | t.CPtr: pass
def _parse_power(ps: Parser | t.CPtr) -> AST | t.CPtr: pass
def _parse_atom_expr(ps: Parser | t.CPtr) -> AST | t.CPtr: pass
def _parse_call(ps: Parser | t.CPtr, func: AST | t.CPtr) -> AST | t.CPtr: pass
def _parse_subscript(ps: Parser | t.CPtr, value: AST | t.CPtr) -> AST | t.CPtr: pass
def _parse_slice(ps: Parser | t.CPtr) -> AST | t.CPtr: pass
def _parse_atom(ps: Parser | t.CPtr) -> AST | t.CPtr: pass
def _parse_paren(ps: Parser | t.CPtr) -> AST | t.CPtr: pass
def _parse_list(ps: Parser | t.CPtr) -> AST | t.CPtr: pass
def _parse_brace(ps: Parser | t.CPtr) -> AST | t.CPtr: pass
def _parse_sub_expr(ps: Parser | t.CPtr, src: str) -> AST | t.CPtr: pass
def _parse_fstring(ps: Parser | t.CPtr, content: str, lineno: t.CInt, col: t.CInt) -> AST | t.CPtr: pass
def _parse_comprehension(ps: Parser | t.CPtr, elt: AST | t.CPtr, vtype: t.CInt, lineno: t.CInt, col: t.CInt) -> AST | t.CPtr: pass
def _parse_comp_for(ps: Parser | t.CPtr) -> list[AST | t.CPtr] | t.CPtr: pass
def _parse_target_list(ps: Parser | t.CPtr) -> AST | t.CPtr: pass
def _parse_target(ps: Parser | t.CPtr) -> AST | t.CPtr: pass
def _parse_yield(ps: Parser | t.CPtr) -> AST | t.CPtr: pass
def _parse_varargslist(ps: Parser | t.CPtr, is_lambda: t.CInt) -> AST | t.CPtr: pass
def _parse_arg_def(ps: Parser | t.CPtr, is_lambda: t.CInt) -> AST | t.CPtr: pass
def _parse_suite_into_children(ps: Parser | t.CPtr, parent: AST | t.CPtr) -> t.CInt: pass
def _parse_statement_into(ps: Parser | t.CPtr, parent: AST | t.CPtr) -> t.CInt: pass
def _parse_simple_stmt_into(ps: Parser | t.CPtr, parent: AST | t.CPtr) -> t.CInt: pass
def _parse_small_stmt(ps: Parser | t.CPtr) -> AST | t.CPtr: pass
def _maybe_tuple(ps: Parser | t.CPtr, first: AST | t.CPtr) -> AST | t.CPtr: pass
def _parse_testlist(ps: Parser | t.CPtr) -> AST | t.CPtr: pass
def _parse_expr_stmt(ps: Parser | t.CPtr, first: AST | t.CPtr) -> AST | t.CPtr: pass
def _parse_return(ps: Parser | t.CPtr) -> AST | t.CPtr: pass
def _parse_raise(ps: Parser | t.CPtr) -> AST | t.CPtr: pass
def _parse_global(ps: Parser | t.CPtr) -> AST | t.CPtr: pass
def _parse_nonlocal(ps: Parser | t.CPtr) -> AST | t.CPtr: pass
def _parse_import(ps: Parser | t.CPtr) -> AST | t.CPtr: pass
def _parse_from_import(ps: Parser | t.CPtr) -> AST | t.CPtr: pass
def _parse_alias_list(ps: Parser | t.CPtr) -> list[AST | t.CPtr] | t.CPtr: pass
def _parse_del(ps: Parser | t.CPtr) -> AST | t.CPtr: pass
def _parse_assert(ps: Parser | t.CPtr) -> AST | t.CPtr: pass
def _parse_compound(ps: Parser | t.CPtr) -> AST | t.CPtr: pass
def _parse_if(ps: Parser | t.CPtr) -> AST | t.CPtr: pass
def _parse_if_tail(ps: Parser | t.CPtr) -> list[AST | t.CPtr] | t.CPtr: pass
def _parse_while(ps: Parser | t.CPtr) -> AST | t.CPtr: pass
def _parse_for(ps: Parser | t.CPtr, is_async: t.CInt) -> AST | t.CPtr: pass
def _parse_try(ps: Parser | t.CPtr) -> AST | t.CPtr: pass
def _parse_except_handler(ps: Parser | t.CPtr) -> AST | t.CPtr: pass
def _parse_with(ps: Parser | t.CPtr, is_async: t.CInt) -> AST | t.CPtr: pass
def _parse_with_item(ps: Parser | t.CPtr) -> AST | t.CPtr: pass
def _parse_funcdef(ps: Parser | t.CPtr, is_async: t.CInt) -> AST | t.CPtr: pass
def _parse_classdef(ps: Parser | t.CPtr) -> AST | t.CPtr: pass
def _parse_match(ps: Parser | t.CPtr) -> AST | t.CPtr: pass
def _make_name_ast(pool: memhub.MemManager | t.CPtr, node: Name | t.CPtr) -> AST | t.CPtr: pass
def _parse_pattern(ps: Parser | t.CPtr) -> AST | t.CPtr: pass
def _parse_closed_pattern(ps: Parser | t.CPtr) -> AST | t.CPtr: pass
def _parse_sequence_pattern(ps: Parser | t.CPtr, close_op: t.CInt, lineno: t.CInt, col: t.CInt) -> AST | t.CPtr: pass
def _parse_mapping_pattern(ps: Parser | t.CPtr, lineno: t.CInt, col: t.CInt) -> AST | t.CPtr: pass
def _parse_class_pattern(ps: Parser | t.CPtr, cls: AST | t.CPtr, lineno: t.CInt, col: t.CInt) -> AST | t.CPtr: pass
def _parse_match_case(ps: Parser | t.CPtr) -> AST | t.CPtr: pass
def _parse_decorators(ps: Parser | t.CPtr) -> list[AST | t.CPtr] | t.CPtr: pass
def _parse_module_body(ps: Parser | t.CPtr, module_node: AST | t.CPtr) -> t.CInt: pass
def parse_tokens(pool: memhub.MemManager | t.CPtr, tokens: Token | t.CPtr) -> AST | t.CPtr: pass