/****************************************************************************** * This file was generated by langium-cli 3.5.0. * DO NOT EDIT MANUALLY! ******************************************************************************/ import type { Grammar } from 'langium'; import { loadGrammarFromJson } from 'langium'; let loadedAgentlangGrammar: Grammar | undefined; export const AgentlangGrammar = (): Grammar => loadedAgentlangGrammar ?? (loadedAgentlangGrammar = loadGrammarFromJson(`{ "$type": "Grammar", "isDeclared": true, "name": "Agentlang", "rules": [ { "$type": "ParserRule", "entry": true, "name": "ModuleDefinition", "definition": { "$type": "Group", "elements": [ { "$type": "Keyword", "value": "module" }, { "$type": "Assignment", "feature": "name", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@63" }, "arguments": [] } }, { "$type": "Assignment", "feature": "imports", "operator": "+=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@1" }, "arguments": [] }, "cardinality": "*" }, { "$type": "Assignment", "feature": "defs", "operator": "+=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@2" }, "arguments": [] }, "cardinality": "*" } ] }, "definesHiddenTokens": false, "fragment": false, "hiddenTokens": [], "parameters": [], "wildcard": false }, { "$type": "ParserRule", "name": "Import", "definition": { "$type": "Group", "elements": [ { "$type": "Keyword", "value": "import" }, { "$type": "Assignment", "feature": "path", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@65" }, "arguments": [] } }, { "$type": "Keyword", "value": "as" }, { "$type": "Assignment", "feature": "name", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@63" }, "arguments": [] } } ] }, "definesHiddenTokens": false, "entry": false, "fragment": false, "hiddenTokens": [], "parameters": [], "wildcard": false }, { "$type": "ParserRule", "name": "Definition", "definition": { "$type": "Alternatives", "elements": [ { "$type": "RuleCall", "rule": { "$ref": "#/rules@4" }, "arguments": [] }, { "$type": "RuleCall", "rule": { "$ref": "#/rules@14" }, "arguments": [] }, { "$type": "RuleCall", "rule": { "$ref": "#/rules@33" }, "arguments": [] }, { "$type": "RuleCall", "rule": { "$ref": "#/rules@3" }, "arguments": [] } ] }, "definesHiddenTokens": false, "entry": false, "fragment": false, "hiddenTokens": [], "parameters": [], "wildcard": false }, { "$type": "ParserRule", "name": "StandaloneStatement", "definition": { "$type": "Assignment", "feature": "stmt", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@35" }, "arguments": [] } }, "definesHiddenTokens": false, "entry": false, "fragment": false, "hiddenTokens": [], "parameters": [], "wildcard": false }, { "$type": "ParserRule", "name": "SchemaDef", "definition": { "$type": "Alternatives", "elements": [ { "$type": "RuleCall", "rule": { "$ref": "#/rules@10" }, "arguments": [] }, { "$type": "RuleCall", "rule": { "$ref": "#/rules@11" }, "arguments": [] }, { "$type": "RuleCall", "rule": { "$ref": "#/rules@12" }, "arguments": [] } ] }, "definesHiddenTokens": false, "entry": false, "fragment": false, "hiddenTokens": [], "parameters": [], "wildcard": false }, { "$type": "ParserRule", "name": "PropertyDefinition", "definition": { "$type": "Alternatives", "elements": [ { "$type": "Group", "elements": [ { "$type": "Assignment", "feature": "name", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@61" }, "arguments": [] } }, { "$type": "Keyword", "value": "(" }, { "$type": "Assignment", "feature": "value", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@7" }, "arguments": [] } }, { "$type": "Keyword", "value": ")" } ] }, { "$type": "Assignment", "feature": "name", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@61" }, "arguments": [] } } ] }, "definesHiddenTokens": false, "entry": false, "fragment": false, "hiddenTokens": [], "parameters": [], "wildcard": false }, { "$type": "ParserRule", "name": "KvPair", "definition": { "$type": "Alternatives", "elements": [ { "$type": "Assignment", "feature": "value", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@31" }, "arguments": [] } }, { "$type": "Group", "elements": [ { "$type": "Assignment", "feature": "key", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@63" }, "arguments": [] } }, { "$type": "Keyword", "value": ":" }, { "$type": "Assignment", "feature": "value", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@31" }, "arguments": [] } } ] } ] }, "definesHiddenTokens": false, "entry": false, "fragment": false, "hiddenTokens": [], "parameters": [], "wildcard": false }, { "$type": "ParserRule", "name": "KvPairs", "definition": { "$type": "Alternatives", "elements": [ { "$type": "Assignment", "feature": "pairs", "operator": "+=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@6" }, "arguments": [] } }, { "$type": "Group", "elements": [ { "$type": "Assignment", "feature": "pairs", "operator": "+=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@6" }, "arguments": [] } }, { "$type": "Keyword", "value": "," }, { "$type": "Assignment", "feature": "pairs", "operator": "+=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@6" }, "arguments": [] } } ] } ] }, "definesHiddenTokens": false, "entry": false, "fragment": false, "hiddenTokens": [], "parameters": [], "wildcard": false }, { "$type": "ParserRule", "name": "RecAttrs", "definition": { "$type": "Alternatives", "elements": [ { "$type": "Group", "elements": [ { "$type": "Keyword", "value": "{" }, { "$type": "Keyword", "value": "}" } ] }, { "$type": "Group", "elements": [ { "$type": "Keyword", "value": "{" }, { "$type": "Group", "elements": [ { "$type": "Assignment", "feature": "attributes", "operator": "+=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@17" }, "arguments": [] } }, { "$type": "Group", "elements": [ { "$type": "Keyword", "value": "," }, { "$type": "Assignment", "feature": "attributes", "operator": "+=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@17" }, "arguments": [] } } ], "cardinality": "*" } ], "cardinality": "+" }, { "$type": "Group", "elements": [ { "$type": "Keyword", "value": "," }, { "$type": "Assignment", "feature": "rbacSpec", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@19" }, "arguments": [] }, "cardinality": "?" } ], "cardinality": "?" }, { "$type": "Keyword", "value": "}", "cardinality": "?" } ] } ] }, "definesHiddenTokens": false, "entry": false, "fragment": false, "hiddenTokens": [], "parameters": [], "wildcard": false }, { "$type": "ParserRule", "fragment": true, "name": "RecDef", "definition": { "$type": "Group", "elements": [ { "$type": "Assignment", "feature": "name", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@63" }, "arguments": [] } }, { "$type": "Assignment", "feature": "extends", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@13" }, "arguments": [] }, "cardinality": "?" }, { "$type": "Assignment", "feature": "schema", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@8" }, "arguments": [] } } ] }, "definesHiddenTokens": false, "entry": false, "hiddenTokens": [], "parameters": [], "wildcard": false }, { "$type": "ParserRule", "name": "EntityDefinition", "definition": { "$type": "Group", "elements": [ { "$type": "Keyword", "value": "entity" }, { "$type": "RuleCall", "rule": { "$ref": "#/rules@9" }, "arguments": [] } ] }, "definesHiddenTokens": false, "entry": false, "fragment": false, "hiddenTokens": [], "parameters": [], "wildcard": false }, { "$type": "ParserRule", "name": "EventDefinition", "definition": { "$type": "Group", "elements": [ { "$type": "Keyword", "value": "event" }, { "$type": "RuleCall", "rule": { "$ref": "#/rules@9" }, "arguments": [] } ] }, "definesHiddenTokens": false, "entry": false, "fragment": false, "hiddenTokens": [], "parameters": [], "wildcard": false }, { "$type": "ParserRule", "name": "RecordDefinition", "definition": { "$type": "Group", "elements": [ { "$type": "Keyword", "value": "record" }, { "$type": "RuleCall", "rule": { "$ref": "#/rules@9" }, "arguments": [] } ] }, "definesHiddenTokens": false, "entry": false, "fragment": false, "hiddenTokens": [], "parameters": [], "wildcard": false }, { "$type": "ParserRule", "name": "ExtendsClause", "definition": { "$type": "Group", "elements": [ { "$type": "Keyword", "value": "extends" }, { "$type": "Assignment", "feature": "parentName", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@63" }, "arguments": [] } } ] }, "definesHiddenTokens": false, "entry": false, "fragment": false, "hiddenTokens": [], "parameters": [], "wildcard": false }, { "$type": "ParserRule", "name": "RelationshipDefinition", "definition": { "$type": "Group", "elements": [ { "$type": "Keyword", "value": "relationship" }, { "$type": "Assignment", "feature": "name", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@63" }, "arguments": [] } }, { "$type": "Assignment", "feature": "type", "operator": "=", "terminal": { "$type": "Alternatives", "elements": [ { "$type": "Keyword", "value": "contains" }, { "$type": "Keyword", "value": "between" } ] } }, { "$type": "Assignment", "feature": "nodes", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@16" }, "arguments": [] } }, { "$type": "Assignment", "feature": "properties", "operator": "+=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@5" }, "arguments": [] }, "cardinality": "*" }, { "$type": "Group", "elements": [ { "$type": "Keyword", "value": "{" }, { "$type": "Group", "elements": [ { "$type": "Assignment", "feature": "attributes", "operator": "+=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@17" }, "arguments": [] } }, { "$type": "Group", "elements": [ { "$type": "Keyword", "value": "," }, { "$type": "Assignment", "feature": "attributes", "operator": "+=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@17" }, "arguments": [] } } ], "cardinality": "*" } ], "cardinality": "+" }, { "$type": "Keyword", "value": "}" } ], "cardinality": "?" } ] }, "definesHiddenTokens": false, "entry": false, "fragment": false, "hiddenTokens": [], "parameters": [], "wildcard": false }, { "$type": "ParserRule", "name": "NodeDefinition", "definition": { "$type": "Alternatives", "elements": [ { "$type": "Assignment", "feature": "name", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@63" }, "arguments": [] } }, { "$type": "Group", "elements": [ { "$type": "Assignment", "feature": "name", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@63" }, "arguments": [] } }, { "$type": "Keyword", "value": "as" }, { "$type": "Assignment", "feature": "alias", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@63" }, "arguments": [] } } ] } ] }, "definesHiddenTokens": false, "entry": false, "fragment": false, "hiddenTokens": [], "parameters": [], "wildcard": false }, { "$type": "ParserRule", "name": "RelNodes", "definition": { "$type": "Group", "elements": [ { "$type": "Keyword", "value": "(" }, { "$type": "Assignment", "feature": "node1", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@15" }, "arguments": [] } }, { "$type": "Keyword", "value": "," }, { "$type": "Assignment", "feature": "node2", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@15" }, "arguments": [] } }, { "$type": "Keyword", "value": ")" } ] }, "definesHiddenTokens": false, "entry": false, "fragment": false, "hiddenTokens": [], "parameters": [], "wildcard": false }, { "$type": "ParserRule", "name": "AttributeDefinition", "definition": { "$type": "Group", "elements": [ { "$type": "Assignment", "feature": "name", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@63" }, "arguments": [] } }, { "$type": "Alternatives", "elements": [ { "$type": "Assignment", "feature": "type", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@63" }, "arguments": [] } }, { "$type": "Group", "elements": [ { "$type": "Assignment", "feature": "arrayType", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@63" }, "arguments": [] } }, { "$type": "Keyword", "value": "[" }, { "$type": "Keyword", "value": "]" } ] }, { "$type": "Assignment", "feature": "oneOfSpec", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@18" }, "arguments": [] } } ] }, { "$type": "Assignment", "feature": "properties", "operator": "+=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@5" }, "arguments": [] }, "cardinality": "*" } ] }, "definesHiddenTokens": false, "entry": false, "fragment": false, "hiddenTokens": [], "parameters": [], "wildcard": false }, { "$type": "ParserRule", "name": "OneOfSpec", "definition": { "$type": "Group", "elements": [ { "$type": "Keyword", "value": "@oneof" }, { "$type": "Keyword", "value": "(" }, { "$type": "Assignment", "feature": "values", "operator": "+=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@65" }, "arguments": [] } }, { "$type": "Group", "elements": [ { "$type": "Keyword", "value": "," }, { "$type": "Assignment", "feature": "values", "operator": "+=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@65" }, "arguments": [] } } ], "cardinality": "*" }, { "$type": "Keyword", "value": ")" } ] }, "definesHiddenTokens": false, "entry": false, "fragment": false, "hiddenTokens": [], "parameters": [], "wildcard": false }, { "$type": "ParserRule", "name": "RbacSpecDefinition", "definition": { "$type": "Group", "elements": [ { "$type": "Keyword", "value": "@rbac" }, { "$type": "Keyword", "value": "[" }, { "$type": "Group", "elements": [ { "$type": "Assignment", "feature": "specEntries", "operator": "+=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@21" }, "arguments": [] } }, { "$type": "Group", "elements": [ { "$type": "Keyword", "value": "," }, { "$type": "Assignment", "feature": "specEntries", "operator": "+=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@21" }, "arguments": [] } } ], "cardinality": "*" } ], "cardinality": "+" }, { "$type": "Keyword", "value": "]" } ] }, "definesHiddenTokens": false, "entry": false, "fragment": false, "hiddenTokens": [], "parameters": [], "wildcard": false }, { "$type": "ParserRule", "name": "RbacSpecEntry", "definition": { "$type": "Alternatives", "elements": [ { "$type": "Assignment", "feature": "role", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@22" }, "arguments": [] } }, { "$type": "Assignment", "feature": "allow", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@23" }, "arguments": [] } }, { "$type": "Assignment", "feature": "expr", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@25" }, "arguments": [] } } ] }, "definesHiddenTokens": false, "entry": false, "fragment": false, "hiddenTokens": [], "parameters": [], "wildcard": false }, { "$type": "ParserRule", "name": "RbacSpecEntries", "definition": { "$type": "Group", "elements": [ { "$type": "Keyword", "value": "(" }, { "$type": "Group", "elements": [ { "$type": "Assignment", "feature": "entries", "operator": "+=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@20" }, "arguments": [] } }, { "$type": "Group", "elements": [ { "$type": "Keyword", "value": "," }, { "$type": "Assignment", "feature": "entries", "operator": "+=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@20" }, "arguments": [] } } ], "cardinality": "*" } ], "cardinality": "+" }, { "$type": "Keyword", "value": ")" } ] }, "definesHiddenTokens": false, "entry": false, "fragment": false, "hiddenTokens": [], "parameters": [], "wildcard": false }, { "$type": "ParserRule", "name": "RbacRolesSpec", "definition": { "$type": "Group", "elements": [ { "$type": "Keyword", "value": "roles" }, { "$type": "Keyword", "value": ":" }, { "$type": "Keyword", "value": "[" }, { "$type": "Group", "elements": [ { "$type": "Assignment", "feature": "roles", "operator": "+=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@63" }, "arguments": [] } }, { "$type": "Group", "elements": [ { "$type": "Keyword", "value": "," }, { "$type": "Assignment", "feature": "roles", "operator": "+=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@63" }, "arguments": [] } } ], "cardinality": "*" } ], "cardinality": "+" }, { "$type": "Keyword", "value": "]" } ] }, "definesHiddenTokens": false, "entry": false, "fragment": false, "hiddenTokens": [], "parameters": [], "wildcard": false }, { "$type": "ParserRule", "name": "RbacAllowSpec", "definition": { "$type": "Group", "elements": [ { "$type": "Keyword", "value": "allow" }, { "$type": "Keyword", "value": ":" }, { "$type": "Keyword", "value": "[" }, { "$type": "Group", "elements": [ { "$type": "Assignment", "feature": "oprs", "operator": "+=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@24" }, "arguments": [] } }, { "$type": "Group", "elements": [ { "$type": "Keyword", "value": "," }, { "$type": "Assignment", "feature": "oprs", "operator": "+=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@24" }, "arguments": [] } } ], "cardinality": "*" } ], "cardinality": "+" }, { "$type": "Keyword", "value": "]" } ] }, "definesHiddenTokens": false, "entry": false, "fragment": false, "hiddenTokens": [], "parameters": [], "wildcard": false }, { "$type": "ParserRule", "name": "RbacOpr", "definition": { "$type": "Assignment", "feature": "value", "operator": "=", "terminal": { "$type": "Alternatives", "elements": [ { "$type": "Keyword", "value": "create" }, { "$type": "Keyword", "value": "delete" }, { "$type": "Keyword", "value": "update" }, { "$type": "Keyword", "value": "read" } ] } }, "definesHiddenTokens": false, "entry": false, "fragment": false, "hiddenTokens": [], "parameters": [], "wildcard": false }, { "$type": "ParserRule", "name": "RbacExpressionSpec", "definition": { "$type": "Group", "elements": [ { "$type": "Keyword", "value": "where" }, { "$type": "Keyword", "value": ":" }, { "$type": "Assignment", "feature": "lhs", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@62" }, "arguments": [] } }, { "$type": "Keyword", "value": "=" }, { "$type": "Assignment", "feature": "rhs", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@62" }, "arguments": [] } } ] }, "definesHiddenTokens": false, "entry": false, "fragment": false, "hiddenTokens": [], "parameters": [], "wildcard": false }, { "$type": "ParserRule", "name": "ArrayLiteral", "definition": { "$type": "Alternatives", "elements": [ { "$type": "Group", "elements": [ { "$type": "Keyword", "value": "[" }, { "$type": "Keyword", "value": "]" } ] }, { "$type": "Group", "elements": [ { "$type": "Keyword", "value": "[" }, { "$type": "Assignment", "feature": "vals", "operator": "+=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@35" }, "arguments": [] } }, { "$type": "Group", "elements": [ { "$type": "Keyword", "value": "," }, { "$type": "Assignment", "feature": "vals", "operator": "+=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@35" }, "arguments": [] } } ], "cardinality": "*" }, { "$type": "Keyword", "value": "]" } ] } ] }, "definesHiddenTokens": false, "entry": false, "fragment": false, "hiddenTokens": [], "parameters": [], "wildcard": false }, { "$type": "ParserRule", "name": "MapLiteral", "definition": { "$type": "Group", "elements": [ { "$type": "Keyword", "value": "#" }, { "$type": "Keyword", "value": "{" }, { "$type": "Assignment", "feature": "entries", "operator": "+=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@28" }, "arguments": [] } }, { "$type": "Group", "elements": [ { "$type": "Keyword", "value": "," }, { "$type": "Assignment", "feature": "entries", "operator": "+=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@28" }, "arguments": [] } } ], "cardinality": "*" }, { "$type": "Keyword", "value": "}" } ] }, "definesHiddenTokens": false, "entry": false, "fragment": false, "hiddenTokens": [], "parameters": [], "wildcard": false }, { "$type": "ParserRule", "name": "MapEntry", "definition": { "$type": "Group", "elements": [ { "$type": "Assignment", "feature": "key", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@65" }, "arguments": [] } }, { "$type": "Keyword", "value": ":" }, { "$type": "Assignment", "feature": "value", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@31" }, "arguments": [] } } ] }, "definesHiddenTokens": false, "entry": false, "fragment": false, "hiddenTokens": [], "parameters": [], "wildcard": false }, { "$type": "ParserRule", "name": "FnCall", "definition": { "$type": "Group", "elements": [ { "$type": "Assignment", "feature": "name", "operator": "=", "terminal": { "$type": "Alternatives", "elements": [ { "$type": "RuleCall", "rule": { "$ref": "#/rules@63" }, "arguments": [] }, { "$type": "RuleCall", "rule": { "$ref": "#/rules@62" }, "arguments": [] } ] } }, { "$type": "Alternatives", "elements": [ { "$type": "Group", "elements": [ { "$type": "Keyword", "value": "(" }, { "$type": "Keyword", "value": ")" } ] }, { "$type": "Group", "elements": [ { "$type": "Keyword", "value": "(" }, { "$type": "Group", "elements": [ { "$type": "Assignment", "feature": "args", "operator": "+=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@31" }, "arguments": [] } }, { "$type": "Group", "elements": [ { "$type": "Keyword", "value": "," }, { "$type": "Assignment", "feature": "args", "operator": "+=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@31" }, "arguments": [] } } ], "cardinality": "*" } ], "cardinality": "+" }, { "$type": "Keyword", "value": ")" } ] } ] } ] }, "definesHiddenTokens": false, "entry": false, "fragment": false, "hiddenTokens": [], "parameters": [], "wildcard": false }, { "$type": "ParserRule", "name": "AsyncFnCall", "definition": { "$type": "Group", "elements": [ { "$type": "Keyword", "value": "await" }, { "$type": "Assignment", "feature": "fnCall", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@29" }, "arguments": [] } } ] }, "definesHiddenTokens": false, "entry": false, "fragment": false, "hiddenTokens": [], "parameters": [], "wildcard": false }, { "$type": "ParserRule", "name": "Literal", "definition": { "$type": "Alternatives", "elements": [ { "$type": "Assignment", "feature": "id", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@63" }, "arguments": [] } }, { "$type": "Assignment", "feature": "num", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@59" }, "arguments": [] } }, { "$type": "Assignment", "feature": "str", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@65" }, "arguments": [] } }, { "$type": "Assignment", "feature": "ref", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@62" }, "arguments": [] } }, { "$type": "Assignment", "feature": "bool", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@58" }, "arguments": [] } }, { "$type": "Assignment", "feature": "fnCall", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@29" }, "arguments": [] } }, { "$type": "Assignment", "feature": "asyncFnCall", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@30" }, "arguments": [] } }, { "$type": "Assignment", "feature": "array", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@26" }, "arguments": [] } }, { "$type": "Assignment", "feature": "map", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@27" }, "arguments": [] } } ] }, "definesHiddenTokens": false, "entry": false, "fragment": false, "hiddenTokens": [], "parameters": [], "wildcard": false }, { "$type": "ParserRule", "fragment": true, "name": "Body", "definition": { "$type": "Alternatives", "elements": [ { "$type": "Group", "elements": [ { "$type": "Keyword", "value": "{" }, { "$type": "Keyword", "value": "}" } ] }, { "$type": "Group", "elements": [ { "$type": "Keyword", "value": "{" }, { "$type": "Group", "elements": [ { "$type": "Assignment", "feature": "statements", "operator": "+=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@35" }, "arguments": [] } }, { "$type": "Group", "elements": [ { "$type": "Keyword", "value": ";" }, { "$type": "Assignment", "feature": "statements", "operator": "+=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@35" }, "arguments": [] } } ], "cardinality": "*" } ], "cardinality": "+" }, { "$type": "Keyword", "value": "}" } ] }, { "$type": "Group", "elements": [ { "$type": "Keyword", "value": "{" }, { "$type": "Assignment", "feature": "statements", "operator": "+=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@35" }, "arguments": [] } }, { "$type": "Keyword", "value": ";", "cardinality": "+" }, { "$type": "Keyword", "value": "}" } ] }, { "$type": "Assignment", "feature": "statements", "operator": "+=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@35" }, "arguments": [] } } ] }, "definesHiddenTokens": false, "entry": false, "hiddenTokens": [], "parameters": [], "wildcard": false }, { "$type": "ParserRule", "name": "WorkflowDefinition", "definition": { "$type": "Group", "elements": [ { "$type": "Keyword", "value": "workflow" }, { "$type": "Assignment", "feature": "name", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@63" }, "arguments": [] } }, { "$type": "RuleCall", "rule": { "$ref": "#/rules@32" }, "arguments": [] } ] }, "definesHiddenTokens": false, "entry": false, "fragment": false, "hiddenTokens": [], "parameters": [], "wildcard": false }, { "$type": "ParserRule", "name": "Pattern", "definition": { "$type": "Alternatives", "elements": [ { "$type": "Assignment", "feature": "literal", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@31" }, "arguments": [] } }, { "$type": "Assignment", "feature": "crudMap", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@36" }, "arguments": [] } }, { "$type": "Assignment", "feature": "if", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@41" }, "arguments": [] } }, { "$type": "Assignment", "feature": "forEach", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@43" }, "arguments": [] } }, { "$type": "Assignment", "feature": "delete", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@44" }, "arguments": [] } }, { "$type": "Assignment", "feature": "purge", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@45" }, "arguments": [] } }, { "$type": "Assignment", "feature": "upsert", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@46" }, "arguments": [] } } ] }, "definesHiddenTokens": false, "entry": false, "fragment": false, "hiddenTokens": [], "parameters": [], "wildcard": false }, { "$type": "ParserRule", "name": "Statement", "definition": { "$type": "Group", "elements": [ { "$type": "Assignment", "feature": "pattern", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@34" }, "arguments": [] } }, { "$type": "Group", "elements": [ { "$type": "Keyword", "value": "as" }, { "$type": "Alternatives", "elements": [ { "$type": "Assignment", "feature": "alias", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@63" }, "arguments": [] } }, { "$type": "Group", "elements": [ { "$type": "Group", "elements": [ { "$type": "Keyword", "value": "[" }, { "$type": "Assignment", "feature": "aliases", "operator": "+=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@63" }, "arguments": [] } }, { "$type": "Group", "elements": [ { "$type": "Keyword", "value": "," }, { "$type": "Assignment", "feature": "aliases", "operator": "+=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@63" }, "arguments": [] } } ], "cardinality": "*" } ], "cardinality": "+" }, { "$type": "Keyword", "value": "]" } ] } ] } ], "cardinality": "?" }, { "$type": "Assignment", "feature": "throws", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@39" }, "arguments": [] }, "cardinality": "?" } ] }, "definesHiddenTokens": false, "entry": false, "fragment": false, "hiddenTokens": [], "parameters": [], "wildcard": false }, { "$type": "ParserRule", "name": "CrudMap", "definition": { "$type": "Alternatives", "elements": [ { "$type": "RuleCall", "rule": { "$ref": "#/rules@37" }, "arguments": [] }, { "$type": "Group", "elements": [ { "$type": "Keyword", "value": "{" }, { "$type": "Assignment", "feature": "name", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@63" }, "arguments": [] } }, { "$type": "Keyword", "value": "{" }, { "$type": "Group", "elements": [ { "$type": "Assignment", "feature": "attributes", "operator": "+=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@47" }, "arguments": [] } }, { "$type": "Group", "elements": [ { "$type": "Keyword", "value": "," }, { "$type": "Assignment", "feature": "attributes", "operator": "+=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@47" }, "arguments": [] } } ], "cardinality": "*" } ], "cardinality": "+" }, { "$type": "Assignment", "feature": "properties", "operator": "+=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@5" }, "arguments": [] }, "cardinality": "*" }, { "$type": "Keyword", "value": "}" }, { "$type": "Group", "elements": [ { "$type": "Keyword", "value": "," }, { "$type": "Assignment", "feature": "relationships", "operator": "+=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@38" }, "arguments": [] } }, { "$type": "Group", "elements": [ { "$type": "Keyword", "value": "," }, { "$type": "Assignment", "feature": "relationships", "operator": "+=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@38" }, "arguments": [] } } ], "cardinality": "*" } ], "cardinality": "?" }, { "$type": "Keyword", "value": "}" } ] } ] }, "definesHiddenTokens": false, "entry": false, "fragment": false, "hiddenTokens": [], "parameters": [], "wildcard": false }, { "$type": "ParserRule", "name": "QueryAllPattern", "definition": { "$type": "Group", "elements": [ { "$type": "Keyword", "value": "{" }, { "$type": "Assignment", "feature": "name", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@60" }, "arguments": [] } }, { "$type": "Keyword", "value": "{" }, { "$type": "Keyword", "value": "}" }, { "$type": "Group", "elements": [ { "$type": "Keyword", "value": "," }, { "$type": "Assignment", "feature": "relationships", "operator": "+=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@38" }, "arguments": [] } }, { "$type": "Group", "elements": [ { "$type": "Keyword", "value": "," }, { "$type": "Assignment", "feature": "relationships", "operator": "+=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@38" }, "arguments": [] } } ], "cardinality": "*" } ], "cardinality": "?" }, { "$type": "Keyword", "value": "}" } ] }, "definesHiddenTokens": false, "entry": false, "fragment": false, "hiddenTokens": [], "parameters": [], "wildcard": false }, { "$type": "ParserRule", "name": "RelationshipPattern", "definition": { "$type": "Group", "elements": [ { "$type": "Assignment", "feature": "name", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@63" }, "arguments": [] } }, { "$type": "Assignment", "feature": "pattern", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@34" }, "arguments": [] } } ] }, "definesHiddenTokens": false, "entry": false, "fragment": false, "hiddenTokens": [], "parameters": [], "wildcard": false }, { "$type": "ParserRule", "name": "Throws", "definition": { "$type": "Group", "elements": [ { "$type": "Keyword", "value": "throws" }, { "$type": "Keyword", "value": "{" }, { "$type": "Assignment", "feature": "handlers", "operator": "+=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@40" }, "arguments": [] }, "cardinality": "+" }, { "$type": "Keyword", "value": "}" } ] }, "definesHiddenTokens": false, "entry": false, "fragment": false, "hiddenTokens": [], "parameters": [], "wildcard": false }, { "$type": "ParserRule", "name": "Handler", "definition": { "$type": "Group", "elements": [ { "$type": "Alternatives", "elements": [ { "$type": "Keyword", "value": "not_found" }, { "$type": "Keyword", "value": "error" } ] }, { "$type": "RuleCall", "rule": { "$ref": "#/rules@35" }, "arguments": [] } ] }, "definesHiddenTokens": false, "entry": false, "fragment": false, "hiddenTokens": [], "parameters": [], "wildcard": false }, { "$type": "ParserRule", "name": "If", "definition": { "$type": "Group", "elements": [ { "$type": "Keyword", "value": "if" }, { "$type": "Keyword", "value": "(" }, { "$type": "Assignment", "feature": "cond", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@49" }, "arguments": [] } }, { "$type": "Keyword", "value": ")" }, { "$type": "RuleCall", "rule": { "$ref": "#/rules@32" }, "arguments": [] }, { "$type": "Assignment", "feature": "else", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@42" }, "arguments": [] }, "cardinality": "?" } ] }, "definesHiddenTokens": false, "entry": false, "fragment": false, "hiddenTokens": [], "parameters": [], "wildcard": false }, { "$type": "ParserRule", "name": "Else", "definition": { "$type": "Group", "elements": [ { "$type": "Keyword", "value": "else" }, { "$type": "RuleCall", "rule": { "$ref": "#/rules@32" }, "arguments": [] } ] }, "definesHiddenTokens": false, "entry": false, "fragment": false, "hiddenTokens": [], "parameters": [], "wildcard": false }, { "$type": "ParserRule", "name": "ForEach", "definition": { "$type": "Group", "elements": [ { "$type": "Keyword", "value": "for" }, { "$type": "Assignment", "feature": "var", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@63" }, "arguments": [] } }, { "$type": "Keyword", "value": "in" }, { "$type": "Assignment", "feature": "src", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@34" }, "arguments": [] } }, { "$type": "RuleCall", "rule": { "$ref": "#/rules@32" }, "arguments": [] } ] }, "definesHiddenTokens": false, "entry": false, "fragment": false, "hiddenTokens": [], "parameters": [], "wildcard": false }, { "$type": "ParserRule", "name": "Delete", "definition": { "$type": "Group", "elements": [ { "$type": "Keyword", "value": "delete" }, { "$type": "Assignment", "feature": "pattern", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@34" }, "arguments": [] } } ] }, "definesHiddenTokens": false, "entry": false, "fragment": false, "hiddenTokens": [], "parameters": [], "wildcard": false }, { "$type": "ParserRule", "name": "Purge", "definition": { "$type": "Group", "elements": [ { "$type": "Keyword", "value": "purge" }, { "$type": "Assignment", "feature": "pattern", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@34" }, "arguments": [] } } ] }, "definesHiddenTokens": false, "entry": false, "fragment": false, "hiddenTokens": [], "parameters": [], "wildcard": false }, { "$type": "ParserRule", "name": "Upsert", "definition": { "$type": "Group", "elements": [ { "$type": "Keyword", "value": "upsert" }, { "$type": "Assignment", "feature": "pattern", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@36" }, "arguments": [] } } ] }, "definesHiddenTokens": false, "entry": false, "fragment": false, "hiddenTokens": [], "parameters": [], "wildcard": false }, { "$type": "ParserRule", "name": "SetAttribute", "definition": { "$type": "Group", "elements": [ { "$type": "Assignment", "feature": "name", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@60" }, "arguments": [] } }, { "$type": "Assignment", "feature": "op", "operator": "=", "terminal": { "$type": "Alternatives", "elements": [ { "$type": "Keyword", "value": "=" }, { "$type": "Keyword", "value": "<>" }, { "$type": "Keyword", "value": "<" }, { "$type": "Keyword", "value": "<=" }, { "$type": "Keyword", "value": ">" }, { "$type": "Keyword", "value": ">=" }, { "$type": "Keyword", "value": "in" }, { "$type": "Keyword", "value": "like" }, { "$type": "Keyword", "value": "between" } ] }, "cardinality": "?" }, { "$type": "Assignment", "feature": "value", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@48" }, "arguments": [] } } ] }, "definesHiddenTokens": false, "entry": false, "fragment": false, "hiddenTokens": [], "parameters": [], "wildcard": false }, { "$type": "ParserRule", "name": "AttributeValueExpression", "definition": { "$type": "RuleCall", "rule": { "$ref": "#/rules@49" }, "arguments": [] }, "definesHiddenTokens": false, "entry": false, "fragment": false, "hiddenTokens": [], "parameters": [], "wildcard": false }, { "$type": "ParserRule", "name": "Expr", "definition": { "$type": "RuleCall", "rule": { "$ref": "#/rules@50" }, "arguments": [] }, "definesHiddenTokens": false, "entry": false, "fragment": false, "hiddenTokens": [], "parameters": [], "wildcard": false }, { "$type": "ParserRule", "name": "Add", "inferredType": { "$type": "InferredType", "name": "Expr" }, "definition": { "$type": "Group", "elements": [ { "$type": "RuleCall", "rule": { "$ref": "#/rules@51" }, "arguments": [] }, { "$type": "Group", "elements": [ { "$type": "Action", "inferredType": { "$type": "InferredType", "name": "BinExpr" }, "feature": "e1", "operator": "=" }, { "$type": "Assignment", "feature": "op", "operator": "=", "terminal": { "$type": "Alternatives", "elements": [ { "$type": "Keyword", "value": "+" }, { "$type": "Keyword", "value": "-" } ] } }, { "$type": "Assignment", "feature": "e2", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@51" }, "arguments": [] } } ], "cardinality": "*" } ] }, "definesHiddenTokens": false, "entry": false, "fragment": false, "hiddenTokens": [], "parameters": [], "wildcard": false }, { "$type": "ParserRule", "name": "Mult", "inferredType": { "$type": "InferredType", "name": "Expr" }, "definition": { "$type": "Group", "elements": [ { "$type": "RuleCall", "rule": { "$ref": "#/rules@52" }, "arguments": [] }, { "$type": "Group", "elements": [ { "$type": "Action", "inferredType": { "$type": "InferredType", "name": "BinExpr" }, "feature": "e1", "operator": "=" }, { "$type": "Assignment", "feature": "op", "operator": "=", "terminal": { "$type": "Alternatives", "elements": [ { "$type": "Keyword", "value": "*" }, { "$type": "Keyword", "value": "/" } ] } }, { "$type": "Assignment", "feature": "e2", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@52" }, "arguments": [] } } ], "cardinality": "*" } ] }, "definesHiddenTokens": false, "entry": false, "fragment": false, "hiddenTokens": [], "parameters": [], "wildcard": false }, { "$type": "ParserRule", "name": "Logical", "inferredType": { "$type": "InferredType", "name": "Expr" }, "definition": { "$type": "Group", "elements": [ { "$type": "RuleCall", "rule": { "$ref": "#/rules@53" }, "arguments": [] }, { "$type": "Group", "elements": [ { "$type": "Action", "inferredType": { "$type": "InferredType", "name": "BinExpr" }, "feature": "e1", "operator": "=" }, { "$type": "Assignment", "feature": "op", "operator": "=", "terminal": { "$type": "Alternatives", "elements": [ { "$type": "Keyword", "value": "or" }, { "$type": "Keyword", "value": "and" } ] } }, { "$type": "Assignment", "feature": "e2", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@53" }, "arguments": [] } } ], "cardinality": "*" } ] }, "definesHiddenTokens": false, "entry": false, "fragment": false, "hiddenTokens": [], "parameters": [], "wildcard": false }, { "$type": "ParserRule", "name": "Comparison", "inferredType": { "$type": "InferredType", "name": "Expr" }, "definition": { "$type": "Group", "elements": [ { "$type": "RuleCall", "rule": { "$ref": "#/rules@54" }, "arguments": [] }, { "$type": "Group", "elements": [ { "$type": "Action", "inferredType": { "$type": "InferredType", "name": "BinExpr" }, "feature": "e1", "operator": "=" }, { "$type": "Assignment", "feature": "op", "operator": "=", "terminal": { "$type": "Alternatives", "elements": [ { "$type": "Keyword", "value": "=" }, { "$type": "Keyword", "value": "<>" }, { "$type": "Keyword", "value": "<" }, { "$type": "Keyword", "value": "<=" }, { "$type": "Keyword", "value": ">" }, { "$type": "Keyword", "value": ">=" }, { "$type": "Keyword", "value": "in" }, { "$type": "Keyword", "value": "like" } ] } }, { "$type": "Assignment", "feature": "e2", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@54" }, "arguments": [] } } ], "cardinality": "*" } ] }, "definesHiddenTokens": false, "entry": false, "fragment": false, "hiddenTokens": [], "parameters": [], "wildcard": false }, { "$type": "ParserRule", "name": "PrimExpr", "definition": { "$type": "Alternatives", "elements": [ { "$type": "RuleCall", "rule": { "$ref": "#/rules@31" }, "arguments": [] }, { "$type": "RuleCall", "rule": { "$ref": "#/rules@55" }, "arguments": [] }, { "$type": "RuleCall", "rule": { "$ref": "#/rules@56" }, "arguments": [] }, { "$type": "RuleCall", "rule": { "$ref": "#/rules@57" }, "arguments": [] } ] }, "definesHiddenTokens": false, "entry": false, "fragment": false, "hiddenTokens": [], "parameters": [], "wildcard": false }, { "$type": "ParserRule", "name": "Group", "definition": { "$type": "Group", "elements": [ { "$type": "Keyword", "value": "(" }, { "$type": "Assignment", "feature": "ge", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@49" }, "arguments": [] } }, { "$type": "Keyword", "value": ")" } ] }, "definesHiddenTokens": false, "entry": false, "fragment": false, "hiddenTokens": [], "parameters": [], "wildcard": false }, { "$type": "ParserRule", "name": "NegExpr", "definition": { "$type": "Group", "elements": [ { "$type": "Keyword", "value": "-" }, { "$type": "Assignment", "feature": "ne", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@49" }, "arguments": [] } } ] }, "definesHiddenTokens": false, "entry": false, "fragment": false, "hiddenTokens": [], "parameters": [], "wildcard": false }, { "$type": "ParserRule", "name": "NotExpr", "definition": { "$type": "Group", "elements": [ { "$type": "Keyword", "value": "not" }, { "$type": "Keyword", "value": "(" }, { "$type": "Assignment", "feature": "ne", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@49" }, "arguments": [] } }, { "$type": "Keyword", "value": ")" } ] }, "definesHiddenTokens": false, "entry": false, "fragment": false, "hiddenTokens": [], "parameters": [], "wildcard": false }, { "$type": "ParserRule", "name": "Boolean", "dataType": "string", "definition": { "$type": "Alternatives", "elements": [ { "$type": "Keyword", "value": "true" }, { "$type": "Keyword", "value": "false" } ] }, "definesHiddenTokens": false, "entry": false, "fragment": false, "hiddenTokens": [], "parameters": [], "wildcard": false }, { "$type": "ParserRule", "name": "Decimal", "dataType": "number", "definition": { "$type": "Alternatives", "elements": [ { "$type": "RuleCall", "rule": { "$ref": "#/rules@66" }, "arguments": [] }, { "$type": "Group", "elements": [ { "$type": "RuleCall", "rule": { "$ref": "#/rules@66" }, "arguments": [] }, { "$type": "Keyword", "value": "." }, { "$type": "RuleCall", "rule": { "$ref": "#/rules@66" }, "arguments": [] } ] } ] }, "definesHiddenTokens": false, "entry": false, "fragment": false, "hiddenTokens": [], "parameters": [], "wildcard": false }, { "$type": "ParserRule", "name": "QueryId", "dataType": "string", "definition": { "$type": "Alternatives", "elements": [ { "$type": "RuleCall", "rule": { "$ref": "#/rules@63" }, "arguments": [] }, { "$type": "Group", "elements": [ { "$type": "RuleCall", "rule": { "$ref": "#/rules@63" }, "arguments": [] }, { "$type": "Keyword", "value": "?" } ] } ] }, "definesHiddenTokens": false, "entry": false, "fragment": false, "hiddenTokens": [], "parameters": [], "wildcard": false }, { "$type": "ParserRule", "name": "TaggedId", "dataType": "string", "definition": { "$type": "Group", "elements": [ { "$type": "Keyword", "value": "@" }, { "$type": "RuleCall", "rule": { "$ref": "#/rules@63" }, "arguments": [] } ] }, "definesHiddenTokens": false, "entry": false, "fragment": false, "hiddenTokens": [], "parameters": [], "wildcard": false }, { "$type": "ParserRule", "name": "Ref", "dataType": "string", "definition": { "$type": "Group", "elements": [ { "$type": "RuleCall", "rule": { "$ref": "#/rules@63" }, "arguments": [] }, { "$type": "Keyword", "value": "." }, { "$type": "RuleCall", "rule": { "$ref": "#/rules@63" }, "arguments": [] } ] }, "definesHiddenTokens": false, "entry": false, "fragment": false, "hiddenTokens": [], "parameters": [], "wildcard": false }, { "$type": "TerminalRule", "name": "ID", "type": { "$type": "ReturnType", "name": "string" }, "definition": { "$type": "TerminalGroup", "elements": [ { "$type": "TerminalRuleCall", "rule": { "$ref": "#/rules@64" } }, { "$type": "TerminalGroup", "elements": [ { "$type": "CharacterRange", "left": { "$type": "Keyword", "value": "/" } }, { "$type": "TerminalRuleCall", "rule": { "$ref": "#/rules@64" } } ], "cardinality": "?" } ] }, "fragment": false, "hidden": false }, { "$type": "TerminalRule", "name": "NAME", "type": { "$type": "ReturnType", "name": "string" }, "definition": { "$type": "RegexToken", "regex": "/[_a-zA-Z][\\\\w_]*/" }, "fragment": false, "hidden": false }, { "$type": "TerminalRule", "name": "STRING", "type": { "$type": "ReturnType", "name": "string" }, "definition": { "$type": "RegexToken", "regex": "/([\\"'])((\\\\\\\\{2})*|(.*?[^\\\\\\\\](\\\\\\\\{2})*))\\\\1/" }, "fragment": false, "hidden": false }, { "$type": "TerminalRule", "name": "INT", "type": { "$type": "ReturnType", "name": "number" }, "definition": { "$type": "RegexToken", "regex": "/-?[0-9]+/" }, "fragment": false, "hidden": false }, { "$type": "TerminalRule", "hidden": true, "name": "WS", "definition": { "$type": "RegexToken", "regex": "/\\\\s+/" }, "fragment": false }, { "$type": "TerminalRule", "hidden": true, "name": "ML_COMMENT", "definition": { "$type": "RegexToken", "regex": "/\\\\/\\\\*[\\\\s\\\\S]*?\\\\*\\\\//" }, "fragment": false }, { "$type": "TerminalRule", "hidden": true, "name": "SL_COMMENT", "definition": { "$type": "RegexToken", "regex": "/\\\\/\\\\/[^\\\\n\\\\r]*/" }, "fragment": false } ], "definesHiddenTokens": false, "hiddenTokens": [], "imports": [], "interfaces": [], "types": [], "usedGrammars": [] }`));