@ohm-js/wasm 0.5.0 → 0.6.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 -0
- package/dist/build/ohmRuntime.wasm_sections.d.ts +39 -0
- package/dist/build/ohmRuntime.wasm_sections.js +47 -0
- package/dist/index.d.ts +4 -8
- package/dist/index.js +4 -2284
- package/dist/src/AstBuilder.d.ts +17 -0
- package/dist/src/AstBuilder.js +143 -0
- package/dist/src/Compiler.d.ts +195 -0
- package/dist/src/Compiler.js +1559 -0
- package/dist/src/assert.d.ts +3 -0
- package/dist/src/assert.js +9 -0
- package/dist/src/cli.d.ts +2 -0
- package/dist/src/cli.js +56 -0
- package/dist/src/compat.d.ts +4 -0
- package/dist/src/compat.js +18 -0
- package/dist/src/ir.d.ts +121 -0
- package/dist/src/ir.js +297 -0
- package/dist/src/miniohm.d.ts +87 -0
- package/dist/src/miniohm.js +418 -0
- package/package.json +19 -5
- package/dist/cli.js +0 -2333
- package/dist/tsconfig.tsbuildinfo +0 -1
package/README.md
CHANGED
|
@@ -33,6 +33,17 @@ const g = ohm.grammar('MyGrammar { start = "blah" }');
|
|
|
33
33
|
const bytes = new Compiler(g).compile();
|
|
34
34
|
```
|
|
35
35
|
|
|
36
|
+
Differences:
|
|
37
|
+
|
|
38
|
+
**Arity**
|
|
39
|
+
- Iter and Opt nodes are no longer flattened.
|
|
40
|
+
- Positive lookahead does not bind a node.
|
|
41
|
+
|
|
42
|
+
**Building ASTs**
|
|
43
|
+
- `AstBuilder` class replaces `toAST`.
|
|
44
|
+
- Recursive calls: `this.toAst(node)` rather than `node.toAST(this.args.mapping)`
|
|
45
|
+
- `this.currNode` vs `this`.
|
|
46
|
+
|
|
36
47
|
### Development
|
|
37
48
|
|
|
38
49
|
#### Prerequisites
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
export declare const destImportCount = 6;
|
|
2
|
+
export declare const startFuncidx = 54;
|
|
3
|
+
export declare const funcidxByName: {
|
|
4
|
+
dummy: number;
|
|
5
|
+
resetHeap: number;
|
|
6
|
+
match: number;
|
|
7
|
+
evalApplyGeneralized: number;
|
|
8
|
+
evalApplyNoMemo0: number;
|
|
9
|
+
evalApply0: number;
|
|
10
|
+
handleLeftRecursion: number;
|
|
11
|
+
newTerminalNode: number;
|
|
12
|
+
newNonterminalNode: number;
|
|
13
|
+
newIterationNode: number;
|
|
14
|
+
getBindingsLength: number;
|
|
15
|
+
setBindingsLength: number;
|
|
16
|
+
bindingsAt: number;
|
|
17
|
+
doMatchUnicodeChar: number;
|
|
18
|
+
};
|
|
19
|
+
export declare const typesec: {
|
|
20
|
+
entryCount: number;
|
|
21
|
+
contents: number[];
|
|
22
|
+
};
|
|
23
|
+
export declare const importsec: {
|
|
24
|
+
entryCount: number;
|
|
25
|
+
contents: number[];
|
|
26
|
+
};
|
|
27
|
+
export declare const funcsec: {
|
|
28
|
+
entryCount: number;
|
|
29
|
+
contents: number[];
|
|
30
|
+
};
|
|
31
|
+
export declare const globalsec: {
|
|
32
|
+
entryCount: number;
|
|
33
|
+
contents: number[];
|
|
34
|
+
};
|
|
35
|
+
export declare const codesec: {
|
|
36
|
+
entryCount: number;
|
|
37
|
+
contents: number[];
|
|
38
|
+
};
|
|
39
|
+
//# sourceMappingURL=ohmRuntime.wasm_sections.d.ts.map
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
function decodeBase64(str) {
|
|
2
|
+
const bytes = atob(str);
|
|
3
|
+
const result = [];
|
|
4
|
+
for (let i = 0; i < bytes.length; i++) {
|
|
5
|
+
result[i] = bytes.charCodeAt(i);
|
|
6
|
+
}
|
|
7
|
+
return result;
|
|
8
|
+
}
|
|
9
|
+
export const destImportCount = 6;
|
|
10
|
+
export const startFuncidx = 54;
|
|
11
|
+
export const funcidxByName = {
|
|
12
|
+
dummy: 21,
|
|
13
|
+
resetHeap: 24,
|
|
14
|
+
match: 45,
|
|
15
|
+
evalApplyGeneralized: 46,
|
|
16
|
+
evalApplyNoMemo0: 47,
|
|
17
|
+
evalApply0: 44,
|
|
18
|
+
handleLeftRecursion: 43,
|
|
19
|
+
newTerminalNode: 48,
|
|
20
|
+
newNonterminalNode: 41,
|
|
21
|
+
newIterationNode: 49,
|
|
22
|
+
getBindingsLength: 50,
|
|
23
|
+
setBindingsLength: 51,
|
|
24
|
+
bindingsAt: 52,
|
|
25
|
+
doMatchUnicodeChar: 53,
|
|
26
|
+
};
|
|
27
|
+
export const typesec = {
|
|
28
|
+
entryCount: 12,
|
|
29
|
+
contents: decodeBase64('YAF/AX9gAn9/AGACf38Bf2AAAGABfwBgAAF/YAR/f39/AGADf39/AGAFf39/f38Bf2ABbwF/YAR/f39/AX9gAm9/AX8='),
|
|
30
|
+
};
|
|
31
|
+
export const importsec = {
|
|
32
|
+
entryCount: 5,
|
|
33
|
+
contents: decodeBase64('A2VudgVhYm9ydAAGCm9obVJ1bnRpbWUIcHJpbnRJMzIABA53YXNtOmpzLXN0cmluZwZsZW5ndGgACQpvaG1SdW50aW1lD2lzUnVsZVN5bnRhY3RpYwAACm9obVJ1bnRpbWUQbWF0Y2hVbmljb2RlQ2hhcgAA'),
|
|
34
|
+
};
|
|
35
|
+
export const funcsec = {
|
|
36
|
+
entryCount: 49,
|
|
37
|
+
contents: decodeBase64('BAEAAQEBAQIHAQEBAQIDBAMDAwMAAAAAAAACAgYAAgIAAgEIBwoACwIAAggFBAAAAw=='),
|
|
38
|
+
};
|
|
39
|
+
export const globalsec = {
|
|
40
|
+
entryCount: 14,
|
|
41
|
+
contents: decodeBase64('fwFBAAt/AUEAC28B0G8LfwFBAAt/AUEAC38BQQALfwBBAAt/AEEBC38AQQILfwFBAAt/AUEAC38AQQALfwFBAAt/AEHsggQL'),
|
|
42
|
+
};
|
|
43
|
+
export const codesec = {
|
|
44
|
+
entryCount: 49,
|
|
45
|
+
contents: decodeBase64('YAEGfz8AIQEgAUEQdEEPakEPQX9zcSECIAAgAksEQCAAIAJrQf//A2pB//8DQX9zcUEQdiEDIAEiBCADIgUgBCAFShshBiAGQABBAEgEQCADQABBAEgEQAALCwsgACQKCwkAIAAgATYCAAtWAQR/IABB/P///wNLBEBBgIEEQcCBBEEhQR0QAAALIwohASMKQQRqIQICfyAAIQMgA0EEakEPakEPQX9zcUEEawwACyEEIAIgBGoQBiABIAQQByACDwsJACAAIAE2AgQLCQAgACABNgIICwkAIAAgATYCDAsJACAAIAE2AhALTgECfyAAQez///8DSwRAQYCBBEHAgQRB1gBBHhAAAAtBECAAahAIIQIgAkEEayEDIANBABAJIANBABAKIAMgARALIAMgABAMIAJBEGoPCwMAAQsRACAAIAE2AgAgACABQQAQDgsJACAAIAE2AgQLCQAgACABNgIICwkAIAAgATYCDAuNAQEEfyAARQRAQRBBBBANIQALIABBABAPIABBABAQIABBABARIABBABASIAFB/P///wNBAnZLBEBBoIAEQdCABEHGAEE8EAAACyABIgJBCCIDIAIgA0sbQQJ0IQQgBEEBEA0hBUEAIwhHGiAFQQAgBPwLACAAIAUQDyAAIAUQECAAIAQQESAAIAEQEiAACyEAIw1BBGpBD2pBD0F/c3FBBGskCSMJJApBAEEAEBMkDAsGACAAEAELBgAjCSQKCwcAQQEaEBYLBAAQFwsYAEEAJABBfyQEQYCABCQFQQBBABATJAwLBwAgABAIDwshAQJ/IABBAWpBgAhsIQEgARAaIQIgAkEAIAH8CwAgAg8LBwAgACgCDAsHACAAKAIICwcAIAAoAgALBwAgACgCAAvNAQEIfyAAQQBHBH8gAEEPcUUFQQALRQRAQQBBwIEEQS1BAxAAAAsgAEEEayECIAIQHyEDIAAgA2ojCkYhBAJ/IAEhBSAFQQRqQQ9qQQ9Bf3NxQQRrDAALIQYgASADSwRAIAQEQCABQfz///8DSwRAQYCBBEHAgQRBNEEhEAAACyAAIAZqEAYgAiAGEAcFIAYiByADQQF0IgggByAISxsQCCEJIAkgACAD/AoAACAJIgBBBGshAgsFIAQEQCAAIAZqJAogAiAGEAcLCyAADws9AQF/IAFB7P///wNLBEBBgIEEQcCBBEHjAEEeEAAACyAAQRBrQRAgAWoQICECIAJBBGsgARAMIAJBEGoPC7YBAQp/IAAQHSEEIAEgBCACdksEQCABQfz///8DIAJ2SwRAQaCABEHQgARBE0EwEAAACyAAEB4hBSABIgZBCCIHIAYgB0sbIAJ0IQggAwRAIARBAXQiCUH8////AyIKIAkgCkkbIgsgCCIMIAsgDEsbIQgLIAUgCBAhIQ1BACMIRxogDSAEakEAIAggBGv8CwAgDSAFRwRAIAAgDTYCACAAIA02AgQgACANQQAQDgsgACAINgIICwsHACAAKAIECzYBAn8gABAcIQIgAkEBaiEDIAAgA0ECQQEQIkEAGiAAECMgAkECdGogATYCACAAIAMQEiADDwugAQEKfyABQQFxBEAgAUF9RgRAIwAhAiAAIQNBeyEEIwMgAkGACGxqIANBBGxqIQUgBSAENgIABQJ/IwQhBiABQQF1IQcgBiAHSgR/IAYFIAcLDAALJAQLQQAPCyMAAn8gASEIIAgoAgQMAAtqJAACfyMEIQoCfyABIQkgCSgCDAwACyELIAogC0oEfyAKBSALCwwACyQEIwwgARAkGkEBDwsHACAAEBwPCzMBAX8gASAAEBxPBEBBgIIEQdCABEHyAEEqEAAACyAAECMgAUECdGooAgAhAkEAGiACDwsSACAAIAFBAkEAECIgACABEBILzQEBEn8gAkECdEEAciEFAn8gACEGIAEhByAFIQggAyEJIAQhCiMMECYhCyALIAlrIQxBECAMQQRsahAaIQ0CQCANIQ4gDCEPIA4gDzYCAAsCQCANIRAgByAGayERIBAgETYCBAsCQCANIRIgCCETIBIgEzYCCAsCQCANIRQgCiEVIBQgFTYCDAtBACEWA0AgFiAMSARAIA1BEGogFkEEbGojDCALIAxrIBZqECc2AgAgFkEBaiEWDAELCyMMIAkQKCMMIA0QJBogDQwACw8LTAAgASAAEBxPBEAgAUEASARAQYCCBEHQgARBggFBFhAAAAsgACABQQFqQQJBARAiIAAgAUEBahASCyAAECMgAUECdGogAjYCAEEAGguuAQELfwNAIwAhBAJ/IwQhByADIQggByAISgR/IAcFIAgLDAALJAQgACMAIAEgAiADECkhBQJAIAAhCSABIQogBSELIwMgCUGACGxqIApBBGxqIQwgDCALNgIACyAAJAAjDCACECgCfyABIQ0gDREFAAwACyEOIA5BAXFBAEchBiAOQQF1IQMgBgR/IwAgBEsFQQALDQALIAQkACMMIAJBAWoQKCMMIAIgBRAqIAYPC9kCAR5/An8jACEBIAAhAiMDIAFBgAhsaiACQQRsaiEDIAMoAgAMAAshBCAEQQBHBEAgACAEECUPCyMAIQUjDBAmIQYCQCAFIQcgACEIQX0hCSMDIAdBgAhsaiAIQQRsaiEKIAogCTYCAAsCfyAAIQsgCxEFAAwACyEMAn8gDCENIA1BAXUhDgJ/IwQhDyAOIRAgDyAQSgR/IA8FIBALDAALJAQgDgwACyERIAxBAXFBAEYEQAJAIAUhEyAAIRQCfyARIRIgEkEBdEEBcgwACyEVIwMgE0GACGxqIBRBBGxqIRYgFiAVNgIAC0EADwsCfyAFIRcgACEYIwMgF0GACGxqIBhBBGxqIRkgGSgCAAwAC0F7RgRAIAUgACAGIBEQKw8LIAUjACAAIAYgERApIRoCQCAFIRsgACEcIBohHSMDIBtBgAhsaiAcQQRsaiEeIB4gHTYCAAtBAQ8LagEDfxAZIAAkAiMCEAIkASMBEBskAwJAIAEhAiACEAMEQEECECwaCwsgARAsQQBHIQMgAwRAAkAgASEEIAQQAwRAQQIQLBoLCyMAIwFNRQRAQQBBwIIEQawBQQUQAAALIwAjAUYPC0EADwtiAQh/IwAhAiMMECYhAyABIAARAAAhBAJ/IAQhBSAFQQF1IQYCfyMEIQcgBiEIIAcgCEoEfyAHBSAICwwACyQEIAYMAAshCSAEQQFxBEAgAiMAIAAgAyAJECkaQQEPC0EADwtpAQl/IwAhASMMECYhAgJ/IAAhAyADEQUADAALIQQCfyAEIQUgBUEBdSEGAn8jBCEHIAYhCCAHIAhKBH8gBwUgCAsMAAskBCAGDAALIQkgBEEBcQRAIAEjACAAIAIgCRApGkEBDwtBAA8LXwEJf0EQEBohAgJAIAIhA0EAIQQgAyAENgIACwJAIAIhBSABIABrIQYgBSAGNgIECwJAIAIhB0EBIQggByAINgIICwJAIAIhCUEAIQogCSAKNgIMCyMMIAIQJBogAg8LmwMBJH8gBARAIANBAnRBA3IhBQJ/IAAhBiABIQcgBSEIIAIhCUF/IQojDBAmIQsgCyAJayEMQRAgDEEEbGoQGiENAkAgDSEOIAwhDyAOIA82AgALAkAgDSEQIAcgBmshESAQIBE2AgQLAkAgDSESIAghEyASIBM2AggLAkAgDSEUIAohFSAUIBU2AgwLQQAhFgNAIBYgDEgEQCANQRBqIBZBBGxqIwwgCyAMayAWahAnNgIAIBZBAWohFgwBCwsjDCAJECgjDCANECQaIA0MAAsPCyADQQJ0QQJyIRcCfyAAIRggASEZIBchGiACIRtBfyEcIwwQJiEdIB0gG2shHkEQIB5BBGxqEBohHwJAIB8hICAeISEgICAhNgIACwJAIB8hIiAZIBhrISMgIiAjNgIECwJAIB8hJCAaISUgJCAlNgIICwJAIB8hJiAcIScgJiAnNgIMC0EAISgDQCAoIB5IBEAgH0EQaiAoQQRsaiMMIB0gHmsgKGoQJzYCACAoQQFqISgMAQsLIwwgGxAoIwwgHxAkGiAfDAALDwsHACMMECYPCwkAIwwgABAoDwsJACMMIAAQJw8LCgAgABAEQQBHDwsEABAUCw=='),
|
|
46
|
+
};
|
|
47
|
+
//# sourceMappingURL=ohmRuntime.wasm_sections.js.map
|
package/dist/index.d.ts
CHANGED
|
@@ -1,8 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
export
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
constructor(grammar: Grammar);
|
|
7
|
-
compile(): Uint8Array<ArrayBuffer>;
|
|
8
|
-
}
|
|
1
|
+
export * from './src/AstBuilder.js';
|
|
2
|
+
export { Compiler } from './src/Compiler.js';
|
|
3
|
+
export * from './src/miniohm.ts';
|
|
4
|
+
//# sourceMappingURL=index.d.ts.map
|