@cella-lang/c 0.1.202611050245 → 0.1.202611050546

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
@@ -4,6 +4,21 @@
4
4
 
5
5
  ## 未發佈
6
6
 
7
+ - 重複宣告:同一個區塊宣告兩次的檢查搬到 `@cella-lang/cfamily` 的核心(`cfamily.scopes`),多涵蓋 switch 的兩個 clause 宣告同名變數
8
+ (之前判 accept);reason 改成 `redefinition of 'x'`(kind、params 不變)。C 的 for 本體再宣告 init 的變數照舊 accept(C11 6.8.5p5)。
9
+ - typedef:同一型別再定義一次(`typedef int T; typedef int T;`,C11 6.7p3)**之前判 reject(`entity`)、現在判 accept**;不同型別從
10
+ `what: entity` 改成 `what: typedef`,reason `typedef redefinition with different types`。typedef 與變數、函式同名仍是 `entity`。
11
+
12
+ ### ⚠️ 不相容(重複宣告)
13
+
14
+ - 拿掉 `Declarations.declares`、`Declarations.twice`、`Declarations.inStatement`、`Declarations.inStatements`、`Declarations.inClauses`(搬到核心的
15
+ `Scopes`);`Declarations.inFunction` 只檢查參數的型別是否完整;`FileDeclaration` 多一欄 `alias`(是不是 typedef)。
16
+
17
+ - 編譯錯誤細分成結構化的種類(見 `@cella-lang/cfamily`;判決仍是 reject,**reason 文字不變**):`notAssignable`、`callArguments`、
18
+ `redeclared`(同一個區塊宣告兩次是 `variable`,檔案範圍的不同實體是 `entity`,C 的 typedef 與函式定義兩次也是 `entity`)、`returnValue`、
19
+ `operandTypes`、`noConversion`(型別照 C 的寫法:`struct s`、`int *`)。型別查詢的 `errors` 多 `kind`、`params`、`expects`、`got`。
20
+ - `Declarations.firstWrong` 與它用的檢查(`Declarations.twice`、`Declarations.inFunction`、`Declarations.clashAtFileScope`…)傳回 `Refusal`(之前是字串)。
21
+
7
22
  - `scanf(...)`、`printf(...)` 當運算式(`while (scanf("%d", &x) == 1)`;見 `@cella-lang/cfamily`):之前是未宣告。scanf 的 `%c` 不再多寫 null、
8
23
  支援 `%n`。
9
24
  - 效果摘要:程式的函式呼叫 C 函式庫的函式時照函式庫的效果算(`int rd(void)` 裡的 scanf、`gc` 裡的 getchar 讀寫主控台);之前一律只是讀別處的記憶體,
package/c.cell CHANGED
Binary file
Binary file
package/c.naming.cell CHANGED
Binary file
package/index.json CHANGED
@@ -11,7 +11,7 @@
11
11
  "own": "5b0f70bc2ee6d3ea97c9cbb1513d057573a3e4efaf2ebba81e4de38ee4decca4"
12
12
  },
13
13
  "c.C.checking": {
14
- "merkle": "cda1b22cf671714df425beb89216ff787605a69a85b2b7e7b0b3b738e55d68ed",
14
+ "merkle": "fe102086bb01a9faf72b1d6a07b09abb0d5b4d5c104061cb599ae5c0059e6762",
15
15
  "own": "e0a5043f69d3d0fcf50d98cbecbda7baf12118d8709d6d669ea31f163c2025db"
16
16
  },
17
17
  "c.C.constructs": {
@@ -23,7 +23,7 @@
23
23
  "own": "e5c268da261722e9b0ca45e0b57a9c7aa88d7293cbf7698b42a05c40cafc3ea2"
24
24
  },
25
25
  "c.C.dialect": {
26
- "merkle": "f8a26b0d51bd7f985ee62f8d83abf138b56fe347938170bda2192fcc103e5e4d",
26
+ "merkle": "a9e1b2bdf5e01739f03ab02b91cfb4781d488676031b31dfe338250a1935b3d7",
27
27
  "own": "ed21eca294f3b794263526369a34eb39a0d34593c156e83957e77cf87ab459df"
28
28
  },
29
29
  "c.C.effects": {
@@ -47,15 +47,15 @@
47
47
  "own": "eaf1dbc689ee34ebdd75738e5616cf3cc25acb0999851ef462bd9064c5b8d840"
48
48
  },
