@cella-lang/cpp 0.1.202610080134 → 0.1.202610080149

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 CHANGED
@@ -60,6 +60,11 @@
60
60
  - `cpp.findA`、`countA`、`reverseA`、`minElementA`、`maxElementA`;`cpp.flowState d r` 取出敘述正常結束時的狀態。
61
61
  - 迭代器失效不在模型內:修改容器之後請重新取迭代器。
62
62
 
63
+ ### C 風格字串(F442)
64
+
65
+ - `cpp.cstrArr pl m "lit"`(`char s[] = "lit"`)、`strlenC`、`strcmpC`、`strcpyC`、`strcatC`、`coutCStr`、`ptrPlus`。
66
+ - 前置條件:讀 `cpp.cstrOk refl`(在配置內遇到 NUL、都已初始化);寫 `cpp.strcpyOk refl refl`、`cpp.strcatOk refl refl`(整段在配置內、不重疊)。
67
+
63
68
  ### 定理
64
69
 
65
70
  - 記憶體(對任意記憶體成立):
package/cpp.cell CHANGED
Binary file
package/index.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "cbfVersion": 19,
3
- "checkerHash": "3b1f1dd4540cd0e5",
3
+ "checkerHash": "231d56957b3302bb",
4
4
  "defs": {
5
5
  "cpp.__RecordTag_cpp.IOS": {
6
6
  "merkle": "796edb43f4d0722b7fe3a28a440f5eb1b050ef4eafdc16cffc9f9bed220a8acd",
@@ -38,6 +38,10 @@
38
38
  "merkle": "9c0963d745b630991e6e722ab13efde2e65614ddee735afb4549fd80f03eeb56",
39
39
  "own": "e788362b8a196670dc644c932fb993002d10d40e5af99d62f3e829fb87e75803"
40
40
  },
41
+ "cpp.cpp.CStrD": {
42
+ "merkle": "fc6c80cab314cf6771fe05ffb00df616c3ed63be25afee773822c87e1c9fb60a",
43
+ "own": "c3cc8cda40f99daf4d03396da0e2e4ba7724f24a7bad4d5245f5d7ccaeeb7f94"
44
+ },
41
45
  "cpp.cpp.Call": {
42
46
  "merkle": "89c2e7785a2892ce1bcb9809409d5a821b385cfdff8d133ea2f863b7e908842a",
43
47
  "own": "694ed9d3cd750686c748d229a467b5a988e1ceb51d632f67c40f56beeca896ec"
@@ -298,6 +302,14 @@
298
302
  "merkle": "f1bbc6a61813a1128a75e7029909f448bc7621a392374c219a1ef8a49e775405",
299
303
  "own": "6be75095171865c78f4d47288c66d3f5a81dab2bdef5601bc875ab5eb4627d54"
300
304
  },
305
+ "cpp.cpp.StrcatD": {
306
+ "merkle": "75b2c77d3b6a52d43367096b0c5a8cafd84cf91e8cebd757d5b9642f8c8de945",
307
+ "own": "29afbd70d48c23baa839fe23f3ba7d1f589e9713800f53138a95740fd7bf1d6a"
308
+ },
309
+ "cpp.cpp.StrcpyD": {
310
+ "merkle": "33acbd465cc9aacf8df84a12c35e7c87a009da1879ca7df33ebf078ae27dfaf8",
311
+ "own": "5159e276907bb08c1c87be8bd019af7dbf715de2d9ccb1ab1e29e3743a1a8472"
312
+ },
301
313
  "cpp.cpp.SwBlock": {
302
314
  "merkle": "eaf2c6ad54fe3172bbfee0513745de89785b9c970e39c197494dfe957fd9c05b",
303
315
  "own": "0bb70985ad2ed851122b89e7670c8a9f7c4bba8cb6be5b51bcebb2fb8da7f70e"
@@ -534,6 +546,14 @@
534
546
  "merkle": "0b1340fb67c7cb30abc4396d0fb7375cc5ef549a2a3570f6249e51938b31c266",
535
547
  "own": "789a4dbec0c9455bea9682b15bdd87285b7d91c460146b836edecd08b3d1bde5"
536
548
  },
549
+ "cpp.cpp.cBytes": {
550
+ "merkle": "a22cc2d3d10f062e67c439a518b11e329ba4de965e19f506bc7679d95f283a96",
551
+ "own": "722d5ddcc1c51625f840816e44dbf9b0bac598faa00f3987800d159dacee8ff2"
552
+ },
553
+ "cpp.cpp.cRoomB": {
554
+ "merkle": "0f1e17906c5d00654f806e99835e1b4978ad3b9974e61d1daf36614b4a2fbf19",
555
+ "own": "7ae028abde0b894abddeafbcc36e01cc2876db2c6bde6e4a65ef543277a09e83"
556
+ },
537
557
  "cpp.cpp.callAfter": {
538
558
  "merkle": "584f5b53f7c76240b9f2054041abed96932c136262531a712b5b8366540cef8b",
539
559
  "own": "be22f858a25b7b45fa0f26ad40ac2d05f0a12a50a067c879074f5a1b0dafc1f9"
@@ -690,6 +710,10 @@
690
710
  "merkle": "03b435651bd54f3ea8142b78a29fdd3d6314568567a5275efc2fbda2c468db78",
691
711
  "own": "7c3f50f276da1747bd0cd579ea30272eb467198725d7f8bbe29d1c95732a8dd1"
692
712
  },
713
+ "cpp.cpp.coutCStr": {
714
+ "merkle": "eb71bd40c40d3589362fb050d5a9aae50d878e9ddeed97c848929b829395ead5",
715
+ "own": "00bc4787a8742841e3fd243c829e4be95315be519932792674423394f8fae8ab"
716
+ },
693
717
  "cpp.cpp.coutF": {
694
718
  "merkle": "7935e449e557033821c942297b019d886559d69da38aeb74a927a6774463495f",
695
719
  "own": "06203576d7e4ddda3e63c4e367155e9a4fb98b163f685301462dd88a23701a9d"
@@ -718,6 +742,18 @@
718
742
  "merkle": "4efd904b333c8e276425e58e79c4ea667025cf61d3bbe71817bab2c583374c71",
719
743
  "own": "42fa3cc397d63e2b6a3dcf5fba98931141ef0c50c9d73d1ed94c7b2e61b9bdbc"
720
744
  },
745
+ "cpp.cpp.cstrArr": {
746
+ "merkle": "dee4450ac70f00ea1f381fdae9e394262025d02c5258a8aa5701d2576980dadc",
747
+ "own": "24363b0ada7a8b5061dd0ac2b87ee634a34a17c36b3a049df61f449c175ae255"
748
+ },
749
+ "cpp.cpp.cstrAt": {
750
+ "merkle": "bf275508e6705247cdfabc746b6635291b4dd4e570c13cef99f2e3d6ae7b8e83",
751
+ "own": "483af57c76f3f45427b6ff0b9f9e67b14e6898dab96122ffc636709e6ec46bce"
752
+ },
753
+ "cpp.cpp.cstrOf": {
754
+ "merkle": "4dcc21c2b33aa36ed19d05061a1dfe59d37d236ea4bd2eea0580afe4cbf98741",
755
+ "own": "f34c7be1e80bad3d5071a89ef6369c0a79e1dd821e067e03d006790aaf94cef4"
756
+ },
721
757
  "cpp.cpp.cv": {
722
758
  "merkle": "ff5c3055666ead908659268f2792ec02e578819a05356f945f81c02ded336dbe",
723
759
  "own": "8d843e7bf729db8ab40f80141ae653752b2746c3bb6d1bee1a50eaa79994f109"
@@ -1934,6 +1970,10 @@
1934
1970
  "merkle": "d52fcce3cf186511960ef0914b20bdcb0c1ad3821cf9dcf763c6ea9a4250b7ca",
1935
1971
  "own": "11227177b8624cce2ef742640e748ea1ad7d4a76e64bd09973b7de9ed03292d1"
1936
1972
  },
1973
+ "cpp.cpp.overlapB": {
1974
+ "merkle": "96157b37450610df386a63dd18be210efb983d2d0f636ee4b8130bad9e96e953",
1975
+ "own": "79e899cbb4493eca1ca37df3432b7d109d906ad3b2f735e2f403136ab7f846a7"
1976
+ },
1937
1977
  "cpp.cpp.padLeft": {
1938
1978
  "merkle": "2fbb98b6275ee349b83f3a484ac8f3cd7fd092da0e4f397ab8ba28204aac09f9",
1939
1979
  "own": "cef6c2e785e2d1a00c196ea7dab3e51970d4740e02bb7c797f0ca36b488b3545"
@@ -2046,6 +2086,10 @@
2046
2086
  "merkle": "093c7329404ec3122a7b4457987fb023f825147b7ffd96a5888c9e4cf63275ab",
2047
2087
  "own": "bfbe6c9d9683b62c390759559644c6d2256b66824659e7c5bb8ef8749ecbb80c"
2048
2088
  },
2089
+ "cpp.cpp.ptrPlus": {
2090
+ "merkle": "96867069ae778717b5a5c8c4820b623e5ce3f7ae314ef9daed890d5c7e53166d",
2091
+ "own": "195e6f3293171e6c2a1380b1f165f431b0cfa1a86a96a75c692affa083bb6bbc"
2092
+ },
2049
2093
  "cpp.cpp.pushBack": {
2050
2094
  "merkle": "3c82d5dc1e2b4af22be4eb3c07970dc8e2d81a3d8a05e332e5c4bdb4601375ff",
2051
2095
  "own": "b4438de074038e8fde61298a341d2d5d55eff001f9031e9d1898bbc9bb20b229"
@@ -2262,6 +2306,10 @@
2262
2306
  "merkle": "5ff5e244f1712dc2c229a58fbd8864e6dfd3a4fbb3bfbb7e107ea5fac72fd129",
2263
2307
  "own": "bd41d8ed940a6c05f60644715c4a190278966e16af48cb83f6fc9a8558e2620c"
2264
2308
  },
2309
+ "cpp.cpp.setRun": {
2310
+ "merkle": "732f2b4e1b0779c5a964abdf8b94d033fc43c447d382ace1cdacfa8ec8e03d92",
2311
+ "own": "845a7f351d463a1b9bdbf3adb4e4fce13e9beb0f10cec5f1199f54b92e6e5de9"
2312
+ },
2265
2313
  "cpp.cpp.setSize": {
2266
2314
  "merkle": "34a2a6733c53feafacb1d5988b40e53db22163eafb0f30b129bee2fded2c306e",
2267
2315
  "own": "839bd8c4a90390cc078ef67ef565df2fb385ee10a8803ff3c92602e774a8a02e"
@@ -2546,6 +2594,22 @@
2546
2594
  "merkle": "2d8f437553b7188fdc8d5a2158b5c9b60c8124f02f40e02e0e9377006a20e0a2",
2547
2595
  "own": "60adcc2b7e26676824960fe26b639e85236163d3433933d936f09ee5021fdc0a"
2548
2596
  },
2597
+ "cpp.cpp.strcatC": {
2598
+ "merkle": "08170793758f6137eb87dbb87e9f23faef6832318164fc2e4e9ad1c62cd4c484",
2599
+ "own": "2bf1b922355e0a456e45ae963b49d466d967f1648e9762ea6aa96e1650f57bc3"
2600
+ },
2601
+ "cpp.cpp.strcmpC": {
2602
+ "merkle": "87fca03a86e8f2128942f07754759bed4b5b999ea35268e58c0408bcd8024335",
2603
+ "own": "8136fc5b876958062cf9278e49c973595a8f28737b80e8d449a1568af64a6725"
2604
+ },
2605
+ "cpp.cpp.strcpyC": {
2606
+ "merkle": "facda4e3b2e314ad8ea047ece67e4717a0277c0767ecbbf60db34a30b1088405",
2607
+ "own": "21be79b220fa65afb7cd2251798f7d70238028fc70d1c29719e09c3cfa32ef09"
2608
+ },
2609
+ "cpp.cpp.strlenC": {
2610
+ "merkle": "29276577d38934707c6b5a0c9c86ef58a4c9cf7fde916ecc4385c1a45492ce08",
2611
+ "own": "20ecb92cc21f4cc0367951266096da3c4142026817879aa07ce05ea9ce90aec4"
2612
+ },
2549
2613
  "cpp.cpp.sub": {
2550
2614
  "merkle": "a0dde2ad9495663248cf9022828c62a28f41ba1a08f2c6cbc3d3b14134cfa91c",
2551
2615
  "own": "d607cfd8f3a5924db4b3183896e56379c315aa87f93ce117f38aa1ea45450681"
@@ -2890,6 +2954,10 @@
2890
2954
  "merkle": "32d7c96d08aa10ae2c9d692d5bbefba2153164adcde032bf8a7eadd4591ba662",
2891
2955
  "own": "8e0e3b41fcd65651027e0566b3870f04f270ee93ccaa6a77d05e2a0691216e4e"
2892
2956
  },
2957
+ "cpp.cpp.writeBytes": {
2958
+ "merkle": "e69a97056f4bbe62d28aceb0c5daa728fc9d4fb1a98a23fe988eb1189fc858b8",
2959
+ "own": "b05837e03f23f0bb6e6a110c0c094b810da41878a52476ff3dc0ef95e15a829e"
2960
+ },
2893
2961
  "cpp.cpp.xorB": {
2894
2962
  "merkle": "b053368e78f8f935f799f09213b5757113a456775728d8d3f98f9e4b992dd1b1",
2895
2963
  "own": "bf2175290b18b6503231e34f18f7faa653caa6793038abe0085c027ae57edb07"
@@ -2914,7 +2982,7 @@
2914
2982
  "format": 1,
2915
2983
  "modules": {
2916
2984
  "cpp": {
2917
- "bytes": 1999910,
2985
+ "bytes": 2025772,
2918
2986
  "deps": [
2919
2987
  "cpp"
2920
2988
  ]
@@ -2922,7 +2990,7 @@
2922
2990
  },
2923
2991
  "requires": {
2924
2992
  "cella-lang": {
2925
- "checkerHash": "3b1f1dd4540cd0e5",
2993
+ "checkerHash": "231d56957b3302bb",
2926
2994
  "modules": [
2927
2995
  "int"
2928
2996
  ]
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cella-lang/cpp",
3
- "version": "0.1.202610080134",
3
+ "version": "0.1.202610080149",
4
4
  "description": "A formally verified C++ subset for the Cella proof checker: integer types with C++ promotions and conversions (LP64 / AVR), control flow with small-step semantics, iostream, arrays, vector, sort, and standard containers — compiled module pack.",
5
5
  "files": [
6
6
  "cpp.cell",
@@ -20,14 +20,14 @@
20
20
  "license": "Apache-2.0",
21
21
  "author": "SungYu Chang",
22
22
  "peerDependencies": {
23
- "cella-lang": "0.1.202610080134"
23
+ "cella-lang": "0.1.202610080148"
24
24
  },
25
25
  "cella": {
26
- "checkerHash": "3b1f1dd4540cd0e5",
26
+ "checkerHash": "231d56957b3302bb",
27
27
  "cbfVersion": 19,
28
28
  "modules": [
29
29
  "cpp"
30
30
  ],
31
- "packHash": "761d696679fd5485"
31
+ "packHash": "39db97794729fcd6"
32
32
  }
33
33
  }