intelligent-system-design-language 0.3.22 → 0.3.24

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.
Files changed (106) hide show
  1. package/.claude/agents/langium-language-designer.md +38 -38
  2. package/.claude/agents/typescript-vscode-expert.md +29 -29
  3. package/.claude/agents/ui-ux-designer.md +36 -36
  4. package/.claude/settings.local.json +33 -33
  5. package/.idea/inspectionProfiles/Project_Default.xml +6 -6
  6. package/.idea/isdl.iml +13 -13
  7. package/.idea/modules.xml +8 -8
  8. package/.idea/vcs.xml +6 -6
  9. package/.idea/watcherTasks.xml +3 -3
  10. package/.vscodeignore +18 -18
  11. package/LICENSE +673 -673
  12. package/README.md +86 -86
  13. package/bin/cli.js +4 -4
  14. package/bin/lsp.js +8 -8
  15. package/out/_backgrounds.scss +91 -91
  16. package/out/_handlebars.scss +497 -497
  17. package/out/_isdlStyles.scss +1444 -1444
  18. package/out/_vuetifyOverrides.scss +425 -425
  19. package/out/_vuetifyStyles.scss +31957 -31957
  20. package/out/cli/components/_backgrounds.scss +91 -91
  21. package/out/cli/components/_handlebars.scss +497 -497
  22. package/out/cli/components/_isdlStyles.scss +1444 -1444
  23. package/out/cli/components/_vuetifyOverrides.scss +425 -425
  24. package/out/cli/components/_vuetifyStyles.scss +31957 -31957
  25. package/out/cli/components/active-effect-sheet-generator.js +453 -453
  26. package/out/cli/components/chat-card-generator.js +654 -654
  27. package/out/cli/components/css-generator.js +4 -4
  28. package/out/cli/components/damage-roll-generator.js +160 -160
  29. package/out/cli/components/datamodel-generator.js +257 -257
  30. package/out/cli/components/derived-data-generator.js +923 -923
  31. package/out/cli/components/hotbar-drop-hook-generator.js +82 -82
  32. package/out/cli/components/init-hook-generator.js +495 -495
  33. package/out/cli/components/language-generator.js +1 -1
  34. package/out/cli/components/language-generator.js.map +1 -1
  35. package/out/cli/components/measured-template-preview.js +221 -221
  36. package/out/cli/components/method-generator.js +601 -562
  37. package/out/cli/components/method-generator.js.map +1 -1
  38. package/out/cli/components/ready-hook-generator.js +404 -404
  39. package/out/cli/components/token-generator.js +116 -116
  40. package/out/cli/components/vue/base-components/vue-attribute.js +138 -138
  41. package/out/cli/components/vue/base-components/vue-boolean.js +64 -64
  42. package/out/cli/components/vue/base-components/vue-calculator.js +93 -93
  43. package/out/cli/components/vue/base-components/vue-damage-application.js +356 -356
  44. package/out/cli/components/vue/base-components/vue-damage-bonuses.js +165 -165
  45. package/out/cli/components/vue/base-components/vue-damage-resistances.js +196 -196
  46. package/out/cli/components/vue/base-components/vue-damage-track.js +121 -121
  47. package/out/cli/components/vue/base-components/vue-date-time.js +42 -42
  48. package/out/cli/components/vue/base-components/vue-dice.js +98 -98
  49. package/out/cli/components/vue/base-components/vue-die.js +73 -73
  50. package/out/cli/components/vue/base-components/vue-document-choice.js +149 -149
  51. package/out/cli/components/vue/base-components/vue-document-choices.js +179 -179
  52. package/out/cli/components/vue/base-components/vue-document-link.js +60 -60
  53. package/out/cli/components/vue/base-components/vue-extended-choice.js +88 -88
  54. package/out/cli/components/vue/base-components/vue-inventory.js +519 -519
  55. package/out/cli/components/vue/base-components/vue-macro-choice.js +138 -138
  56. package/out/cli/components/vue/base-components/vue-measured-template.js +530 -530
  57. package/out/cli/components/vue/base-components/vue-money.js +483 -483
  58. package/out/cli/components/vue/base-components/vue-number.js +174 -174
  59. package/out/cli/components/vue/base-components/vue-paperdoll.js +43 -43
  60. package/out/cli/components/vue/base-components/vue-parent-property-reference.js +76 -76
  61. package/out/cli/components/vue/base-components/vue-prosemirror.js +18 -18
  62. package/out/cli/components/vue/base-components/vue-resource.js +136 -136
  63. package/out/cli/components/vue/base-components/vue-roll-visualizer.js +285 -285
  64. package/out/cli/components/vue/base-components/vue-self-property-reference.js +62 -62
  65. package/out/cli/components/vue/base-components/vue-string-choice.js +98 -98
  66. package/out/cli/components/vue/base-components/vue-string-choices.js +203 -203
  67. package/out/cli/components/vue/base-components/vue-string.js +60 -60
  68. package/out/cli/components/vue/base-components/vue-text-field.js +53 -53
  69. package/out/cli/components/vue/base-components/vue-tracker.js +431 -431
  70. package/out/cli/components/vue/vue-action-component-generator.js +64 -64
  71. package/out/cli/components/vue/vue-active-effect-sheet-generator.js +856 -856
  72. package/out/cli/components/vue/vue-datatable-sheet-class-generator.js +292 -292
  73. package/out/cli/components/vue/vue-datatable2-component-generator.js +824 -824
  74. package/out/cli/components/vue/vue-document-creation-app.js +121 -121
  75. package/out/cli/components/vue/vue-document-creation-sheet.js +94 -94
  76. package/out/cli/components/vue/vue-generator.js +40 -40
  77. package/out/cli/components/vue/vue-mixin.js +296 -296
  78. package/out/cli/components/vue/vue-pinned-datatable-component-generator.js +260 -260
  79. package/out/cli/components/vue/vue-prompt-generator.js +80 -80
  80. package/out/cli/components/vue/vue-prompt-sheet-class-generator.js +317 -317
  81. package/out/cli/components/vue/vue-sheet-application-generator.js +1171 -1171
  82. package/out/cli/components/vue/vue-sheet-class-generator.js +510 -510
  83. package/out/cli/generator.js +508 -438
  84. package/out/cli/generator.js.map +1 -1
  85. package/out/extension/github/githubManager.js +35 -35
  86. package/out/extension/github/githubQuickActions.js +120 -120
  87. package/out/extension/github/system-workflow.yml +47 -47
  88. package/out/extension/main.cjs +881 -311
  89. package/out/extension/main.cjs.map +3 -3
  90. package/out/extension/package.json +419 -419
  91. package/out/language/generated/ast.js +98 -2
  92. package/out/language/generated/ast.js.map +1 -1
  93. package/out/language/generated/grammar.js +14688 -14240
  94. package/out/language/generated/grammar.js.map +1 -1
  95. package/out/language/intelligent-system-design-language-validator.js +44 -2
  96. package/out/language/intelligent-system-design-language-validator.js.map +1 -1
  97. package/out/language/isdl-scope-provider.js +7 -1
  98. package/out/language/isdl-scope-provider.js.map +1 -1
  99. package/out/language/main.cjs +881 -311
  100. package/out/language/main.cjs.map +3 -3
  101. package/out/package.json +419 -419
  102. package/out/progressbar.min.js +6 -6
  103. package/out/styles.scss +828 -762
  104. package/out/test/validating/diagnostics.test.js +55 -0
  105. package/out/test/validating/diagnostics.test.js.map +1 -1
  106. package/package.json +419 -419
@@ -30446,6 +30446,7 @@ function isProperty(item) {
30446
30446
  }
30447
30447
  var ReferenceFields = "ReferenceFields";
30448
30448
  var ResourceParameter = "ResourceParameter";
30449
+ var RollParameter = "RollParameter";
30449
30450
  var RollVisualizerParameter = "RollVisualizerParameter";
30450
30451
  var SelfPropertyRefParams = "SelfPropertyRefParams";
30451
30452
  var StandardFieldParams = "StandardFieldParams";
@@ -30536,6 +30537,7 @@ var ConfigExpression = "ConfigExpression";
30536
30537
  function isConfigExpression(item) {
30537
30538
  return reflection2.isInstance(item, ConfigExpression);
30538
30539
  }
30540
+ var CritParam = "CritParam";
30539
30541
  var DamageBonusesField = "DamageBonusesField";
30540
30542
  var DamageResistancesField = "DamageResistancesField";
30541
30543
  var DamageRoll = "DamageRoll";
@@ -30566,6 +30568,8 @@ function isEntry(item) {
30566
30568
  return reflection2.isInstance(item, Entry);
30567
30569
  }
30568
30570
  var ExpressionAssignment = "ExpressionAssignment";
30571
+ var FailureParam = "FailureParam";
30572
+ var FumbleParam = "FumbleParam";
30569
30573
  var FunctionCall = "FunctionCall";