49
49
  "c.C.programDialect": {
50
- "merkle": "e9ef15e32690b2d64a6694baa398e3d5649f8e789807a30d97e02373a0ed3848",
50
+ "merkle": "8935ab94e2ce18a315048f4c2844a30ad56360ba2593d18b0ad688918f60a0b5",
51
51
  "own": "b46145b10b1ec510bcea885968534e672ca49976fa00020daaec8616896c29f4"
52
52
  },
53
53
  "c.C.programExtension": {
54
- "merkle": "6a741bd739620acf731eb3aa30b1ed79d80c423416db4e420cb601e4910b6271",
55
- "own": "a0d5295a443ca335afa421ede4afba58adc50aaf16dab494a007947994579918"
54
+ "merkle": "af58ac1d0b704debad055dc7b3cb585ccf9c1d13fd0d79bbbd645b56598ca1c8",
55
+ "own": "ac0c5e5b7af0a4d2f8a9c66de16460a8c38ece6210c7a9504ca8a5cd0e599aec"
56
56
  },
57
57
  "c.C.query": {
58
- "merkle": "ea6abfe91e148d1f2e23f15daf3909e6ea7a3dfa26d679fff04bef715525c7b5",
58
+ "merkle": "b86803fbf89514f820c09deeea4cafd38652a58e5e7eb82e37ad604be045c470",
59
59
  "own": "11ce588500fba76fe041991a8ab82636fd36a1e6cc6f335224a2edb057012ace"
60
60
  },
61
61
  "c.C.queryError": {
@@ -63,8 +63,8 @@
63
63
  "own": "a1235c48359cfff7a14738be9779c6614f234c5f553bf601deb811f401e7aabb"
64
64
  },
65
65
  "c.C.rules": {
66
- "merkle": "02cce7630d9983b28bf5655a068f2adf288712d2fe9dab447711aa0cedf7a89b",
67
- "own": "8cf19a12e29389c167a36243701061d8a19654c154052cece7d2a371c91fd33a"
66
+ "merkle": "a0ab66b4f5bb3f563b4db1bfd8f5d99d86754cd86598a16ffa8ca5093819118f",
67
+ "own": "3f04895ac32848eeb46526b5daef2104c97926715ced6ffc4438346954e298b1"
68
68
  },
69
69
  "c.C.typeText": {
70
70
  "merkle": "5ddeabcc06f0569e7f77ae706d2c86876fc5a0edcbc5fb9212f12c0854c97364",
@@ -75,48 +75,32 @@
75
75
  "own": "1a25a9ebb0b9a0dcf00c7e13fb6c9c805d057876cbc028168bdb7b32a30c05c8"
76
76
  },
77
77
  "c.C.verdictOf": {
78
- "merkle": "15a2181b4d78b51d9f407d08244963b74997d10e9761f538be3c381d085ab431",
78
+ "merkle": "36ff3810ac03215ef90bb44bf52fdfc0240dd22c9adba23c5c6666ab009adc67",
79
79
  "own": "fec6e45c6bad4e8e71c05b44bf66123d26b98e55521006442fed8b09fd7418bb"
80
80
  },
81
81
  "c.Declarations.atFileScope": {
82
- "merkle": "0adc0ed89881dcea211cc8f04b9bcc539018143dee668b09b45d32e9b3b2fbd3",
83
- "own": "807cbe0e7f705c8fa0231551a7f9ca0d33b84726d30c288c1f42911944794819"
82
+ "merkle": "f46fa1a60e48483d77c64fa89378feddc8f4201373ae4db82f3c47d9b087dbe3",
83
+ "own": "71fd162d7548c8d4014d01a93fc1e41bfd4d6d5a0ade5348ac82e903e84c8a4a"
84
84
  },
85
85
  "c.Declarations.clashAtFileScope": {
86
- "merkle": "4b321fc25e751834bcefce2d738764fccdf5e8e64822755383fda2c99a2da81a",
87
- "own": "3ca5631ffc971bac9adeb503ad1d499451cdefb79d913b6655e0ee41d1c14036"
86
+ "merkle": "0da9f9aa54ed7e180a9441bff972553829f1fcbb522b7c5d1e3154d087005a3d",
87
+ "own": "3be151585277dd295b4d248e55b0ea5065bce3872dfa17e0e794aad23e2a5df5"
88
88
  },
