{
  "$schema": "https://tree-sitter.github.io/tree-sitter/assets/schemas/grammar.schema.json",
  "name": "fish",
  "word": "word",
  "rules": {
    "program": {
      "type": "REPEAT",
      "content": {
        "type": "SEQ",
        "members": [
          {
            "type": "CHOICE",
            "members": [
              {
                "type": "SYMBOL",
                "name": "_statement"
              },
              {
                "type": "BLANK"
              }
            ]
          },
          {
            "type": "SYMBOL",
            "name": "_terminator"
          }
        ]
      }
    },
    "conditional_execution": {
      "type": "CHOICE",
      "members": [
        {
          "type": "PREC_RIGHT",
          "value": -1,
          "content": {
            "type": "SEQ",
            "members": [
              {
                "type": "CHOICE",
                "members": [
                  {
                    "type": "STRING",
                    "value": "and"
                  },
                  {
                    "type": "STRING",
                    "value": "or"
                  }
                ]
              },
              {
                "type": "SYMBOL",
                "name": "_statement"
              }
            ]
          }
        },
        {
          "type": "PREC_RIGHT",
          "value": -1,
          "content": {
            "type": "SEQ",
            "members": [
              {
                "type": "SYMBOL",
                "name": "_statement"
              },
              {
                "type": "CHOICE",
                "members": [
                  {
                    "type": "STRING",
                    "value": "||"
                  },
                  {
                    "type": "STRING",
                    "value": "&&"
                  }
                ]
              },
              {
                "type": "SYMBOL",
                "name": "_statement"
              }
            ]
          }
        }
      ]
    },
    "pipe": {
      "type": "PREC_LEFT",
      "value": 0,
      "content": {
        "type": "SEQ",
        "members": [
          {
            "type": "SYMBOL",
            "name": "_statement"
          },
          {
            "type": "CHOICE",
            "members": [
              {
                "type": "STRING",
                "value": "&|"
              },
              {
                "type": "STRING",
                "value": "2>|"
              },
              {
                "type": "STRING",
                "value": "|"
              }
            ]
          },
          {
            "type": "SYMBOL",
            "name": "_statement"
          }
        ]
      }
    },
    "redirect_statement": {
      "type": "SEQ",
      "members": [
        {
          "type": "SYMBOL",
          "name": "_statement"
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "file_redirect"
            },
            {
              "type": "SYMBOL",
              "name": "stream_redirect"
            }
          ]
        }
      ]
    },
    "_terminator": {
      "type": "CHOICE",
      "members": [
        {
          "type": "STRING",
          "value": ";"
        },
        {
          "type": "STRING",
          "value": "&"
        },
        {
          "type": "STRING",
          "value": "\n"
        },
        {
          "type": "STRING",
          "value": "\r"
        },
        {
          "type": "STRING",
          "value": "\r\n"
        }
      ]
    },
    "_statement": {
      "type": "CHOICE",
      "members": [
        {
          "type": "SYMBOL",
          "name": "conditional_execution"
        },
        {
          "type": "SYMBOL",
          "name": "pipe"
        },
        {
          "type": "SYMBOL",
          "name": "command"
        },
        {
          "type": "SYMBOL",
          "name": "redirect_statement"
        },
        {
          "type": "SYMBOL",
          "name": "begin_statement"
        },
        {
          "type": "SYMBOL",
          "name": "if_statement"
        },
        {
          "type": "SYMBOL",
          "name": "while_statement"
        },
        {
          "type": "SYMBOL",
          "name": "for_statement"
        },
        {
          "type": "SYMBOL",
          "name": "switch_statement"
        },
        {
          "type": "SYMBOL",
          "name": "function_definition"
        },
        {
          "type": "SYMBOL",
          "name": "break"
        },
        {
          "type": "SYMBOL",
          "name": "continue"
        },
        {
          "type": "SYMBOL",
          "name": "return"
        },
        {
          "type": "SYMBOL",
          "name": "negated_statement"
        }
      ]
    },
    "_terminated_statement": {
      "type": "SEQ",
      "members": [
        {
          "type": "SYMBOL",
          "name": "_statement"
        },
        {
          "type": "SYMBOL",
          "name": "_terminator"
        }
      ]
    },
    "_terminated_opt_statement": {
      "type": "SEQ",
      "members": [
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "_statement"
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "SYMBOL",
          "name": "_terminator"
        }
      ]
    },
    "negated_statement": {
      "type": "PREC_LEFT",
      "value": -1,
      "content": {
        "type": "SEQ",
        "members": [
          {
            "type": "CHOICE",
            "members": [
              {
                "type": "STRING",
                "value": "!"
              },
              {
                "type": "STRING",
                "value": "not"
              }
            ]
          },
          {
            "type": "SYMBOL",
            "name": "_statement"
          }
        ]
      }
    },
    "command_substitution": {
      "type": "SEQ",
      "members": [
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "STRING",
              "value": "$"
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "STRING",
          "value": "("
        },
        {
          "type": "REPEAT",
          "content": {
            "type": "SEQ",
            "members": [
              {
                "type": "CHOICE",
                "members": [
                  {
                    "type": "SYMBOL",
                    "name": "_statement"
                  },
                  {
                    "type": "BLANK"
                  }
                ]
              },
              {
                "type": "SYMBOL",
                "name": "_terminator"
              }
            ]
          }
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "_statement"
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "STRING",
          "value": ")"
        }
      ]
    },
    "function_definition": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "function"
        },
        {
          "type": "FIELD",
          "name": "name",
          "content": {
            "type": "SYMBOL",
            "name": "_expression"
          }
        },
        {
          "type": "REPEAT",
          "content": {
            "type": "FIELD",
            "name": "option",
            "content": {
              "type": "SYMBOL",
              "name": "_expression"
            }
          }
        },
        {
          "type": "SYMBOL",
          "name": "_terminator"
        },
        {
          "type": "REPEAT",
          "content": {
            "type": "SYMBOL",
            "name": "_terminated_statement"
          }
        },
        {
          "type": "STRING",
          "value": "end"
        }
      ]
    },
    "integer": {
      "type": "PATTERN",
      "value": "(-|\\+)?\\d+"
    },
    "float": {
      "type": "PATTERN",
      "value": "(-|\\+)?\\d+\\.\\d+"
    },
    "return": {
      "type": "PREC_LEFT",
      "value": 0,
      "content": {
        "type": "SEQ",
        "members": [
          {
            "type": "STRING",
            "value": "return"
          },
          {
            "type": "CHOICE",
            "members": [
              {
                "type": "SYMBOL",
                "name": "_expression"
              },
              {
                "type": "BLANK"
              }
            ]
          }
        ]
      }
    },
    "switch_statement": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "switch"
        },
        {
          "type": "FIELD",
          "name": "value",
          "content": {
            "type": "SYMBOL",
            "name": "_expression"
          }
        },
        {
          "type": "SYMBOL",
          "name": "_terminator"
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "REPEAT1",
              "content": {
                "type": "SYMBOL",
                "name": "case_clause"
              }
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "STRING",
          "value": "end"
        }
      ]
    },
    "case_clause": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "case"
        },
        {
          "type": "REPEAT1",
          "content": {
            "type": "SYMBOL",
            "name": "_expression"
          }
        },
        {
          "type": "SYMBOL",
          "name": "_terminator"
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "REPEAT1",
              "content": {
                "type": "SYMBOL",
                "name": "_terminated_statement"
              }
            },
            {
              "type": "BLANK"
            }
          ]
        }
      ]
    },
    "break": {
      "type": "STRING",
      "value": "break"
    },
    "continue": {
      "type": "STRING",
      "value": "continue"
    },
    "for_statement": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "for"
        },
        {
          "type": "FIELD",
          "name": "variable",
          "content": {
            "type": "SYMBOL",
            "name": "variable_name"
          }
        },
        {
          "type": "STRING",
          "value": "in"
        },
        {
          "type": "REPEAT1",
          "content": {
            "type": "FIELD",
            "name": "value",
            "content": {
              "type": "SYMBOL",
              "name": "_expression"
            }
          }
        },
        {
          "type": "SYMBOL",
          "name": "_terminator"
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "REPEAT1",
              "content": {
                "type": "SYMBOL",
                "name": "_terminated_statement"
              }
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "STRING",
          "value": "end"
        }
      ]
    },
    "while_statement": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "while"
        },
        {
          "type": "FIELD",
          "name": "condition",
          "content": {
            "type": "SYMBOL",
            "name": "_terminated_statement"
          }
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "REPEAT1",
              "content": {
                "type": "SYMBOL",
                "name": "_terminated_opt_statement"
              }
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "STRING",
          "value": "end"
        }
      ]
    },
    "if_statement": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "if"
        },
        {
          "type": "FIELD",
          "name": "condition",
          "content": {
            "type": "SYMBOL",
            "name": "_terminated_statement"
          }
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "REPEAT1",
              "content": {
                "type": "SYMBOL",
                "name": "_terminated_opt_statement"
              }
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "REPEAT",
          "content": {
            "type": "SYMBOL",
            "name": "else_if_clause"
          }
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "else_clause"
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "STRING",
          "value": "end"
        }
      ]
    },
    "else_if_clause": {
      "type": "SEQ",
      "members": [
        {
          "type": "SEQ",
          "members": [
            {
              "type": "STRING",
              "value": "else"
            },
            {
              "type": "STRING",
              "value": "if"
            }
          ]
        },
        {
          "type": "FIELD",
          "name": "condition",
          "content": {
            "type": "SYMBOL",
            "name": "_terminated_statement"
          }
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "REPEAT1",
              "content": {
                "type": "SYMBOL",
                "name": "_terminated_opt_statement"
              }
            },
            {
              "type": "BLANK"
            }
          ]
        }
      ]
    },
    "else_clause": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "else"
        },
        {
          "type": "SYMBOL",
          "name": "_terminator"
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "REPEAT1",
              "content": {
                "type": "SYMBOL",
                "name": "_terminated_opt_statement"
              }
            },
            {
              "type": "BLANK"
            }
          ]
        }
      ]
    },
    "begin_statement": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "begin"
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "REPEAT1",
              "content": {
                "type": "SYMBOL",
                "name": "_terminated_opt_statement"
              }
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "STRING",
          "value": "end"
        }
      ]
    },
    "comment": {
      "type": "TOKEN",
      "content": {
        "type": "PREC",
        "value": -11,
        "content": {
          "type": "PATTERN",
          "value": "#.*"
        }
      }
    },
    "variable_name": {
      "type": "PATTERN",
      "value": "[a-zA-Z0-9_]+"
    },
    "variable_expansion": {
      "type": "PREC_LEFT",
      "value": 0,
      "content": {
        "type": "SEQ",
        "members": [
          {
            "type": "STRING",
            "value": "$"
          },
          {
            "type": "CHOICE",
            "members": [
              {
                "type": "SYMBOL",
                "name": "variable_name"
              },
              {
                "type": "SYMBOL",
                "name": "variable_expansion"
              }
            ]
          },
          {
            "type": "REPEAT",
            "content": {
              "type": "SEQ",
              "members": [
                {
                  "type": "SYMBOL",
                  "name": "_concat_list"
                },
                {
                  "type": "SYMBOL",
                  "name": "list_element_access"
                }
              ]
            }
          }
        ]
      }
    },
    "index": {
      "type": "CHOICE",
      "members": [
        {
          "type": "SYMBOL",
          "name": "integer"
        },
        {
          "type": "SYMBOL",
          "name": "single_quote_string"
        },
        {
          "type": "SYMBOL",
          "name": "variable_expansion"
        },
        {
          "type": "SYMBOL",
          "name": "double_quote_string"
        },
        {
          "type": "SYMBOL",
          "name": "command_substitution"
        }
      ]
    },
    "range": {
      "type": "PREC_RIGHT",
      "value": 2,
      "content": {
        "type": "SEQ",
        "members": [
          {
            "type": "CHOICE",
            "members": [
              {
                "type": "SYMBOL",
                "name": "index"
              },
              {
                "type": "BLANK"
              }
            ]
          },
          {
            "type": "STRING",
            "value": ".."
          },
          {
            "type": "CHOICE",
            "members": [
              {
                "type": "SYMBOL",
                "name": "index"
              },
              {
                "type": "BLANK"
              }
            ]
          }
        ]
      }
    },
    "list_element_access": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "["
        },
        {
          "type": "REPEAT",
          "content": {
            "type": "CHOICE",
            "members": [
              {
                "type": "SYMBOL",
                "name": "index"
              },
              {
                "type": "SYMBOL",
                "name": "range"
              }
            ]
          }
        },
        {
          "type": "STRING",
          "value": "]"
        }
      ]
    },
    "brace_expansion": {
      "type": "PREC_RIGHT",
      "value": 0,
      "content": {
        "type": "SEQ",
        "members": [
          {
            "type": "STRING",
            "value": "{"
          },
          {
            "type": "SEQ",
            "members": [
              {
                "type": "CHOICE",
                "members": [
                  {
                    "type": "SYMBOL",
                    "name": "_brace_expression"
                  },
                  {
                    "type": "BLANK"
                  }
                ]
              },
              {
                "type": "REPEAT",
                "content": {
                  "type": "SEQ",
                  "members": [
                    {
                      "type": "STRING",
                      "value": ","
                    },
                    {
                      "type": "CHOICE",
                      "members": [
                        {
                          "type": "SYMBOL",
                          "name": "_brace_expression"
                        },
                        {
                          "type": "BLANK"
                        }
                      ]
                    }
                  ]
                }
              }
            ]
          },
          {
            "type": "STRING",
            "value": "}"
          }
        ]
      }
    },
    "double_quote_string": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "\""
        },
        {
          "type": "REPEAT",
          "content": {
            "type": "CHOICE",
            "members": [
              {
                "type": "PATTERN",
                "value": "[^\\$\\\\\"]+"
              },
              {
                "type": "SYMBOL",
                "name": "variable_expansion"
              },
              {
                "type": "SYMBOL",
                "name": "escape_sequence"
              },
              {
                "type": "SYMBOL",
                "name": "command_substitution"
              }
            ]
          }
        },
        {
          "type": "STRING",
          "value": "\""
        }
      ]
    },
    "single_quote_string": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "'"
        },
        {
          "type": "REPEAT",
          "content": {
            "type": "CHOICE",
            "members": [
              {
                "type": "PATTERN",
                "value": "[^'\\\\]+"
              },
              {
                "type": "SYMBOL",
                "name": "escape_sequence"
              }
            ]
          }
        },
        {
          "type": "STRING",
          "value": "'"
        }
      ]
    },
    "escape_sequence": {
      "type": "TOKEN",
      "content": {
        "type": "SEQ",
        "members": [
          {
            "type": "STRING",
            "value": "\\"
          },
          {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "CHOICE",
              "members": [
                {
                  "type": "PATTERN",
                  "value": "[^xXuUc]"
                },
                {
                  "type": "PATTERN",
                  "value": "[0-7]{1,3}"
                },
                {
                  "type": "PATTERN",
                  "value": "x[0-9a-fA-F]{0,2}"
                },
                {
                  "type": "PATTERN",
                  "value": "X[0-9a-fA-F]{0,2}"
                },
                {
                  "type": "PATTERN",
                  "value": "u[0-9a-fA-F]{0,4}"
                },
                {
                  "type": "PATTERN",
                  "value": "U[0-9a-fA-F]{0,8}"
                },
                {
                  "type": "PATTERN",
                  "value": "c[a-zA-Z]?"
                }
              ]
            }
          }
        ]
      }
    },
    "command": {
      "type": "PREC_RIGHT",
      "value": 0,
      "content": {
        "type": "SEQ",
        "members": [
          {
            "type": "FIELD",
            "name": "name",
            "content": {
              "type": "SYMBOL",
              "name": "_expression"
            }
          },
          {
            "type": "REPEAT",
            "content": {
              "type": "CHOICE",
              "members": [
                {
                  "type": "FIELD",
                  "name": "redirect",
                  "content": {
                    "type": "CHOICE",
                    "members": [
                      {
                        "type": "SYMBOL",
                        "name": "file_redirect"
                      },
                      {
                        "type": "SYMBOL",
                        "name": "stream_redirect"
                      }
                    ]
                  }
                },
                {
                  "type": "FIELD",
                  "name": "argument",
                  "content": {
                    "type": "SYMBOL",
                    "name": "_expression"
                  }
                }
              ]
            }
          }
        ]
      }
    },
    "stream_redirect": {
      "type": "PATTERN",
      "value": "\\d*(>>|>|<)&[012-]"
    },
    "direction": {
      "type": "PATTERN",
      "value": "(\\d*|&)(>>?\\??|<)"
    },
    "file_redirect": {
      "type": "SEQ",
      "members": [
        {
          "type": "FIELD",
          "name": "operator",
          "content": {
            "type": "SYMBOL",
            "name": "direction"
          }
        },
        {
          "type": "FIELD",
          "name": "destination",
          "content": {
            "type": "SYMBOL",
            "name": "_expression"
          }
        }
      ]
    },
    "_special_character": {
      "type": "CHOICE",
      "members": [
        {
          "type": "STRING",
          "value": "["
        },
        {
          "type": "STRING",
          "value": "]"
        }
      ]
    },
    "concatenation": {
      "type": "SEQ",
      "members": [
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "_base_expression"
            },
            {
              "type": "SYMBOL",
              "name": "_special_character"
            }
          ]
        },
        {
          "type": "REPEAT1",
          "content": {
            "type": "SEQ",
            "members": [
              {
                "type": "SYMBOL",
                "name": "_concat"
              },
              {
                "type": "CHOICE",
                "members": [
                  {
                    "type": "SYMBOL",
                    "name": "_base_expression"
                  },
                  {
                    "type": "SYMBOL",
                    "name": "_special_character"
                  },
                  {
                    "type": "STRING",
                    "value": "#"
                  }
                ]
              }
            ]
          }
        }
      ]
    },
    "_expression": {
      "type": "CHOICE",
      "members": [
        {
          "type": "SYMBOL",
          "name": "_base_expression"
        },
        {
          "type": "SYMBOL",
          "name": "concatenation"
        },
        {
          "type": "ALIAS",
          "content": {
            "type": "SYMBOL",
            "name": "_special_character"
          },
          "named": true,
          "value": "word"
        }
      ]
    },
    "_base_expression": {
      "type": "CHOICE",
      "members": [
        {
          "type": "SYMBOL",
          "name": "command_substitution"
        },
        {
          "type": "SYMBOL",
          "name": "single_quote_string"
        },
        {
          "type": "SYMBOL",
          "name": "double_quote_string"
        },
        {
          "type": "SYMBOL",
          "name": "variable_expansion"
        },
        {
          "type": "SYMBOL",
          "name": "word"
        },
        {
          "type": "SYMBOL",
          "name": "integer"
        },
        {
          "type": "SYMBOL",
          "name": "float"
        },
        {
          "type": "SYMBOL",
          "name": "brace_expansion"
        },
        {
          "type": "SYMBOL",
          "name": "escape_sequence"
        },
        {
          "type": "SYMBOL",
          "name": "glob"
        },
        {
          "type": "SYMBOL",
          "name": "home_dir_expansion"
        }
      ]
    },
    "brace_concatenation": {
      "type": "SEQ",
      "members": [
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "_base_brace_expression"
            },
            {
              "type": "SYMBOL",
              "name": "brace_expansion"
            }
          ]
        },
        {
          "type": "REPEAT1",
          "content": {
            "type": "SEQ",
            "members": [
              {
                "type": "SYMBOL",
                "name": "_brace_concat"
              },
              {
                "type": "CHOICE",
                "members": [
                  {
                    "type": "SYMBOL",
                    "name": "_base_brace_expression"
                  },
                  {
                    "type": "SYMBOL",
                    "name": "brace_expansion"
                  }
                ]
              }
            ]
          }
        }
      ]
    },
    "_brace_expression": {
      "type": "CHOICE",
      "members": [
        {
          "type": "ALIAS",
          "content": {
            "type": "SYMBOL",
            "name": "brace_concatenation"
          },
          "named": true,
          "value": "concatenation"
        },
        {
          "type": "SYMBOL",
          "name": "_base_brace_expression"
        },
        {
          "type": "SYMBOL",
          "name": "brace_expansion"
        }
      ]
    },
    "_base_brace_expression": {
      "type": "CHOICE",
      "members": [
        {
          "type": "SYMBOL",
          "name": "command_substitution"
        },
        {
          "type": "SYMBOL",
          "name": "single_quote_string"
        },
        {
          "type": "SYMBOL",
          "name": "double_quote_string"
        },
        {
          "type": "SYMBOL",
          "name": "variable_expansion"
        },
        {
          "type": "ALIAS",
          "content": {
            "type": "SYMBOL",
            "name": "brace_word"
          },
          "named": true,
          "value": "word"
        },
        {
          "type": "SYMBOL",
          "name": "integer"
        },
        {
          "type": "SYMBOL",
          "name": "float"
        },
        {
          "type": "SYMBOL",
          "name": "escape_sequence"
        },
        {
          "type": "SYMBOL",
          "name": "glob"
        }
      ]
    },
    "home_dir_expansion": {
      "type": "STRING",
      "value": "~"
    },
    "glob": {
      "type": "TOKEN",
      "content": {
        "type": "REPEAT1",
        "content": {
          "type": "STRING",
          "value": "*"
        }
      }
    },
    "word": {
      "type": "PATTERN",
      "value": "[^\\$\\*~#\\(\\)\\{\\}\\[\\]<>\"'&\\|;\\\\\\s][^\\$\\*~\\(\\)\\{\\}\\[\\]<>\"'&\\|;\\\\\\s]*"
    },
    "brace_word": {
      "type": "PATTERN",
      "value": "[^\\$'\\*\",\\\\\\{\\}\\(\\)]+"
    }
  },
  "extras": [
    {
      "type": "SYMBOL",
      "name": "comment"
    },
    {
      "type": "PATTERN",
      "value": "[\\u0009-\\u000D\\u0085\\u2028\\u2029\\u0020\\u3000\\u1680\\u2000-\\u2006\\u2008-\\u200A\\u205F\\u00A0\\u2007\\u202F]+"
    }
  ],
  "conflicts": [],
  "precedences": [],
  "externals": [
    {
      "type": "SYMBOL",
      "name": "_concat"
    },
    {
      "type": "SYMBOL",
      "name": "_brace_concat"
    },
    {
      "type": "SYMBOL",
      "name": "_concat_list"
    }
  ],
  "inline": [
    "_terminator",
    "_statement",
    "_base_expression"
  ],
  "supertypes": [],
  "reserved": {}
}