astn 0.111.30 → 0.112.0
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/exceptional/authoring_parse/ast/context.d.ts +11 -0
- package/dist/exceptional/authoring_parse/ast/context.js +43 -0
- package/dist/exceptional/authoring_parse/ast/helpers.d.ts +10 -0
- package/dist/exceptional/authoring_parse/ast/helpers.js +45 -0
- package/dist/exceptional/authoring_parse/ast/iterator.d.ts +9 -0
- package/dist/exceptional/authoring_parse/ast/iterator.js +29 -0
- package/dist/exceptional/authoring_parse/ast/refiners.d.ts +10 -0
- package/dist/exceptional/authoring_parse/ast/refiners.js +266 -0
- package/dist/exceptional/authoring_parse/astn_parse_generic.d.ts +4 -3
- package/dist/exceptional/authoring_parse/astn_parse_generic.js +1 -1
- package/dist/exceptional/authoring_parse/iterator.d.ts +7 -0
- package/dist/exceptional/authoring_parse/iterator.js +3 -0
- package/dist/exceptional/authoring_parse/iterators/characters.d.ts +36 -0
- package/dist/exceptional/authoring_parse/iterators/characters.js +113 -0
- package/dist/exceptional/authoring_parse/iterators/string_iterator.d.ts +36 -0
- package/dist/exceptional/authoring_parse/iterators/string_iterator.js +113 -0
- package/dist/exceptional/authoring_parse/iterators/token_iterator.d.ts +17 -0
- package/dist/exceptional/authoring_parse/iterators/token_iterator.js +50 -0
- package/dist/exceptional/authoring_parse/iterators/tokens.d.ts +22 -0
- package/dist/exceptional/authoring_parse/iterators/tokens.js +61 -0
- package/dist/exceptional/authoring_parse/parse.d.ts +2 -2
- package/dist/exceptional/authoring_parse/parse.js +14 -32
- package/dist/exceptional/authoring_parse/refine_guard.d.ts +3 -0
- package/dist/exceptional/authoring_parse/refine_guard.js +48 -0
- package/dist/exceptional/authoring_parse/refiners/ast.d.ts +10 -0
- package/dist/exceptional/authoring_parse/refiners/ast.js +266 -0
- package/dist/exceptional/authoring_parse/refiners/token.d.ts +9 -0
- package/dist/exceptional/authoring_parse/refiners/token.js +519 -0
- package/dist/exceptional/authoring_parse/string_iterator.d.ts +3 -8
- package/dist/exceptional/authoring_parse/token_iterator.d.ts +5 -0
- package/dist/exceptional/authoring_parse/token_iterator.js +3 -0
- package/dist/exceptional/authoring_parse/tokens/context.d.ts +9 -0
- package/dist/exceptional/authoring_parse/tokens/context.js +37 -0
- package/dist/exceptional/authoring_parse/tokens/helpers.d.ts +3 -0
- package/dist/exceptional/authoring_parse/tokens/helpers.js +14 -0
- package/dist/exceptional/authoring_parse/tokens/iterator.d.ts +27 -0
- package/dist/exceptional/authoring_parse/tokens/iterator.js +108 -0
- package/dist/exceptional/authoring_parse/tokens/refiners.d.ts +7 -0
- package/dist/exceptional/authoring_parse/tokens/refiners.js +521 -0
- package/dist/implementation/algorithms/operations/impure/string/serialize_apostrophed_string.js +2 -2
- package/dist/implementation/algorithms/operations/impure/string/serialize_backticked_string.js +2 -2
- package/dist/implementation/algorithms/operations/impure/string/serialize_quoted_string.js +2 -2
- package/dist/implementation/algorithms/procedures/unguaranteed/convert_to_json.js +4 -4
- package/dist/implementation/algorithms/procedures/unguaranteed/validate_astn.js +4 -4
- package/dist/implementation/algorithms/transformations/authoring_parse_tree/ide.js +2 -2
- package/dist/implementation/algorithms/transformations/authoring_target/fountain_pen_block.d.ts +1 -1
- package/dist/implementation/algorithms/transformations/authoring_target/fountain_pen_block.js +2 -2
- package/dist/implementation/algorithms/transformations/parse_result/string.d.ts +5 -0
- package/dist/implementation/algorithms/transformations/parse_result/string.js +90 -0
- package/dist/implementation/generated/pareto/generic/parse/parse.d.ts +1 -1
- package/dist/implementation/generated/pareto/generic/parse/parse.js +4 -4
- package/dist/implementation/generated/pareto/generic/parse/string_iterator.js +3 -3
- package/dist/implementation/generated/pareto/generic/parse/token.js +3 -3
- package/dist/implementation/generated/pareto/generic/resolve.js +5 -5
- package/dist/implementation/generated/pareto/generic/unmarshall.js +27 -27
- package/dist/implementation/generated/pareto/schemas/astn_schema/resolve.js +3 -3
- package/dist/shorthands/parse_result.d.ts +6 -0
- package/dist/shorthands/parse_result.js +36 -0
- package/package.json +8 -8
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.lexer_error = void 0;
|
|
4
|
+
const lexer_error = (type, range) => {
|
|
5
|
+
return {
|
|
6
|
+
'type': ['lexer', type],
|
|
7
|
+
'range': {
|
|
8
|
+
'start': range.start,
|
|
9
|
+
'end': range.end,
|
|
10
|
+
}
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
exports.lexer_error = lexer_error;
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9leGNlcHRpb25hbC9hdXRob3JpbmdfcGFyc2UvdG9rZW5zL2hlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBU08sTUFBTSxXQUFXLEdBQUcsQ0FDdkIsSUFBK0MsRUFDL0MsS0FBb0IsRUFDTSxFQUFFO0lBQzVCLE9BQU87UUFDSCxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDO1FBQ3ZCLE9BQU8sRUFBRTtZQUNMLE9BQU8sRUFBRSxLQUFLLENBQUMsS0FBSztZQUNwQixLQUFLLEVBQUUsS0FBSyxDQUFDLEdBQUc7U0FDbkI7S0FDSixDQUFBO0FBQ0wsQ0FBQyxDQUFBO0FBWFksUUFBQSxXQUFXLGVBV3ZCIn0=
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Iterator } from '../iterator';
|
|
2
|
+
export type Iterator_Location = {
|
|
3
|
+
'absolute': number;
|
|
4
|
+
'relative': {
|
|
5
|
+
'line': number;
|
|
6
|
+
'column': number;
|
|
7
|
+
};
|
|
8
|
+
};
|
|
9
|
+
export type Token_Iterator_State = {
|
|
10
|
+
'location': Iterator_Location;
|
|
11
|
+
/**
|
|
12
|
+
* if no non-whitespace character has been found yet on the current line,
|
|
13
|
+
* this will return the current column,
|
|
14
|
+
* otherwise it will return the offset of that first non-whitespace character
|
|
15
|
+
* (which is the indentation of the line)
|
|
16
|
+
*/
|
|
17
|
+
'line indentation': number;
|
|
18
|
+
};
|
|
19
|
+
export type Characters_Iterator = Iterator<number, Token_Iterator_State>;
|
|
20
|
+
export declare const is_control_character: ($: number) => boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Creates a string iterator that allows iterating over characters in a string,
|
|
23
|
+
* while keeping track of line numbers, columns, and line indentation.
|
|
24
|
+
*/
|
|
25
|
+
export declare const create_iterator: ($: string, $p: {
|
|
26
|
+
"tab size": number;
|
|
27
|
+
}) => Characters_Iterator;
|
|
@@ -0,0 +1,108 @@
|
|
|
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 (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.create_iterator = exports.is_control_character = void 0;
|
|
27
|
+
const _ea = __importStar(require("exupery-core-alg"));
|
|
28
|
+
const to_character_list_1 = require("exupery-standard-library/dist/implementation/algorithms/operations/impure/text/to_character_list");
|
|
29
|
+
const WhitespaceChars = {
|
|
30
|
+
tab: 0x09, // \t
|
|
31
|
+
line_feed: 0x0A, // \n
|
|
32
|
+
carriage_return: 0x0D, // \r
|
|
33
|
+
space: 0x20, //
|
|
34
|
+
};
|
|
35
|
+
const is_control_character = ($) => {
|
|
36
|
+
return ($ < 0x20 && $ !== WhitespaceChars.tab && $ !== WhitespaceChars.line_feed && $ !== WhitespaceChars.carriage_return);
|
|
37
|
+
};
|
|
38
|
+
exports.is_control_character = is_control_character;
|
|
39
|
+
/**
|
|
40
|
+
* Creates a string iterator that allows iterating over characters in a string,
|
|
41
|
+
* while keeping track of line numbers, columns, and line indentation.
|
|
42
|
+
*/
|
|
43
|
+
const create_iterator = ($, $p) => {
|
|
44
|
+
const characters = (0, to_character_list_1.$$)($);
|
|
45
|
+
let found_carriage_return_before = false;
|
|
46
|
+
let position = 0;
|
|
47
|
+
let relative_position = {
|
|
48
|
+
'line': 0,
|
|
49
|
+
'column': 0,
|
|
50
|
+
'line indentation': null
|
|
51
|
+
};
|
|
52
|
+
return {
|
|
53
|
+
'consume': () => {
|
|
54
|
+
const c = characters.__get_element_at(position);
|
|
55
|
+
const start = relative_position;
|
|
56
|
+
relative_position = c.transform(($) => {
|
|
57
|
+
return $ === WhitespaceChars.line_feed
|
|
58
|
+
? {
|
|
59
|
+
'line': relative_position.line + 1,
|
|
60
|
+
'column': 0,
|
|
61
|
+
'line indentation': null,
|
|
62
|
+
}
|
|
63
|
+
: found_carriage_return_before
|
|
64
|
+
? {
|
|
65
|
+
'line': relative_position.line + 1,
|
|
66
|
+
'column': 0,
|
|
67
|
+
'line indentation': null,
|
|
68
|
+
}
|
|
69
|
+
: {
|
|
70
|
+
'line': relative_position.line,
|
|
71
|
+
'column': relative_position['column'] + ($ === WhitespaceChars.tab
|
|
72
|
+
? $p['tab size']
|
|
73
|
+
: 1),
|
|
74
|
+
'line indentation': relative_position['line indentation'] !== null
|
|
75
|
+
? relative_position['line indentation']
|
|
76
|
+
: $ === WhitespaceChars.space || $ === WhitespaceChars.tab
|
|
77
|
+
? null
|
|
78
|
+
: relative_position['column'],
|
|
79
|
+
};
|
|
80
|
+
}, () => relative_position //this is weird, we were already at the end of the list
|
|
81
|
+
);
|
|
82
|
+
found_carriage_return_before = c.transform(($) => $ === WhitespaceChars.carriage_return, () => false);
|
|
83
|
+
position += 1;
|
|
84
|
+
},
|
|
85
|
+
'get current': () => {
|
|
86
|
+
return characters.__get_element_at(position).transform(($) => _ea.set($), () => _ea.not_set());
|
|
87
|
+
},
|
|
88
|
+
'look ahead': (offset) => {
|
|
89
|
+
return characters.__get_element_at(position + offset).transform(($) => _ea.set($), () => _ea.not_set());
|
|
90
|
+
},
|
|
91
|
+
'get state': () => {
|
|
92
|
+
return {
|
|
93
|
+
'location': {
|
|
94
|
+
'absolute': position,
|
|
95
|
+
'relative': {
|
|
96
|
+
'line': relative_position.line,
|
|
97
|
+
'column': relative_position['column'],
|
|
98
|
+
}
|
|
99
|
+
},
|
|
100
|
+
'line indentation': relative_position['line indentation'] !== null
|
|
101
|
+
? relative_position['line indentation']
|
|
102
|
+
: relative_position['column']
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
};
|
|
106
|
+
};
|
|
107
|
+
exports.create_iterator = create_iterator;
|
|
108
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXRlcmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZXhjZXB0aW9uYWwvYXV0aG9yaW5nX3BhcnNlL3Rva2Vucy9pdGVyYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHNEQUF1QztBQUd2Qyx3SUFBNkk7QUEwQjdJLE1BQU0sZUFBZSxHQUFHO0lBQ3BCLEdBQUcsRUFBRSxJQUFJLEVBQW1CLEtBQUs7SUFDakMsU0FBUyxFQUFFLElBQUksRUFBYSxLQUFLO0lBQ2pDLGVBQWUsRUFBRSxJQUFJLEVBQU8sS0FBSztJQUNqQyxLQUFLLEVBQUUsSUFBSSxFQUFpQixFQUFFO0NBQ2pDLENBQUE7QUFFTSxNQUFNLG9CQUFvQixHQUFHLENBQUMsQ0FBUyxFQUFXLEVBQUU7SUFDdkQsT0FBTyxDQUFDLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxLQUFLLGVBQWUsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLGVBQWUsQ0FBQyxTQUFTLElBQUksQ0FBQyxLQUFLLGVBQWUsQ0FBQyxlQUFlLENBQUMsQ0FBQTtBQUM5SCxDQUFDLENBQUE7QUFGWSxRQUFBLG9CQUFvQix3QkFFaEM7QUFFRDs7O0dBR0c7QUFFSSxNQUFNLGVBQWUsR0FBRyxDQUMzQixDQUFTLEVBQ1QsRUFFQyxFQUNrQixFQUFFO0lBQ3JCLE1BQU0sVUFBVSxHQUFHLElBQUEsc0JBQW9CLEVBQUMsQ0FBQyxDQUFDLENBQUE7SUFRMUMsSUFBSSw0QkFBNEIsR0FBRyxLQUFLLENBQUE7SUFDeEMsSUFBSSxRQUFRLEdBQUcsQ0FBQyxDQUFBO0lBQ2hCLElBQUksaUJBQWlCLEdBQWtDO1FBQ25ELE1BQU0sRUFBRSxDQUFDO1FBQ1QsUUFBUSxFQUFFLENBQUM7UUFDWCxrQkFBa0IsRUFBRSxJQUFJO0tBQzNCLENBQUE7SUFFRCxPQUFPO1FBQ0gsU0FBUyxFQUFFLEdBQUcsRUFBRTtZQUNaLE1BQU0sQ0FBQyxHQUFHLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FBQTtZQUMvQyxNQUFNLEtBQUssR0FBRyxpQkFBaUIsQ0FBQTtZQUMvQixpQkFBaUIsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUMzQixDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUNGLE9BQU8sQ0FBQyxLQUFLLGVBQWUsQ0FBQyxTQUFTO29CQUNsQyxDQUFDLENBQUM7d0JBQ0UsTUFBTSxFQUFFLGlCQUFpQixDQUFDLElBQUksR0FBRyxDQUFDO3dCQUNsQyxRQUFRLEVBQUUsQ0FBQzt3QkFDWCxrQkFBa0IsRUFBRSxJQUFJO3FCQUMzQjtvQkFDRCxDQUFDLENBQUMsNEJBQTRCO3dCQUMxQixDQUFDLENBQUM7NEJBQ0UsTUFBTSxFQUFFLGlCQUFpQixDQUFDLElBQUksR0FBRyxDQUFDOzRCQUNsQyxRQUFRLEVBQUUsQ0FBQzs0QkFDWCxrQkFBa0IsRUFBRSxJQUFJO3lCQUMzQjt3QkFDRCxDQUFDLENBQUM7NEJBQ0UsTUFBTSxFQUFFLGlCQUFpQixDQUFDLElBQUk7NEJBQzlCLFFBQVEsRUFBRSxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxlQUFlLENBQUMsR0FBRztnQ0FDOUQsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUM7Z0NBQ2hCLENBQUMsQ0FBQyxDQUFDLENBQUM7NEJBQ1Isa0JBQWtCLEVBQUUsaUJBQWlCLENBQUMsa0JBQWtCLENBQUMsS0FBSyxJQUFJO2dDQUM5RCxDQUFDLENBQUMsaUJBQWlCLENBQUMsa0JBQWtCLENBQUM7Z0NBQ3ZDLENBQUMsQ0FBQyxDQUFDLEtBQUssZUFBZSxDQUFDLEtBQUssSUFBSSxDQUFDLEtBQUssZUFBZSxDQUFDLEdBQUc7b0NBQ3RELENBQUMsQ0FBQyxJQUFJO29DQUNOLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUM7eUJBQ3hDLENBQUE7WUFDYixDQUFDLEVBQ0QsR0FBRyxFQUFFLENBQUMsaUJBQWlCLENBQUMsdURBQXVEO2FBQ2xGLENBQUE7WUFFRCw0QkFBNEIsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUN0QyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLGVBQWUsQ0FBQyxlQUFlLEVBQzVDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FDZCxDQUFBO1lBQ0QsUUFBUSxJQUFJLENBQUMsQ0FBQTtRQUNqQixDQUFDO1FBQ0QsYUFBYSxFQUFFLEdBQUcsRUFBRTtZQUNoQixPQUFPLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FBQyxTQUFTLENBQ2xELENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUNqQixHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLENBQ3RCLENBQUE7UUFDTCxDQUFDO1FBQ0QsWUFBWSxFQUFFLENBQUMsTUFBYyxFQUFFLEVBQUU7WUFDN0IsT0FBTyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxDQUFDLFNBQVMsQ0FDM0QsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQ2pCLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FDdEIsQ0FBQTtRQUNMLENBQUM7UUFDRCxXQUFXLEVBQUUsR0FBRyxFQUFFO1lBQ2QsT0FBTztnQkFDSCxVQUFVLEVBQUU7b0JBQ1IsVUFBVSxFQUFFLFFBQVE7b0JBQ3BCLFVBQVUsRUFBRTt3QkFDUixNQUFNLEVBQUUsaUJBQWlCLENBQUMsSUFBSTt3QkFDOUIsUUFBUSxFQUFFLGlCQUFpQixDQUFDLFFBQVEsQ0FBQztxQkFDeEM7aUJBQ0o7Z0JBQ0Qsa0JBQWtCLEVBQUUsaUJBQWlCLENBQUMsa0JBQWtCLENBQUMsS0FBSyxJQUFJO29CQUM5RCxDQUFDLENBQUMsaUJBQWlCLENBQUMsa0JBQWtCLENBQUM7b0JBQ3ZDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUM7YUFDcEMsQ0FBQTtRQUNMLENBQUM7S0FDSixDQUFBO0FBQ0wsQ0FBQyxDQUFBO0FBeEZZLFFBQUEsZUFBZSxtQkF3RjNCIn0=
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import * as _out from "../../../interface/generated/pareto/schemas/token/data_types/target";
|
|
2
|
+
import * as c from "./context";
|
|
3
|
+
export declare const Whitespace: (context: c.Refinement_Context) => _out.Whitespace;
|
|
4
|
+
export declare const Trivia: (context: c.Refinement_Context) => _out.Trivia;
|
|
5
|
+
export declare const Annotated_Token: (context: c.Refinement_Context) => _out.Annotated_Token;
|
|
6
|
+
export declare const Delimited_String: (is_end_character: (character: number) => boolean, allow_newlines: boolean, context: c.Refinement_Context) => _out.Delimited_String;
|
|
7
|
+
export declare const Tokenizer_Result: (context: c.Refinement_Context) => _out.Tokenizer_Result;
|