@cavelang/parser 0.27.14 → 0.29.1
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/Authors.md +5 -0
- package/License.md +6 -0
- package/README.md +10 -4
- package/dist/src/document.d.ts +4 -4
- package/dist/src/document.d.ts.map +1 -1
- package/dist/src/document.js +11 -8
- package/dist/src/document.js.map +1 -1
- package/dist/src/line.d.ts.map +1 -1
- package/dist/src/line.js +24 -6
- package/dist/src/line.js.map +1 -1
- package/package.json +15 -4
- package/src/document.ts +7 -5
- package/src/line.ts +22 -6
package/Authors.md
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
# Authors
|
|
2
|
+
|
|
3
|
+
By adding their name to this file, all listed authors confirm they have copyright over their contributions to this project and are waiving these rights, placing their work in the public domain in accordance with the CC0 1.0 Universal Public Domain Dedication.
|
|
4
|
+
|
|
5
|
+
- Mirek Rusin (Switzerland)
|
package/License.md
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
# CC0 1.0 Universal (CC0 1.0) Public Domain Dedication
|
|
2
|
+
|
|
3
|
+
To the extent possible under law, the authors listed in [Authors.md](./Authors.md) have waived all copyright and related or neighboring rights to this software and associated documentation files (the "Software").
|
|
4
|
+
|
|
5
|
+
For more information, please see:
|
|
6
|
+
https://creativecommons.org/publicdomain/zero/1.0/
|
package/README.md
CHANGED
|
@@ -72,7 +72,8 @@ examples and are tried in order:
|
|
|
72
72
|
as a linter.
|
|
73
73
|
- **Classification tiebreak.** A line starting with a verb-shaped token is
|
|
74
74
|
classified using the known standard vocabulary (standard verbs, `HAS`,
|
|
75
|
-
`REVERSE`, the §5.5 inverse names)
|
|
75
|
+
`REVERSE`, the §5.5 inverse names). A two-token `VERB VERB` line is a
|
|
76
|
+
continuation because it has no full-claim payload. Otherwise, second token `REVERSE` → claim
|
|
76
77
|
(declaration); second token a *known* verb → claim with an uppercase
|
|
77
78
|
subject (`API NEEDS auth`); first token known → continuation, even when
|
|
78
79
|
the object is ALL-CAPS (`USES JWT`, `PART-OF ORG`, `USES GPU cluster`);
|
|
@@ -80,15 +81,20 @@ examples and are tried in order:
|
|
|
80
81
|
an *extension*-verb continuation with an ALL-CAPS object — is inherently
|
|
81
82
|
registry-dependent and the parser stays registry-free; write the subject
|
|
82
83
|
explicitly there.
|
|
84
|
+
- **Verb boundary.** Following §16's `uppercase_atom`, verb tokens start with
|
|
85
|
+
an uppercase letter and may continue with uppercase letters or `-`, including
|
|
86
|
+
a trailing hyphen. Both parsers therefore classify `USES-` as a verb.
|
|
83
87
|
- **`@` disambiguation is exactly one character of lookahead** (§6.3):
|
|
84
88
|
the token `@` alone expects a following percentage (confidence);
|
|
85
89
|
`@anything` is a context.
|
|
86
90
|
- **No escape sequences in literals** — the spec defines none. A quoted
|
|
87
91
|
literal runs to the next matching delimiter; an unterminated one degrades
|
|
88
92
|
to a plain word.
|
|
89
|
-
- **Metadata problems don't kill lines.** `a USES b stray`
|
|
90
|
-
|
|
91
|
-
|
|
93
|
+
- **Metadata problems don't kill lines.** `a USES b @production stray-token`
|
|
94
|
+
parses the claim with a diagnostic for text after metadata; multiword
|
|
95
|
+
relation objects such as `a USES b stray` are valid. Only structural
|
|
96
|
+
failures (missing verb/object) invalidate a line. Confidence must end in `%`
|
|
97
|
+
and stay ≤ 100 (`@ 2026`, `@ 90`,
|
|
92
98
|
`@ 250%` are diagnosed rather than silently clamped); repeating a
|
|
93
99
|
non-repeatable metadata item (`@ N%`, `+/-`, `(Nσ)`, `!`) is diagnosed
|
|
94
100
|
with last-wins retention (§3.2 allows repetition only for contexts and
|
package/dist/src/document.d.ts
CHANGED
|
@@ -14,10 +14,10 @@
|
|
|
14
14
|
* - full triple → grouped claim
|
|
15
15
|
*
|
|
16
16
|
* One ambiguity needs a tiebreak: `API NEEDS auth` starts with a token that
|
|
17
|
-
* is lexically verb-shaped.
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
17
|
+
* is lexically verb-shaped. A two-token `VERB VERB` line is a continuation:
|
|
18
|
+
* it has a verb and object but no third token for a full claim's payload.
|
|
19
|
+
* With a payload present, known vocabulary distinguishes grouped claims from
|
|
20
|
+
* continuations — `CONTAINS REVERSE PART-OF` and `API NEEDS auth` are claims.
|
|
21
21
|
*
|
|
22
22
|
* `parseDocument` never throws: broken lines become `invalid` entries and
|
|
23
23
|
* every problem is a diagnostic. `parse` is the strict variant.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document.d.ts","sourceRoot":"","sources":["../../src/document.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAGH,OAAO,KAAK,KAAK,GAAG,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"document.d.ts","sourceRoot":"","sources":["../../src/document.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAGH,OAAO,KAAK,KAAK,GAAG,MAAM,UAAU,CAAA;AAkDpC;;;GAGG;AACH,eAAO,MAAM,aAAa,GAAI,OAAO,MAAM,KAAG,GAAG,CAAC,QAgGjD,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,KAAK,GAAI,OAAO,MAAM,KAAG,SAAS,GAAG,CAAC,IAAI,EAStD,CAAA"}
|
package/dist/src/document.js
CHANGED
|
@@ -14,10 +14,10 @@
|
|
|
14
14
|
* - full triple → grouped claim
|
|
15
15
|
*
|
|
16
16
|
* One ambiguity needs a tiebreak: `API NEEDS auth` starts with a token that
|
|
17
|
-
* is lexically verb-shaped.
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
17
|
+
* is lexically verb-shaped. A two-token `VERB VERB` line is a continuation:
|
|
18
|
+
* it has a verb and object but no third token for a full claim's payload.
|
|
19
|
+
* With a payload present, known vocabulary distinguishes grouped claims from
|
|
20
|
+
* continuations — `CONTAINS REVERSE PART-OF` and `API NEEDS auth` are claims.
|
|
21
21
|
*
|
|
22
22
|
* `parseDocument` never throws: broken lines become `invalid` entries and
|
|
23
23
|
* every problem is a diagnostic. `parse` is the strict variant.
|
|
@@ -44,6 +44,8 @@ const classify = (tokens, depth) => {
|
|
|
44
44
|
if (head.kind === 'word' && Verb.isVerbToken(head.text)) {
|
|
45
45
|
const second = tokens[1];
|
|
46
46
|
const secondWord = second?.kind === 'word' ? second.text : undefined;
|
|
47
|
+
const third = tokens[2];
|
|
48
|
+
const hasClaimPayload = third !== undefined && !Line.isMetaStart(third);
|
|
47
49
|
// Tiebreak between "continuation" and "full triple with an uppercase
|
|
48
50
|
// subject", using the known standard vocabulary (see the README):
|
|
49
51
|
// CONTAINS REVERSE PART-OF → claim (declaration)
|
|
@@ -51,10 +53,11 @@ const classify = (tokens, depth) => {
|
|
|
51
53
|
// API NEEDS auth → claim (second token is a known verb)
|
|
52
54
|
// USES JWT / PART-OF ORG → continuation (first known, second not)
|
|
53
55
|
// API MIGRATES postgres → claim (neither known — subject wins)
|
|
54
|
-
const kind =
|
|
55
|
-
secondWord
|
|
56
|
-
|
|
57
|
-
|
|
56
|
+
const kind = !hasClaimPayload ? 'continuation' :
|
|
57
|
+
secondWord === Verb.REVERSE ? 'claim' :
|
|
58
|
+
secondWord !== undefined && secondWord !== 'NOT' && Verb.isVerbToken(secondWord) ?
|
|
59
|
+
(Verb.isKnown(secondWord) ? 'claim' : Verb.isKnown(head.text) ? 'continuation' : 'claim') :
|
|
60
|
+
'continuation';
|
|
58
61
|
if (kind === 'continuation' && depth === 0) {
|
|
59
62
|
return { error: `continuation line at top level — nothing to inherit a subject from (spec §8.3)` };
|
|
60
63
|
}
|
package/dist/src/document.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document.js","sourceRoot":"","sources":["../../src/document.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAA;AAErC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AAEnC,MAAM,QAAQ,GAAG,CAAC,GAAW,EAAkD,EAAE;IAC/E,IAAI,KAAK,GAAG,CAAC,CAAA;IACb,IAAI,IAAI,GAAG,KAAK,CAAA;IAChB,OAAO,KAAK,GAAG,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC;QACzE,IAAI,KAAK,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,CAAA;QAC5B,KAAK,IAAI,CAAC,CAAA;IACZ,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,CAAA;AAChD,CAAC,CAAA;AAID,MAAM,QAAQ,GAAG,CAAC,MAA0B,EAAE,KAAa,EAAkC,EAAE;IAC7F,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAE,CAAA;IACvB,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACxD,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC;YAChB,WAAW,CAAC,CAAC;YACb,EAAE,KAAK,EAAE,kBAAkB,IAAI,CAAC,IAAI,iEAAiE,EAAE,CAAA;IAC3G,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACxD,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;QACxB,MAAM,UAAU,GAAG,MAAM,EAAE,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAA;QACpE,qEAAqE;QACrE,kEAAkE;QAClE,oDAAoD;QACpD,iEAAiE;QACjE,qEAAqE;QACrE,uEAAuE;QACvE,qEAAqE;QACrE,MAAM,IAAI,
|
|
1
|
+
{"version":3,"file":"document.js","sourceRoot":"","sources":["../../src/document.ts"],"names":[],"mappings":"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"}
|
package/dist/src/line.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"line.d.ts","sourceRoot":"","sources":["../../src/line.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,KAAK,GAAG,MAAM,UAAU,CAAA;AACpC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAEvC,MAAM,MAAM,MAAM,CAAC,CAAC,IAChB;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,GAC9E;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"line.d.ts","sourceRoot":"","sources":["../../src/line.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,KAAK,GAAG,MAAM,UAAU,CAAA;AACpC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAEvC,MAAM,MAAM,MAAM,CAAC,CAAC,IAChB;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,GAC9E;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAA;AAWpD,qEAAqE;AACrE,eAAO,MAAM,WAAW,GAAI,OAAO,KAAK,KAAG,OAOxC,CAAA;AAgCH;;;;GAIG;AACH,eAAO,MAAM,SAAS,GAAI,QAAQ,SAAS,KAAK,EAAE,EAAE,UAAU,MAAM,KAAG;IAAE,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAsH1G,CAAA;AA6ED,8EAA8E;AAC9E,eAAO,MAAM,SAAS,GAAI,QAAQ,SAAS,KAAK,EAAE,EAAE,UAAU,MAAM,KAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAkBrF,CAAA;AAED,mFAAmF;AACnF,eAAO,MAAM,UAAU,GAAI,QAAQ,SAAS,KAAK,EAAE,EAAE,UAAU,MAAM,KAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAatF,CAAA;AAKD;;;GAGG;AACH,eAAO,MAAM,qBAAqB,GAAI,QAAQ,SAAS,KAAK,EAAE,EAAE,UAAU,MAAM,KAAG,MAAM,CAAC,GAAG,CAAC,gBAAgB,CA0C7G,CAAA"}
|
package/dist/src/line.js
CHANGED
|
@@ -6,16 +6,17 @@
|
|
|
6
6
|
* are unambiguous at their first token (spec §4.3 reserved characters), so
|
|
7
7
|
* everything before the first metadata token is payload.
|
|
8
8
|
*/
|
|
9
|
-
import { Claim, Confidence, Tag, Value, Verb } from '@cavelang/core';
|
|
9
|
+
import { Claim, Confidence, Tag, Uncertainty, Value, Verb } from '@cavelang/core';
|
|
10
10
|
const ok = (value, problems = []) => ({ ok: true, value, problems });
|
|
11
11
|
const fail = (message) => ({ ok: false, message });
|
|
12
12
|
const sigmaRe = /^\((\d+(?:\.\d+)?)σ\)$/u;
|
|
13
|
+
const sigmaLikeRe = /^\([^)]*σ\)$/u;
|
|
13
14
|
/** @returns `true` if `token` starts a metadata item (spec §4.3). */
|
|
14
15
|
export const isMetaStart = (token) => token.kind === 'word' && (token.text.startsWith('@') ||
|
|
15
16
|
token.text.startsWith('#') ||
|
|
16
17
|
token.text.startsWith('+/-') ||
|
|
17
18
|
token.text === '!' ||
|
|
18
|
-
|
|
19
|
+
sigmaLikeRe.test(token.text));
|
|
19
20
|
/** @returns term from a single token (spec §16: atom, literal or code literal). */
|
|
20
21
|
const term = (token) => {
|
|
21
22
|
switch (token.kind) {
|
|
@@ -120,15 +121,32 @@ export const parseMeta = (tokens, comment) => {
|
|
|
120
121
|
if (delta !== undefined) {
|
|
121
122
|
problems.push('repeated +/- uncertainty — only contexts and tags may repeat (spec §3.2); last one wins');
|
|
122
123
|
}
|
|
123
|
-
|
|
124
|
+
const parsed = Value.parse(raw);
|
|
125
|
+
try {
|
|
126
|
+
Uncertainty.validateDelta(parsed.num);
|
|
127
|
+
delta = parsed;
|
|
128
|
+
}
|
|
129
|
+
catch (error) {
|
|
130
|
+
problems.push(`invalid +/- uncertainty ${JSON.stringify(raw)}: ${error instanceof Error ? error.message : String(error)}`);
|
|
131
|
+
}
|
|
124
132
|
continue;
|
|
125
133
|
}
|
|
126
|
-
|
|
127
|
-
|
|
134
|
+
if (sigmaLikeRe.test(word)) {
|
|
135
|
+
const sigma = sigmaRe.exec(word);
|
|
136
|
+
if (sigma === null) {
|
|
137
|
+
problems.push(`invalid sigma level ${JSON.stringify(word)}: expected (Nσ) with a positive finite decimal N`);
|
|
138
|
+
continue;
|
|
139
|
+
}
|
|
128
140
|
if (sigmaLevel !== undefined) {
|
|
129
141
|
problems.push('repeated (Nσ) level — only contexts and tags may repeat (spec §3.2); last one wins');
|
|
130
142
|
}
|
|
131
|
-
|
|
143
|
+
const parsed = Number(sigma[1]);
|
|
144
|
+
try {
|
|
145
|
+
sigmaLevel = Uncertainty.validateSigmaLevel(parsed);
|
|
146
|
+
}
|
|
147
|
+
catch (error) {
|
|
148
|
+
problems.push(`invalid sigma level ${JSON.stringify(word)}: ${error instanceof Error ? error.message : String(error)}`);
|
|
149
|
+
}
|
|
132
150
|
continue;
|
|
133
151
|
}
|
|
134
152
|
if (word === '!') {
|
package/dist/src/line.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"line.js","sourceRoot":"","sources":["../../src/line.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"line.js","sourceRoot":"","sources":["../../src/line.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,8 +1,18 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cavelang/parser",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.29.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "CAVE text to AST parser built on @prelude/parser combinators.",
|
|
6
|
+
"keywords": [
|
|
7
|
+
"cave",
|
|
8
|
+
"knowledge-graph",
|
|
9
|
+
"knowledge-representation",
|
|
10
|
+
"typescript"
|
|
11
|
+
],
|
|
12
|
+
"homepage": "https://github.com/mirek/cave#readme",
|
|
13
|
+
"bugs": {
|
|
14
|
+
"url": "https://github.com/mirek/cave/issues"
|
|
15
|
+
},
|
|
6
16
|
"license": "CC0-1.0",
|
|
7
17
|
"author": "Mirek Rusin (https://github.com/mirek)",
|
|
8
18
|
"repository": {
|
|
@@ -26,18 +36,19 @@
|
|
|
26
36
|
"src",
|
|
27
37
|
"!src/**/*.test.ts",
|
|
28
38
|
"README.md",
|
|
29
|
-
"License.md"
|
|
39
|
+
"License.md",
|
|
40
|
+
"Authors.md"
|
|
30
41
|
],
|
|
31
42
|
"publishConfig": {
|
|
32
43
|
"access": "public"
|
|
33
44
|
},
|
|
34
45
|
"dependencies": {
|
|
35
46
|
"@prelude/parser": "^7.1.0",
|
|
36
|
-
"@cavelang/core": "0.
|
|
47
|
+
"@cavelang/core": "0.29.1"
|
|
37
48
|
},
|
|
38
49
|
"scripts": {
|
|
39
50
|
"build": "tsc -b",
|
|
40
|
-
"test": "node --disable-warning=ExperimentalWarning --test
|
|
51
|
+
"test": "node --disable-warning=ExperimentalWarning --test \"test/*.test.ts\"",
|
|
41
52
|
"typecheck": "tsc -b"
|
|
42
53
|
}
|
|
43
54
|
}
|
package/src/document.ts
CHANGED
|
@@ -14,10 +14,10 @@
|
|
|
14
14
|
* - full triple → grouped claim
|
|
15
15
|
*
|
|
16
16
|
* One ambiguity needs a tiebreak: `API NEEDS auth` starts with a token that
|
|
17
|
-
* is lexically verb-shaped.
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
17
|
+
* is lexically verb-shaped. A two-token `VERB VERB` line is a continuation:
|
|
18
|
+
* it has a verb and object but no third token for a full claim's payload.
|
|
19
|
+
* With a payload present, known vocabulary distinguishes grouped claims from
|
|
20
|
+
* continuations — `CONTAINS REVERSE PART-OF` and `API NEEDS auth` are claims.
|
|
21
21
|
*
|
|
22
22
|
* `parseDocument` never throws: broken lines become `invalid` entries and
|
|
23
23
|
* every problem is a diagnostic. `parse` is the strict variant.
|
|
@@ -50,6 +50,8 @@ const classify = (tokens: readonly Token.t[], depth: number): Classified | { err
|
|
|
50
50
|
if (head.kind === 'word' && Verb.isVerbToken(head.text)) {
|
|
51
51
|
const second = tokens[1]
|
|
52
52
|
const secondWord = second?.kind === 'word' ? second.text : undefined
|
|
53
|
+
const third = tokens[2]
|
|
54
|
+
const hasClaimPayload = third !== undefined && !Line.isMetaStart(third)
|
|
53
55
|
// Tiebreak between "continuation" and "full triple with an uppercase
|
|
54
56
|
// subject", using the known standard vocabulary (see the README):
|
|
55
57
|
// CONTAINS REVERSE PART-OF → claim (declaration)
|
|
@@ -57,7 +59,7 @@ const classify = (tokens: readonly Token.t[], depth: number): Classified | { err
|
|
|
57
59
|
// API NEEDS auth → claim (second token is a known verb)
|
|
58
60
|
// USES JWT / PART-OF ORG → continuation (first known, second not)
|
|
59
61
|
// API MIGRATES postgres → claim (neither known — subject wins)
|
|
60
|
-
const kind: Classified =
|
|
62
|
+
const kind: Classified = !hasClaimPayload ? 'continuation' :
|
|
61
63
|
secondWord === Verb.REVERSE ? 'claim' :
|
|
62
64
|
secondWord !== undefined && secondWord !== 'NOT' && Verb.isVerbToken(secondWord) ?
|
|
63
65
|
(Verb.isKnown(secondWord) ? 'claim' : Verb.isKnown(head.text) ? 'continuation' : 'claim') :
|
package/src/line.ts
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* everything before the first metadata token is payload.
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
|
-
import { Claim, Confidence, Tag, Value, Verb } from '@cavelang/core'
|
|
10
|
+
import { Claim, Confidence, Tag, Uncertainty, Value, Verb } from '@cavelang/core'
|
|
11
11
|
import type * as Ast from './ast.ts'
|
|
12
12
|
import type { Token } from './token.ts'
|
|
13
13
|
|
|
@@ -22,6 +22,7 @@ const fail = (message: string): Result<never> =>
|
|
|
22
22
|
({ ok: false, message })
|
|
23
23
|
|
|
24
24
|
const sigmaRe = /^\((\d+(?:\.\d+)?)σ\)$/u
|
|
25
|
+
const sigmaLikeRe = /^\([^)]*σ\)$/u
|
|
25
26
|
|
|
26
27
|
/** @returns `true` if `token` starts a metadata item (spec §4.3). */
|
|
27
28
|
export const isMetaStart = (token: Token): boolean =>
|
|
@@ -30,7 +31,7 @@ export const isMetaStart = (token: Token): boolean =>
|
|
|
30
31
|
token.text.startsWith('#') ||
|
|
31
32
|
token.text.startsWith('+/-') ||
|
|
32
33
|
token.text === '!' ||
|
|
33
|
-
|
|
34
|
+
sigmaLikeRe.test(token.text)
|
|
34
35
|
)
|
|
35
36
|
|
|
36
37
|
/** @returns term from a single token (spec §16: atom, literal or code literal). */
|
|
@@ -139,15 +140,30 @@ export const parseMeta = (tokens: readonly Token[], comment?: string): { meta: A
|
|
|
139
140
|
if (delta !== undefined) {
|
|
140
141
|
problems.push('repeated +/- uncertainty — only contexts and tags may repeat (spec §3.2); last one wins')
|
|
141
142
|
}
|
|
142
|
-
|
|
143
|
+
const parsed = Value.parse(raw)
|
|
144
|
+
try {
|
|
145
|
+
Uncertainty.validateDelta(parsed.num)
|
|
146
|
+
delta = parsed
|
|
147
|
+
} catch (error) {
|
|
148
|
+
problems.push(`invalid +/- uncertainty ${JSON.stringify(raw)}: ${error instanceof Error ? error.message : String(error)}`)
|
|
149
|
+
}
|
|
143
150
|
continue
|
|
144
151
|
}
|
|
145
|
-
|
|
146
|
-
|
|
152
|
+
if (sigmaLikeRe.test(word)) {
|
|
153
|
+
const sigma = sigmaRe.exec(word)
|
|
154
|
+
if (sigma === null) {
|
|
155
|
+
problems.push(`invalid sigma level ${JSON.stringify(word)}: expected (Nσ) with a positive finite decimal N`)
|
|
156
|
+
continue
|
|
157
|
+
}
|
|
147
158
|
if (sigmaLevel !== undefined) {
|
|
148
159
|
problems.push('repeated (Nσ) level — only contexts and tags may repeat (spec §3.2); last one wins')
|
|
149
160
|
}
|
|
150
|
-
|
|
161
|
+
const parsed = Number(sigma[1])
|
|
162
|
+
try {
|
|
163
|
+
sigmaLevel = Uncertainty.validateSigmaLevel(parsed)
|
|
164
|
+
} catch (error) {
|
|
165
|
+
problems.push(`invalid sigma level ${JSON.stringify(word)}: ${error instanceof Error ? error.message : String(error)}`)
|
|
166
|
+
}
|
|
151
167
|
continue
|
|
152
168
|
}
|
|
153
169
|
if (word === '!') {
|