Commit Graph
42 Commits
Author SHA1 Message Date
TermiNexus e51f10f176 修正 隐式 章节 2026-10-13 15:37:05 +08:00
TermiNexus ac9ed01e24 修正章节 2026-10-13 15:36:42 +08:00
TermiNexus bb79d36fd2 docs(wiki): Implicit.md §5 同步——Ptr(同型聚合)→同型聚合值允许隐式值拷贝 2026-10-13 10:31:12 +08:00
TermiNexus 22884b7aa0 docs(wiki): Implicit.md 补 CDefine 拓宽方向(负值 sext / 非负 zext,含 mod.N 属性形态) 2026-10-12 21:49:08 +08:00
TermiNexus ca5ec70cef docs(wiki): Implicit.md 同步——复合赋值不再单独拦截「右值有符号 vs 左值无符号」(对齐二元口径) 2026-10-12 21:17:18 +08:00
TermiNexus 603831c3f6 docs(wiki): 新增 Implicit.md 记录隐式转换与整数提升规则(含一元按符号性分档) 2026-10-12 21:11:15 +08:00
TermiNexus d7a4012b20 docs(lang): 修正 cif/defined() 条件编译、值引用注解与 assert 语义口径
07-control-flow / 08-c-operations / 10-imports / README:cif-celif-celse 成套语法与 defined() 谓词改写条件编译章节;值引用注解 &T / &temp T 取代 t.CNeedPtr;assert 自动导入 testcheck 并改译 testcheck.check(cond, None, msg)。MergeWiki.py 仅微调合并快照横幅措辞。
2026-10-07 19:02:43 +08:00
TermiNexus 573d61a7a6 docs(spec): 新规范补充 for 循环、rawptr 收敛、const/volatile、前向引用与 struct/renum 条目
补充条目:range 循环免预声明、优先 T* 而非 rawptr[T]、const/volatile 书写、无需引号前向引用(真前向引用用指针)、无成员函数的纯数据体用 struct、枚举用 renum;并明确三引号 __doc__ 同样按英文注释清理。
2026-10-07 19:02:39 +08:00
TermiNexus 7a72137032 docs(oop): 按两端实际实现重写 dunder 协议状态说明
- 运算/比较/一元/反向/增量运算符、__call__/__bool__/__str__/__abs__/__del__ 全部改为「已实现」口径,并给出两端一致的行为描述

- 明确 ** 基础类型走 llvm.pow、反向运算符回退规则、增量 dunder 回退规则与 del 目标分派
2026-10-03 00:40:10 +08:00
TermiNexus d69e3931c0 feat(switch): switch 允许重复 case 标签(match 仍禁止)
- HandlesMatch / MatchGenMixin:值标签去重仅对 match 生效;switch 允许重复 case
  标签(按书写顺序,先出现者生效);通配臂多个(default / case _)仍 fail-fast
- wiki/07-control-flow.md 同步该语义
2026-10-03 00:19:05 +08:00
TermiNexus 9cfc395032 docs(control-flow): 新增 switch 语句章节,match 完全禁止 fallthrough
- 07-control-flow.md:把原「break 与 fallthrough」拆为「match 内的 break」+「switch 语句」
- 说明 switch 的 C 语义(默认不穿透、fallthrough 单次穿透、default、多值 case、重复标签 fail-fast)
- 补充关键字性质:switch/match/struct/fallthrough 为硬关键字
2026-10-02 23:15:14 +08:00
TermiNexus f10e113657 docs(control-flow): match 改为 C switch 语义(break 跳出 match、fallthrough 软关键字)
- 原「fallthrough(无 break)」章节改写为「break 与 fallthrough」:case 体默认自动
  break;case 内 break 语义为跳出 match(不是外层循环);fallthrough 为软关键字
  (兼容旧写法 c.NoBreak()),只能出现在 case 体内
2026-10-02 22:33:27 +08:00
TermiNexus 8576a697d6 docs(types): 明确 list[T, N] 是堆上 STL 容器,与栈上定长数组无关
- 02-type-system.md:删去「list[T, N] 是同义的定长数组写法」的旧说法,改为
  list[T] / list[T, N] 都是 includes/_list.vp 的堆上 STL 容器;t.CArray[T, N] 与
  [N]T / array[T, N] 三者同义,是栈上定长数组,两者语义与布局都不同、不可互换
