@cella-lang/c 0.1.202610160342 → 0.1.202610161111
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGES.md +1 -0
- package/c.cell +0 -0
- package/index.json +678 -678
- package/package.json +2 -2
package/CHANGES.md
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
## 未發佈
|
|
6
6
|
|
|
7
|
+
- 跟著 cpp 的 `IType` 多了 `plain`:`counterpart` 回傳非 plain 的型別,`eqITypeRefl` 多比一個欄位。雜湊改變:用到 `IType` 的定義。
|
|
7
8
|
- **不相容**:記憶體改成一份統一記憶體(照 CH2O)。`c.Mem t`、`c.memNew t`、`c.Allocated t` 換成 `c.CMem`、`c.memNew`、`c.Allocated`;指標 `c.Ptr` 是 `c.nullP` 或 `c.cptr 配置 路徑 索引`(不再是 cpp 的指標),指向 struct 成員的指標(`c.memberPtr m p "k"`)與指向變數、陣列格的指標是同一種,收 `int*`/`char*` 的函式對它們一樣運作;越過成員或陣列邊界的指標算術是越界。
|
|
8
9
|
- 讀寫與函式庫多了明確的元素型別參數:`c.load t m q ok`、`c.store t m q v ok`、`c.addrOf t m v`、`c.declArrM t m n z`、`c.idx t …`、`c.strlen pl t m q ok`、`c.strcmp pl t …`、`c.argS t m q`、`c.readableNB t …`、`c.readK t …`、`c.writeK t …`、`c.readable2 t …`、`c.at2 t …`、`c.qsort pl t …`、`c.bsearch pl t …`、`c.memset t …`、`c.memchr t …`、`c.strchr t …`……;`c.malloc ct m n fails`、`c.calloc`、`c.realloc` 收元素的 `c.CType`(整數是 `c.ctInt t`)。struct 不再有自己的記憶體(`c.smemNew` 拿掉),`c.arrowSet`、`c.arrow` 的前置條件是 `refl`(`c.objWritableB`、`c.objOkB`)。
|
|
9
10
|
- 前置條件 `c.DerefOk t m q`/`c.StoreOk t m q` 是 c 的資料型別(建構子 `c.derefOk`、`c.storeOk`,具體的值照舊 `refl`),條件寫在統一記憶體上(`c.readOkC`、`c.writeOkC`);`c.CStr t m q` 等字串前置條件是聚焦之後的 cpp 條件。原本收 `Mem t` 的版本留作平面層,名字加 F(`c.readKF`、`c.qsortF`、`c.readNF`、`c.readStrF`、`c.derefOkF`……)。
|
package/c.cell
CHANGED
|
Binary file
|