30570
30574
  function isFunctionCall(item) {
30571
30575
  return reflection2.isInstance(item, FunctionCall);
@@ -30743,6 +30747,11 @@ function isRoll(item) {
30743
30747
  return reflection2.isInstance(item, Roll);
30744
30748
  }
30745
30749
  var RollParam = "RollParam";
30750
+ var RollPredicateArg = "RollPredicateArg";
30751
+ function isRollPredicateArg(item) {
30752
+ return reflection2.isInstance(item, RollPredicateArg);
30753
+ }
30754
+ var RollResultAccess = "RollResultAccess";
30746
30755
  var RollVisualizerField = "RollVisualizerField";
30747
30756
  function isRollVisualizerField(item) {
30748
30757
  return reflection2.isInstance(item, RollVisualizerField);
@@ -30792,6 +30801,10 @@ var StringParamValue = "StringParamValue";
30792
30801
  function isStringParamValue(item) {
30793
30802
  return reflection2.isInstance(item, StringParamValue);
30794
30803
  }
30804
+ var SuccessParam = "SuccessParam";
30805
+ function isSuccessParam(item) {
30806
+ return reflection2.isInstance(item, SuccessParam);
30807
+ }
30795
30808
  var SummaryParam = "SummaryParam";
30796
30809
  var TableField = "TableField";
30797
30810
  function isTableField(item) {
@@ -30826,6 +30839,9 @@ var UpdateParent = "UpdateParent";
30826
30839
  var UpdateSelf = "UpdateSelf";
30827
30840
  var UserProperty = "UserProperty";
30828
30841
  var VariableExpression = "VariableExpression";
30842
+ function isVariableExpression(item) {
30843
+ return reflection2.isInstance(item, VariableExpression);
30844
+ }
30829
30845
  var VariableExpressionAssignment = "VariableExpressionAssignment";
30830
30846
  var VariableIncrementDecrementAssignment = "VariableIncrementDecrementAssignment";
30831
30847
  var VariableQuickModifyAssignment = "VariableQuickModifyAssignment";
@@ -30852,7 +30868,7 @@ function isTargetAccess(item) {
30852
30868
  }
30853
30869
  var IntelligentSystemDesignLanguageAstReflection = class extends AbstractAstReflection {
30854
30870
  getAllTypes() {
30855
- return ["Access", "Action", "ActionParam", "Actor", "ArrayExpression", "Assignment", "AttributeExp", "AttributeFunctionParam", "AttributeParamMod", "AttributeParameter", "AttributeRollParam", "AttributeStyleParam", "BackgroundParam", "BasicFields", "BinaryExpression", "BooleanExp", "BooleanParamValue", "BooleanParameter", "ChatBlock", "ChatBlockExpression", "ChatCard", "ChoiceCustomProperty", "ChoiceProperty", "ChoiceStringValue", "ClassExpression", "ColorParam", "Column", "Combat", "CombatMethods", "CombatProperty", "ComparisonExpression", "ComplexFields", "Config", "ConfigExpression", "DamageBonusesField", "DamageResistancesField", "DamageRoll", "DamageRollParam", "DamageTrackExp", "DamageTrackParams", "DamageTrackTypesParam", "DamageTypeChoiceField", "DateExp", "DateTimeExp", "DateTimeFields", "DiceField", "DiceFields", "DieChoicesParam", "DieField", "DieInitialParam", "DieNoneParam", "DieParams", "DieValueParam", "Document", "DocumentChoiceExp", "DocumentChoiceParms", "DocumentChoicesExp", "DocumentCreatableParam", "DocumentDefaultParam", "DocumentDescriptionParam", "DocumentFields", "DocumentParam", "DocumentSvgParam", "Each", "EachAccess", "ElseIf", "Entry", "Expr", "Expression", "ExpressionAssignment", "FleetingAccess", "FunctionCall", "FunctionDefinition", "FunctionParam", "GlobalParam", "Group", "HeightParam", "HookHandler", "HtmlExp", "IconParam", "IfStatement", "ImageParam", "IncrementDecrementAssignment", "InitiativeProperty", "InventoryColumnsParam", "InventoryEmptySlotsParam", "InventoryField", "InventoryMoneyParam", "InventoryParams", "InventoryQuantityParam", "InventoryRowsParam", "InventorySlotSizeParam", "InventorySlotsParam", "InventorySortParam", "InventorySumMaxParam", "InventorySumMaxValues", "InventorySumParam", "InventorySumProperties", "InventorySummaryParam", "Item", "ItemAccess", "JS", "Keyword", "KeywordParam", "Keywords", "LabelParam", "Layout", "Literal", "LocationParam", "LogExpression", "MacroExecute", "MacroField", "MathEmptyExpression", "MathExpression", "MathParamExpression", "MathSingleExpression", "MeasuredTemplateField", "MethodBlock", "MethodBlockExpression", "MethodContainer", "MethodParam", "MoneyDenomination", "MoneyDenominationParam", "MoneyDenominationValueParam", "MoneyDisplayParam", "MoneyField", "MoneyFormatParam", "MoneyParameter", "MoneyPrecisionParam", "NegExpression", "NumberExp", "NumberFieldParams", "NumberParamCalculator", "NumberParamInitial", "NumberParamMax", "NumberParamMin", "NumberParamValue", "NumberParameter", "NumberRange", "Page", "PaperDollDocumentReference", "PaperDollElement", "PaperDollExp", "PaperDollParameter", "Parameter", "ParentAccess", "ParentAssignment", "ParentExpressionAssignment", "ParentIncrementDecrementAssignment", "ParentPropertyRefChoice", "ParentPropertyRefChoiceParam", "ParentPropertyRefExp", "ParentPropertyRefParams", "ParentQuickModifyAssignment", "ParentTypeCheckExpression", "PinnedField", "PlayAudio", "PlayAudioFile", "PlayAudioParams", "PlayAudioVolume", "PrimitiveExpression", "Prompt", "PromptInputAccess", "PromptParams", "Property", "QuickModifyAssignment", "Ref", "ReferenceFields", "ResourceExp", "ResourceParameter", "ReturnExpression", "Roll", "RollParam", "RollVisualizerField", "RollVisualizerParameter", "RollVisualizerValueParam", "Row", "Section", "SegmentsParameter", "SelfMethod", "SelfPropertyRefChoice", "SelfPropertyRefChoiceParam", "SelfPropertyRefExp", "SelfPropertyRefParams", "ShorthandComparisonExpression", "SingleDocumentExp", "SizeParam", "StandardFieldParams", "StatusParamWhen", "StatusProperty", "StatusPropertyParameter", "StringChoice", "StringChoiceField", "StringChoicesField", "StringChoicesParamChoices", "StringChoicesParamInitial", "StringChoicesParamMax", "StringChoicesParameter", "StringExp", "StringExtendedChoice", "StringParamChoices", "StringParamValue", "StringParameter", "SummaryParam", "TableField", "TableFieldsParam", "TableImageActionParam", "TableImageParam", "TableParams", "TargetAccess", "TargetAssignment", "TargetExpressionAssignment", "TargetIncrementDecrementAssignment", "TargetParam", "TargetQuickModifyAssignment", "TargetTypeCheckExpression", "TimeExp", "TimeLimitParam", "TrackerExp", "TrackerParameter", "TrackerStyleParameter", "TypeParam", "Update", "UpdateParent", "UpdateSelf", "User", "UserProperty", "VariableAccess", "VariableAssignment", "VariableExpression", "VariableExpressionAssignment", "VariableIncrementDecrementAssignment", "VariableQuickModifyAssignment", "VisibilityParam", "VisibilityValue", "Wait", "WhenExpressions", "WhereParam", "WidthParam", "WipFields"];
30871
+ return ["Access", "Action", "ActionParam", "Actor", "ArrayExpression", "Assignment", "AttributeExp", "AttributeFunctionParam", "AttributeParamMod", "AttributeParameter", "AttributeRollParam", "AttributeStyleParam", "BackgroundParam", "BasicFields", "BinaryExpression", "BooleanExp", "BooleanParamValue", "BooleanParameter", "ChatBlock", "ChatBlockExpression", "ChatCard", "ChoiceCustomProperty", "ChoiceProperty", "ChoiceStringValue", "ClassExpression", "ColorParam", "Column", "Combat", "CombatMethods", "CombatProperty", "ComparisonExpression", "ComplexFields", "Config", "ConfigExpression", "CritParam", "DamageBonusesField", "DamageResistancesField", "DamageRoll", "DamageRollParam", "DamageTrackExp", "DamageTrackParams", "DamageTrackTypesParam", "DamageTypeChoiceField", "DateExp", "DateTimeExp", "DateTimeFields", "DiceField", "DiceFields", "DieChoicesParam", "DieField", "DieInitialParam", "DieNoneParam", "DieParams", "DieValueParam", "Document", "DocumentChoiceExp", "DocumentChoiceParms", "DocumentChoicesExp", "DocumentCreatableParam", "DocumentDefaultParam", "DocumentDescriptionParam", "DocumentFields", "DocumentParam", "DocumentSvgParam", "Each", "EachAccess", "ElseIf", "Entry", "Expr", "Expression", "ExpressionAssignment", "FailureParam", "FleetingAccess", "FumbleParam", "FunctionCall", "FunctionDefinition", "FunctionParam", "GlobalParam", "Group", "HeightParam", "HookHandler", "HtmlExp", "IconParam", "IfStatement", "ImageParam", "IncrementDecrementAssignment", "InitiativeProperty", "InventoryColumnsParam", "InventoryEmptySlotsParam", "InventoryField", "InventoryMoneyParam", "InventoryParams", "InventoryQuantityParam", "InventoryRowsParam", "InventorySlotSizeParam", "InventorySlotsParam", "InventorySortParam", "InventorySumMaxParam", "InventorySumMaxValues", "InventorySumParam", "InventorySumProperties", "InventorySummaryParam", "Item", "ItemAccess", "JS", "Keyword", "KeywordParam", "Keywords", "LabelParam", "Layout", "Literal", "LocationParam", "LogExpression", "MacroExecute", "MacroField", "MathEmptyExpression", "MathExpression", "MathParamExpression", "MathSingleExpression", "MeasuredTemplateField", "MethodBlock", "MethodBlockExpression", "MethodContainer", "MethodParam", "MoneyDenomination", "MoneyDenominationParam", "MoneyDenominationValueParam", "MoneyDisplayParam", "MoneyField", "MoneyFormatParam", "MoneyParameter", "MoneyPrecisionParam", "NegExpression", "NumberExp", "NumberFieldParams", "NumberParamCalculator", "NumberParamInitial", "NumberParamMax", "NumberParamMin", "NumberParamValue", "NumberParameter", "NumberRange", "Page", "PaperDollDocumentReference", "PaperDollElement", "PaperDollExp", "PaperDollParameter", "Parameter", "ParentAccess", "ParentAssignment", "ParentExpressionAssignment", "ParentIncrementDecrementAssignment", "ParentPropertyRefChoice", "ParentPropertyRefChoiceParam", "ParentPropertyRefExp", "ParentPropertyRefParams", "ParentQuickModifyAssignment", "ParentTypeCheckExpression", "PinnedField", "PlayAudio", "PlayAudioFile", "PlayAudioParams", "PlayAudioVolume", "PrimitiveExpression", "Prompt", "PromptInputAccess", "PromptParams", "Property", "QuickModifyAssignment", "Ref", "ReferenceFields", "ResourceExp", "ResourceParameter", "ReturnExpression", "Roll", "RollParam", "RollParameter", "RollPredicateArg", "RollResultAccess", "RollVisualizerField", "RollVisualizerParameter", "RollVisualizerValueParam", "Row", "Section", "SegmentsParameter", "SelfMethod", "SelfPropertyRefChoice", "SelfPropertyRefChoiceParam", "SelfPropertyRefExp", "SelfPropertyRefParams", "ShorthandComparisonExpression", "SingleDocumentExp", "SizeParam", "StandardFieldParams", "StatusParamWhen", "StatusProperty", "StatusPropertyParameter", "StringChoice", "StringChoiceField", "StringChoicesField", "StringChoicesParamChoices", "StringChoicesParamInitial", "StringChoicesParamMax", "StringChoicesParameter", "StringExp", "StringExtendedChoice", "StringParamChoices", "StringParamValue", "StringParameter", "SuccessParam", "SummaryParam", "TableField", "TableFieldsParam", "TableImageActionParam", "TableImageParam", "TableParams", "TargetAccess", "TargetAssignment", "TargetExpressionAssignment", "TargetIncrementDecrementAssignment", "TargetParam", "TargetQuickModifyAssignment", "TargetTypeCheckExpression", "TimeExp", "TimeLimitParam", "TrackerExp", "TrackerParameter", "TrackerStyleParameter", "TypeParam", "Update", "UpdateParent", "UpdateSelf", "User", "UserProperty", "VariableAccess", "VariableAssignment", "VariableExpression", "VariableExpressionAssignment", "VariableIncrementDecrementAssignment", "VariableQuickModifyAssignment", "VisibilityParam", "VisibilityValue", "Wait", "WhenExpressions", "WhereParam", "WidthParam", "WipFields"];
30856
30872
  }
30857
30873
  computeIsSubtype(subtype, supertype) {
30858
30874
  switch (subtype) {
@@ -30882,6 +30898,7 @@ var IntelligentSystemDesignLanguageAstReflection = class extends AbstractAstRefl
30882
30898
  case PromptInputAccess:
30883
30899
  case Ref:
30884
30900
  case Roll:
30901
+ case RollResultAccess:
30885
30902
  case VisibilityValue: {
30886
30903
  return this.isSubtype(PrimitiveExpression, supertype);
30887
30904
  }
@@ -30975,6 +30992,12 @@ var IntelligentSystemDesignLanguageAstReflection = class extends AbstractAstRefl
30975
30992
  case TargetTypeCheckExpression: {
30976
30993
  return this.isSubtype(WhenExpressions, supertype);
30977
30994
  }
30995
+ case CritParam:
30996
+ case FailureParam:
30997
+ case FumbleParam:
30998
+ case SuccessParam: {
30999
+ return this.isSubtype(RollParameter, supertype);
31000
+ }
30978
31001
  case DamageTrackExp: {
30979
31002
  return this.isSubtype(WipFields, supertype);
30980
31003
  }
@@ -31238,7 +31261,8 @@ var IntelligentSystemDesignLanguageAstReflection = class extends AbstractAstRefl
31238
31261
  case "EachAccess:variable": {
31239
31262
  return Each;
31240
31263
  }
31241
- case "FleetingAccess:variable": {
31264
+ case "FleetingAccess:variable":
31265
+ case "RollResultAccess:variable": {
31242
31266
  return VariableExpression;
31243
31267
  }
31244
31268
  case "InventoryMoneyParam:field": {
@@ -31476,6 +31500,15 @@ var IntelligentSystemDesignLanguageAstReflection = class extends AbstractAstRefl
31476
31500
  ]
31477
31501
  };
31478
31502
  }
31503
+ case "CritParam": {
31504
+ return {
31505
+ name: "CritParam",
31506
+ properties: [
31507
+ { name: "op" },
31508
+ { name: "value" }
31509
+ ]
31510
+ };
31511
+ }
31479
31512
  case "DamageBonusesField": {
31480
31513
  return {
31481
31514
  name: "DamageBonusesField",
@@ -31706,6 +31739,24 @@ var IntelligentSystemDesignLanguageAstReflection = class extends AbstractAstRefl
31706
31739
  ]
31707
31740
  };
31708
31741
  }
31742
+ case "FailureParam": {
31743
+ return {
31744
+ name: "FailureParam",
31745
+ properties: [
31746
+ { name: "op" },
31747
+ { name: "value" }
31748
+ ]
31749
+ };
31750
+ }
31751
+ case "FumbleParam": {
31752
+ return {
31753
+ name: "FumbleParam",
31754
+ properties: [
31755
+ { name: "op" },
31756
+ { name: "value" }
31757
+ ]
31758
+ };
31759
+ }
31709
31760
  case "FunctionCall": {
31710
31761
  return {
31711
31762
  name: "FunctionCall",
@@ -32418,6 +32469,7 @@ var IntelligentSystemDesignLanguageAstReflection = class extends AbstractAstRefl
32418
32469
  return {
32419
32470
  name: "Roll",
32420
32471
  properties: [
32472
+ { name: "params", defaultValue: [] },
32421
32473
  { name: "parts", defaultValue: [] }
32422
32474
  ]
32423
32475
  };
@@ -32430,6 +32482,26 @@ var IntelligentSystemDesignLanguageAstReflection = class extends AbstractAstRefl
32430
32482
  ]
32431
32483
  };
32432
32484
  }
32485
+ case "RollPredicateArg": {
32486
+ return {
32487
+ name: "RollPredicateArg",
32488
+ properties: [
32489
+ { name: "body" },
32490
+ { name: "param" },
32491
+ { name: "value" }
32492
+ ]
32493
+ };
32494
+ }
32495
+ case "RollResultAccess": {
32496
+ return {
32497
+ name: "RollResultAccess",
32498
+ properties: [
32499
+ { name: "arg" },
32500
+ { name: "method" },
32501
+ { name: "variable" }
32502
+ ]
32503
+ };
32504
+ }
32433
32505
  case "RollVisualizerField": {
32434
32506
  return {
32435
32507
  name: "RollVisualizerField",
@@ -32640,6 +32712,15 @@ var IntelligentSystemDesignLanguageAstReflection = class extends AbstractAstRefl
32640
32712
  ]
32641
32713
  };
32642
32714
  }
32715
+ case "SuccessParam": {
32716
+ return {
32717
+ name: "SuccessParam",
32718
+ properties: [
32719
+ { name: "op" },
32720
+ { name: "value" }
32721
+ ]
32722
+ };
32723
+ }
32643
32724
  case "SummaryParam": {
32644
32725
  return {
32645
32726
  name: "SummaryParam",
@@ -33005,7 +33086,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
33005
33086
  "terminal": {
33006
33087
  "$type": "RuleCall",
33007
33088
  "rule": {
33008
- "$ref": "#/rules@257"
33089
+ "$ref": "#/rules@265"
33009
33090
  },
33010
33091
  "arguments": []
33011
33092
  }
@@ -33095,7 +33176,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
33095
33176
  "terminal": {
33096
33177
  "$type": "RuleCall",
33097
33178
  "rule": {
33098
- "$ref": "#/rules@260"
33179
+ "$ref": "#/rules@268"
33099
33180
  },
33100
33181
  "arguments": []
33101
33182
  }
@@ -33162,7 +33243,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
33162
33243
  "terminal": {
33163
33244
  "$type": "RuleCall",
33164
33245
  "rule": {
33165
- "$ref": "#/rules@257"
33246
+ "$ref": "#/rules@265"
33166
33247
  },
33167
33248
  "arguments": []
33168
33249
  }
@@ -33284,7 +33365,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
33284
33365
  "terminal": {
33285
33366
  "$type": "RuleCall",
33286
33367
  "rule": {
33287
- "$ref": "#/rules@260"
33368
+ "$ref": "#/rules@268"
33288
33369
  },
33289
33370
  "arguments": []
33290
33371
  }
@@ -33344,7 +33425,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
33344
33425
  "terminal": {
33345
33426
  "$type": "RuleCall",
33346
33427
  "rule": {
33347
- "$ref": "#/rules@257"
33428
+ "$ref": "#/rules@265"
33348
33429
  },
33349
33430
  "arguments": []
33350
33431
  }
@@ -33430,7 +33511,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
33430
33511
  "terminal": {
33431
33512
  "$type": "RuleCall",
33432
33513
  "rule": {
33433
- "$ref": "#/rules@257"
33514
+ "$ref": "#/rules@265"
33434
33515
  },
33435
33516
  "arguments": []
33436
33517
  }
@@ -33587,7 +33668,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
33587
33668
  "terminal": {
33588
33669
  "$type": "RuleCall",
33589
33670
  "rule": {
33590
- "$ref": "#/rules@260"
33671
+ "$ref": "#/rules@268"
33591
33672
  },
33592
33673
  "arguments": []
33593
33674
  }
@@ -33618,7 +33699,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
33618
33699
  "terminal": {
33619
33700
  "$type": "RuleCall",
33620
33701
  "rule": {
33621
- "$ref": "#/rules@260"
33702
+ "$ref": "#/rules@268"
33622
33703
  },
33623
33704
  "arguments": []
33624
33705
  }
@@ -33649,7 +33730,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
33649
33730
  "terminal": {
33650
33731
  "$type": "RuleCall",
33651
33732
  "rule": {
33652
- "$ref": "#/rules@255"
33733
+ "$ref": "#/rules@263"
33653
33734
  },
33654
33735
  "arguments": []
33655
33736
  }
@@ -33680,7 +33761,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
33680
33761
  "terminal": {
33681
33762
  "$type": "RuleCall",
33682
33763
  "rule": {
33683
- "$ref": "#/rules@255"
33764
+ "$ref": "#/rules@263"
33684
33765
  },
33685
33766
  "arguments": []
33686
33767
  }
@@ -33802,7 +33883,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
33802
33883
  "terminal": {
33803
33884
  "$type": "RuleCall",
33804
33885
  "rule": {
33805
- "$ref": "#/rules@257"
33886
+ "$ref": "#/rules@265"
33806
33887
  },
33807
33888
  "arguments": []
33808
33889
  }
@@ -34005,7 +34086,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
34005
34086
  "terminal": {
34006
34087
  "$type": "RuleCall",
34007
34088
  "rule": {
34008
- "$ref": "#/rules@257"
34089
+ "$ref": "#/rules@265"
34009
34090
  },
34010
34091
  "arguments": []
34011
34092
  }
@@ -34176,7 +34257,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
34176
34257
  {
34177
34258
  "$type": "RuleCall",
34178
34259
  "rule": {
34179
- "$ref": "#/rules@190"
34260
+ "$ref": "#/rules@192"
34180
34261
  },
34181
34262
  "arguments": []
34182
34263
  },
@@ -34661,7 +34742,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
34661
34742
  {
34662
34743
  "$type": "RuleCall",
34663
34744
  "rule": {
34664
- "$ref": "#/rules@192"
34745
+ "$ref": "#/rules@194"
34665
34746
  },
34666
34747
  "arguments": []
34667
34748
  },
@@ -34828,7 +34909,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
34828
34909
  "terminal": {
34829
34910
  "$type": "RuleCall",
34830
34911
  "rule": {
34831
- "$ref": "#/rules@257"
34912
+ "$ref": "#/rules@265"
34832
34913
  },
34833
34914
  "arguments": []
34834
34915
  }
@@ -34927,7 +35008,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
34927
35008
  "terminal": {
34928
35009
  "$type": "RuleCall",
34929
35010
  "rule": {
34930
- "$ref": "#/rules@257"
35011
+ "$ref": "#/rules@265"
34931
35012
  },
34932
35013
  "arguments": []
34933
35014
  }
@@ -35026,7 +35107,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
35026
35107
  "terminal": {
35027
35108
  "$type": "RuleCall",
35028
35109
  "rule": {
35029
- "$ref": "#/rules@257"
35110
+ "$ref": "#/rules@265"
35030
35111
  },
35031
35112
  "arguments": []
35032
35113
  }
@@ -35125,7 +35206,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
35125
35206
  "terminal": {
35126
35207
  "$type": "RuleCall",
35127
35208
  "rule": {
35128
- "$ref": "#/rules@257"
35209
+ "$ref": "#/rules@265"
35129
35210
  },
35130
35211
  "arguments": []
35131
35212
  }
@@ -35244,14 +35325,14 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
35244
35325
  {
35245
35326
  "$type": "RuleCall",
35246
35327
  "rule": {
35247
- "$ref": "#/rules@260"
35328
+ "$ref": "#/rules@268"
35248
35329
  },
35249
35330
  "arguments": []
35250
35331
  },
35251
35332
  {
35252
35333
  "$type": "RuleCall",
35253
35334
  "rule": {
35254
- "$ref": "#/rules@200"
35335
+ "$ref": "#/rules@202"
35255
35336
  },
35256
35337
  "arguments": []
35257
35338
  }
@@ -35461,7 +35542,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
35461
35542
  "terminal": {
35462
35543
  "$type": "RuleCall",
35463
35544
  "rule": {
35464
- "$ref": "#/rules@259"
35545
+ "$ref": "#/rules@267"
35465
35546
  },
35466
35547
  "arguments": []
35467
35548
  }
@@ -35492,7 +35573,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
35492
35573
  "terminal": {
35493
35574
  "$type": "RuleCall",
35494
35575
  "rule": {
35495
- "$ref": "#/rules@259"
35576
+ "$ref": "#/rules@267"
35496
35577
  },
35497
35578
  "arguments": []
35498
35579
  }
@@ -35519,7 +35600,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
35519
35600
  {
35520
35601
  "$type": "RuleCall",
35521
35602
  "rule": {
35522
- "$ref": "#/rules@260"
35603
+ "$ref": "#/rules@268"
35523
35604
  },
35524
35605
  "arguments": []
35525
35606
  },
@@ -35658,7 +35739,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
35658
35739
  {
35659
35740
  "$type": "RuleCall",
35660
35741
  "rule": {
35661
- "$ref": "#/rules@194"
35742
+ "$ref": "#/rules@196"
35662
35743
  },
35663
35744
  "arguments": []
35664
35745
  },
@@ -35695,7 +35776,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
35695
35776
  "terminal": {
35696
35777
  "$type": "RuleCall",
35697
35778
  "rule": {
35698
- "$ref": "#/rules@260"
35779
+ "$ref": "#/rules@268"
35699
35780
  },
35700
35781
  "arguments": []
35701
35782
  }
@@ -35722,7 +35803,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
35722
35803
  "terminal": {
35723
35804
  "$type": "RuleCall",
35724
35805
  "rule": {
35725
- "$ref": "#/rules@257"
35806
+ "$ref": "#/rules@265"
35726
35807
  },
35727
35808
  "arguments": []
35728
35809
  }
@@ -35741,28 +35822,28 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
35741
35822
  {
35742
35823
  "$type": "RuleCall",
35743
35824
  "rule": {
35744
- "$ref": "#/rules@260"
35825
+ "$ref": "#/rules@268"
35745
35826
  },
35746
35827
  "arguments": []
35747
35828
  },
35748
35829
  {
35749
35830
  "$type": "RuleCall",
35750
35831
  "rule": {
35751
- "$ref": "#/rules@259"
35832
+ "$ref": "#/rules@267"
35752
35833
  },
35753
35834
  "arguments": []
35754
35835
  },
35755
35836
  {
35756
35837
  "$type": "RuleCall",
35757
35838
  "rule": {
35758
- "$ref": "#/rules@255"
35839
+ "$ref": "#/rules@263"
35759
35840
  },
35760
35841
  "arguments": []
35761
35842
  },
35762
35843
  {
35763
35844
  "$type": "RuleCall",
35764
35845
  "rule": {
35765
- "$ref": "#/rules@232"
35846
+ "$ref": "#/rules@240"
35766
35847
  },
35767
35848
  "arguments": []
35768
35849
  }
@@ -35802,7 +35883,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
35802
35883
  "terminal": {
35803
35884
  "$type": "RuleCall",
35804
35885
  "rule": {
35805
- "$ref": "#/rules@257"
35886
+ "$ref": "#/rules@265"
35806
35887
  },
35807
35888
  "arguments": []
35808
35889
  }
@@ -35946,7 +36027,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
35946
36027
  "terminal": {
35947
36028
  "$type": "RuleCall",
35948
36029
  "rule": {
35949
- "$ref": "#/rules@257"
36030
+ "$ref": "#/rules@265"
35950
36031
  },
35951
36032
  "arguments": []
35952
36033
  }
@@ -36058,14 +36139,14 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
36058
36139
  {
36059
36140
  "$type": "RuleCall",
36060
36141
  "rule": {
36061
- "$ref": "#/rules@255"
36142
+ "$ref": "#/rules@263"
36062
36143
  },
36063
36144
  "arguments": []
36064
36145
  },
36065
36146
  {
36066
36147
  "$type": "RuleCall",
36067
36148
  "rule": {
36068
- "$ref": "#/rules@200"
36149
+ "$ref": "#/rules@202"
36069
36150
  },
36070
36151
  "arguments": []
36071
36152
  }
@@ -36105,7 +36186,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
36105
36186
  "terminal": {
36106
36187
  "$type": "RuleCall",
36107
36188
  "rule": {
36108
- "$ref": "#/rules@257"
36189
+ "$ref": "#/rules@265"
36109
36190
  },
36110
36191
  "arguments": []
36111
36192
  }
@@ -36169,7 +36250,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
36169
36250
  "terminal": {
36170
36251
  "$type": "RuleCall",
36171
36252
  "rule": {
36172
- "$ref": "#/rules@257"
36253
+ "$ref": "#/rules@265"
36173
36254
  },
36174
36255
  "arguments": []
36175
36256
  }
@@ -36299,7 +36380,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
36299
36380
  "terminal": {
36300
36381
  "$type": "RuleCall",
36301
36382
  "rule": {
36302
- "$ref": "#/rules@257"
36383
+ "$ref": "#/rules@265"
36303
36384
  },
36304
36385
  "arguments": []
36305
36386
  }
@@ -36344,7 +36425,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
36344
36425
  "terminal": {
36345
36426
  "$type": "RuleCall",
36346
36427
  "rule": {
36347
- "$ref": "#/rules@257"
36428
+ "$ref": "#/rules@265"
36348
36429
  },
36349
36430
  "arguments": []
36350
36431
  }
@@ -36389,7 +36470,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
36389
36470
  "terminal": {
36390
36471
  "$type": "RuleCall",
36391
36472
  "rule": {
36392
- "$ref": "#/rules@257"
36473
+ "$ref": "#/rules@265"
36393
36474
  },
36394
36475
  "arguments": []
36395
36476
  }
@@ -36434,7 +36515,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
36434
36515
  "terminal": {
36435
36516
  "$type": "RuleCall",
36436
36517
  "rule": {
36437
- "$ref": "#/rules@257"
36518
+ "$ref": "#/rules@265"
36438
36519
  },
36439
36520
  "arguments": []
36440
36521
  }
@@ -36638,7 +36719,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
36638
36719
  "terminal": {
36639
36720
  "$type": "RuleCall",
36640
36721
  "rule": {
36641
- "$ref": "#/rules@259"
36722
+ "$ref": "#/rules@267"
36642
36723
  },
36643
36724
  "arguments": []
36644
36725
  }
@@ -36706,7 +36787,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
36706
36787
  "terminal": {
36707
36788
  "$type": "RuleCall",
36708
36789
  "rule": {
36709
- "$ref": "#/rules@257"
36790
+ "$ref": "#/rules@265"
36710
36791
  },
36711
36792
  "arguments": []
36712
36793
  }
@@ -36821,7 +36902,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
36821
36902
  "terminal": {
36822
36903
  "$type": "RuleCall",
36823
36904
  "rule": {
36824
- "$ref": "#/rules@259"
36905
+ "$ref": "#/rules@267"
36825
36906
  },
36826
36907
  "arguments": []
36827
36908
  }
@@ -36859,7 +36940,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
36859
36940
  "terminal": {
36860
36941
  "$type": "RuleCall",
36861
36942
  "rule": {
36862
- "$ref": "#/rules@257"
36943
+ "$ref": "#/rules@265"
36863
36944
  },
36864
36945
  "arguments": []
36865
36946
  }
@@ -36904,7 +36985,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
36904
36985
  "terminal": {
36905
36986
  "$type": "RuleCall",
36906
36987
  "rule": {
36907
- "$ref": "#/rules@257"
36988
+ "$ref": "#/rules@265"
36908
36989
  },
36909
36990
  "arguments": []
36910
36991
  }
@@ -37015,14 +37096,14 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
37015
37096
  {
37016
37097
  "$type": "RuleCall",
37017
37098
  "rule": {
37018
- "$ref": "#/rules@200"
37099
+ "$ref": "#/rules@202"
37019
37100
  },
37020
37101
  "arguments": []
37021
37102
  },
37022
37103
  {
37023
37104
  "$type": "RuleCall",
37024
37105
  "rule": {
37025
- "$ref": "#/rules@232"
37106
+ "$ref": "#/rules@240"
37026
37107
  },
37027
37108
  "arguments": []
37028
37109
  }
@@ -37062,7 +37143,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
37062
37143
  "terminal": {
37063
37144
  "$type": "RuleCall",
37064
37145
  "rule": {
37065
- "$ref": "#/rules@257"
37146
+ "$ref": "#/rules@265"
37066
37147
  },
37067
37148
  "arguments": []
37068
37149
  }
@@ -37241,7 +37322,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
37241
37322
  "terminal": {
37242
37323
  "$type": "RuleCall",
37243
37324
  "rule": {
37244
- "$ref": "#/rules@259"
37325
+ "$ref": "#/rules@267"
37245
37326
  },
37246
37327
  "arguments": []
37247
37328
  }
@@ -37279,7 +37360,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
37279
37360
  "terminal": {
37280
37361
  "$type": "RuleCall",
37281
37362
  "rule": {
37282
- "$ref": "#/rules@257"
37363
+ "$ref": "#/rules@265"
37283
37364
  },
37284
37365
  "arguments": []
37285
37366
  }
@@ -37433,7 +37514,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
37433
37514
  "terminal": {
37434
37515
  "$type": "RuleCall",
37435
37516
  "rule": {
37436
- "$ref": "#/rules@200"
37517
+ "$ref": "#/rules@202"
37437
37518
  },
37438
37519
  "arguments": []
37439
37520
  }
@@ -37504,14 +37585,14 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
37504
37585
  {
37505
37586
  "$type": "RuleCall",
37506
37587
  "rule": {
37507
- "$ref": "#/rules@200"
37588
+ "$ref": "#/rules@202"
37508
37589
  },
37509
37590
  "arguments": []
37510
37591
  },
37511
37592
  {
37512
37593
  "$type": "RuleCall",
37513
37594
  "rule": {
37514
- "$ref": "#/rules@232"
37595
+ "$ref": "#/rules@240"
37515
37596
  },
37516
37597
  "arguments": []
37517
37598
  }
@@ -37549,7 +37630,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
37549
37630
  "terminal": {
37550
37631
  "$type": "RuleCall",
37551
37632
  "rule": {
37552
- "$ref": "#/rules@257"
37633
+ "$ref": "#/rules@265"
37553
37634
  },
37554
37635
  "arguments": []
37555
37636
  },
@@ -37589,7 +37670,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
37589
37670
  "terminal": {
37590
37671
  "$type": "RuleCall",
37591
37672
  "rule": {
37592
- "$ref": "#/rules@257"
37673
+ "$ref": "#/rules@265"
37593
37674
  },
37594
37675
  "arguments": []
37595
37676
  }
@@ -37711,7 +37792,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
37711
37792
  "terminal": {
37712
37793
  "$type": "RuleCall",
37713
37794
  "rule": {
37714
- "$ref": "#/rules@260"
37795
+ "$ref": "#/rules@268"
37715
37796
  },
37716
37797
  "arguments": []
37717
37798
  }
@@ -37730,7 +37811,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
37730
37811
  "terminal": {
37731
37812
  "$type": "RuleCall",
37732
37813
  "rule": {
37733
- "$ref": "#/rules@260"
37814
+ "$ref": "#/rules@268"
37734
37815
  },
37735
37816
  "arguments": []
37736
37817
  }
@@ -37778,7 +37859,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
37778
37859
  "terminal": {
37779
37860
  "$type": "RuleCall",
37780
37861
  "rule": {
37781
- "$ref": "#/rules@257"
37862
+ "$ref": "#/rules@265"
37782
37863
  },
37783
37864
  "arguments": []
37784
37865
  }
@@ -37821,7 +37902,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
37821
37902
  "terminal": {
37822
37903
  "$type": "RuleCall",
37823
37904
  "rule": {
37824
- "$ref": "#/rules@257"
37905
+ "$ref": "#/rules@265"
37825
37906
  },
37826
37907
  "arguments": []
37827
37908
  },
@@ -37882,7 +37963,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
37882
37963
  "terminal": {
37883
37964
  "$type": "RuleCall",
37884
37965
  "rule": {
37885
- "$ref": "#/rules@257"
37966
+ "$ref": "#/rules@265"
37886
37967
  },
37887
37968
  "arguments": []
37888
37969
  },
@@ -37900,7 +37981,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
37900
37981
  "terminal": {
37901
37982
  "$type": "RuleCall",
37902
37983
  "rule": {
37903
- "$ref": "#/rules@257"
37984
+ "$ref": "#/rules@265"
37904
37985
  },
37905
37986
  "arguments": []
37906
37987
  }
@@ -38037,7 +38118,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
38037
38118
  "terminal": {
38038
38119
  "$type": "RuleCall",
38039
38120
  "rule": {
38040
- "$ref": "#/rules@257"
38121
+ "$ref": "#/rules@265"
38041
38122
  },
38042
38123
  "arguments": []
38043
38124
  },
@@ -38051,7 +38132,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
38051
38132
  "terminal": {
38052
38133
  "$type": "RuleCall",
38053
38134
  "rule": {
38054
- "$ref": "#/rules@257"
38135
+ "$ref": "#/rules@265"
38055
38136
  },
38056
38137
  "arguments": []
38057
38138
  }
@@ -38105,7 +38186,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
38105
38186
  "terminal": {
38106
38187
  "$type": "RuleCall",
38107
38188
  "rule": {
38108
- "$ref": "#/rules@257"
38189
+ "$ref": "#/rules@265"
38109
38190
  },
38110
38191
  "arguments": []
38111
38192
  },
@@ -38123,7 +38204,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
38123
38204
  "terminal": {
38124
38205
  "$type": "RuleCall",
38125
38206
  "rule": {
38126
- "$ref": "#/rules@257"
38207
+ "$ref": "#/rules@265"
38127
38208
  },
38128
38209
  "arguments": []
38129
38210
  }
@@ -38218,7 +38299,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
38218
38299
  "terminal": {
38219
38300
  "$type": "RuleCall",
38220
38301
  "rule": {
38221
- "$ref": "#/rules@257"
38302
+ "$ref": "#/rules@265"
38222
38303
  },
38223
38304
  "arguments": []
38224
38305
  },
@@ -38236,7 +38317,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
38236
38317
  "terminal": {
38237
38318
  "$type": "RuleCall",
38238
38319
  "rule": {
38239
- "$ref": "#/rules@257"
38320
+ "$ref": "#/rules@265"
38240
38321
  },
38241
38322
  "arguments": []
38242
38323
  }
@@ -38355,7 +38436,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
38355
38436
  "terminal": {
38356
38437
  "$type": "RuleCall",
38357
38438
  "rule": {
38358
- "$ref": "#/rules@257"
38439
+ "$ref": "#/rules@265"
38359
38440
  },
38360
38441
  "arguments": []
38361
38442
  }
@@ -38374,7 +38455,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
38374
38455
  "terminal": {
38375
38456
  "$type": "RuleCall",
38376
38457
  "rule": {
38377
- "$ref": "#/rules@257"
38458
+ "$ref": "#/rules@265"
38378
38459
  },
38379
38460
  "arguments": []
38380
38461
  }
@@ -38412,7 +38493,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
38412
38493
  "terminal": {
38413
38494
  "$type": "RuleCall",
38414
38495
  "rule": {
38415
- "$ref": "#/rules@255"
38496
+ "$ref": "#/rules@263"
38416
38497
  },
38417
38498
  "arguments": []
38418
38499
  }
@@ -38443,12 +38524,12 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
38443
38524
  "terminal": {
38444
38525
  "$type": "CrossReference",
38445
38526
  "type": {
38446
- "$ref": "#/rules@190"
38527
+ "$ref": "#/rules@192"
38447
38528
  },
38448
38529
  "terminal": {
38449
38530
  "$type": "RuleCall",
38450
38531
  "rule": {
38451
- "$ref": "#/rules@257"
38532
+ "$ref": "#/rules@265"
38452
38533
  },
38453
38534
  "arguments": []
38454
38535
  },
@@ -38497,7 +38578,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
38497
38578
  "terminal": {
38498
38579
  "$type": "RuleCall",
38499
38580
  "rule": {
38500
- "$ref": "#/rules@257"
38581
+ "$ref": "#/rules@265"
38501
38582
  },
38502
38583
  "arguments": []
38503
38584
  },
@@ -38515,7 +38596,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
38515
38596
  "terminal": {
38516
38597
  "$type": "RuleCall",
38517
38598
  "rule": {
38518
- "$ref": "#/rules@257"
38599
+ "$ref": "#/rules@265"
38519
38600
  },
38520
38601
  "arguments": []
38521
38602
  }
@@ -38707,7 +38788,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
38707
38788
  "terminal": {
38708
38789
  "$type": "RuleCall",
38709
38790
  "rule": {
38710
- "$ref": "#/rules@259"
38791
+ "$ref": "#/rules@267"
38711
38792
  },
38712
38793
  "arguments": []
38713
38794
  }
@@ -38738,7 +38819,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
38738
38819
  "terminal": {
38739
38820
  "$type": "RuleCall",
38740
38821
  "rule": {
38741
- "$ref": "#/rules@259"
38822
+ "$ref": "#/rules@267"
38742
38823
  },
38743
38824
  "arguments": []
38744
38825
  }
@@ -38769,7 +38850,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
38769
38850
  "terminal": {
38770
38851
  "$type": "RuleCall",
38771
38852
  "rule": {
38772
- "$ref": "#/rules@259"
38853
+ "$ref": "#/rules@267"
38773
38854
  },
38774
38855
  "arguments": []
38775
38856
  }
@@ -38800,7 +38881,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
38800
38881
  "terminal": {
38801
38882
  "$type": "RuleCall",
38802
38883
  "rule": {
38803
- "$ref": "#/rules@258"
38884
+ "$ref": "#/rules@266"
38804
38885
  },
38805
38886
  "arguments": []
38806
38887
  }
@@ -38836,7 +38917,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
38836
38917
  "terminal": {
38837
38918
  "$type": "RuleCall",
38838
38919
  "rule": {
38839
- "$ref": "#/rules@257"
38920
+ "$ref": "#/rules@265"
38840
38921
  },
38841
38922
  "arguments": []
38842
38923
  },
@@ -38874,7 +38955,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
38874
38955
  "terminal": {
38875
38956
  "$type": "RuleCall",
38876
38957
  "rule": {
38877
- "$ref": "#/rules@257"
38958
+ "$ref": "#/rules@265"
38878
38959
  },
38879
38960
  "arguments": []
38880
38961
  },
@@ -38939,7 +39020,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
38939
39020
  "terminal": {
38940
39021
  "$type": "RuleCall",
38941
39022
  "rule": {
38942
- "$ref": "#/rules@257"
39023
+ "$ref": "#/rules@265"
38943
39024
  },
38944
39025
  "arguments": []
38945
39026
  },
@@ -38965,7 +39046,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
38965
39046
  "terminal": {
38966
39047
  "$type": "RuleCall",
38967
39048
  "rule": {
38968
- "$ref": "#/rules@257"
39049
+ "$ref": "#/rules@265"
38969
39050
  },
38970
39051
  "arguments": []
38971
39052
  },
@@ -38991,7 +39072,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
38991
39072
  "terminal": {
38992
39073
  "$type": "RuleCall",
38993
39074
  "rule": {
38994
- "$ref": "#/rules@257"
39075
+ "$ref": "#/rules@265"
38995
39076
  },
38996
39077
  "arguments": []
38997
39078
  },
@@ -39036,7 +39117,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
39036
39117
  "terminal": {
39037
39118
  "$type": "RuleCall",
39038
39119
  "rule": {
39039
- "$ref": "#/rules@259"
39120
+ "$ref": "#/rules@267"
39040
39121
  },
39041
39122
  "arguments": []
39042
39123
  }
@@ -39060,7 +39141,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
39060
39141
  "terminal": {
39061
39142
  "$type": "RuleCall",
39062
39143
  "rule": {
39063
- "$ref": "#/rules@232"
39144
+ "$ref": "#/rules@240"
39064
39145
  },
39065
39146
  "arguments": []
39066
39147
  }
@@ -39096,14 +39177,14 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
39096
39177
  {
39097
39178
  "$type": "RuleCall",
39098
39179
  "rule": {
39099
- "$ref": "#/rules@259"
39180
+ "$ref": "#/rules@267"
39100
39181
  },
39101
39182
  "arguments": []
39102
39183
  },
39103
39184
  {
39104
39185
  "$type": "RuleCall",
39105
39186
  "rule": {
39106
- "$ref": "#/rules@232"
39187
+ "$ref": "#/rules@240"
39107
39188
  },
39108
39189
  "arguments": []
39109
39190
  }
@@ -39127,14 +39208,14 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
39127
39208
  {
39128
39209
  "$type": "RuleCall",
39129
39210
  "rule": {
39130
- "$ref": "#/rules@259"
39211
+ "$ref": "#/rules@267"
39131
39212
  },
39132
39213
  "arguments": []
39133
39214
  },
39134
39215
  {
39135
39216
  "$type": "RuleCall",
39136
39217
  "rule": {
39137
- "$ref": "#/rules@232"
39218
+ "$ref": "#/rules@240"
39138
39219
  },
39139
39220
  "arguments": []
39140
39221
  }
@@ -39179,7 +39260,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
39179
39260
  "terminal": {
39180
39261
  "$type": "RuleCall",
39181
39262
  "rule": {
39182
- "$ref": "#/rules@257"
39263
+ "$ref": "#/rules@265"
39183
39264
  },
39184
39265
  "arguments": []
39185
39266
  },
@@ -39320,7 +39401,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
39320
39401
  "terminal": {
39321
39402
  "$type": "RuleCall",
39322
39403
  "rule": {
39323
- "$ref": "#/rules@257"
39404
+ "$ref": "#/rules@265"
39324
39405
  },
39325
39406
  "arguments": []
39326
39407
  }
@@ -39365,7 +39446,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
39365
39446
  "terminal": {
39366
39447
  "$type": "RuleCall",
39367
39448
  "rule": {
39368
- "$ref": "#/rules@257"
39449
+ "$ref": "#/rules@265"
39369
39450
  },
39370
39451
  "arguments": []
39371
39452
  }
@@ -39410,7 +39491,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
39410
39491
  "terminal": {
39411
39492
  "$type": "RuleCall",
39412
39493
  "rule": {
39413
- "$ref": "#/rules@257"
39494
+ "$ref": "#/rules@265"
39414
39495
  },
39415
39496
  "arguments": []
39416
39497
  }
@@ -39455,7 +39536,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
39455
39536
  "terminal": {
39456
39537
  "$type": "RuleCall",
39457
39538
  "rule": {
39458
- "$ref": "#/rules@257"
39539
+ "$ref": "#/rules@265"
39459
39540
  },
39460
39541
  "arguments": []
39461
39542
  }
@@ -39541,7 +39622,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
39541
39622
  "terminal": {
39542
39623
  "$type": "RuleCall",
39543
39624
  "rule": {
39544
- "$ref": "#/rules@257"
39625
+ "$ref": "#/rules@265"
39545
39626
  },
39546
39627
  "arguments": []
39547
39628
  }
@@ -39673,14 +39754,14 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
39673
39754
  {
39674
39755
  "$type": "RuleCall",
39675
39756
  "rule": {
39676
- "$ref": "#/rules@256"
39757
+ "$ref": "#/rules@264"
39677
39758
  },
39678
39759
  "arguments": []
39679
39760
  },
39680
39761
  {
39681
39762
  "$type": "RuleCall",
39682
39763
  "rule": {
39683
- "$ref": "#/rules@200"
39764
+ "$ref": "#/rules@202"
39684
39765
  },
39685
39766
  "arguments": []
39686
39767
  }
@@ -39716,14 +39797,14 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
39716
39797
  {
39717
39798
  "$type": "RuleCall",
39718
39799
  "rule": {
39719
- "$ref": "#/rules@256"
39800
+ "$ref": "#/rules@264"
39720
39801
  },
39721
39802
  "arguments": []
39722
39803
  },
39723
39804
  {
39724
39805
  "$type": "RuleCall",
39725
39806
  "rule": {
39726
- "$ref": "#/rules@200"
39807
+ "$ref": "#/rules@202"
39727
39808
  },
39728
39809
  "arguments": []
39729
39810
  }
@@ -39763,7 +39844,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
39763
39844
  "terminal": {
39764
39845
  "$type": "RuleCall",
39765
39846
  "rule": {
39766
- "$ref": "#/rules@256"
39847
+ "$ref": "#/rules@264"
39767
39848
  },
39768
39849
  "arguments": []
39769
39850
  }
@@ -39782,7 +39863,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
39782
39863
  "terminal": {
39783
39864
  "$type": "RuleCall",
39784
39865
  "rule": {
39785
- "$ref": "#/rules@256"
39866
+ "$ref": "#/rules@264"
39786
39867
  },
39787
39868
  "arguments": []
39788
39869
  }
@@ -39823,7 +39904,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
39823
39904
  "terminal": {
39824
39905
  "$type": "RuleCall",
39825
39906
  "rule": {
39826
- "$ref": "#/rules@255"
39907
+ "$ref": "#/rules@263"
39827
39908
  },
39828
39909
  "arguments": []
39829
39910
  }
@@ -39861,7 +39942,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
39861
39942
  "terminal": {
39862
39943
  "$type": "RuleCall",
39863
39944
  "rule": {
39864
- "$ref": "#/rules@257"
39945
+ "$ref": "#/rules@265"
39865
39946
  },
39866
39947
  "arguments": []
39867
39948
  }
@@ -40016,7 +40097,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
40016
40097
  "terminal": {
40017
40098
  "$type": "RuleCall",
40018
40099
  "rule": {
40019
- "$ref": "#/rules@257"
40100
+ "$ref": "#/rules@265"
40020
40101
  },
40021
40102
  "arguments": []
40022
40103
  },
@@ -40030,7 +40111,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
40030
40111
  "terminal": {
40031
40112
  "$type": "RuleCall",
40032
40113
  "rule": {
40033
- "$ref": "#/rules@257"
40114
+ "$ref": "#/rules@265"
40034
40115
  },
40035
40116
  "arguments": []
40036
40117
  }
@@ -40050,7 +40131,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
40050
40131
  "terminal": {
40051
40132
  "$type": "RuleCall",
40052
40133
  "rule": {
40053
- "$ref": "#/rules@258"
40134
+ "$ref": "#/rules@266"
40054
40135
  },
40055
40136
  "arguments": []
40056
40137
  }
@@ -40070,7 +40151,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
40070
40151
  "terminal": {
40071
40152
  "$type": "RuleCall",
40072
40153
  "rule": {
40073
- "$ref": "#/rules@258"
40154
+ "$ref": "#/rules@266"
40074
40155
  },
40075
40156
  "arguments": []
40076
40157
  }
@@ -40186,7 +40267,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
40186
40267
  "terminal": {
40187
40268
  "$type": "RuleCall",
40188
40269
  "rule": {
40189
- "$ref": "#/rules@257"
40270
+ "$ref": "#/rules@265"
40190
40271
  },
40191
40272
  "arguments": []
40192
40273
  }
@@ -40356,7 +40437,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
40356
40437
  "terminal": {
40357
40438
  "$type": "RuleCall",
40358
40439
  "rule": {
40359
- "$ref": "#/rules@257"
40440
+ "$ref": "#/rules@265"
40360
40441
  },
40361
40442
  "arguments": []
40362
40443
  },
@@ -40382,7 +40463,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
40382
40463
  "terminal": {
40383
40464
  "$type": "RuleCall",
40384
40465
  "rule": {
40385
- "$ref": "#/rules@257"
40466
+ "$ref": "#/rules@265"
40386
40467
  },
40387
40468
  "arguments": []
40388
40469
  },
@@ -40499,7 +40580,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
40499
40580
  "terminal": {
40500
40581
  "$type": "RuleCall",
40501
40582
  "rule": {
40502
- "$ref": "#/rules@257"
40583
+ "$ref": "#/rules@265"
40503
40584
  },
40504
40585
  "arguments": []
40505
40586
  }
@@ -40666,7 +40747,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
40666
40747
  "terminal": {
40667
40748
  "$type": "RuleCall",
40668
40749
  "rule": {
40669
- "$ref": "#/rules@257"
40750
+ "$ref": "#/rules@265"
40670
40751
  },
40671
40752
  "arguments": []
40672
40753
  },
@@ -40700,14 +40781,14 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
40700
40781
  {
40701
40782
  "$type": "RuleCall",
40702
40783
  "rule": {
40703
- "$ref": "#/rules@200"
40784
+ "$ref": "#/rules@202"
40704
40785
  },
40705
40786
  "arguments": []
40706
40787
  },
40707
40788
  {
40708
40789
  "$type": "RuleCall",
40709
40790
  "rule": {
40710
- "$ref": "#/rules@259"
40791
+ "$ref": "#/rules@267"
40711
40792
  },
40712
40793
  "arguments": []
40713
40794
  }
@@ -40743,14 +40824,14 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
40743
40824
  {
40744
40825
  "$type": "RuleCall",
40745
40826
  "rule": {
40746
- "$ref": "#/rules@200"
40827
+ "$ref": "#/rules@202"
40747
40828
  },
40748
40829
  "arguments": []
40749
40830
  },
40750
40831
  {
40751
40832
  "$type": "RuleCall",
40752
40833
  "rule": {
40753
- "$ref": "#/rules@259"
40834
+ "$ref": "#/rules@267"
40754
40835
  },
40755
40836
  "arguments": []
40756
40837
  }
@@ -40783,7 +40864,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
40783
40864
  "terminal": {
40784
40865
  "$type": "RuleCall",
40785
40866
  "rule": {
40786
- "$ref": "#/rules@258"
40867
+ "$ref": "#/rules@266"
40787
40868
  },
40788
40869
  "arguments": []
40789
40870
  }
@@ -40817,14 +40898,14 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
40817
40898
  {
40818
40899
  "$type": "RuleCall",
40819
40900
  "rule": {
40820
- "$ref": "#/rules@200"
40901
+ "$ref": "#/rules@202"
40821
40902
  },
40822
40903
  "arguments": []
40823
40904
  },
40824
40905
  {
40825
40906
  "$type": "RuleCall",
40826
40907
  "rule": {
40827
- "$ref": "#/rules@259"
40908
+ "$ref": "#/rules@267"
40828
40909
  },
40829
40910
  "arguments": []
40830
40911
  }
@@ -40860,14 +40941,14 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
40860
40941
  {
40861
40942
  "$type": "RuleCall",
40862
40943
  "rule": {
40863
- "$ref": "#/rules@200"
40944
+ "$ref": "#/rules@202"
40864
40945
  },
40865
40946
  "arguments": []
40866
40947
  },
40867
40948
  {
40868
40949
  "$type": "RuleCall",
40869
40950
  "rule": {
40870
- "$ref": "#/rules@259"
40951
+ "$ref": "#/rules@267"
40871
40952
  },
40872
40953
  "arguments": []
40873
40954
  }
@@ -40900,7 +40981,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
40900
40981
  "terminal": {
40901
40982
  "$type": "RuleCall",
40902
40983
  "rule": {
40903
- "$ref": "#/rules@255"
40984
+ "$ref": "#/rules@263"
40904
40985
  },
40905
40986
  "arguments": []
40906
40987
  }
@@ -40931,7 +41012,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
40931
41012
  "terminal": {
40932
41013
  "$type": "RuleCall",
40933
41014
  "rule": {
40934
- "$ref": "#/rules@262"
41015
+ "$ref": "#/rules@270"
40935
41016
  },
40936
41017
  "arguments": []
40937
41018
  }
@@ -40962,7 +41043,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
40962
41043
  "terminal": {
40963
41044
  "$type": "RuleCall",
40964
41045
  "rule": {
40965
- "$ref": "#/rules@254"
41046
+ "$ref": "#/rules@262"
40966
41047
  },
40967
41048
  "arguments": []
40968
41049
  }
@@ -40993,7 +41074,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
40993
41074
  "terminal": {
40994
41075
  "$type": "RuleCall",
40995
41076
  "rule": {
40996
- "$ref": "#/rules@260"
41077
+ "$ref": "#/rules@268"
40997
41078
  },
40998
41079
  "arguments": []
40999
41080
  }
@@ -41024,7 +41105,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
41024
41105
  "terminal": {
41025
41106
  "$type": "RuleCall",
41026
41107
  "rule": {
41027
- "$ref": "#/rules@260"
41108
+ "$ref": "#/rules@268"
41028
41109
  },
41029
41110
  "arguments": []
41030
41111
  }
@@ -41055,7 +41136,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
41055
41136
  "terminal": {
41056
41137
  "$type": "RuleCall",
41057
41138
  "rule": {
41058
- "$ref": "#/rules@194"
41139
+ "$ref": "#/rules@196"
41059
41140
  },
41060
41141
  "arguments": []
41061
41142
  }
@@ -41086,7 +41167,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
41086
41167
  "terminal": {
41087
41168
  "$type": "RuleCall",
41088
41169
  "rule": {
41089
- "$ref": "#/rules@255"
41170
+ "$ref": "#/rules@263"
41090
41171
  },
41091
41172
  "arguments": []
41092
41173
  }
@@ -41117,7 +41198,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
41117
41198
  "terminal": {
41118
41199
  "$type": "RuleCall",
41119
41200
  "rule": {
41120
- "$ref": "#/rules@260"
41201
+ "$ref": "#/rules@268"
41121
41202
  },
41122
41203
  "arguments": []
41123
41204
  }
@@ -41151,14 +41232,14 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
41151
41232
  {
41152
41233
  "$type": "RuleCall",
41153
41234
  "rule": {
41154
- "$ref": "#/rules@259"
41235
+ "$ref": "#/rules@267"
41155
41236
  },
41156
41237
  "arguments": []
41157
41238
  },
41158
41239
  {
41159
41240
  "$type": "RuleCall",
41160
41241
  "rule": {
41161
- "$ref": "#/rules@232"
41242
+ "$ref": "#/rules@240"
41162
41243
  },
41163
41244
  "arguments": []
41164
41245
  }
@@ -41179,14 +41260,14 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
41179
41260
  {
41180
41261
  "$type": "RuleCall",
41181
41262
  "rule": {
41182
- "$ref": "#/rules@259"
41263
+ "$ref": "#/rules@267"
41183
41264
  },
41184
41265
  "arguments": []
41185
41266
  },
41186
41267
  {
41187
41268
  "$type": "RuleCall",
41188
41269
  "rule": {
41189
- "$ref": "#/rules@232"
41270
+ "$ref": "#/rules@240"
41190
41271
  },
41191
41272
  "arguments": []
41192
41273
  }
@@ -41222,7 +41303,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
41222
41303
  {
41223
41304
  "$type": "RuleCall",
41224
41305
  "rule": {
41225
- "$ref": "#/rules@259"
41306
+ "$ref": "#/rules@267"
41226
41307
  },
41227
41308
  "arguments": []
41228
41309
  },
@@ -41262,7 +41343,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
41262
41343
  {
41263
41344
  "$type": "RuleCall",
41264
41345
  "rule": {
41265
- "$ref": "#/rules@259"
41346
+ "$ref": "#/rules@267"
41266
41347
  },
41267
41348
  "arguments": []
41268
41349
  },
@@ -41307,7 +41388,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
41307
41388
  "terminal": {
41308
41389
  "$type": "RuleCall",
41309
41390
  "rule": {
41310
- "$ref": "#/rules@232"
41391
+ "$ref": "#/rules@240"
41311
41392
  },
41312
41393
  "arguments": []
41313
41394
  }
@@ -41352,7 +41433,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
41352
41433
  "terminal": {
41353
41434
  "$type": "RuleCall",
41354
41435
  "rule": {
41355
- "$ref": "#/rules@257"
41436
+ "$ref": "#/rules@265"
41356
41437
  },
41357
41438
  "arguments": []
41358
41439
  }
@@ -41481,14 +41562,14 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
41481
41562
  {
41482
41563
  "$type": "RuleCall",
41483
41564
  "rule": {
41484
- "$ref": "#/rules@194"
41565
+ "$ref": "#/rules@196"
41485
41566
  },
41486
41567
  "arguments": []
41487
41568
  },
41488
41569
  {
41489
41570
  "$type": "RuleCall",
41490
41571
  "rule": {
41491
- "$ref": "#/rules@200"
41572
+ "$ref": "#/rules@202"
41492
41573
  },
41493
41574
  "arguments": []
41494
41575
  }
@@ -41580,7 +41661,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
41580
41661
  {
41581
41662
  "$type": "RuleCall",
41582
41663
  "rule": {
41583
- "$ref": "#/rules@257"
41664
+ "$ref": "#/rules@265"
41584
41665
  },
41585
41666
  "arguments": []
41586
41667
  }
@@ -41646,7 +41727,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
41646
41727
  "terminal": {
41647
41728
  "$type": "RuleCall",
41648
41729
  "rule": {
41649
- "$ref": "#/rules@201"
41730
+ "$ref": "#/rules@203"
41650
41731
  },
41651
41732
  "arguments": []
41652
41733
  },
@@ -41675,7 +41756,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
41675
41756
  "terminal": {
41676
41757
  "$type": "RuleCall",
41677
41758
  "rule": {
41678
- "$ref": "#/rules@257"
41759
+ "$ref": "#/rules@265"
41679
41760
  },
41680
41761
  "arguments": []
41681
41762
  }
@@ -41709,7 +41790,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
41709
41790
  "terminal": {
41710
41791
  "$type": "RuleCall",
41711
41792
  "rule": {
41712
- "$ref": "#/rules@257"
41793
+ "$ref": "#/rules@265"
41713
41794
  },
41714
41795
  "arguments": []
41715
41796
  },
@@ -41733,7 +41814,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
41733
41814
  "terminal": {
41734
41815
  "$type": "RuleCall",
41735
41816
  "rule": {
41736
- "$ref": "#/rules@232"
41817
+ "$ref": "#/rules@240"
41737
41818
  },
41738
41819
  "arguments": []
41739
41820
  }
@@ -41752,7 +41833,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
41752
41833
  "terminal": {
41753
41834
  "$type": "RuleCall",
41754
41835
  "rule": {
41755
- "$ref": "#/rules@232"
41836
+ "$ref": "#/rules@240"
41756
41837
  },
41757
41838
  "arguments": []
41758
41839
  }
@@ -41796,7 +41877,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
41796
41877
  "terminal": {
41797
41878
  "$type": "RuleCall",
41798
41879
  "rule": {
41799
- "$ref": "#/rules@257"
41880
+ "$ref": "#/rules@265"
41800
41881
  },
41801
41882
  "arguments": []
41802
41883
  }
@@ -41872,7 +41953,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
41872
41953
  {
41873
41954
  "$type": "RuleCall",
41874
41955
  "rule": {
41875
- "$ref": "#/rules@253"
41956
+ "$ref": "#/rules@261"
41876
41957
  },
41877
41958
  "arguments": []
41878
41959
  },
@@ -41901,7 +41982,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
41901
41982
  "terminal": {
41902
41983
  "$type": "RuleCall",
41903
41984
  "rule": {
41904
- "$ref": "#/rules@200"
41985
+ "$ref": "#/rules@202"
41905
41986
  },
41906
41987
  "arguments": []
41907
41988
  }
@@ -41947,7 +42028,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
41947
42028
  "terminal": {
41948
42029
  "$type": "RuleCall",
41949
42030
  "rule": {
41950
- "$ref": "#/rules@232"
42031
+ "$ref": "#/rules@240"
41951
42032
  },
41952
42033
  "arguments": []
41953
42034
  }
@@ -42053,7 +42134,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
42053
42134
  "terminal": {
42054
42135
  "$type": "RuleCall",
42055
42136
  "rule": {
42056
- "$ref": "#/rules@257"
42137
+ "$ref": "#/rules@265"
42057
42138
  },
42058
42139
  "arguments": []
42059
42140
  },
@@ -42085,7 +42166,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
42085
42166
  "terminal": {
42086
42167
  "$type": "RuleCall",
42087
42168
  "rule": {
42088
- "$ref": "#/rules@257"
42169
+ "$ref": "#/rules@265"
42089
42170
  },
42090
42171
  "arguments": []
42091
42172
  },
@@ -42129,7 +42210,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
42129
42210
  {
42130
42211
  "$type": "RuleCall",
42131
42212
  "rule": {
42132
- "$ref": "#/rules@257"
42213
+ "$ref": "#/rules@265"
42133
42214
  },
42134
42215
  "arguments": []
42135
42216
  }
@@ -42224,7 +42305,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
42224
42305
  "terminal": {
42225
42306
  "$type": "RuleCall",
42226
42307
  "rule": {
42227
- "$ref": "#/rules@232"
42308
+ "$ref": "#/rules@240"
42228
42309
  },
42229
42310
  "arguments": []
42230
42311
  }
@@ -42324,7 +42405,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
42324
42405
  "terminal": {
42325
42406
  "$type": "RuleCall",
42326
42407
  "rule": {
42327
- "$ref": "#/rules@232"
42408
+ "$ref": "#/rules@240"
42328
42409
  },
42329
42410
  "arguments": []
42330
42411
  }
@@ -42360,7 +42441,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
42360
42441
  "terminal": {
42361
42442
  "$type": "RuleCall",
42362
42443
  "rule": {
42363
- "$ref": "#/rules@257"
42444
+ "$ref": "#/rules@265"
42364
42445
  },
42365
42446
  "arguments": []
42366
42447
  },
@@ -42396,7 +42477,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
42396
42477
  {
42397
42478
  "$type": "RuleCall",
42398
42479
  "rule": {
42399
- "$ref": "#/rules@257"
42480
+ "$ref": "#/rules@265"
42400
42481
  },
42401
42482
  "arguments": []
42402
42483
  }
@@ -42448,7 +42529,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
42448
42529
  "terminal": {
42449
42530
  "$type": "RuleCall",
42450
42531
  "rule": {
42451
- "$ref": "#/rules@257"
42532
+ "$ref": "#/rules@265"
42452
42533
  },
42453
42534
  "arguments": []
42454
42535
  },
@@ -42480,7 +42561,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
42480
42561
  "terminal": {
42481
42562
  "$type": "RuleCall",
42482
42563
  "rule": {
42483
- "$ref": "#/rules@257"
42564
+ "$ref": "#/rules@265"
42484
42565
  },
42485
42566
  "arguments": []
42486
42567
  },
@@ -42524,7 +42605,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
42524
42605
  {
42525
42606
  "$type": "RuleCall",
42526
42607
  "rule": {
42527
- "$ref": "#/rules@257"
42608
+ "$ref": "#/rules@265"
42528
42609
  },
42529
42610
  "arguments": []
42530
42611
  }
@@ -42619,7 +42700,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
42619
42700
  "terminal": {
42620
42701
  "$type": "RuleCall",
42621
42702
  "rule": {
42622
- "$ref": "#/rules@232"
42703
+ "$ref": "#/rules@240"
42623
42704
  },
42624
42705
  "arguments": []
42625
42706
  }
@@ -42719,7 +42800,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
42719
42800
  "terminal": {
42720
42801
  "$type": "RuleCall",
42721
42802
  "rule": {
42722
- "$ref": "#/rules@232"
42803
+ "$ref": "#/rules@240"
42723
42804
  },
42724
42805
  "arguments": []
42725
42806
  }
@@ -42763,7 +42844,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
42763
42844
  "terminal": {
42764
42845
  "$type": "RuleCall",
42765
42846
  "rule": {
42766
- "$ref": "#/rules@257"
42847
+ "$ref": "#/rules@265"
42767
42848
  },
42768
42849
  "arguments": []
42769
42850
  },
@@ -42801,7 +42882,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
42801
42882
  {
42802
42883
  "$type": "RuleCall",
42803
42884
  "rule": {
42804
- "$ref": "#/rules@257"
42885
+ "$ref": "#/rules@265"
42805
42886
  },
42806
42887
  "arguments": []
42807
42888
  }
@@ -42896,7 +42977,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
42896
42977
  "terminal": {
42897
42978
  "$type": "RuleCall",
42898
42979
  "rule": {
42899
- "$ref": "#/rules@232"
42980
+ "$ref": "#/rules@240"
42900
42981
  },
42901
42982
  "arguments": []
42902
42983
  }
@@ -42996,7 +43077,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
42996
43077
  "terminal": {
42997
43078
  "$type": "RuleCall",
42998
43079
  "rule": {
42999
- "$ref": "#/rules@232"
43080
+ "$ref": "#/rules@240"
43000
43081
  },
43001
43082
  "arguments": []
43002
43083
  }
@@ -43023,7 +43104,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
43023
43104
  "terminal": {
43024
43105
  "$type": "CrossReference",
43025
43106
  "type": {
43026
- "$ref": "#/rules@204"
43107
+ "$ref": "#/rules@206"
43027
43108
  },
43028
43109
  "deprecatedSyntax": false
43029
43110
  }
@@ -43049,10 +43130,14 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
43049
43130
  "$type": "Keyword",
43050
43131
  "value": "Name"
43051
43132
  },
43133
+ {
43134
+ "$type": "Keyword",
43135
+ "value": "dice"
43136
+ },
43052
43137
  {
43053
43138
  "$type": "RuleCall",
43054
43139
  "rule": {
43055
- "$ref": "#/rules@257"
43140
+ "$ref": "#/rules@265"
43056
43141
  },
43057
43142
  "arguments": []
43058
43143
  }
@@ -43076,7 +43161,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
43076
43161
  "terminal": {
43077
43162
  "$type": "RuleCall",
43078
43163
  "rule": {
43079
- "$ref": "#/rules@232"
43164
+ "$ref": "#/rules@240"
43080
43165
  },
43081
43166
  "arguments": []
43082
43167
  }
@@ -43108,14 +43193,14 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
43108
43193
  {
43109
43194
  "$type": "RuleCall",
43110
43195
  "rule": {
43111
- "$ref": "#/rules@204"
43196
+ "$ref": "#/rules@206"
43112
43197
  },
43113
43198
  "arguments": []
43114
43199
  },
43115
43200
  {
43116
43201
  "$type": "RuleCall",
43117
43202
  "rule": {
43118
- "$ref": "#/rules@251"
43203
+ "$ref": "#/rules@259"
43119
43204
  },
43120
43205
  "arguments": []
43121
43206
  }
@@ -43183,7 +43268,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
43183
43268
  "terminal": {
43184
43269
  "$type": "RuleCall",
43185
43270
  "rule": {
43186
- "$ref": "#/rules@257"
43271
+ "$ref": "#/rules@265"
43187
43272
  },
43188
43273
  "arguments": []
43189
43274
  },
@@ -43204,7 +43289,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
43204
43289
  "terminal": {
43205
43290
  "$type": "RuleCall",
43206
43291
  "rule": {
43207
- "$ref": "#/rules@257"
43292
+ "$ref": "#/rules@265"
43208
43293
  },
43209
43294
  "arguments": []
43210
43295
  }
@@ -43244,7 +43329,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
43244
43329
  "terminal": {
43245
43330
  "$type": "RuleCall",
43246
43331
  "rule": {
43247
- "$ref": "#/rules@232"
43332
+ "$ref": "#/rules@240"
43248
43333
  },
43249
43334
  "arguments": []
43250
43335
  }
@@ -43344,7 +43429,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
43344
43429
  "terminal": {
43345
43430
  "$type": "RuleCall",
43346
43431
  "rule": {
43347
- "$ref": "#/rules@232"
43432
+ "$ref": "#/rules@240"
43348
43433
  },
43349
43434
  "arguments": []
43350
43435
  }
@@ -43379,7 +43464,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
43379
43464
  "terminal": {
43380
43465
  "$type": "RuleCall",
43381
43466
  "rule": {
43382
- "$ref": "#/rules@257"
43467
+ "$ref": "#/rules@265"
43383
43468
  },
43384
43469
  "arguments": []
43385
43470
  }
@@ -43405,7 +43490,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
43405
43490
  {
43406
43491
  "$type": "RuleCall",
43407
43492
  "rule": {
43408
- "$ref": "#/rules@257"
43493
+ "$ref": "#/rules@265"
43409
43494
  },
43410
43495
  "arguments": []
43411
43496
  }
@@ -43424,6 +43509,136 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
43424
43509
  "parameters": [],
43425
43510
  "wildcard": false
43426
43511
  },
43512
+ {
43513
+ "$type": "ParserRule",
43514
+ "name": "RollResultAccess",
43515
+ "definition": {
43516
+ "$type": "Group",
43517
+ "elements": [
43518
+ {
43519
+ "$type": "Assignment",
43520
+ "feature": "variable",
43521
+ "operator": "=",
43522
+ "terminal": {
43523
+ "$type": "CrossReference",
43524
+ "type": {
43525
+ "$ref": "#/rules@206"
43526
+ },
43527
+ "terminal": {
43528
+ "$type": "RuleCall",
43529
+ "rule": {
43530
+ "$ref": "#/rules@265"
43531
+ },
43532
+ "arguments": []
43533
+ },
43534
+ "deprecatedSyntax": false
43535
+ }
43536
+ },
43537
+ {
43538
+ "$type": "Keyword",
43539
+ "value": "."
43540
+ },
43541
+ {
43542
+ "$type": "Assignment",
43543
+ "feature": "method",
43544
+ "operator": "=",
43545
+ "terminal": {
43546
+ "$type": "RuleCall",
43547
+ "rule": {
43548
+ "$ref": "#/rules@265"
43549
+ },
43550
+ "arguments": []
43551
+ }
43552
+ },
43553
+ {
43554
+ "$type": "Keyword",
43555
+ "value": "("
43556
+ },
43557
+ {
43558
+ "$type": "Assignment",
43559
+ "feature": "arg",
43560
+ "operator": "=",
43561
+ "terminal": {
43562
+ "$type": "RuleCall",
43563
+ "rule": {
43564
+ "$ref": "#/rules@191"
43565
+ },
43566
+ "arguments": []
43567
+ }
43568
+ },
43569
+ {
43570
+ "$type": "Keyword",
43571
+ "value": ")"
43572
+ }
43573
+ ]
43574
+ },
43575
+ "definesHiddenTokens": false,
43576
+ "entry": false,
43577
+ "fragment": false,
43578
+ "hiddenTokens": [],
43579
+ "parameters": [],
43580
+ "wildcard": false
43581
+ },
43582
+ {
43583
+ "$type": "ParserRule",
43584
+ "name": "RollPredicateArg",
43585
+ "definition": {
43586
+ "$type": "Alternatives",
43587
+ "elements": [
43588
+ {
43589
+ "$type": "Group",
43590
+ "elements": [
43591
+ {
43592
+ "$type": "Assignment",
43593
+ "feature": "param",
43594
+ "operator": "=",
43595
+ "terminal": {
43596
+ "$type": "RuleCall",
43597
+ "rule": {
43598
+ "$ref": "#/rules@259"
43599
+ },
43600
+ "arguments": []
43601
+ }
43602
+ },
43603
+ {
43604
+ "$type": "Keyword",
43605
+ "value": "=>"
43606
+ },
43607
+ {
43608
+ "$type": "Assignment",
43609
+ "feature": "body",
43610
+ "operator": "=",
43611
+ "terminal": {
43612
+ "$type": "RuleCall",
43613
+ "rule": {
43614
+ "$ref": "#/rules@240"
43615
+ },
43616
+ "arguments": []
43617
+ }
43618
+ }
43619
+ ]
43620
+ },
43621
+ {
43622
+ "$type": "Assignment",
43623
+ "feature": "value",
43624
+ "operator": "=",
43625
+ "terminal": {
43626
+ "$type": "RuleCall",
43627
+ "rule": {
43628
+ "$ref": "#/rules@240"
43629
+ },
43630
+ "arguments": []
43631
+ }
43632
+ }
43633
+ ]
43634
+ },
43635
+ "definesHiddenTokens": false,
43636
+ "entry": false,
43637
+ "fragment": false,
43638
+ "hiddenTokens": [],
43639
+ "parameters": [],
43640
+ "wildcard": false
43641
+ },
43427
43642
  {
43428
43643
  "$type": "ParserRule",
43429
43644
  "name": "Action",
@@ -43478,7 +43693,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
43478
43693
  "terminal": {
43479
43694
  "$type": "RuleCall",
43480
43695
  "rule": {
43481
- "$ref": "#/rules@257"
43696
+ "$ref": "#/rules@265"
43482
43697
  },
43483
43698
  "arguments": []
43484
43699
  }
@@ -43497,7 +43712,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
43497
43712
  "terminal": {
43498
43713
  "$type": "RuleCall",
43499
43714
  "rule": {
43500
- "$ref": "#/rules@191"
43715
+ "$ref": "#/rules@193"
43501
43716
  },
43502
43717
  "arguments": []
43503
43718
  }
@@ -43516,7 +43731,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
43516
43731
  "terminal": {
43517
43732
  "$type": "RuleCall",
43518
43733
  "rule": {
43519
- "$ref": "#/rules@191"
43734
+ "$ref": "#/rules@193"
43520
43735
  },
43521
43736
  "arguments": []
43522
43737
  }
@@ -43538,7 +43753,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
43538
43753
  "terminal": {
43539
43754
  "$type": "RuleCall",
43540
43755
  "rule": {
43541
- "$ref": "#/rules@200"
43756
+ "$ref": "#/rules@202"
43542
43757
  },
43543
43758
  "arguments": []
43544
43759
  }
@@ -43589,14 +43804,14 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
43589
43804
  {
43590
43805
  "$type": "RuleCall",
43591
43806
  "rule": {
43592
- "$ref": "#/rules@193"
43807
+ "$ref": "#/rules@195"
43593
43808
  },
43594
43809
  "arguments": []
43595
43810
  },
43596
43811
  {
43597
43812
  "$type": "RuleCall",
43598
43813
  "rule": {
43599
- "$ref": "#/rules@200"
43814
+ "$ref": "#/rules@202"
43600
43815
  },
43601
43816
  "arguments": []
43602
43817
  }
@@ -43694,28 +43909,28 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
43694
43909
  {
43695
43910
  "$type": "RuleCall",
43696
43911
  "rule": {
43697
- "$ref": "#/rules@239"
43912
+ "$ref": "#/rules@247"
43698
43913
  },
43699
43914
  "arguments": []
43700
43915
  },
43701
43916
  {
43702
43917
  "$type": "RuleCall",
43703
43918
  "rule": {
43704
- "$ref": "#/rules@238"
43919
+ "$ref": "#/rules@246"
43705
43920
  },
43706
43921
  "arguments": []
43707
43922
  },
43708
43923
  {
43709
43924
  "$type": "RuleCall",
43710
43925
  "rule": {
43711
- "$ref": "#/rules@241"
43926
+ "$ref": "#/rules@249"
43712
43927
  },
43713
43928
  "arguments": []
43714
43929
  },
43715
43930
  {
43716
43931
  "$type": "RuleCall",
43717
43932
  "rule": {
43718
- "$ref": "#/rules@240"
43933
+ "$ref": "#/rules@248"
43719
43934
  },
43720
43935
  "arguments": []
43721
43936
  }
@@ -43749,7 +43964,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
43749
43964
  "terminal": {
43750
43965
  "$type": "RuleCall",
43751
43966
  "rule": {
43752
- "$ref": "#/rules@194"
43967
+ "$ref": "#/rules@196"
43753
43968
  },
43754
43969
  "arguments": []
43755
43970
  }
@@ -43765,7 +43980,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
43765
43980
  "terminal": {
43766
43981
  "$type": "RuleCall",
43767
43982
  "rule": {
43768
- "$ref": "#/rules@200"
43983
+ "$ref": "#/rules@202"
43769
43984
  },
43770
43985
  "arguments": []
43771
43986
  }
@@ -43777,7 +43992,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
43777
43992
  "terminal": {
43778
43993
  "$type": "RuleCall",
43779
43994
  "rule": {
43780
- "$ref": "#/rules@196"
43995
+ "$ref": "#/rules@198"
43781
43996
  },
43782
43997
  "arguments": []
43783
43998
  },
@@ -43797,7 +44012,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
43797
44012
  "terminal": {
43798
44013
  "$type": "RuleCall",
43799
44014
  "rule": {
43800
- "$ref": "#/rules@200"
44015
+ "$ref": "#/rules@202"
43801
44016
  },
43802
44017
  "arguments": []
43803
44018
  }
@@ -43839,7 +44054,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
43839
44054
  "terminal": {
43840
44055
  "$type": "RuleCall",
43841
44056
  "rule": {
43842
- "$ref": "#/rules@194"
44057
+ "$ref": "#/rules@196"
43843
44058
  },
43844
44059
  "arguments": []
43845
44060
  }
@@ -43855,7 +44070,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
43855
44070
  "terminal": {
43856
44071
  "$type": "RuleCall",
43857
44072
  "rule": {
43858
- "$ref": "#/rules@200"
44073
+ "$ref": "#/rules@202"
43859
44074
  },
43860
44075
  "arguments": []
43861
44076
  }
@@ -43886,7 +44101,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
43886
44101
  "terminal": {
43887
44102
  "$type": "RuleCall",
43888
44103
  "rule": {
43889
- "$ref": "#/rules@251"
44104
+ "$ref": "#/rules@259"
43890
44105
  },
43891
44106
  "arguments": []
43892
44107
  }
@@ -43933,7 +44148,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
43933
44148
  {
43934
44149
  "$type": "RuleCall",
43935
44150
  "rule": {
43936
- "$ref": "#/rules@199"
44151
+ "$ref": "#/rules@201"
43937
44152
  },
43938
44153
  "arguments": []
43939
44154
  }
@@ -43947,7 +44162,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
43947
44162
  "terminal": {
43948
44163
  "$type": "RuleCall",
43949
44164
  "rule": {
43950
- "$ref": "#/rules@200"
44165
+ "$ref": "#/rules@202"
43951
44166
  },
43952
44167
  "arguments": []
43953
44168
  }
@@ -43971,12 +44186,12 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
43971
44186
  "terminal": {
43972
44187
  "$type": "CrossReference",
43973
44188
  "type": {
43974
- "$ref": "#/rules@197"
44189
+ "$ref": "#/rules@199"
43975
44190
  },
43976
44191
  "terminal": {
43977
44192
  "$type": "RuleCall",
43978
44193
  "rule": {
43979
- "$ref": "#/rules@257"
44194
+ "$ref": "#/rules@265"
43980
44195
  },
43981
44196
  "arguments": []
43982
44197
  },
@@ -44007,7 +44222,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
44007
44222
  "terminal": {
44008
44223
  "$type": "RuleCall",
44009
44224
  "rule": {
44010
- "$ref": "#/rules@232"
44225
+ "$ref": "#/rules@240"
44011
44226
  },
44012
44227
  "arguments": []
44013
44228
  }
@@ -44023,7 +44238,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
44023
44238
  "terminal": {
44024
44239
  "$type": "RuleCall",
44025
44240
  "rule": {
44026
- "$ref": "#/rules@232"
44241
+ "$ref": "#/rules@240"
44027
44242
  },
44028
44243
  "arguments": []
44029
44244
  }
@@ -44061,7 +44276,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
44061
44276
  "terminal": {
44062
44277
  "$type": "RuleCall",
44063
44278
  "rule": {
44064
- "$ref": "#/rules@201"
44279
+ "$ref": "#/rules@203"
44065
44280
  },
44066
44281
  "arguments": []
44067
44282
  },
@@ -44080,7 +44295,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
44080
44295
  "terminal": {
44081
44296
  "$type": "RuleCall",
44082
44297
  "rule": {
44083
- "$ref": "#/rules@201"
44298
+ "$ref": "#/rules@203"
44084
44299
  },
44085
44300
  "arguments": []
44086
44301
  }
@@ -44110,7 +44325,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
44110
44325
  {
44111
44326
  "$type": "RuleCall",
44112
44327
  "rule": {
44113
- "$ref": "#/rules@204"
44328
+ "$ref": "#/rules@206"
44114
44329
  },
44115
44330
  "arguments": []
44116
44331
  },
@@ -44145,63 +44360,63 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
44145
44360
  {
44146
44361
  "$type": "RuleCall",
44147
44362
  "rule": {
44148
- "$ref": "#/rules@205"
44363
+ "$ref": "#/rules@207"
44149
44364
  },
44150
44365
  "arguments": []
44151
44366
  },
44152
44367
  {
44153
44368
  "$type": "RuleCall",
44154
44369
  "rule": {
44155
- "$ref": "#/rules@195"
44370
+ "$ref": "#/rules@197"
44156
44371
  },
44157
44372
  "arguments": []
44158
44373
  },
44159
44374
  {
44160
44375
  "$type": "RuleCall",
44161
44376
  "rule": {
44162
- "$ref": "#/rules@202"
44377
+ "$ref": "#/rules@204"
44163
44378
  },
44164
44379
  "arguments": []
44165
44380
  },
44166
44381
  {
44167
44382
  "$type": "RuleCall",
44168
44383
  "rule": {
44169
- "$ref": "#/rules@222"
44384
+ "$ref": "#/rules@230"
44170
44385
  },
44171
44386
  "arguments": []
44172
44387
  },
44173
44388
  {
44174
44389
  "$type": "RuleCall",
44175
44390
  "rule": {
44176
- "$ref": "#/rules@211"
44391
+ "$ref": "#/rules@219"
44177
44392
  },
44178
44393
  "arguments": []
44179
44394
  },
44180
44395
  {
44181
44396
  "$type": "RuleCall",
44182
44397
  "rule": {
44183
- "$ref": "#/rules@197"
44398
+ "$ref": "#/rules@199"
44184
44399
  },
44185
44400
  "arguments": []
44186
44401
  },
44187
44402
  {
44188
44403
  "$type": "RuleCall",
44189
44404
  "rule": {
44190
- "$ref": "#/rules@229"
44405
+ "$ref": "#/rules@237"
44191
44406
  },
44192
44407
  "arguments": []
44193
44408
  },
44194
44409
  {
44195
44410
  "$type": "RuleCall",
44196
44411
  "rule": {
44197
- "$ref": "#/rules@203"
44412
+ "$ref": "#/rules@205"
44198
44413
  },
44199
44414
  "arguments": []
44200
44415
  },
44201
44416
  {
44202
44417
  "$type": "RuleCall",
44203
44418
  "rule": {
44204
- "$ref": "#/rules@212"
44419
+ "$ref": "#/rules@220"
44205
44420
  },
44206
44421
  "arguments": []
44207
44422
  },
@@ -44215,21 +44430,21 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
44215
44430
  {
44216
44431
  "$type": "RuleCall",
44217
44432
  "rule": {
44218
- "$ref": "#/rules@213"
44433
+ "$ref": "#/rules@221"
44219
44434
  },
44220
44435
  "arguments": []
44221
44436
  },
44222
44437
  {
44223
44438
  "$type": "RuleCall",
44224
44439
  "rule": {
44225
- "$ref": "#/rules@219"
44440
+ "$ref": "#/rules@227"
44226
44441
  },
44227
44442
  "arguments": []
44228
44443
  },
44229
44444
  {
44230
44445
  "$type": "RuleCall",
44231
44446
  "rule": {
44232
- "$ref": "#/rules@217"
44447
+ "$ref": "#/rules@225"
44233
44448
  },
44234
44449
  "arguments": []
44235
44450
  }
@@ -44252,7 +44467,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
44252
44467
  "terminal": {
44253
44468
  "$type": "RuleCall",
44254
44469
  "rule": {
44255
- "$ref": "#/rules@261"
44470
+ "$ref": "#/rules@269"
44256
44471
  },
44257
44472
  "arguments": []
44258
44473
  }
@@ -44285,7 +44500,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
44285
44500
  "terminal": {
44286
44501
  "$type": "RuleCall",
44287
44502
  "rule": {
44288
- "$ref": "#/rules@232"
44503
+ "$ref": "#/rules@240"
44289
44504
  },
44290
44505
  "arguments": []
44291
44506
  }
@@ -44304,7 +44519,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
44304
44519
  "terminal": {
44305
44520
  "$type": "RuleCall",
44306
44521
  "rule": {
44307
- "$ref": "#/rules@232"
44522
+ "$ref": "#/rules@240"
44308
44523
  },
44309
44524
  "arguments": []
44310
44525
  }
@@ -44356,7 +44571,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
44356
44571
  "terminal": {
44357
44572
  "$type": "RuleCall",
44358
44573
  "rule": {
44359
- "$ref": "#/rules@257"
44574
+ "$ref": "#/rules@265"
44360
44575
  },
44361
44576
  "arguments": []
44362
44577
  }
@@ -44375,28 +44590,28 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
44375
44590
  {
44376
44591
  "$type": "RuleCall",
44377
44592
  "rule": {
44378
- "$ref": "#/rules@232"
44593
+ "$ref": "#/rules@240"
44379
44594
  },
44380
44595
  "arguments": []
44381
44596
  },
44382
44597
  {
44383
44598
  "$type": "RuleCall",
44384
44599
  "rule": {
44385
- "$ref": "#/rules@206"
44600
+ "$ref": "#/rules@208"
44386
44601
  },
44387
44602
  "arguments": []
44388
44603
  },
44389
44604
  {
44390
44605
  "$type": "RuleCall",
44391
44606
  "rule": {
44392
- "$ref": "#/rules@207"
44607
+ "$ref": "#/rules@215"
44393
44608
  },
44394
44609
  "arguments": []
44395
44610
  },
44396
44611
  {
44397
44612
  "$type": "RuleCall",
44398
44613
  "rule": {
44399
- "$ref": "#/rules@225"
44614
+ "$ref": "#/rules@233"
44400
44615
  },
44401
44616
  "arguments": []
44402
44617
  }
@@ -44429,7 +44644,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
44429
44644
  "terminal": {
44430
44645
  "$type": "RuleCall",
44431
44646
  "rule": {
44432
- "$ref": "#/rules@232"
44647
+ "$ref": "#/rules@240"
44433
44648
  },
44434
44649
  "arguments": []
44435
44650
  }
@@ -44464,20 +44679,323 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
44464
44679
  "terminal": {
44465
44680
  "$type": "RuleCall",
44466
44681
  "rule": {
44467
- "$ref": "#/rules@232"
44682
+ "$ref": "#/rules@240"
44468
44683
  },
44469
44684
  "arguments": []
44470
44685
  },
44471
44686
  "cardinality": "*"
44472
44687
  },
44473
44688
  {
44474
- "$type": "Keyword",
44475
- "value": ")"
44476
- }
44477
- ]
44478
- },
44479
- "definesHiddenTokens": false,
44480
- "entry": false,
44689
+ "$type": "Group",
44690
+ "elements": [
44691
+ {
44692
+ "$type": "Keyword",
44693
+ "value": ","
44694
+ },
44695
+ {
44696
+ "$type": "Assignment",
44697
+ "feature": "params",
44698
+ "operator": "+=",
44699
+ "terminal": {
44700
+ "$type": "RuleCall",
44701
+ "rule": {
44702
+ "$ref": "#/rules@209"
44703
+ },
44704
+ "arguments": []
44705
+ }
44706
+ },
44707
+ {
44708
+ "$type": "Group",
44709
+ "elements": [
44710
+ {
44711
+ "$type": "Keyword",
44712
+ "value": ","
44713
+ },
44714
+ {
44715
+ "$type": "Assignment",
44716
+ "feature": "params",
44717
+ "operator": "+=",
44718
+ "terminal": {
44719
+ "$type": "RuleCall",
44720
+ "rule": {
44721
+ "$ref": "#/rules@209"
44722
+ },
44723
+ "arguments": []
44724
+ }
44725
+ }
44726
+ ],
44727
+ "cardinality": "*"
44728
+ }
44729
+ ],
44730
+ "cardinality": "?"
44731
+ },
44732
+ {
44733
+ "$type": "Keyword",
44734
+ "value": ")"
44735
+ }
44736
+ ]
44737
+ },
44738
+ "definesHiddenTokens": false,
44739
+ "entry": false,
44740
+ "fragment": false,
44741
+ "hiddenTokens": [],
44742
+ "parameters": [],
44743
+ "wildcard": false
44744
+ },
44745
+ {
44746
+ "$type": "ParserRule",
44747
+ "name": "RollParameter",
44748
+ "definition": {
44749
+ "$type": "Alternatives",
44750
+ "elements": [
44751
+ {
44752
+ "$type": "RuleCall",
44753
+ "rule": {
44754
+ "$ref": "#/rules@210"
44755
+ },
44756
+ "arguments": []
44757
+ },
44758
+ {
44759
+ "$type": "RuleCall",
44760
+ "rule": {
44761
+ "$ref": "#/rules@211"
44762
+ },
44763
+ "arguments": []
44764
+ },
44765
+ {
44766
+ "$type": "RuleCall",
44767
+ "rule": {
44768
+ "$ref": "#/rules@212"
44769
+ },
44770
+ "arguments": []
44771
+ },
44772
+ {
44773
+ "$type": "RuleCall",
44774
+ "rule": {
44775
+ "$ref": "#/rules@213"
44776
+ },
44777
+ "arguments": []
44778
+ }
44779
+ ]
44780
+ },
44781
+ "definesHiddenTokens": false,
44782
+ "entry": false,
44783
+ "fragment": false,
44784
+ "hiddenTokens": [],
44785
+ "parameters": [],
44786
+ "wildcard": false
44787
+ },
44788
+ {
44789
+ "$type": "ParserRule",
44790
+ "name": "CritParam",
44791
+ "definition": {
44792
+ "$type": "Group",
44793
+ "elements": [
44794
+ {
44795
+ "$type": "Keyword",
44796
+ "value": "crit:"
44797
+ },
44798
+ {
44799
+ "$type": "Assignment",
44800
+ "feature": "op",
44801
+ "operator": "=",
44802
+ "terminal": {
44803
+ "$type": "RuleCall",
44804
+ "rule": {
44805
+ "$ref": "#/rules@214"
44806
+ },
44807
+ "arguments": []
44808
+ },
44809
+ "cardinality": "?"
44810
+ },
44811
+ {
44812
+ "$type": "Assignment",
44813
+ "feature": "value",
44814
+ "operator": "=",
44815
+ "terminal": {
44816
+ "$type": "RuleCall",
44817
+ "rule": {
44818
+ "$ref": "#/rules@240"
44819
+ },
44820
+ "arguments": []
44821
+ }
44822
+ }
44823
+ ]
44824
+ },
44825
+ "definesHiddenTokens": false,
44826
+ "entry": false,
44827
+ "fragment": false,
44828
+ "hiddenTokens": [],
44829
+ "parameters": [],
44830
+ "wildcard": false
44831
+ },
44832
+ {
44833
+ "$type": "ParserRule",
44834
+ "name": "FumbleParam",
44835
+ "definition": {
44836
+ "$type": "Group",
44837
+ "elements": [
44838
+ {
44839
+ "$type": "Keyword",
44840
+ "value": "fumble:"
44841
+ },
44842
+ {
44843
+ "$type": "Assignment",
44844
+ "feature": "op",
44845
+ "operator": "=",
44846
+ "terminal": {
44847
+ "$type": "RuleCall",
44848
+ "rule": {
44849
+ "$ref": "#/rules@214"
44850
+ },
44851
+ "arguments": []
44852
+ },
44853
+ "cardinality": "?"
44854
+ },
44855
+ {
44856
+ "$type": "Assignment",
44857
+ "feature": "value",
44858
+ "operator": "=",
44859
+ "terminal": {
44860
+ "$type": "RuleCall",
44861
+ "rule": {
44862
+ "$ref": "#/rules@240"
44863
+ },
44864
+ "arguments": []
44865
+ }
44866
+ }
44867
+ ]
44868
+ },
44869
+ "definesHiddenTokens": false,
44870
+ "entry": false,
44871
+ "fragment": false,
44872
+ "hiddenTokens": [],
44873
+ "parameters": [],
44874
+ "wildcard": false
44875
+ },
44876
+ {
44877
+ "$type": "ParserRule",
44878
+ "name": "SuccessParam",
44879
+ "definition": {
44880
+ "$type": "Group",
44881
+ "elements": [
44882
+ {
44883
+ "$type": "Keyword",
44884
+ "value": "success:"
44885
+ },
44886
+ {
44887
+ "$type": "Assignment",
44888
+ "feature": "op",
44889
+ "operator": "=",
44890
+ "terminal": {
44891
+ "$type": "RuleCall",
44892
+ "rule": {
44893
+ "$ref": "#/rules@214"
44894
+ },
44895
+ "arguments": []
44896
+ },
44897
+ "cardinality": "?"
44898
+ },
44899
+ {
44900
+ "$type": "Assignment",
44901
+ "feature": "value",
44902
+ "operator": "=",
44903
+ "terminal": {
44904
+ "$type": "RuleCall",
44905
+ "rule": {
44906
+ "$ref": "#/rules@240"
44907
+ },
44908
+ "arguments": []
44909
+ }
44910
+ }
44911
+ ]
44912
+ },
44913
+ "definesHiddenTokens": false,
44914
+ "entry": false,
44915
+ "fragment": false,
44916
+ "hiddenTokens": [],
44917
+ "parameters": [],
44918
+ "wildcard": false
44919
+ },
44920
+ {
44921
+ "$type": "ParserRule",
44922
+ "name": "FailureParam",
44923
+ "definition": {
44924
+ "$type": "Group",
44925
+ "elements": [
44926
+ {
44927
+ "$type": "Keyword",
44928
+ "value": "failure:"
44929
+ },
44930
+ {
44931
+ "$type": "Assignment",
44932
+ "feature": "op",
44933
+ "operator": "=",
44934
+ "terminal": {
44935
+ "$type": "RuleCall",
44936
+ "rule": {
44937
+ "$ref": "#/rules@214"
44938
+ },
44939
+ "arguments": []
44940
+ },
44941
+ "cardinality": "?"
44942
+ },
44943
+ {
44944
+ "$type": "Assignment",
44945
+ "feature": "value",
44946
+ "operator": "=",
44947
+ "terminal": {
44948
+ "$type": "RuleCall",
44949
+ "rule": {
44950
+ "$ref": "#/rules@240"
44951
+ },
44952
+ "arguments": []
44953
+ }
44954
+ }
44955
+ ]
44956
+ },
44957
+ "definesHiddenTokens": false,
44958
+ "entry": false,
44959
+ "fragment": false,
44960
+ "hiddenTokens": [],
44961
+ "parameters": [],
44962
+ "wildcard": false
44963
+ },
44964
+ {
44965
+ "$type": "ParserRule",
44966
+ "name": "RollCompareOp",
44967
+ "dataType": "string",
44968
+ "definition": {
44969
+ "$type": "Alternatives",
44970
+ "elements": [
44971
+ {
44972
+ "$type": "Keyword",
44973
+ "value": "<="
44974
+ },
44975
+ {
44976
+ "$type": "Keyword",
44977
+ "value": ">="
44978
+ },
44979
+ {
44980
+ "$type": "Keyword",
44981
+ "value": "=="
44982
+ },
44983
+ {
44984
+ "$type": "Keyword",
44985
+ "value": "!="
44986
+ },
44987
+ {
44988
+ "$type": "Keyword",
44989
+ "value": "<"
44990
+ },
44991
+ {
44992
+ "$type": "Keyword",
44993
+ "value": ">"
44994
+ }
44995
+ ]
44996
+ },
44997
+ "definesHiddenTokens": false,
44998
+ "entry": false,
44481
44999
  "fragment": false,
44482
45000
  "hiddenTokens": [],
44483
45001
  "parameters": [],
@@ -44504,7 +45022,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
44504
45022
  "terminal": {
44505
45023
  "$type": "RuleCall",
44506
45024
  "rule": {
44507
- "$ref": "#/rules@208"
45025
+ "$ref": "#/rules@216"
44508
45026
  },
44509
45027
  "arguments": []
44510
45028
  }
@@ -44523,7 +45041,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
44523
45041
  "terminal": {
44524
45042
  "$type": "RuleCall",
44525
45043
  "rule": {
44526
- "$ref": "#/rules@208"
45044
+ "$ref": "#/rules@216"
44527
45045
  },
44528
45046
  "arguments": []
44529
45047
  }
@@ -44553,14 +45071,14 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
44553
45071
  {
44554
45072
  "$type": "RuleCall",
44555
45073
  "rule": {
44556
- "$ref": "#/rules@209"
45074
+ "$ref": "#/rules@217"
44557
45075
  },
44558
45076
  "arguments": []
44559
45077
  },
44560
45078
  {
44561
45079
  "$type": "RuleCall",
44562
45080
  "rule": {
44563
- "$ref": "#/rules@210"
45081
+ "$ref": "#/rules@218"
44564
45082
  },
44565
45083
  "arguments": []
44566
45084
  }
@@ -44590,7 +45108,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
44590
45108
  "terminal": {
44591
45109
  "$type": "RuleCall",
44592
45110
  "rule": {
44593
- "$ref": "#/rules@232"
45111
+ "$ref": "#/rules@240"
44594
45112
  },
44595
45113
  "arguments": []
44596
45114
  }
@@ -44645,7 +45163,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
44645
45163
  {
44646
45164
  "$type": "RuleCall",
44647
45165
  "rule": {
44648
- "$ref": "#/rules@247"
45166
+ "$ref": "#/rules@255"
44649
45167
  },
44650
45168
  "arguments": []
44651
45169
  }
@@ -44718,14 +45236,14 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
44718
45236
  {
44719
45237
  "$type": "RuleCall",
44720
45238
  "rule": {
44721
- "$ref": "#/rules@259"
45239
+ "$ref": "#/rules@267"
44722
45240
  },
44723
45241
  "arguments": []
44724
45242
  },
44725
45243
  {
44726
45244
  "$type": "RuleCall",
44727
45245
  "rule": {
44728
- "$ref": "#/rules@232"
45246
+ "$ref": "#/rules@240"
44729
45247
  },
44730
45248
  "arguments": []
44731
45249
  }
@@ -44784,7 +45302,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
44784
45302
  "terminal": {
44785
45303
  "$type": "RuleCall",
44786
45304
  "rule": {
44787
- "$ref": "#/rules@214"
45305
+ "$ref": "#/rules@222"
44788
45306
  },
44789
45307
  "arguments": []
44790
45308
  }
@@ -44803,7 +45321,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
44803
45321
  "terminal": {
44804
45322
  "$type": "RuleCall",
44805
45323
  "rule": {
44806
- "$ref": "#/rules@214"
45324
+ "$ref": "#/rules@222"
44807
45325
  },
44808
45326
  "arguments": []
44809
45327
  }
@@ -44833,14 +45351,14 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
44833
45351
  {
44834
45352
  "$type": "RuleCall",
44835
45353
  "rule": {
44836
- "$ref": "#/rules@215"
45354
+ "$ref": "#/rules@223"
44837
45355
  },
44838
45356
  "arguments": []
44839
45357
  },
44840
45358
  {
44841
45359
  "$type": "RuleCall",
44842
45360
  "rule": {
44843
- "$ref": "#/rules@216"
45361
+ "$ref": "#/rules@224"
44844
45362
  },
44845
45363
  "arguments": []
44846
45364
  }
@@ -44873,14 +45391,14 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
44873
45391
  {
44874
45392
  "$type": "RuleCall",
44875
45393
  "rule": {
44876
- "$ref": "#/rules@260"
45394
+ "$ref": "#/rules@268"
44877
45395
  },
44878
45396
  "arguments": []
44879
45397
  },
44880
45398
  {
44881
45399
  "$type": "RuleCall",
44882
45400
  "rule": {
44883
- "$ref": "#/rules@232"
45401
+ "$ref": "#/rules@240"
44884
45402
  },
44885
45403
  "arguments": []
44886
45404
  }
@@ -44916,14 +45434,14 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
44916
45434
  {
44917
45435
  "$type": "RuleCall",
44918
45436
  "rule": {
44919
- "$ref": "#/rules@259"
45437
+ "$ref": "#/rules@267"
44920
45438
  },
44921
45439
  "arguments": []
44922
45440
  },
44923
45441
  {
44924
45442
  "$type": "RuleCall",
44925
45443
  "rule": {
44926
- "$ref": "#/rules@232"
45444
+ "$ref": "#/rules@240"
44927
45445
  },
44928
45446
  "arguments": []
44929
45447
  }
@@ -44945,7 +45463,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
44945
45463
  "definition": {
44946
45464
  "$type": "RuleCall",
44947
45465
  "rule": {
44948
- "$ref": "#/rules@218"
45466
+ "$ref": "#/rules@226"
44949
45467
  },
44950
45468
  "arguments": []
44951
45469
  },
@@ -45002,14 +45520,14 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
45002
45520
  {
45003
45521
  "$type": "RuleCall",
45004
45522
  "rule": {
45005
- "$ref": "#/rules@221"
45523
+ "$ref": "#/rules@229"
45006
45524
  },
45007
45525
  "arguments": []
45008
45526
  },
45009
45527
  {
45010
45528
  "$type": "RuleCall",
45011
45529
  "rule": {
45012
- "$ref": "#/rules@220"
45530
+ "$ref": "#/rules@228"
45013
45531
  },
45014
45532
  "arguments": []
45015
45533
  }
@@ -45121,7 +45639,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
45121
45639
  "terminal": {
45122
45640
  "$type": "RuleCall",
45123
45641
  "rule": {
45124
- "$ref": "#/rules@257"
45642
+ "$ref": "#/rules@265"
45125
45643
  },
45126
45644
  "arguments": []
45127
45645
  }
@@ -45144,7 +45662,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
45144
45662
  "terminal": {
45145
45663
  "$type": "RuleCall",
45146
45664
  "rule": {
45147
- "$ref": "#/rules@260"
45665
+ "$ref": "#/rules@268"
45148
45666
  },
45149
45667
  "arguments": []
45150
45668
  }
@@ -45163,7 +45681,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
45163
45681
  "terminal": {
45164
45682
  "$type": "RuleCall",
45165
45683
  "rule": {
45166
- "$ref": "#/rules@223"
45684
+ "$ref": "#/rules@231"
45167
45685
  },
45168
45686
  "arguments": []
45169
45687
  }
@@ -45194,7 +45712,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
45194
45712
  "terminal": {
45195
45713
  "$type": "RuleCall",
45196
45714
  "rule": {
45197
- "$ref": "#/rules@224"
45715
+ "$ref": "#/rules@232"
45198
45716
  },
45199
45717
  "arguments": []
45200
45718
  },
@@ -45276,7 +45794,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
45276
45794
  {
45277
45795
  "$type": "RuleCall",
45278
45796
  "rule": {
45279
- "$ref": "#/rules@232"
45797
+ "$ref": "#/rules@240"
45280
45798
  },
45281
45799
  "arguments": []
45282
45800
  }
@@ -45315,7 +45833,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
45315
45833
  "terminal": {
45316
45834
  "$type": "RuleCall",
45317
45835
  "rule": {
45318
- "$ref": "#/rules@226"
45836
+ "$ref": "#/rules@234"
45319
45837
  },
45320
45838
  "arguments": []
45321
45839
  }
@@ -45334,7 +45852,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
45334
45852
  "terminal": {
45335
45853
  "$type": "RuleCall",
45336
45854
  "rule": {
45337
- "$ref": "#/rules@226"
45855
+ "$ref": "#/rules@234"
45338
45856
  },
45339
45857
  "arguments": []
45340
45858
  }
@@ -45388,7 +45906,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
45388
45906
  {
45389
45907
  "$type": "RuleCall",
45390
45908
  "rule": {
45391
- "$ref": "#/rules@228"
45909
+ "$ref": "#/rules@236"
45392
45910
  },
45393
45911
  "arguments": []
45394
45912
  },
@@ -45430,7 +45948,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
45430
45948
  {
45431
45949
  "$type": "RuleCall",
45432
45950
  "rule": {
45433
- "$ref": "#/rules@227"
45951
+ "$ref": "#/rules@235"
45434
45952
  },
45435
45953
  "arguments": []
45436
45954
  }
@@ -45463,14 +45981,14 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
45463
45981
  {
45464
45982
  "$type": "RuleCall",
45465
45983
  "rule": {
45466
- "$ref": "#/rules@259"
45984
+ "$ref": "#/rules@267"
45467
45985
  },
45468
45986
  "arguments": []
45469
45987
  },
45470
45988
  {
45471
45989
  "$type": "RuleCall",
45472
45990
  "rule": {
45473
- "$ref": "#/rules@232"
45991
+ "$ref": "#/rules@240"
45474
45992
  },
45475
45993
  "arguments": []
45476
45994
  }
@@ -45558,14 +46076,14 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
45558
46076
  {
45559
46077
  "$type": "RuleCall",
45560
46078
  "rule": {
45561
- "$ref": "#/rules@230"
46079
+ "$ref": "#/rules@238"
45562
46080
  },
45563
46081
  "arguments": []
45564
46082
  },
45565
46083
  {
45566
46084
  "$type": "RuleCall",
45567
46085
  "rule": {
45568
- "$ref": "#/rules@231"
46086
+ "$ref": "#/rules@239"
45569
46087
  },
45570
46088
  "arguments": []
45571
46089
  }
@@ -45636,7 +46154,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
45636
46154
  "definition": {
45637
46155
  "$type": "RuleCall",
45638
46156
  "rule": {
45639
- "$ref": "#/rules@233"
46157
+ "$ref": "#/rules@241"
45640
46158
  },
45641
46159
  "arguments": []
45642
46160
  },
@@ -45660,7 +46178,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
45660
46178
  {
45661
46179
  "$type": "RuleCall",
45662
46180
  "rule": {
45663
- "$ref": "#/rules@234"
46181
+ "$ref": "#/rules@242"
45664
46182
  },
45665
46183
  "arguments": []
45666
46184
  },
@@ -45701,7 +46219,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
45701
46219
  "terminal": {
45702
46220
  "$type": "RuleCall",
45703
46221
  "rule": {
45704
- "$ref": "#/rules@234"
46222
+ "$ref": "#/rules@242"
45705
46223
  },
45706
46224
  "arguments": []
45707
46225
  }
@@ -45731,7 +46249,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
45731
46249
  {
45732
46250
  "$type": "RuleCall",
45733
46251
  "rule": {
45734
- "$ref": "#/rules@235"
46252
+ "$ref": "#/rules@243"
45735
46253
  },
45736
46254
  "arguments": []
45737
46255
  },
@@ -45772,7 +46290,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
45772
46290
  "terminal": {
45773
46291
  "$type": "RuleCall",
45774
46292
  "rule": {
45775
- "$ref": "#/rules@235"
46293
+ "$ref": "#/rules@243"
45776
46294
  },
45777
46295
  "arguments": []
45778
46296
  }
@@ -45802,7 +46320,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
45802
46320
  {
45803
46321
  "$type": "RuleCall",
45804
46322
  "rule": {
45805
- "$ref": "#/rules@236"
46323
+ "$ref": "#/rules@244"
45806
46324
  },
45807
46325
  "arguments": []
45808
46326
  },
@@ -45843,7 +46361,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
45843
46361
  "terminal": {
45844
46362
  "$type": "RuleCall",
45845
46363
  "rule": {
45846
- "$ref": "#/rules@236"
46364
+ "$ref": "#/rules@244"
45847
46365
  },
45848
46366
  "arguments": []
45849
46367
  }
@@ -45873,7 +46391,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
45873
46391
  {
45874
46392
  "$type": "RuleCall",
45875
46393
  "rule": {
45876
- "$ref": "#/rules@237"
46394
+ "$ref": "#/rules@245"
45877
46395
  },
45878
46396
  "arguments": []
45879
46397
  },
@@ -45938,7 +46456,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
45938
46456
  "terminal": {
45939
46457
  "$type": "RuleCall",
45940
46458
  "rule": {
45941
- "$ref": "#/rules@237"
46459
+ "$ref": "#/rules@245"
45942
46460
  },
45943
46461
  "arguments": []
45944
46462
  }
@@ -45964,42 +46482,49 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
45964
46482
  {
45965
46483
  "$type": "RuleCall",
45966
46484
  "rule": {
45967
- "$ref": "#/rules@247"
46485
+ "$ref": "#/rules@255"
45968
46486
  },
45969
46487
  "arguments": []
45970
46488
  },
45971
46489
  {
45972
46490
  "$type": "RuleCall",
45973
46491
  "rule": {
45974
- "$ref": "#/rules@248"
46492
+ "$ref": "#/rules@190"
45975
46493
  },
45976
46494
  "arguments": []
45977
46495
  },
45978
46496
  {
45979
46497
  "$type": "RuleCall",
45980
46498
  "rule": {
45981
- "$ref": "#/rules@206"
46499
+ "$ref": "#/rules@256"
45982
46500
  },
45983
46501
  "arguments": []
45984
46502
  },
45985
46503
  {
45986
46504
  "$type": "RuleCall",
45987
46505
  "rule": {
45988
- "$ref": "#/rules@207"
46506
+ "$ref": "#/rules@208"
45989
46507
  },
45990
46508
  "arguments": []
45991
46509
  },
45992
46510
  {
45993
46511
  "$type": "RuleCall",
45994
46512
  "rule": {
45995
- "$ref": "#/rules@249"
46513
+ "$ref": "#/rules@215"
45996
46514
  },
45997
46515
  "arguments": []
45998
46516
  },
45999
46517
  {
46000
46518
  "$type": "RuleCall",
46001
46519
  "rule": {
46002
- "$ref": "#/rules@250"
46520
+ "$ref": "#/rules@257"
46521
+ },
46522
+ "arguments": []
46523
+ },
46524
+ {
46525
+ "$type": "RuleCall",
46526
+ "rule": {
46527
+ "$ref": "#/rules@258"
46003
46528
  },
46004
46529
  "arguments": []
46005
46530
  },
@@ -46013,14 +46538,14 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
46013
46538
  {
46014
46539
  "$type": "RuleCall",
46015
46540
  "rule": {
46016
- "$ref": "#/rules@198"
46541
+ "$ref": "#/rules@200"
46017
46542
  },
46018
46543
  "arguments": []
46019
46544
  },
46020
46545
  {
46021
46546
  "$type": "RuleCall",
46022
46547
  "rule": {
46023
- "$ref": "#/rules@202"
46548
+ "$ref": "#/rules@204"
46024
46549
  },
46025
46550
  "arguments": []
46026
46551
  },
@@ -46062,21 +46587,21 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
46062
46587
  {
46063
46588
  "$type": "RuleCall",
46064
46589
  "rule": {
46065
- "$ref": "#/rules@242"
46590
+ "$ref": "#/rules@250"
46066
46591
  },
46067
46592
  "arguments": []
46068
46593
  },
46069
46594
  {
46070
46595
  "$type": "RuleCall",
46071
46596
  "rule": {
46072
- "$ref": "#/rules@243"
46597
+ "$ref": "#/rules@251"
46073
46598
  },
46074
46599
  "arguments": []
46075
46600
  },
46076
46601
  {
46077
46602
  "$type": "RuleCall",
46078
46603
  "rule": {
46079
- "$ref": "#/rules@193"
46604
+ "$ref": "#/rules@195"
46080
46605
  },
46081
46606
  "arguments": []
46082
46607
  },
@@ -46090,14 +46615,14 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
46090
46615
  {
46091
46616
  "$type": "RuleCall",
46092
46617
  "rule": {
46093
- "$ref": "#/rules@220"
46618
+ "$ref": "#/rules@228"
46094
46619
  },
46095
46620
  "arguments": []
46096
46621
  },
46097
46622
  {
46098
46623
  "$type": "RuleCall",
46099
46624
  "rule": {
46100
- "$ref": "#/rules@218"
46625
+ "$ref": "#/rules@226"
46101
46626
  },
46102
46627
  "arguments": []
46103
46628
  }
@@ -46123,7 +46648,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
46123
46648
  "terminal": {
46124
46649
  "$type": "RuleCall",
46125
46650
  "rule": {
46126
- "$ref": "#/rules@232"
46651
+ "$ref": "#/rules@240"
46127
46652
  },
46128
46653
  "arguments": []
46129
46654
  }
@@ -46193,7 +46718,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
46193
46718
  "terminal": {
46194
46719
  "$type": "RuleCall",
46195
46720
  "rule": {
46196
- "$ref": "#/rules@232"
46721
+ "$ref": "#/rules@240"
46197
46722
  },
46198
46723
  "arguments": []
46199
46724
  }
@@ -46220,7 +46745,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
46220
46745
  "terminal": {
46221
46746
  "$type": "RuleCall",
46222
46747
  "rule": {
46223
- "$ref": "#/rules@232"
46748
+ "$ref": "#/rules@240"
46224
46749
  },
46225
46750
  "arguments": []
46226
46751
  }
@@ -46287,7 +46812,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
46287
46812
  "terminal": {
46288
46813
  "$type": "RuleCall",
46289
46814
  "rule": {
46290
- "$ref": "#/rules@257"
46815
+ "$ref": "#/rules@265"
46291
46816
  },
46292
46817
  "arguments": []
46293
46818
  },
@@ -46329,7 +46854,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
46329
46854
  "terminal": {
46330
46855
  "$type": "RuleCall",
46331
46856
  "rule": {
46332
- "$ref": "#/rules@257"
46857
+ "$ref": "#/rules@265"
46333
46858
  },
46334
46859
  "arguments": []
46335
46860
  },
@@ -46365,7 +46890,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
46365
46890
  "terminal": {
46366
46891
  "$type": "RuleCall",
46367
46892
  "rule": {
46368
- "$ref": "#/rules@232"
46893
+ "$ref": "#/rules@240"
46369
46894
  },
46370
46895
  "arguments": []
46371
46896
  }
@@ -46384,7 +46909,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
46384
46909
  "terminal": {
46385
46910
  "$type": "RuleCall",
46386
46911
  "rule": {
46387
- "$ref": "#/rules@232"
46912
+ "$ref": "#/rules@240"
46388
46913
  },
46389
46914
  "arguments": []
46390
46915
  }
@@ -46417,21 +46942,21 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
46417
46942
  {
46418
46943
  "$type": "RuleCall",
46419
46944
  "rule": {
46420
- "$ref": "#/rules@245"
46945
+ "$ref": "#/rules@253"
46421
46946
  },
46422
46947
  "arguments": []
46423
46948
  },
46424
46949
  {
46425
46950
  "$type": "RuleCall",
46426
46951
  "rule": {
46427
- "$ref": "#/rules@246"
46952
+ "$ref": "#/rules@254"
46428
46953
  },
46429
46954
  "arguments": []
46430
46955
  },
46431
46956
  {
46432
46957
  "$type": "RuleCall",
46433
46958
  "rule": {
46434
- "$ref": "#/rules@244"
46959
+ "$ref": "#/rules@252"
46435
46960
  },
46436
46961
  "arguments": []
46437
46962
  }
@@ -46527,7 +47052,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
46527
47052
  "terminal": {
46528
47053
  "$type": "RuleCall",
46529
47054
  "rule": {
46530
- "$ref": "#/rules@232"
47055
+ "$ref": "#/rules@240"
46531
47056
  },
46532
47057
  "arguments": []
46533
47058
  }
@@ -46584,7 +47109,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
46584
47109
  "terminal": {
46585
47110
  "$type": "RuleCall",
46586
47111
  "rule": {
46587
- "$ref": "#/rules@232"
47112
+ "$ref": "#/rules@240"
46588
47113
  },
46589
47114
  "arguments": []
46590
47115
  }
@@ -46603,7 +47128,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
46603
47128
  "terminal": {
46604
47129
  "$type": "RuleCall",
46605
47130
  "rule": {
46606
- "$ref": "#/rules@232"
47131
+ "$ref": "#/rules@240"
46607
47132
  },
46608
47133
  "arguments": []
46609
47134
  }
@@ -46637,35 +47162,35 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
46637
47162
  {
46638
47163
  "$type": "RuleCall",
46639
47164
  "rule": {
46640
- "$ref": "#/rules@259"
47165
+ "$ref": "#/rules@267"
46641
47166
  },
46642
47167
  "arguments": []
46643
47168
  },
46644
47169
  {
46645
47170
  "$type": "RuleCall",
46646
47171
  "rule": {
46647
- "$ref": "#/rules@260"
47172
+ "$ref": "#/rules@268"
46648
47173
  },
46649
47174
  "arguments": []
46650
47175
  },
46651
47176
  {
46652
47177
  "$type": "RuleCall",
46653
47178
  "rule": {
46654
- "$ref": "#/rules@256"
47179
+ "$ref": "#/rules@264"
46655
47180
  },
46656
47181
  "arguments": []
46657
47182
  },
46658
47183
  {
46659
47184
  "$type": "RuleCall",
46660
47185
  "rule": {
46661
- "$ref": "#/rules@253"
47186
+ "$ref": "#/rules@261"
46662
47187
  },
46663
47188
  "arguments": []
46664
47189
  },
46665
47190
  {
46666
47191
  "$type": "RuleCall",
46667
47192
  "rule": {
46668
- "$ref": "#/rules@255"
47193
+ "$ref": "#/rules@263"
46669
47194
  },
46670
47195
  "arguments": []
46671
47196
  }
@@ -46697,7 +47222,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
46697
47222
  "terminal": {
46698
47223
  "$type": "RuleCall",
46699
47224
  "rule": {
46700
- "$ref": "#/rules@257"
47225
+ "$ref": "#/rules@265"
46701
47226
  },
46702
47227
  "arguments": []
46703
47228
  },
@@ -46742,10 +47267,14 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
46742
47267
  "$type": "Keyword",
46743
47268
  "value": "Effects"
46744
47269
  },
