diff --git a/oldhero/README.md b/oldhero/README.md new file mode 100644 index 00000000..ce65dcfe --- /dev/null +++ b/oldhero/README.md @@ -0,0 +1,25 @@ +# oldhero — the Go-era kvlang + +This directory holds the **original Go implementation** of kvlang (back when it +was still called dxlang). It was the first working end-to-end system: parser, +lower, symbol, rwir, kvcpu, vthread, keytree, the rwir extension host, and an +early stdlib — the whole pipeline, in Go. + +``` +ast/ cmd/ keytree/ kvcpu/ layout/ logx/ lower/ +parser/ rwir/ rwirext/ stdlib/ symbol/ vthread/ +``` + +## Status: archived, frozen + +The live implementation has moved on and now lives at the repository root: + +- **layout** — a Rust crate (`layout/`) producing `libkvlanglayout.so` + `kvlanglayout` +- **runtime** — C (`runtime/`) producing `libkvlang_runtime.so`, driven by the + Rust binary `kvlang` + +This Go version is kept **only as a memorial to the old hero** that carried the +project through its first era. It is **not maintained and will not be updated**. +For anything current — language behavior, the KV-tree model, the two-stage +layout/runtime split — refer to the root implementation and `stdlib/kvlang`, not +this directory. diff --git a/stdlib/kvlang/deepdive/kvspace/05-key-system-and-array-access.kv b/stdlib/kvlang/deepdive/kvspace/05-key-system-and-array-access.kv index f781a502..5a346e1f 100644 --- a/stdlib/kvlang/deepdive/kvspace/05-key-system-and-array-access.kv +++ b/stdlib/kvlang/deepdive/kvspace/05-key-system-and-array-access.kv @@ -55,8 +55,8 @@ kvspace 路径系统有 `/`(层级目录)与 `·`(成员目录)两个索 kindexp ::= kind # 标量 | '*' kindexp # 指针/软链接(body = 目标 key 路径) | '@' kindexp # 扩展存储句柄(body = 位置信息,data 在扩展存储) - | '[' ']' kindexp # 变长数组(字面量初始化→compact;裸声明→散 key) - | '[' dims ']' kindexp # 定长/多维数组(一个 XValue,连续 body) + | '[' ']' kindexp # 变长一维数组类型;compact/stringkeymap 由初始化括号([...]/{...})定 + | '[' dims ']' kindexp # 定长/多维数组(compact 形态,单 XValue 连续 body) dims ::= INT (',' INT)* kind ::= uint8 | int8 | int16 | uint16 | int32 | uint32 | int64 | uint64 | float32 | float64 | bool | char/utf32 | char/utf8 | char/ascii | time | duration