89
89
  "c.Declarations.compatible": {
90
- "merkle": "ca15e54e40c3636431fb695020c8d89c4054193940df61cdcd84508f8106e9a6",
91
- "own": "93f56d7d90d0a74df60866add0e6f1d0238e68d6a242cca19907564d94fc5be3"
92
- },
93
- "c.Declarations.declares": {
94
- "merkle": "013fb0e15e98c37156f3f2f3558344ed2f90181547b7ef2829215a70f2daa977",
95
- "own": "1e543efb99e2321f66ee6ebfaf080d1b9b32037ab9508c9787e2cdfa2e38885e"
90
+ "merkle": "363fbee752ce88e423745e014160031f16d26d4177f9f92fc865906360559061",
91
+ "own": "529b4aab7b17154e93f06ac0fd5d43ac6c9a86ba67c9f842a8807cd9e4f80e9f"
96
92
  },
97
93
  "c.Declarations.expressionTypes": {
98
94
  "merkle": "576e334a22495f4028581d771dc52e65278f276736b4b25cfc44c5364bbaa66d",
99
95
  "own": "22b576aa10dceecdc784cc86ca5d69e4569f7d51e719920af2d891aebb3c3a20"
100
96
  },
101
97
  "c.Declarations.firstWrong": {
102
- "merkle": "a875b8413357e9b98ca4e33c51bea6c7bba907b690326ec0a689ad93e7fb834f",
103
- "own": "c07760248d1dd0192ead18492236410d51e22b5f75dabc394efb047542888a8c"
104
- },
105
- "c.Declarations.inClauses": {
106
- "merkle": "7d9a866cd0e8ef347fb04ca88267bc8cc1cd58ffdcf3c9d6170f76abb900f460",
107
- "own": "e8c12431382b635b1e8821788167fbb6e604856e2ad55a43968a125146eb433c"
98
+ "merkle": "8c0cd645790ee26713af5f7710b5107dcbbc31a4b5269cc37c91756e85ae17a3",
99
+ "own": "df6f9be9e6deec03fe8f202309b2887ee1107de4fa32d68d333331fe8cd4274f"
108
100
  },
109
101
  "c.Declarations.inFunction": {
110
- "merkle": "277c94ca43ecb697a7e079c3a1e915e12b3499ecbaf1fd1ed72dcee2af3b3169",
111
- "own": "1d0f5f374ee498727f78d46477243626177c67bad2de2df0f5c55a4d8feba625"
112
- },
113
- "c.Declarations.inStatement": {
114
- "merkle": "0132ab3c1d72dc6170d5899d23e131ba1e078a2e874078557a4d91dd88af08e6",
115
- "own": "d31aa06bf5c004fcaa138613e75d08f604ddd4b5195cb653e7f86996f5d9779b"
116
- },
117
- "c.Declarations.inStatements": {
118
- "merkle": "f8e513172b1e077de4c84141aacd000522c5c2131fe7115e16f5a1fc50bdfa31",
119
- "own": "670d46fc26f477cb485e976746f1660e530b5f6f94b07a530581f5f286631cf3"
102
+ "merkle": "a85ff08daf198b8f6d0d253e48fd70a55579144667026a5c6d4501626f359d32",
103
+ "own": "2f3b739f695ac0e1fe7d4dd36e494ee95403283599801786c293e8042bf729e4"
120
104
  },
121
105
  "c.Declarations.incomplete": {
122
106
  "merkle": "bc1bbf6212d4fe6592529a61759451119be70720a023e6bbb382b4577a58a148",
@@ -134,10 +118,6 @@
134
118
  "merkle": "a562fc1ce532db32e3760b247d297bf967958e06e45bf5dec6eac2c267b7f8c5",
135
119
  "own": "bcedc068643bec6187b3afb2d6f0452a492d435fb8316acdaab6e6627bfd1e5b"
136
120
  },
137
- "c.Declarations.twice": {
138
- "merkle": "ffb4c7748f7cfd4b471ab56370b783dcfa0a690826ca87c49e24e863b78b8ace",
139
- "own": "f16011cb4972ef70fc2043b2767350089110f413c642f0bf050740d5f1610a7e"
140
- },
141
121
  "c.Declarations.typedefs": {
142
122
  "merkle": "55d9d1c27a6c05b232fa4147e3c6f0f2c2ab3c3105e0e1abc837af35329e8042",
143
123
  "own": "4db7425a31472c2b8521bfa0e4fe19fdf74285364777190658762ead51c5109a"
@@ -159,12 +139,12 @@
159
139
  "own": "3e6bfbd843d0861945e234e399992bb5ec4cd31e4824b9997671f333fe54abad"
160
140
  },