- 同表修正 stdint.CHARLIST 的展开(源码为 str | t.CPtr,不含 list[str, None])
2026-10-02 22:13:56 +08:00
TermiNexus 42626f8515 docs(wiki): 调整 README 中语法选型的表述
将「选择 Python 语法是因为 Python 是人类公认可读性最高的语言」改为
「至少在作者角度认为 Python 可读性远高于 C-LIKE,希望证明 ABC-LIKE 表达力更好」。
2026-10-02 22:07:06 +08:00
TermiNexus 947c1b35e5 docs(wiki): 改建第 12 章为编译系统,统一 long 宽度口径并补齐章节编号
- 12-project.md 改建为 12-compilation-system.md:介绍编译系统总览、工程配置
  project.vpj 与 viperbuild 元编程;同步 README 与第 17 章的引用
- README.MD:新增「C-LIKE 语法(逐步支持)」小节——自研语法器 includes/ast 将逐步
  支持 C-LIKE 写法,双端写法与语义长期维护,但实际工程仍推荐 ABC-LIKE;流水线章节
  去掉「Python 单文件模式 / project.json」旧措辞,改述工程根来源并补 --src 与 viperbuild
- 02-type-system.md:long / unsigned long 位宽改为平台相关(Windows LLP64=32、
  LP64=64)并补注权威实现;修正 stdint.LONGLONG / ULONGLONG 展开;统一整型 None 判空写法
- 05-classes.md:补 t.Anonymous 废弃告警;07-control-flow.md:for-else 改为已实现措辞
- 15/16/17/18 章重编号为 14/15/16/17,填补 14-oo-refactor 删除后的编号空洞,
  同步各章标题与全仓引用
2026-10-02 22:05:18 +08:00
TermiNexus 1ac88f3241 docs(wiki): 修正「C/C++/Rust 无法表达」的措辞,18 章补未来展望
- 02-type-system.md / 05-classes.md / 13-bootstrapping.md:把「C/C++/Rust 均无法
  如此简洁表达」改为「当然可以表达,但是无法这样简洁」(这些语言当然能表达同样
  的语义,只是写法远不如 Viper 简洁,原措辞容易被读成"做不到")。
- 18-flagship-project.md:新增「未来展望」章节——我们未来期望 Viper 在高并发、
  底层、AI 场景、边缘(端侧)能够发光发热,并逐条给出已有基础。
2026-10-02 00:50:08 +08:00
TermiNexus 09fadf3943 docs(wiki): 删除 t.Anonymous 章节与 14-oo-refactor,assert 段补推荐 testcheck 断言
- 02-type-system.md / 05-classes.md:完整删除「匿名结构体成员」章节(`t.Anonymous`
  已废弃且不再维护,保留只会误导)。
- 删除 14-oo-refactor.md(对象化重构已完成)。
- 07-control-flow.md 的 assert 段:补「需要断言时推荐使用 testcheck 库的断言」,
  并给出核心 API `testcheck.check(cond, ok_msg, fail_msg)`。
