@ldclabs/kip-lang 0.2.2 → 0.3.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/README.md +11 -9
- package/dist/ast.d.ts +52 -2
- package/dist/ast.d.ts.map +1 -1
- package/dist/diagnostics.d.ts.map +1 -1
- package/dist/diagnostics.js +7 -1
- package/dist/diagnostics.js.map +1 -1
- package/dist/formatter.d.ts +5 -7
- package/dist/formatter.d.ts.map +1 -1
- package/dist/formatter.js +145 -115
- package/dist/formatter.js.map +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/lexer.js.map +1 -1
- package/dist/parser.d.ts.map +1 -1
- package/dist/parser.js +286 -48
- package/dist/parser.js.map +1 -1
- package/dist/semantics.d.ts +13 -0
- package/dist/semantics.d.ts.map +1 -0
- package/dist/semantics.js +228 -0
- package/dist/semantics.js.map +1 -0
- package/dist/token.d.ts +16 -4
- package/dist/token.d.ts.map +1 -1
- package/dist/token.js +31 -12
- package/dist/token.js.map +1 -1
- package/package.json +7 -2
package/dist/token.js
CHANGED
|
@@ -28,6 +28,8 @@ export var TokenType;
|
|
|
28
28
|
TokenType["Desc"] = "DESC";
|
|
29
29
|
// Keywords - KML
|
|
30
30
|
TokenType["Upsert"] = "UPSERT";
|
|
31
|
+
TokenType["Update"] = "UPDATE";
|
|
32
|
+
TokenType["Merge"] = "MERGE";
|
|
31
33
|
TokenType["Delete"] = "DELETE";
|
|
32
34
|
TokenType["Concept"] = "CONCEPT";
|
|
33
35
|
TokenType["Proposition"] = "PROPOSITION";
|
|
@@ -38,13 +40,19 @@ export var TokenType;
|
|
|
38
40
|
TokenType["Metadata"] = "METADATA";
|
|
39
41
|
TokenType["Detach"] = "DETACH";
|
|
40
42
|
TokenType["From"] = "FROM";
|
|
43
|
+
TokenType["Into"] = "INTO";
|
|
44
|
+
TokenType["Expect"] = "EXPECT";
|
|
45
|
+
TokenType["Version"] = "VERSION";
|
|
41
46
|
// Keywords - META
|
|
42
47
|
TokenType["Describe"] = "DESCRIBE";
|
|
43
48
|
TokenType["Search"] = "SEARCH";
|
|
49
|
+
TokenType["Export"] = "EXPORT";
|
|
44
50
|
TokenType["Primer"] = "PRIMER";
|
|
45
51
|
TokenType["Domains"] = "DOMAINS";
|
|
46
52
|
TokenType["Type"] = "TYPE";
|
|
47
53
|
TokenType["Types"] = "TYPES";
|
|
54
|
+
TokenType["Mode"] = "MODE";
|
|
55
|
+
TokenType["Threshold"] = "THRESHOLD";
|
|
48
56
|
// Keywords - common
|
|
49
57
|
TokenType["Order"] = "ORDER";
|
|
50
58
|
TokenType["By"] = "BY";
|
|
@@ -62,6 +70,10 @@ export var TokenType;
|
|
|
62
70
|
TokenType["IsNull"] = "IS_NULL";
|
|
63
71
|
TokenType["IsNotNull"] = "IS_NOT_NULL";
|
|
64
72
|
TokenType["Distinct"] = "DISTINCT";
|
|
73
|
+
TokenType["Add"] = "ADD";
|
|
74
|
+
TokenType["Mul"] = "MUL";
|
|
75
|
+
TokenType["Clamp"] = "CLAMP";
|
|
76
|
+
TokenType["Coalesce"] = "COALESCE";
|
|
65
77
|
// Operators
|
|
66
78
|
TokenType["Eq"] = "==";
|
|
67
79
|
TokenType["NotEq"] = "!=";
|
|
@@ -102,6 +114,8 @@ export const KEYWORDS = new Map([
|
|
|
102
114
|
['ASC', TokenType.Asc],
|
|
103
115
|
['DESC', TokenType.Desc],
|
|
104
116
|
['UPSERT', TokenType.Upsert],
|
|
117
|
+
['UPDATE', TokenType.Update],
|
|
118
|
+
['MERGE', TokenType.Merge],
|
|
105
119
|
['DELETE', TokenType.Delete],
|
|
106
120
|
['CONCEPT', TokenType.Concept],
|
|
107
121
|
['PROPOSITION', TokenType.Proposition],
|
|
@@ -112,12 +126,18 @@ export const KEYWORDS = new Map([
|
|
|
112
126
|
['METADATA', TokenType.Metadata],
|
|
113
127
|
['DETACH', TokenType.Detach],
|
|
114
128
|
['FROM', TokenType.From],
|
|
129
|
+
['INTO', TokenType.Into],
|
|
130
|
+
['EXPECT', TokenType.Expect],
|
|
131
|
+
['VERSION', TokenType.Version],
|
|
115
132
|
['DESCRIBE', TokenType.Describe],
|
|
116
133
|
['SEARCH', TokenType.Search],
|
|
134
|
+
['EXPORT', TokenType.Export],
|
|
117
135
|
['PRIMER', TokenType.Primer],
|
|
118
136
|
['DOMAINS', TokenType.Domains],
|
|
119
137
|
['TYPE', TokenType.Type],
|
|
120
|
-
['TYPES', TokenType.Types]
|
|
138
|
+
['TYPES', TokenType.Types],
|
|
139
|
+
['MODE', TokenType.Mode],
|
|
140
|
+
['THRESHOLD', TokenType.Threshold]
|
|
121
141
|
]);
|
|
122
142
|
/** Set of built-in function names mapped to their TokenType */
|
|
123
143
|
export const FUNCTIONS = new Map([
|
|
@@ -133,21 +153,20 @@ export const FUNCTIONS = new Map([
|
|
|
133
153
|
['IN', TokenType.In],
|
|
134
154
|
['IS_NULL', TokenType.IsNull],
|
|
135
155
|
['IS_NOT_NULL', TokenType.IsNotNull],
|
|
136
|
-
['DISTINCT', TokenType.Distinct]
|
|
156
|
+
['DISTINCT', TokenType.Distinct],
|
|
157
|
+
['ADD', TokenType.Add],
|
|
158
|
+
['MUL', TokenType.Mul],
|
|
159
|
+
['CLAMP', TokenType.Clamp],
|
|
160
|
+
['COALESCE', TokenType.Coalesce]
|
|
137
161
|
]);
|
|
162
|
+
/** Reverse lookup sets, built once, so membership tests are O(1). */
|
|
163
|
+
const KEYWORD_TYPES = new Set(KEYWORDS.values());
|
|
164
|
+
const FUNCTION_TYPES = new Set(FUNCTIONS.values());
|
|
138
165
|
export function isKeyword(type) {
|
|
139
|
-
|
|
140
|
-
if (v === type)
|
|
141
|
-
return true;
|
|
142
|
-
}
|
|
143
|
-
return false;
|
|
166
|
+
return KEYWORD_TYPES.has(type);
|
|
144
167
|
}
|
|
145
168
|
export function isFunction(type) {
|
|
146
|
-
|
|
147
|
-
if (v === type)
|
|
148
|
-
return true;
|
|
149
|
-
}
|
|
150
|
-
return false;
|
|
169
|
+
return FUNCTION_TYPES.has(type);
|
|
151
170
|
}
|
|
152
171
|
export function isLiteral(type) {
|
|
153
172
|
return (type === TokenType.String ||
|
package/dist/token.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token.js","sourceRoot":"","sources":["../src/token.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,
|
|
1
|
+
{"version":3,"file":"token.js","sourceRoot":"","sources":["../src/token.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ldclabs/kip-lang",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.1",
|
|
4
4
|
"description": "KIP (Knowledge Interaction Protocol) language toolkit: lexer, parser, formatter, and diagnostics",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -19,7 +19,9 @@
|
|
|
19
19
|
"scripts": {
|
|
20
20
|
"build": "tsc -p tsconfig.json",
|
|
21
21
|
"dev": "tsc -p tsconfig.json --watch",
|
|
22
|
-
"
|
|
22
|
+
"pretest": "tsc -p tsconfig.json",
|
|
23
|
+
"test": "node --test",
|
|
24
|
+
"prepublishOnly": "tsc -p tsconfig.json"
|
|
23
25
|
},
|
|
24
26
|
"keywords": [
|
|
25
27
|
"kip",
|
|
@@ -33,5 +35,8 @@
|
|
|
33
35
|
"type": "git",
|
|
34
36
|
"url": "https://github.com/ldclabs/KIP",
|
|
35
37
|
"directory": "packages/kip-lang"
|
|
38
|
+
},
|
|
39
|
+
"devDependencies": {
|
|
40
|
+
"typescript": "^5.9.3"
|
|
36
41
|
}
|
|
37
42
|
}
|