47270
+ {
47271
+ "$type": "Keyword",
47272
+ "value": "dice"
47273
+ },
46745
47274
  {
46746
47275
  "$type": "RuleCall",
46747
47276
  "rule": {
46748
- "$ref": "#/rules@257"
47277
+ "$ref": "#/rules@265"
46749
47278
  },
46750
47279
  "arguments": []
46751
47280
  }
@@ -46781,7 +47310,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
46781
47310
  "terminal": {
46782
47311
  "$type": "RuleCall",
46783
47312
  "rule": {
46784
- "$ref": "#/rules@232"
47313
+ "$ref": "#/rules@240"
46785
47314
  },
46786
47315
  "arguments": []
46787
47316
  }
@@ -46825,7 +47354,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
46825
47354
  "terminal": {
46826
47355
  "$type": "RuleCall",
46827
47356
  "rule": {
46828
- "$ref": "#/rules@232"
47357
+ "$ref": "#/rules@240"
46829
47358
  },
46830
47359
  "arguments": []
46831
47360
  }
@@ -46849,7 +47378,7 @@ var IntelligentSystemDesignLanguageGrammar = () => loadedIntelligentSystemDesign
46849
47378
  "terminal": {
46850
47379
  "$type": "RuleCall",
46851
47380
  "rule": {
46852
- "$ref": "#/rules@257"
47381
+ "$ref": "#/rules@265"
46853
47382
  },
46854
47383
  "arguments": []
46855
47384
  }
