astn 0.110.14 → 0.110.15
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/dist/bin/convert_to_json.d.ts +2 -0
- package/dist/bin/convert_to_json.js +63 -0
- package/dist/bin/validate_astn.js +3 -3
- package/dist/generated/implementation/schemas/target_json/migration_boilerplate.d.ts +3 -0
- package/dist/generated/implementation/schemas/target_json/migration_boilerplate.js +67 -0
- package/dist/generated/interface/schemas/target_json/migration_boilerplate.d.ts +46 -0
- package/dist/generated/interface/schemas/target_json/migration_boilerplate.js +3 -0
- package/dist/generated/interface/schemas/target_json/poormans_parser.d.ts +169 -0
- package/dist/generated/interface/schemas/target_json/poormans_parser.js +3 -0
- package/dist/generated/interface/schemas/target_json/resolved.d.ts +169 -0
- package/dist/generated/interface/schemas/target_json/resolved.js +3 -0
- package/dist/generated/interface/schemas/target_json/unresolved.d.ts +169 -0
- package/dist/generated/interface/schemas/target_json/unresolved.js +3 -0
- package/dist/index.d.ts +3 -3
- package/dist/index.js +4 -4
- package/dist/parse/parse.d.ts +11 -0
- package/dist/parse/parse.js +267 -0
- package/dist/parse/parse_generic.d.ts +43 -0
- package/dist/parse/parse_generic.js +656 -0
- package/dist/serializers/json.d.ts +5 -0
- package/dist/serializers/json.js +45 -22
- package/dist/serializers/parse_result.d.ts +5 -0
- package/dist/serializers/parse_result.js +99 -0
- package/dist/transformations/ast/ide.d.ts +42 -0
- package/dist/transformations/ast/ide.js +176 -0
- package/dist/transformations/ast/json_target.d.ts +6 -0
- package/dist/transformations/ast/json_target.js +88 -0
- package/dist/transformations/create_error_message.js +8 -18
- package/dist/transformations/format.js +8 -18
- package/dist/transformations/parse.js +8 -18
- package/dist/transformations/parse_generic.js +8 -18
- package/dist/transformations/target/fountain_pen/astn.d.ts +11 -0
- package/dist/transformations/target/fountain_pen/astn.js +156 -0
- package/dist/transformations/target/fountain_pen/json.d.ts +4 -0
- package/dist/transformations/target/fountain_pen/json.js +113 -0
- package/dist/transformations/target/fountain_pen_block.d.ts +11 -0
- package/dist/transformations/target/fountain_pen_block.js +166 -0
- package/dist/transformations/target_json/fountain_pen_block.d.ts +4 -0
- package/dist/transformations/target_json/fountain_pen_block.js +101 -0
- package/package.json +1 -1
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
import * as _i_core from "../../core/unresolved";
|
|
2
|
+
export type _T_Document = _T_Value;
|
|
3
|
+
export type _T_Value = _i_core._T_State_Group<null, readonly ['array', _i_core._T_List<null, _T_Value>] | readonly ['boolean', boolean] | readonly ['null', null] | readonly [
|
|
4
|
+
'number',
|
|
5
|
+
_i_core._T_State_Group<null, readonly ['float', number] | readonly ['integer', number]>
|
|
6
|
+
] | readonly [
|
|
7
|
+
'object',
|
|
8
|
+
_i_core._T_State_Group<null, readonly ['dictionary', _i_core._T_Dictionary<null, _T_Value>] | readonly [
|
|
9
|
+
'key value array',
|
|
10
|
+
_i_core._T_List<null, {
|
|
11
|
+
readonly 'key': string;
|
|
12
|
+
readonly 'value': _T_Value;
|
|
13
|
+
}>
|
|
14
|
+
]>
|
|
15
|
+
] | readonly ['string', string]>;
|
|
16
|
+
export type Document = _T_Document;
|
|
17
|
+
export type Value = _T_Value;
|
|
18
|
+
export declare namespace _T_Document {
|
|
19
|
+
}
|
|
20
|
+
export declare namespace _T_Value {
|
|
21
|
+
namespace SG {
|
|
22
|
+
namespace array {
|
|
23
|
+
namespace L {
|
|
24
|
+
}
|
|
25
|
+
type L = _T_Value;
|
|
26
|
+
}
|
|
27
|
+
type array = _i_core._T_List<null, _T_Value>;
|
|
28
|
+
type _boolean = boolean;
|
|
29
|
+
type _null = null;
|
|
30
|
+
namespace _number {
|
|
31
|
+
namespace SG {
|
|
32
|
+
type float = number;
|
|
33
|
+
type integer = number;
|
|
34
|
+
}
|
|
35
|
+
type SG = readonly ['float', number] | readonly ['integer', number];
|
|
36
|
+
}
|
|
37
|
+
type _number = _i_core._T_State_Group<null, readonly ['float', number] | readonly ['integer', number]>;
|
|
38
|
+
namespace _object {
|
|
39
|
+
namespace SG {
|
|
40
|
+
namespace dictionary {
|
|
41
|
+
namespace D {
|
|
42
|
+
}
|
|
43
|
+
type D = _T_Value;
|
|
44
|
+
}
|
|
45
|
+
type dictionary = _i_core._T_Dictionary<null, _T_Value>;
|
|
46
|
+
namespace key_value_array {
|
|
47
|
+
namespace L {
|
|
48
|
+
type key = string;
|
|
49
|
+
namespace value {
|
|
50
|
+
}
|
|
51
|
+
type value = _T_Value;
|
|
52
|
+
}
|
|
53
|
+
type L = {
|
|
54
|
+
readonly 'key': string;
|
|
55
|
+
readonly 'value': _T_Value;
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
type key_value_array = _i_core._T_List<null, {
|
|
59
|
+
readonly 'key': string;
|
|
60
|
+
readonly 'value': _T_Value;
|
|
61
|
+
}>;
|
|
62
|
+
}
|
|
63
|
+
type SG = readonly ['dictionary', _i_core._T_Dictionary<null, _T_Value>] | readonly [
|
|
64
|
+
'key value array',
|
|
65
|
+
_i_core._T_List<null, {
|
|
66
|
+
readonly 'key': string;
|
|
67
|
+
readonly 'value': _T_Value;
|
|
68
|
+
}>
|
|
69
|
+
];
|
|
70
|
+
}
|
|
71
|
+
type _object = _i_core._T_State_Group<null, readonly ['dictionary', _i_core._T_Dictionary<null, _T_Value>] | readonly [
|
|
72
|
+
'key value array',
|
|
73
|
+
_i_core._T_List<null, {
|
|
74
|
+
readonly 'key': string;
|
|
75
|
+
readonly 'value': _T_Value;
|
|
76
|
+
}>
|
|
77
|
+
]>;
|
|
78
|
+
type _string = string;
|
|
79
|
+
}
|
|
80
|
+
type SG = readonly ['array', _i_core._T_List<null, _T_Value>] | readonly ['boolean', boolean] | readonly ['null', null] | readonly [
|
|
81
|
+
'number',
|
|
82
|
+
_i_core._T_State_Group<null, readonly ['float', number] | readonly ['integer', number]>
|
|
83
|
+
] | readonly [
|
|
84
|
+
'object',
|
|
85
|
+
_i_core._T_State_Group<null, readonly ['dictionary', _i_core._T_Dictionary<null, _T_Value>] | readonly [
|
|
86
|
+
'key value array',
|
|
87
|
+
_i_core._T_List<null, {
|
|
88
|
+
readonly 'key': string;
|
|
89
|
+
readonly 'value': _T_Value;
|
|
90
|
+
}>
|
|
91
|
+
]>
|
|
92
|
+
] | readonly ['string', string];
|
|
93
|
+
}
|
|
94
|
+
export declare namespace Document {
|
|
95
|
+
}
|
|
96
|
+
export declare namespace Value {
|
|
97
|
+
namespace SG {
|
|
98
|
+
namespace array {
|
|
99
|
+
namespace L {
|
|
100
|
+
}
|
|
101
|
+
type L = _T_Value;
|
|
102
|
+
}
|
|
103
|
+
type array = _i_core._T_List<null, _T_Value>;
|
|
104
|
+
type _boolean = boolean;
|
|
105
|
+
type _null = null;
|
|
106
|
+
namespace _number {
|
|
107
|
+
namespace SG {
|
|
108
|
+
type float = number;
|
|
109
|
+
type integer = number;
|
|
110
|
+
}
|
|
111
|
+
type SG = readonly ['float', number] | readonly ['integer', number];
|
|
112
|
+
}
|
|
113
|
+
type _number = _i_core._T_State_Group<null, readonly ['float', number] | readonly ['integer', number]>;
|
|
114
|
+
namespace _object {
|
|
115
|
+
namespace SG {
|
|
116
|
+
namespace dictionary {
|
|
117
|
+
namespace D {
|
|
118
|
+
}
|
|
119
|
+
type D = _T_Value;
|
|
120
|
+
}
|
|
121
|
+
type dictionary = _i_core._T_Dictionary<null, _T_Value>;
|
|
122
|
+
namespace key_value_array {
|
|
123
|
+
namespace L {
|
|
124
|
+
type key = string;
|
|
125
|
+
namespace value {
|
|
126
|
+
}
|
|
127
|
+
type value = _T_Value;
|
|
128
|
+
}
|
|
129
|
+
type L = {
|
|
130
|
+
readonly 'key': string;
|
|
131
|
+
readonly 'value': _T_Value;
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
type key_value_array = _i_core._T_List<null, {
|
|
135
|
+
readonly 'key': string;
|
|
136
|
+
readonly 'value': _T_Value;
|
|
137
|
+
}>;
|
|
138
|
+
}
|
|
139
|
+
type SG = readonly ['dictionary', _i_core._T_Dictionary<null, _T_Value>] | readonly [
|
|
140
|
+
'key value array',
|
|
141
|
+
_i_core._T_List<null, {
|
|
142
|
+
readonly 'key': string;
|
|
143
|
+
readonly 'value': _T_Value;
|
|
144
|
+
}>
|
|
145
|
+
];
|
|
146
|
+
}
|
|
147
|
+
type _object = _i_core._T_State_Group<null, readonly ['dictionary', _i_core._T_Dictionary<null, _T_Value>] | readonly [
|
|
148
|
+
'key value array',
|
|
149
|
+
_i_core._T_List<null, {
|
|
150
|
+
readonly 'key': string;
|
|
151
|
+
readonly 'value': _T_Value;
|
|
152
|
+
}>
|
|
153
|
+
]>;
|
|
154
|
+
type _string = string;
|
|
155
|
+
}
|
|
156
|
+
type SG = readonly ['array', _i_core._T_List<null, _T_Value>] | readonly ['boolean', boolean] | readonly ['null', null] | readonly [
|
|
157
|
+
'number',
|
|
158
|
+
_i_core._T_State_Group<null, readonly ['float', number] | readonly ['integer', number]>
|
|
159
|
+
] | readonly [
|
|
160
|
+
'object',
|
|
161
|
+
_i_core._T_State_Group<null, readonly ['dictionary', _i_core._T_Dictionary<null, _T_Value>] | readonly [
|
|
162
|
+
'key value array',
|
|
163
|
+
_i_core._T_List<null, {
|
|
164
|
+
readonly 'key': string;
|
|
165
|
+
readonly 'value': _T_Value;
|
|
166
|
+
}>
|
|
167
|
+
]>
|
|
168
|
+
] | readonly ['string', string];
|
|
169
|
+
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5yZXNvbHZlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9nZW5lcmF0ZWQvaW50ZXJmYWNlL3NjaGVtYXMvdGFyZ2V0X2pzb24vdW5yZXNvbHZlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export * as d_ast from "./generated/interface/schemas/ast/resolved";
|
|
2
2
|
export * as d_ide from "./generated/interface/schemas/ide/resolved";
|
|
3
3
|
export * as d_parse_result from "./generated/interface/schemas/parse_result/resolved";
|
|
4
|
-
export * as t_parse from "./
|
|
5
|
-
export * as t_format from "./transformations/
|
|
6
|
-
export * as t_create_error_message from "./
|
|
4
|
+
export * as t_parse from "./parse/parse";
|
|
5
|
+
export * as t_format from "./transformations/ast/ide";
|
|
6
|
+
export * as t_create_error_message from "./serializers/parse_result";
|
package/dist/index.js
CHANGED
|
@@ -37,7 +37,7 @@ exports.t_create_error_message = exports.t_format = exports.t_parse = exports.d_
|
|
|
37
37
|
exports.d_ast = __importStar(require("./generated/interface/schemas/ast/resolved"));
|
|
38
38
|
exports.d_ide = __importStar(require("./generated/interface/schemas/ide/resolved"));
|
|
39
39
|
exports.d_parse_result = __importStar(require("./generated/interface/schemas/parse_result/resolved"));
|
|
40
|
-
exports.t_parse = __importStar(require("./
|
|
41
|
-
exports.t_format = __importStar(require("./transformations/
|
|
42
|
-
exports.t_create_error_message = __importStar(require("./
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
40
|
+
exports.t_parse = __importStar(require("./parse/parse"));
|
|
41
|
+
exports.t_format = __importStar(require("./transformations/ast/ide"));
|
|
42
|
+
exports.t_create_error_message = __importStar(require("./serializers/parse_result"));
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsb0ZBQW1FO0FBQ25FLG9GQUFtRTtBQUNuRSxzR0FBcUY7QUFFckYseURBQXdDO0FBQ3hDLHNFQUFxRDtBQUNyRCxxRkFBb0UifQ==
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import * as ast from "../generated/interface/schemas/ast/resolved";
|
|
2
|
+
import * as parse_result from "../generated/interface/schemas/parse_result/resolved";
|
|
3
|
+
import * as pg from "./parse_generic";
|
|
4
|
+
export declare const String: (token_iterator: pg.Token_Iterator) => ast.String;
|
|
5
|
+
export declare const Document: (token_iterator: pg.Token_Iterator) => ast.Document;
|
|
6
|
+
export declare const Elements: (token_iterator: pg.Token_Iterator, end_reached: ($: parse_result.Token_Type) => boolean, end_token: parse_result.Parse_Error._type.SG.parser.expected.L) => ast.Elements;
|
|
7
|
+
export declare const Key_Value_Pairs: (token_iterator: pg.Token_Iterator, end_reached: ($: parse_result.Token_Type) => boolean, end_token: parse_result.Parse_Error._type.SG.parser.expected.L) => ast.Key_Value_Pairs;
|
|
8
|
+
export declare const Value: (token_iterator: pg.Token_Iterator) => ast.Value;
|
|
9
|
+
export declare const Parse_Result: ($: string, $p: {
|
|
10
|
+
"tab size": number;
|
|
11
|
+
}) => parse_result.Parse_Result;
|
|
@@ -0,0 +1,267 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.Parse_Result = exports.Value = exports.Key_Value_Pairs = exports.Elements = exports.Document = exports.String = void 0;
|
|
37
|
+
const _ea = __importStar(require("exupery-core-alg"));
|
|
38
|
+
const pg = __importStar(require("./parse_generic"));
|
|
39
|
+
/**
|
|
40
|
+
* to get from a Annotated_Token to a Structural_Token, the type should be omitted.
|
|
41
|
+
* but it is parsd in between the 'start' and 'end' properties, so a little post-processing is needed.
|
|
42
|
+
*/
|
|
43
|
+
const make_structural_token = (token) => {
|
|
44
|
+
return {
|
|
45
|
+
'trailing trivia': token['trailing trivia'],
|
|
46
|
+
'range': {
|
|
47
|
+
'start': token['start'],
|
|
48
|
+
'end': token['end']
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
};
|
|
52
|
+
const String = (token_iterator) => {
|
|
53
|
+
const token = token_iterator['get required token'](_ea.array_literal([['a string', null]]));
|
|
54
|
+
if (token.type[0] !== 'string') {
|
|
55
|
+
return pg.throw_unexpected_token(token, _ea.array_literal([['a string', null]]));
|
|
56
|
+
}
|
|
57
|
+
token_iterator['consume token']();
|
|
58
|
+
return {
|
|
59
|
+
'range': {
|
|
60
|
+
'start': token['start'],
|
|
61
|
+
'end': token['end']
|
|
62
|
+
},
|
|
63
|
+
'value': token.type[1].value,
|
|
64
|
+
'type': token.type[1].type,
|
|
65
|
+
'trailing trivia': token['trailing trivia'],
|
|
66
|
+
};
|
|
67
|
+
};
|
|
68
|
+
exports.String = String;
|
|
69
|
+
const Document = (token_iterator) => {
|
|
70
|
+
return {
|
|
71
|
+
'header': _ea.block(() => {
|
|
72
|
+
const token = token_iterator['get required token'](_ea.array_literal([['!', null], ['a value', null]]));
|
|
73
|
+
if (token.type[0] !== '!') {
|
|
74
|
+
return _ea.not_set();
|
|
75
|
+
}
|
|
76
|
+
token_iterator['consume token']();
|
|
77
|
+
return _ea.set({
|
|
78
|
+
'!': make_structural_token(token),
|
|
79
|
+
'value': (0, exports.Value)(token_iterator)
|
|
80
|
+
});
|
|
81
|
+
}),
|
|
82
|
+
'content': (0, exports.Value)(token_iterator)
|
|
83
|
+
};
|
|
84
|
+
};
|
|
85
|
+
exports.Document = Document;
|
|
86
|
+
const Elements = (token_iterator, end_reached, end_token) => {
|
|
87
|
+
return _ea.pure.list.build(($i) => {
|
|
88
|
+
while (true) {
|
|
89
|
+
const current_token = token_iterator['get required token'](_ea.array_literal([end_token, ['a value', null]]));
|
|
90
|
+
if (end_reached(current_token.type)) {
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
$i['add element']({
|
|
94
|
+
'value': (0, exports.Value)(token_iterator),
|
|
95
|
+
',': _ea.block(() => {
|
|
96
|
+
const current_token = token_iterator['get required token'](_ea.array_literal([end_token, [',', null], ['a value', null]]));
|
|
97
|
+
if (current_token.type[0] !== ',') {
|
|
98
|
+
return _ea.not_set();
|
|
99
|
+
}
|
|
100
|
+
token_iterator['consume token']();
|
|
101
|
+
return _ea.set(make_structural_token(current_token));
|
|
102
|
+
})
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
});
|
|
106
|
+
};
|
|
107
|
+
exports.Elements = Elements;
|
|
108
|
+
const Key_Value_Pairs = (token_iterator, end_reached, end_token) => {
|
|
109
|
+
return _ea.pure.list.build(($i) => {
|
|
110
|
+
while (true) {
|
|
111
|
+
const current_token = token_iterator['get required token'](_ea.array_literal([end_token, ['a string', null]]));
|
|
112
|
+
if (end_reached(current_token.type)) {
|
|
113
|
+
return;
|
|
114
|
+
}
|
|
115
|
+
$i['add element']({
|
|
116
|
+
'key': (0, exports.String)(token_iterator),
|
|
117
|
+
'value': _ea.block(() => {
|
|
118
|
+
const candidate_colon = token_iterator['get required token'](_ea.array_literal([['a string', null], [':', null], end_token]));
|
|
119
|
+
if (candidate_colon.type[0] !== ':') {
|
|
120
|
+
return _ea.not_set();
|
|
121
|
+
}
|
|
122
|
+
token_iterator['consume token']();
|
|
123
|
+
return _ea.set({
|
|
124
|
+
':': make_structural_token(candidate_colon),
|
|
125
|
+
'value': (0, exports.Value)(token_iterator)
|
|
126
|
+
});
|
|
127
|
+
}),
|
|
128
|
+
',': _ea.block(() => {
|
|
129
|
+
const current_token = token_iterator['get required token'](_ea.array_literal([['a string', null], [',', null], end_token]));
|
|
130
|
+
if (current_token.type[0] !== ',') {
|
|
131
|
+
return _ea.not_set();
|
|
132
|
+
}
|
|
133
|
+
token_iterator['consume token']();
|
|
134
|
+
return _ea.set(make_structural_token(current_token));
|
|
135
|
+
})
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
});
|
|
139
|
+
};
|
|
140
|
+
exports.Key_Value_Pairs = Key_Value_Pairs;
|
|
141
|
+
const Value = (token_iterator) => {
|
|
142
|
+
const token = token_iterator['get required token'](_ea.array_literal([['a value', null]]));
|
|
143
|
+
return {
|
|
144
|
+
'range': {
|
|
145
|
+
'start': token.start,
|
|
146
|
+
'end': token.end
|
|
147
|
+
},
|
|
148
|
+
'type': _ea.cc(token.type, ($) => {
|
|
149
|
+
switch ($[0]) {
|
|
150
|
+
case 'string': return _ea.ss($, ($) => {
|
|
151
|
+
return ['string', (0, exports.String)(token_iterator)];
|
|
152
|
+
});
|
|
153
|
+
case '{': return _ea.ss($, ($) => {
|
|
154
|
+
token_iterator['consume token']();
|
|
155
|
+
return ['indexed collection', ['dictionary', {
|
|
156
|
+
'{': make_structural_token(token),
|
|
157
|
+
'entries': (0, exports.Key_Value_Pairs)(token_iterator, ($) => $[0] === '}', ['}', null]),
|
|
158
|
+
'}': _ea.block(() => {
|
|
159
|
+
const current_token = token_iterator['get required token'](_ea.array_literal([['}', null]]));
|
|
160
|
+
token_iterator['consume token']();
|
|
161
|
+
return make_structural_token(current_token);
|
|
162
|
+
})
|
|
163
|
+
}]];
|
|
164
|
+
});
|
|
165
|
+
case '(': return _ea.ss($, ($) => {
|
|
166
|
+
token_iterator['consume token']();
|
|
167
|
+
return ['indexed collection', ['verbose group', {
|
|
168
|
+
'(': make_structural_token(token),
|
|
169
|
+
'entries': (0, exports.Key_Value_Pairs)(token_iterator, ($) => $[0] === ')', [')', null]),
|
|
170
|
+
')': _ea.block(() => {
|
|
171
|
+
const current_token = token_iterator['get required token'](_ea.array_literal([[')', null]]));
|
|
172
|
+
token_iterator['consume token']();
|
|
173
|
+
return make_structural_token(current_token);
|
|
174
|
+
})
|
|
175
|
+
}]];
|
|
176
|
+
});
|
|
177
|
+
case '[': return _ea.ss($, ($) => {
|
|
178
|
+
token_iterator['consume token']();
|
|
179
|
+
return ['ordered collection', ['list', {
|
|
180
|
+
'[': make_structural_token(token),
|
|
181
|
+
'elements': (0, exports.Elements)(token_iterator, ($) => $[0] === ']', [']', null]),
|
|
182
|
+
']': _ea.block(() => {
|
|
183
|
+
const current_token = token_iterator['get required token'](_ea.array_literal([[']', null]]));
|
|
184
|
+
token_iterator['consume token']();
|
|
185
|
+
return make_structural_token(current_token);
|
|
186
|
+
}),
|
|
187
|
+
}]];
|
|
188
|
+
});
|
|
189
|
+
case '<': return _ea.ss($, ($) => {
|
|
190
|
+
token_iterator['consume token']();
|
|
191
|
+
return ['ordered collection', ['concise group', {
|
|
192
|
+
'<': make_structural_token(token),
|
|
193
|
+
'elements': (0, exports.Elements)(token_iterator, ($) => $[0] === '>', ['>', null]),
|
|
194
|
+
'>': _ea.block(() => {
|
|
195
|
+
const current_token = token_iterator['get required token'](_ea.array_literal([['>', null]]));
|
|
196
|
+
token_iterator['consume token']();
|
|
197
|
+
return make_structural_token(current_token);
|
|
198
|
+
}),
|
|
199
|
+
}]];
|
|
200
|
+
});
|
|
201
|
+
case '@': return _ea.ss($, ($) => {
|
|
202
|
+
token_iterator['consume token']();
|
|
203
|
+
return ['include', {
|
|
204
|
+
'@': make_structural_token(token),
|
|
205
|
+
'path': (0, exports.String)(token_iterator)
|
|
206
|
+
}];
|
|
207
|
+
});
|
|
208
|
+
case '~': return _ea.ss($, ($) => {
|
|
209
|
+
token_iterator['consume token']();
|
|
210
|
+
return ['not set', {
|
|
211
|
+
'~': make_structural_token(token),
|
|
212
|
+
}];
|
|
213
|
+
});
|
|
214
|
+
case '|': return _ea.ss($, ($) => {
|
|
215
|
+
token_iterator['consume token']();
|
|
216
|
+
return ['tagged value', {
|
|
217
|
+
'|': make_structural_token(token),
|
|
218
|
+
'state': (0, exports.String)(token_iterator),
|
|
219
|
+
'value': (0, exports.Value)(token_iterator)
|
|
220
|
+
}];
|
|
221
|
+
});
|
|
222
|
+
case '*': return _ea.ss($, ($) => {
|
|
223
|
+
token_iterator['consume token']();
|
|
224
|
+
return ['set optional value', {
|
|
225
|
+
'*': make_structural_token(token),
|
|
226
|
+
'value': (0, exports.Value)(token_iterator)
|
|
227
|
+
}];
|
|
228
|
+
});
|
|
229
|
+
default:
|
|
230
|
+
//unexpected token
|
|
231
|
+
return pg.throw_unexpected_token(token, _ea.array_literal([
|
|
232
|
+
['a value', null]
|
|
233
|
+
]));
|
|
234
|
+
}
|
|
235
|
+
})
|
|
236
|
+
};
|
|
237
|
+
};
|
|
238
|
+
exports.Value = Value;
|
|
239
|
+
const Parse_Result = ($, $p) => {
|
|
240
|
+
try {
|
|
241
|
+
const string_iterator = pg.create_string_iterator($, {
|
|
242
|
+
'tab size': $p['tab size']
|
|
243
|
+
});
|
|
244
|
+
const tokenizer_result = pg.Tokenizer_Result(null, {
|
|
245
|
+
'string iterator': string_iterator
|
|
246
|
+
});
|
|
247
|
+
// tokenizer_result.tokens.__for_each(($) => {
|
|
248
|
+
// pdev.log_debug_message(`token: ${_ea.cc($.type, ($) => {
|
|
249
|
+
// switch ($[0]) {
|
|
250
|
+
// case 'string': return _ea.ss($, ($) => `string: ${$.value.value}`)
|
|
251
|
+
// default: return `structural: ${$[0]}`
|
|
252
|
+
// }
|
|
253
|
+
// })}`)
|
|
254
|
+
// })
|
|
255
|
+
const token_iterator = pg.create_token_iterator(tokenizer_result);
|
|
256
|
+
return ['success', (0, exports.Document)(token_iterator)];
|
|
257
|
+
}
|
|
258
|
+
catch (error) {
|
|
259
|
+
if (error instanceof _ea.Error) {
|
|
260
|
+
const parse_error = error.type; //this has to be the case
|
|
261
|
+
return ['failure', parse_error];
|
|
262
|
+
}
|
|
263
|
+
return _ea.panic("unknown error thrown");
|
|
264
|
+
}
|
|
265
|
+
};
|
|
266
|
+
exports.Parse_Result = Parse_Result;
|
|
267
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcGFyc2UvcGFyc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsc0RBQXVDO0FBTXZDLG9EQUFxQztBQUlyQzs7O0dBR0c7QUFDSCxNQUFNLHFCQUFxQixHQUFHLENBQUMsS0FBbUMsRUFBd0IsRUFBRTtJQUN4RixPQUFPO1FBQ0gsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLGlCQUFpQixDQUFDO1FBQzNDLE9BQU8sRUFBRTtZQUNMLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDO1lBQ3ZCLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDO1NBQ3RCO0tBQ0osQ0FBQTtBQUNMLENBQUMsQ0FBQTtBQUVNLE1BQU0sTUFBTSxHQUFHLENBQUMsY0FBaUMsRUFBYyxFQUFFO0lBQ3BFLE1BQU0sS0FBSyxHQUFHLGNBQWMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUMzRixJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDN0IsT0FBTyxFQUFFLENBQUMsc0JBQXNCLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUNwRixDQUFDO0lBQ0QsY0FBYyxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUE7SUFDakMsT0FBTztRQUNILE9BQU8sRUFBRTtZQUNMLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDO1lBQ3ZCLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDO1NBQ3RCO1FBQ0QsT0FBTyxFQUFFLEtBQUssQ0FB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
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import * as _et from 'exupery-core-types';
|
|
2
|
+
import * as ast from "../generated/interface/schemas/ast/resolved";
|
|
3
|
+
import * as parse_result from "../generated/interface/schemas/parse_result/resolved";
|
|
4
|
+
export declare const throw_parse_error: (type: parse_result.Parse_Error._type, range: ast.Range) => never;
|
|
5
|
+
export declare const throw_unexpected_token: (found: parse_result.Annotated_Token, expected: _et.Array<parse_result.Parse_Error._type.SG.parser.expected.L>) => never;
|
|
6
|
+
type String_Iterator = {
|
|
7
|
+
'consume character': () => void;
|
|
8
|
+
'consume string': ($: string) => void;
|
|
9
|
+
/**
|
|
10
|
+
* returns the current character, or null if the end of the string has been reached.
|
|
11
|
+
* equivalent to `look ahead(0)`
|
|
12
|
+
*/
|
|
13
|
+
'get current character': () => number | null;
|
|
14
|
+
'look ahead': ($: number) => number | null;
|
|
15
|
+
'create offset location info': (subtract: number) => ast.Location;
|
|
16
|
+
'create location info': () => ast.Location;
|
|
17
|
+
'create location info string': () => string;
|
|
18
|
+
/**
|
|
19
|
+
* if no non-whitespace character has been found yet on the current line,
|
|
20
|
+
* this will return the current column,
|
|
21
|
+
* otherwise it will return the offset of that first non-whitespace character
|
|
22
|
+
* (which is the indentation of the line)
|
|
23
|
+
*/
|
|
24
|
+
'get line indentation': () => number;
|
|
25
|
+
'starts with': ($: string) => boolean;
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* Creates a string iterator that allows iterating over characters in a string,
|
|
29
|
+
* while keeping track of line numbers, columns, and line indentation.
|
|
30
|
+
*/
|
|
31
|
+
export declare const create_string_iterator: ($: string, $p: {
|
|
32
|
+
"tab size": number;
|
|
33
|
+
}) => String_Iterator;
|
|
34
|
+
export declare const Annotated_Token: (st: String_Iterator) => parse_result.Annotated_Token;
|
|
35
|
+
export declare const Tokenizer_Result: ($: null, $p: {
|
|
36
|
+
"string iterator": String_Iterator;
|
|
37
|
+
}) => parse_result.Tokenizer_Result;
|
|
38
|
+
export type Token_Iterator = {
|
|
39
|
+
'get required token': (expected: _et.Array<parse_result.Parse_Error._type.SG.parser.expected.L>) => parse_result.Annotated_Token;
|
|
40
|
+
'consume token': () => void;
|
|
41
|
+
};
|
|
42
|
+
export declare const create_token_iterator: ($: parse_result.Tokenizer_Result) => Token_Iterator;
|
|
43
|
+
export {};
|