tree-sitter-epics-cmd 0.1.5

tree-sitter grammar for EPICS' .cmd files
Documentation
[
  {
    "type": "argument",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "string",
          "named": true
        },
        {
          "type": "word",
          "named": true
        }
      ]
    }
  },
  {
    "type": "command",
    "named": true,
    "fields": {
      "name": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "command_name",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "argument",
          "named": true
        },
        {
          "type": "redirect",
          "named": true
        }
      ]
    }
  },
  {
    "type": "command_name",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "string",
          "named": true
        },
        {
          "type": "word",
          "named": true
        }
      ]
    }
  },
  {
    "type": "comment",
    "named": true,
    "fields": {}
  },
  {
    "type": "escape_sequence",
    "named": true,
    "fields": {}
  },
  {
    "type": "macro_expansion",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "macro_expansion",
          "named": true
        }
      ]
    }
  },
  {
    "type": "path",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "string",
          "named": true
        },
        {
          "type": "word",
          "named": true
        }
      ]
    }
  },
  {
    "type": "redirect",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "file_descriptor",
          "named": true
        },
        {
          "type": "path",
          "named": true
        }
      ]
    }
  },
  {
    "type": "source",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "path",
          "named": true
        }
      ]
    }
  },
  {
    "type": "source_file",
    "named": true,
    "root": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "command",
          "named": true
        },
        {
          "type": "comment",
          "named": true
        },
        {
          "type": "source",
          "named": true
        }
      ]
    }
  },
  {
    "type": "string",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "escape_sequence",
          "named": true
        }
      ]
    }
  },
  {
    "type": "\n",
    "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": "\\",
    "named": false
  },
  {
    "type": "\\\"",
    "named": false
  },
  {
    "type": "\\'",
    "named": false
  },
  {
    "type": "\\\\",
    "named": false
  },
  {
    "type": "file_descriptor",
    "named": true
  },
  {
    "type": "word",
    "named": true
  },
  {
    "type": "}",
    "named": false
  }
]