@@ -47284,7 +47813,10 @@ function registerValidationChecks(services) {
47284
47813
  Prompt: validator.validatePrompt,
47285
47814
  RollVisualizerField: validator.validateRollVisualizerField,
47286
47815
  PromptInputAccess: validator.validatePromptInputAccess,
47287
- FunctionCall: validator.validateDerivedFunctionCall
47816
+ FunctionCall: validator.validateDerivedFunctionCall,
47817
+ Ref: validator.validateRollAccessorRef,
47818
+ FleetingAccess: validator.validateRollAccessorFleeting,
47819
+ RollResultAccess: validator.validateRollResultAccess
47288
47820
  };
47289
47821
  registry.register(checks, validator);
47290
47822
  }
@@ -47358,6 +47890,40 @@ var IntelligentSystemDesignLanguageValidator = class {
47358
47890
  accept("error", "'input.' references are currently only supported inside a rollVisualizer's value.", { node: access });
47359
47891
  }
47360
47892
  }
47893
+ // Property-style roll accessors (r.crit, r.fumble, r.successes, r.highest, r.lowest, r.dice)
47894
+ // parse as a Ref/FleetingAccess against a roll variable. Validate the accessor name and that
47895
+ // detection accessors have their matching roll parameter. (count/contains are RollResultAccess.)
47896
+ validateRollAccessorRef(ref, accept) {
47897
+ var _a;
47898
+ const target = ref.val.ref;
47899
+ if (!isVariableExpression(target) || !isRoll(target.value))
47900
+ return;
47901
+ this.checkRollAccessor(target.value, target.name, (_a = ref.subProperties) == null ? void 0 : _a[0], ref, accept);
47902
+ }
47903
+ validateRollAccessorFleeting(access, accept) {
47904
+ const target = access.variable.ref;
47905
+ if (!isVariableExpression(target) || !isRoll(target.value))
47906
+ return;
47907
+ this.checkRollAccessor(target.value, target.name, access.subProperty, access, accept);
47908
+ }
47909
+ checkRollAccessor(roll, name, accessor, node, accept) {
47910
+ if (!accessor)
47911
+ return;
47912
+ if (accessor.toLowerCase() === "successes" && !roll.params.some(isSuccessParam)) {
47913
+ accept("error", `'.successes' requires a 'success:' parameter on roll '${name}'.`, { node });
47914
+ }
47915
+ }
47916
+ // Method-style roll accessors: r.count(...) / r.contains(...). Only valid on roll variables.
47917
+ validateRollResultAccess(access, accept) {
47918
+ const target = access.variable.ref;
47919
+ if (target && !isRoll(target.value)) {
47920
+ accept("error", `Roll method '.${access.method}(...)' is only valid on roll variables.`, { node: access });
47921
+ return;
47922
+ }
47923
+ if (access.method !== "count" && access.method !== "contains") {
47924
+ accept("error", `Unknown roll method '${access.method}'. Valid methods: count, contains.`, { node: access });
47925
+ }
47926
+ }
47361
47927
  validateEntry(entry, accept) {
47362
47928
  if (!entry.config) {
47363
47929
  accept("error", "Entry requires a config.", { node: entry, property: "config" });
@@ -48043,6 +48609,10 @@ var IsdlScopeProvider = class extends DefaultScopeProvider {
48043
48609
  if (functionDefinition != void 0) {
48044
48610
  additionalDescriptions.push(...functionDefinition.params.map((a2) => this.astNodeDescriptionProvider.createDescription(a2, a2.param.name)));
48045
48611
  }
48612
+ const predicateArg = ast_utils_exports.getContainerOfType(context.container, isRollPredicateArg);
48613
+ if ((predicateArg == null ? void 0 : predicateArg.param) != void 0) {
48614
+ additionalDescriptions.push(this.astNodeDescriptionProvider.createDescription(predicateArg.param, predicateArg.param.name));
48615
+ }
48046
48616
  additionalDescriptions.push(...scope.getAllElements().toArray());
48047
48617
  return new MapScope(additionalDescriptions);
48048
48618
  }