35 lines
1.1 KiB
Python
35 lines
1.1 KiB
Python
"""
|
||
LLVMCG 包 - LLVM 代码生成器模块
|
||
|
||
将 LlvmCodeGenerator.py 拆分为多个 Mixin 模块:
|
||
- BaseGen: 基础设施(__init__、平台解析、名称修饰、函数查找)
|
||
- TypeConvert: 类型转换(CType -> LLVM IR 类型)
|
||
- StructGen: 结构体生成(struct/vtable 定义与初始化)
|
||
- MemoryOps: 内存操作(alloca/Load/store/coerce)
|
||
- ExprGen: 表达式生成(常量、二元运算、返回、printf)
|
||
- FuncGen: 函数处理(参数调整、成员偏移、函数声明)
|
||
- VaArg: 变长参数处理(va_start/va_end/va_arg)
|
||
"""
|
||
|
||
from lib.core.LLVMCG.BaseGen import (
|
||
BaseGenMixin,
|
||
VaArgInstruction,
|
||
)
|
||
from lib.core.LLVMCG.TypeConvert import TypeConvertMixin
|
||
from lib.core.LLVMCG.StructGen import StructGenMixin
|
||
from lib.core.LLVMCG.MemoryOps import MemoryOpsMixin
|
||
from lib.core.LLVMCG.ExprGen import ExprGenMixin
|
||
from lib.core.LLVMCG.FuncGen import FuncGenMixin
|
||
from lib.core.LLVMCG.VaArg import VaArgMixin
|
||
|
||
__all__ = [
|
||
'BaseGenMixin',
|
||
'TypeConvertMixin',
|
||
'StructGenMixin',
|
||
'MemoryOpsMixin',
|
||
'ExprGenMixin',
|
||
'FuncGenMixin',
|
||
'VaArgMixin',
|
||
'VaArgInstruction',
|
||
]
|