@grimoirelabs/core 0.1.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/builders/expressions.d.ts +33 -0
- package/dist/builders/expressions.d.ts.map +1 -0
- package/dist/builders/expressions.js +57 -0
- package/dist/builders/expressions.js.map +1 -0
- package/dist/builders/index.d.ts +44 -0
- package/dist/builders/index.d.ts.map +1 -0
- package/dist/builders/index.js +32 -0
- package/dist/builders/index.js.map +1 -0
- package/dist/builders/spell-builder.d.ts +124 -0
- package/dist/builders/spell-builder.d.ts.map +1 -0
- package/dist/builders/spell-builder.js +299 -0
- package/dist/builders/spell-builder.js.map +1 -0
- package/dist/builders/step-builder.d.ts +212 -0
- package/dist/builders/step-builder.d.ts.map +1 -0
- package/dist/builders/step-builder.js +499 -0
- package/dist/builders/step-builder.js.map +1 -0
- package/dist/compiler/expression-parser.d.ts +14 -0
- package/dist/compiler/expression-parser.d.ts.map +1 -0
- package/dist/compiler/expression-parser.js +460 -0
- package/dist/compiler/expression-parser.js.map +1 -0
- package/dist/compiler/grimoire/ast.d.ts +450 -0
- package/dist/compiler/grimoire/ast.d.ts.map +1 -0
- package/dist/compiler/grimoire/ast.js +19 -0
- package/dist/compiler/grimoire/ast.js.map +1 -0
- package/dist/compiler/grimoire/errors.d.ts +65 -0
- package/dist/compiler/grimoire/errors.d.ts.map +1 -0
- package/dist/compiler/grimoire/errors.js +86 -0
- package/dist/compiler/grimoire/errors.js.map +1 -0
- package/dist/compiler/grimoire/index.d.ts +24 -0
- package/dist/compiler/grimoire/index.d.ts.map +1 -0
- package/dist/compiler/grimoire/index.js +63 -0
- package/dist/compiler/grimoire/index.js.map +1 -0
- package/dist/compiler/grimoire/parser.d.ts +135 -0
- package/dist/compiler/grimoire/parser.d.ts.map +1 -0
- package/dist/compiler/grimoire/parser.js +2148 -0
- package/dist/compiler/grimoire/parser.js.map +1 -0
- package/dist/compiler/grimoire/tokenizer.d.ts +59 -0
- package/dist/compiler/grimoire/tokenizer.d.ts.map +1 -0
- package/dist/compiler/grimoire/tokenizer.js +509 -0
- package/dist/compiler/grimoire/tokenizer.js.map +1 -0
- package/dist/compiler/grimoire/transformer.d.ts +71 -0
- package/dist/compiler/grimoire/transformer.d.ts.map +1 -0
- package/dist/compiler/grimoire/transformer.js +1011 -0
- package/dist/compiler/grimoire/transformer.js.map +1 -0
- package/dist/compiler/index.d.ts +45 -0
- package/dist/compiler/index.d.ts.map +1 -0
- package/dist/compiler/index.js +97 -0
- package/dist/compiler/index.js.map +1 -0
- package/dist/compiler/ir-generator.d.ts +16 -0
- package/dist/compiler/ir-generator.d.ts.map +1 -0
- package/dist/compiler/ir-generator.js +997 -0
- package/dist/compiler/ir-generator.js.map +1 -0
- package/dist/compiler/validator.d.ts +15 -0
- package/dist/compiler/validator.d.ts.map +1 -0
- package/dist/compiler/validator.js +401 -0
- package/dist/compiler/validator.js.map +1 -0
- package/dist/index.d.ts +16 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +17 -0
- package/dist/index.js.map +1 -0
- package/dist/runtime/circuit-breaker.d.ts +59 -0
- package/dist/runtime/circuit-breaker.d.ts.map +1 -0
- package/dist/runtime/circuit-breaker.js +155 -0
- package/dist/runtime/circuit-breaker.js.map +1 -0
- package/dist/runtime/context.d.ts +92 -0
- package/dist/runtime/context.d.ts.map +1 -0
- package/dist/runtime/context.js +219 -0
- package/dist/runtime/context.js.map +1 -0
- package/dist/runtime/error-classifier.d.ts +16 -0
- package/dist/runtime/error-classifier.d.ts.map +1 -0
- package/dist/runtime/error-classifier.js +38 -0
- package/dist/runtime/error-classifier.js.map +1 -0
- package/dist/runtime/expression-evaluator.d.ts +36 -0
- package/dist/runtime/expression-evaluator.d.ts.map +1 -0
- package/dist/runtime/expression-evaluator.js +391 -0
- package/dist/runtime/expression-evaluator.js.map +1 -0
- package/dist/runtime/index.d.ts +12 -0
- package/dist/runtime/index.d.ts.map +1 -0
- package/dist/runtime/index.js +11 -0
- package/dist/runtime/index.js.map +1 -0
- package/dist/runtime/interpreter.d.ts +59 -0
- package/dist/runtime/interpreter.d.ts.map +1 -0
- package/dist/runtime/interpreter.js +414 -0
- package/dist/runtime/interpreter.js.map +1 -0
- package/dist/runtime/skills/registry.d.ts +11 -0
- package/dist/runtime/skills/registry.d.ts.map +1 -0
- package/dist/runtime/skills/registry.js +73 -0
- package/dist/runtime/skills/registry.js.map +1 -0
- package/dist/runtime/sqlite-state-store.d.ts +28 -0
- package/dist/runtime/sqlite-state-store.d.ts.map +1 -0
- package/dist/runtime/sqlite-state-store.js +180 -0
- package/dist/runtime/sqlite-state-store.js.map +1 -0
- package/dist/runtime/state-store.d.ts +52 -0
- package/dist/runtime/state-store.d.ts.map +1 -0
- package/dist/runtime/state-store.js +32 -0
- package/dist/runtime/state-store.js.map +1 -0
- package/dist/runtime/steps/action.d.ts +17 -0
- package/dist/runtime/steps/action.d.ts.map +1 -0
- package/dist/runtime/steps/action.js +430 -0
- package/dist/runtime/steps/action.js.map +1 -0
- package/dist/runtime/steps/advisory.d.ts +28 -0
- package/dist/runtime/steps/advisory.d.ts.map +1 -0
- package/dist/runtime/steps/advisory.js +209 -0
- package/dist/runtime/steps/advisory.js.map +1 -0
- package/dist/runtime/steps/compute.d.ts +9 -0
- package/dist/runtime/steps/compute.d.ts.map +1 -0
- package/dist/runtime/steps/compute.js +74 -0
- package/dist/runtime/steps/compute.js.map +1 -0
- package/dist/runtime/steps/conditional.d.ts +14 -0
- package/dist/runtime/steps/conditional.d.ts.map +1 -0
- package/dist/runtime/steps/conditional.js +58 -0
- package/dist/runtime/steps/conditional.js.map +1 -0
- package/dist/runtime/steps/emit.d.ts +9 -0
- package/dist/runtime/steps/emit.d.ts.map +1 -0
- package/dist/runtime/steps/emit.js +70 -0
- package/dist/runtime/steps/emit.js.map +1 -0
- package/dist/runtime/steps/halt.d.ts +9 -0
- package/dist/runtime/steps/halt.d.ts.map +1 -0
- package/dist/runtime/steps/halt.js +19 -0
- package/dist/runtime/steps/halt.js.map +1 -0
- package/dist/runtime/steps/loop.d.ts +14 -0
- package/dist/runtime/steps/loop.d.ts.map +1 -0
- package/dist/runtime/steps/loop.js +109 -0
- package/dist/runtime/steps/loop.js.map +1 -0
- package/dist/runtime/steps/parallel.d.ts +9 -0
- package/dist/runtime/steps/parallel.d.ts.map +1 -0
- package/dist/runtime/steps/parallel.js +87 -0
- package/dist/runtime/steps/parallel.js.map +1 -0
- package/dist/runtime/steps/pipeline.d.ts +9 -0
- package/dist/runtime/steps/pipeline.d.ts.map +1 -0
- package/dist/runtime/steps/pipeline.js +125 -0
- package/dist/runtime/steps/pipeline.js.map +1 -0
- package/dist/runtime/steps/try.d.ts +13 -0
- package/dist/runtime/steps/try.d.ts.map +1 -0
- package/dist/runtime/steps/try.js +222 -0
- package/dist/runtime/steps/try.js.map +1 -0
- package/dist/runtime/steps/wait.d.ts +9 -0
- package/dist/runtime/steps/wait.d.ts.map +1 -0
- package/dist/runtime/steps/wait.js +38 -0
- package/dist/runtime/steps/wait.js.map +1 -0
- package/dist/types/actions.d.ts +162 -0
- package/dist/types/actions.d.ts.map +1 -0
- package/dist/types/actions.js +5 -0
- package/dist/types/actions.js.map +1 -0
- package/dist/types/execution.d.ts +276 -0
- package/dist/types/execution.d.ts.map +1 -0
- package/dist/types/execution.js +5 -0
- package/dist/types/execution.js.map +1 -0
- package/dist/types/expressions.d.ts +100 -0
- package/dist/types/expressions.d.ts.map +1 -0
- package/dist/types/expressions.js +48 -0
- package/dist/types/expressions.js.map +1 -0
- package/dist/types/index.d.ts +14 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +5 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/ir.d.ts +187 -0
- package/dist/types/ir.d.ts.map +1 -0
- package/dist/types/ir.js +5 -0
- package/dist/types/ir.js.map +1 -0
- package/dist/types/policy.d.ts +123 -0
- package/dist/types/policy.d.ts.map +1 -0
- package/dist/types/policy.js +5 -0
- package/dist/types/policy.js.map +1 -0
- package/dist/types/primitives.d.ts +76 -0
- package/dist/types/primitives.d.ts.map +1 -0
- package/dist/types/primitives.js +10 -0
- package/dist/types/primitives.js.map +1 -0
- package/dist/types/steps.d.ts +226 -0
- package/dist/types/steps.d.ts.map +1 -0
- package/dist/types/steps.js +5 -0
- package/dist/types/steps.js.map +1 -0
- package/dist/venues/index.d.ts +6 -0
- package/dist/venues/index.d.ts.map +1 -0
- package/dist/venues/index.js +26 -0
- package/dist/venues/index.js.map +1 -0
- package/dist/venues/types.d.ts +40 -0
- package/dist/venues/types.d.ts.map +1 -0
- package/dist/venues/types.js +5 -0
- package/dist/venues/types.js.map +1 -0
- package/dist/wallet/executor.d.ts +109 -0
- package/dist/wallet/executor.d.ts.map +1 -0
- package/dist/wallet/executor.js +354 -0
- package/dist/wallet/executor.js.map +1 -0
- package/dist/wallet/index.d.ts +14 -0
- package/dist/wallet/index.d.ts.map +1 -0
- package/dist/wallet/index.js +13 -0
- package/dist/wallet/index.js.map +1 -0
- package/dist/wallet/keystore.d.ts +44 -0
- package/dist/wallet/keystore.d.ts.map +1 -0
- package/dist/wallet/keystore.js +296 -0
- package/dist/wallet/keystore.js.map +1 -0
- package/dist/wallet/provider.d.ts +111 -0
- package/dist/wallet/provider.d.ts.map +1 -0
- package/dist/wallet/provider.js +309 -0
- package/dist/wallet/provider.js.map +1 -0
- package/dist/wallet/tx-builder.d.ts +85 -0
- package/dist/wallet/tx-builder.d.ts.map +1 -0
- package/dist/wallet/tx-builder.js +290 -0
- package/dist/wallet/tx-builder.js.map +1 -0
- package/dist/wallet/types.d.ts +116 -0
- package/dist/wallet/types.d.ts.map +1 -0
- package/dist/wallet/types.js +86 -0
- package/dist/wallet/types.js.map +1 -0
- package/package.json +39 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/compiler/grimoire/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAMxE;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,WAAW,CAG1F;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAC9B,iBAAiB,CAwCnB"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Grimoire syntax compiler
|
|
3
|
+
*
|
|
4
|
+
* This module provides the new Python-like syntax for spell definitions.
|
|
5
|
+
*/
|
|
6
|
+
export * from "./errors.js";
|
|
7
|
+
export * from "./tokenizer.js";
|
|
8
|
+
export * from "./ast.js";
|
|
9
|
+
export { Parser, parse } from "./parser.js";
|
|
10
|
+
export { Transformer, transform } from "./transformer.js";
|
|
11
|
+
import { generateIR } from "../ir-generator.js";
|
|
12
|
+
import { validateIR } from "../validator.js";
|
|
13
|
+
import { parse } from "./parser.js";
|
|
14
|
+
import { transform } from "./transformer.js";
|
|
15
|
+
/**
|
|
16
|
+
* Parse Grimoire source to SpellSource
|
|
17
|
+
*/
|
|
18
|
+
export function parseGrimoire(source, options) {
|
|
19
|
+
const ast = parse(source);
|
|
20
|
+
return transform(ast, options);
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Compile Grimoire source to IR
|
|
24
|
+
*/
|
|
25
|
+
export function compileGrimoire(source, options) {
|
|
26
|
+
try {
|
|
27
|
+
// Step 1: Parse to AST
|
|
28
|
+
const ast = parse(source);
|
|
29
|
+
// Step 2: Transform to SpellSource
|
|
30
|
+
const spellSource = transform(ast, options);
|
|
31
|
+
// Step 3: Generate IR
|
|
32
|
+
const irResult = generateIR(spellSource);
|
|
33
|
+
if (!irResult.success || !irResult.ir) {
|
|
34
|
+
return {
|
|
35
|
+
success: false,
|
|
36
|
+
errors: irResult.errors,
|
|
37
|
+
warnings: irResult.warnings,
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
// Step 4: Validate
|
|
41
|
+
const validationResult = validateIR(irResult.ir);
|
|
42
|
+
return {
|
|
43
|
+
success: validationResult.valid,
|
|
44
|
+
ir: validationResult.valid ? irResult.ir : undefined,
|
|
45
|
+
errors: [...irResult.errors, ...validationResult.errors],
|
|
46
|
+
warnings: [...irResult.warnings, ...validationResult.warnings],
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
catch (error) {
|
|
50
|
+
const err = error;
|
|
51
|
+
return {
|
|
52
|
+
success: false,
|
|
53
|
+
errors: [
|
|
54
|
+
{
|
|
55
|
+
code: "GRIMOIRE_PARSE_ERROR",
|
|
56
|
+
message: err.message,
|
|
57
|
+
},
|
|
58
|
+
],
|
|
59
|
+
warnings: [],
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/compiler/grimoire/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAG1D,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,MAAc,EAAE,OAA+B;IAC3E,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IAC1B,OAAO,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;AACjC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAC7B,MAAc,EACd,OAA+B;IAE/B,IAAI,CAAC;QACH,uBAAuB;QACvB,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;QAE1B,mCAAmC;QACnC,MAAM,WAAW,GAAG,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAE5C,sBAAsB;QACtB,MAAM,QAAQ,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;QACzC,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACtC,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;aAC5B,CAAC;QACJ,CAAC;QAED,mBAAmB;QACnB,MAAM,gBAAgB,GAAG,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAEjD,OAAO;YACL,OAAO,EAAE,gBAAgB,CAAC,KAAK;YAC/B,EAAE,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;YACpD,MAAM,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,GAAG,gBAAgB,CAAC,MAAM,CAAC;YACxD,QAAQ,EAAE,CAAC,GAAG,QAAQ,CAAC,QAAQ,EAAE,GAAG,gBAAgB,CAAC,QAAQ,CAAC;SAC/D,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,GAAG,GAAG,KAAc,CAAC;QAC3B,OAAO;YACL,OAAO,EAAE,KAAK;YACd,MAAM,EAAE;gBACN;oBACE,IAAI,EAAE,sBAAsB;oBAC5B,OAAO,EAAE,GAAG,CAAC,OAAO;iBACrB;aACF;YACD,QAAQ,EAAE,EAAE;SACb,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Recursive descent parser for Grimoire syntax
|
|
3
|
+
*/
|
|
4
|
+
import type { ExpressionNode, SpellAST } from "./ast.js";
|
|
5
|
+
import { type Token } from "./tokenizer.js";
|
|
6
|
+
export declare class Parser {
|
|
7
|
+
private readonly tokens;
|
|
8
|
+
private readonly source;
|
|
9
|
+
private pos;
|
|
10
|
+
constructor(tokens: Token[], source: string);
|
|
11
|
+
/** Get current token */
|
|
12
|
+
private current;
|
|
13
|
+
/** Peek at token at offset */
|
|
14
|
+
private peek;
|
|
15
|
+
/** Check if current token matches */
|
|
16
|
+
private check;
|
|
17
|
+
/** Advance and return previous token */
|
|
18
|
+
private advance;
|
|
19
|
+
/** Expect and consume a specific token */
|
|
20
|
+
private expect;
|
|
21
|
+
/** Skip newlines */
|
|
22
|
+
private skipNewlines;
|
|
23
|
+
/** Consume a newline (required) */
|
|
24
|
+
private expectNewline;
|
|
25
|
+
/** Create a source span from a start location to the current token's location */
|
|
26
|
+
private makeSpan;
|
|
27
|
+
/** Parse a complete spell file */
|
|
28
|
+
parseSpellFile(): SpellAST;
|
|
29
|
+
/** Parse import declaration: import "path" */
|
|
30
|
+
private parseImport;
|
|
31
|
+
/** Parse block definition: block name(arg, ...): */
|
|
32
|
+
private parseBlock;
|
|
33
|
+
/** Parse a section (version, assets, params, etc.) */
|
|
34
|
+
private parseSection;
|
|
35
|
+
/** Parse version: "1.0.0" */
|
|
36
|
+
private parseVersionSection;
|
|
37
|
+
/** Parse description: "..." */
|
|
38
|
+
private parseDescriptionSection;
|
|
39
|
+
/** Parse simple value (string, number, boolean) */
|
|
40
|
+
private parseSimpleValue;
|
|
41
|
+
/** Parse list of strings/identifiers (e.g., [a, "b"]) */
|
|
42
|
+
private parseStringList;
|
|
43
|
+
/** Parse assets: [USDC, USDT] or assets block */
|
|
44
|
+
private parseAssetsSection;
|
|
45
|
+
/** Parse params section */
|
|
46
|
+
private parseParamsSection;
|
|
47
|
+
/** Parse limits section */
|
|
48
|
+
private parseLimitsSection;
|
|
49
|
+
/** Parse venues section */
|
|
50
|
+
private parseVenuesSection;
|
|
51
|
+
/** Parse state section */
|
|
52
|
+
private parseStateSection;
|
|
53
|
+
/** Parse skills section */
|
|
54
|
+
private parseSkillsSection;
|
|
55
|
+
/** Parse advisors section */
|
|
56
|
+
private parseAdvisorsSection;
|
|
57
|
+
/** Parse guards section: guards:\n id: expression */
|
|
58
|
+
private parseGuardsSection;
|
|
59
|
+
/** Parse trigger handler: on manual: ... */
|
|
60
|
+
private parseTriggerHandler;
|
|
61
|
+
/** Parse trigger type */
|
|
62
|
+
private parseTriggerType;
|
|
63
|
+
/** Parse an indented block of statements */
|
|
64
|
+
private parseStatementBlock;
|
|
65
|
+
/** Parse a single statement */
|
|
66
|
+
private parseStatement;
|
|
67
|
+
/** Parse assignment: x = expr [with key=value, ...] */
|
|
68
|
+
private parseAssignment;
|
|
69
|
+
/** Parse advise statement (assignment form) */
|
|
70
|
+
private parseAdviseStatement;
|
|
71
|
+
private parseOutputSchemaBlock;
|
|
72
|
+
private parseSchemaAfterColon;
|
|
73
|
+
private parseSchemaObject;
|
|
74
|
+
private parseSchemaFields;
|
|
75
|
+
private parseSchemaType;
|
|
76
|
+
/** Parse using clause: using skill_name */
|
|
77
|
+
private parseUsingClause;
|
|
78
|
+
/** Parse repeat statement */
|
|
79
|
+
private parseRepeatStatement;
|
|
80
|
+
/** Parse loop-until statement */
|
|
81
|
+
private parseUntilStatement;
|
|
82
|
+
/** Parse try/catch/finally */
|
|
83
|
+
private parseTryStatement;
|
|
84
|
+
/** Parse catch block */
|
|
85
|
+
private parseCatchBlock;
|
|
86
|
+
/** Parse retry spec block */
|
|
87
|
+
private parseRetrySpec;
|
|
88
|
+
/** Parse parallel statement */
|
|
89
|
+
private parseParallelStatement;
|
|
90
|
+
/** Parse pipeline after source expression */
|
|
91
|
+
private parsePipeline;
|
|
92
|
+
/** Parse do statement (block invocation) */
|
|
93
|
+
private parseDoStatement;
|
|
94
|
+
/** Parse if statement */
|
|
95
|
+
private parseIfStatement;
|
|
96
|
+
/** Parse for loop */
|
|
97
|
+
private parseForStatement;
|
|
98
|
+
/** Parse atomic block: atomic: / atomic skip: / atomic halt: / atomic revert: */
|
|
99
|
+
private parseAtomicStatement;
|
|
100
|
+
/** Parse emit statement: emit event_name(key=value) */
|
|
101
|
+
private parseEmitStatement;
|
|
102
|
+
/** Parse halt statement */
|
|
103
|
+
private parseHaltStatement;
|
|
104
|
+
/** Parse wait statement */
|
|
105
|
+
private parseWaitStatement;
|
|
106
|
+
/** Parse constraint clause: with key=value, key=value, ... */
|
|
107
|
+
private parseConstraintClause;
|
|
108
|
+
/** Parse an expression */
|
|
109
|
+
parseExpression(): ExpressionNode;
|
|
110
|
+
/** Parse ternary: cond ? then : else */
|
|
111
|
+
private parseTernary;
|
|
112
|
+
/** Parse or: a or b */
|
|
113
|
+
private parseOr;
|
|
114
|
+
/** Parse and: a and b */
|
|
115
|
+
private parseAnd;
|
|
116
|
+
/** Parse equality: == != */
|
|
117
|
+
private parseEquality;
|
|
118
|
+
/** Parse comparison: < > <= >= */
|
|
119
|
+
private parseComparison;
|
|
120
|
+
/** Parse additive: + - */
|
|
121
|
+
private parseAdditive;
|
|
122
|
+
/** Parse multiplicative: * / % */
|
|
123
|
+
private parseMultiplicative;
|
|
124
|
+
/** Parse unary: not - */
|
|
125
|
+
private parseUnary;
|
|
126
|
+
/** Parse postfix: . [] () */
|
|
127
|
+
private parsePostfix;
|
|
128
|
+
/** Parse primary expression */
|
|
129
|
+
private parsePrimary;
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Parse Grimoire source code into AST
|
|
133
|
+
*/
|
|
134
|
+
export declare function parse(source: string): SpellAST;
|
|
135
|
+
//# sourceMappingURL=parser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../src/compiler/grimoire/parser.ts"],"names":[],"mappings":"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"}
|