161
141
  "c.FileDeclaration": {
162
- "merkle": "76d93406e34d20a93be123b0a5144a4cacdaaa73ec3659343863b87efda386da",
163
- "own": "de40c22b547f7478d33045810a05ac4cd1cb4d24703740bacc7a661225e2c4a6"
142
+ "merkle": "39a0971872283938d272065f0c77c53256db48cd3fea40bd3791ca01fb34b3e3",
143
+ "own": "9279866cfae96bd2238da0f76ba718d9cecbb39fdfc91ea5a8e91ef9c2e45d69"
164
144
  },
165
145
  "c.FileDeclaration.mk": {
166
- "merkle": "5a18ec56645809e42fcd9604ca68cbc931536e9436009b526bcdabfd417b2cd6",
167
- "own": "8c513428f44d94239af828702fe4dc4b3eb0572ab459778e91dc284974a7ecd3"
146
+ "merkle": "1fa075471d4d1efc36eea4e99266bd56fae377bbe638dd48817737e926aaab96",
147
+ "own": "bac0731b8d73704b512586626864e80c7c6adf0cf15968af501edeb924a1597a"
168
148
  },
169
149
  "c.Naming.clauses": {
170
150
  "merkle": "49dd6143f11b0449cadfdf22063356d3b0377f491d9352dd475e9522490f8998",
@@ -327,7 +307,7 @@
327
307
  "own": "b6f526742e3e58d523ff394cf02b65390ec3fd0da05f3741ce17de86d0128e52"
328
308
  },
329
309
  "c.divergences": {
330
- "merkle": "e65c5c9e62424afda1b964fc7d834107c98aa6a0fb41afc140d0c109710a8e0a",
310
+ "merkle": "551518d42f44790155bce85eb60c27c9e90b41b408f7aec097d0275ddaeb761c",
331
311
  "own": "de9d3c838b01c72ff49fe18576e3a159dd109265bc20c7503efc46fbbbbbd35b"
332
312
  },
333
313
  "c.env": {
@@ -339,23 +319,23 @@
339
319
  "own": "7864535ea607169305600df86d3a2ab85f1332bea87ef33b63494eeb7cd316dd"
340
320
  },
341
321
  "c.frames": {
342
- "merkle": "499224c9dc3fbe649f58b35a171a8f7164afd8f84ea2b36ab38ae3bd15906439",
322
+ "merkle": "9747a8e8fb8da0ab0fe4231aae61241988e5e199af2c06212e865e92eb1905bc",
343
323
  "own": "def10961b479875af856ef073e8ea7c6898426ac98b70670f19aefba65cc1925"
344
324
  },
345
325
  "c.globals": {
346
- "merkle": "75320dc4f7691e87c9a5e3490aedd2ae52c9d559eb13f39896d751543a0b7692",
326
+ "merkle": "4da058c8f6776271544f319d375342236d573b388263eb1eae0b3ed506b0eac4",
347
327
  "own": "8dba541a1a8378f623033bbe59250c50dcf28df708687ef2cc53c9dd94be5c6d"
348
328
  },
349
329
  "c.load": {
350
- "merkle": "c0f150b3532b52faedc81f3b3a87b28f35d00ab675e6bb09e45fab52966e9746",
330
+ "merkle": "d9d92d60ee66e6c6101c5d69e3f421df18154fba371980def2d324fd2e329199",
351
331
  "own": "5ceedaff2b6d23a0489509ec7a33f39ea8b4eb59a616023164e2a8cf9de2a0d5"
352
332
  },
353
333
  "c.report": {
354
- "merkle": "6582e085b486a7ed885ce425c76e01d6e95039361a7ffaf0096273183f1f3be1",
334
+ "merkle": "15c8f8a9a039c1b8ff07a1ef6860d88d7502a2067b727bc89b4642caf6030e15",
355
335
  "own": "c5706db83acbe5bc1d46166bd1fda834786c790a206c89fade9d55a572dea072"
356
336
  },
357
337
  "c.run": {
358
- "merkle": "7ca9e8ba4148831c0d52e11a556cb405640af76a12d5f6c417b02d9e9f4bee2c",
338
+ "merkle": "c9457ac98b0e9c10a482b65a1b5db0fcc1b484f61f38cb1fa81fa925021fa638",
359
339
  "own": "8402f87d17ffd371f59af73d2b387b2632bc4f7ccad14ccfe5d6be6c2cd3825b"
360
340
  },