2026-10-02 00:46:53 +08:00
TermiNexus a53e45dc9f docs(wiki): 核心设计决策措辞改为「近似 CPython」,去掉 t/c 模块讲解,改为说明 int/uint/int64 的 LLVM 定宽语义 2026-10-02 00:30:42 +08:00
TermiNexus 238cb2756c docs(wiki): 标注语言成熟度与当前任务(语法已稳定、可用;前身是玩具但 Viper 不再是) 2026-10-02 00:29:11 +08:00
TermiNexus c27e872bfa docs(wiki): 18 章 Test 小节同步清单补录(68 → 77 个 + NegativeTest) 2026-10-01 23:43:03 +08:00
TermiNexus f2b40cb0b6 docs(wiki): 18 章补充 Test 回归测试工程集小节(分层、回归复现用例、负向测试、运行脚本) 2026-10-01 23:39:16 +08:00
TermiNexus 062ff67f02 docs(wiki): 新增 18 章旗舰项目(TransPyV / VET / ViperOS / ViperMNIST)并更新索引 2026-10-01 23:38:20 +08:00
TermiNexus 55faa3f6a5 docs(wiki): 删除 10-imports 的 vpsdk 章节(ViperOS 专属,将在旗舰项目章节介绍) 2026-10-01 23:37:53 +08:00
TermiNexus 4195443244 docs(wiki): 收录新规范文件到仓库根目录 2026-10-01 23:37:53 +08:00
TermiNexus 785ea3ac7f docs(wiki): while-else 记为受支持的语言特性;属性示例返回类型改用短名 int 2026-10-01 23:33:45 +08:00
TermiNexus 16ebfd99e8 docs(wiki): 重写「与 CPython 语法的关系」,说明 Vipeye 解除语法约束并使语法可自由演进且实时跟进 2026-10-01 23:06:58 +08:00
TermiNexus f97bb24cd8 docs(wiki): 修复失效内部链接(01-overview.md 改为 README.MD)并补齐小节锚点 2026-10-01 23:03:38 +08:00
TermiNexus 472ece93f2 docs(wiki): 补充类型系统三端承载差异(TPC 继承 t.CType、TPV 内建、Vipeye 经 t.vpi/c.vpi 解析) 2026-10-01 23:02:12 +08:00
TermiNexus 762b3ceed4 docs(wiki): 全站示例统一为短名别名、T* 指针与 &/* 算子等新语法 2026-10-01 23:00:30 +08:00
TermiNexus 71931a3f40 docs(wiki): 新增 struct 纯数据结构体关键字说明与 Windows 平台绑定原因 2026-10-01 22:54:35 +08:00
TermiNexus db92f7e708 docs(wiki): 标准 Hello World、main/print 内建说明、Vipeye 与 CPython 语法差异、附带项目与 inline 说明 2026-10-01 22:49:45 +08:00
TermiNexus 1fe1d2a130 chore(wiki): 新增 MergeWiki.py 快速合并 wiki 供 AI 分析(含弱时效性声明) 2026-10-01 22:42:04 +08:00
TermiNexus fa7d4788c7 docs(wiki): 补跨模块 extern 重名按最近顺序调用的临时规则 2026-10-01 22:38:19 +08:00
TermiNexus ebd339e79a docs(wiki): 补 T*(x) 强转歧义约束、isinstance 与 FakeDuck 章节 2026-10-01 22:36:58 +08:00
TermiNexus a1501740de docs(wiki): 明确 virtual/novirtual 类级作用于全部方法、方法级只改单个方法 2026-10-01 22:27:36 +08:00
TermiNexus 2dd96793e1 docs(wiki): 对象写法改用 virtual/novirtual,@t.Object 默认不写只作说明 2026-10-01 22:25:04 +08:00
TermiNexus 8ea2112298 docs(wiki): 全站切换新语法(短名别名/T*/&,*/描述符与软关键字),尽量少用 | 2026-10-01 22:20:00 +08:00
TermiNexus 99de898c45 docs(wiki): 依据 TransPyV 现状校准全部章节并新增 REPL/traceback 两章 2026-10-01 21:56:23 +08:00
TermiNexus bd10081dea docs: 落库 02-类型系统 / 04-函数 / 08-C 操作 三章的改动(04 章多返回值改为 -> tuple[...])
04-functions.md:多返回值一节改写为返回注解 -> tuple[ty1, ty2, ...],并注明 @c.CReturn 已移除、遇到即报错(与 TPC/TransPyV 的 35de6321 / dfae2f0 同步)

02-type-system.md / 08-c-operations.md:本仓工作区既有的未提交改动,本次一并落库(内容非本次会话产出)
2026-09-28 14:03:23 +08:00
TermiNexus 2212951584 docs(wiki): 依据 TransPyV 实证修订全部章节并补充类型系统规划
- FFI 推荐 extern/export 关键字;t.State/CExtern/CExport 旧注解标记废弃(仅 CEnum 临时用,rowptr 为笔误将改 rawptr)
- 数组统一 t.CArray[...];dunder/运算符重载状态按实现纠正并标注期望实现/待实现
- 异常机制改错误码+消息出参;条件编译形态/内建/工程字段按现状修正
- 13/14/15 历史章节标注已完成;新增 async/await、super()、方法级虚表、define 宏函数等小节
- 补充类型规划:const rawptr[int]/const int* 取代 CConst 链、T1|T2 回归 TypeUnion、T1&T2 TypeIntersection(object/vtable 优先)
2026-09-08 14:37:05 +08:00
TermiNexus fd4f999fd5 修改了 README 后缀名 2026-08-10 03:15:15 +08:00
TermiNexus eb9216b1f1 首次上传 2026-08-10 03:14:17 +08:00