feat(vast_c): C 版解析器阶段 0——赋值/名字/数字子集,直接构造 vast.nodes 树
- MSYS2 MinGW gcc 编译 CPython 3.12 C 扩展(_parser.pyd,-lpython312 必须置于源文件后) - Tokenizer + 表达式/赋值/模块解析,节点通过 PyObject_Vectorcall 直接实例化 lib.vast.Nodes 类 - 输出与 vast.parse 结构完全一致(含位置属性),eval 模式复用 vast.parse 语义 - 可行性验证:200 语句文件 × 200 次基准 9.0x 加速(6.17ms -> 0.685ms/次),C 侧开销主要在节点构造,后续可继续优化
This commit is contained in:
1 parent
e3886a244d
commit
0d15e8cb7a
2 files changed
+504
No files matched your search
@@ -0,0 +1,9 @@
|
||||
"""vast_c - C 版 Viper/Python 语法解析器(vast 加速层)
|
||||
|
||||
C 扩展 _parser.pyd 直接构造 lib.vast.Nodes 的节点类实例,
|
||||
输出与 vast.parse 结构完全一致。当前为阶段 0(赋值/名字/数字子集),
|
||||
后续阶段将覆盖完整 Python 3.12 语法 + Viper 扩展(extern/export/软关键字)。
|
||||
"""
|
||||
from lib.vast_c._parser import parse
|
||||
|
||||
__all__: list[str] = ['parse']
|
||||
Reference in new issue
Block a user