UNPKG

agentlang

Version:

The easiest way to build the most reliable AI agents - enterprise-grade teams of AI agents that collaborate with each other and humans

2,014 lines (2,013 loc) 171 kB
/****************************************************************************** * This file was generated by langium-cli 3.5.2. * DO NOT EDIT MANUALLY! ******************************************************************************/ import { loadGrammarFromJson } from 'langium'; let loadedAgentlangGrammar; export const AgentlangGrammar = () => loadedAgentlangGrammar !== null && loadedAgentlangGrammar !== void 0 ? 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@113" }, "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@117" }, "arguments": [] } }, { "$type": "Keyword", "value": "@as" }, { "$type": "Assignment", "feature": "name", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@115" }, "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@16" }, "arguments": [] }, { "$type": "RuleCall", "rule": { "$ref": "#/rules@47" }, "arguments": [] }, { "$type": "RuleCall", "rule": { "$ref": "#/rules@51" }, "arguments": [] }, { "$type": "RuleCall", "rule": { "$ref": "#/rules@3" }, "arguments": [] }, { "$type": "RuleCall", "rule": { "$ref": "#/rules@65" }, "arguments": [] }, { "$type": "RuleCall", "rule": { "$ref": "#/rules@66" }, "arguments": [] }, { "$type": "RuleCall", "rule": { "$ref": "#/rules@84" }, "arguments": [] }, { "$type": "RuleCall", "rule": { "$ref": "#/rules@69" }, "arguments": [] }, { "$type": "RuleCall", "rule": { "$ref": "#/rules@74" }, "arguments": [] }, { "$type": "RuleCall", "rule": { "$ref": "#/rules@79" }, "arguments": [] }, { "$type": "RuleCall", "rule": { "$ref": "#/rules@80" }, "arguments": [] }, { "$type": "RuleCall", "rule": { "$ref": "#/rules@81" }, "arguments": [] }, { "$type": "RuleCall", "rule": { "$ref": "#/rules@82" }, "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@53" }, "arguments": [] } }, "definesHiddenTokens": false, "entry": false, "fragment": false, "hiddenTokens": [], "parameters": [], "wildcard": false }, { "$type": "ParserRule", "name": "SchemaDefinition", "definition": { "$type": "Alternatives", "elements": [ { "$type": "RuleCall", "rule": { "$ref": "#/rules@11" }, "arguments": [] }, { "$type": "RuleCall", "rule": { "$ref": "#/rules@12" }, "arguments": [] }, { "$type": "RuleCall", "rule": { "$ref": "#/rules@13" }, "arguments": [] }, { "$type": "RuleCall", "rule": { "$ref": "#/rules@14" }, "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@111" }, "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@111" }, "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@45" }, "arguments": [] } }, { "$type": "Group", "elements": [ { "$type": "Assignment", "feature": "key", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@115" }, "arguments": [] } }, { "$type": "Keyword", "value": ":" }, { "$type": "Assignment", "feature": "value", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@45" }, "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": "RecordSchemaDefinition", "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@19" }, "arguments": [] } }, { "$type": "Group", "elements": [ { "$type": "Keyword", "value": "," }, { "$type": "Assignment", "feature": "attributes", "operator": "+=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@19" }, "arguments": [] } } ], "cardinality": "*" } ], "cardinality": "+" }, { "$type": "Group", "elements": [ { "$type": "Keyword", "value": "," }, { "$type": "Assignment", "feature": "extras", "operator": "+=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@9" }, "arguments": [] } }, { "$type": "Group", "elements": [ { "$type": "Keyword", "value": "," }, { "$type": "Assignment", "feature": "extras", "operator": "+=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@9" }, "arguments": [] } } ], "cardinality": "*" } ], "cardinality": "?" }, { "$type": "Keyword", "value": "}" } ] } ] }, "definesHiddenTokens": false, "entry": false, "fragment": false, "hiddenTokens": [], "parameters": [], "wildcard": false }, { "$type": "ParserRule", "name": "RecordExtraDefinition", "definition": { "$type": "Alternatives", "elements": [ { "$type": "Assignment", "feature": "rbacSpec", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@23" }, "arguments": [] } }, { "$type": "Assignment", "feature": "meta", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@30" }, "arguments": [] } }, { "$type": "Assignment", "feature": "prePost", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@31" }, "arguments": [] } }, { "$type": "Assignment", "feature": "uq", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@36" }, "arguments": [] } }, { "$type": "Assignment", "feature": "actions", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@37" }, "arguments": [] } } ] }, "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@113" }, "arguments": [] } }, { "$type": "Assignment", "feature": "extends", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@15" }, "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@10" }, "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@10" }, "arguments": [] } ] }, "definesHiddenTokens": false, "entry": false, "fragment": false, "hiddenTokens": [], "parameters": [], "wildcard": false }, { "$type": "ParserRule", "name": "PublicEventDefinition", "definition": { "$type": "Group", "elements": [ { "$type": "Keyword", "value": "@public" }, { "$type": "Assignment", "feature": "def", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@12" }, "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@10" }, "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@113" }, "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@113" }, "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@18" }, "arguments": [] } }, { "$type": "Assignment", "feature": "properties", "operator": "+=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@5" }, "arguments": [] }, "cardinality": "*" }, { "$type": "Assignment", "feature": "schema", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@8" }, "arguments": [] }, "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@113" }, "arguments": [] } }, { "$type": "Group", "elements": [ { "$type": "Assignment", "feature": "name", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@113" }, "arguments": [] } }, { "$type": "Keyword", "value": "@as" }, { "$type": "Assignment", "feature": "alias", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@115" }, "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@17" }, "arguments": [] } }, { "$type": "Keyword", "value": "," }, { "$type": "Assignment", "feature": "node2", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@17" }, "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@115" }, "arguments": [] } }, { "$type": "Alternatives", "elements": [ { "$type": "Assignment", "feature": "type", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@113" }, "arguments": [] } }, { "$type": "Group", "elements": [ { "$type": "Assignment", "feature": "arrayType", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@113" }, "arguments": [] } }, { "$type": "Keyword", "value": "[" }, { "$type": "Keyword", "value": "]" } ] }, { "$type": "Assignment", "feature": "oneOfSpec", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@21" }, "arguments": [] } }, { "$type": "Assignment", "feature": "enumSpec", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@20" }, "arguments": [] } }, { "$type": "Assignment", "feature": "refSpec", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@22" }, "arguments": [] } } ] }, { "$type": "Group", "elements": [ { "$type": "Keyword", "value": "@expr" }, { "$type": "Keyword", "value": "(" }, { "$type": "Assignment", "feature": "expr", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@99" }, "arguments": [] } }, { "$type": "Keyword", "value": ")" } ], "cardinality": "?" }, { "$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": "EnumSpec", "definition": { "$type": "Group", "elements": [ { "$type": "Assignment", "feature": "type", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@113" }, "arguments": [] }, "cardinality": "?" }, { "$type": "Keyword", "value": "@enum" }, { "$type": "Keyword", "value": "(" }, { "$type": "Assignment", "feature": "values", "operator": "+=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@117" }, "arguments": [] } }, { "$type": "Group", "elements": [ { "$type": "Keyword", "value": "," }, { "$type": "Assignment", "feature": "values", "operator": "+=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@117" }, "arguments": [] } } ], "cardinality": "*" }, { "$type": "Keyword", "value": ")" } ] }, "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": "ref", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@112" }, "arguments": [] } }, { "$type": "Keyword", "value": ")" } ] }, "definesHiddenTokens": false, "entry": false, "fragment": false, "hiddenTokens": [], "parameters": [], "wildcard": false }, { "$type": "ParserRule", "name": "RefSpec", "definition": { "$type": "Group", "elements": [ { "$type": "Assignment", "feature": "type", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@113" }, "arguments": [] }, "cardinality": "?" }, { "$type": "Keyword", "value": "@ref" }, { "$type": "Keyword", "value": "(" }, { "$type": "Assignment", "feature": "ref", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@113" }, "arguments": [] } }, { "$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@25" }, "arguments": [] } }, { "$type": "Group", "elements": [ { "$type": "Keyword", "value": "," }, { "$type": "Assignment", "feature": "specEntries", "operator": "+=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@25" }, "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@26" }, "arguments": [] } }, { "$type": "Assignment", "feature": "allow", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@27" }, "arguments": [] } }, { "$type": "Assignment", "feature": "expr", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@29" }, "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@24" }, "arguments": [] } }, { "$type": "Group", "elements": [ { "$type": "Keyword", "value": "," }, { "$type": "Assignment", "feature": "entries", "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": "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": "Alternatives", "elements": [ { "$type": "RuleCall", "rule": { "$ref": "#/rules@115" }, "arguments": [] }, { "$type": "Keyword", "value": "*" } ] } }, { "$type": "Group", "elements": [ { "$type": "Keyword", "value": "," }, { "$type": "Assignment", "feature": "roles", "operator": "+=", "terminal": { "$type": "Alternatives", "elements": [ { "$type": "RuleCall", "rule": { "$ref": "#/rules@115" }, "arguments": [] }, { "$type": "Keyword", "value": "*" } ] } } ], "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@28" }, "arguments": [] } }, { "$type": "Group", "elements": [ { "$type": "Keyword", "value": "," }, { "$type": "Assignment", "feature": "oprs", "operator": "+=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@28" }, "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@112" }, "arguments": [] } }, { "$type": "Keyword", "value": "=" }, { "$type": "Assignment", "feature": "rhs", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@112" }, "arguments": [] } } ] }, "definesHiddenTokens": false, "entry": false, "fragment": false, "hiddenTokens": [], "parameters": [], "wildcard": false }, { "$type": "ParserRule", "name": "MetaDefinition", "definition": { "$type": "Group", "elements": [ { "$type": "Keyword", "value": "@meta" }, { "$type": "Assignment", "feature": "spec", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@40" }, "arguments": [] } } ] }, "definesHiddenTokens": false, "entry": false, "fragment": false, "hiddenTokens": [], "parameters": [], "wildcard": false }, { "$type": "ParserRule", "name": "PrePostTriggerDefinition", "definition": { "$type": "Alternatives", "elements": [ { "$type": "Assignment", "feature": "after", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@32" }, "arguments": [] } }, { "$type": "Assignment", "feature": "before", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@33" }, "arguments": [] } } ] }, "definesHiddenTokens": false, "entry": false, "fragment": false, "hiddenTokens": [], "parameters": [], "wildcard": false }, { "$type": "ParserRule", "name": "AfterTriggerDefinition", "definition": { "$type": "Group", "elements": [ { "$type": "Keyword", "value": "@after" }, { "$type": "Assignment", "feature": "triggers", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@34" }, "arguments": [] } } ] }, "definesHiddenTokens": false, "entry": false, "fragment": false, "hiddenTokens": [], "parameters": [], "wildcard": false }, { "$type": "ParserRule", "name": "BeforeTriggerDefinition", "definition": { "$type": "Group", "elements": [ { "$type": "Keyword", "value": "@before" }, { "$type": "Assignment", "feature": "triggers", "operator": "=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@34" }, "arguments": [] } } ] }, "definesHiddenTokens": false, "entry": false, "fragment": false, "hiddenTokens": [], "parameters": [], "wildcard": false }, { "$type": "ParserRule", "name": "TriggerDefinition", "definition": { "$type": "Group", "elements": [ { "$type": "Keyword", "value": "{" }, { "$type": "Assignment", "feature": "entries", "operator": "+=", "terminal": { "$type": "RuleCall", "rule": { "$ref": "#/rules@35" }, "arguments": [] } }, { "$type": "Group", "elements": [ { "$type": "Keyword", "value": "," }, { "$type": "Assignment", "feature": "entries", "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": "TriggerEntry", "definition": { "$type": "Group", "elements": [ { "$type": "Assignment", "feature": "on", "operator": "=", "terminal": { "$type": "Alternatives", "elements": [ { "$type": "Keyword", "value": "create"