[
  {
    "type": "action_attributes",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "attribute_entry",
          "named": true
        }
      ]
    }
  },
  {
    "type": "action_declaration",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "action_attributes",
          "named": true
        },
        {
          "type": "action_name_list",
          "named": true
        },
        {
          "type": "action_parents",
          "named": true
        },
        {
          "type": "annotation",
          "named": true
        },
        {
          "type": "applies_to",
          "named": true
        }
      ]
    }
  },
  {
    "type": "action_name_list",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "identifier",
          "named": true
        },
        {
          "type": "string",
          "named": true
        }
      ]
    }
  },
  {
    "type": "action_parents",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "qualified_name_list",
          "named": true
        }
      ]
    }
  },
  {
    "type": "annotation",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "identifier",
          "named": true
        },
        {
          "type": "string",
          "named": true
        }
      ]
    }
  },
  {
    "type": "applies_to",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "context_type",
          "named": true
        },
        {
          "type": "principal_types",
          "named": true
        },
        {
          "type": "resource_types",
          "named": true
        }
      ]
    }
  },
  {
    "type": "attribute_declaration",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "annotation",
          "named": true
        },
        {
          "type": "identifier",
          "named": true
        },
        {
          "type": "name",
          "named": true
        },
        {
          "type": "primitive_type",
          "named": true
        },
        {
          "type": "record_type",
          "named": true
        },
        {
          "type": "set_type",
          "named": true
        },
        {
          "type": "string",
          "named": true
        }
      ]
    }
  },
  {
    "type": "attribute_entry",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "false",
          "named": true
        },
        {
          "type": "identifier",
          "named": true
        },
        {
          "type": "integer",
          "named": true
        },
        {
          "type": "string",
          "named": true
        },
        {
          "type": "true",
          "named": true
        }
      ]
    }
  },
  {
    "type": "common_type_declaration",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "annotation",
          "named": true
        },
        {
          "type": "identifier",
          "named": true
        },
        {
          "type": "name",
          "named": true
        },
        {
          "type": "primitive_type",
          "named": true
        },
        {
          "type": "record_type",
          "named": true
        },
        {
          "type": "set_type",
          "named": true
        }
      ]
    }
  },
  {
    "type": "context_type",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "name",
          "named": true
        },
        {
          "type": "record_type",
          "named": true
        }
      ]
    }
  },
  {
    "type": "entity_declaration",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "annotation",
          "named": true
        },
        {
          "type": "entity_parents",
          "named": true
        },
        {
          "type": "entity_tags",
          "named": true
        },
        {
          "type": "enum_type",
          "named": true
        },
        {
          "type": "identifier_list",
          "named": true
        },
        {
          "type": "record_type",
          "named": true
        }
      ]
    }
  },
  {
    "type": "entity_parents",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "type_list",
          "named": true
        }
      ]
    }
  },
  {
    "type": "entity_tags",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "name",
          "named": true
        },
        {
          "type": "primitive_type",
          "named": true
        },
        {
          "type": "record_type",
          "named": true
        },
        {
          "type": "set_type",
          "named": true
        }
      ]
    }
  },
  {
    "type": "enum_type",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "string",
          "named": true
        }
      ]
    }
  },
  {
    "type": "identifier_list",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "identifier",
          "named": true
        }
      ]
    }
  },
  {
    "type": "name",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "identifier",
          "named": true
        }
      ]
    }
  },
  {
    "type": "namespace",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "action_declaration",
          "named": true
        },
        {
          "type": "annotation",
          "named": true
        },
        {
          "type": "common_type_declaration",
          "named": true
        },
        {
          "type": "entity_declaration",
          "named": true
        },
        {
          "type": "name",
          "named": true
        },
        {
          "type": "namespace",
          "named": true
        }
      ]
    }
  },
  {
    "type": "primitive_type",
    "named": true,
    "fields": {}
  },
  {
    "type": "principal_types",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "type_list",
          "named": true
        }
      ]
    }
  },
  {
    "type": "qualified_name",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "identifier",
          "named": true
        },
        {
          "type": "string",
          "named": true
        }
      ]
    }
  },
  {
    "type": "qualified_name_list",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "qualified_name",
          "named": true
        }
      ]
    }
  },
  {
    "type": "record_type",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "attribute_declaration",
          "named": true
        }
      ]
    }
  },
  {
    "type": "resource_types",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "type_list",
          "named": true
        }
      ]
    }
  },
  {
    "type": "schema",
    "named": true,
    "root": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "action_declaration",
          "named": true
        },
        {
          "type": "common_type_declaration",
          "named": true
        },
        {
          "type": "entity_declaration",
          "named": true
        },
        {
          "type": "namespace",
          "named": true
        }
      ]
    }
  },
  {
    "type": "set_type",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "name",
          "named": true
        },
        {
          "type": "primitive_type",
          "named": true
        },
        {
          "type": "record_type",
          "named": true
        },
        {
          "type": "set_type",
          "named": true
        }
      ]
    }
  },
  {
    "type": "string",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "escape_sequence",
          "named": true
        },
        {
          "type": "string_content",
          "named": true
        }
      ]
    }
  },
  {
    "type": "type_list",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "name",
          "named": true
        }
      ]
    }
  },
  {
    "type": "\"",
    "named": false
  },
  {
    "type": "(",
    "named": false
  },
  {
    "type": ")",
    "named": false
  },
  {
    "type": ",",
    "named": false
  },
  {
    "type": ":",
    "named": false
  },
  {
    "type": "::",
    "named": false
  },
  {
    "type": ";",
    "named": false
  },
  {
    "type": "<",
    "named": false
  },
  {
    "type": "=",
    "named": false
  },
  {
    "type": ">",
    "named": false
  },
  {
    "type": "?",
    "named": false
  },
  {
    "type": "@",
    "named": false
  },
  {
    "type": "Bool",
    "named": false
  },
  {
    "type": "Long",
    "named": false
  },
  {
    "type": "Set",
    "named": false
  },
  {
    "type": "String",
    "named": false
  },
  {
    "type": "[",
    "named": false
  },
  {
    "type": "]",
    "named": false
  },
  {
    "type": "action",
    "named": false
  },
  {
    "type": "appliesTo",
    "named": false
  },
  {
    "type": "attributes",
    "named": false
  },
  {
    "type": "comment",
    "named": true,
    "extra": true
  },
  {
    "type": "context",
    "named": false
  },
  {
    "type": "entity",
    "named": false
  },
  {
    "type": "enum",
    "named": false
  },
  {
    "type": "escape_sequence",
    "named": true
  },
  {
    "type": "false",
    "named": true
  },
  {
    "type": "identifier",
    "named": true
  },
  {
    "type": "in",
    "named": false
  },
  {
    "type": "integer",
    "named": true
  },
  {
    "type": "namespace",
    "named": false
  },
  {
    "type": "principal",
    "named": false
  },
  {
    "type": "resource",
    "named": false
  },
  {
    "type": "string_content",
    "named": true
  },
  {
    "type": "tags",
    "named": false
  },
  {
    "type": "true",
    "named": true
  },
  {
    "type": "type",
    "named": false
  },
  {
    "type": "{",
    "named": false
  },
  {
    "type": "}",
    "named": false
  }
]