361
341
  "c.setVarConf": {
@@ -371,7 +351,7 @@
371
351
  "own": "b3a32738d550955851ba46306fb8159e034a91764abd240fca6703269d57966c"
372
352
  },
373
353
  "c.stopDetail": {
374
- "merkle": "cc184dc72f4921aaecbbc8a4e2783c17cdb9bdcf2608a44096c5fbd1fe6ed964",
354
+ "merkle": "acd694fd76d1cef8b654ddc209c281ce0d6479679c3827c13d7e7ac0386d0c3c",
375
355
  "own": "45067ad7cf6728983bb2c709b2c13f41f3f6c237c7a3315571b72d487f6f7338"
376
356
  },
377
357
  "c.stopErr": {
@@ -395,19 +375,19 @@
395
375
  "own": "052ff53c341ae938227fbd34cbf375bdfe1d7010e2f790b568ae0283a4129111"
396
376
  },
397
377
  "c.types": {
398
- "merkle": "25cbdcf00d0aa363dea1c94474f21d9c5487f59d6d8c751789798dcf4c2a77e7",
378
+ "merkle": "8ee71a68b0c40786ff4b79869e0ad5ce0690cabbce3830baa81ab48fab9e6db0",
399
379
  "own": "cb383810e8c655e2b41d451bc3a03b1b2698fbd6d13261c91b4c31c1f025e748"
400
380
  },
401
381
  "c.verdict": {
402
- "merkle": "e9f249e10720305d7ea07b7f99a72a048c1bd7e50868233aa1af84501954dfa7",
382
+ "merkle": "865d718d8d45d31a2fa7fd4b158f4f2925e759df188c011b02c4ea02d76cda1b",
403
383
  "own": "1fbb2bc147062bce884860540f67730e9010dc1649e4cff876626e7e4a2c8566"
404
384
  }
405
385
  },
406
386
  "format": 1,
407
- "inputs": "37efde8d8d709a7c67d0663d8c35dffb0ac1491a8dd0da36ab264f6889b6f8a4",
387
+ "inputs": "1d569e52480661f49174819b8cce5c1fda305e7bb0623f3ae6058a501b724c98",
408
388
  "modules": {
409
389
  "c": {
410
- "bytes": 499979,
390
+ "bytes": 503578,
411
391
  "deps": [
412
392
  "c.reserved",
413
393
  "c.naming",
@@ -416,7 +396,7 @@
416
396
  ]
417
397
  },
418
398
  "c.declarations": {
419
- "bytes": 172973,
399
+ "bytes": 232652,
420
400
  "deps": [
421
401
  "c.reserved",
422
402
  "c.naming",
@@ -424,7 +404,7 @@
424
404
  ]
425
405
  },
426
406
  "c.naming": {
427
- "bytes": 262792,
407
+ "bytes": 263895,
428
408
  "deps": [
429
409
  "c.reserved",
430
410
  "c.naming"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cella-lang/c",
3
- "version": "0.1.202611050245",
3
+ "version": "0.1.202611050546",
4
4
  "description": "C11 for Cella Lang, as a branch of the C family's deep embedding (@cella-lang/cfamily): a C program is a data value (the JSON semorphe sends), checked by C's rules and run by its small-step semantics; verdicts (accept, reject, unknown with the clause of the standard), a type query and a debugger host interface — compiled module pack.",
5
5
  "files": [
6
6
  "c.cell",
@@ -33,8 +33,8 @@
33
33
  "homepage": "https://cella-lang.org/",
34
34
  "peerDependencies": {
35
35
  "cella-lang": "0.1.202611050244",
36
- "@cella-lang/cfamily": "0.1.202611050244",
37
- "@cella-lang/machine": "0.1.202611050244"
36
+ "@cella-lang/cfamily": "0.1.202611050545",
37
+ "@cella-lang/machine": "0.1.202611050545"
38
38
  },
39
39
  "cella": {
40
40
  "checkerHash": "984c14db06c3a8d2",
@@ -42,6 +42,6 @@
42
42
  "modules": [
43
43
  "c"
44
44
  ],
45
- "packHash": "67cc30c3c37d74f2"
45
+ "packHash": "6e02c45a1edee240"
46
46
  }
47
47
  }