{
  "name": "lexd",
  "rules": {
    "source_file": {
      "type": "SEQ",
      "members": [
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "_real_nl"
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "block_comment"
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "REPEAT",
          "content": {
            "type": "CHOICE",
            "members": [
              {
                "type": "SYMBOL",
                "name": "pattern_block"
              },
              {
                "type": "SYMBOL",
                "name": "lexicon_block"
              },
              {
                "type": "SYMBOL",
                "name": "alias_command"
              }
            ]
          }
        }
      ]
    },
    "pattern_block": {
      "type": "SEQ",
      "members": [
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "pattern_start"
            },
            {
              "type": "SEQ",
              "members": [
                {
                  "type": "SYMBOL",
                  "name": "named_pattern_start"
                },
                {
                  "type": "SYMBOL",
                  "name": "_ws"
                },
                {
                  "type": "FIELD",
                  "name": "name",
                  "content": {
                    "type": "SYMBOL",
                    "name": "identifier"
                  }
                }
              ]
            }
          ]
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "_end_com"
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "SYMBOL",
          "name": "_nl"
        },
        {
          "type": "REPEAT1",
          "content": {
            "type": "SYMBOL",
            "name": "pattern_line"
          }
        }
      ]
    },
    "pattern_start": {
      "type": "TOKEN",
      "content": {
        "type": "PREC",
        "value": 1,
        "content": {
          "type": "STRING",
          "value": "PATTERNS"
        }
      }
    },
    "named_pattern_start": {
      "type": "TOKEN",
      "content": {
        "type": "PREC",
        "value": 1,
        "content": {
          "type": "STRING",
          "value": "PATTERN"
        }
      }
    },
    "lexicon_start": {
      "type": "TOKEN",
      "content": {
        "type": "PREC",
        "value": 1,
        "content": {
          "type": "STRING",
          "value": "LEXICON"
        }
      }
    },
    "alias": {
      "type": "STRING",
      "value": "ALIAS"
    },
    "left_sieve": {
      "type": "STRING",
      "value": "<"
    },
    "right_sieve": {
      "type": "STRING",
      "value": ">"
    },
    "pattern_or": {
      "type": "STRING",
      "value": "|"
    },
    "colon": {
      "type": "STRING",
      "value": ":"
    },
    "question_op": {
      "type": "STRING",
      "value": "?"
    },
    "star_op": {
      "type": "STRING",
      "value": "*"
    },
    "plus_op": {
      "type": "STRING",
      "value": "+"
    },
    "pattern_line": {
      "type": "SEQ",
      "members": [
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "_ws"
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "REPEAT1",
          "content": {
            "type": "SEQ",
            "members": [
              {
                "type": "CHOICE",
                "members": [
                  {
                    "type": "SYMBOL",
                    "name": "pattern_token"
                  },
                  {
                    "type": "SYMBOL",
                    "name": "pattern_option"
                  },
                  {
                    "type": "SYMBOL",
                    "name": "left_sieve"
                  },
                  {
                    "type": "SYMBOL",
                    "name": "right_sieve"
                  }
                ]
              },
              {
                "type": "CHOICE",
                "members": [
                  {
                    "type": "SYMBOL",
                    "name": "_ws"
                  },
                  {
                    "type": "BLANK"
                  }
                ]
              }
            ]
          }
        },
        {
          "type": "FIELD",
          "name": "comment",
          "content": {
            "type": "CHOICE",
            "members": [
              {
                "type": "SYMBOL",
                "name": "comment"
              },
              {
                "type": "BLANK"
              }
            ]
          }
        },
        {
          "type": "SYMBOL",
          "name": "_nl"
        }
      ]
    },
    "anonymous_pattern": {
      "type": "PREC_DYNAMIC",
      "value": 20,
      "content": {
        "type": "PREC",
        "value": 20,
        "content": {
          "type": "SEQ",
          "members": [
            {
              "type": "STRING",
              "value": "("
            },
            {
              "type": "CHOICE",
              "members": [
                {
                  "type": "SYMBOL",
                  "name": "_ws"
                },
                {
                  "type": "BLANK"
                }
              ]
            },
            {
              "type": "REPEAT1",
              "content": {
                "type": "SEQ",
                "members": [
                  {
                    "type": "CHOICE",
                    "members": [
                      {
                        "type": "SYMBOL",
                        "name": "pattern_token"
                      },
                      {
                        "type": "SYMBOL",
                        "name": "pattern_option"
                      },
                      {
                        "type": "SYMBOL",
                        "name": "left_sieve"
                      },
                      {
                        "type": "SYMBOL",
                        "name": "right_sieve"
                      }
                    ]
                  },
                  {
                    "type": "CHOICE",
                    "members": [
                      {
                        "type": "SYMBOL",
                        "name": "_ws"
                      },
                      {
                        "type": "BLANK"
                      }
                    ]
                  }
                ]
              }
            },
            {
              "type": "CHOICE",
              "members": [
                {
                  "type": "STRING",
                  "value": ")"
                },
                {
                  "type": "SEQ",
                  "members": [
                    {
                      "type": "SYMBOL",
                      "name": "_ws"
                    },
                    {
                      "type": "STRING",
                      "value": ")"
                    }
                  ]
                }
              ]
            }
          ]
        }
      }
    },
    "pattern_option": {
      "type": "PREC_DYNAMIC",
      "value": 30,
      "content": {
        "type": "PREC_RIGHT",
        "value": 30,
        "content": {
          "type": "SEQ",
          "members": [
            {
              "type": "SYMBOL",
              "name": "pattern_token"
            },
            {
              "type": "CHOICE",
              "members": [
                {
                  "type": "SYMBOL",
                  "name": "_ws"
                },
                {
                  "type": "BLANK"
                }
              ]
            },
            {
              "type": "SYMBOL",
              "name": "pattern_or"
            },
            {
              "type": "CHOICE",
              "members": [
                {
                  "type": "SYMBOL",
                  "name": "_ws"
                },
                {
                  "type": "BLANK"
                }
              ]
            },
            {
              "type": "CHOICE",
              "members": [
                {
                  "type": "SYMBOL",
                  "name": "pattern_token"
                },
                {
                  "type": "ALIAS",
                  "content": {
                    "type": "SYMBOL",
                    "name": "pattern_option"
                  },
                  "named": false,
                  "value": "flattened_operator"
                }
              ]
            },
            {
              "type": "CHOICE",
              "members": [
                {
                  "type": "SYMBOL",
                  "name": "_ws"
                },
                {
                  "type": "BLANK"
                }
              ]
            }
          ]
        }
      }
    },
    "pattern_operator": {
      "type": "PREC_DYNAMIC",
      "value": 3,
      "content": {
        "type": "CHOICE",
        "members": [
          {
            "type": "SYMBOL",
            "name": "star_op"
          },
          {
            "type": "SYMBOL",
            "name": "plus_op"
          },
          {
            "type": "SYMBOL",
            "name": "question_op"
          }
        ]
      }
    },
    "lexicon_reference": {
      "type": "SEQ",
      "members": [
        {
          "type": "FIELD",
          "name": "name",
          "content": {
            "type": "SYMBOL",
            "name": "identifier"
          }
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SEQ",
              "members": [
                {
                  "type": "CHOICE",
                  "members": [
                    {
                      "type": "PREC_DYNAMIC",
                      "value": 2,
                      "content": {
                        "type": "FIELD",
                        "name": "disjoint",
                        "content": {
                          "type": "SYMBOL",
                          "name": "question_op"
                        }
                      }
                    },
                    {
                      "type": "BLANK"
                    }
                  ]
                },
                {
                  "type": "FIELD",
                  "name": "column",
                  "content": {
                    "type": "SYMBOL",
                    "name": "number"
                  }
                }
              ]
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "FIELD",
          "name": "filter",
          "content": {
            "type": "CHOICE",
            "members": [
              {
                "type": "SYMBOL",
                "name": "tag_filter"
              },
              {
                "type": "BLANK"
              }
            ]
          }
        }
      ]
    },
    "pattern_token": {
      "type": "SEQ",
      "members": [
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "FIELD",
              "name": "whole",
              "content": {
                "type": "SYMBOL",
                "name": "lexicon_reference"
              }
            },
            {
              "type": "PREC",
              "value": 2,
              "content": {
                "type": "SEQ",
                "members": [
                  {
                    "type": "FIELD",
                    "name": "left",
                    "content": {
                      "type": "SYMBOL",
                      "name": "lexicon_reference"
                    }
                  },
                  {
                    "type": "SYMBOL",
                    "name": "colon"
                  }
                ]
              }
            },
            {
              "type": "SEQ",
              "members": [
                {
                  "type": "SYMBOL",
                  "name": "colon"
                },
                {
                  "type": "FIELD",
                  "name": "right",
                  "content": {
                    "type": "SYMBOL",
                    "name": "lexicon_reference"
                  }
                }
              ]
            },
            {
              "type": "SEQ",
              "members": [
                {
                  "type": "FIELD",
                  "name": "left",
                  "content": {
                    "type": "SYMBOL",
                    "name": "lexicon_reference"
                  }
                },
                {
                  "type": "SYMBOL",
                  "name": "colon"
                },
                {
                  "type": "FIELD",
                  "name": "right",
                  "content": {
                    "type": "SYMBOL",
                    "name": "lexicon_reference"
                  }
                }
              ]
            },
            {
              "type": "SEQ",
              "members": [
                {
                  "type": "FIELD",
                  "name": "whole",
                  "content": {
                    "type": "CHOICE",
                    "members": [
                      {
                        "type": "SYMBOL",
                        "name": "anonymous_lexicon"
                      },
                      {
                        "type": "SYMBOL",
                        "name": "anonymous_pattern"
                      }
                    ]
                  }
                },
                {
                  "type": "FIELD",
                  "name": "filter",
                  "content": {
                    "type": "CHOICE",
                    "members": [
                      {
                        "type": "SYMBOL",
                        "name": "tag_filter"
                      },
                      {
                        "type": "BLANK"
                      }
                    ]
                  }
                }
              ]
            }
          ]
        },
        {
          "type": "FIELD",
          "name": "operator",
          "content": {
            "type": "CHOICE",
            "members": [
              {
                "type": "SYMBOL",
                "name": "pattern_operator"
              },
              {
                "type": "BLANK"
              }
            ]
          }
        }
      ]
    },
    "neg_tag": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "-"
        },
        {
          "type": "FIELD",
          "name": "tag",
          "content": {
            "type": "SYMBOL",
            "name": "tag"
          }
        }
      ]
    },
    "_tag_or_neg": {
      "type": "CHOICE",
      "members": [
        {
          "type": "SYMBOL",
          "name": "tag"
        },
        {
          "type": "SYMBOL",
          "name": "neg_tag"
        }
      ]
    },
    "_tag_list": {
      "type": "SEQ",
      "members": [
        {
          "type": "SYMBOL",
          "name": "_tag_or_neg"
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "_ws"
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "REPEAT",
          "content": {
            "type": "PREC_LEFT",
            "value": 2,
            "content": {
              "type": "SEQ",
              "members": [
                {
                  "type": "STRING",
                  "value": ","
                },
                {
                  "type": "CHOICE",
                  "members": [
                    {
                      "type": "SYMBOL",
                      "name": "_ws"
                    },
                    {
                      "type": "BLANK"
                    }
                  ]
                },
                {
                  "type": "SYMBOL",
                  "name": "_tag_or_neg"
                },
                {
                  "type": "CHOICE",
                  "members": [
                    {
                      "type": "SYMBOL",
                      "name": "_ws"
                    },
                    {
                      "type": "BLANK"
                    }
                  ]
                }
              ]
            }
          }
        }
      ]
    },
    "tag_setting": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "["
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "_ws"
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "SYMBOL",
          "name": "_tag_list"
        },
        {
          "type": "STRING",
          "value": "]"
        }
      ]
    },
    "tag_distribution_operator": {
      "type": "CHOICE",
      "members": [
        {
          "type": "STRING",
          "value": "^"
        },
        {
          "type": "STRING",
          "value": "|"
        }
      ]
    },
    "tag_distribution": {
      "type": "SEQ",
      "members": [
        {
          "type": "FIELD",
          "name": "op",
          "content": {
            "type": "SYMBOL",
            "name": "tag_distribution_operator"
          }
        },
        {
          "type": "STRING",
          "value": "["
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "_ws"
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "SYMBOL",
          "name": "_tag_list"
        },
        {
          "type": "STRING",
          "value": "]"
        }
      ]
    },
    "_tag_filter_segment": {
      "type": "CHOICE",
      "members": [
        {
          "type": "SYMBOL",
          "name": "tag_distribution"
        },
        {
          "type": "SYMBOL",
          "name": "_tag_or_neg"
        }
      ]
    },
    "tag_filter": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "["
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "_ws"
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "SYMBOL",
          "name": "_tag_filter_segment"
        },
        {
          "type": "REPEAT",
          "content": {
            "type": "SEQ",
            "members": [
              {
                "type": "CHOICE",
                "members": [
                  {
                    "type": "SYMBOL",
                    "name": "_ws"
                  },
                  {
                    "type": "BLANK"
                  }
                ]
              },
              {
                "type": "STRING",
                "value": ","
              },
              {
                "type": "CHOICE",
                "members": [
                  {
                    "type": "SYMBOL",
                    "name": "_ws"
                  },
                  {
                    "type": "BLANK"
                  }
                ]
              },
              {
                "type": "SYMBOL",
                "name": "_tag_filter_segment"
              }
            ]
          }
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "_ws"
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "STRING",
          "value": "]"
        }
      ]
    },
    "anonymous_lexicon": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "["
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "_ws"
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "SYMBOL",
          "name": "lexicon_segment"
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "_ws"
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "STRING",
          "value": "]"
        }
      ]
    },
    "lexicon_block": {
      "type": "PREC",
      "value": 2,
      "content": {
        "type": "SEQ",
        "members": [
          {
            "type": "SYMBOL",
            "name": "lexicon_start"
          },
          {
            "type": "SYMBOL",
            "name": "_ws"
          },
          {
            "type": "FIELD",
            "name": "name",
            "content": {
              "type": "SYMBOL",
              "name": "identifier"
            }
          },
          {
            "type": "FIELD",
            "name": "columns",
            "content": {
              "type": "CHOICE",
              "members": [
                {
                  "type": "SYMBOL",
                  "name": "number"
                },
                {
                  "type": "BLANK"
                }
              ]
            }
          },
          {
            "type": "FIELD",
            "name": "defaults",
            "content": {
              "type": "CHOICE",
              "members": [
                {
                  "type": "SYMBOL",
                  "name": "tag_setting"
                },
                {
                  "type": "BLANK"
                }
              ]
            }
          },
          {
            "type": "CHOICE",
            "members": [
              {
                "type": "SYMBOL",
                "name": "_end_com"
              },
              {
                "type": "BLANK"
              }
            ]
          },
          {
            "type": "SYMBOL",
            "name": "_nl"
          },
          {
            "type": "REPEAT1",
            "content": {
              "type": "SYMBOL",
              "name": "lexicon_line"
            }
          }
        ]
      }
    },
    "lexicon_line": {
      "type": "SEQ",
      "members": [
        {
          "type": "SYMBOL",
          "name": "lexicon_segment"
        },
        {
          "type": "REPEAT",
          "content": {
            "type": "SEQ",
            "members": [
              {
                "type": "SYMBOL",
                "name": "_ws"
              },
              {
                "type": "SYMBOL",
                "name": "lexicon_segment"
              }
            ]
          }
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "_end_com"
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "SYMBOL",
          "name": "_nl"
        }
      ]
    },
    "regex_char_class": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "["
        },
        {
          "type": "REPEAT",
          "content": {
            "type": "CHOICE",
            "members": [
              {
                "type": "SYMBOL",
                "name": "lexicon_string"
              },
              {
                "type": "SYMBOL",
                "name": "escaped_char"
              }
            ]
          }
        },
        {
          "type": "STRING",
          "value": "]"
        }
      ]
    },
    "regex_string": {
      "type": "PATTERN",
      "value": "[^\\s\\n\\\\#:\\[\\]\\/()?*+]+"
    },
    "_plain_regex_string": {
      "type": "REPEAT1",
      "content": {
        "type": "CHOICE",
        "members": [
          {
            "type": "SYMBOL",
            "name": "regex_string"
          },
          {
            "type": "SYMBOL",
            "name": "escaped_char"
          },
          {
            "type": "SYMBOL",
            "name": "regex_char_class"
          }
        ]
      }
    },
    "regex_line": {
      "type": "PREC_RIGHT",
      "value": 0,
      "content": {
        "type": "CHOICE",
        "members": [
          {
            "type": "SYMBOL",
            "name": "_plain_regex_string"
          },
          {
            "type": "SEQ",
            "members": [
              {
                "type": "CHOICE",
                "members": [
                  {
                    "type": "SYMBOL",
                    "name": "_plain_regex_string"
                  },
                  {
                    "type": "BLANK"
                  }
                ]
              },
              {
                "type": "SYMBOL",
                "name": "colon"
              },
              {
                "type": "CHOICE",
                "members": [
                  {
                    "type": "SYMBOL",
                    "name": "_plain_regex_string"
                  },
                  {
                    "type": "BLANK"
                  }
                ]
              }
            ]
          }
        ]
      }
    },
    "regex_group": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "("
        },
        {
          "type": "REPEAT",
          "content": {
            "type": "CHOICE",
            "members": [
              {
                "type": "SYMBOL",
                "name": "regex_group"
              },
              {
                "type": "SYMBOL",
                "name": "regex_line"
              },
              {
                "type": "SYMBOL",
                "name": "pattern_or"
              }
            ]
          }
        },
        {
          "type": "STRING",
          "value": ")"
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "pattern_operator"
            },
            {
              "type": "BLANK"
            }
          ]
        }
      ]
    },
    "regex": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "/"
        },
        {
          "type": "REPEAT",
          "content": {
            "type": "CHOICE",
            "members": [
              {
                "type": "SYMBOL",
                "name": "regex_line"
              },
              {
                "type": "SYMBOL",
                "name": "regex_group"
              },
              {
                "type": "SYMBOL",
                "name": "pattern_or"
              }
            ]
          }
        },
        {
          "type": "STRING",
          "value": "/"
        }
      ]
    },
    "_lexicon_side_left": {
      "type": "SEQ",
      "members": [
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "lexicon_string"
            },
            {
              "type": "SYMBOL",
              "name": "escaped_char"
            },
            {
              "type": "SYMBOL",
              "name": "tag_symbol"
            },
            {
              "type": "SYMBOL",
              "name": "archiphoneme_symbol"
            },
            {
              "type": "SYMBOL",
              "name": "morpheme_boundary"
            }
          ]
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "_lexicon_side_right"
            },
            {
              "type": "BLANK"
            }
          ]
        }
      ]
    },
    "_lexicon_side_right": {
      "type": "REPEAT1",
      "content": {
        "type": "CHOICE",
        "members": [
          {
            "type": "SYMBOL",
            "name": "lexicon_string"
          },
          {
            "type": "SYMBOL",
            "name": "escaped_char"
          },
          {
            "type": "ALIAS",
            "content": {
              "type": "STRING",
              "value": "/"
            },
            "named": true,
            "value": "lexicon_string"
          },
          {
            "type": "SYMBOL",
            "name": "tag_symbol"
          },
          {
            "type": "SYMBOL",
            "name": "archiphoneme_symbol"
          },
          {
            "type": "SYMBOL",
            "name": "morpheme_boundary"
          }
        ]
      }
    },
    "lexicon_segment": {
      "type": "SEQ",
      "members": [
        {
          "type": "FIELD",
          "name": "tags",
          "content": {
            "type": "CHOICE",
            "members": [
              {
                "type": "SYMBOL",
                "name": "tag_setting"
              },
              {
                "type": "BLANK"
              }
            ]
          }
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "FIELD",
              "name": "whole",
              "content": {
                "type": "PREC",
                "value": 2,
                "content": {
                  "type": "SYMBOL",
                  "name": "regex"
                }
              }
            },
            {
              "type": "FIELD",
              "name": "whole",
              "content": {
                "type": "SYMBOL",
                "name": "_lexicon_side_left"
              }
            },
            {
              "type": "SEQ",
              "members": [
                {
                  "type": "FIELD",
                  "name": "left",
                  "content": {
                    "type": "CHOICE",
                    "members": [
                      {
                        "type": "SYMBOL",
                        "name": "_lexicon_side_left"
                      },
                      {
                        "type": "BLANK"
                      }
                    ]
                  }
                },
                {
                  "type": "SYMBOL",
                  "name": "colon"
                },
                {
                  "type": "FIELD",
                  "name": "right",
                  "content": {
                    "type": "CHOICE",
                    "members": [
                      {
                        "type": "SYMBOL",
                        "name": "_lexicon_side_right"
                      },
                      {
                        "type": "BLANK"
                      }
                    ]
                  }
                }
              ]
            }
          ]
        },
        {
          "type": "FIELD",
          "name": "tags",
          "content": {
            "type": "CHOICE",
            "members": [
              {
                "type": "SYMBOL",
                "name": "tag_setting"
              },
              {
                "type": "BLANK"
              }
            ]
          }
        }
      ]
    },
    "lexicon_string": {
      "type": "PATTERN",
      "value": "[^\\s\\n\\\\#:\\[\\]\\/<>{]+"
    },
    "morpheme_boundary": {
      "type": "STRING",
      "value": ">"
    },
    "tag_symbol": {
      "type": "PATTERN",
      "value": "<([^>\\n\\\\]|\\\\.)+>"
    },
    "archiphoneme_symbol": {
      "type": "PATTERN",
      "value": "{([^}\\n\\\\]|\\\\.)+}"
    },
    "escaped_char": {
      "type": "PATTERN",
      "value": "\\\\."
    },
    "comment": {
      "type": "PATTERN",
      "value": "#[^\\n]*"
    },
    "_end_com": {
      "type": "SEQ",
      "members": [
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "_ws"
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "FIELD",
          "name": "comment",
          "content": {
            "type": "SYMBOL",
            "name": "comment"
          }
        }
      ]
    },
    "alias_command": {
      "type": "SEQ",
      "members": [
        {
          "type": "SYMBOL",
          "name": "alias"
        },
        {
          "type": "SYMBOL",
          "name": "_ws"
        },
        {
          "type": "FIELD",
          "name": "src",
          "content": {
            "type": "SYMBOL",
            "name": "identifier"
          }
        },
        {
          "type": "SYMBOL",
          "name": "_ws"
        },
        {
          "type": "FIELD",
          "name": "trg",
          "content": {
            "type": "SYMBOL",
            "name": "identifier"
          }
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "_end_com"
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "SYMBOL",
          "name": "_nl"
        }
      ]
    },
    "identifier": {
      "type": "PATTERN",
      "value": "[^\\s?|()<>\\[\\]*+:]+"
    },
    "tag": {
      "type": "PATTERN",
      "value": "[^\\s?|()<>\\[\\]*+,^-][^\\s?|()<>\\[\\]*+,^]*"
    },
    "number": {
      "type": "PATTERN",
      "value": "\\(\\d+\\)"
    },
    "_real_nl": {
      "type": "PATTERN",
      "value": "[ \\t]*\\n[ \\t\\n]*"
    },
    "block_comment": {
      "type": "REPEAT1",
      "content": {
        "type": "SEQ",
        "members": [
          {
            "type": "SYMBOL",
            "name": "comment"
          },
          {
            "type": "SYMBOL",
            "name": "_real_nl"
          }
        ]
      }
    },
    "_nl": {
      "type": "SEQ",
      "members": [
        {
          "type": "SYMBOL",
          "name": "_real_nl"
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "block_comment"
            },
            {
              "type": "BLANK"
            }
          ]
        }
      ]
    },
    "_ws": {
      "type": "PATTERN",
      "value": "[ \\t]+"
    }
  },
  "extras": [
    {
      "type": "PATTERN",
      "value": "\\s"
    }
  ],
  "conflicts": [
    [
      "lexicon_reference"
    ],
    [
      "pattern_token"
    ]
  ],
  "precedences": [],
  "externals": [],
  "inline": [],
  "supertypes": []
}

