{
  "$schema": "https://tree-sitter.github.io/tree-sitter/assets/schemas/grammar.schema.json",
  "name": "mdzx",
  "inherits": "zx",
  "word": "_identifier",
  "rules": {
    "source_file": {
      "type": "SEQ",
      "members": [
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "frontmatter"
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "REPEAT",
          "content": {
            "type": "SYMBOL",
            "name": "_block"
          }
        }
      ]
    },
    "_container_members": {
      "type": "CHOICE",
      "members": [
        {
          "type": "SEQ",
          "members": [
            {
              "type": "REPEAT1",
              "content": {
                "type": "CHOICE",
                "members": [
                  {
                    "type": "SYMBOL",
                    "name": "test_declaration"
                  },
                  {
                    "type": "SYMBOL",
                    "name": "comptime_declaration"
                  },
                  {
                    "type": "SYMBOL",
                    "name": "variable_declaration"
                  },
                  {
                    "type": "SYMBOL",
                    "name": "function_declaration"
                  },
                  {
                    "type": "SYMBOL",
                    "name": "using_namespace_declaration"
                  },
                  {
                    "type": "SEQ",
                    "members": [
                      {
                        "type": "SYMBOL",
                        "name": "container_field"
                      },
                      {
                        "type": "STRING",
                        "value": ","
                      }
                    ]
                  }
                ]
              }
            },
            {
              "type": "CHOICE",
              "members": [
                {
                  "type": "SYMBOL",
                  "name": "container_field"
                },
                {
                  "type": "BLANK"
                }
              ]
            }
          ]
        },
        {
          "type": "SYMBOL",
          "name": "container_field"
        }
      ]
    },
    "test_declaration": {
      "type": "SEQ",
      "members": [
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "STRING",
              "value": "pub"
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "STRING",
          "value": "test"
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "CHOICE",
              "members": [
                {
                  "type": "SYMBOL",
                  "name": "string"
                },
                {
                  "type": "SYMBOL",
                  "name": "identifier"
                }
              ]
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "SYMBOL",
          "name": "block"
        }
      ]
    },
    "comptime_declaration": {
      "type": "PREC",
      "value": 1,
      "content": {
        "type": "SEQ",
        "members": [
          {
            "type": "CHOICE",
            "members": [
              {
                "type": "STRING",
                "value": "pub"
              },
              {
                "type": "BLANK"
              }
            ]
          },
          {
            "type": "STRING",
            "value": "comptime"
          },
          {
            "type": "SYMBOL",
            "name": "block"
          }
        ]
      }
    },
    "container_field": {
      "type": "PREC_RIGHT",
      "value": 0,
      "content": {
        "type": "PREC_DYNAMIC",
        "value": 1,
        "content": {
          "type": "SEQ",
          "members": [
            {
              "type": "CHOICE",
              "members": [
                {
                  "type": "STRING",
                  "value": "comptime"
                },
                {
                  "type": "BLANK"
                }
              ]
            },
            {
              "type": "CHOICE",
              "members": [
                {
                  "type": "SEQ",
                  "members": [
                    {
                      "type": "FIELD",
                      "name": "name",
                      "content": {
                        "type": "CHOICE",
                        "members": [
                          {
                            "type": "SYMBOL",
                            "name": "identifier"
                          },
                          {
                            "type": "SYMBOL",
                            "name": "_reserved_identifier"
                          },
                          {
                            "type": "ALIAS",
                            "content": {
                              "type": "SYMBOL",
                              "name": "builtin_type"
                            },
                            "named": true,
                            "value": "identifier"
                          }
                        ]
                      }
                    },
                    {
                      "type": "STRING",
                      "value": ":"
                    },
                    {
                      "type": "FIELD",
                      "name": "type",
                      "content": {
                        "type": "CHOICE",
                        "members": [
                          {
                            "type": "SYMBOL",
                            "name": "primary_type_expression"
                          },
                          {
                            "type": "SYMBOL",
                            "name": "if_type_expression"
                          },
                          {
                            "type": "SYMBOL",
                            "name": "comptime_type_expression"
                          }
                        ]
                      }
                    }
                  ]
                },
                {
                  "type": "FIELD",
                  "name": "name",
                  "content": {
                    "type": "CHOICE",
                    "members": [
                      {
                        "type": "SYMBOL",
                        "name": "primary_type_expression"
                      },
                      {
                        "type": "SYMBOL",
                        "name": "if_type_expression"
                      },
                      {
                        "type": "SYMBOL",
                        "name": "comptime_type_expression"
                      }
                    ]
                  }
                }
              ]
            },
            {
              "type": "CHOICE",
              "members": [
                {
                  "type": "SYMBOL",
                  "name": "byte_alignment"
                },
                {
                  "type": "BLANK"
                }
              ]
            },
            {
              "type": "CHOICE",
              "members": [
                {
                  "type": "SEQ",
                  "members": [
                    {
                      "type": "STRING",
                      "value": "="
                    },
                    {
                      "type": "SYMBOL",
                      "name": "expression"
                    }
                  ]
                },
                {
                  "type": "BLANK"
                }
              ]
            }
          ]
        }
      }
    },
    "variable_declaration": {
      "type": "CHOICE",
      "members": [
        {
          "type": "SEQ",
          "members": [
            {
              "type": "CHOICE",
              "members": [
                {
                  "type": "STRING",
                  "value": "pub"
                },
                {
                  "type": "BLANK"
                }
              ]
            },
            {
              "type": "CHOICE",
              "members": [
                {
                  "type": "CHOICE",
                  "members": [
                    {
                      "type": "STRING",
                      "value": "export"
                    },
                    {
                      "type": "SEQ",
                      "members": [
                        {
                          "type": "STRING",
                          "value": "extern"
                        },
                        {
                          "type": "CHOICE",
                          "members": [
                            {
                              "type": "SYMBOL",
                              "name": "string"
                            },
                            {
                              "type": "BLANK"
                            }
                          ]
                        }
                      ]
                    }
                  ]
                },
                {
                  "type": "BLANK"
                }
              ]
            },
            {
              "type": "CHOICE",
              "members": [
                {
                  "type": "STRING",
                  "value": "threadlocal"
                },
                {
                  "type": "BLANK"
                }
              ]
            },
            {
              "type": "SYMBOL",
              "name": "_variable_declaration_header"
            },
            {
              "type": "CHOICE",
              "members": [
                {
                  "type": "SEQ",
                  "members": [
                    {
                      "type": "STRING",
                      "value": "="
                    },
                    {
                      "type": "SYMBOL",
                      "name": "expression"
                    }
                  ]
                },
                {
                  "type": "BLANK"
                }
              ]
            },
            {
              "type": "STRING",
              "value": ";"
            }
          ]
        },
        {
          "type": "SYMBOL",
          "name": "zx_js_import"
        }
      ]
    },
    "_variable_declaration_expression_statement": {
      "type": "CHOICE",
      "members": [
        {
          "type": "SEQ",
          "members": [
            {
              "type": "SYMBOL",
              "name": "_variable_declaration_header"
            },
            {
              "type": "REPEAT",
              "content": {
                "type": "PREC",
                "value": 1,
                "content": {
                  "type": "SEQ",
                  "members": [
                    {
                      "type": "STRING",
                      "value": ","
                    },
                    {
                      "type": "CHOICE",
                      "members": [
                        {
                          "type": "SYMBOL",
                          "name": "_variable_declaration_header"
                        },
                        {
                          "type": "SYMBOL",
                          "name": "expression"
                        }
                      ]
                    }
                  ]
                }
              }
            },
            {
              "type": "STRING",
              "value": "="
            },
            {
              "type": "SYMBOL",
              "name": "expression"
            },
            {
              "type": "STRING",
              "value": ";"
            }
          ]
        },
        {
          "type": "SEQ",
          "members": [
            {
              "type": "SYMBOL",
              "name": "expression"
            },
            {
              "type": "CHOICE",
              "members": [
                {
                  "type": "SEQ",
                  "members": [
                    {
                      "type": "CHOICE",
                      "members": [
                        {
                          "type": "STRING",
                          "value": "="
                        },
                        {
                          "type": "STRING",
                          "value": "*="
                        },
                        {
                          "type": "STRING",
                          "value": "*%="
                        },
                        {
                          "type": "STRING",
                          "value": "*|="
                        },
                        {
                          "type": "STRING",
                          "value": "/="
                        },
                        {
                          "type": "STRING",
                          "value": "%="
                        },
                        {
                          "type": "STRING",
                          "value": "+="
                        },
                        {
                          "type": "STRING",
                          "value": "+%="
                        },
                        {
                          "type": "STRING",
                          "value": "+|="
                        },
                        {
                          "type": "STRING",
                          "value": "-="
                        },
                        {
                          "type": "STRING",
                          "value": "-%="
                        },
                        {
                          "type": "STRING",
                          "value": "-|="
                        },
                        {
                          "type": "STRING",
                          "value": "<<="
                        },
                        {
                          "type": "STRING",
                          "value": "<<|="
                        },
                        {
                          "type": "STRING",
                          "value": ">>="
                        },
                        {
                          "type": "STRING",
                          "value": "&="
                        },
                        {
                          "type": "STRING",
                          "value": "^="
                        },
                        {
                          "type": "STRING",
                          "value": "|="
                        }
                      ]
                    },
                    {
                      "type": "SYMBOL",
                      "name": "expression"
                    }
                  ]
                },
                {
                  "type": "SEQ",
                  "members": [
                    {
                      "type": "REPEAT1",
                      "content": {
                        "type": "PREC",
                        "value": 1,
                        "content": {
                          "type": "SEQ",
                          "members": [
                            {
                              "type": "STRING",
                              "value": ","
                            },
                            {
                              "type": "CHOICE",
                              "members": [
                                {
                                  "type": "SYMBOL",
                                  "name": "_variable_declaration_header"
                                },
                                {
                                  "type": "SYMBOL",
                                  "name": "expression"
                                }
                              ]
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "STRING",
                      "value": "="
                    },
                    {
                      "type": "SYMBOL",
                      "name": "expression"
                    }
                  ]
                }
              ]
            },
            {
              "type": "STRING",
              "value": ";"
            }
          ]
        }
      ]
    },
    "_variable_declaration_header": {
      "type": "PREC",
      "value": 1,
      "content": {
        "type": "SEQ",
        "members": [
          {
            "type": "CHOICE",
            "members": [
              {
                "type": "STRING",
                "value": "const"
              },
              {
                "type": "STRING",
                "value": "var"
              }
            ]
          },
          {
            "type": "SYMBOL",
            "name": "identifier"
          },
          {
            "type": "CHOICE",
            "members": [
              {
                "type": "SEQ",
                "members": [
                  {
                    "type": "STRING",
                    "value": ":"
                  },
                  {
                    "type": "FIELD",
                    "name": "type",
                    "content": {
                      "type": "CHOICE",
                      "members": [
                        {
                          "type": "SYMBOL",
                          "name": "type_expression"
                        },
                        {
                          "type": "SYMBOL",
                          "name": "if_type_expression"
                        },
                        {
                          "type": "SYMBOL",
                          "name": "comptime_type_expression"
                        }
                      ]
                    }
                  }
                ]
              },
              {
                "type": "BLANK"
              }
            ]
          },
          {
            "type": "CHOICE",
            "members": [
              {
                "type": "SYMBOL",
                "name": "byte_alignment"
              },
              {
                "type": "BLANK"
              }
            ]
          },
          {
            "type": "CHOICE",
            "members": [
              {
                "type": "SYMBOL",
                "name": "address_space"
              },
              {
                "type": "BLANK"
              }
            ]
          },
          {
            "type": "CHOICE",
            "members": [
              {
                "type": "SYMBOL",
                "name": "link_section"
              },
              {
                "type": "BLANK"
              }
            ]
          }
        ]
      }
    },
    "function_declaration": {
      "type": "SEQ",
      "members": [
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "STRING",
              "value": "pub"
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "CHOICE",
              "members": [
                {
                  "type": "STRING",
                  "value": "export"
                },
                {
                  "type": "SEQ",
                  "members": [
                    {
                      "type": "STRING",
                      "value": "extern"
                    },
                    {
                      "type": "CHOICE",
                      "members": [
                        {
                          "type": "SYMBOL",
                          "name": "string"
                        },
                        {
                          "type": "BLANK"
                        }
                      ]
                    }
                  ]
                },
                {
                  "type": "STRING",
                  "value": "inline"
                },
                {
                  "type": "STRING",
                  "value": "noinline"
                }
              ]
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "SYMBOL",
          "name": "_function_prototype"
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "STRING",
              "value": ";"
            },
            {
              "type": "FIELD",
              "name": "body",
              "content": {
                "type": "SYMBOL",
                "name": "block"
              }
            }
          ]
        }
      ]
    },
    "_function_prototype": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "fn"
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "FIELD",
              "name": "name",
              "content": {
                "type": "SYMBOL",
                "name": "identifier"
              }
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "SYMBOL",
          "name": "parameters"
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "byte_alignment"
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "address_space"
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "link_section"
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "calling_convention"
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "FIELD",
          "name": "type",
          "content": {
            "type": "CHOICE",
            "members": [
              {
                "type": "SYMBOL",
                "name": "type_expression"
              },
              {
                "type": "SYMBOL",
                "name": "if_type_expression"
              },
              {
                "type": "SYMBOL",
                "name": "comptime_type_expression"
              }
            ]
          }
        }
      ]
    },
    "parameters": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "("
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SEQ",
              "members": [
                {
                  "type": "SEQ",
                  "members": [
                    {
                      "type": "SYMBOL",
                      "name": "parameter"
                    },
                    {
                      "type": "REPEAT",
                      "content": {
                        "type": "SEQ",
                        "members": [
                          {
                            "type": "STRING",
                            "value": ","
                          },
                          {
                            "type": "SYMBOL",
                            "name": "parameter"
                          }
                        ]
                      }
                    }
                  ]
                },
                {
                  "type": "CHOICE",
                  "members": [
                    {
                      "type": "STRING",
                      "value": ","
                    },
                    {
                      "type": "BLANK"
                    }
                  ]
                }
              ]
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "STRING",
          "value": ")"
        }
      ]
    },
    "parameter": {
      "type": "CHOICE",
      "members": [
        {
          "type": "SEQ",
          "members": [
            {
              "type": "CHOICE",
              "members": [
                {
                  "type": "CHOICE",
                  "members": [
                    {
                      "type": "STRING",
                      "value": "noalias"
                    },
                    {
                      "type": "STRING",
                      "value": "comptime"
                    }
                  ]
                },
                {
                  "type": "BLANK"
                }
              ]
            },
            {
              "type": "CHOICE",
              "members": [
                {
                  "type": "SEQ",
                  "members": [
                    {
                      "type": "FIELD",
                      "name": "name",
                      "content": {
                        "type": "CHOICE",
                        "members": [
                          {
                            "type": "SYMBOL",
                            "name": "identifier"
                          },
                          {
                            "type": "ALIAS",
                            "content": {
                              "type": "SYMBOL",
                              "name": "builtin_type"
                            },
                            "named": true,
                            "value": "identifier"
                          }
                        ]
                      }
                    },
                    {
                      "type": "STRING",
                      "value": ":"
                    }
                  ]
                },
                {
                  "type": "BLANK"
                }
              ]
            },
            {
              "type": "FIELD",
              "name": "type",
              "content": {
                "type": "CHOICE",
                "members": [
                  {
                    "type": "SYMBOL",
                    "name": "type_expression"
                  },
                  {
                    "type": "SYMBOL",
                    "name": "if_type_expression"
                  },
                  {
                    "type": "SYMBOL",
                    "name": "comptime_type_expression"
                  }
                ]
              }
            }
          ]
        },
        {
          "type": "STRING",
          "value": "..."
        }
      ]
    },
    "using_namespace_declaration": {
      "type": "SEQ",
      "members": [
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "STRING",
              "value": "pub"
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "STRING",
          "value": "usingnamespace"
        },
        {
          "type": "SYMBOL",
          "name": "expression"
        },
        {
          "type": "STRING",
          "value": ";"
        }
      ]
    },
    "block": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "{"
        },
        {
          "type": "REPEAT",
          "content": {
            "type": "SYMBOL",
            "name": "statement"
          }
        },
        {
          "type": "STRING",
          "value": "}"
        }
      ]
    },
    "struct_declaration": {
      "type": "SEQ",
      "members": [
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "CHOICE",
              "members": [
                {
                  "type": "STRING",
                  "value": "extern"
                },
                {
                  "type": "STRING",
                  "value": "packed"
                }
              ]
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "STRING",
          "value": "struct"
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SEQ",
              "members": [
                {
                  "type": "STRING",
                  "value": "("
                },
                {
                  "type": "SYMBOL",
                  "name": "expression"
                },
                {
                  "type": "STRING",
                  "value": ")"
                }
              ]
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "STRING",
          "value": "{"
        },
        {
          "type": "SYMBOL",
          "name": "_container_members"
        },
        {
          "type": "STRING",
          "value": "}"
        }
      ]
    },
    "opaque_declaration": {
      "type": "SEQ",
      "members": [
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "CHOICE",
              "members": [
                {
                  "type": "STRING",
                  "value": "extern"
                },
                {
                  "type": "STRING",
                  "value": "packed"
                }
              ]
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "STRING",
          "value": "opaque"
        },
        {
          "type": "STRING",
          "value": "{"
        },
        {
          "type": "SYMBOL",
          "name": "_container_members"
        },
        {
          "type": "STRING",
          "value": "}"
        }
      ]
    },
    "enum_declaration": {
      "type": "SEQ",
      "members": [
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "CHOICE",
              "members": [
                {
                  "type": "STRING",
                  "value": "extern"
                },
                {
                  "type": "STRING",
                  "value": "packed"
                }
              ]
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "STRING",
          "value": "enum"
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SEQ",
              "members": [
                {
                  "type": "STRING",
                  "value": "("
                },
                {
                  "type": "SYMBOL",
                  "name": "expression"
                },
                {
                  "type": "STRING",
                  "value": ")"
                }
              ]
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "STRING",
          "value": "{"
        },
        {
          "type": "SYMBOL",
          "name": "_container_members"
        },
        {
          "type": "STRING",
          "value": "}"
        }
      ]
    },
    "union_declaration": {
      "type": "SEQ",
      "members": [
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "CHOICE",
              "members": [
                {
                  "type": "STRING",
                  "value": "extern"
                },
                {
                  "type": "STRING",
                  "value": "packed"
                }
              ]
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "STRING",
          "value": "union"
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SEQ",
              "members": [
                {
                  "type": "STRING",
                  "value": "("
                },
                {
                  "type": "CHOICE",
                  "members": [
                    {
                      "type": "SEQ",
                      "members": [
                        {
                          "type": "STRING",
                          "value": "enum"
                        },
                        {
                          "type": "CHOICE",
                          "members": [
                            {
                              "type": "SEQ",
                              "members": [
                                {
                                  "type": "STRING",
                                  "value": "("
                                },
                                {
                                  "type": "SYMBOL",
                                  "name": "expression"
                                },
                                {
                                  "type": "STRING",
                                  "value": ")"
                                }
                              ]
                            },
                            {
                              "type": "BLANK"
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "type": "SYMBOL",
                      "name": "expression"
                    }
                  ]
                },
                {
                  "type": "STRING",
                  "value": ")"
                }
              ]
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "STRING",
          "value": "{"
        },
        {
          "type": "SYMBOL",
          "name": "_container_members"
        },
        {
          "type": "STRING",
          "value": "}"
        }
      ]
    },
    "error_set_declaration": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "error"
        },
        {
          "type": "STRING",
          "value": "{"
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SEQ",
              "members": [
                {
                  "type": "SEQ",
                  "members": [
                    {
                      "type": "SYMBOL",
                      "name": "identifier"
                    },
                    {
                      "type": "REPEAT",
                      "content": {
                        "type": "SEQ",
                        "members": [
                          {
                            "type": "STRING",
                            "value": ","
                          },
                          {
                            "type": "SYMBOL",
                            "name": "identifier"
                          }
                        ]
                      }
                    }
                  ]
                },
                {
                  "type": "CHOICE",
                  "members": [
                    {
                      "type": "STRING",
                      "value": ","
                    },
                    {
                      "type": "BLANK"
                    }
                  ]
                }
              ]
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "STRING",
          "value": "}"
        }
      ]
    },
    "statement": {
      "type": "CHOICE",
      "members": [
        {
          "type": "SYMBOL",
          "name": "comptime_statement"
        },
        {
          "type": "SYMBOL",
          "name": "nosuspend_statement"
        },
        {
          "type": "SYMBOL",
          "name": "suspend_statement"
        },
        {
          "type": "SYMBOL",
          "name": "defer_statement"
        },
        {
          "type": "SYMBOL",
          "name": "errdefer_statement"
        },
        {
          "type": "SYMBOL",
          "name": "expression_statement"
        },
        {
          "type": "ALIAS",
          "content": {
            "type": "SYMBOL",
            "name": "_variable_declaration_expression_statement"
          },
          "named": true,
          "value": "variable_declaration"
        },
        {
          "type": "SYMBOL",
          "name": "if_statement"
        },
        {
          "type": "SYMBOL",
          "name": "for_statement"
        },
        {
          "type": "SYMBOL",
          "name": "while_statement"
        },
        {
          "type": "SYMBOL",
          "name": "labeled_statement"
        },
        {
          "type": "PREC",
          "value": 1,
          "content": {
            "type": "SYMBOL",
            "name": "switch_expression"
          }
        }
      ]
    },
    "comptime_statement": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "comptime"
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "_block_expr_statement"
            },
            {
              "type": "ALIAS",
              "content": {
                "type": "SYMBOL",
                "name": "_variable_declaration_expression_statement"
              },
              "named": true,
              "value": "variable_declaration"
            }
          ]
        }
      ]
    },
    "nosuspend_statement": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "nosuspend"
        },
        {
          "type": "SYMBOL",
          "name": "_block_expr_statement"
        }
      ]
    },
    "suspend_statement": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "suspend"
        },
        {
          "type": "SYMBOL",
          "name": "_block_expr_statement"
        }
      ]
    },
    "defer_statement": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "defer"
        },
        {
          "type": "SYMBOL",
          "name": "_block_expr_statement"
        }
      ]
    },
    "errdefer_statement": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "errdefer"
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "payload"
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "SYMBOL",
          "name": "_block_expr_statement"
        }
      ]
    },
    "_block_expr_statement": {
      "type": "PREC",
      "value": 1,
      "content": {
        "type": "CHOICE",
        "members": [
          {
            "type": "SEQ",
            "members": [
              {
                "type": "CHOICE",
                "members": [
                  {
                    "type": "SYMBOL",
                    "name": "block_label"
                  },
                  {
                    "type": "BLANK"
                  }
                ]
              },
              {
                "type": "SYMBOL",
                "name": "block"
              }
            ]
          },
          {
            "type": "SYMBOL",
            "name": "expression_statement"
          }
        ]
      }
    },
    "block_expression": {
      "type": "PREC",
      "value": 1,
      "content": {
        "type": "SEQ",
        "members": [
          {
            "type": "CHOICE",
            "members": [
              {
                "type": "SYMBOL",
                "name": "block_label"
              },
              {
                "type": "BLANK"
              }
            ]
          },
          {
            "type": "SYMBOL",
            "name": "block"
          }
        ]
      }
    },
    "labeled_statement": {
      "type": "PREC",
      "value": 1,
      "content": {
        "type": "SEQ",
        "members": [
          {
            "type": "CHOICE",
            "members": [
              {
                "type": "SYMBOL",
                "name": "block_label"
              },
              {
                "type": "BLANK"
              }
            ]
          },
          {
            "type": "CHOICE",
            "members": [
              {
                "type": "SYMBOL",
                "name": "block"
              },
              {
                "type": "SYMBOL",
                "name": "for_statement"
              },
              {
                "type": "SYMBOL",
                "name": "while_statement"
              }
            ]
          }
        ]
      }
    },
    "expression_statement": {
      "type": "SEQ",
      "members": [
        {
          "type": "SYMBOL",
          "name": "expression"
        },
        {
          "type": "STRING",
          "value": ";"
        }
      ]
    },
    "if_statement": {
      "type": "SEQ",
      "members": [
        {
          "type": "SYMBOL",
          "name": "_if_prefix"
        },
        {
          "type": "SYMBOL",
          "name": "_conditional_body"
        }
      ]
    },
    "_if_prefix": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "if"
        },
        {
          "type": "STRING",
          "value": "("
        },
        {
          "type": "FIELD",
          "name": "condition",
          "content": {
            "type": "SYMBOL",
            "name": "expression"
          }
        },
        {
          "type": "STRING",
          "value": ")"
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "payload"
            },
            {
              "type": "BLANK"
            }
          ]
        }
      ]
    },
    "else_clause": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "else"
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "payload"
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "FIELD",
          "name": "alternative",
          "content": {
            "type": "SYMBOL",
            "name": "statement"
          }
        }
      ]
    },
    "for_statement": {
      "type": "SEQ",
      "members": [
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "STRING",
              "value": "inline"
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "SYMBOL",
          "name": "_for_prefix"
        },
        {
          "type": "SYMBOL",
          "name": "_conditional_body"
        }
      ]
    },
    "_for_prefix": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "for"
        },
        {
          "type": "STRING",
          "value": "("
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SEQ",
              "members": [
                {
                  "type": "SEQ",
                  "members": [
                    {
                      "type": "SEQ",
                      "members": [
                        {
                          "type": "SYMBOL",
                          "name": "expression"
                        },
                        {
                          "type": "CHOICE",
                          "members": [
                            {
                              "type": "SEQ",
                              "members": [
                                {
                                  "type": "STRING",
                                  "value": ".."
                                },
                                {
                                  "type": "SYMBOL",
                                  "name": "expression"
                                }
                              ]
                            },
                            {
                              "type": "BLANK"
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "type": "REPEAT",
                      "content": {
                        "type": "SEQ",
                        "members": [
                          {
                            "type": "STRING",
                            "value": ","
                          },
                          {
                            "type": "SEQ",
                            "members": [
                              {
                                "type": "SYMBOL",
                                "name": "expression"
                              },
                              {
                                "type": "CHOICE",
                                "members": [
                                  {
                                    "type": "SEQ",
                                    "members": [
                                      {
                                        "type": "STRING",
                                        "value": ".."
                                      },
                                      {
                                        "type": "SYMBOL",
                                        "name": "expression"
                                      }
                                    ]
                                  },
                                  {
                                    "type": "BLANK"
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    }
                  ]
                },
                {
                  "type": "CHOICE",
                  "members": [
                    {
                      "type": "STRING",
                      "value": ","
                    },
                    {
                      "type": "BLANK"
                    }
                  ]
                }
              ]
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "STRING",
          "value": ")"
        },
        {
          "type": "SYMBOL",
          "name": "payload"
        }
      ]
    },
    "while_statement": {
      "type": "SEQ",
      "members": [
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "STRING",
              "value": "inline"
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "SYMBOL",
          "name": "_while_prefix"
        },
        {
          "type": "SYMBOL",
          "name": "_conditional_body"
        }
      ]
    },
    "_while_prefix": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "while"
        },
        {
          "type": "STRING",
          "value": "("
        },
        {
          "type": "FIELD",
          "name": "condition",
          "content": {
            "type": "SYMBOL",
            "name": "expression"
          }
        },
        {
          "type": "STRING",
          "value": ")"
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "payload"
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SEQ",
              "members": [
                {
                  "type": "STRING",
                  "value": ":"
                },
                {
                  "type": "STRING",
                  "value": "("
                },
                {
                  "type": "SYMBOL",
                  "name": "expression"
                },
                {
                  "type": "STRING",
                  "value": ")"
                }
              ]
            },
            {
              "type": "BLANK"
            }
          ]
        }
      ]
    },
    "_conditional_body": {
      "type": "CHOICE",
      "members": [
        {
          "type": "SEQ",
          "members": [
            {
              "type": "FIELD",
              "name": "body",
              "content": {
                "type": "SYMBOL",
                "name": "block_expression"
              }
            },
            {
              "type": "CHOICE",
              "members": [
                {
                  "type": "SYMBOL",
                  "name": "else_clause"
                },
                {
                  "type": "BLANK"
                }
              ]
            }
          ]
        },
        {
          "type": "SEQ",
          "members": [
            {
              "type": "FIELD",
              "name": "body",
              "content": {
                "type": "SYMBOL",
                "name": "expression"
              }
            },
            {
              "type": "CHOICE",
              "members": [
                {
                  "type": "STRING",
                  "value": ";"
                },
                {
                  "type": "SYMBOL",
                  "name": "else_clause"
                }
              ]
            }
          ]
        }
      ]
    },
    "payload": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "|"
        },
        {
          "type": "SEQ",
          "members": [
            {
              "type": "SEQ",
              "members": [
                {
                  "type": "SEQ",
                  "members": [
                    {
                      "type": "CHOICE",
                      "members": [
                        {
                          "type": "STRING",
                          "value": "*"
                        },
                        {
                          "type": "BLANK"
                        }
                      ]
                    },
                    {
                      "type": "SYMBOL",
                      "name": "identifier"
                    }
                  ]
                },
                {
                  "type": "REPEAT",
                  "content": {
                    "type": "SEQ",
                    "members": [
                      {
                        "type": "STRING",
                        "value": ","
                      },
                      {
                        "type": "SEQ",
                        "members": [
                          {
                            "type": "CHOICE",
                            "members": [
                              {
                                "type": "STRING",
                                "value": "*"
                              },
                              {
                                "type": "BLANK"
                              }
                            ]
                          },
                          {
                            "type": "SYMBOL",
                            "name": "identifier"
                          }
                        ]
                      }
                    ]
                  }
                }
              ]
            },
            {
              "type": "CHOICE",
              "members": [
                {
                  "type": "STRING",
                  "value": ","
                },
                {
                  "type": "BLANK"
                }
              ]
            }
          ]
        },
        {
          "type": "STRING",
          "value": "|"
        }
      ]
    },
    "byte_alignment": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "align"
        },
        {
          "type": "STRING",
          "value": "("
        },
        {
          "type": "SYMBOL",
          "name": "expression"
        },
        {
          "type": "STRING",
          "value": ")"
        }
      ]
    },
    "address_space": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "addrspace"
        },
        {
          "type": "STRING",
          "value": "("
        },
        {
          "type": "SYMBOL",
          "name": "expression"
        },
        {
          "type": "STRING",
          "value": ")"
        }
      ]
    },
    "link_section": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "linksection"
        },
        {
          "type": "STRING",
          "value": "("
        },
        {
          "type": "SYMBOL",
          "name": "expression"
        },
        {
          "type": "STRING",
          "value": ")"
        }
      ]
    },
    "calling_convention": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "callconv"
        },
        {
          "type": "STRING",
          "value": "("
        },
        {
          "type": "SYMBOL",
          "name": "expression"
        },
        {
          "type": "STRING",
          "value": ")"
        }
      ]
    },
    "expression": {
      "type": "CHOICE",
      "members": [
        {
          "type": "PREC_RIGHT",
          "value": 0,
          "content": {
            "type": "CHOICE",
            "members": [
              {
                "type": "SYMBOL",
                "name": "asm_expression"
              },
              {
                "type": "SYMBOL",
                "name": "if_expression"
              },
              {
                "type": "SYMBOL",
                "name": "for_expression"
              },
              {
                "type": "SYMBOL",
                "name": "while_expression"
              },
              {
                "type": "SYMBOL",
                "name": "assignment_expression"
              },
              {
                "type": "SYMBOL",
                "name": "unary_expression"
              },
              {
                "type": "SYMBOL",
                "name": "binary_expression"
              },
              {
                "type": "SYMBOL",
                "name": "comptime_expression"
              },
              {
                "type": "SYMBOL",
                "name": "async_expression"
              },
              {
                "type": "SYMBOL",
                "name": "await_expression"
              },
              {
                "type": "SYMBOL",
                "name": "nosuspend_expression"
              },
              {
                "type": "SYMBOL",
                "name": "continue_expression"
              },
              {
                "type": "SYMBOL",
                "name": "resume_expression"
              },
              {
                "type": "SYMBOL",
                "name": "return_expression"
              },
              {
                "type": "SYMBOL",
                "name": "break_expression"
              },
              {
                "type": "SYMBOL",
                "name": "try_expression"
              },
              {
                "type": "SYMBOL",
                "name": "catch_expression"
              },
              {
                "type": "SYMBOL",
                "name": "type_expression"
              },
              {
                "type": "SYMBOL",
                "name": "block"
              }
            ]
          }
        },
        {
          "type": "SYMBOL",
          "name": "zx_block"
        }
      ]
    },
    "asm_expression": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "asm"
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "STRING",
              "value": "volatile"
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "STRING",
          "value": "("
        },
        {
          "type": "SYMBOL",
          "name": "expression"
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "asm_output"
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "STRING",
          "value": ")"
        }
      ]
    },
    "asm_output": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": ":"
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SEQ",
              "members": [
                {
                  "type": "SEQ",
                  "members": [
                    {
                      "type": "SYMBOL",
                      "name": "asm_output_item"
                    },
                    {
                      "type": "REPEAT",
                      "content": {
                        "type": "SEQ",
                        "members": [
                          {
                            "type": "STRING",
                            "value": ","
                          },
                          {
                            "type": "SYMBOL",
                            "name": "asm_output_item"
                          }
                        ]
                      }
                    }
                  ]
                },
                {
                  "type": "CHOICE",
                  "members": [
                    {
                      "type": "STRING",
                      "value": ","
                    },
                    {
                      "type": "BLANK"
                    }
                  ]
                }
              ]
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "asm_input"
            },
            {
              "type": "BLANK"
            }
          ]
        }
      ]
    },
    "asm_output_item": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "["
        },
        {
          "type": "SYMBOL",
          "name": "identifier"
        },
        {
          "type": "STRING",
          "value": "]"
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "string"
            },
            {
              "type": "SYMBOL",
              "name": "multiline_string"
            }
          ]
        },
        {
          "type": "STRING",
          "value": "("
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SEQ",
              "members": [
                {
                  "type": "STRING",
                  "value": "->"
                },
                {
                  "type": "SYMBOL",
                  "name": "type_expression"
                }
              ]
            },
            {
              "type": "SYMBOL",
              "name": "identifier"
            }
          ]
        },
        {
          "type": "STRING",
          "value": ")"
        }
      ]
    },
    "asm_input": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": ":"
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SEQ",
              "members": [
                {
                  "type": "SEQ",
                  "members": [
                    {
                      "type": "SYMBOL",
                      "name": "asm_input_item"
                    },
                    {
                      "type": "REPEAT",
                      "content": {
                        "type": "SEQ",
                        "members": [
                          {
                            "type": "STRING",
                            "value": ","
                          },
                          {
                            "type": "SYMBOL",
                            "name": "asm_input_item"
                          }
                        ]
                      }
                    }
                  ]
                },
                {
                  "type": "CHOICE",
                  "members": [
                    {
                      "type": "STRING",
                      "value": ","
                    },
                    {
                      "type": "BLANK"
                    }
                  ]
                }
              ]
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "asm_clobbers"
            },
            {
              "type": "BLANK"
            }
          ]
        }
      ]
    },
    "asm_input_item": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "["
        },
        {
          "type": "SYMBOL",
          "name": "identifier"
        },
        {
          "type": "STRING",
          "value": "]"
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "string"
            },
            {
              "type": "SYMBOL",
              "name": "multiline_string"
            }
          ]
        },
        {
          "type": "STRING",
          "value": "("
        },
        {
          "type": "SYMBOL",
          "name": "expression"
        },
        {
          "type": "STRING",
          "value": ")"
        }
      ]
    },
    "asm_clobbers": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": ":"
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SEQ",
              "members": [
                {
                  "type": "SEQ",
                  "members": [
                    {
                      "type": "CHOICE",
                      "members": [
                        {
                          "type": "SYMBOL",
                          "name": "string"
                        },
                        {
                          "type": "SYMBOL",
                          "name": "multiline_string"
                        }
                      ]
                    },
                    {
                      "type": "REPEAT",
                      "content": {
                        "type": "SEQ",
                        "members": [
                          {
                            "type": "STRING",
                            "value": ","
                          },
                          {
                            "type": "CHOICE",
                            "members": [
                              {
                                "type": "SYMBOL",
                                "name": "string"
                              },
                              {
                                "type": "SYMBOL",
                                "name": "multiline_string"
                              }
                            ]
                          }
                        ]
                      }
                    }
                  ]
                },
                {
                  "type": "CHOICE",
                  "members": [
                    {
                      "type": "STRING",
                      "value": ","
                    },
                    {
                      "type": "BLANK"
                    }
                  ]
                }
              ]
            },
            {
              "type": "BLANK"
            }
          ]
        }
      ]
    },
    "if_expression": {
      "type": "PREC_RIGHT",
      "value": 0,
      "content": {
        "type": "SEQ",
        "members": [
          {
            "type": "SYMBOL",
            "name": "_if_prefix"
          },
          {
            "type": "SYMBOL",
            "name": "expression"
          },
          {
            "type": "CHOICE",
            "members": [
              {
                "type": "SEQ",
                "members": [
                  {
                    "type": "STRING",
                    "value": "else"
                  },
                  {
                    "type": "CHOICE",
                    "members": [
                      {
                        "type": "SYMBOL",
                        "name": "payload"
                      },
                      {
                        "type": "BLANK"
                      }
                    ]
                  },
                  {
                    "type": "SYMBOL",
                    "name": "expression"
                  }
                ]
              },
              {
                "type": "BLANK"
              }
            ]
          }
        ]
      }
    },
    "for_expression": {
      "type": "PREC_RIGHT",
      "value": 0,
      "content": {
        "type": "SEQ",
        "members": [
          {
            "type": "CHOICE",
            "members": [
              {
                "type": "SYMBOL",
                "name": "block_label"
              },
              {
                "type": "BLANK"
              }
            ]
          },
          {
            "type": "CHOICE",
            "members": [
              {
                "type": "STRING",
                "value": "inline"
              },
              {
                "type": "BLANK"
              }
            ]
          },
          {
            "type": "SYMBOL",
            "name": "_for_prefix"
          },
          {
            "type": "SYMBOL",
            "name": "expression"
          },
          {
            "type": "CHOICE",
            "members": [
              {
                "type": "SEQ",
                "members": [
                  {
                    "type": "STRING",
                    "value": "else"
                  },
                  {
                    "type": "SYMBOL",
                    "name": "expression"
                  }
                ]
              },
              {
                "type": "BLANK"
              }
            ]
          }
        ]
      }
    },
    "while_expression": {
      "type": "PREC_RIGHT",
      "value": 0,
      "content": {
        "type": "SEQ",
        "members": [
          {
            "type": "CHOICE",
            "members": [
              {
                "type": "SYMBOL",
                "name": "block_label"
              },
              {
                "type": "BLANK"
              }
            ]
          },
          {
            "type": "CHOICE",
            "members": [
              {
                "type": "STRING",
                "value": "inline"
              },
              {
                "type": "BLANK"
              }
            ]
          },
          {
            "type": "SYMBOL",
            "name": "_while_prefix"
          },
          {
            "type": "SYMBOL",
            "name": "expression"
          },
          {
            "type": "CHOICE",
            "members": [
              {
                "type": "SEQ",
                "members": [
                  {
                    "type": "STRING",
                    "value": "else"
                  },
                  {
                    "type": "CHOICE",
                    "members": [
                      {
                        "type": "SYMBOL",
                        "name": "payload"
                      },
                      {
                        "type": "BLANK"
                      }
                    ]
                  },
                  {
                    "type": "SYMBOL",
                    "name": "expression"
                  }
                ]
              },
              {
                "type": "BLANK"
              }
            ]
          }
        ]
      }
    },
    "assignment_expression": {
      "type": "PREC_RIGHT",
      "value": 0,
      "content": {
        "type": "SEQ",
        "members": [
          {
            "type": "FIELD",
            "name": "left",
            "content": {
              "type": "SYMBOL",
              "name": "expression"
            }
          },
          {
            "type": "FIELD",
            "name": "operator",
            "content": {
              "type": "CHOICE",
              "members": [
                {
                  "type": "STRING",
                  "value": "="
                },
                {
                  "type": "STRING",
                  "value": "*="
                },
                {
                  "type": "STRING",
                  "value": "*%="
                },
                {
                  "type": "STRING",
                  "value": "*|="
                },
                {
                  "type": "STRING",
                  "value": "/="
                },
                {
                  "type": "STRING",
                  "value": "%="
                },
                {
                  "type": "STRING",
                  "value": "+="
                },
                {
                  "type": "STRING",
                  "value": "+%="
                },
                {
                  "type": "STRING",
                  "value": "+|="
                },
                {
                  "type": "STRING",
                  "value": "-="
                },
                {
                  "type": "STRING",
                  "value": "-%="
                },
                {
                  "type": "STRING",
                  "value": "-|="
                },
                {
                  "type": "STRING",
                  "value": "<<="
                },
                {
                  "type": "STRING",
                  "value": "<<|="
                },
                {
                  "type": "STRING",
                  "value": ">>="
                },
                {
                  "type": "STRING",
                  "value": "&="
                },
                {
                  "type": "STRING",
                  "value": "^="
                },
                {
                  "type": "STRING",
                  "value": "|="
                }
              ]
            }
          },
          {
            "type": "FIELD",
            "name": "right",
            "content": {
              "type": "SYMBOL",
              "name": "expression"
            }
          }
        ]
      }
    },
    "unary_expression": {
      "type": "PREC_LEFT",
      "value": 8,
      "content": {
        "type": "SEQ",
        "members": [
          {
            "type": "FIELD",
            "name": "operator",
            "content": {
              "type": "CHOICE",
              "members": [
                {
                  "type": "STRING",
                  "value": "!"
                },
                {
                  "type": "STRING",
                  "value": "~"
                },
                {
                  "type": "STRING",
                  "value": "-"
                },
                {
                  "type": "STRING",
                  "value": "-%"
                },
                {
                  "type": "STRING",
                  "value": "&"
                }
              ]
            }
          },
          {
            "type": "FIELD",
            "name": "argument",
            "content": {
              "type": "SYMBOL",
              "name": "expression"
            }
          }
        ]
      }
    },
    "binary_expression": {
      "type": "CHOICE",
      "members": [
        {
          "type": "PREC_LEFT",
          "value": 1,
          "content": {
            "type": "SEQ",
            "members": [
              {
                "type": "FIELD",
                "name": "left",
                "content": {
                  "type": "SYMBOL",
                  "name": "expression"
                }
              },
              {
                "type": "FIELD",
                "name": "operator",
                "content": {
                  "type": "STRING",
                  "value": "or"
                }
              },
              {
                "type": "FIELD",
                "name": "right",
                "content": {
                  "type": "SYMBOL",
                  "name": "expression"
                }
              }
            ]
          }
        },
        {
          "type": "PREC_LEFT",
          "value": 2,
          "content": {
            "type": "SEQ",
            "members": [
              {
                "type": "FIELD",
                "name": "left",
                "content": {
                  "type": "SYMBOL",
                  "name": "expression"
                }
              },
              {
                "type": "FIELD",
                "name": "operator",
                "content": {
                  "type": "STRING",
                  "value": "and"
                }
              },
              {
                "type": "FIELD",
                "name": "right",
                "content": {
                  "type": "SYMBOL",
                  "name": "expression"
                }
              }
            ]
          }
        },
        {
          "type": "PREC_LEFT",
          "value": 3,
          "content": {
            "type": "SEQ",
            "members": [
              {
                "type": "FIELD",
                "name": "left",
                "content": {
                  "type": "SYMBOL",
                  "name": "expression"
                }
              },
              {
                "type": "FIELD",
                "name": "operator",
                "content": {
                  "type": "STRING",
                  "value": "=="
                }
              },
              {
                "type": "FIELD",
                "name": "right",
                "content": {
                  "type": "SYMBOL",
                  "name": "expression"
                }
              }
            ]
          }
        },
        {
          "type": "PREC_LEFT",
          "value": 3,
          "content": {
            "type": "SEQ",
            "members": [
              {
                "type": "FIELD",
                "name": "left",
                "content": {
                  "type": "SYMBOL",
                  "name": "expression"
                }
              },
              {
                "type": "FIELD",
                "name": "operator",
                "content": {
                  "type": "STRING",
                  "value": "!="
                }
              },
              {
                "type": "FIELD",
                "name": "right",
                "content": {
                  "type": "SYMBOL",
                  "name": "expression"
                }
              }
            ]
          }
        },
        {
          "type": "PREC_LEFT",
          "value": 3,
          "content": {
            "type": "SEQ",
            "members": [
              {
                "type": "FIELD",
                "name": "left",
                "content": {
                  "type": "SYMBOL",
                  "name": "expression"
                }
              },
              {
                "type": "FIELD",
                "name": "operator",
                "content": {
                  "type": "STRING",
                  "value": ">"
                }
              },
              {
                "type": "FIELD",
                "name": "right",
                "content": {
                  "type": "SYMBOL",
                  "name": "expression"
                }
              }
            ]
          }
        },
        {
          "type": "PREC_LEFT",
          "value": 3,
          "content": {
            "type": "SEQ",
            "members": [
              {
                "type": "FIELD",
                "name": "left",
                "content": {
                  "type": "SYMBOL",
                  "name": "expression"
                }
              },
              {
                "type": "FIELD",
                "name": "operator",
                "content": {
                  "type": "STRING",
                  "value": ">="
                }
              },
              {
                "type": "FIELD",
                "name": "right",
                "content": {
                  "type": "SYMBOL",
                  "name": "expression"
                }
              }
            ]
          }
        },
        {
          "type": "PREC_LEFT",
          "value": 3,
          "content": {
            "type": "SEQ",
            "members": [
              {
                "type": "FIELD",
                "name": "left",
                "content": {
                  "type": "SYMBOL",
                  "name": "expression"
                }
              },
              {
                "type": "FIELD",
                "name": "operator",
                "content": {
                  "type": "STRING",
                  "value": "<="
                }
              },
              {
                "type": "FIELD",
                "name": "right",
                "content": {
                  "type": "SYMBOL",
                  "name": "expression"
                }
              }
            ]
          }
        },
        {
          "type": "PREC_LEFT",
          "value": 3,
          "content": {
            "type": "SEQ",
            "members": [
              {
                "type": "FIELD",
                "name": "left",
                "content": {
                  "type": "SYMBOL",
                  "name": "expression"
                }
              },
              {
                "type": "FIELD",
                "name": "operator",
                "content": {
                  "type": "STRING",
                  "value": "<"
                }
              },
              {
                "type": "FIELD",
                "name": "right",
                "content": {
                  "type": "SYMBOL",
                  "name": "expression"
                }
              }
            ]
          }
        },
        {
          "type": "PREC_LEFT",
          "value": 4,
          "content": {
            "type": "SEQ",
            "members": [
              {
                "type": "FIELD",
                "name": "left",
                "content": {
                  "type": "SYMBOL",
                  "name": "expression"
                }
              },
              {
                "type": "FIELD",
                "name": "operator",
                "content": {
                  "type": "STRING",
                  "value": "&"
                }
              },
              {
                "type": "FIELD",
                "name": "right",
                "content": {
                  "type": "SYMBOL",
                  "name": "expression"
                }
              }
            ]
          }
        },
        {
          "type": "PREC_LEFT",
          "value": 4,
          "content": {
            "type": "SEQ",
            "members": [
              {
                "type": "FIELD",
                "name": "left",
                "content": {
                  "type": "SYMBOL",
                  "name": "expression"
                }
              },
              {
                "type": "FIELD",
                "name": "operator",
                "content": {
                  "type": "STRING",
                  "value": "^"
                }
              },
              {
                "type": "FIELD",
                "name": "right",
                "content": {
                  "type": "SYMBOL",
                  "name": "expression"
                }
              }
            ]
          }
        },
        {
          "type": "PREC_LEFT",
          "value": 4,
          "content": {
            "type": "SEQ",
            "members": [
              {
                "type": "FIELD",
                "name": "left",
                "content": {
                  "type": "SYMBOL",
                  "name": "expression"
                }
              },
              {
                "type": "FIELD",
                "name": "operator",
                "content": {
                  "type": "STRING",
                  "value": "|"
                }
              },
              {
                "type": "FIELD",
                "name": "right",
                "content": {
                  "type": "SYMBOL",
                  "name": "expression"
                }
              }
            ]
          }
        },
        {
          "type": "PREC_LEFT",
          "value": 4,
          "content": {
            "type": "SEQ",
            "members": [
              {
                "type": "FIELD",
                "name": "left",
                "content": {
                  "type": "SYMBOL",
                  "name": "expression"
                }
              },
              {
                "type": "FIELD",
                "name": "operator",
                "content": {
                  "type": "STRING",
                  "value": "orelse"
                }
              },
              {
                "type": "FIELD",
                "name": "right",
                "content": {
                  "type": "SYMBOL",
                  "name": "expression"
                }
              }
            ]
          }
        },
        {
          "type": "PREC_LEFT",
          "value": 5,
          "content": {
            "type": "SEQ",
            "members": [
              {
                "type": "FIELD",
                "name": "left",
                "content": {
                  "type": "SYMBOL",
                  "name": "expression"
                }
              },
              {
                "type": "FIELD",
                "name": "operator",
                "content": {
                  "type": "STRING",
                  "value": "<<"
                }
              },
              {
                "type": "FIELD",
                "name": "right",
                "content": {
                  "type": "SYMBOL",
                  "name": "expression"
                }
              }
            ]
          }
        },
        {
          "type": "PREC_LEFT",
          "value": 5,
          "content": {
            "type": "SEQ",
            "members": [
              {
                "type": "FIELD",
                "name": "left",
                "content": {
                  "type": "SYMBOL",
                  "name": "expression"
                }
              },
              {
                "type": "FIELD",
                "name": "operator",
                "content": {
                  "type": "STRING",
                  "value": ">>"
                }
              },
              {
                "type": "FIELD",
                "name": "right",
                "content": {
                  "type": "SYMBOL",
                  "name": "expression"
                }
              }
            ]
          }
        },
        {
          "type": "PREC_LEFT",
          "value": 5,
          "content": {
            "type": "SEQ",
            "members": [
              {
                "type": "FIELD",
                "name": "left",
                "content": {
                  "type": "SYMBOL",
                  "name": "expression"
                }
              },
              {
                "type": "FIELD",
                "name": "operator",
                "content": {
                  "type": "STRING",
                  "value": "<<|"
                }
              },
              {
                "type": "FIELD",
                "name": "right",
                "content": {
                  "type": "SYMBOL",
                  "name": "expression"
                }
              }
            ]
          }
        },
        {
          "type": "PREC_LEFT",
          "value": 6,
          "content": {
            "type": "SEQ",
            "members": [
              {
                "type": "FIELD",
                "name": "left",
                "content": {
                  "type": "SYMBOL",
                  "name": "expression"
                }
              },
              {
                "type": "FIELD",
                "name": "operator",
                "content": {
                  "type": "STRING",
                  "value": "+"
                }
              },
              {
                "type": "FIELD",
                "name": "right",
                "content": {
                  "type": "SYMBOL",
                  "name": "expression"
                }
              }
            ]
          }
        },
        {
          "type": "PREC_LEFT",
          "value": 6,
          "content": {
            "type": "SEQ",
            "members": [
              {
                "type": "FIELD",
                "name": "left",
                "content": {
                  "type": "SYMBOL",
                  "name": "expression"
                }
              },
              {
                "type": "FIELD",
                "name": "operator",
                "content": {
                  "type": "STRING",
                  "value": "-"
                }
              },
              {
                "type": "FIELD",
                "name": "right",
                "content": {
                  "type": "SYMBOL",
                  "name": "expression"
                }
              }
            ]
          }
        },
        {
          "type": "PREC_LEFT",
          "value": 6,
          "content": {
            "type": "SEQ",
            "members": [
              {
                "type": "FIELD",
                "name": "left",
                "content": {
                  "type": "SYMBOL",
                  "name": "expression"
                }
              },
              {
                "type": "FIELD",
                "name": "operator",
                "content": {
                  "type": "STRING",
                  "value": "++"
                }
              },
              {
                "type": "FIELD",
                "name": "right",
                "content": {
                  "type": "SYMBOL",
                  "name": "expression"
                }
              }
            ]
          }
        },
        {
          "type": "PREC_LEFT",
          "value": 6,
          "content": {
            "type": "SEQ",
            "members": [
              {
                "type": "FIELD",
                "name": "left",
                "content": {
                  "type": "SYMBOL",
                  "name": "expression"
                }
              },
              {
                "type": "FIELD",
                "name": "operator",
                "content": {
                  "type": "STRING",
                  "value": "+%"
                }
              },
              {
                "type": "FIELD",
                "name": "right",
                "content": {
                  "type": "SYMBOL",
                  "name": "expression"
                }
              }
            ]
          }
        },
        {
          "type": "PREC_LEFT",
          "value": 6,
          "content": {
            "type": "SEQ",
            "members": [
              {
                "type": "FIELD",
                "name": "left",
                "content": {
                  "type": "SYMBOL",
                  "name": "expression"
                }
              },
              {
                "type": "FIELD",
                "name": "operator",
                "content": {
                  "type": "STRING",
                  "value": "-%"
                }
              },
              {
                "type": "FIELD",
                "name": "right",
                "content": {
                  "type": "SYMBOL",
                  "name": "expression"
                }
              }
            ]
          }
        },
        {
          "type": "PREC_LEFT",
          "value": 6,
          "content": {
            "type": "SEQ",
            "members": [
              {
                "type": "FIELD",
                "name": "left",
                "content": {
                  "type": "SYMBOL",
                  "name": "expression"
                }
              },
              {
                "type": "FIELD",
                "name": "operator",
                "content": {
                  "type": "STRING",
                  "value": "+|"
                }
              },
              {
                "type": "FIELD",
                "name": "right",
                "content": {
                  "type": "SYMBOL",
                  "name": "expression"
                }
              }
            ]
          }
        },
        {
          "type": "PREC_LEFT",
          "value": 6,
          "content": {
            "type": "SEQ",
            "members": [
              {
                "type": "FIELD",
                "name": "left",
                "content": {
                  "type": "SYMBOL",
                  "name": "expression"
                }
              },
              {
                "type": "FIELD",
                "name": "operator",
                "content": {
                  "type": "STRING",
                  "value": "-|"
                }
              },
              {
                "type": "FIELD",
                "name": "right",
                "content": {
                  "type": "SYMBOL",
                  "name": "expression"
                }
              }
            ]
          }
        },
        {
          "type": "PREC_LEFT",
          "value": 7,
          "content": {
            "type": "SEQ",
            "members": [
              {
                "type": "FIELD",
                "name": "left",
                "content": {
                  "type": "SYMBOL",
                  "name": "expression"
                }
              },
              {
                "type": "FIELD",
                "name": "operator",
                "content": {
                  "type": "STRING",
                  "value": "*"
                }
              },
              {
                "type": "FIELD",
                "name": "right",
                "content": {
                  "type": "SYMBOL",
                  "name": "expression"
                }
              }
            ]
          }
        },
        {
          "type": "PREC_LEFT",
          "value": 7,
          "content": {
            "type": "SEQ",
            "members": [
              {
                "type": "FIELD",
                "name": "left",
                "content": {
                  "type": "SYMBOL",
                  "name": "expression"
                }
              },
              {
                "type": "FIELD",
                "name": "operator",
                "content": {
                  "type": "STRING",
                  "value": "/"
                }
              },
              {
                "type": "FIELD",
                "name": "right",
                "content": {
                  "type": "SYMBOL",
                  "name": "expression"
                }
              }
            ]
          }
        },
        {
          "type": "PREC_LEFT",
          "value": 7,
          "content": {
            "type": "SEQ",
            "members": [
              {
                "type": "FIELD",
                "name": "left",
                "content": {
                  "type": "SYMBOL",
                  "name": "expression"
                }
              },
              {
                "type": "FIELD",
                "name": "operator",
                "content": {
                  "type": "STRING",
                  "value": "%"
                }
              },
              {
                "type": "FIELD",
                "name": "right",
                "content": {
                  "type": "SYMBOL",
                  "name": "expression"
                }
              }
            ]
          }
        },
        {
          "type": "PREC_LEFT",
          "value": 7,
          "content": {
            "type": "SEQ",
            "members": [
              {
                "type": "FIELD",
                "name": "left",
                "content": {
                  "type": "SYMBOL",
                  "name": "expression"
                }
              },
              {
                "type": "FIELD",
                "name": "operator",
                "content": {
                  "type": "STRING",
                  "value": "**"
                }
              },
              {
                "type": "FIELD",
                "name": "right",
                "content": {
                  "type": "SYMBOL",
                  "name": "expression"
                }
              }
            ]
          }
        },
        {
          "type": "PREC_LEFT",
          "value": 7,
          "content": {
            "type": "SEQ",
            "members": [
              {
                "type": "FIELD",
                "name": "left",
                "content": {
                  "type": "SYMBOL",
                  "name": "expression"
                }
              },
              {
                "type": "FIELD",
                "name": "operator",
                "content": {
                  "type": "STRING",
                  "value": "*%"
                }
              },
              {
                "type": "FIELD",
                "name": "right",
                "content": {
                  "type": "SYMBOL",
                  "name": "expression"
                }
              }
            ]
          }
        },
        {
          "type": "PREC_LEFT",
          "value": 7,
          "content": {
            "type": "SEQ",
            "members": [
              {
                "type": "FIELD",
                "name": "left",
                "content": {
                  "type": "SYMBOL",
                  "name": "expression"
                }
              },
              {
                "type": "FIELD",
                "name": "operator",
                "content": {
                  "type": "STRING",
                  "value": "*|"
                }
              },
              {
                "type": "FIELD",
                "name": "right",
                "content": {
                  "type": "SYMBOL",
                  "name": "expression"
                }
              }
            ]
          }
        },
        {
          "type": "PREC_LEFT",
          "value": 7,
          "content": {
            "type": "SEQ",
            "members": [
              {
                "type": "FIELD",
                "name": "left",
                "content": {
                  "type": "SYMBOL",
                  "name": "expression"
                }
              },
              {
                "type": "FIELD",
                "name": "operator",
                "content": {
                  "type": "STRING",
                  "value": "||"
                }
              },
              {
                "type": "FIELD",
                "name": "right",
                "content": {
                  "type": "SYMBOL",
                  "name": "expression"
                }
              }
            ]
          }
        }
      ]
    },
    "comptime_expression": {
      "type": "PREC_RIGHT",
      "value": 0,
      "content": {
        "type": "SEQ",
        "members": [
          {
            "type": "STRING",
            "value": "comptime"
          },
          {
            "type": "SYMBOL",
            "name": "expression"
          }
        ]
      }
    },
    "async_expression": {
      "type": "PREC_RIGHT",
      "value": 0,
      "content": {
        "type": "SEQ",
        "members": [
          {
            "type": "STRING",
            "value": "async"
          },
          {
            "type": "SYMBOL",
            "name": "expression"
          }
        ]
      }
    },
    "await_expression": {
      "type": "PREC_RIGHT",
      "value": 0,
      "content": {
        "type": "SEQ",
        "members": [
          {
            "type": "STRING",
            "value": "await"
          },
          {
            "type": "SYMBOL",
            "name": "expression"
          }
        ]
      }
    },
    "nosuspend_expression": {
      "type": "PREC_RIGHT",
      "value": 0,
      "content": {
        "type": "SEQ",
        "members": [
          {
            "type": "STRING",
            "value": "nosuspend"
          },
          {
            "type": "SYMBOL",
            "name": "expression"
          }
        ]
      }
    },
    "continue_expression": {
      "type": "PREC_RIGHT",
      "value": 0,
      "content": {
        "type": "SEQ",
        "members": [
          {
            "type": "STRING",
            "value": "continue"
          },
          {
            "type": "CHOICE",
            "members": [
              {
                "type": "SYMBOL",
                "name": "break_label"
              },
              {
                "type": "BLANK"
              }
            ]
          },
          {
            "type": "CHOICE",
            "members": [
              {
                "type": "SYMBOL",
                "name": "expression"
              },
              {
                "type": "BLANK"
              }
            ]
          }
        ]
      }
    },
    "resume_expression": {
      "type": "PREC_RIGHT",
      "value": 0,
      "content": {
        "type": "SEQ",
        "members": [
          {
            "type": "STRING",
            "value": "resume"
          },
          {
            "type": "SYMBOL",
            "name": "expression"
          }
        ]
      }
    },
    "return_expression": {
      "type": "PREC_RIGHT",
      "value": 0,
      "content": {
        "type": "SEQ",
        "members": [
          {
            "type": "STRING",
            "value": "return"
          },
          {
            "type": "CHOICE",
            "members": [
              {
                "type": "SYMBOL",
                "name": "expression"
              },
              {
                "type": "BLANK"
              }
            ]
          }
        ]
      }
    },
    "break_expression": {
      "type": "PREC_RIGHT",
      "value": 0,
      "content": {
        "type": "SEQ",
        "members": [
          {
            "type": "STRING",
            "value": "break"
          },
          {
            "type": "CHOICE",
            "members": [
              {
                "type": "SYMBOL",
                "name": "break_label"
              },
              {
                "type": "BLANK"
              }
            ]
          },
          {
            "type": "CHOICE",
            "members": [
              {
                "type": "SYMBOL",
                "name": "expression"
              },
              {
                "type": "BLANK"
              }
            ]
          }
        ]
      }
    },
    "try_expression": {
      "type": "PREC_RIGHT",
      "value": 4,
      "content": {
        "type": "SEQ",
        "members": [
          {
            "type": "STRING",
            "value": "try"
          },
          {
            "type": "SYMBOL",
            "name": "expression"
          }
        ]
      }
    },
    "catch_expression": {
      "type": "PREC_RIGHT",
      "value": 4,
      "content": {
        "type": "SEQ",
        "members": [
          {
            "type": "SYMBOL",
            "name": "expression"
          },
          {
            "type": "STRING",
            "value": "catch"
          },
          {
            "type": "CHOICE",
            "members": [
              {
                "type": "SYMBOL",
                "name": "payload"
              },
              {
                "type": "BLANK"
              }
            ]
          },
          {
            "type": "SYMBOL",
            "name": "expression"
          }
        ]
      }
    },
    "switch_expression": {
      "type": "SEQ",
      "members": [
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "block_label"
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "STRING",
          "value": "switch"
        },
        {
          "type": "STRING",
          "value": "("
        },
        {
          "type": "SYMBOL",
          "name": "expression"
        },
        {
          "type": "STRING",
          "value": ")"
        },
        {
          "type": "STRING",
          "value": "{"
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SEQ",
              "members": [
                {
                  "type": "SEQ",
                  "members": [
                    {
                      "type": "SYMBOL",
                      "name": "switch_case"
                    },
                    {
                      "type": "REPEAT",
                      "content": {
                        "type": "SEQ",
                        "members": [
                          {
                            "type": "STRING",
                            "value": ","
                          },
                          {
                            "type": "SYMBOL",
                            "name": "switch_case"
                          }
                        ]
                      }
                    }
                  ]
                },
                {
                  "type": "CHOICE",
                  "members": [
                    {
                      "type": "STRING",
                      "value": ","
                    },
                    {
                      "type": "BLANK"
                    }
                  ]
                }
              ]
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "STRING",
          "value": "}"
        }
      ]
    },
    "switch_case": {
      "type": "SEQ",
      "members": [
        {
          "type": "SYMBOL",
          "name": "_switch_case_exp"
        },
        {
          "type": "STRING",
          "value": "=>"
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "payload"
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "expression"
            }
          ]
        }
      ]
    },
    "_switch_case_exp": {
      "type": "SEQ",
      "members": [
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "STRING",
              "value": "inline"
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SEQ",
              "members": [
                {
                  "type": "SEQ",
                  "members": [
                    {
                      "type": "SEQ",
                      "members": [
                        {
                          "type": "SYMBOL",
                          "name": "expression"
                        },
                        {
                          "type": "CHOICE",
                          "members": [
                            {
                              "type": "SEQ",
                              "members": [
                                {
                                  "type": "STRING",
                                  "value": "..."
                                },
                                {
                                  "type": "SYMBOL",
                                  "name": "expression"
                                }
                              ]
                            },
                            {
                              "type": "BLANK"
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "type": "REPEAT",
                      "content": {
                        "type": "SEQ",
                        "members": [
                          {
                            "type": "STRING",
                            "value": ","
                          },
                          {
                            "type": "SEQ",
                            "members": [
                              {
                                "type": "SYMBOL",
                                "name": "expression"
                              },
                              {
                                "type": "CHOICE",
                                "members": [
                                  {
                                    "type": "SEQ",
                                    "members": [
                                      {
                                        "type": "STRING",
                                        "value": "..."
                                      },
                                      {
                                        "type": "SYMBOL",
                                        "name": "expression"
                                      }
                                    ]
                                  },
                                  {
                                    "type": "BLANK"
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    }
                  ]
                },
                {
                  "type": "CHOICE",
                  "members": [
                    {
                      "type": "STRING",
                      "value": ","
                    },
                    {
                      "type": "BLANK"
                    }
                  ]
                }
              ]
            },
            {
              "type": "STRING",
              "value": "else"
            }
          ]
        }
      ]
    },
    "type_expression": {
      "type": "PREC_RIGHT",
      "value": 0,
      "content": {
        "type": "CHOICE",
        "members": [
          {
            "type": "SYMBOL",
            "name": "anonymous_struct_initializer"
          },
          {
            "type": "SYMBOL",
            "name": "struct_initializer"
          },
          {
            "type": "SYMBOL",
            "name": "labeled_type_expression"
          },
          {
            "type": "SYMBOL",
            "name": "error_set_declaration"
          },
          {
            "type": "SYMBOL",
            "name": "parenthesized_expression"
          },
          {
            "type": "SYMBOL",
            "name": "primary_type_expression"
          }
        ]
      }
    },
    "primary_type_expression": {
      "type": "CHOICE",
      "members": [
        {
          "type": "SYMBOL",
          "name": "nullable_type"
        },
        {
          "type": "SYMBOL",
          "name": "anyframe_type"
        },
        {
          "type": "SYMBOL",
          "name": "slice_type"
        },
        {
          "type": "SYMBOL",
          "name": "pointer_type"
        },
        {
          "type": "SYMBOL",
          "name": "array_type"
        },
        {
          "type": "SYMBOL",
          "name": "error_union_type"
        },
        {
          "type": "SYMBOL",
          "name": "builtin_function"
        },
        {
          "type": "SYMBOL",
          "name": "character"
        },
        {
          "type": "SYMBOL",
          "name": "field_expression"
        },
        {
          "type": "SYMBOL",
          "name": "index_expression"
        },
        {
          "type": "SYMBOL",
          "name": "dereference_expression"
        },
        {
          "type": "SYMBOL",
          "name": "null_coercion_expression"
        },
        {
          "type": "SYMBOL",
          "name": "range_expression"
        },
        {
          "type": "SYMBOL",
          "name": "call_expression"
        },
        {
          "type": "PREC_RIGHT",
          "value": 0,
          "content": {
            "type": "ALIAS",
            "content": {
              "type": "SYMBOL",
              "name": "_function_prototype"
            },
            "named": true,
            "value": "function_signature"
          }
        },
        {
          "type": "SYMBOL",
          "name": "identifier"
        },
        {
          "type": "SYMBOL",
          "name": "float"
        },
        {
          "type": "SYMBOL",
          "name": "integer"
        },
        {
          "type": "SYMBOL",
          "name": "boolean"
        },
        {
          "type": "SYMBOL",
          "name": "error_type"
        },
        {
          "type": "STRING",
          "value": "anyframe"
        },
        {
          "type": "STRING",
          "value": "unreachable"
        },
        {
          "type": "STRING",
          "value": "undefined"
        },
        {
          "type": "STRING",
          "value": "null"
        },
        {
          "type": "SYMBOL",
          "name": "string"
        },
        {
          "type": "SYMBOL",
          "name": "multiline_string"
        },
        {
          "type": "SYMBOL",
          "name": "builtin_type"
        },
        {
          "type": "SYMBOL",
          "name": "struct_declaration"
        },
        {
          "type": "SYMBOL",
          "name": "opaque_declaration"
        },
        {
          "type": "SYMBOL",
          "name": "enum_declaration"
        },
        {
          "type": "SYMBOL",
          "name": "union_declaration"
        },
        {
          "type": "SYMBOL",
          "name": "switch_expression"
        }
      ]
    },
    "nullable_type": {
      "type": "PREC",
      "value": 1,
      "content": {
        "type": "SEQ",
        "members": [
          {
            "type": "STRING",
            "value": "?"
          },
          {
            "type": "CHOICE",
            "members": [
              {
                "type": "SYMBOL",
                "name": "type_expression"
              },
              {
                "type": "SYMBOL",
                "name": "if_type_expression"
              },
              {
                "type": "SYMBOL",
                "name": "comptime_type_expression"
              }
            ]
          }
        ]
      }
    },
    "anyframe_type": {
      "type": "PREC",
      "value": 1,
      "content": {
        "type": "SEQ",
        "members": [
          {
            "type": "STRING",
            "value": "anyframe"
          },
          {
            "type": "STRING",
            "value": "->"
          },
          {
            "type": "SYMBOL",
            "name": "type_expression"
          }
        ]
      }
    },
    "slice_type": {
      "type": "PREC_RIGHT",
      "value": 1,
      "content": {
        "type": "SEQ",
        "members": [
          {
            "type": "STRING",
            "value": "["
          },
          {
            "type": "CHOICE",
            "members": [
              {
                "type": "SEQ",
                "members": [
                  {
                    "type": "STRING",
                    "value": ":"
                  },
                  {
                    "type": "FIELD",
                    "name": "sentinel",
                    "content": {
                      "type": "SYMBOL",
                      "name": "expression"
                    }
                  }
                ]
              },
              {
                "type": "BLANK"
              }
            ]
          },
          {
            "type": "STRING",
            "value": "]"
          },
          {
            "type": "REPEAT",
            "content": {
              "type": "CHOICE",
              "members": [
                {
                  "type": "SYMBOL",
                  "name": "byte_alignment"
                },
                {
                  "type": "SYMBOL",
                  "name": "address_space"
                },
                {
                  "type": "STRING",
                  "value": "const"
                },
                {
                  "type": "STRING",
                  "value": "volatile"
                },
                {
                  "type": "STRING",
                  "value": "allowzero"
                }
              ]
            }
          },
          {
            "type": "SYMBOL",
            "name": "type_expression"
          }
        ]
      }
    },
    "pointer_type": {
      "type": "PREC_RIGHT",
      "value": 1,
      "content": {
        "type": "SEQ",
        "members": [
          {
            "type": "CHOICE",
            "members": [
              {
                "type": "STRING",
                "value": "*"
              },
              {
                "type": "SEQ",
                "members": [
                  {
                    "type": "STRING",
                    "value": "["
                  },
                  {
                    "type": "STRING",
                    "value": "*"
                  },
                  {
                    "type": "CHOICE",
                    "members": [
                      {
                        "type": "CHOICE",
                        "members": [
                          {
                            "type": "STRING",
                            "value": "c"
                          },
                          {
                            "type": "SEQ",
                            "members": [
                              {
                                "type": "STRING",
                                "value": ":"
                              },
                              {
                                "type": "SYMBOL",
                                "name": "expression"
                              }
                            ]
                          }
                        ]
                      },
                      {
                        "type": "BLANK"
                      }
                    ]
                  },
                  {
                    "type": "STRING",
                    "value": "]"
                  }
                ]
              }
            ]
          },
          {
            "type": "REPEAT",
            "content": {
              "type": "CHOICE",
              "members": [
                {
                  "type": "SYMBOL",
                  "name": "address_space"
                },
                {
                  "type": "SEQ",
                  "members": [
                    {
                      "type": "STRING",
                      "value": "align"
                    },
                    {
                      "type": "STRING",
                      "value": "("
                    },
                    {
                      "type": "SYMBOL",
                      "name": "expression"
                    },
                    {
                      "type": "CHOICE",
                      "members": [
                        {
                          "type": "SEQ",
                          "members": [
                            {
                              "type": "STRING",
                              "value": ":"
                            },
                            {
                              "type": "SYMBOL",
                              "name": "expression"
                            },
                            {
                              "type": "STRING",
                              "value": ":"
                            },
                            {
                              "type": "SYMBOL",
                              "name": "expression"
                            }
                          ]
                        },
                        {
                          "type": "BLANK"
                        }
                      ]
                    },
                    {
                      "type": "STRING",
                      "value": ")"
                    }
                  ]
                },
                {
                  "type": "STRING",
                  "value": "const"
                },
                {
                  "type": "STRING",
                  "value": "volatile"
                },
                {
                  "type": "STRING",
                  "value": "allowzero"
                }
              ]
            }
          },
          {
            "type": "SYMBOL",
            "name": "type_expression"
          }
        ]
      }
    },
    "array_type": {
      "type": "PREC",
      "value": 1,
      "content": {
        "type": "SEQ",
        "members": [
          {
            "type": "STRING",
            "value": "["
          },
          {
            "type": "SYMBOL",
            "name": "expression"
          },
          {
            "type": "CHOICE",
            "members": [
              {
                "type": "SEQ",
                "members": [
                  {
                    "type": "STRING",
                    "value": ":"
                  },
                  {
                    "type": "SYMBOL",
                    "name": "expression"
                  }
                ]
              },
              {
                "type": "BLANK"
              }
            ]
          },
          {
            "type": "STRING",
            "value": "]"
          },
          {
            "type": "SYMBOL",
            "name": "type_expression"
          }
        ]
      }
    },
    "error_union_type": {
      "type": "PREC_RIGHT",
      "value": 2,
      "content": {
        "type": "SEQ",
        "members": [
          {
            "type": "CHOICE",
            "members": [
              {
                "type": "FIELD",
                "name": "error",
                "content": {
                  "type": "SYMBOL",
                  "name": "type_expression"
                }
              },
              {
                "type": "BLANK"
              }
            ]
          },
          {
            "type": "STRING",
            "value": "!"
          },
          {
            "type": "FIELD",
            "name": "ok",
            "content": {
              "type": "SYMBOL",
              "name": "type_expression"
            }
          }
        ]
      }
    },
    "field_expression": {
      "type": "PREC",
      "value": 10,
      "content": {
        "type": "SEQ",
        "members": [
          {
            "type": "CHOICE",
            "members": [
              {
                "type": "FIELD",
                "name": "object",
                "content": {
                  "type": "SYMBOL",
                  "name": "expression"
                }
              },
              {
                "type": "BLANK"
              }
            ]
          },
          {
            "type": "STRING",
            "value": "."
          },
          {
            "type": "FIELD",
            "name": "member",
            "content": {
              "type": "SYMBOL",
              "name": "identifier"
            }
          }
        ]
      }
    },
    "index_expression": {
      "type": "PREC",
      "value": 10,
      "content": {
        "type": "SEQ",
        "members": [
          {
            "type": "FIELD",
            "name": "object",
            "content": {
              "type": "SYMBOL",
              "name": "expression"
            }
          },
          {
            "type": "STRING",
            "value": "["
          },
          {
            "type": "FIELD",
            "name": "index",
            "content": {
              "type": "SYMBOL",
              "name": "expression"
            }
          },
          {
            "type": "CHOICE",
            "members": [
              {
                "type": "SEQ",
                "members": [
                  {
                    "type": "STRING",
                    "value": ":"
                  },
                  {
                    "type": "FIELD",
                    "name": "sentinel",
                    "content": {
                      "type": "SYMBOL",
                      "name": "expression"
                    }
                  }
                ]
              },
              {
                "type": "BLANK"
              }
            ]
          },
          {
            "type": "STRING",
            "value": "]"
          }
        ]
      }
    },
    "dereference_expression": {
      "type": "PREC",
      "value": 10,
      "content": {
        "type": "SEQ",
        "members": [
          {
            "type": "SYMBOL",
            "name": "expression"
          },
          {
            "type": "STRING",
            "value": ".*"
          }
        ]
      }
    },
    "null_coercion_expression": {
      "type": "PREC",
      "value": 10,
      "content": {
        "type": "SEQ",
        "members": [
          {
            "type": "SYMBOL",
            "name": "expression"
          },
          {
            "type": "STRING",
            "value": ".?"
          }
        ]
      }
    },
    "range_expression": {
      "type": "PREC_RIGHT",
      "value": 10,
      "content": {
        "type": "SEQ",
        "members": [
          {
            "type": "FIELD",
            "name": "left",
            "content": {
              "type": "SYMBOL",
              "name": "expression"
            }
          },
          {
            "type": "STRING",
            "value": ".."
          },
          {
            "type": "CHOICE",
            "members": [
              {
                "type": "FIELD",
                "name": "right",
                "content": {
                  "type": "SYMBOL",
                  "name": "expression"
                }
              },
              {
                "type": "BLANK"
              }
            ]
          }
        ]
      }
    },
    "call_expression": {
      "type": "PREC",
      "value": 10,
      "content": {
        "type": "SEQ",
        "members": [
          {
            "type": "FIELD",
            "name": "function",
            "content": {
              "type": "SYMBOL",
              "name": "expression"
            }
          },
          {
            "type": "FIELD",
            "name": "arguments",
            "content": {
              "type": "SYMBOL",
              "name": "arguments"
            }
          }
        ]
      }
    },
    "anonymous_struct_initializer": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "."
        },
        {
          "type": "SYMBOL",
          "name": "initializer_list"
        }
      ]
    },
    "struct_initializer": {
      "type": "PREC",
      "value": -1,
      "content": {
        "type": "SEQ",
        "members": [
          {
            "type": "SYMBOL",
            "name": "primary_type_expression"
          },
          {
            "type": "SYMBOL",
            "name": "initializer_list"
          }
        ]
      }
    },
    "initializer_list": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "{"
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "CHOICE",
              "members": [
                {
                  "type": "SEQ",
                  "members": [
                    {
                      "type": "SEQ",
                      "members": [
                        {
                          "type": "SYMBOL",
                          "name": "field_initializer"
                        },
                        {
                          "type": "REPEAT",
                          "content": {
                            "type": "SEQ",
                            "members": [
                              {
                                "type": "STRING",
                                "value": ","
                              },
                              {
                                "type": "SYMBOL",
                                "name": "field_initializer"
                              }
                            ]
                          }
                        }
                      ]
                    },
                    {
                      "type": "CHOICE",
                      "members": [
                        {
                          "type": "STRING",
                          "value": ","
                        },
                        {
                          "type": "BLANK"
                        }
                      ]
                    }
                  ]
                },
                {
                  "type": "BLANK"
                }
              ]
            },
            {
              "type": "CHOICE",
              "members": [
                {
                  "type": "SEQ",
                  "members": [
                    {
                      "type": "SEQ",
                      "members": [
                        {
                          "type": "SYMBOL",
                          "name": "expression"
                        },
                        {
                          "type": "REPEAT",
                          "content": {
                            "type": "SEQ",
                            "members": [
                              {
                                "type": "STRING",
                                "value": ","
                              },
                              {
                                "type": "SYMBOL",
                                "name": "expression"
                              }
                            ]
                          }
                        }
                      ]
                    },
                    {
                      "type": "CHOICE",
                      "members": [
                        {
                          "type": "STRING",
                          "value": ","
                        },
                        {
                          "type": "BLANK"
                        }
                      ]
                    }
                  ]
                },
                {
                  "type": "BLANK"
                }
              ]
            }
          ]
        },
        {
          "type": "STRING",
          "value": "}"
        }
      ]
    },
    "field_initializer": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "."
        },
        {
          "type": "SYMBOL",
          "name": "identifier"
        },
        {
          "type": "STRING",
          "value": "="
        },
        {
          "type": "SYMBOL",
          "name": "expression"
        }
      ]
    },
    "labeled_type_expression": {
      "type": "SEQ",
      "members": [
        {
          "type": "SYMBOL",
          "name": "block_label"
        },
        {
          "type": "SYMBOL",
          "name": "block"
        }
      ]
    },
    "comptime_type_expression": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "comptime"
        },
        {
          "type": "SYMBOL",
          "name": "type_expression"
        }
      ]
    },
    "if_type_expression": {
      "type": "PREC_RIGHT",
      "value": 0,
      "content": {
        "type": "SEQ",
        "members": [
          {
            "type": "SYMBOL",
            "name": "_if_prefix"
          },
          {
            "type": "SYMBOL",
            "name": "type_expression"
          },
          {
            "type": "CHOICE",
            "members": [
              {
                "type": "SEQ",
                "members": [
                  {
                    "type": "STRING",
                    "value": "else"
                  },
                  {
                    "type": "CHOICE",
                    "members": [
                      {
                        "type": "SYMBOL",
                        "name": "payload"
                      },
                      {
                        "type": "BLANK"
                      }
                    ]
                  },
                  {
                    "type": "SYMBOL",
                    "name": "type_expression"
                  }
                ]
              },
              {
                "type": "BLANK"
              }
            ]
          }
        ]
      }
    },
    "parenthesized_expression": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "("
        },
        {
          "type": "SYMBOL",
          "name": "expression"
        },
        {
          "type": "STRING",
          "value": ")"
        }
      ]
    },
    "block_label": {
      "type": "PREC",
      "value": -1,
      "content": {
        "type": "SEQ",
        "members": [
          {
            "type": "CHOICE",
            "members": [
              {
                "type": "SYMBOL",
                "name": "identifier"
              },
              {
                "type": "ALIAS",
                "content": {
                  "type": "SYMBOL",
                  "name": "builtin_type"
                },
                "named": true,
                "value": "identifier"
              }
            ]
          },
          {
            "type": "STRING",
            "value": ":"
          }
        ]
      }
    },
    "break_label": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": ":"
        },
        {
          "type": "SYMBOL",
          "name": "identifier"
        }
      ]
    },
    "arguments": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "("
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SEQ",
              "members": [
                {
                  "type": "SEQ",
                  "members": [
                    {
                      "type": "SYMBOL",
                      "name": "expression"
                    },
                    {
                      "type": "REPEAT",
                      "content": {
                        "type": "SEQ",
                        "members": [
                          {
                            "type": "STRING",
                            "value": ","
                          },
                          {
                            "type": "SYMBOL",
                            "name": "expression"
                          }
                        ]
                      }
                    }
                  ]
                },
                {
                  "type": "CHOICE",
                  "members": [
                    {
                      "type": "STRING",
                      "value": ","
                    },
                    {
                      "type": "BLANK"
                    }
                  ]
                }
              ]
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "STRING",
          "value": ")"
        }
      ]
    },
    "builtin_function": {
      "type": "SEQ",
      "members": [
        {
          "type": "SYMBOL",
          "name": "builtin_identifier"
        },
        {
          "type": "SYMBOL",
          "name": "arguments"
        }
      ]
    },
    "string": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "\""
        },
        {
          "type": "REPEAT",
          "content": {
            "type": "CHOICE",
            "members": [
              {
                "type": "ALIAS",
                "content": {
                  "type": "IMMEDIATE_TOKEN",
                  "content": {
                    "type": "PREC",
                    "value": 1,
                    "content": {
                      "type": "PATTERN",
                      "value": "[^\\\\\"\\n]+"
                    }
                  }
                },
                "named": true,
                "value": "string_content"
              },
              {
                "type": "SYMBOL",
                "name": "escape_sequence"
              }
            ]
          }
        },
        {
          "type": "STRING",
          "value": "\""
        }
      ]
    },
    "multiline_string": {
      "type": "PREC_RIGHT",
      "value": 0,
      "content": {
        "type": "REPEAT1",
        "content": {
          "type": "TOKEN",
          "content": {
            "type": "SEQ",
            "members": [
              {
                "type": "STRING",
                "value": "\\\\"
              },
              {
                "type": "PATTERN",
                "value": "[^\\n]*"
              }
            ]
          }
        }
      }
    },
    "escape_sequence": {
      "type": "TOKEN",
      "content": {
        "type": "PREC",
        "value": 1,
        "content": {
          "type": "SEQ",
          "members": [
            {
              "type": "STRING",
              "value": "\\"
            },
            {
              "type": "CHOICE",
              "members": [
                {
                  "type": "PATTERN",
                  "value": "[^xuU]"
                },
                {
                  "type": "PATTERN",
                  "value": "\\d{2,3}"
                },
                {
                  "type": "PATTERN",
                  "value": "x[0-9a-fA-F]{2,}"
                },
                {
                  "type": "PATTERN",
                  "value": "u\\{[0-9a-fA-F]{1,6}\\}"
                }
              ]
            }
          ]
        }
      }
    },
    "character": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "'"
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "ALIAS",
              "content": {
                "type": "PATTERN",
                "value": "[^'\\n]"
              },
              "named": true,
              "value": "character_content"
            },
            {
              "type": "SYMBOL",
              "name": "escape_sequence"
            }
          ]
        },
        {
          "type": "STRING",
          "value": "'"
        }
      ]
    },
    "integer": {
      "type": "TOKEN",
      "content": {
        "type": "CHOICE",
        "members": [
          {
            "type": "SEQ",
            "members": [
              {
                "type": "STRING",
                "value": "0x"
              },
              {
                "type": "SEQ",
                "members": [
                  {
                    "type": "REPEAT1",
                    "content": {
                      "type": "PATTERN",
                      "value": "[0-9A-Fa-f]"
                    }
                  },
                  {
                    "type": "REPEAT",
                    "content": {
                      "type": "SEQ",
                      "members": [
                        {
                          "type": "STRING",
                          "value": "_"
                        },
                        {
                          "type": "REPEAT1",
                          "content": {
                            "type": "PATTERN",
                            "value": "[0-9A-Fa-f]"
                          }
                        }
                      ]
                    }
                  }
                ]
              }
            ]
          },
          {
            "type": "SEQ",
            "members": [
              {
                "type": "STRING",
                "value": "0o"
              },
              {
                "type": "SEQ",
                "members": [
                  {
                    "type": "REPEAT1",
                    "content": {
                      "type": "PATTERN",
                      "value": "[0-7]"
                    }
                  },
                  {
                    "type": "REPEAT",
                    "content": {
                      "type": "SEQ",
                      "members": [
                        {
                          "type": "STRING",
                          "value": "_"
                        },
                        {
                          "type": "REPEAT1",
                          "content": {
                            "type": "PATTERN",
                            "value": "[0-7]"
                          }
                        }
                      ]
                    }
                  }
                ]
              }
            ]
          },
          {
            "type": "SEQ",
            "members": [
              {
                "type": "STRING",
                "value": "0b"
              },
              {
                "type": "SEQ",
                "members": [
                  {
                    "type": "REPEAT1",
                    "content": {
                      "type": "PATTERN",
                      "value": "[0-1]"
                    }
                  },
                  {
                    "type": "REPEAT",
                    "content": {
                      "type": "SEQ",
                      "members": [
                        {
                          "type": "STRING",
                          "value": "_"
                        },
                        {
                          "type": "REPEAT1",
                          "content": {
                            "type": "PATTERN",
                            "value": "[0-1]"
                          }
                        }
                      ]
                    }
                  }
                ]
              }
            ]
          },
          {
            "type": "SEQ",
            "members": [
              {
                "type": "REPEAT1",
                "content": {
                  "type": "PATTERN",
                  "value": "[0-9]"
                }
              },
              {
                "type": "REPEAT",
                "content": {
                  "type": "SEQ",
                  "members": [
                    {
                      "type": "STRING",
                      "value": "_"
                    },
                    {
                      "type": "REPEAT1",
                      "content": {
                        "type": "PATTERN",
                        "value": "[0-9]"
                      }
                    }
                  ]
                }
              }
            ]
          }
        ]
      }
    },
    "float": {
      "type": "TOKEN",
      "content": {
        "type": "CHOICE",
        "members": [
          {
            "type": "SEQ",
            "members": [
              {
                "type": "STRING",
                "value": "0x"
              },
              {
                "type": "SEQ",
                "members": [
                  {
                    "type": "REPEAT1",
                    "content": {
                      "type": "PATTERN",
                      "value": "[0-9A-Fa-f]"
                    }
                  },
                  {
                    "type": "REPEAT",
                    "content": {
                      "type": "SEQ",
                      "members": [
                        {
                          "type": "STRING",
                          "value": "_"
                        },
                        {
                          "type": "REPEAT1",
                          "content": {
                            "type": "PATTERN",
                            "value": "[0-9A-Fa-f]"
                          }
                        }
                      ]
                    }
                  }
                ]
              },
              {
                "type": "STRING",
                "value": "."
              },
              {
                "type": "SEQ",
                "members": [
                  {
                    "type": "REPEAT1",
                    "content": {
                      "type": "PATTERN",
                      "value": "[0-9A-Fa-f]"
                    }
                  },
                  {
                    "type": "REPEAT",
                    "content": {
                      "type": "SEQ",
                      "members": [
                        {
                          "type": "STRING",
                          "value": "_"
                        },
                        {
                          "type": "REPEAT1",
                          "content": {
                            "type": "PATTERN",
                            "value": "[0-9A-Fa-f]"
                          }
                        }
                      ]
                    }
                  }
                ]
              },
              {
                "type": "CHOICE",
                "members": [
                  {
                    "type": "SEQ",
                    "members": [
                      {
                        "type": "PATTERN",
                        "value": "[pP][+-]?"
                      },
                      {
                        "type": "SEQ",
                        "members": [
                          {
                            "type": "REPEAT1",
                            "content": {
                              "type": "PATTERN",
                              "value": "[0-9]"
                            }
                          },
                          {
                            "type": "REPEAT",
                            "content": {
                              "type": "SEQ",
                              "members": [
                                {
                                  "type": "STRING",
                                  "value": "_"
                                },
                                {
                                  "type": "REPEAT1",
                                  "content": {
                                    "type": "PATTERN",
                                    "value": "[0-9]"
                                  }
                                }
                              ]
                            }
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "type": "BLANK"
                  }
                ]
              }
            ]
          },
          {
            "type": "SEQ",
            "members": [
              {
                "type": "SEQ",
                "members": [
                  {
                    "type": "REPEAT1",
                    "content": {
                      "type": "PATTERN",
                      "value": "[0-9]"
                    }
                  },
                  {
                    "type": "REPEAT",
                    "content": {
                      "type": "SEQ",
                      "members": [
                        {
                          "type": "STRING",
                          "value": "_"
                        },
                        {
                          "type": "REPEAT1",
                          "content": {
                            "type": "PATTERN",
                            "value": "[0-9]"
                          }
                        }
                      ]
                    }
                  }
                ]
              },
              {
                "type": "STRING",
                "value": "."
              },
              {
                "type": "SEQ",
                "members": [
                  {
                    "type": "REPEAT1",
                    "content": {
                      "type": "PATTERN",
                      "value": "[0-9]"
                    }
                  },
                  {
                    "type": "REPEAT",
                    "content": {
                      "type": "SEQ",
                      "members": [
                        {
                          "type": "STRING",
                          "value": "_"
                        },
                        {
                          "type": "REPEAT1",
                          "content": {
                            "type": "PATTERN",
                            "value": "[0-9]"
                          }
                        }
                      ]
                    }
                  }
                ]
              },
              {
                "type": "CHOICE",
                "members": [
                  {
                    "type": "SEQ",
                    "members": [
                      {
                        "type": "PATTERN",
                        "value": "[eE][+-]?"
                      },
                      {
                        "type": "SEQ",
                        "members": [
                          {
                            "type": "REPEAT1",
                            "content": {
                              "type": "PATTERN",
                              "value": "[0-9]"
                            }
                          },
                          {
                            "type": "REPEAT",
                            "content": {
                              "type": "SEQ",
                              "members": [
                                {
                                  "type": "STRING",
                                  "value": "_"
                                },
                                {
                                  "type": "REPEAT1",
                                  "content": {
                                    "type": "PATTERN",
                                    "value": "[0-9]"
                                  }
                                }
                              ]
                            }
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "type": "BLANK"
                  }
                ]
              }
            ]
          },
          {
            "type": "SEQ",
            "members": [
              {
                "type": "STRING",
                "value": "0x"
              },
              {
                "type": "SEQ",
                "members": [
                  {
                    "type": "REPEAT1",
                    "content": {
                      "type": "PATTERN",
                      "value": "[0-9A-Fa-f]"
                    }
                  },
                  {
                    "type": "REPEAT",
                    "content": {
                      "type": "SEQ",
                      "members": [
                        {
                          "type": "STRING",
                          "value": "_"
                        },
                        {
                          "type": "REPEAT1",
                          "content": {
                            "type": "PATTERN",
                            "value": "[0-9A-Fa-f]"
                          }
                        }
                      ]
                    }
                  }
                ]
              },
              {
                "type": "PATTERN",
                "value": "[pP][+-]?"
              },
              {
                "type": "SEQ",
                "members": [
                  {
                    "type": "REPEAT1",
                    "content": {
                      "type": "PATTERN",
                      "value": "[0-9]"
                    }
                  },
                  {
                    "type": "REPEAT",
                    "content": {
                      "type": "SEQ",
                      "members": [
                        {
                          "type": "STRING",
                          "value": "_"
                        },
                        {
                          "type": "REPEAT1",
                          "content": {
                            "type": "PATTERN",
                            "value": "[0-9]"
                          }
                        }
                      ]
                    }
                  }
                ]
              }
            ]
          },
          {
            "type": "SEQ",
            "members": [
              {
                "type": "SEQ",
                "members": [
                  {
                    "type": "REPEAT1",
                    "content": {
                      "type": "PATTERN",
                      "value": "[0-9]"
                    }
                  },
                  {
                    "type": "REPEAT",
                    "content": {
                      "type": "SEQ",
                      "members": [
                        {
                          "type": "STRING",
                          "value": "_"
                        },
                        {
                          "type": "REPEAT1",
                          "content": {
                            "type": "PATTERN",
                            "value": "[0-9]"
                          }
                        }
                      ]
                    }
                  }
                ]
              },
              {
                "type": "PATTERN",
                "value": "[eE][+-]?"
              },
              {
                "type": "SEQ",
                "members": [
                  {
                    "type": "REPEAT1",
                    "content": {
                      "type": "PATTERN",
                      "value": "[0-9]"
                    }
                  },
                  {
                    "type": "REPEAT",
                    "content": {
                      "type": "SEQ",
                      "members": [
                        {
                          "type": "STRING",
                          "value": "_"
                        },
                        {
                          "type": "REPEAT1",
                          "content": {
                            "type": "PATTERN",
                            "value": "[0-9]"
                          }
                        }
                      ]
                    }
                  }
                ]
              }
            ]
          }
        ]
      }
    },
    "boolean": {
      "type": "CHOICE",
      "members": [
        {
          "type": "STRING",
          "value": "true"
        },
        {
          "type": "STRING",
          "value": "false"
        }
      ]
    },
    "builtin_type": {
      "type": "CHOICE",
      "members": [
        {
          "type": "STRING",
          "value": "bool"
        },
        {
          "type": "STRING",
          "value": "f16"
        },
        {
          "type": "STRING",
          "value": "f32"
        },
        {
          "type": "STRING",
          "value": "f64"
        },
        {
          "type": "STRING",
          "value": "f128"
        },
        {
          "type": "STRING",
          "value": "void"
        },
        {
          "type": "STRING",
          "value": "type"
        },
        {
          "type": "STRING",
          "value": "anyerror"
        },
        {
          "type": "STRING",
          "value": "anyopaque"
        },
        {
          "type": "STRING",
          "value": "anytype"
        },
        {
          "type": "STRING",
          "value": "noreturn"
        },
        {
          "type": "STRING",
          "value": "isize"
        },
        {
          "type": "STRING",
          "value": "usize"
        },
        {
          "type": "STRING",
          "value": "comptime_int"
        },
        {
          "type": "STRING",
          "value": "comptime_float"
        },
        {
          "type": "STRING",
          "value": "c_short"
        },
        {
          "type": "STRING",
          "value": "c_ushort"
        },
        {
          "type": "STRING",
          "value": "c_int"
        },
        {
          "type": "STRING",
          "value": "c_uint"
        },
        {
          "type": "STRING",
          "value": "c_long"
        },
        {
          "type": "STRING",
          "value": "c_ulong"
        },
        {
          "type": "STRING",
          "value": "c_longlong"
        },
        {
          "type": "STRING",
          "value": "c_ulonglong"
        },
        {
          "type": "STRING",
          "value": "c_longdouble"
        },
        {
          "type": "PATTERN",
          "value": "(i|u)[1-9][0-9]*"
        }
      ]
    },
    "error_type": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "error"
        },
        {
          "type": "STRING",
          "value": "."
        },
        {
          "type": "SYMBOL",
          "name": "identifier"
        }
      ]
    },
    "builtin_identifier": {
      "type": "PATTERN",
      "value": "@[A-Za-z_][A-Za-z0-9_]*"
    },
    "identifier": {
      "type": "CHOICE",
      "members": [
        {
          "type": "SYMBOL",
          "name": "_identifier"
        },
        {
          "type": "SEQ",
          "members": [
            {
              "type": "STRING",
              "value": "@"
            },
            {
              "type": "SYMBOL",
              "name": "string"
            }
          ]
        }
      ]
    },
    "_identifier": {
      "type": "PATTERN",
      "value": "[A-Za-z_][A-Za-z0-9_]*"
    },
    "_reserved_identifier": {
      "type": "CHOICE",
      "members": [
        {
          "type": "STRING",
          "value": "undefined"
        },
        {
          "type": "STRING",
          "value": "null"
        },
        {
          "type": "STRING",
          "value": "true"
        },
        {
          "type": "STRING",
          "value": "false"
        }
      ]
    },
    "comment": {
      "type": "TOKEN",
      "content": {
        "type": "PREC",
        "value": -10,
        "content": {
          "type": "SEQ",
          "members": [
            {
              "type": "STRING",
              "value": "//"
            },
            {
              "type": "PATTERN",
              "value": ".*"
            }
          ]
        }
      }
    },
    "zx_template_string": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "`"
        },
        {
          "type": "REPEAT",
          "content": {
            "type": "CHOICE",
            "members": [
              {
                "type": "SYMBOL",
                "name": "zx_template_content"
              },
              {
                "type": "SYMBOL",
                "name": "zx_template_substitution"
              }
            ]
          }
        },
        {
          "type": "STRING",
          "value": "`"
        }
      ]
    },
    "zx_template_content": {
      "type": "TOKEN",
      "content": {
        "type": "PREC",
        "value": -1,
        "content": {
          "type": "PATTERN",
          "value": "[^`{]+"
        }
      }
    },
    "zx_template_substitution": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "{"
        },
        {
          "type": "FIELD",
          "name": "expression",
          "content": {
            "type": "SYMBOL",
            "name": "expression"
          }
        },
        {
          "type": "STRING",
          "value": "}"
        }
      ]
    },
    "zx_block": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "("
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "zx_element"
            },
            {
              "type": "SYMBOL",
              "name": "zx_self_closing_element"
            },
            {
              "type": "SYMBOL",
              "name": "zx_fragment"
            }
          ]
        },
        {
          "type": "STRING",
          "value": ")"
        }
      ]
    },
    "zx_element": {
      "type": "SEQ",
      "members": [
        {
          "type": "SYMBOL",
          "name": "zx_start_tag"
        },
        {
          "type": "REPEAT",
          "content": {
            "type": "SYMBOL",
            "name": "zx_child"
          }
        },
        {
          "type": "SYMBOL",
          "name": "zx_end_tag"
        }
      ]
    },
    "zx_start_tag": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "<"
        },
        {
          "type": "FIELD",
          "name": "name",
          "content": {
            "type": "SYMBOL",
            "name": "zx_tag_name"
          }
        },
        {
          "type": "REPEAT",
          "content": {
            "type": "SYMBOL",
            "name": "zx_attribute"
          }
        },
        {
          "type": "STRING",
          "value": ">"
        }
      ]
    },
    "zx_end_tag": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "</"
        },
        {
          "type": "FIELD",
          "name": "name",
          "content": {
            "type": "SYMBOL",
            "name": "zx_tag_name"
          }
        },
        {
          "type": "STRING",
          "value": ">"
        }
      ]
    },
    "zx_self_closing_element": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "<"
        },
        {
          "type": "FIELD",
          "name": "name",
          "content": {
            "type": "SYMBOL",
            "name": "zx_tag_name"
          }
        },
        {
          "type": "REPEAT",
          "content": {
            "type": "SYMBOL",
            "name": "zx_attribute"
          }
        },
        {
          "type": "STRING",
          "value": "/>"
        }
      ]
    },
    "zx_fragment": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "<>"
        },
        {
          "type": "REPEAT",
          "content": {
            "type": "SYMBOL",
            "name": "zx_child"
          }
        },
        {
          "type": "STRING",
          "value": "</>"
        }
      ]
    },
    "zx_tag_name": {
      "type": "PATTERN",
      "value": "[a-zA-Z_][a-zA-Z0-9_]*"
    },
    "zx_attribute": {
      "type": "CHOICE",
      "members": [
        {
          "type": "SYMBOL",
          "name": "zx_builtin_attribute"
        },
        {
          "type": "SYMBOL",
          "name": "zx_regular_attribute"
        },
        {
          "type": "SYMBOL",
          "name": "zx_shorthand_attribute"
        },
        {
          "type": "SYMBOL",
          "name": "zx_builtin_shorthand_attribute"
        },
        {
          "type": "SYMBOL",
          "name": "zx_spread_attribute"
        }
      ]
    },
    "zx_shorthand_attribute": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "{"
        },
        {
          "type": "FIELD",
          "name": "name",
          "content": {
            "type": "SYMBOL",
            "name": "identifier"
          }
        },
        {
          "type": "STRING",
          "value": "}"
        }
      ]
    },
    "zx_builtin_shorthand_attribute": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "@"
        },
        {
          "type": "STRING",
          "value": "{"
        },
        {
          "type": "FIELD",
          "name": "name",
          "content": {
            "type": "SYMBOL",
            "name": "identifier"
          }
        },
        {
          "type": "STRING",
          "value": "}"
        }
      ]
    },
    "zx_spread_attribute": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "{"
        },
        {
          "type": "STRING",
          "value": ".."
        },
        {
          "type": "FIELD",
          "name": "expression",
          "content": {
            "type": "SYMBOL",
            "name": "expression"
          }
        },
        {
          "type": "STRING",
          "value": "}"
        }
      ]
    },
    "zx_builtin_attribute": {
      "type": "SEQ",
      "members": [
        {
          "type": "FIELD",
          "name": "name",
          "content": {
            "type": "SYMBOL",
            "name": "zx_builtin_name"
          }
        },
        {
          "type": "STRING",
          "value": "="
        },
        {
          "type": "FIELD",
          "name": "value",
          "content": {
            "type": "SYMBOL",
            "name": "zx_attribute_value"
          }
        }
      ]
    },
    "zx_builtin_name": {
      "type": "PATTERN",
      "value": "@[a-zA-Z_][a-zA-Z0-9_]*"
    },
    "zx_regular_attribute": {
      "type": "SEQ",
      "members": [
        {
          "type": "FIELD",
          "name": "name",
          "content": {
            "type": "SYMBOL",
            "name": "zx_attribute_name"
          }
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SEQ",
              "members": [
                {
                  "type": "STRING",
                  "value": "="
                },
                {
                  "type": "FIELD",
                  "name": "value",
                  "content": {
                    "type": "SYMBOL",
                    "name": "zx_attribute_value"
                  }
                }
              ]
            },
            {
              "type": "BLANK"
            }
          ]
        }
      ]
    },
    "zx_attribute_name": {
      "type": "PATTERN",
      "value": "[a-zA-Z_:][a-zA-Z0-9_:.-]*"
    },
    "zx_attribute_value": {
      "type": "CHOICE",
      "members": [
        {
          "type": "SYMBOL",
          "name": "zx_expression_block"
        },
        {
          "type": "SYMBOL",
          "name": "zx_string_literal"
        },
        {
          "type": "SYMBOL",
          "name": "zx_template_string"
        }
      ]
    },
    "zx_expression_block": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "{"
        },
        {
          "type": "FIELD",
          "name": "expression",
          "content": {
            "type": "SYMBOL",
            "name": "expression"
          }
        },
        {
          "type": "STRING",
          "value": "}"
        }
      ]
    },
    "zx_string_literal": {
      "type": "TOKEN",
      "content": {
        "type": "CHOICE",
        "members": [
          {
            "type": "SEQ",
            "members": [
              {
                "type": "STRING",
                "value": "\""
              },
              {
                "type": "PATTERN",
                "value": "[^\"]*"
              },
              {
                "type": "STRING",
                "value": "\""
              }
            ]
          },
          {
            "type": "SEQ",
            "members": [
              {
                "type": "STRING",
                "value": "'"
              },
              {
                "type": "PATTERN",
                "value": "[^']*"
              },
              {
                "type": "STRING",
                "value": "'"
              }
            ]
          }
        ]
      }
    },
    "zx_child": {
      "type": "CHOICE",
      "members": [
        {
          "type": "SYMBOL",
          "name": "zx_element"
        },
        {
          "type": "SYMBOL",
          "name": "zx_self_closing_element"
        },
        {
          "type": "SYMBOL",
          "name": "zx_fragment"
        },
        {
          "type": "SYMBOL",
          "name": "zx_expression_block"
        },
        {
          "type": "SYMBOL",
          "name": "zx_text"
        }
      ]
    },
    "zx_text": {
      "type": "PATTERN",
      "value": "[^<>{}\\n]+"
    },
    "zx_js_import": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "const"
        },
        {
          "type": "FIELD",
          "name": "name",
          "content": {
            "type": "SYMBOL",
            "name": "identifier"
          }
        },
        {
          "type": "STRING",
          "value": "="
        },
        {
          "type": "STRING",
          "value": "@jsImport"
        },
        {
          "type": "STRING",
          "value": "("
        },
        {
          "type": "FIELD",
          "name": "path",
          "content": {
            "type": "SYMBOL",
            "name": "string"
          }
        },
        {
          "type": "STRING",
          "value": ")"
        },
        {
          "type": "STRING",
          "value": ";"
        }
      ]
    },
    "frontmatter": {
      "type": "SEQ",
      "members": [
        {
          "type": "SYMBOL",
          "name": "frontmatter_delimiter"
        },
        {
          "type": "REPEAT",
          "content": {
            "type": "SYMBOL",
            "name": "zig_declaration"
          }
        },
        {
          "type": "SYMBOL",
          "name": "frontmatter_delimiter"
        }
      ]
    },
    "frontmatter_delimiter": {
      "type": "TOKEN",
      "content": {
        "type": "PREC",
        "value": 10,
        "content": {
          "type": "PATTERN",
          "value": "---\\n?"
        }
      }
    },
    "zig_declaration": {
      "type": "CHOICE",
      "members": [
        {
          "type": "SYMBOL",
          "name": "pub_const_declaration"
        },
        {
          "type": "SYMBOL",
          "name": "const_declaration"
        }
      ]
    },
    "pub_const_declaration": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "pub"
        },
        {
          "type": "STRING",
          "value": "const"
        },
        {
          "type": "FIELD",
          "name": "name",
          "content": {
            "type": "SYMBOL",
            "name": "identifier"
          }
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SEQ",
              "members": [
                {
                  "type": "STRING",
                  "value": ":"
                },
                {
                  "type": "FIELD",
                  "name": "type",
                  "content": {
                    "type": "SYMBOL",
                    "name": "type_expression"
                  }
                }
              ]
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "STRING",
          "value": "="
        },
        {
          "type": "FIELD",
          "name": "value",
          "content": {
            "type": "SYMBOL",
            "name": "expression"
          }
        },
        {
          "type": "STRING",
          "value": ";"
        }
      ]
    },
    "const_declaration": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "const"
        },
        {
          "type": "FIELD",
          "name": "name",
          "content": {
            "type": "SYMBOL",
            "name": "identifier"
          }
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SEQ",
              "members": [
                {
                  "type": "STRING",
                  "value": ":"
                },
                {
                  "type": "FIELD",
                  "name": "type",
                  "content": {
                    "type": "SYMBOL",
                    "name": "type_expression"
                  }
                }
              ]
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "STRING",
          "value": "="
        },
        {
          "type": "FIELD",
          "name": "value",
          "content": {
            "type": "SYMBOL",
            "name": "expression"
          }
        },
        {
          "type": "STRING",
          "value": ";"
        }
      ]
    },
    "_block": {
      "type": "CHOICE",
      "members": [
        {
          "type": "SYMBOL",
          "name": "mdzx_component"
        },
        {
          "type": "SYMBOL",
          "name": "zx_expression_block"
        },
        {
          "type": "SYMBOL",
          "name": "atx_heading"
        },
        {
          "type": "SYMBOL",
          "name": "thematic_break"
        },
        {
          "type": "SYMBOL",
          "name": "indented_code_block"
        },
        {
          "type": "SYMBOL",
          "name": "fenced_code_block"
        },
        {
          "type": "SYMBOL",
          "name": "block_quote"
        },
        {
          "type": "SYMBOL",
          "name": "list"
        },
        {
          "type": "SYMBOL",
          "name": "link_reference_definition"
        },
        {
          "type": "SYMBOL",
          "name": "paragraph"
        },
        {
          "type": "SYMBOL",
          "name": "_blank_line"
        }
      ]
    },
    "mdzx_component": {
      "type": "CHOICE",
      "members": [
        {
          "type": "SYMBOL",
          "name": "zx_element"
        },
        {
          "type": "SYMBOL",
          "name": "zx_self_closing_element"
        }
      ]
    },
    "atx_heading": {
      "type": "CHOICE",
      "members": [
        {
          "type": "SYMBOL",
          "name": "_atx_heading1"
        },
        {
          "type": "SYMBOL",
          "name": "_atx_heading2"
        },
        {
          "type": "SYMBOL",
          "name": "_atx_heading3"
        },
        {
          "type": "SYMBOL",
          "name": "_atx_heading4"
        },
        {
          "type": "SYMBOL",
          "name": "_atx_heading5"
        },
        {
          "type": "SYMBOL",
          "name": "_atx_heading6"
        }
      ]
    },
    "_atx_heading1": {
      "type": "PREC",
      "value": 1,
      "content": {
        "type": "SEQ",
        "members": [
          {
            "type": "SYMBOL",
            "name": "atx_h1_marker"
          },
          {
            "type": "CHOICE",
            "members": [
              {
                "type": "FIELD",
                "name": "heading_content",
                "content": {
                  "type": "SYMBOL",
                  "name": "inline"
                }
              },
              {
                "type": "BLANK"
              }
            ]
          },
          {
            "type": "SYMBOL",
            "name": "_newline"
          }
        ]
      }
    },
    "_atx_heading2": {
      "type": "PREC",
      "value": 1,
      "content": {
        "type": "SEQ",
        "members": [
          {
            "type": "SYMBOL",
            "name": "atx_h2_marker"
          },
          {
            "type": "CHOICE",
            "members": [
              {
                "type": "FIELD",
                "name": "heading_content",
                "content": {
                  "type": "SYMBOL",
                  "name": "inline"
                }
              },
              {
                "type": "BLANK"
              }
            ]
          },
          {
            "type": "SYMBOL",
            "name": "_newline"
          }
        ]
      }
    },
    "_atx_heading3": {
      "type": "PREC",
      "value": 1,
      "content": {
        "type": "SEQ",
        "members": [
          {
            "type": "SYMBOL",
            "name": "atx_h3_marker"
          },
          {
            "type": "CHOICE",
            "members": [
              {
                "type": "FIELD",
                "name": "heading_content",
                "content": {
                  "type": "SYMBOL",
                  "name": "inline"
                }
              },
              {
                "type": "BLANK"
              }
            ]
          },
          {
            "type": "SYMBOL",
            "name": "_newline"
          }
        ]
      }
    },
    "_atx_heading4": {
      "type": "PREC",
      "value": 1,
      "content": {
        "type": "SEQ",
        "members": [
          {
            "type": "SYMBOL",
            "name": "atx_h4_marker"
          },
          {
            "type": "CHOICE",
            "members": [
              {
                "type": "FIELD",
                "name": "heading_content",
                "content": {
                  "type": "SYMBOL",
                  "name": "inline"
                }
              },
              {
                "type": "BLANK"
              }
            ]
          },
          {
            "type": "SYMBOL",
            "name": "_newline"
          }
        ]
      }
    },
    "_atx_heading5": {
      "type": "PREC",
      "value": 1,
      "content": {
        "type": "SEQ",
        "members": [
          {
            "type": "SYMBOL",
            "name": "atx_h5_marker"
          },
          {
            "type": "CHOICE",
            "members": [
              {
                "type": "FIELD",
                "name": "heading_content",
                "content": {
                  "type": "SYMBOL",
                  "name": "inline"
                }
              },
              {
                "type": "BLANK"
              }
            ]
          },
          {
            "type": "SYMBOL",
            "name": "_newline"
          }
        ]
      }
    },
    "_atx_heading6": {
      "type": "PREC",
      "value": 1,
      "content": {
        "type": "SEQ",
        "members": [
          {
            "type": "SYMBOL",
            "name": "atx_h6_marker"
          },
          {
            "type": "CHOICE",
            "members": [
              {
                "type": "FIELD",
                "name": "heading_content",
                "content": {
                  "type": "SYMBOL",
                  "name": "inline"
                }
              },
              {
                "type": "BLANK"
              }
            ]
          },
          {
            "type": "SYMBOL",
            "name": "_newline"
          }
        ]
      }
    },
    "atx_h1_marker": {
      "type": "TOKEN",
      "content": {
        "type": "PREC",
        "value": 2,
        "content": {
          "type": "PATTERN",
          "value": "# "
        }
      }
    },
    "atx_h2_marker": {
      "type": "TOKEN",
      "content": {
        "type": "PREC",
        "value": 2,
        "content": {
          "type": "PATTERN",
          "value": "## "
        }
      }
    },
    "atx_h3_marker": {
      "type": "TOKEN",
      "content": {
        "type": "PREC",
        "value": 2,
        "content": {
          "type": "PATTERN",
          "value": "### "
        }
      }
    },
    "atx_h4_marker": {
      "type": "TOKEN",
      "content": {
        "type": "PREC",
        "value": 2,
        "content": {
          "type": "PATTERN",
          "value": "#### "
        }
      }
    },
    "atx_h5_marker": {
      "type": "TOKEN",
      "content": {
        "type": "PREC",
        "value": 2,
        "content": {
          "type": "PATTERN",
          "value": "##### "
        }
      }
    },
    "atx_h6_marker": {
      "type": "TOKEN",
      "content": {
        "type": "PREC",
        "value": 2,
        "content": {
          "type": "PATTERN",
          "value": "###### "
        }
      }
    },
    "thematic_break": {
      "type": "SYMBOL",
      "name": "_thematic_break"
    },
    "_thematic_break": {
      "type": "TOKEN",
      "content": {
        "type": "PREC",
        "value": 1,
        "content": {
          "type": "PATTERN",
          "value": "(\\*[ \\t]*\\*[ \\t]*\\*[\\* \\t]*|_[ \\t]*_[ \\t]*_[_ \\t]*|-[ \\t]*-[ \\t]*-[- \\t]*)\\n"
        }
      }
    },
    "indented_code_block": {
      "type": "PREC_RIGHT",
      "value": 0,
      "content": {
        "type": "REPEAT1",
        "content": {
          "type": "SYMBOL",
          "name": "_indented_chunk"
        }
      }
    },
    "_indented_chunk": {
      "type": "TOKEN",
      "content": {
        "type": "PREC",
        "value": 1,
        "content": {
          "type": "PATTERN",
          "value": "    [^\\n]*\\n"
        }
      }
    },
    "fenced_code_block": {
      "type": "PREC_RIGHT",
      "value": 0,
      "content": {
        "type": "CHOICE",
        "members": [
          {
            "type": "SEQ",
            "members": [
              {
                "type": "ALIAS",
                "content": {
                  "type": "SYMBOL",
                  "name": "_fenced_code_block_start_backtick"
                },
                "named": true,
                "value": "fenced_code_block_delimiter"
              },
              {
                "type": "CHOICE",
                "members": [
                  {
                    "type": "SYMBOL",
                    "name": "_whitespace"
                  },
                  {
                    "type": "BLANK"
                  }
                ]
              },
              {
                "type": "CHOICE",
                "members": [
                  {
                    "type": "SYMBOL",
                    "name": "info_string"
                  },
                  {
                    "type": "BLANK"
                  }
                ]
              },
              {
                "type": "SYMBOL",
                "name": "_newline"
              },
              {
                "type": "CHOICE",
                "members": [
                  {
                    "type": "SYMBOL",
                    "name": "code_fence_content"
                  },
                  {
                    "type": "BLANK"
                  }
                ]
              },
              {
                "type": "CHOICE",
                "members": [
                  {
                    "type": "SEQ",
                    "members": [
                      {
                        "type": "ALIAS",
                        "content": {
                          "type": "SYMBOL",
                          "name": "_fenced_code_block_end_backtick"
                        },
                        "named": true,
                        "value": "fenced_code_block_delimiter"
                      },
                      {
                        "type": "CHOICE",
                        "members": [
                          {
                            "type": "SYMBOL",
                            "name": "_newline"
                          },
                          {
                            "type": "BLANK"
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "type": "BLANK"
                  }
                ]
              }
            ]
          },
          {
            "type": "SEQ",
            "members": [
              {
                "type": "ALIAS",
                "content": {
                  "type": "SYMBOL",
                  "name": "_fenced_code_block_start_tilde"
                },
                "named": true,
                "value": "fenced_code_block_delimiter"
              },
              {
                "type": "CHOICE",
                "members": [
                  {
                    "type": "SYMBOL",
                    "name": "_whitespace"
                  },
                  {
                    "type": "BLANK"
                  }
                ]
              },
              {
                "type": "CHOICE",
                "members": [
                  {
                    "type": "SYMBOL",
                    "name": "info_string"
                  },
                  {
                    "type": "BLANK"
                  }
                ]
              },
              {
                "type": "SYMBOL",
                "name": "_newline"
              },
              {
                "type": "CHOICE",
                "members": [
                  {
                    "type": "SYMBOL",
                    "name": "code_fence_content"
                  },
                  {
                    "type": "BLANK"
                  }
                ]
              },
              {
                "type": "CHOICE",
                "members": [
                  {
                    "type": "SEQ",
                    "members": [
                      {
                        "type": "ALIAS",
                        "content": {
                          "type": "SYMBOL",
                          "name": "_fenced_code_block_end_tilde"
                        },
                        "named": true,
                        "value": "fenced_code_block_delimiter"
                      },
                      {
                        "type": "CHOICE",
                        "members": [
                          {
                            "type": "SYMBOL",
                            "name": "_newline"
                          },
                          {
                            "type": "BLANK"
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "type": "BLANK"
                  }
                ]
              }
            ]
          }
        ]
      }
    },
    "code_fence_content": {
      "type": "PREC_RIGHT",
      "value": 0,
      "content": {
        "type": "REPEAT1",
        "content": {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "mdzx_component"
            },
            {
              "type": "ALIAS",
              "content": {
                "type": "SYMBOL",
                "name": "_code_fence_line"
              },
              "named": true,
              "value": "raw_line"
            }
          ]
        }
      }
    },
    "_code_fence_line": {
      "type": "TOKEN",
      "content": {
        "type": "PREC",
        "value": 5,
        "content": {
          "type": "PATTERN",
          "value": "[^\\n`~][^\\n]*\\n|[`~]{1,2}[^\\n]*\\n|\\n"
        }
      }
    },
    "info_string": {
      "type": "CHOICE",
      "members": [
        {
          "type": "SEQ",
          "members": [
            {
              "type": "SYMBOL",
              "name": "language"
            },
            {
              "type": "CHOICE",
              "members": [
                {
                  "type": "SYMBOL",
                  "name": "_line"
                },
                {
                  "type": "BLANK"
                }
              ]
            }
          ]
        },
        {
          "type": "SEQ",
          "members": [
            {
              "type": "REPEAT1",
              "content": {
                "type": "CHOICE",
                "members": [
                  {
                    "type": "STRING",
                    "value": "{"
                  },
                  {
                    "type": "STRING",
                    "value": "}"
                  }
                ]
              }
            },
            {
              "type": "CHOICE",
              "members": [
                {
                  "type": "CHOICE",
                  "members": [
                    {
                      "type": "SEQ",
                      "members": [
                        {
                          "type": "SYMBOL",
                          "name": "language"
                        },
                        {
                          "type": "CHOICE",
                          "members": [
                            {
                              "type": "SYMBOL",
                              "name": "_line"
                            },
                            {
                              "type": "BLANK"
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "type": "SEQ",
                      "members": [
                        {
                          "type": "SYMBOL",
                          "name": "_whitespace"
                        },
                        {
                          "type": "CHOICE",
                          "members": [
                            {
                              "type": "SYMBOL",
                              "name": "_line"
                            },
                            {
                              "type": "BLANK"
                            }
                          ]
                        }
                      ]
                    }
                  ]
                },
                {
                  "type": "BLANK"
                }
              ]
            }
          ]
        }
      ]
    },
    "language": {
      "type": "PREC_RIGHT",
      "value": 0,
      "content": {
        "type": "REPEAT1",
        "content": {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "_word"
            },
            {
              "type": "SYMBOL",
              "name": "backslash_escape"
            }
          ]
        }
      }
    },
    "_fenced_code_block_start_backtick": {
      "type": "TOKEN",
      "content": {
        "type": "PREC",
        "value": 3,
        "content": {
          "type": "PATTERN",
          "value": "`{3,}"
        }
      }
    },
    "_fenced_code_block_end_backtick": {
      "type": "TOKEN",
      "content": {
        "type": "PREC",
        "value": 3,
        "content": {
          "type": "PATTERN",
          "value": "`{3,}"
        }
      }
    },
    "_fenced_code_block_start_tilde": {
      "type": "TOKEN",
      "content": {
        "type": "PREC",
        "value": 3,
        "content": {
          "type": "PATTERN",
          "value": "~{3,}"
        }
      }
    },
    "_fenced_code_block_end_tilde": {
      "type": "TOKEN",
      "content": {
        "type": "PREC",
        "value": 3,
        "content": {
          "type": "PATTERN",
          "value": "~{3,}"
        }
      }
    },
    "block_quote": {
      "type": "SEQ",
      "members": [
        {
          "type": "ALIAS",
          "content": {
            "type": "SYMBOL",
            "name": "_block_quote_start"
          },
          "named": true,
          "value": "block_quote_marker"
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "_line"
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "SYMBOL",
          "name": "_newline"
        }
      ]
    },
    "_block_quote_start": {
      "type": "TOKEN",
      "content": {
        "type": "PREC",
        "value": 2,
        "content": {
          "type": "PATTERN",
          "value": ">[ \\t]?"
        }
      }
    },
    "list": {
      "type": "PREC_RIGHT",
      "value": 0,
      "content": {
        "type": "CHOICE",
        "members": [
          {
            "type": "SYMBOL",
            "name": "_list_plus"
          },
          {
            "type": "SYMBOL",
            "name": "_list_minus"
          },
          {
            "type": "SYMBOL",
            "name": "_list_star"
          },
          {
            "type": "SYMBOL",
            "name": "_list_dot"
          },
          {
            "type": "SYMBOL",
            "name": "_list_parenthesis"
          }
        ]
      }
    },
    "_list_plus": {
      "type": "PREC_RIGHT",
      "value": 0,
      "content": {
        "type": "REPEAT1",
        "content": {
          "type": "ALIAS",
          "content": {
            "type": "SYMBOL",
            "name": "_list_item_plus"
          },
          "named": true,
          "value": "list_item"
        }
      }
    },
    "_list_minus": {
      "type": "PREC_RIGHT",
      "value": 0,
      "content": {
        "type": "REPEAT1",
        "content": {
          "type": "ALIAS",
          "content": {
            "type": "SYMBOL",
            "name": "_list_item_minus"
          },
          "named": true,
          "value": "list_item"
        }
      }
    },
    "_list_star": {
      "type": "PREC_RIGHT",
      "value": 0,
      "content": {
        "type": "REPEAT1",
        "content": {
          "type": "ALIAS",
          "content": {
            "type": "SYMBOL",
            "name": "_list_item_star"
          },
          "named": true,
          "value": "list_item"
        }
      }
    },
    "_list_dot": {
      "type": "PREC_RIGHT",
      "value": 0,
      "content": {
        "type": "REPEAT1",
        "content": {
          "type": "ALIAS",
          "content": {
            "type": "SYMBOL",
            "name": "_list_item_dot"
          },
          "named": true,
          "value": "list_item"
        }
      }
    },
    "_list_parenthesis": {
      "type": "PREC_RIGHT",
      "value": 0,
      "content": {
        "type": "REPEAT1",
        "content": {
          "type": "ALIAS",
          "content": {
            "type": "SYMBOL",
            "name": "_list_item_parenthesis"
          },
          "named": true,
          "value": "list_item"
        }
      }
    },
    "_list_item_plus": {
      "type": "SEQ",
      "members": [
        {
          "type": "SYMBOL",
          "name": "list_marker_plus"
        },
        {
          "type": "SYMBOL",
          "name": "_list_item_content"
        }
      ]
    },
    "_list_item_minus": {
      "type": "SEQ",
      "members": [
        {
          "type": "SYMBOL",
          "name": "list_marker_minus"
        },
        {
          "type": "SYMBOL",
          "name": "_list_item_content"
        }
      ]
    },
    "_list_item_star": {
      "type": "SEQ",
      "members": [
        {
          "type": "SYMBOL",
          "name": "list_marker_star"
        },
        {
          "type": "SYMBOL",
          "name": "_list_item_content"
        }
      ]
    },
    "_list_item_dot": {
      "type": "SEQ",
      "members": [
        {
          "type": "SYMBOL",
          "name": "list_marker_dot"
        },
        {
          "type": "SYMBOL",
          "name": "_list_item_content"
        }
      ]
    },
    "_list_item_parenthesis": {
      "type": "SEQ",
      "members": [
        {
          "type": "SYMBOL",
          "name": "list_marker_parenthesis"
        },
        {
          "type": "SYMBOL",
          "name": "_list_item_content"
        }
      ]
    },
    "_list_item_content": {
      "type": "SEQ",
      "members": [
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "CHOICE",
              "members": [
                {
                  "type": "SYMBOL",
                  "name": "task_list_marker_checked"
                },
                {
                  "type": "SYMBOL",
                  "name": "task_list_marker_unchecked"
                }
              ]
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "_line"
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "SYMBOL",
          "name": "_newline"
        }
      ]
    },
    "list_marker_plus": {
      "type": "TOKEN",
      "content": {
        "type": "PREC",
        "value": 2,
        "content": {
          "type": "PATTERN",
          "value": "[ \\t]*\\+[ \\t]+"
        }
      }
    },
    "list_marker_minus": {
      "type": "TOKEN",
      "content": {
        "type": "PREC",
        "value": 2,
        "content": {
          "type": "PATTERN",
          "value": "[ \\t]*-[ \\t]+"
        }
      }
    },
    "list_marker_star": {
      "type": "TOKEN",
      "content": {
        "type": "PREC",
        "value": 2,
        "content": {
          "type": "PATTERN",
          "value": "[ \\t]*\\*[ \\t]+"
        }
      }
    },
    "list_marker_dot": {
      "type": "TOKEN",
      "content": {
        "type": "PREC",
        "value": 2,
        "content": {
          "type": "PATTERN",
          "value": "[ \\t]*[0-9]+\\.[ \\t]+"
        }
      }
    },
    "list_marker_parenthesis": {
      "type": "TOKEN",
      "content": {
        "type": "PREC",
        "value": 2,
        "content": {
          "type": "PATTERN",
          "value": "[ \\t]*[0-9]+\\)[ \\t]+"
        }
      }
    },
    "task_list_marker_checked": {
      "type": "PREC",
      "value": 1,
      "content": {
        "type": "PATTERN",
        "value": "\\[[xX]\\][ \\t]"
      }
    },
    "task_list_marker_unchecked": {
      "type": "PREC",
      "value": 1,
      "content": {
        "type": "PATTERN",
        "value": "\\[[ \\t]\\][ \\t]"
      }
    },
    "link_reference_definition": {
      "type": "PREC",
      "value": 5,
      "content": {
        "type": "SEQ",
        "members": [
          {
            "type": "CHOICE",
            "members": [
              {
                "type": "SYMBOL",
                "name": "_whitespace"
              },
              {
                "type": "BLANK"
              }
            ]
          },
          {
            "type": "SYMBOL",
            "name": "link_label"
          },
          {
            "type": "STRING",
            "value": ":"
          },
          {
            "type": "CHOICE",
            "members": [
              {
                "type": "SYMBOL",
                "name": "_whitespace"
              },
              {
                "type": "BLANK"
              }
            ]
          },
          {
            "type": "SYMBOL",
            "name": "link_destination"
          },
          {
            "type": "CHOICE",
            "members": [
              {
                "type": "SEQ",
                "members": [
                  {
                    "type": "SYMBOL",
                    "name": "_whitespace"
                  },
                  {
                    "type": "SYMBOL",
                    "name": "link_title"
                  }
                ]
              },
              {
                "type": "BLANK"
              }
            ]
          },
          {
            "type": "SYMBOL",
            "name": "_newline"
          }
        ]
      }
    },
    "link_label": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "["
        },
        {
          "type": "REPEAT1",
          "content": {
            "type": "CHOICE",
            "members": [
              {
                "type": "SYMBOL",
                "name": "_text_inline_no_link"
              },
              {
                "type": "SYMBOL",
                "name": "backslash_escape"
              }
            ]
          }
        },
        {
          "type": "STRING",
          "value": "]"
        }
      ]
    },
    "link_destination": {
      "type": "CHOICE",
      "members": [
        {
          "type": "SEQ",
          "members": [
            {
              "type": "STRING",
              "value": "<"
            },
            {
              "type": "ALIAS",
              "content": {
                "type": "PATTERN",
                "value": "[^<>\\n]+"
              },
              "named": true,
              "value": "uri"
            },
            {
              "type": "STRING",
              "value": ">"
            }
          ]
        },
        {
          "type": "ALIAS",
          "content": {
            "type": "PATTERN",
            "value": "[^\\s\\(\\)\\[\\]\"']+"
          },
          "named": true,
          "value": "uri"
        }
      ]
    },
    "link_title": {
      "type": "CHOICE",
      "members": [
        {
          "type": "SEQ",
          "members": [
            {
              "type": "STRING",
              "value": "\""
            },
            {
              "type": "REPEAT",
              "content": {
                "type": "CHOICE",
                "members": [
                  {
                    "type": "SYMBOL",
                    "name": "_word"
                  },
                  {
                    "type": "SYMBOL",
                    "name": "_whitespace"
                  },
                  {
                    "type": "SYMBOL",
                    "name": "backslash_escape"
                  }
                ]
              }
            },
            {
              "type": "STRING",
              "value": "\""
            }
          ]
        },
        {
          "type": "SEQ",
          "members": [
            {
              "type": "STRING",
              "value": "'"
            },
            {
              "type": "REPEAT",
              "content": {
                "type": "CHOICE",
                "members": [
                  {
                    "type": "SYMBOL",
                    "name": "_word"
                  },
                  {
                    "type": "SYMBOL",
                    "name": "_whitespace"
                  },
                  {
                    "type": "SYMBOL",
                    "name": "backslash_escape"
                  }
                ]
              }
            },
            {
              "type": "STRING",
              "value": "'"
            }
          ]
        }
      ]
    },
    "paragraph": {
      "type": "PREC",
      "value": -1,
      "content": {
        "type": "SEQ",
        "members": [
          {
            "type": "SYMBOL",
            "name": "inline"
          },
          {
            "type": "SYMBOL",
            "name": "_newline"
          }
        ]
      }
    },
    "inline": {
      "type": "PREC_RIGHT",
      "value": 0,
      "content": {
        "type": "REPEAT1",
        "content": {
          "type": "SYMBOL",
          "name": "_inline_element"
        }
      }
    },
    "_inline_element": {
      "type": "CHOICE",
      "members": [
        {
          "type": "SYMBOL",
          "name": "code_span"
        },
        {
          "type": "SYMBOL",
          "name": "bold_italic"
        },
        {
          "type": "SYMBOL",
          "name": "strong_emphasis"
        },
        {
          "type": "SYMBOL",
          "name": "emphasis"
        },
        {
          "type": "SYMBOL",
          "name": "strikethrough"
        },
        {
          "type": "SYMBOL",
          "name": "inline_link"
        },
        {
          "type": "SYMBOL",
          "name": "full_reference_link"
        },
        {
          "type": "SYMBOL",
          "name": "image"
        },
        {
          "type": "SYMBOL",
          "name": "autolink"
        },
        {
          "type": "SYMBOL",
          "name": "backslash_escape"
        },
        {
          "type": "SYMBOL",
          "name": "_inline_text"
        },
        {
          "type": "SYMBOL",
          "name": "_whitespace"
        },
        {
          "type": "SYMBOL",
          "name": "_soft_line_break"
        }
      ]
    },
    "_inline_text": {
      "type": "TOKEN",
      "content": {
        "type": "PREC",
        "value": -1,
        "content": {
          "type": "PATTERN",
          "value": "[^\\n`\\*_~\\[\\]!<\\\\]+"
        }
      }
    },
    "_text_inline_no_link": {
      "type": "PATTERN",
      "value": "[^\\n\\[\\]\\\\]+"
    },
    "code_span": {
      "type": "PREC",
      "value": 2,
      "content": {
        "type": "SEQ",
        "members": [
          {
            "type": "ALIAS",
            "content": {
              "type": "PATTERN",
              "value": "`+"
            },
            "named": true,
            "value": "code_span_delimiter"
          },
          {
            "type": "CHOICE",
            "members": [
              {
                "type": "ALIAS",
                "content": {
                  "type": "PATTERN",
                  "value": "[^`\\n]+"
                },
                "named": true,
                "value": "code_span_content"
              },
              {
                "type": "BLANK"
              }
            ]
          },
          {
            "type": "ALIAS",
            "content": {
              "type": "PATTERN",
              "value": "`+"
            },
            "named": true,
            "value": "code_span_delimiter"
          }
        ]
      }
    },
    "emphasis": {
      "type": "PREC_DYNAMIC",
      "value": 1,
      "content": {
        "type": "CHOICE",
        "members": [
          {
            "type": "SEQ",
            "members": [
              {
                "type": "STRING",
                "value": "*"
              },
              {
                "type": "ALIAS",
                "content": {
                  "type": "PATTERN",
                  "value": "[^*\\n]+"
                },
                "named": true,
                "value": "emphasis_content"
              },
              {
                "type": "STRING",
                "value": "*"
              }
            ]
          },
          {
            "type": "SEQ",
            "members": [
              {
                "type": "STRING",
                "value": "_"
              },
              {
                "type": "ALIAS",
                "content": {
                  "type": "PATTERN",
                  "value": "[^_\\n]+"
                },
                "named": true,
                "value": "emphasis_content"
              },
              {
                "type": "STRING",
                "value": "_"
              }
            ]
          }
        ]
      }
    },
    "strong_emphasis": {
      "type": "PREC_DYNAMIC",
      "value": 2,
      "content": {
        "type": "CHOICE",
        "members": [
          {
            "type": "SEQ",
            "members": [
              {
                "type": "STRING",
                "value": "**"
              },
              {
                "type": "ALIAS",
                "content": {
                  "type": "PATTERN",
                  "value": "[^*\\n]+"
                },
                "named": true,
                "value": "strong_emphasis_content"
              },
              {
                "type": "STRING",
                "value": "**"
              }
            ]
          },
          {
            "type": "SEQ",
            "members": [
              {
                "type": "STRING",
                "value": "__"
              },
              {
                "type": "ALIAS",
                "content": {
                  "type": "PATTERN",
                  "value": "[^_\\n]+"
                },
                "named": true,
                "value": "strong_emphasis_content"
              },
              {
                "type": "STRING",
                "value": "__"
              }
            ]
          }
        ]
      }
    },
    "bold_italic": {
      "type": "PREC_DYNAMIC",
      "value": 5,
      "content": {
        "type": "CHOICE",
        "members": [
          {
            "type": "SEQ",
            "members": [
              {
                "type": "STRING",
                "value": "***"
              },
              {
                "type": "ALIAS",
                "content": {
                  "type": "PATTERN",
                  "value": "[^*\\n]+"
                },
                "named": true,
                "value": "bold_italic_content"
              },
              {
                "type": "STRING",
                "value": "***"
              }
            ]
          },
          {
            "type": "SEQ",
            "members": [
              {
                "type": "STRING",
                "value": "___"
              },
              {
                "type": "ALIAS",
                "content": {
                  "type": "PATTERN",
                  "value": "[^_\\n]+"
                },
                "named": true,
                "value": "bold_italic_content"
              },
              {
                "type": "STRING",
                "value": "___"
              }
            ]
          }
        ]
      }
    },
    "strikethrough": {
      "type": "PREC_DYNAMIC",
      "value": 2,
      "content": {
        "type": "SEQ",
        "members": [
          {
            "type": "STRING",
            "value": "~~"
          },
          {
            "type": "ALIAS",
            "content": {
              "type": "PATTERN",
              "value": "[^~\\n]+"
            },
            "named": true,
            "value": "strikethrough_content"
          },
          {
            "type": "STRING",
            "value": "~~"
          }
        ]
      }
    },
    "inline_link": {
      "type": "PREC",
      "value": 3,
      "content": {
        "type": "SEQ",
        "members": [
          {
            "type": "SYMBOL",
            "name": "link_text"
          },
          {
            "type": "STRING",
            "value": "("
          },
          {
            "type": "CHOICE",
            "members": [
              {
                "type": "SYMBOL",
                "name": "_whitespace"
              },
              {
                "type": "BLANK"
              }
            ]
          },
          {
            "type": "CHOICE",
            "members": [
              {
                "type": "ALIAS",
                "content": {
                  "type": "PATTERN",
                  "value": "[^\\s\\)\"']+"
                },
                "named": true,
                "value": "link_destination"
              },
              {
                "type": "BLANK"
              }
            ]
          },
          {
            "type": "CHOICE",
            "members": [
              {
                "type": "SEQ",
                "members": [
                  {
                    "type": "SYMBOL",
                    "name": "_whitespace"
                  },
                  {
                    "type": "SYMBOL",
                    "name": "link_title"
                  }
                ]
              },
              {
                "type": "BLANK"
              }
            ]
          },
          {
            "type": "CHOICE",
            "members": [
              {
                "type": "SYMBOL",
                "name": "_whitespace"
              },
              {
                "type": "BLANK"
              }
            ]
          },
          {
            "type": "STRING",
            "value": ")"
          }
        ]
      }
    },
    "link_text": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "["
        },
        {
          "type": "REPEAT",
          "content": {
            "type": "CHOICE",
            "members": [
              {
                "type": "SYMBOL",
                "name": "_text_inline_no_link"
              },
              {
                "type": "SYMBOL",
                "name": "backslash_escape"
              }
            ]
          }
        },
        {
          "type": "STRING",
          "value": "]"
        }
      ]
    },
    "full_reference_link": {
      "type": "PREC",
      "value": 2,
      "content": {
        "type": "SEQ",
        "members": [
          {
            "type": "SYMBOL",
            "name": "link_text"
          },
          {
            "type": "STRING",
            "value": "["
          },
          {
            "type": "CHOICE",
            "members": [
              {
                "type": "ALIAS",
                "content": {
                  "type": "PATTERN",
                  "value": "[^\\]]+"
                },
                "named": true,
                "value": "link_label"
              },
              {
                "type": "BLANK"
              }
            ]
          },
          {
            "type": "STRING",
            "value": "]"
          }
        ]
      }
    },
    "image": {
      "type": "PREC",
      "value": 3,
      "content": {
        "type": "SEQ",
        "members": [
          {
            "type": "STRING",
            "value": "!"
          },
          {
            "type": "SYMBOL",
            "name": "link_text"
          },
          {
            "type": "STRING",
            "value": "("
          },
          {
            "type": "CHOICE",
            "members": [
              {
                "type": "SYMBOL",
                "name": "_whitespace"
              },
              {
                "type": "BLANK"
              }
            ]
          },
          {
            "type": "CHOICE",
            "members": [
              {
                "type": "ALIAS",
                "content": {
                  "type": "PATTERN",
                  "value": "[^\\s\\)\"']+"
                },
                "named": true,
                "value": "link_destination"
              },
              {
                "type": "BLANK"
              }
            ]
          },
          {
            "type": "CHOICE",
            "members": [
              {
                "type": "SEQ",
                "members": [
                  {
                    "type": "SYMBOL",
                    "name": "_whitespace"
                  },
                  {
                    "type": "SYMBOL",
                    "name": "link_title"
                  }
                ]
              },
              {
                "type": "BLANK"
              }
            ]
          },
          {
            "type": "CHOICE",
            "members": [
              {
                "type": "SYMBOL",
                "name": "_whitespace"
              },
              {
                "type": "BLANK"
              }
            ]
          },
          {
            "type": "STRING",
            "value": ")"
          }
        ]
      }
    },
    "autolink": {
      "type": "PREC",
      "value": 2,
      "content": {
        "type": "SEQ",
        "members": [
          {
            "type": "STRING",
            "value": "<"
          },
          {
            "type": "ALIAS",
            "content": {
              "type": "PATTERN",
              "value": "[a-zA-Z][a-zA-Z0-9+.-]*:[^\\s<>]*"
            },
            "named": true,
            "value": "uri"
          },
          {
            "type": "STRING",
            "value": ">"
          }
        ]
      }
    },
    "backslash_escape": {
      "type": "SYMBOL",
      "name": "_backslash_escape"
    },
    "_backslash_escape": {
      "type": "PATTERN",
      "value": "\\\\[!-/:-@\\[-`\\{-~]"
    },
    "_newline": {
      "type": "PATTERN",
      "value": "\\n|\\r\\n?"
    },
    "_soft_line_break": {
      "type": "PATTERN",
      "value": "\\n"
    },
    "_line": {
      "type": "PREC_RIGHT",
      "value": 0,
      "content": {
        "type": "REPEAT1",
        "content": {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "_word"
            },
            {
              "type": "SYMBOL",
              "name": "_whitespace"
            },
            {
              "type": "SYMBOL",
              "name": "_punctuation"
            }
          ]
        }
      }
    },
    "_word": {
      "type": "PATTERN",
      "value": "[^!-/:-@\\[-`\\{-~ \\t\\n\\r]+"
    },
    "_whitespace": {
      "type": "PATTERN",
      "value": "[ \\t]+"
    },
    "_punctuation": {
      "type": "PATTERN",
      "value": "[!-/:-@\\[-`\\{-~]"
    },
    "_blank_line": {
      "type": "TOKEN",
      "content": {
        "type": "PREC",
        "value": -1,
        "content": {
          "type": "PATTERN",
          "value": "[ \\t]*\\n"
        }
      }
    }
  },
  "extras": [
    {
      "type": "SYMBOL",
      "name": "comment"
    },
    {
      "type": "PATTERN",
      "value": "\\s"
    }
  ],
  "conflicts": [
    [
      "for_expression"
    ],
    [
      "while_expression"
    ],
    [
      "expression",
      "_function_prototype"
    ],
    [
      "expression",
      "if_type_expression"
    ],
    [
      "comptime_type_expression",
      "expression"
    ],
    [
      "comptime_type_expression",
      "parameter"
    ]
  ],
  "precedences": [
    [
      {
        "type": "SYMBOL",
        "name": "container_field"
      },
      {
        "type": "SYMBOL",
        "name": "type_expression"
      }
    ]
  ],
  "externals": [],
  "inline": [
    "_reserved_identifier"
  ],
  "supertypes": [
    "statement",
    "expression",
    "type_expression",
    "primary_type_expression"
  ],
  "reserved": {}
}