HEX
Server: Apache/2.4.41 (Ubuntu)
System: Linux ip-172-31-42-149 5.15.0-1084-aws #91~20.04.1-Ubuntu SMP Fri May 2 07:00:04 UTC 2025 aarch64
User: ubuntu (1000)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: //home/ubuntu/neovim/.deps/build/src/treesitter_vim/src/grammar.json
{
  "name": "vim",
  "word": "keyword",
  "rules": {
    "script_file": {
      "type": "CHOICE",
      "members": [
        {
          "type": "SYMBOL",
          "name": "_separated_statements"
        },
        {
          "type": "BLANK"
        }
      ]
    },
    "_cmd_separator": {
      "type": "CHOICE",
      "members": [
        {
          "type": "SYMBOL",
          "name": "_newline_or_pipe"
        },
        {
          "type": "SYMBOL",
          "name": "comment"
        }
      ]
    },
    "_separated_statements": {
      "type": "REPEAT1",
      "content": {
        "type": "SEQ",
        "members": [
          {
            "type": "CHOICE",
            "members": [
              {
                "type": "SYMBOL",
                "name": "_statement"
              },
              {
                "type": "BLANK"
              }
            ]
          },
          {
            "type": "SYMBOL",
            "name": "_cmd_separator"
          }
        ]
      }
    },
    "_statement": {
      "type": "SEQ",
      "members": [
        {
          "type": "REPEAT",
          "content": {
            "type": "STRING",
            "value": ":"
          }
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "function_definition"
            },
            {
              "type": "SYMBOL",
              "name": "let_statement"
            },
            {
              "type": "SYMBOL",
              "name": "unlet_statement"
            },
            {
              "type": "SYMBOL",
              "name": "const_statement"
            },
            {
              "type": "SYMBOL",
              "name": "set_statement"
            },
            {
              "type": "SYMBOL",
              "name": "setlocal_statement"
            },
            {
              "type": "SYMBOL",
              "name": "return_statement"
            },
            {
              "type": "SYMBOL",
              "name": "normal_statement"
            },
            {
              "type": "SYMBOL",
              "name": "while_loop"
            },
            {
              "type": "SYMBOL",
              "name": "for_loop"
            },
            {
              "type": "SYMBOL",
              "name": "if_statement"
            },
            {
              "type": "SYMBOL",
              "name": "lua_statement"
            },
            {
              "type": "SYMBOL",
              "name": "range_statement"
            },
            {
              "type": "SYMBOL",
              "name": "ruby_statement"
            },
            {
              "type": "SYMBOL",
              "name": "python_statement"
            },
            {
              "type": "SYMBOL",
              "name": "perl_statement"
            },
            {
              "type": "SYMBOL",
              "name": "call_statement"
            },
            {
              "type": "SYMBOL",
              "name": "execute_statement"
            },
            {
              "type": "SYMBOL",
              "name": "echo_statement"
            },
            {
              "type": "SYMBOL",
              "name": "echon_statement"
            },
            {
              "type": "SYMBOL",
              "name": "echohl_statement"
            },
            {
              "type": "SYMBOL",
              "name": "echomsg_statement"
            },
            {
              "type": "SYMBOL",
              "name": "echoerr_statement"
            },
            {
              "type": "SYMBOL",
              "name": "try_statement"
            },
            {
              "type": "SYMBOL",
              "name": "throw_statement"
            },
            {
              "type": "SYMBOL",
              "name": "autocmd_statement"
            },
            {
              "type": "SYMBOL",
              "name": "silent_statement"
            },
            {
              "type": "SYMBOL",
              "name": "vertical_statement"
            },
            {
              "type": "SYMBOL",
              "name": "belowright_statement"
            },
            {
              "type": "SYMBOL",
              "name": "aboveleft_statement"
            },
            {
              "type": "SYMBOL",
              "name": "topleft_statement"
            },
            {
              "type": "SYMBOL",
              "name": "botright_statement"
            },
            {
              "type": "SYMBOL",
              "name": "register_statement"
            },
            {
              "type": "SYMBOL",
              "name": "map_statement"
            },
            {
              "type": "SYMBOL",
              "name": "augroup_statement"
            },
            {
              "type": "SYMBOL",
              "name": "bang_filter_statement"
            },
            {
              "type": "SYMBOL",
              "name": "highlight_statement"
            },
            {
              "type": "SYMBOL",
              "name": "syntax_statement"
            },
            {
              "type": "SYMBOL",
              "name": "setfiletype_statement"
            },
            {
              "type": "SYMBOL",
              "name": "options_statement"
            },
            {
              "type": "SYMBOL",
              "name": "startinsert_statement"
            },
            {
              "type": "SYMBOL",
              "name": "stopinsert_statement"
            },
            {
              "type": "SYMBOL",
              "name": "scriptencoding_statement"
            },
            {
              "type": "SYMBOL",
              "name": "source_statement"
            },
            {
              "type": "SYMBOL",
              "name": "global_statement"
            },
            {
              "type": "SYMBOL",
              "name": "colorscheme_statement"
            },
            {
              "type": "SYMBOL",
              "name": "command_statement"
            },
            {
              "type": "SYMBOL",
              "name": "comclear_statement"
            },
            {
              "type": "SYMBOL",
              "name": "delcommand_statement"
            },
            {
              "type": "SYMBOL",
              "name": "filetype_statement"
            },
            {
              "type": "SYMBOL",
              "name": "runtime_statement"
            },
            {
              "type": "SYMBOL",
              "name": "wincmd_statement"
            },
            {
              "type": "SYMBOL",
              "name": "sign_statement"
            },
            {
              "type": "SYMBOL",
              "name": "break_statement"
            },
            {
              "type": "SYMBOL",
              "name": "continue_statement"
            },
            {
              "type": "SYMBOL",
              "name": "cnext_statement"
            },
            {
              "type": "SYMBOL",
              "name": "cprevious_statement"
            },
            {
              "type": "SYMBOL",
              "name": "unknown_builtin_statement"
            },
            {
              "type": "SYMBOL",
              "name": "edit_statement"
            },
            {
              "type": "SYMBOL",
              "name": "enew_statement"
            },
            {
              "type": "SYMBOL",
              "name": "find_statement"
            },
            {
              "type": "SYMBOL",
              "name": "ex_statement"
            },
            {
              "type": "SYMBOL",
              "name": "visual_statement"
            },
            {
              "type": "SYMBOL",
              "name": "view_statement"
            },
            {
              "type": "SYMBOL",
              "name": "eval_statement"
            },
            {
              "type": "SYMBOL",
              "name": "user_command"
            }
          ]
        }
      ]
    },
    "unknown_builtin_statement": {
      "type": "SEQ",
      "members": [
        {
          "type": "SEQ",
          "members": [
            {
              "type": "SYMBOL",
              "name": "unknown_command_name"
            },
            {
              "type": "CHOICE",
              "members": [
                {
                  "type": "SYMBOL",
                  "name": "bang"
                },
                {
                  "type": "BLANK"
                }
              ]
            }
          ]
        },
        {
          "type": "ALIAS",
          "content": {
            "type": "REPEAT",
            "content": {
              "type": "SYMBOL",
              "name": "command_argument"
            }
          },
          "named": true,
          "value": "arguments"
        }
      ]
    },
    "return_statement": {
      "type": "SEQ",
      "members": [
        {
          "type": "ALIAS",
          "content": {
            "type": "SYMBOL",
            "name": "_return"
          },
          "named": false,
          "value": "return"
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "_expression"
            },
            {
              "type": "BLANK"
            }
          ]
        }
      ]
    },
    "break_statement": {
      "type": "SEQ",
      "members": [
        {
          "type": "ALIAS",
          "content": {
            "type": "SYMBOL",
            "name": "_break"
          },
          "named": false,
          "value": "break"
        }
      ]
    },
    "continue_statement": {
      "type": "SEQ",
      "members": [
        {
          "type": "ALIAS",
          "content": {
            "type": "SYMBOL",
            "name": "_continue"
          },
          "named": false,
          "value": "continue"
        }
      ]
    },
    "scope_dict": {
      "type": "CHOICE",
      "members": [
        {
          "type": "SYMBOL",
          "name": "_scope_dict"
        },
        {
          "type": "STRING",
          "value": "a:"
        }
      ]
    },
    "normal_statement": {
      "type": "SEQ",
      "members": [
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SEQ",
              "members": [
                {
                  "type": "FIELD",
                  "name": "range",
                  "content": {
                    "type": "ALIAS",
                    "content": {
                      "type": "SYMBOL",
                      "name": "_range"
                    },
                    "named": true,
                    "value": "range"
                  }
                },
                {
                  "type": "CHOICE",
                  "members": [
                    {
                      "type": "STRING",
                      "value": ":"
                    },
                    {
                      "type": "BLANK"
                    }
                  ]
                }
              ]
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "ALIAS",
          "content": {
            "type": "SYMBOL",
            "name": "_normal"
          },
          "named": false,
          "value": "normal"
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "bang"
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "ALIAS",
          "content": {
            "type": "PATTERN",
            "value": " .*"
          },
          "named": true,
          "value": "commands"
        }
      ]
    },
    "filetype": {
      "type": "PATTERN",
      "value": "[a-zA-Z][a-zA-Z_-]*"
    },
    "_filetype_immediate": {
      "type": "ALIAS",
      "content": {
        "type": "IMMEDIATE_TOKEN",
        "content": {
          "type": "PATTERN",
          "value": "[a-zA-Z][a-zA-Z_-]*"
        }
      },
      "named": true,
      "value": "filetype"
    },
    "filetypes": {
      "type": "SEQ",
      "members": [
        {
          "type": "SYMBOL",
          "name": "filetype"
        },
        {
          "type": "REPEAT",
          "content": {
            "type": "SEQ",
            "members": [
              {
                "type": "IMMEDIATE_TOKEN",
                "content": {
                  "type": "STRING",
                  "value": "."
                }
              },
              {
                "type": "SYMBOL",
                "name": "_filetype_immediate"
              }
            ]
          }
        }
      ]
    },
    "setfiletype_statement": {
      "type": "SEQ",
      "members": [
        {
          "type": "ALIAS",
          "content": {
            "type": "SYMBOL",
            "name": "_setfiletype"
          },
          "named": false,
          "value": "setfiletype"
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "ALIAS",
              "content": {
                "type": "STRING",
                "value": "FALLBACK"
              },
              "named": true,
              "value": "fallback"
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "SYMBOL",
          "name": "filetypes"
        }
      ]
    },
    "options_statement": {
      "type": "CHOICE",
      "members": [
        {
          "type": "SEQ",
          "members": [
            {
              "type": "ALIAS",
              "content": {
                "type": "SYMBOL",
                "name": "_browse"
              },
              "named": false,
              "value": "browse"
            },
            {
              "type": "ALIAS",
              "content": {
                "type": "SYMBOL",
                "name": "_set"
              },
              "named": false,
              "value": "set"
            }
          ]
        },
        {
          "type": "SEQ",
          "members": [
            {
              "type": "ALIAS",
              "content": {
                "type": "SYMBOL",
                "name": "_options"
              },
              "named": false,
              "value": "options"
            }
          ]
        }
      ]
    },
    "startinsert_statement": {
      "type": "SEQ",
      "members": [
        {
          "type": "ALIAS",
          "content": {
            "type": "SYMBOL",
            "name": "_startinsert"
          },
          "named": false,
          "value": "startinsert"
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "bang"
            },
            {
              "type": "BLANK"
            }
          ]
        }
      ]
    },
    "stopinsert_statement": {
      "type": "ALIAS",
      "content": {
        "type": "SYMBOL",
        "name": "_stopinsert"
      },
      "named": false,
      "value": "stopinsert"
    },
    "file_format": {
      "type": "CHOICE",
      "members": [
        {
          "type": "STRING",
          "value": "dos"
        },
        {
          "type": "STRING",
          "value": "unix"
        },
        {
          "type": "STRING",
          "value": "mac"
        }
      ]
    },
    "_immediate_file_format": {
      "type": "ALIAS",
      "content": {
        "type": "CHOICE",
        "members": [
          {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "dos"
            }
          },
          {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "unix"
            }
          },
          {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "mac"
            }
          }
        ]
      },
      "named": true,
      "value": "file_format"
    },
    "encoding": {
      "type": "CHOICE",
      "members": [
        {
          "type": "STRING",
          "value": "latin1"
        },
        {
          "type": "STRING",
          "value": "iso"
        },
        {
          "type": "STRING",
          "value": "koi8"
        },
        {
          "type": "STRING",
          "value": "koi8"
        },
        {
          "type": "STRING",
          "value": "macroman"
        },
        {
          "type": "STRING",
          "value": "cp437"
        },
        {
          "type": "STRING",
          "value": "cp737"
        },
        {
          "type": "STRING",
          "value": "cp775"
        },
        {
          "type": "STRING",
          "value": "cp850"
        },
        {
          "type": "STRING",
          "value": "cp852"
        },
        {
          "type": "STRING",
          "value": "cp855"
        },
        {
          "type": "STRING",
          "value": "cp857"
        },
        {
          "type": "STRING",
          "value": "cp860"
        },
        {
          "type": "STRING",
          "value": "cp861"
        },
        {
          "type": "STRING",
          "value": "cp862"
        },
        {
          "type": "STRING",
          "value": "cp863"
        },
        {
          "type": "STRING",
          "value": "cp865"
        },
        {
          "type": "STRING",
          "value": "cp866"
        },
        {
          "type": "STRING",
          "value": "cp869"
        },
        {
          "type": "STRING",
          "value": "cp874"
        },
        {
          "type": "STRING",
          "value": "cp1250"
        },
        {
          "type": "STRING",
          "value": "cp1251"
        },
        {
          "type": "STRING",
          "value": "cp1253"
        },
        {
          "type": "STRING",
          "value": "cp1254"
        },
        {
          "type": "STRING",
          "value": "cp1255"
        },
        {
          "type": "STRING",
          "value": "cp1256"
        },
        {
          "type": "STRING",
          "value": "cp1257"
        },
        {
          "type": "STRING",
          "value": "cp1258"
        },
        {
          "type": "STRING",
          "value": "cp932"
        },
        {
          "type": "STRING",
          "value": "euc-jp"
        },
        {
          "type": "STRING",
          "value": "sjis"
        },
        {
          "type": "STRING",
          "value": "cp949"
        },
        {
          "type": "STRING",
          "value": "euc-kr"
        },
        {
          "type": "STRING",
          "value": "cp936"
        },
        {
          "type": "STRING",
          "value": "euc-cn"
        },
        {
          "type": "STRING",
          "value": "cp950"
        },
        {
          "type": "STRING",
          "value": "big5"
        },
        {
          "type": "STRING",
          "value": "euc-tw"
        },
        {
          "type": "STRING",
          "value": "utf-8"
        },
        {
          "type": "STRING",
          "value": "ucs-2"
        },
        {
          "type": "STRING",
          "value": "ucs-21e"
        },
        {
          "type": "STRING",
          "value": "utf-16"
        },
        {
          "type": "STRING",
          "value": "utf-16le"
        },
        {
          "type": "STRING",
          "value": "ucs-4"
        },
        {
          "type": "STRING",
          "value": "ucs-4le"
        },
        {
          "type": "STRING",
          "value": "ansi"
        },
        {
          "type": "STRING",
          "value": "japan"
        },
        {
          "type": "STRING",
          "value": "korea"
        },
        {
          "type": "STRING",
          "value": "prc"
        },
        {
          "type": "STRING",
          "value": "chinese"
        },
        {
          "type": "STRING",
          "value": "taiwan"
        },
        {
          "type": "STRING",
          "value": "utf8"
        },
        {
          "type": "STRING",
          "value": "unicode"
        },
        {
          "type": "STRING",
          "value": "ucs2be"
        },
        {
          "type": "STRING",
          "value": "ucs-2be"
        },
        {
          "type": "STRING",
          "value": "ucs-4be"
        },
        {
          "type": "STRING",
          "value": "utf-32"
        },
        {
          "type": "STRING",
          "value": "utf-32le"
        },
        {
          "type": "STRING",
          "value": "default"
        }
      ]
    },
    "_immediate_encoding": {
      "type": "ALIAS",
      "content": {
        "type": "CHOICE",
        "members": [
          {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "latin1"
            }
          },
          {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "iso"
            }
          },
          {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "koi8"
            }
          },
          {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "koi8"
            }
          },
          {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "macroman"
            }
          },
          {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "cp437"
            }
          },
          {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "cp737"
            }
          },
          {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "cp775"
            }
          },
          {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "cp850"
            }
          },
          {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "cp852"
            }
          },
          {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "cp855"
            }
          },
          {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "cp857"
            }
          },
          {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "cp860"
            }
          },
          {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "cp861"
            }
          },
          {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "cp862"
            }
          },
          {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "cp863"
            }
          },
          {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "cp865"
            }
          },
          {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "cp866"
            }
          },
          {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "cp869"
            }
          },
          {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "cp874"
            }
          },
          {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "cp1250"
            }
          },
          {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "cp1251"
            }
          },
          {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "cp1253"
            }
          },
          {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "cp1254"
            }
          },
          {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "cp1255"
            }
          },
          {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "cp1256"
            }
          },
          {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "cp1257"
            }
          },
          {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "cp1258"
            }
          },
          {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "cp932"
            }
          },
          {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "euc-jp"
            }
          },
          {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "sjis"
            }
          },
          {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "cp949"
            }
          },
          {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "euc-kr"
            }
          },
          {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "cp936"
            }
          },
          {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "euc-cn"
            }
          },
          {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "cp950"
            }
          },
          {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "big5"
            }
          },
          {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "euc-tw"
            }
          },
          {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "utf-8"
            }
          },
          {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "ucs-2"
            }
          },
          {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "ucs-21e"
            }
          },
          {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "utf-16"
            }
          },
          {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "utf-16le"
            }
          },
          {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "ucs-4"
            }
          },
          {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "ucs-4le"
            }
          },
          {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "ansi"
            }
          },
          {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "japan"
            }
          },
          {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "korea"
            }
          },
          {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "prc"
            }
          },
          {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "chinese"
            }
          },
          {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "taiwan"
            }
          },
          {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "utf8"
            }
          },
          {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "unicode"
            }
          },
          {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "ucs2be"
            }
          },
          {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "ucs-2be"
            }
          },
          {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "ucs-4be"
            }
          },
          {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "utf-32"
            }
          },
          {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "utf-32le"
            }
          },
          {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "default"
            }
          }
        ]
      },
      "named": true,
      "value": "encoding"
    },
    "scriptencoding_statement": {
      "type": "SEQ",
      "members": [
        {
          "type": "ALIAS",
          "content": {
            "type": "SYMBOL",
            "name": "_scriptencoding"
          },
          "named": false,
          "value": "scriptencoding"
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "encoding"
            },
            {
              "type": "BLANK"
            }
          ]
        }
      ]
    },
    "cnext_statement": {
      "type": "SEQ",
      "members": [
        {
          "type": "ALIAS",
          "content": {
            "type": "SYMBOL",
            "name": "_cnext"
          },
          "named": false,
          "value": "cnext"
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "bang"
            },
            {
              "type": "BLANK"
            }
          ]
        }
      ]
    },
    "cprevious_statement": {
      "type": "SEQ",
      "members": [
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "ALIAS",
              "content": {
                "type": "SYMBOL",
                "name": "_cprevious"
              },
              "named": false,
              "value": "cprevious"
            },
            {
              "type": "ALIAS",
              "content": {
                "type": "SYMBOL",
                "name": "_cNext"
              },
              "named": false,
              "value": "cNext"
            }
          ]
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "bang"
            },
            {
              "type": "BLANK"
            }
          ]
        }
      ]
    },
    "_runtime_where": {
      "type": "CHOICE",
      "members": [
        {
          "type": "STRING",
          "value": "START"
        },
        {
          "type": "STRING",
          "value": "OPT"
        },
        {
          "type": "STRING",
          "value": "PACK"
        },
        {
          "type": "STRING",
          "value": "ALL"
        }
      ]
    },
    "runtime_statement": {
      "type": "SEQ",
      "members": [
        {
          "type": "SEQ",
          "members": [
            {
              "type": "ALIAS",
              "content": {
                "type": "SYMBOL",
                "name": "_runtime"
              },
              "named": false,
              "value": "runtime"
            },
            {
              "type": "CHOICE",
              "members": [
                {
                  "type": "SYMBOL",
                  "name": "bang"
                },
                {
                  "type": "BLANK"
                }
              ]
            }
          ]
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "ALIAS",
              "content": {
                "type": "SYMBOL",
                "name": "_runtime_where"
              },
              "named": true,
              "value": "where"
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "ALIAS",
          "content": {
            "type": "REPEAT1",
            "content": {
              "type": "SYMBOL",
              "name": "filename"
            }
          },
          "named": true,
          "value": "filenames"
        }
      ]
    },
    "wincmd_statement": {
      "type": "SEQ",
      "members": [
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "integer_literal"
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "ALIAS",
          "content": {
            "type": "SYMBOL",
            "name": "_wincmd"
          },
          "named": false,
          "value": "wincmd"
        },
        {
          "type": "FIELD",
          "name": "action",
          "content": {
            "type": "PATTERN",
            "value": "[a-zA-Z=<>]"
          }
        }
      ]
    },
    "source_statement": {
      "type": "SEQ",
      "members": [
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SEQ",
              "members": [
                {
                  "type": "FIELD",
                  "name": "range",
                  "content": {
                    "type": "ALIAS",
                    "content": {
                      "type": "SYMBOL",
                      "name": "_range"
                    },
                    "named": true,
                    "value": "range"
                  }
                },
                {
                  "type": "CHOICE",
                  "members": [
                    {
                      "type": "STRING",
                      "value": ":"
                    },
                    {
                      "type": "BLANK"
                    }
                  ]
                }
              ]
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "ALIAS",
          "content": {
            "type": "SYMBOL",
            "name": "_source"
          },
          "named": false,
          "value": "source"
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "bang"
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "FIELD",
              "name": "file",
              "content": {
                "type": "SYMBOL",
                "name": "filename"
              }
            },
            {
              "type": "BLANK"
            }
          ]
        }
      ]
    },
    "global_statement": {
      "type": "SEQ",
      "members": [
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SEQ",
              "members": [
                {
                  "type": "FIELD",
                  "name": "range",
                  "content": {
                    "type": "ALIAS",
                    "content": {
                      "type": "SYMBOL",
                      "name": "_range"
                    },
                    "named": true,
                    "value": "range"
                  }
                },
                {
                  "type": "CHOICE",
                  "members": [
                    {
                      "type": "STRING",
                      "value": ":"
                    },
                    {
                      "type": "BLANK"
                    }
                  ]
                }
              ]
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "ALIAS",
          "content": {
            "type": "SYMBOL",
            "name": "_global"
          },
          "named": false,
          "value": "global"
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "bang"
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "SYMBOL",
          "name": "_separator_first"
        },
        {
          "type": "SYMBOL",
          "name": "pattern"
        },
        {
          "type": "SYMBOL",
          "name": "_separator"
        },
        {
          "type": "SYMBOL",
          "name": "_statement"
        }
      ]
    },
    "_filetype_state": {
      "type": "CHOICE",
      "members": [
        {
          "type": "STRING",
          "value": "on"
        },
        {
          "type": "STRING",
          "value": "off"
        }
      ]
    },
    "_filetype_enable": {
      "type": "FIELD",
      "name": "sub",
      "content": {
        "type": "SYMBOL",
        "name": "_filetype_state"
      }
    },
    "_filetype_detect": {
      "type": "FIELD",
      "name": "sub",
      "content": {
        "type": "STRING",
        "value": "detect"
      }
    },
    "_filetype_plugin": {
      "type": "SEQ",
      "members": [
        {
          "type": "FIELD",
          "name": "sub",
          "content": {
            "type": "STRING",
            "value": "plugin"
          }
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "STRING",
              "value": "indent"
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "SYMBOL",
          "name": "_filetype_state"
        }
      ]
    },
    "_filetype_indent": {
      "type": "SEQ",
      "members": [
        {
          "type": "FIELD",
          "name": "sub",
          "content": {
            "type": "STRING",
            "value": "indent"
          }
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "STRING",
              "value": "plugin"
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "SYMBOL",
          "name": "_filetype_state"
        }
      ]
    },
    "filetype_statement": {
      "type": "SEQ",
      "members": [
        {
          "type": "ALIAS",
          "content": {
            "type": "SYMBOL",
            "name": "_filetype"
          },
          "named": false,
          "value": "filetype"
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "CHOICE",
              "members": [
                {
                  "type": "SYMBOL",
                  "name": "_filetype_enable"
                },
                {
                  "type": "SYMBOL",
                  "name": "_filetype_detect"
                },
                {
                  "type": "SYMBOL",
                  "name": "_filetype_plugin"
                },
                {
                  "type": "SYMBOL",
                  "name": "_filetype_indent"
                }
              ]
            },
            {
              "type": "BLANK"
            }
          ]
        }
      ]
    },
    "colorscheme_statement": {
      "type": "SEQ",
      "members": [
        {
          "type": "ALIAS",
          "content": {
            "type": "SYMBOL",
            "name": "_colorscheme"
          },
          "named": false,
          "value": "colorscheme"
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "ALIAS",
              "content": {
                "type": "SYMBOL",
                "name": "filename"
              },
              "named": true,
              "value": "name"
            },
            {
              "type": "BLANK"
            }
          ]
        }
      ]
    },
    "lua_statement": {
      "type": "SEQ",
      "members": [
        {
          "type": "ALIAS",
          "content": {
            "type": "SYMBOL",
            "name": "_lua"
          },
          "named": false,
          "value": "lua"
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "chunk"
            },
            {
              "type": "SYMBOL",
              "name": "script"
            }
          ]
        }
      ]
    },
    "ruby_statement": {
      "type": "SEQ",
      "members": [
        {
          "type": "ALIAS",
          "content": {
            "type": "SYMBOL",
            "name": "_ruby"
          },
          "named": false,
          "value": "ruby"
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "chunk"
            },
            {
              "type": "SYMBOL",
              "name": "script"
            }
          ]
        }
      ]
    },
    "python_statement": {
      "type": "SEQ",
      "members": [
        {
          "type": "ALIAS",
          "content": {
            "type": "SYMBOL",
            "name": "_python"
          },
          "named": false,
          "value": "python"
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "chunk"
            },
            {
              "type": "SYMBOL",
              "name": "script"
            }
          ]
        }
      ]
    },
    "perl_statement": {
      "type": "SEQ",
      "members": [
        {
          "type": "ALIAS",
          "content": {
            "type": "SYMBOL",
            "name": "_perl"
          },
          "named": false,
          "value": "perl"
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "chunk"
            },
            {
              "type": "SYMBOL",
              "name": "script"
            }
          ]
        }
      ]
    },
    "chunk": {
      "type": "PATTERN",
      "value": "<|(<[^\\n<]|[^\\s<])[^\\n]*"
    },
    "_heredoc_line": {
      "type": "PATTERN",
      "value": "[^\\n]*\\n"
    },
    "script": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "<<"
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "ALIAS",
              "content": {
                "type": "SYMBOL",
                "name": "_script_heredoc_marker"
              },
              "named": true,
              "value": "marker_definition"
            },
            {
              "type": "STRING",
              "value": "\n"
            }
          ]
        },
        {
          "type": "ALIAS",
          "content": {
            "type": "REPEAT",
            "content": {
              "type": "SYMBOL",
              "name": "_heredoc_line"
            }
          },
          "named": true,
          "value": "body"
        },
        {
          "type": "ALIAS",
          "content": {
            "type": "SYMBOL",
            "name": "_heredoc_end"
          },
          "named": true,
          "value": "endmarker"
        }
      ]
    },
    "for_loop": {
      "type": "SEQ",
      "members": [
        {
          "type": "ALIAS",
          "content": {
            "type": "SYMBOL",
            "name": "_for"
          },
          "named": false,
          "value": "for"
        },
        {
          "type": "FIELD",
          "name": "variable",
          "content": {
            "type": "CHOICE",
            "members": [
              {
                "type": "SYMBOL",
                "name": "_ident"
              },
              {
                "type": "SYMBOL",
                "name": "list_assignment"
              }
            ]
          }
        },
        {
          "type": "STRING",
          "value": "in"
        },
        {
          "type": "FIELD",
          "name": "iter",
          "content": {
            "type": "SYMBOL",
            "name": "_expression"
          }
        },
        {
          "type": "SYMBOL",
          "name": "_cmd_separator"
        },
        {
          "type": "ALIAS",
          "content": {
            "type": "CHOICE",
            "members": [
              {
                "type": "SYMBOL",
                "name": "_separated_statements"
              },
              {
                "type": "BLANK"
              }
            ]
          },
          "named": true,
          "value": "body"
        },
        {
          "type": "ALIAS",
          "content": {
            "type": "SYMBOL",
            "name": "_endfor"
          },
          "named": false,
          "value": "endfor"
        }
      ]
    },
    "while_loop": {
      "type": "SEQ",
      "members": [
        {
          "type": "ALIAS",
          "content": {
            "type": "SYMBOL",
            "name": "_while"
          },
          "named": false,
          "value": "while"
        },
        {
          "type": "FIELD",
          "name": "condition",
          "content": {
            "type": "SYMBOL",
            "name": "_expression"
          }
        },
        {
          "type": "SYMBOL",
          "name": "_cmd_separator"
        },
        {
          "type": "ALIAS",
          "content": {
            "type": "CHOICE",
            "members": [
              {
                "type": "SYMBOL",
                "name": "_separated_statements"
              },
              {
                "type": "BLANK"
              }
            ]
          },
          "named": true,
          "value": "body"
        },
        {
          "type": "ALIAS",
          "content": {
            "type": "SYMBOL",
            "name": "_endwhile"
          },
          "named": false,
          "value": "endwhile"
        }
      ]
    },
    "if_statement": {
      "type": "SEQ",
      "members": [
        {
          "type": "ALIAS",
          "content": {
            "type": "SYMBOL",
            "name": "_if"
          },
          "named": false,
          "value": "if"
        },
        {
          "type": "FIELD",
          "name": "condition",
          "content": {
            "type": "SYMBOL",
            "name": "_expression"
          }
        },
        {
          "type": "SYMBOL",
          "name": "_cmd_separator"
        },
        {
          "type": "ALIAS",
          "content": {
            "type": "CHOICE",
            "members": [
              {
                "type": "SYMBOL",
                "name": "_separated_statements"
              },
              {
                "type": "BLANK"
              }
            ]
          },
          "named": true,
          "value": "body"
        },
        {
          "type": "REPEAT",
          "content": {
            "type": "SYMBOL",
            "name": "elseif_statement"
          }
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "else_statement"
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "ALIAS",
          "content": {
            "type": "SYMBOL",
            "name": "_endif"
          },
          "named": false,
          "value": "endif"
        }
      ]
    },
    "elseif_statement": {
      "type": "SEQ",
      "members": [
        {
          "type": "ALIAS",
          "content": {
            "type": "SYMBOL",
            "name": "_elseif"
          },
          "named": false,
          "value": "elseif"
        },
        {
          "type": "FIELD",
          "name": "condition",
          "content": {
            "type": "SYMBOL",
            "name": "_expression"
          }
        },
        {
          "type": "SYMBOL",
          "name": "_cmd_separator"
        },
        {
          "type": "ALIAS",
          "content": {
            "type": "CHOICE",
            "members": [
              {
                "type": "SYMBOL",
                "name": "_separated_statements"
              },
              {
                "type": "BLANK"
              }
            ]
          },
          "named": true,
          "value": "body"
        }
      ]
    },
    "else_statement": {
      "type": "SEQ",
      "members": [
        {
          "type": "ALIAS",
          "content": {
            "type": "SYMBOL",
            "name": "_else"
          },
          "named": false,
          "value": "else"
        },
        {
          "type": "ALIAS",
          "content": {
            "type": "CHOICE",
            "members": [
              {
                "type": "SYMBOL",
                "name": "_separated_statements"
              },
              {
                "type": "BLANK"
              }
            ]
          },
          "named": true,
          "value": "body"
        }
      ]
    },
    "try_statement": {
      "type": "SEQ",
      "members": [
        {
          "type": "ALIAS",
          "content": {
            "type": "SYMBOL",
            "name": "_try"
          },
          "named": false,
          "value": "try"
        },
        {
          "type": "SYMBOL",
          "name": "_cmd_separator"
        },
        {
          "type": "ALIAS",
          "content": {
            "type": "CHOICE",
            "members": [
              {
                "type": "SYMBOL",
                "name": "_separated_statements"
              },
              {
                "type": "BLANK"
              }
            ]
          },
          "named": true,
          "value": "body"
        },
        {
          "type": "REPEAT",
          "content": {
            "type": "SYMBOL",
            "name": "catch_statement"
          }
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "finally_statement"
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "ALIAS",
          "content": {
            "type": "SYMBOL",
            "name": "_endtry"
          },
          "named": false,
          "value": "endtry"
        }
      ]
    },
    "_au_pattern": {
      "type": "CHOICE",
      "members": [
        {
          "type": "PATTERN",
          "value": "\\/.*\\/"
        },
        {
          "type": "PATTERN",
          "value": "\\?.*\\?"
        }
      ]
    },
    "catch_statement": {
      "type": "SEQ",
      "members": [
        {
          "type": "ALIAS",
          "content": {
            "type": "SYMBOL",
            "name": "_catch"
          },
          "named": false,
          "value": "catch"
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "ALIAS",
              "content": {
                "type": "SYMBOL",
                "name": "_au_pattern"
              },
              "named": true,
              "value": "pattern"
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "SYMBOL",
          "name": "_cmd_separator"
        },
        {
          "type": "ALIAS",
          "content": {
            "type": "CHOICE",
            "members": [
              {
                "type": "SYMBOL",
                "name": "_separated_statements"
              },
              {
                "type": "BLANK"
              }
            ]
          },
          "named": true,
          "value": "body"
        }
      ]
    },
    "finally_statement": {
      "type": "SEQ",
      "members": [
        {
          "type": "ALIAS",
          "content": {
            "type": "SYMBOL",
            "name": "_finally"
          },
          "named": false,
          "value": "finally"
        },
        {
          "type": "ALIAS",
          "content": {
            "type": "CHOICE",
            "members": [
              {
                "type": "SYMBOL",
                "name": "_separated_statements"
              },
              {
                "type": "BLANK"
              }
            ]
          },
          "named": true,
          "value": "body"
        }
      ]
    },
    "throw_statement": {
      "type": "SEQ",
      "members": [
        {
          "type": "ALIAS",
          "content": {
            "type": "SYMBOL",
            "name": "_throw"
          },
          "named": false,
          "value": "throw"
        },
        {
          "type": "SYMBOL",
          "name": "_expression"
        }
      ]
    },
    "_bang_filter_bangs": {
      "type": "SEQ",
      "members": [
        {
          "type": "SYMBOL",
          "name": "bang"
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "bang"
            },
            {
              "type": "BLANK"
            }
          ]
        }
      ]
    },
    "_bang_filter_command_argument": {
      "type": "CHOICE",
      "members": [
        {
          "type": "SEQ",
          "members": [
            {
              "type": "CHOICE",
              "members": [
                {
                  "type": "PATTERN",
                  "value": "\\S"
                },
                {
                  "type": "SEQ",
                  "members": [
                    {
                      "type": "STRING",
                      "value": "\\"
                    },
                    {
                      "type": "PATTERN",
                      "value": "."
                    }
                  ]
                }
              ]
            },
            {
              "type": "REPEAT",
              "content": {
                "type": "CHOICE",
                "members": [
                  {
                    "type": "IMMEDIATE_TOKEN",
                    "content": {
                      "type": "PATTERN",
                      "value": "\\S"
                    }
                  },
                  {
                    "type": "IMMEDIATE_TOKEN",
                    "content": {
                      "type": "SEQ",
                      "members": [
                        {
                          "type": "STRING",
                          "value": "\\"
                        },
                        {
                          "type": "PATTERN",
                          "value": "."
                        }
                      ]
                    }
                  }
                ]
              }
            }
          ]
        },
        {
          "type": "SYMBOL",
          "name": "string_literal"
        }
      ]
    },
    "_bang_filter_command": {
      "type": "SEQ",
      "members": [
        {
          "type": "FIELD",
          "name": "filter",
          "content": {
            "type": "ALIAS",
            "content": {
              "type": "SYMBOL",
              "name": "filename"
            },
            "named": true,
            "value": "filter_command"
          }
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "bang"
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "REPEAT",
          "content": {
            "type": "ALIAS",
            "content": {
              "type": "SYMBOL",
              "name": "_bang_filter_command_argument"
            },
            "named": true,
            "value": "command_argument"
          }
        }
      ]
    },
    "bang_filter_statement": {
      "type": "SEQ",
      "members": [
        {
          "type": "FIELD",
          "name": "range",
          "content": {
            "type": "ALIAS",
            "content": {
              "type": "SYMBOL",
              "name": "_range"
            },
            "named": true,
            "value": "range"
          }
        },
        {
          "type": "ALIAS",
          "content": {
            "type": "SYMBOL",
            "name": "_bang_filter_bangs"
          },
          "named": true,
          "value": "bangs"
        },
        {
          "type": "ALIAS",
          "content": {
            "type": "SYMBOL",
            "name": "_bang_filter_command"
          },
          "named": true,
          "value": "command"
        }
      ]
    },
    "scoped_identifier": {
      "type": "SEQ",
      "members": [
        {
          "type": "SYMBOL",
          "name": "scope"
        },
        {
          "type": "SYMBOL",
          "name": "identifier"
        }
      ]
    },
    "argument": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "a:"
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "ALIAS",
              "content": {
                "type": "IMMEDIATE_TOKEN",
                "content": {
                  "type": "PATTERN",
                  "value": "[a-zA-Z_](\\w|#)*"
                }
              },
              "named": true,
              "value": "identifier"
            },
            {
              "type": "ALIAS",
              "content": {
                "type": "IMMEDIATE_TOKEN",
                "content": {
                  "type": "PATTERN",
                  "value": "[0-9]+"
                }
              },
              "named": true,
              "value": "integer_literal"
            }
          ]
        }
      ]
    },
    "_curly_braces_name_expression": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "{"
        },
        {
          "type": "SYMBOL",
          "name": "_expression"
        },
        {
          "type": "STRING",
          "value": "}"
        }
      ]
    },
    "_immediate_curly_braces_name_expression": {
      "type": "SEQ",
      "members": [
        {
          "type": "IMMEDIATE_TOKEN",
          "content": {
            "type": "STRING",
            "value": "{"
          }
        },
        {
          "type": "SYMBOL",
          "name": "_expression"
        },
        {
          "type": "STRING",
          "value": "}"
        }
      ]
    },
    "identifier": {
      "type": "SEQ",
      "members": [
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "PATTERN",
              "value": "[a-zA-Z_]+"
            },
            {
              "type": "ALIAS",
              "content": {
                "type": "SYMBOL",
                "name": "_curly_braces_name_expression"
              },
              "named": true,
              "value": "curly_braces_name"
            }
          ]
        },
        {
          "type": "REPEAT",
          "content": {
            "type": "CHOICE",
            "members": [
              {
                "type": "IMMEDIATE_TOKEN",
                "content": {
                  "type": "PATTERN",
                  "value": "(\\w|#)+"
                }
              },
              {
                "type": "ALIAS",
                "content": {
                  "type": "SYMBOL",
                  "name": "_immediate_curly_braces_name_expression"
                },
                "named": true,
                "value": "curly_braces_name"
              }
            ]
          }
        }
      ]
    },
    "_immediate_identifier": {
      "type": "SEQ",
      "members": [
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "IMMEDIATE_TOKEN",
              "content": {
                "type": "PATTERN",
                "value": "[a-zA-Z_]+"
              }
            },
            {
              "type": "ALIAS",
              "content": {
                "type": "SYMBOL",
                "name": "_immediate_curly_braces_name_expression"
              },
              "named": true,
              "value": "curly_braces_name"
            }
          ]
        },
        {
          "type": "REPEAT",
          "content": {
            "type": "CHOICE",
            "members": [
              {
                "type": "IMMEDIATE_TOKEN",
                "content": {
                  "type": "PATTERN",
                  "value": "(\\w|#)+"
                }
              },
              {
                "type": "ALIAS",
                "content": {
                  "type": "SYMBOL",
                  "name": "_immediate_curly_braces_name_expression"
                },
                "named": true,
                "value": "curly_braces_name"
              }
            ]
          }
        }
      ]
    },
    "_ident": {
      "type": "PREC_DYNAMIC",
      "value": 1,
      "content": {
        "type": "CHOICE",
        "members": [
          {
            "type": "SYMBOL",
            "name": "scoped_identifier"
          },
          {
            "type": "SYMBOL",
            "name": "identifier"
          },
          {
            "type": "SYMBOL",
            "name": "argument"
          }
        ]
      }
    },
    "keyword": {
      "type": "PATTERN",
      "value": "[a-zA-Z_](\\w|#)*"
    },
    "_let_operator": {
      "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": "..="
        }
      ]
    },
    "_assignment_variable": {
      "type": "CHOICE",
      "members": [
        {
          "type": "SYMBOL",
          "name": "identifier"
        },
        {
          "type": "SYMBOL",
          "name": "scope_dict"
        }
      ]
    },
    "_let_assignment": {
      "type": "SEQ",
      "members": [
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "_ident"
            },
            {
              "type": "SYMBOL",
              "name": "env_variable"
            },
            {
              "type": "SYMBOL",
              "name": "register"
            },
            {
              "type": "SYMBOL",
              "name": "option"
            },
            {
              "type": "SYMBOL",
              "name": "index_expression"
            },
            {
              "type": "SYMBOL",
              "name": "field_expression"
            },
            {
              "type": "SYMBOL",
              "name": "list_assignment"
            }
          ]
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SEQ",
              "members": [
                {
                  "type": "SYMBOL",
                  "name": "_let_operator"
                },
                {
                  "type": "SYMBOL",
                  "name": "_expression"
                }
              ]
            },
            {
              "type": "ALIAS",
              "content": {
                "type": "SYMBOL",
                "name": "_let_heredoc"
              },
              "named": true,
              "value": "heredoc"
            }
          ]
        }
      ]
    },
    "let_statement": {
      "type": "SEQ",
      "members": [
        {
          "type": "ALIAS",
          "content": {
            "type": "SYMBOL",
            "name": "_let"
          },
          "named": false,
          "value": "let"
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "_let_assignment"
            },
            {
              "type": "REPEAT",
              "content": {
                "type": "SYMBOL",
                "name": "_assignment_variable"
              }
            }
          ]
        }
      ]
    },
    "_const_assignment": {
      "type": "SEQ",
      "members": [
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "_ident"
            },
            {
              "type": "SYMBOL",
              "name": "list_assignment"
            }
          ]
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SEQ",
              "members": [
                {
                  "type": "STRING",
                  "value": "="
                },
                {
                  "type": "SYMBOL",
                  "name": "_expression"
                }
              ]
            },
            {
              "type": "ALIAS",
              "content": {
                "type": "SYMBOL",
                "name": "_let_heredoc"
              },
              "named": true,
              "value": "heredoc"
            }
          ]
        }
      ]
    },
    "const_statement": {
      "type": "SEQ",
      "members": [
        {
          "type": "ALIAS",
          "content": {
            "type": "SYMBOL",
            "name": "_const"
          },
          "named": false,
          "value": "const"
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "_const_assignment"
            },
            {
              "type": "REPEAT",
              "content": {
                "type": "SYMBOL",
                "name": "_assignment_variable"
              }
            }
          ]
        }
      ]
    },
    "_let_heredoc": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "=<<"
        },
        {
          "type": "REPEAT",
          "content": {
            "type": "ALIAS",
            "content": {
              "type": "SYMBOL",
              "name": "_let_heredoc_parameter"
            },
            "named": true,
            "value": "parameter"
          }
        },
        {
          "type": "ALIAS",
          "content": {
            "type": "SYMBOL",
            "name": "_let_heredoc_marker"
          },
          "named": true,
          "value": "marker_definition"
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "comment"
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "STRING",
          "value": "\n"
        },
        {
          "type": "ALIAS",
          "content": {
            "type": "REPEAT",
            "content": {
              "type": "SYMBOL",
              "name": "_heredoc_line"
            }
          },
          "named": true,
          "value": "body"
        },
        {
          "type": "ALIAS",
          "content": {
            "type": "SYMBOL",
            "name": "_heredoc_end"
          },
          "named": true,
          "value": "endmarker"
        }
      ]
    },
    "_let_heredoc_parameter": {
      "type": "CHOICE",
      "members": [
        {
          "type": "STRING",
          "value": "trim"
        },
        {
          "type": "STRING",
          "value": "eval"
        }
      ]
    },
    "option_name": {
      "type": "CHOICE",
      "members": [
        {
          "type": "PATTERN",
          "value": "[a-z]+"
        },
        {
          "type": "SEQ",
          "members": [
            {
              "type": "STRING",
              "value": "t_"
            },
            {
              "type": "PATTERN",
              "value": "[a-zA-Z0-9]+"
            }
          ]
        }
      ]
    },
    "no_option": {
      "type": "SEQ",
      "members": [
        {
          "type": "SYMBOL",
          "name": "_no"
        },
        {
          "type": "SYMBOL",
          "name": "option_name"
        }
      ]
    },
    "inv_option": {
      "type": "CHOICE",
      "members": [
        {
          "type": "SEQ",
          "members": [
            {
              "type": "SYMBOL",
              "name": "_inv"
            },
            {
              "type": "SYMBOL",
              "name": "option_name"
            }
          ]
        },
        {
          "type": "SEQ",
          "members": [
            {
              "type": "SYMBOL",
              "name": "option_name"
            },
            {
              "type": "IMMEDIATE_TOKEN",
              "content": {
                "type": "STRING",
                "value": "!"
              }
            }
          ]
        }
      ]
    },
    "default_option": {
      "type": "SEQ",
      "members": [
        {
          "type": "SYMBOL",
          "name": "option_name"
        },
        {
          "type": "STRING",
          "value": "&"
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "CHOICE",
              "members": [
                {
                  "type": "STRING",
                  "value": "vi"
                },
                {
                  "type": "STRING",
                  "value": "vim"
                }
              ]
            },
            {
              "type": "BLANK"
            }
          ]
        }
      ]
    },
    "_set_option": {
      "type": "CHOICE",
      "members": [
        {
          "type": "STRING",
          "value": "all"
        },
        {
          "type": "STRING",
          "value": "all&"
        },
        {
          "type": "SYMBOL",
          "name": "option_name"
        },
        {
          "type": "SEQ",
          "members": [
            {
              "type": "SYMBOL",
              "name": "option_name"
            },
            {
              "type": "STRING",
              "value": "?"
            }
          ]
        },
        {
          "type": "SYMBOL",
          "name": "no_option"
        },
        {
          "type": "SYMBOL",
          "name": "inv_option"
        },
        {
          "type": "SYMBOL",
          "name": "default_option"
        }
      ]
    },
    "_set_operator": {
      "type": "CHOICE",
      "members": [
        {
          "type": "IMMEDIATE_TOKEN",
          "content": {
            "type": "STRING",
            "value": "="
          }
        },
        {
          "type": "IMMEDIATE_TOKEN",
          "content": {
            "type": "STRING",
            "value": ":"
          }
        },
        {
          "type": "IMMEDIATE_TOKEN",
          "content": {
            "type": "STRING",
            "value": "+="
          }
        },
        {
          "type": "IMMEDIATE_TOKEN",
          "content": {
            "type": "STRING",
            "value": "^="
          }
        },
        {
          "type": "IMMEDIATE_TOKEN",
          "content": {
            "type": "STRING",
            "value": "-="
          }
        }
      ]
    },
    "set_value": {
      "type": "IMMEDIATE_TOKEN",
      "content": {
        "type": "PATTERN",
        "value": "([^ \\n\\t]|\\\\[\\t ])+"
      }
    },
    "_set_rhs": {
      "type": "SEQ",
      "members": [
        {
          "type": "SYMBOL",
          "name": "_set_operator"
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "FIELD",
              "name": "value",
              "content": {
                "type": "SYMBOL",
                "name": "set_value"
              }
            },
            {
              "type": "BLANK"
            }
          ]
        }
      ]
    },
    "set_item": {
      "type": "SEQ",
      "members": [
        {
          "type": "FIELD",
          "name": "option",
          "content": {
            "type": "SYMBOL",
            "name": "_set_option"
          }
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "_set_rhs"
            },
            {
              "type": "BLANK"
            }
          ]
        }
      ]
    },
    "set_statement": {
      "type": "SEQ",
      "members": [
        {
          "type": "ALIAS",
          "content": {
            "type": "SYMBOL",
            "name": "_set"
          },
          "named": false,
          "value": "set"
        },
        {
          "type": "SEQ",
          "members": [
            {
              "type": "SYMBOL",
              "name": "set_item"
            },
            {
              "type": "REPEAT",
              "content": {
                "type": "SEQ",
                "members": [
                  {
                    "type": "STRING",
                    "value": " "
                  },
                  {
                    "type": "SYMBOL",
                    "name": "set_item"
                  }
                ]
              }
            }
          ]
        }
      ]
    },
    "setlocal_statement": {
      "type": "SEQ",
      "members": [
        {
          "type": "ALIAS",
          "content": {
            "type": "SYMBOL",
            "name": "_setlocal"
          },
          "named": false,
          "value": "setlocal"
        },
        {
          "type": "SEQ",
          "members": [
            {
              "type": "SYMBOL",
              "name": "set_item"
            },
            {
              "type": "REPEAT",
              "content": {
                "type": "SEQ",
                "members": [
                  {
                    "type": "STRING",
                    "value": " "
                  },
                  {
                    "type": "SYMBOL",
                    "name": "set_item"
                  }
                ]
              }
            }
          ]
        }
      ]
    },
    "unlet_statement": {
      "type": "SEQ",
      "members": [
        {
          "type": "SEQ",
          "members": [
            {
              "type": "ALIAS",
              "content": {
                "type": "SYMBOL",
                "name": "_unlet"
              },
              "named": false,
              "value": "unlet"
            },
            {
              "type": "CHOICE",
              "members": [
                {
                  "type": "SYMBOL",
                  "name": "bang"
                },
                {
                  "type": "BLANK"
                }
              ]
            }
          ]
        },
        {
          "type": "REPEAT1",
          "content": {
            "type": "SYMBOL",
            "name": "_expression"
          }
        }
      ]
    },
    "call_statement": {
      "type": "SEQ",
      "members": [
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SEQ",
              "members": [
                {
                  "type": "FIELD",
                  "name": "range",
                  "content": {
                    "type": "ALIAS",
                    "content": {
                      "type": "SYMBOL",
                      "name": "_range"
                    },
                    "named": true,
                    "value": "range"
                  }
                },
                {
                  "type": "CHOICE",
                  "members": [
                    {
                      "type": "STRING",
                      "value": ":"
                    },
                    {
                      "type": "BLANK"
                    }
                  ]
                }
              ]
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "ALIAS",
          "content": {
            "type": "SYMBOL",
            "name": "_call"
          },
          "named": false,
          "value": "call"
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "call_expression"
            },
            {
              "type": "SYMBOL",
              "name": "method_expression"
            }
          ]
        }
      ]
    },
    "echo_statement": {
      "type": "SEQ",
      "members": [
        {
          "type": "ALIAS",
          "content": {
            "type": "SYMBOL",
            "name": "_echo"
          },
          "named": false,
          "value": "echo"
        },
        {
          "type": "REPEAT",
          "content": {
            "type": "SYMBOL",
            "name": "_expression"
          }
        }
      ]
    },
    "echon_statement": {
      "type": "SEQ",
      "members": [
        {
          "type": "ALIAS",
          "content": {
            "type": "SYMBOL",
            "name": "_echon"
          },
          "named": false,
          "value": "echon"
        },
        {
          "type": "REPEAT",
          "content": {
            "type": "SYMBOL",
            "name": "_expression"
          }
        }
      ]
    },
    "echohl_statement": {
      "type": "SEQ",
      "members": [
        {
          "type": "ALIAS",
          "content": {
            "type": "SYMBOL",
            "name": "_echohl"
          },
          "named": false,
          "value": "echohl"
        },
        {
          "type": "SYMBOL",
          "name": "hl_group"
        }
      ]
    },
    "echomsg_statement": {
      "type": "SEQ",
      "members": [
        {
          "type": "ALIAS",
          "content": {
            "type": "SYMBOL",
            "name": "_echomsg"
          },
          "named": false,
          "value": "echomsg"
        },
        {
          "type": "REPEAT",
          "content": {
            "type": "SYMBOL",
            "name": "_expression"
          }
        }
      ]
    },
    "echoerr_statement": {
      "type": "SEQ",
      "members": [
        {
          "type": "ALIAS",
          "content": {
            "type": "SYMBOL",
            "name": "_echoerr"
          },
          "named": false,
          "value": "echoerr"
        },
        {
          "type": "REPEAT",
          "content": {
            "type": "SYMBOL",
            "name": "_expression"
          }
        }
      ]
    },
    "execute_statement": {
      "type": "SEQ",
      "members": [
        {
          "type": "ALIAS",
          "content": {
            "type": "SYMBOL",
            "name": "_execute"
          },
          "named": false,
          "value": "execute"
        },
        {
          "type": "REPEAT1",
          "content": {
            "type": "SYMBOL",
            "name": "_expression"
          }
        }
      ]
    },
    "silent_statement": {
      "type": "SEQ",
      "members": [
        {
          "type": "SEQ",
          "members": [
            {
              "type": "ALIAS",
              "content": {
                "type": "SYMBOL",
                "name": "_silent"
              },
              "named": false,
              "value": "silent"
            },
            {
              "type": "CHOICE",
              "members": [
                {
                  "type": "SYMBOL",
                  "name": "bang"
                },
                {
                  "type": "BLANK"
                }
              ]
            }
          ]
        },
        {
          "type": "SYMBOL",
          "name": "_statement"
        }
      ]
    },
    "vertical_statement": {
      "type": "SEQ",
      "members": [
        {
          "type": "ALIAS",
          "content": {
            "type": "SYMBOL",
            "name": "_vertical"
          },
          "named": false,
          "value": "vertical"
        },
        {
          "type": "SYMBOL",
          "name": "_statement"
        }
      ]
    },
    "topleft_statement": {
      "type": "SEQ",
      "members": [
        {
          "type": "ALIAS",
          "content": {
            "type": "SYMBOL",
            "name": "_topleft"
          },
          "named": false,
          "value": "topleft"
        },
        {
          "type": "SYMBOL",
          "name": "_statement"
        }
      ]
    },
    "botright_statement": {
      "type": "SEQ",
      "members": [
        {
          "type": "ALIAS",
          "content": {
            "type": "SYMBOL",
            "name": "_botright"
          },
          "named": false,
          "value": "botright"
        },
        {
          "type": "SYMBOL",
          "name": "_statement"
        }
      ]
    },
    "aboveleft_statement": {
      "type": "SEQ",
      "members": [
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "ALIAS",
              "content": {
                "type": "SYMBOL",
                "name": "_leftabove"
              },
              "named": false,
              "value": "leftabove"
            },
            {
              "type": "ALIAS",
              "content": {
                "type": "SYMBOL",
                "name": "_aboveleft"
              },
              "named": false,
              "value": "aboveleft"
            }
          ]
        },
        {
          "type": "SYMBOL",
          "name": "_statement"
        }
      ]
    },
    "belowright_statement": {
      "type": "SEQ",
      "members": [
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "ALIAS",
              "content": {
                "type": "SYMBOL",
                "name": "_rightbelow"
              },
              "named": false,
              "value": "rightbelow"
            },
            {
              "type": "ALIAS",
              "content": {
                "type": "SYMBOL",
                "name": "_belowright"
              },
              "named": false,
              "value": "belowright"
            }
          ]
        },
        {
          "type": "SYMBOL",
          "name": "_statement"
        }
      ]
    },
    "user_command": {
      "type": "SEQ",
      "members": [
        {
          "type": "SEQ",
          "members": [
            {
              "type": "SYMBOL",
              "name": "command_name"
            },
            {
              "type": "CHOICE",
              "members": [
                {
                  "type": "SYMBOL",
                  "name": "bang"
                },
                {
                  "type": "BLANK"
                }
              ]
            }
          ]
        },
        {
          "type": "ALIAS",
          "content": {
            "type": "REPEAT",
            "content": {
              "type": "SYMBOL",
              "name": "command_argument"
            }
          },
          "named": true,
          "value": "arguments"
        }
      ]
    },
    "command_argument": {
      "type": "CHOICE",
      "members": [
        {
          "type": "SYMBOL",
          "name": "string_literal"
        },
        {
          "type": "PATTERN",
          "value": "\\S+"
        }
      ]
    },
    "function_definition": {
      "type": "SEQ",
      "members": [
        {
          "type": "SEQ",
          "members": [
            {
              "type": "ALIAS",
              "content": {
                "type": "SYMBOL",
                "name": "_function"
              },
              "named": false,
              "value": "function"
            },
            {
              "type": "CHOICE",
              "members": [
                {
                  "type": "SYMBOL",
                  "name": "bang"
                },
                {
                  "type": "BLANK"
                }
              ]
            }
          ]
        },
        {
          "type": "SYMBOL",
          "name": "function_declaration"
        },
        {
          "type": "REPEAT",
          "content": {
            "type": "CHOICE",
            "members": [
              {
                "type": "STRING",
                "value": "dict"
              },
              {
                "type": "STRING",
                "value": "range"
              },
              {
                "type": "STRING",
                "value": "abort"
              },
              {
                "type": "STRING",
                "value": "closure"
              }
            ]
          }
        },
        {
          "type": "SYMBOL",
          "name": "_cmd_separator"
        },
        {
          "type": "ALIAS",
          "content": {
            "type": "CHOICE",
            "members": [
              {
                "type": "SYMBOL",
                "name": "_separated_statements"
              },
              {
                "type": "BLANK"
              }
            ]
          },
          "named": true,
          "value": "body"
        },
        {
          "type": "ALIAS",
          "content": {
            "type": "SYMBOL",
            "name": "_endfunction"
          },
          "named": false,
          "value": "endfunction"
        }
      ]
    },
    "function_declaration": {
      "type": "PREC",
      "value": 8,
      "content": {
        "type": "SEQ",
        "members": [
          {
            "type": "FIELD",
            "name": "name",
            "content": {
              "type": "CHOICE",
              "members": [
                {
                  "type": "SYMBOL",
                  "name": "_ident"
                },
                {
                  "type": "SYMBOL",
                  "name": "field_expression"
                }
              ]
            }
          },
          {
            "type": "FIELD",
            "name": "parameters",
            "content": {
              "type": "SYMBOL",
              "name": "parameters"
            }
          }
        ]
      }
    },
    "parameters": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "("
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "spread"
            },
            {
              "type": "SEQ",
              "members": [
                {
                  "type": "CHOICE",
                  "members": [
                    {
                      "type": "SEQ",
                      "members": [
                        {
                          "type": "SYMBOL",
                          "name": "default_parameter"
                        },
                        {
                          "type": "REPEAT",
                          "content": {
                            "type": "SEQ",
                            "members": [
                              {
                                "type": "STRING",
                                "value": ","
                              },
                              {
                                "type": "SYMBOL",
                                "name": "default_parameter"
                              }
                            ]
                          }
                        }
                      ]
                    },
                    {
                      "type": "BLANK"
                    }
                  ]
                },
                {
                  "type": "CHOICE",
                  "members": [
                    {
                      "type": "SEQ",
                      "members": [
                        {
                          "type": "STRING",
                          "value": ","
                        },
                        {
                          "type": "SYMBOL",
                          "name": "spread"
                        }
                      ]
                    },
                    {
                      "type": "BLANK"
                    }
                  ]
                }
              ]
            },
            {
              "type": "SEQ",
              "members": [
                {
                  "type": "CHOICE",
                  "members": [
                    {
                      "type": "SEQ",
                      "members": [
                        {
                          "type": "SYMBOL",
                          "name": "identifier"
                        },
                        {
                          "type": "REPEAT",
                          "content": {
                            "type": "SEQ",
                            "members": [
                              {
                                "type": "STRING",
                                "value": ","
                              },
                              {
                                "type": "SYMBOL",
                                "name": "identifier"
                              }
                            ]
                          }
                        }
                      ]
                    },
                    {
                      "type": "BLANK"
                    }
                  ]
                },
                {
                  "type": "CHOICE",
                  "members": [
                    {
                      "type": "SEQ",
                      "members": [
                        {
                          "type": "STRING",
                          "value": ","
                        },
                        {
                          "type": "CHOICE",
                          "members": [
                            {
                              "type": "SEQ",
                              "members": [
                                {
                                  "type": "SYMBOL",
                                  "name": "default_parameter"
                                },
                                {
                                  "type": "REPEAT",
                                  "content": {
                                    "type": "SEQ",
                                    "members": [
                                      {
                                        "type": "STRING",
                                        "value": ","
                                      },
                                      {
                                        "type": "SYMBOL",
                                        "name": "default_parameter"
                                      }
                                    ]
                                  }
                                }
                              ]
                            },
                            {
                              "type": "BLANK"
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BLANK"
                    }
                  ]
                },
                {
                  "type": "CHOICE",
                  "members": [
                    {
                      "type": "SEQ",
                      "members": [
                        {
                          "type": "STRING",
                          "value": ","
                        },
                        {
                          "type": "SYMBOL",
                          "name": "spread"
                        }
                      ]
                    },
                    {
                      "type": "BLANK"
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "type": "STRING",
          "value": ")"
        }
      ]
    },
    "default_parameter": {
      "type": "SEQ",
      "members": [
        {
          "type": "FIELD",
          "name": "name",
          "content": {
            "type": "SYMBOL",
            "name": "identifier"
          }
        },
        {
          "type": "STRING",
          "value": "="
        },
        {
          "type": "FIELD",
          "name": "value",
          "content": {
            "type": "SYMBOL",
            "name": "_expression"
          }
        }
      ]
    },
    "bang": {
      "type": "IMMEDIATE_TOKEN",
      "content": {
        "type": "STRING",
        "value": "!"
      }
    },
    "at": {
      "type": "STRING",
      "value": "@"
    },
    "spread": {
      "type": "STRING",
      "value": "..."
    },
    "_printable": {
      "type": "PATTERN",
      "value": "[^\\t\\n\\v\\f\\r]"
    },
    "mark": {
      "type": "PATTERN",
      "value": "'."
    },
    "range_statement": {
      "type": "SYMBOL",
      "name": "_range"
    },
    "_range": {
      "type": "CHOICE",
      "members": [
        {
          "type": "ALIAS",
          "content": {
            "type": "STRING",
            "value": "%"
          },
          "named": true,
          "value": "file"
        },
        {
          "type": "SYMBOL",
          "name": "_range_explicit"
        }
      ]
    },
    "_range_explicit": {
      "type": "SEQ",
      "members": [
        {
          "type": "FIELD",
          "name": "start",
          "content": {
            "type": "SYMBOL",
            "name": "_range_marker"
          }
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SEQ",
              "members": [
                {
                  "type": "CHOICE",
                  "members": [
                    {
                      "type": "STRING",
                      "value": ","
                    },
                    {
                      "type": "STRING",
                      "value": ";"
                    }
                  ]
                },
                {
                  "type": "FIELD",
                  "name": "end",
                  "content": {
                    "type": "SYMBOL",
                    "name": "_range_marker"
                  }
                }
              ]
            },
            {
              "type": "BLANK"
            }
          ]
        }
      ]
    },
    "_range_marker": {
      "type": "CHOICE",
      "members": [
        {
          "type": "SYMBOL",
          "name": "integer_literal"
        },
        {
          "type": "SYMBOL",
          "name": "current_line"
        },
        {
          "type": "SYMBOL",
          "name": "next_line"
        },
        {
          "type": "SYMBOL",
          "name": "last_line"
        },
        {
          "type": "SEQ",
          "members": [
            {
              "type": "STRING",
              "value": "/"
            },
            {
              "type": "SYMBOL",
              "name": "pattern"
            },
            {
              "type": "CHOICE",
              "members": [
                {
                  "type": "IMMEDIATE_TOKEN",
                  "content": {
                    "type": "STRING",
                    "value": "/"
                  }
                },
                {
                  "type": "BLANK"
                }
              ]
            }
          ]
        },
        {
          "type": "SEQ",
          "members": [
            {
              "type": "STRING",
              "value": "?"
            },
            {
              "type": "SYMBOL",
              "name": "pattern"
            },
            {
              "type": "CHOICE",
              "members": [
                {
                  "type": "IMMEDIATE_TOKEN",
                  "content": {
                    "type": "STRING",
                    "value": "?"
                  }
                },
                {
                  "type": "BLANK"
                }
              ]
            }
          ]
        },
        {
          "type": "SYMBOL",
          "name": "previous_pattern"
        },
        {
          "type": "SYMBOL",
          "name": "mark"
        }
      ]
    },
    "current_line": {
      "type": "STRING",
      "value": "."
    },
    "next_line": {
      "type": "STRING",
      "value": "+"
    },
    "last_line": {
      "type": "STRING",
      "value": "$"
    },
    "previous_pattern": {
      "type": "CHOICE",
      "members": [
        {
          "type": "STRING",
          "value": "\\/"
        },
        {
          "type": "STRING",
          "value": "\\?"
        },
        {
          "type": "STRING",
          "value": "\\&"
        }
      ]
    },
    "register_statement": {
      "type": "SYMBOL",
      "name": "register"
    },
    "map_statement": {
      "type": "SEQ",
      "members": [
        {
          "type": "FIELD",
          "name": "cmd",
          "content": {
            "type": "CHOICE",
            "members": [
              {
                "type": "ALIAS",
                "content": {
                  "type": "SYMBOL",
                  "name": "_map"
                },
                "named": false,
                "value": "map"
              },
              {
                "type": "ALIAS",
                "content": {
                  "type": "SYMBOL",
                  "name": "_nmap"
                },
                "named": false,
                "value": "nmap"
              },
              {
                "type": "ALIAS",
                "content": {
                  "type": "SYMBOL",
                  "name": "_vmap"
                },
                "named": false,
                "value": "vmap"
              },
              {
                "type": "ALIAS",
                "content": {
                  "type": "SYMBOL",
                  "name": "_xmap"
                },
                "named": false,
                "value": "xmap"
              },
              {
                "type": "ALIAS",
                "content": {
                  "type": "SYMBOL",
                  "name": "_smap"
                },
                "named": false,
                "value": "smap"
              },
              {
                "type": "ALIAS",
                "content": {
                  "type": "SYMBOL",
                  "name": "_omap"
                },
                "named": false,
                "value": "omap"
              },
              {
                "type": "ALIAS",
                "content": {
                  "type": "SYMBOL",
                  "name": "_imap"
                },
                "named": false,
                "value": "imap"
              },
              {
                "type": "ALIAS",
                "content": {
                  "type": "SYMBOL",
                  "name": "_lmap"
                },
                "named": false,
                "value": "lmap"
              },
              {
                "type": "ALIAS",
                "content": {
                  "type": "SYMBOL",
                  "name": "_cmap"
                },
                "named": false,
                "value": "cmap"
              },
              {
                "type": "ALIAS",
                "content": {
                  "type": "SYMBOL",
                  "name": "_tmap"
                },
                "named": false,
                "value": "tmap"
              },
              {
                "type": "ALIAS",
                "content": {
                  "type": "SYMBOL",
                  "name": "_noremap"
                },
                "named": false,
                "value": "noremap"
              },
              {
                "type": "ALIAS",
                "content": {
                  "type": "SYMBOL",
                  "name": "_vnoremap"
                },
                "named": false,
                "value": "vnoremap"
              },
              {
                "type": "ALIAS",
                "content": {
                  "type": "SYMBOL",
                  "name": "_nnoremap"
                },
                "named": false,
                "value": "nnoremap"
              },
              {
                "type": "ALIAS",
                "content": {
                  "type": "SYMBOL",
                  "name": "_xnoremap"
                },
                "named": false,
                "value": "xnoremap"
              },
              {
                "type": "ALIAS",
                "content": {
                  "type": "SYMBOL",
                  "name": "_snoremap"
                },
                "named": false,
                "value": "snoremap"
              },
              {
                "type": "ALIAS",
                "content": {
                  "type": "SYMBOL",
                  "name": "_onoremap"
                },
                "named": false,
                "value": "onoremap"
              },
              {
                "type": "ALIAS",
                "content": {
                  "type": "SYMBOL",
                  "name": "_inoremap"
                },
                "named": false,
                "value": "inoremap"
              },
              {
                "type": "ALIAS",
                "content": {
                  "type": "SYMBOL",
                  "name": "_lnoremap"
                },
                "named": false,
                "value": "lnoremap"
              },
              {
                "type": "ALIAS",
                "content": {
                  "type": "SYMBOL",
                  "name": "_cnoremap"
                },
                "named": false,
                "value": "cnoremap"
              },
              {
                "type": "ALIAS",
                "content": {
                  "type": "SYMBOL",
                  "name": "_tnoremap"
                },
                "named": false,
                "value": "tnoremap"
              }
            ]
          }
        },
        {
          "type": "REPEAT",
          "content": {
            "type": "CHOICE",
            "members": [
              {
                "type": "STRING",
                "value": "<buffer>"
              },
              {
                "type": "STRING",
                "value": "<nowait>"
              },
              {
                "type": "STRING",
                "value": "<silent>"
              },
              {
                "type": "STRING",
                "value": "<unique>"
              },
              {
                "type": "STRING",
                "value": "<script>"
              }
            ]
          }
        },
        {
          "type": "SYMBOL",
          "name": "_map_definition"
        }
      ]
    },
    "_map_definition": {
      "type": "CHOICE",
      "members": [
        {
          "type": "SEQ",
          "members": [
            {
              "type": "STRING",
              "value": "<expr>"
            },
            {
              "type": "REPEAT",
              "content": {
                "type": "CHOICE",
                "members": [
                  {
                    "type": "STRING",
                    "value": "<buffer>"
                  },
                  {
                    "type": "STRING",
                    "value": "<nowait>"
                  },
                  {
                    "type": "STRING",
                    "value": "<silent>"
                  },
                  {
                    "type": "STRING",
                    "value": "<unique>"
                  },
                  {
                    "type": "STRING",
                    "value": "<script>"
                  }
                ]
              }
            },
            {
              "type": "FIELD",
              "name": "lhs",
              "content": {
                "type": "ALIAS",
                "content": {
                  "type": "SYMBOL",
                  "name": "_map_lhs"
                },
                "named": true,
                "value": "map_side"
              }
            },
            {
              "type": "FIELD",
              "name": "rhs",
              "content": {
                "type": "SYMBOL",
                "name": "_expression"
              }
            }
          ]
        },
        {
          "type": "SEQ",
          "members": [
            {
              "type": "FIELD",
              "name": "lhs",
              "content": {
                "type": "ALIAS",
                "content": {
                  "type": "SYMBOL",
                  "name": "_map_lhs"
                },
                "named": true,
                "value": "map_side"
              }
            },
            {
              "type": "FIELD",
              "name": "rhs",
              "content": {
                "type": "ALIAS",
                "content": {
                  "type": "SYMBOL",
                  "name": "_map_rhs"
                },
                "named": true,
                "value": "map_side"
              }
            }
          ]
        }
      ]
    },
    "_keycode_modifier": {
      "type": "IMMEDIATE_TOKEN",
      "content": {
        "type": "PATTERN",
        "value": "([SsCcMmAaDd]|[Aa][lL][tT])-"
      }
    },
    "_keycode_in": {
      "type": "CHOICE",
      "members": [
        {
          "type": "IMMEDIATE_TOKEN",
          "content": {
            "type": "PATTERN",
            "value": "[Nn][Uu][Ll]"
          }
        },
        {
          "type": "IMMEDIATE_TOKEN",
          "content": {
            "type": "PATTERN",
            "value": "[Bb][Ss]"
          }
        },
        {
          "type": "IMMEDIATE_TOKEN",
          "content": {
            "type": "PATTERN",
            "value": "[Tt][aA][bB]"
          }
        },
        {
          "type": "IMMEDIATE_TOKEN",
          "content": {
            "type": "PATTERN",
            "value": "[Nn][Ll]"
          }
        },
        {
          "type": "IMMEDIATE_TOKEN",
          "content": {
            "type": "PATTERN",
            "value": "[Cc][Rr]"
          }
        },
        {
          "type": "IMMEDIATE_TOKEN",
          "content": {
            "type": "PATTERN",
            "value": "[Rr][eE][tT][uU][rR][nN]"
          }
        },
        {
          "type": "IMMEDIATE_TOKEN",
          "content": {
            "type": "PATTERN",
            "value": "[kK]?[Ee][nN][tT][eE][rR]"
          }
        },
        {
          "type": "IMMEDIATE_TOKEN",
          "content": {
            "type": "PATTERN",
            "value": "[Ee][sS][cC]"
          }
        },
        {
          "type": "IMMEDIATE_TOKEN",
          "content": {
            "type": "PATTERN",
            "value": "[Ss][pP][aA][cC][eE]"
          }
        },
        {
          "type": "IMMEDIATE_TOKEN",
          "content": {
            "type": "PATTERN",
            "value": "[lL][tT]"
          }
        },
        {
          "type": "IMMEDIATE_TOKEN",
          "content": {
            "type": "PATTERN",
            "value": "[Bb][sS][lL][aA][sS][hH]"
          }
        },
        {
          "type": "IMMEDIATE_TOKEN",
          "content": {
            "type": "PATTERN",
            "value": "[Bb][aA][rR]"
          }
        },
        {
          "type": "IMMEDIATE_TOKEN",
          "content": {
            "type": "PATTERN",
            "value": "[kK]?[Dd][eE][lL]"
          }
        },
        {
          "type": "IMMEDIATE_TOKEN",
          "content": {
            "type": "PATTERN",
            "value": "[xX]?[Cc][Ss][Ii]"
          }
        },
        {
          "type": "IMMEDIATE_TOKEN",
          "content": {
            "type": "PATTERN",
            "value": "[Ee][Oo][Ll]"
          }
        },
        {
          "type": "IMMEDIATE_TOKEN",
          "content": {
            "type": "PATTERN",
            "value": "[Ii][gG][nN][oO][rR][eE]"
          }
        },
        {
          "type": "IMMEDIATE_TOKEN",
          "content": {
            "type": "PATTERN",
            "value": "[Nn][Oo][Pp]"
          }
        },
        {
          "type": "IMMEDIATE_TOKEN",
          "content": {
            "type": "PATTERN",
            "value": "([kK]|([SsCc]-))?[Uu][pP]"
          }
        },
        {
          "type": "IMMEDIATE_TOKEN",
          "content": {
            "type": "PATTERN",
            "value": "([kK]|([SsCc]-))?[Dd][oO][wW][nN]"
          }
        },
        {
          "type": "IMMEDIATE_TOKEN",
          "content": {
            "type": "PATTERN",
            "value": "([kK]|([SsCc]-))?[Ll][eE][fF][tT]"
          }
        },
        {
          "type": "IMMEDIATE_TOKEN",
          "content": {
            "type": "PATTERN",
            "value": "([kK]|([SsCc]-))?[Rr][iI][gG][hH][tT]"
          }
        },
        {
          "type": "IMMEDIATE_TOKEN",
          "content": {
            "type": "PATTERN",
            "value": "([SsCc]-)?[Ll][eE][fF][tT][Mm][oO][uU][sS][eE]"
          }
        },
        {
          "type": "IMMEDIATE_TOKEN",
          "content": {
            "type": "PATTERN",
            "value": "([SsCc]-)?[Rr][iI][gG][hH][tT][Mm][oO][uU][sS][eE]"
          }
        },
        {
          "type": "IMMEDIATE_TOKEN",
          "content": {
            "type": "PATTERN",
            "value": "([Ss]-)?[Ff][0-9]{1,2}"
          }
        },
        {
          "type": "IMMEDIATE_TOKEN",
          "content": {
            "type": "PATTERN",
            "value": "[Hh][eE][lL][pP]"
          }
        },
        {
          "type": "IMMEDIATE_TOKEN",
          "content": {
            "type": "PATTERN",
            "value": "[Uu][nN][dD][oO]"
          }
        },
        {
          "type": "IMMEDIATE_TOKEN",
          "content": {
            "type": "PATTERN",
            "value": "[Ii][nN][sS][eE][rR][tT]"
          }
        },
        {
          "type": "IMMEDIATE_TOKEN",
          "content": {
            "type": "PATTERN",
            "value": "[kK]?[Hh][oO][mM][eE]"
          }
        },
        {
          "type": "IMMEDIATE_TOKEN",
          "content": {
            "type": "PATTERN",
            "value": "[kK]?[Ee][nN][dD]"
          }
        },
        {
          "type": "IMMEDIATE_TOKEN",
          "content": {
            "type": "PATTERN",
            "value": "[kK]?[Pp][aA][gG][eE][Uu][pP]"
          }
        },
        {
          "type": "IMMEDIATE_TOKEN",
          "content": {
            "type": "PATTERN",
            "value": "[kK]?[Pp][aA][gG][eE][Dd][oO][wW][nN]"
          }
        },
        {
          "type": "IMMEDIATE_TOKEN",
          "content": {
            "type": "PATTERN",
            "value": "[kK][Pp][lL][uU][sS]"
          }
        },
        {
          "type": "IMMEDIATE_TOKEN",
          "content": {
            "type": "PATTERN",
            "value": "[kK][Mm][iI][nN][uU][sS]"
          }
        },
        {
          "type": "IMMEDIATE_TOKEN",
          "content": {
            "type": "PATTERN",
            "value": "[kK][Mm][uU][lL][tT][iI][pP][lL][yY]"
          }
        },
        {
          "type": "IMMEDIATE_TOKEN",
          "content": {
            "type": "PATTERN",
            "value": "[kK][Dd][iI][vV][iI][dD][eE]"
          }
        },
        {
          "type": "IMMEDIATE_TOKEN",
          "content": {
            "type": "PATTERN",
            "value": "[kK][Pp][oO][iI][nN][tT]"
          }
        },
        {
          "type": "IMMEDIATE_TOKEN",
          "content": {
            "type": "PATTERN",
            "value": "[kK][Cc][oO][mM][mM][aA]"
          }
        },
        {
          "type": "IMMEDIATE_TOKEN",
          "content": {
            "type": "PATTERN",
            "value": "[kK][Ee][qQ][uU][aA][lL]"
          }
        },
        {
          "type": "IMMEDIATE_TOKEN",
          "content": {
            "type": "PATTERN",
            "value": "[kK][0-9]"
          }
        },
        {
          "type": "IMMEDIATE_TOKEN",
          "content": {
            "type": "PATTERN",
            "value": "([Ll][oO][cC][aA][lL])?[Ll][eE][aA][dD][eE][rR]"
          }
        },
        {
          "type": "IMMEDIATE_TOKEN",
          "content": {
            "type": "PATTERN",
            "value": "[Ss][Ii][Dd]"
          }
        },
        {
          "type": "IMMEDIATE_TOKEN",
          "content": {
            "type": "PATTERN",
            "value": "[Pp][lL][uU][gG]"
          }
        },
        {
          "type": "IMMEDIATE_TOKEN",
          "content": {
            "type": "PATTERN",
            "value": "([Ss]-)?[Cc][hH][aA][rR]-(0[0-7]+|0[xX][0-9a-fA-F]+|[0-9]+)+"
          }
        },
        {
          "type": "SEQ",
          "members": [
            {
              "type": "SYMBOL",
              "name": "_keycode_modifier"
            },
            {
              "type": "CHOICE",
              "members": [
                {
                  "type": "IMMEDIATE_TOKEN",
                  "content": {
                    "type": "PATTERN",
                    "value": "\\S"
                  }
                },
                {
                  "type": "SYMBOL",
                  "name": "_keycode_in"
                }
              ]
            }
          ]
        }
      ]
    },
    "_immediate_keycode": {
      "type": "SEQ",
      "members": [
        {
          "type": "IMMEDIATE_TOKEN",
          "content": {
            "type": "STRING",
            "value": "<"
          }
        },
        {
          "type": "SYMBOL",
          "name": "_keycode_in"
        },
        {
          "type": "IMMEDIATE_TOKEN",
          "content": {
            "type": "STRING",
            "value": ">"
          }
        }
      ]
    },
    "keycode": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "<"
        },
        {
          "type": "SYMBOL",
          "name": "_keycode_in"
        },
        {
          "type": "IMMEDIATE_TOKEN",
          "content": {
            "type": "STRING",
            "value": ">"
          }
        }
      ]
    },
    "_map_lhs": {
      "type": "SEQ",
      "members": [
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "PATTERN",
              "value": "\\S"
            },
            {
              "type": "STRING",
              "value": "<"
            },
            {
              "type": "SEQ",
              "members": [
                {
                  "type": "STRING",
                  "value": "\\"
                },
                {
                  "type": "PATTERN",
                  "value": "."
                }
              ]
            },
            {
              "type": "SYMBOL",
              "name": "keycode"
            }
          ]
        },
        {
          "type": "REPEAT",
          "content": {
            "type": "CHOICE",
            "members": [
              {
                "type": "IMMEDIATE_TOKEN",
                "content": {
                  "type": "PATTERN",
                  "value": "\\S"
                }
              },
              {
                "type": "IMMEDIATE_TOKEN",
                "content": {
                  "type": "STRING",
                  "value": "<"
                }
              },
              {
                "type": "SEQ",
                "members": [
                  {
                    "type": "IMMEDIATE_TOKEN",
                    "content": {
                      "type": "STRING",
                      "value": "\\"
                    }
                  },
                  {
                    "type": "IMMEDIATE_TOKEN",
                    "content": {
                      "type": "PATTERN",
                      "value": "."
                    }
                  }
                ]
              },
              {
                "type": "ALIAS",
                "content": {
                  "type": "SYMBOL",
                  "name": "_immediate_keycode"
                },
                "named": true,
                "value": "keycode"
              }
            ]
          }
        }
      ]
    },
    "_map_rhs_statement": {
      "type": "SEQ",
      "members": [
        {
          "type": "ALIAS",
          "content": {
            "type": "PATTERN",
            "value": "<[Cc][Mm][Dd]>"
          },
          "named": true,
          "value": "keycode"
        },
        {
          "type": "SEQ",
          "members": [
            {
              "type": "SYMBOL",
              "name": "_statement"
            },
            {
              "type": "REPEAT",
              "content": {
                "type": "SEQ",
                "members": [
                  {
                    "type": "CHOICE",
                    "members": [
                      {
                        "type": "STRING",
                        "value": "\\|"
                      },
                      {
                        "type": "ALIAS",
                        "content": {
                          "type": "PATTERN",
                          "value": "<[Bb][Aa][Rr]>"
                        },
                        "named": true,
                        "value": "keycode"
                      }
                    ]
                  },
                  {
                    "type": "SYMBOL",
                    "name": "_statement"
                  }
                ]
              }
            }
          ]
        },
        {
          "type": "ALIAS",
          "content": {
            "type": "PATTERN",
            "value": "<[Cc][Rr]>"
          },
          "named": true,
          "value": "keycode"
        }
      ]
    },
    "_map_rhs": {
      "type": "CHOICE",
      "members": [
        {
          "type": "SEQ",
          "members": [
            {
              "type": "CHOICE",
              "members": [
                {
                  "type": "PATTERN",
                  "value": "[^\\s|]"
                },
                {
                  "type": "STRING",
                  "value": "<"
                },
                {
                  "type": "SEQ",
                  "members": [
                    {
                      "type": "STRING",
                      "value": "\\"
                    },
                    {
                      "type": "PATTERN",
                      "value": "."
                    }
                  ]
                },
                {
                  "type": "SYMBOL",
                  "name": "keycode"
                }
              ]
            },
            {
              "type": "REPEAT",
              "content": {
                "type": "CHOICE",
                "members": [
                  {
                    "type": "IMMEDIATE_TOKEN",
                    "content": {
                      "type": "PATTERN",
                      "value": "[^|\\n]"
                    }
                  },
                  {
                    "type": "IMMEDIATE_TOKEN",
                    "content": {
                      "type": "STRING",
                      "value": "<"
                    }
                  },
                  {
                    "type": "SEQ",
                    "members": [
                      {
                        "type": "IMMEDIATE_TOKEN",
                        "content": {
                          "type": "STRING",
                          "value": "\\"
                        }
                      },
                      {
                        "type": "IMMEDIATE_TOKEN",
                        "content": {
                          "type": "PATTERN",
                          "value": "."
                        }
                      }
                    ]
                  },
                  {
                    "type": "ALIAS",
                    "content": {
                      "type": "SYMBOL",
                      "name": "_immediate_keycode"
                    },
                    "named": true,
                    "value": "keycode"
                  }
                ]
              }
            }
          ]
        },
        {
          "type": "SYMBOL",
          "name": "_map_rhs_statement"
        }
      ]
    },
    "_sign_name": {
      "type": "CHOICE",
      "members": [
        {
          "type": "SYMBOL",
          "name": "integer_literal"
        },
        {
          "type": "SYMBOL",
          "name": "identifier"
        }
      ]
    },
    "_sign_define_arg_text": {
      "type": "SEQ",
      "members": [
        {
          "type": "SYMBOL",
          "name": "_printable"
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "_printable"
            },
            {
              "type": "BLANK"
            }
          ]
        }
      ]
    },
    "_sign_define_argument": {
      "type": "CHOICE",
      "members": [
        {
          "type": "SEQ",
          "members": [
            {
              "type": "FIELD",
              "name": "name",
              "content": {
                "type": "STRING",
                "value": "icon"
              }
            },
            {
              "type": "IMMEDIATE_TOKEN",
              "content": {
                "type": "STRING",
                "value": "="
              }
            },
            {
              "type": "FIELD",
              "name": "val",
              "content": {
                "type": "CHOICE",
                "members": [
                  {
                    "type": "SYMBOL",
                    "name": "filename"
                  },
                  {
                    "type": "BLANK"
                  }
                ]
              }
            }
          ]
        },
        {
          "type": "SEQ",
          "members": [
            {
              "type": "FIELD",
              "name": "name",
              "content": {
                "type": "STRING",
                "value": "linehl"
              }
            },
            {
              "type": "IMMEDIATE_TOKEN",
              "content": {
                "type": "STRING",
                "value": "="
              }
            },
            {
              "type": "FIELD",
              "name": "val",
              "content": {
                "type": "CHOICE",
                "members": [
                  {
                    "type": "SYMBOL",
                    "name": "hl_group"
                  },
                  {
                    "type": "BLANK"
                  }
                ]
              }
            }
          ]
        },
        {
          "type": "SEQ",
          "members": [
            {
              "type": "FIELD",
              "name": "name",
              "content": {
                "type": "STRING",
                "value": "numhl"
              }
            },
            {
              "type": "IMMEDIATE_TOKEN",
              "content": {
                "type": "STRING",
                "value": "="
              }
            },
            {
              "type": "FIELD",
              "name": "val",
              "content": {
                "type": "CHOICE",
                "members": [
                  {
                    "type": "SYMBOL",
                    "name": "hl_group"
                  },
                  {
                    "type": "BLANK"
                  }
                ]
              }
            }
          ]
        },
        {
          "type": "SEQ",
          "members": [
            {
              "type": "FIELD",
              "name": "name",
              "content": {
                "type": "STRING",
                "value": "text"
              }
            },
            {
              "type": "IMMEDIATE_TOKEN",
              "content": {
                "type": "STRING",
                "value": "="
              }
            },
            {
              "type": "FIELD",
              "name": "val",
              "content": {
                "type": "CHOICE",
                "members": [
                  {
                    "type": "ALIAS",
                    "content": {
                      "type": "SYMBOL",
                      "name": "_sign_define_arg_text"
                    },
                    "named": true,
                    "value": "text"
                  },
                  {
                    "type": "BLANK"
                  }
                ]
              }
            }
          ]
        },
        {
          "type": "SEQ",
          "members": [
            {
              "type": "FIELD",
              "name": "name",
              "content": {
                "type": "STRING",
                "value": "texthl"
              }
            },
            {
              "type": "IMMEDIATE_TOKEN",
              "content": {
                "type": "STRING",
                "value": "="
              }
            },
            {
              "type": "FIELD",
              "name": "val",
              "content": {
                "type": "CHOICE",
                "members": [
                  {
                    "type": "SYMBOL",
                    "name": "hl_group"
                  },
                  {
                    "type": "BLANK"
                  }
                ]
              }
            }
          ]
        },
        {
          "type": "SEQ",
          "members": [
            {
              "type": "FIELD",
              "name": "name",
              "content": {
                "type": "STRING",
                "value": "culhl"
              }
            },
            {
              "type": "IMMEDIATE_TOKEN",
              "content": {
                "type": "STRING",
                "value": "="
              }
            },
            {
              "type": "FIELD",
              "name": "val",
              "content": {
                "type": "CHOICE",
                "members": [
                  {
                    "type": "SYMBOL",
                    "name": "hl_group"
                  },
                  {
                    "type": "BLANK"
                  }
                ]
              }
            }
          ]
        }
      ]
    },
    "_sign_define": {
      "type": "SEQ",
      "members": [
        {
          "type": "FIELD",
          "name": "sub",
          "content": {
            "type": "STRING",
            "value": "define"
          }
        },
        {
          "type": "FIELD",
          "name": "name",
          "content": {
            "type": "SYMBOL",
            "name": "_sign_name"
          }
        },
        {
          "type": "REPEAT",
          "content": {
            "type": "ALIAS",
            "content": {
              "type": "SYMBOL",
              "name": "_sign_define_argument"
            },
            "named": true,
            "value": "sign_argument"
          }
        }
      ]
    },
    "_sign_undefine": {
      "type": "SEQ",
      "members": [
        {
          "type": "FIELD",
          "name": "sub",
          "content": {
            "type": "STRING",
            "value": "undefine"
          }
        },
        {
          "type": "FIELD",
          "name": "name",
          "content": {
            "type": "SYMBOL",
            "name": "_sign_name"
          }
        }
      ]
    },
    "_sign_list": {
      "type": "SEQ",
      "members": [
        {
          "type": "FIELD",
          "name": "sub",
          "content": {
            "type": "STRING",
            "value": "list"
          }
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "FIELD",
              "name": "name",
              "content": {
                "type": "SYMBOL",
                "name": "_sign_name"
              }
            },
            {
              "type": "BLANK"
            }
          ]
        }
      ]
    },
    "_sign_place_place_argument": {
      "type": "CHOICE",
      "members": [
        {
          "type": "SEQ",
          "members": [
            {
              "type": "FIELD",
              "name": "name",
              "content": {
                "type": "STRING",
                "value": "line"
              }
            },
            {
              "type": "IMMEDIATE_TOKEN",
              "content": {
                "type": "STRING",
                "value": "="
              }
            },
            {
              "type": "FIELD",
              "name": "val",
              "content": {
                "type": "SYMBOL",
                "name": "integer_literal"
              }
            }
          ]
        },
        {
          "type": "SEQ",
          "members": [
            {
              "type": "FIELD",
              "name": "name",
              "content": {
                "type": "STRING",
                "value": "name"
              }
            },
            {
              "type": "IMMEDIATE_TOKEN",
              "content": {
                "type": "STRING",
                "value": "="
              }
            },
            {
              "type": "FIELD",
              "name": "val",
              "content": {
                "type": "SYMBOL",
                "name": "_sign_name"
              }
            }
          ]
        },
        {
          "type": "SEQ",
          "members": [
            {
              "type": "FIELD",
              "name": "name",
              "content": {
                "type": "STRING",
                "value": "buffer"
              }
            },
            {
              "type": "IMMEDIATE_TOKEN",
              "content": {
                "type": "STRING",
                "value": "="
              }
            },
            {
              "type": "FIELD",
              "name": "val",
              "content": {
                "type": "SYMBOL",
                "name": "integer_literal"
              }
            }
          ]
        },
        {
          "type": "SEQ",
          "members": [
            {
              "type": "FIELD",
              "name": "name",
              "content": {
                "type": "STRING",
                "value": "group"
              }
            },
            {
              "type": "IMMEDIATE_TOKEN",
              "content": {
                "type": "STRING",
                "value": "="
              }
            },
            {
              "type": "FIELD",
              "name": "val",
              "content": {
                "type": "SYMBOL",
                "name": "hl_group"
              }
            }
          ]
        },
        {
          "type": "SEQ",
          "members": [
            {
              "type": "FIELD",
              "name": "name",
              "content": {
                "type": "STRING",
                "value": "priority"
              }
            },
            {
              "type": "IMMEDIATE_TOKEN",
              "content": {
                "type": "STRING",
                "value": "="
              }
            },
            {
              "type": "FIELD",
              "name": "val",
              "content": {
                "type": "SYMBOL",
                "name": "integer_literal"
              }
            }
          ]
        },
        {
          "type": "SEQ",
          "members": [
            {
              "type": "FIELD",
              "name": "name",
              "content": {
                "type": "STRING",
                "value": "file"
              }
            },
            {
              "type": "IMMEDIATE_TOKEN",
              "content": {
                "type": "STRING",
                "value": "="
              }
            },
            {
              "type": "FIELD",
              "name": "val",
              "content": {
                "type": "SYMBOL",
                "name": "filename"
              }
            }
          ]
        }
      ]
    },
    "_sign_place_place": {
      "type": "SEQ",
      "members": [
        {
          "type": "FIELD",
          "name": "id",
          "content": {
            "type": "SYMBOL",
            "name": "integer_literal"
          }
        },
        {
          "type": "REPEAT1",
          "content": {
            "type": "ALIAS",
            "content": {
              "type": "SYMBOL",
              "name": "_sign_place_place_argument"
            },
            "named": true,
            "value": "sign_argument"
          }
        }
      ]
    },
    "_sign_place_list_argument": {
      "type": "CHOICE",
      "members": [
        {
          "type": "SEQ",
          "members": [
            {
              "type": "FIELD",
              "name": "name",
              "content": {
                "type": "STRING",
                "value": "file"
              }
            },
            {
              "type": "IMMEDIATE_TOKEN",
              "content": {
                "type": "STRING",
                "value": "="
              }
            },
            {
              "type": "FIELD",
              "name": "val",
              "content": {
                "type": "SYMBOL",
                "name": "filename"
              }
            }
          ]
        },
        {
          "type": "SEQ",
          "members": [
            {
              "type": "FIELD",
              "name": "name",
              "content": {
                "type": "STRING",
                "value": "buffer"
              }
            },
            {
              "type": "IMMEDIATE_TOKEN",
              "content": {
                "type": "STRING",
                "value": "="
              }
            },
            {
              "type": "FIELD",
              "name": "val",
              "content": {
                "type": "SYMBOL",
                "name": "integer_literal"
              }
            }
          ]
        },
        {
          "type": "SEQ",
          "members": [
            {
              "type": "FIELD",
              "name": "name",
              "content": {
                "type": "STRING",
                "value": "group"
              }
            },
            {
              "type": "IMMEDIATE_TOKEN",
              "content": {
                "type": "STRING",
                "value": "="
              }
            },
            {
              "type": "FIELD",
              "name": "val",
              "content": {
                "type": "CHOICE",
                "members": [
                  {
                    "type": "SYMBOL",
                    "name": "hl_group"
                  },
                  {
                    "type": "ALIAS",
                    "content": {
                      "type": "IMMEDIATE_TOKEN",
                      "content": {
                        "type": "STRING",
                        "value": "*"
                      }
                    },
                    "named": true,
                    "value": "wildcard"
                  }
                ]
              }
            }
          ]
        }
      ]
    },
    "_sign_place_list": {
      "type": "REPEAT1",
      "content": {
        "type": "ALIAS",
        "content": {
          "type": "SYMBOL",
          "name": "_sign_place_list_argument"
        },
        "named": true,
        "value": "sign_argument"
      }
    },
    "_sign_place": {
      "type": "SEQ",
      "members": [
        {
          "type": "FIELD",
          "name": "sub",
          "content": {
            "type": "STRING",
            "value": "place"
          }
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "_sign_place_place"
            },
            {
              "type": "SYMBOL",
              "name": "_sign_place_list"
            }
          ]
        }
      ]
    },
    "_sign_unplace_cursor_argument": {
      "type": "SEQ",
      "members": [
        {
          "type": "FIELD",
          "name": "name",
          "content": {
            "type": "STRING",
            "value": "group"
          }
        },
        {
          "type": "IMMEDIATE_TOKEN",
          "content": {
            "type": "STRING",
            "value": "="
          }
        },
        {
          "type": "FIELD",
          "name": "val",
          "content": {
            "type": "CHOICE",
            "members": [
              {
                "type": "SYMBOL",
                "name": "hl_group"
              },
              {
                "type": "ALIAS",
                "content": {
                  "type": "IMMEDIATE_TOKEN",
                  "content": {
                    "type": "STRING",
                    "value": "*"
                  }
                },
                "named": true,
                "value": "wildcard"
              }
            ]
          }
        }
      ]
    },
    "_sign_unplace_cursor": {
      "type": "ALIAS",
      "content": {
        "type": "SYMBOL",
        "name": "_sign_unplace_cursor_argument"
      },
      "named": true,
      "value": "sign_argument"
    },
    "_sign_unplace_id_argument": {
      "type": "CHOICE",
      "members": [
        {
          "type": "SEQ",
          "members": [
            {
              "type": "FIELD",
              "name": "name",
              "content": {
                "type": "STRING",
                "value": "file"
              }
            },
            {
              "type": "IMMEDIATE_TOKEN",
              "content": {
                "type": "STRING",
                "value": "="
              }
            },
            {
              "type": "FIELD",
              "name": "val",
              "content": {
                "type": "SYMBOL",
                "name": "filename"
              }
            }
          ]
        },
        {
          "type": "SEQ",
          "members": [
            {
              "type": "FIELD",
              "name": "name",
              "content": {
                "type": "STRING",
                "value": "buffer"
              }
            },
            {
              "type": "IMMEDIATE_TOKEN",
              "content": {
                "type": "STRING",
                "value": "="
              }
            },
            {
              "type": "FIELD",
              "name": "val",
              "content": {
                "type": "SYMBOL",
                "name": "integer_literal"
              }
            }
          ]
        },
        {
          "type": "SEQ",
          "members": [
            {
              "type": "FIELD",
              "name": "name",
              "content": {
                "type": "STRING",
                "value": "group"
              }
            },
            {
              "type": "IMMEDIATE_TOKEN",
              "content": {
                "type": "STRING",
                "value": "="
              }
            },
            {
              "type": "FIELD",
              "name": "val",
              "content": {
                "type": "CHOICE",
                "members": [
                  {
                    "type": "SYMBOL",
                    "name": "hl_group"
                  },
                  {
                    "type": "ALIAS",
                    "content": {
                      "type": "IMMEDIATE_TOKEN",
                      "content": {
                        "type": "STRING",
                        "value": "*"
                      }
                    },
                    "named": true,
                    "value": "wildcard"
                  }
                ]
              }
            }
          ]
        }
      ]
    },
    "_sign_unplace_id": {
      "type": "SEQ",
      "members": [
        {
          "type": "FIELD",
          "name": "id",
          "content": {
            "type": "CHOICE",
            "members": [
              {
                "type": "SYMBOL",
                "name": "integer_literal"
              },
              {
                "type": "ALIAS",
                "content": {
                  "type": "STRING",
                  "value": "*"
                },
                "named": true,
                "value": "wildcard"
              }
            ]
          }
        },
        {
          "type": "REPEAT",
          "content": {
            "type": "ALIAS",
            "content": {
              "type": "SYMBOL",
              "name": "_sign_unplace_id_argument"
            },
            "named": true,
            "value": "sign_argument"
          }
        }
      ]
    },
    "_sign_unplace": {
      "type": "SEQ",
      "members": [
        {
          "type": "FIELD",
          "name": "sub",
          "content": {
            "type": "STRING",
            "value": "unplace"
          }
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "CHOICE",
              "members": [
                {
                  "type": "SYMBOL",
                  "name": "_sign_unplace_cursor"
                },
                {
                  "type": "SYMBOL",
                  "name": "_sign_unplace_id"
                }
              ]
            },
            {
              "type": "BLANK"
            }
          ]
        }
      ]
    },
    "_sign_jump_argument": {
      "type": "CHOICE",
      "members": [
        {
          "type": "SEQ",
          "members": [
            {
              "type": "FIELD",
              "name": "name",
              "content": {
                "type": "STRING",
                "value": "file"
              }
            },
            {
              "type": "IMMEDIATE_TOKEN",
              "content": {
                "type": "STRING",
                "value": "="
              }
            },
            {
              "type": "FIELD",
              "name": "val",
              "content": {
                "type": "SYMBOL",
                "name": "filename"
              }
            }
          ]
        },
        {
          "type": "SEQ",
          "members": [
            {
              "type": "FIELD",
              "name": "name",
              "content": {
                "type": "STRING",
                "value": "buffer"
              }
            },
            {
              "type": "IMMEDIATE_TOKEN",
              "content": {
                "type": "STRING",
                "value": "="
              }
            },
            {
              "type": "FIELD",
              "name": "val",
              "content": {
                "type": "SYMBOL",
                "name": "integer_literal"
              }
            }
          ]
        },
        {
          "type": "SEQ",
          "members": [
            {
              "type": "FIELD",
              "name": "name",
              "content": {
                "type": "STRING",
                "value": "group"
              }
            },
            {
              "type": "IMMEDIATE_TOKEN",
              "content": {
                "type": "STRING",
                "value": "="
              }
            },
            {
              "type": "FIELD",
              "name": "val",
              "content": {
                "type": "SYMBOL",
                "name": "hl_group"
              }
            }
          ]
        }
      ]
    },
    "_sign_jump": {
      "type": "SEQ",
      "members": [
        {
          "type": "FIELD",
          "name": "sub",
          "content": {
            "type": "STRING",
            "value": "jump"
          }
        },
        {
          "type": "FIELD",
          "name": "id",
          "content": {
            "type": "CHOICE",
            "members": [
              {
                "type": "SYMBOL",
                "name": "integer_literal"
              },
              {
                "type": "ALIAS",
                "content": {
                  "type": "STRING",
                  "value": "*"
                },
                "named": true,
                "value": "wildcard"
              }
            ]
          }
        },
        {
          "type": "REPEAT",
          "content": {
            "type": "ALIAS",
            "content": {
              "type": "SYMBOL",
              "name": "_sign_jump_argument"
            },
            "named": true,
            "value": "sign_argument"
          }
        }
      ]
    },
    "sign_statement": {
      "type": "SEQ",
      "members": [
        {
          "type": "ALIAS",
          "content": {
            "type": "SYMBOL",
            "name": "_sign"
          },
          "named": false,
          "value": "sign"
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "_sign_define"
            },
            {
              "type": "SYMBOL",
              "name": "_sign_undefine"
            },
            {
              "type": "SYMBOL",
              "name": "_sign_list"
            },
            {
              "type": "SYMBOL",
              "name": "_sign_place"
            },
            {
              "type": "SYMBOL",
              "name": "_sign_unplace"
            },
            {
              "type": "SYMBOL",
              "name": "_sign_jump"
            }
          ]
        }
      ]
    },
    "_variable": {
      "type": "PREC_LEFT",
      "value": 0,
      "content": {
        "type": "CHOICE",
        "members": [
          {
            "type": "SYMBOL",
            "name": "scope_dict"
          },
          {
            "type": "SYMBOL",
            "name": "_ident"
          },
          {
            "type": "SYMBOL",
            "name": "string_literal"
          },
          {
            "type": "SYMBOL",
            "name": "float_literal"
          },
          {
            "type": "SYMBOL",
            "name": "integer_literal"
          },
          {
            "type": "SYMBOL",
            "name": "list"
          },
          {
            "type": "SYMBOL",
            "name": "env_variable"
          },
          {
            "type": "SYMBOL",
            "name": "register"
          },
          {
            "type": "SYMBOL",
            "name": "option"
          },
          {
            "type": "SYMBOL",
            "name": "lambda_expression"
          },
          {
            "type": "SYMBOL",
            "name": "dictionnary"
          },
          {
            "type": "SYMBOL",
            "name": "literal_dictionary"
          }
        ]
      }
    },
    "_expression": {
      "type": "CHOICE",
      "members": [
        {
          "type": "SYMBOL",
          "name": "_variable"
        },
        {
          "type": "SYMBOL",
          "name": "ternary_expression"
        },
        {
          "type": "SYMBOL",
          "name": "index_expression"
        },
        {
          "type": "SYMBOL",
          "name": "slice_expression"
        },
        {
          "type": "SYMBOL",
          "name": "binary_operation"
        },
        {
          "type": "SEQ",
          "members": [
            {
              "type": "STRING",
              "value": "("
            },
            {
              "type": "SYMBOL",
              "name": "_expression"
            },
            {
              "type": "STRING",
              "value": ")"
            }
          ]
        },
        {
          "type": "SYMBOL",
          "name": "unary_operation"
        },
        {
          "type": "SYMBOL",
          "name": "field_expression"
        },
        {
          "type": "SYMBOL",
          "name": "call_expression"
        },
        {
          "type": "SYMBOL",
          "name": "method_expression"
        }
      ]
    },
    "ternary_expression": {
      "type": "PREC_LEFT",
      "value": 1,
      "content": {
        "type": "SEQ",
        "members": [
          {
            "type": "FIELD",
            "name": "condition",
            "content": {
              "type": "SYMBOL",
              "name": "_expression"
            }
          },
          {
            "type": "STRING",
            "value": "?"
          },
          {
            "type": "FIELD",
            "name": "left",
            "content": {
              "type": "SYMBOL",
              "name": "_expression"
            }
          },
          {
            "type": "STRING",
            "value": ":"
          },
          {
            "type": "FIELD",
            "name": "right",
            "content": {
              "type": "SYMBOL",
              "name": "_expression"
            }
          }
        ]
      }
    },
    "match_case": {
      "type": "CHOICE",
      "members": [
        {
          "type": "STRING",
          "value": "#"
        },
        {
          "type": "STRING",
          "value": "?"
        }
      ]
    },
    "binary_operation": {
      "type": "CHOICE",
      "members": [
        {
          "type": "PREC_LEFT",
          "value": 2,
          "content": {
            "type": "SEQ",
            "members": [
              {
                "type": "FIELD",
                "name": "left",
                "content": {
                  "type": "SYMBOL",
                  "name": "_expression"
                }
              },
              {
                "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": "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": "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": "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": "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": "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": "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": "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": "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": "SEQ",
                "members": [
                  {
                    "type": "STRING",
                    "value": "=="
                  },
                  {
                    "type": "CHOICE",
                    "members": [
                      {
                        "type": "SYMBOL",
                        "name": "match_case"
                      },
                      {
                        "type": "BLANK"
                      }
                    ]
                  }
                ]
              },
              {
                "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": "SEQ",
                "members": [
                  {
                    "type": "STRING",
                    "value": "!="
                  },
                  {
                    "type": "CHOICE",
                    "members": [
                      {
                        "type": "SYMBOL",
                        "name": "match_case"
                      },
                      {
                        "type": "BLANK"
                      }
                    ]
                  }
                ]
              },
              {
                "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": "SEQ",
                "members": [
                  {
                    "type": "STRING",
                    "value": ">"
                  },
                  {
                    "type": "CHOICE",
                    "members": [
                      {
                        "type": "SYMBOL",
                        "name": "match_case"
                      },
                      {
                        "type": "BLANK"
                      }
                    ]
                  }
                ]
              },
              {
                "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": "SEQ",
                "members": [
                  {
                    "type": "STRING",
                    "value": ">="
                  },
                  {
                    "type": "CHOICE",
                    "members": [
                      {
                        "type": "SYMBOL",
                        "name": "match_case"
                      },
                      {
                        "type": "BLANK"
                      }
                    ]
                  }
                ]
              },
              {
                "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": "SEQ",
                "members": [
                  {
                    "type": "STRING",
                    "value": "<"
                  },
                  {
                    "type": "CHOICE",
                    "members": [
                      {
                        "type": "SYMBOL",
                        "name": "match_case"
                      },
                      {
                        "type": "BLANK"
                      }
                    ]
                  }
                ]
              },
              {
                "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": "SEQ",
                "members": [
                  {
                    "type": "STRING",
                    "value": "<="
                  },
                  {
                    "type": "CHOICE",
                    "members": [
                      {
                        "type": "SYMBOL",
                        "name": "match_case"
                      },
                      {
                        "type": "BLANK"
                      }
                    ]
                  }
                ]
              },
              {
                "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": "SEQ",
                "members": [
                  {
                    "type": "STRING",
                    "value": "=~"
                  },
                  {
                    "type": "CHOICE",
                    "members": [
                      {
                        "type": "SYMBOL",
                        "name": "match_case"
                      },
                      {
                        "type": "BLANK"
                      }
                    ]
                  }
                ]
              },
              {
                "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": "SEQ",
                "members": [
                  {
                    "type": "STRING",
                    "value": "!~"
                  },
                  {
                    "type": "CHOICE",
                    "members": [
                      {
                        "type": "SYMBOL",
                        "name": "match_case"
                      },
                      {
                        "type": "BLANK"
                      }
                    ]
                  }
                ]
              },
              {
                "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": "SEQ",
                "members": [
                  {
                    "type": "STRING",
                    "value": "is"
                  },
                  {
                    "type": "CHOICE",
                    "members": [
                      {
                        "type": "SYMBOL",
                        "name": "match_case"
                      },
                      {
                        "type": "BLANK"
                      }
                    ]
                  }
                ]
              },
              {
                "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": "SEQ",
                "members": [
                  {
                    "type": "STRING",
                    "value": "isnot"
                  },
                  {
                    "type": "CHOICE",
                    "members": [
                      {
                        "type": "SYMBOL",
                        "name": "match_case"
                      },
                      {
                        "type": "BLANK"
                      }
                    ]
                  }
                ]
              },
              {
                "type": "FIELD",
                "name": "right",
                "content": {
                  "type": "SYMBOL",
                  "name": "_expression"
                }
              }
            ]
          }
        }
      ]
    },
    "unary_operation": {
      "type": "PREC_LEFT",
      "value": 7,
      "content": {
        "type": "SEQ",
        "members": [
          {
            "type": "CHOICE",
            "members": [
              {
                "type": "STRING",
                "value": "-"
              },
              {
                "type": "STRING",
                "value": "!"
              },
              {
                "type": "STRING",
                "value": "+"
              }
            ]
          },
          {
            "type": "SYMBOL",
            "name": "_expression"
          }
        ]
      }
    },
    "float_literal": {
      "type": "TOKEN",
      "content": {
        "type": "SEQ",
        "members": [
          {
            "type": "PATTERN",
            "value": "[+-]?"
          },
          {
            "type": "PATTERN",
            "value": "[0-9]+"
          },
          {
            "type": "STRING",
            "value": "."
          },
          {
            "type": "PATTERN",
            "value": "[0-9]+"
          },
          {
            "type": "CHOICE",
            "members": [
              {
                "type": "SEQ",
                "members": [
                  {
                    "type": "PATTERN",
                    "value": "[eE]"
                  },
                  {
                    "type": "PATTERN",
                    "value": "[+-]?"
                  },
                  {
                    "type": "PATTERN",
                    "value": "[0-9]+"
                  }
                ]
              },
              {
                "type": "BLANK"
              }
            ]
          }
        ]
      }
    },
    "integer_literal": {
      "type": "TOKEN",
      "content": {
        "type": "SEQ",
        "members": [
          {
            "type": "CHOICE",
            "members": [
              {
                "type": "PATTERN",
                "value": "[-+]"
              },
              {
                "type": "BLANK"
              }
            ]
          },
          {
            "type": "CHOICE",
            "members": [
              {
                "type": "SEQ",
                "members": [
                  {
                    "type": "CHOICE",
                    "members": [
                      {
                        "type": "STRING",
                        "value": "0x"
                      },
                      {
                        "type": "STRING",
                        "value": "0X"
                      }
                    ]
                  },
                  {
                    "type": "PATTERN",
                    "value": "[A-Fa-f0-9]+"
                  }
                ]
              },
              {
                "type": "SEQ",
                "members": [
                  {
                    "type": "CHOICE",
                    "members": [
                      {
                        "type": "STRING",
                        "value": "0"
                      },
                      {
                        "type": "STRING",
                        "value": "0"
                      }
                    ]
                  },
                  {
                    "type": "PATTERN",
                    "value": "[0-7]+"
                  }
                ]
              },
              {
                "type": "SEQ",
                "members": [
                  {
                    "type": "CHOICE",
                    "members": [
                      {
                        "type": "STRING",
                        "value": "0b"
                      },
                      {
                        "type": "STRING",
                        "value": "0B"
                      }
                    ]
                  },
                  {
                    "type": "PATTERN",
                    "value": "[0-1]+"
                  }
                ]
              },
              {
                "type": "PATTERN",
                "value": "[0-9]+"
              }
            ]
          }
        ]
      }
    },
    "list": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "["
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SEQ",
              "members": [
                {
                  "type": "SYMBOL",
                  "name": "_expression"
                },
                {
                  "type": "REPEAT",
                  "content": {
                    "type": "SEQ",
                    "members": [
                      {
                        "type": "STRING",
                        "value": ","
                      },
                      {
                        "type": "SYMBOL",
                        "name": "_expression"
                      }
                    ]
                  }
                }
              ]
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "STRING",
              "value": ","
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "STRING",
          "value": "]"
        }
      ]
    },
    "list_assignment": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "["
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SEQ",
              "members": [
                {
                  "type": "SYMBOL",
                  "name": "_expression"
                },
                {
                  "type": "REPEAT",
                  "content": {
                    "type": "SEQ",
                    "members": [
                      {
                        "type": "STRING",
                        "value": ","
                      },
                      {
                        "type": "SYMBOL",
                        "name": "_expression"
                      }
                    ]
                  }
                }
              ]
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SEQ",
              "members": [
                {
                  "type": "STRING",
                  "value": ";"
                },
                {
                  "type": "SYMBOL",
                  "name": "_expression"
                }
              ]
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "STRING",
          "value": "]"
        }
      ]
    },
    "index_expression": {
      "type": "PREC",
      "value": 8,
      "content": {
        "type": "SEQ",
        "members": [
          {
            "type": "FIELD",
            "name": "value",
            "content": {
              "type": "SYMBOL",
              "name": "_expression"
            }
          },
          {
            "type": "STRING",
            "value": "["
          },
          {
            "type": "FIELD",
            "name": "index",
            "content": {
              "type": "SYMBOL",
              "name": "_expression"
            }
          },
          {
            "type": "STRING",
            "value": "]"
          }
        ]
      }
    },
    "slice_expression": {
      "type": "PREC",
      "value": 8,
      "content": {
        "type": "SEQ",
        "members": [
          {
            "type": "FIELD",
            "name": "value",
            "content": {
              "type": "SYMBOL",
              "name": "_expression"
            }
          },
          {
            "type": "STRING",
            "value": "["
          },
          {
            "type": "CHOICE",
            "members": [
              {
                "type": "FIELD",
                "name": "start",
                "content": {
                  "type": "SYMBOL",
                  "name": "_expression"
                }
              },
              {
                "type": "BLANK"
              }
            ]
          },
          {
            "type": "STRING",
            "value": ":"
          },
          {
            "type": "CHOICE",
            "members": [
              {
                "type": "FIELD",
                "name": "stop",
                "content": {
                  "type": "SYMBOL",
                  "name": "_expression"
                }
              },
              {
                "type": "BLANK"
              }
            ]
          },
          {
            "type": "STRING",
            "value": "]"
          }
        ]
      }
    },
    "field_expression": {
      "type": "PREC_LEFT",
      "value": 8,
      "content": {
        "type": "SEQ",
        "members": [
          {
            "type": "FIELD",
            "name": "value",
            "content": {
              "type": "SYMBOL",
              "name": "_expression"
            }
          },
          {
            "type": "STRING",
            "value": "."
          },
          {
            "type": "FIELD",
            "name": "field",
            "content": {
              "type": "SYMBOL",
              "name": "identifier"
            }
          }
        ]
      }
    },
    "call_expression": {
      "type": "PREC",
      "value": 8,
      "content": {
        "type": "SEQ",
        "members": [
          {
            "type": "FIELD",
            "name": "function",
            "content": {
              "type": "SYMBOL",
              "name": "_expression"
            }
          },
          {
            "type": "STRING",
            "value": "("
          },
          {
            "type": "CHOICE",
            "members": [
              {
                "type": "SEQ",
                "members": [
                  {
                    "type": "SYMBOL",
                    "name": "_expression"
                  },
                  {
                    "type": "REPEAT",
                    "content": {
                      "type": "SEQ",
                      "members": [
                        {
                          "type": "STRING",
                          "value": ","
                        },
                        {
                          "type": "SYMBOL",
                          "name": "_expression"
                        }
                      ]
                    }
                  }
                ]
              },
              {
                "type": "BLANK"
              }
            ]
          },
          {
            "type": "STRING",
            "value": ")"
          }
        ]
      }
    },
    "eval_statement": {
      "type": "SEQ",
      "members": [
        {
          "type": "ALIAS",
          "content": {
            "type": "SYMBOL",
            "name": "_eval"
          },
          "named": false,
          "value": "eval"
        },
        {
          "type": "SYMBOL",
          "name": "_expression"
        }
      ]
    },
    "_method_call_expression": {
      "type": "SEQ",
      "members": [
        {
          "type": "FIELD",
          "name": "function",
          "content": {
            "type": "CHOICE",
            "members": [
              {
                "type": "ALIAS",
                "content": {
                  "type": "SYMBOL",
                  "name": "_immediate_identifier"
                },
                "named": true,
                "value": "identifier"
              },
              {
                "type": "ALIAS",
                "content": {
                  "type": "SYMBOL",
                  "name": "_immediate_lambda_expression"
                },
                "named": true,
                "value": "lambda_expression"
              }
            ]
          }
        },
        {
          "type": "IMMEDIATE_TOKEN",
          "content": {
            "type": "STRING",
            "value": "("
          }
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SEQ",
              "members": [
                {
                  "type": "SYMBOL",
                  "name": "_expression"
                },
                {
                  "type": "REPEAT",
                  "content": {
                    "type": "SEQ",
                    "members": [
                      {
                        "type": "STRING",
                        "value": ","
                      },
                      {
                        "type": "SYMBOL",
                        "name": "_expression"
                      }
                    ]
                  }
                }
              ]
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "STRING",
          "value": ")"
        }
      ]
    },
    "method_expression": {
      "type": "PREC",
      "value": 8,
      "content": {
        "type": "SEQ",
        "members": [
          {
            "type": "FIELD",
            "name": "value",
            "content": {
              "type": "SYMBOL",
              "name": "_expression"
            }
          },
          {
            "type": "STRING",
            "value": "->"
          },
          {
            "type": "ALIAS",
            "content": {
              "type": "SYMBOL",
              "name": "_method_call_expression"
            },
            "named": true,
            "value": "call_expression"
          }
        ]
      }
    },
    "filename": {
      "type": "SEQ",
      "members": [
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "PATTERN",
              "value": "[A-Za-z0-9]"
            },
            {
              "type": "PATTERN",
              "value": "[/._+,#$%~=-]"
            },
            {
              "type": "PATTERN",
              "value": "[\\\\{}\\[\\]:@!]"
            },
            {
              "type": "PATTERN",
              "value": "[*]"
            },
            {
              "type": "SEQ",
              "members": [
                {
                  "type": "STRING",
                  "value": "\\"
                },
                {
                  "type": "PATTERN",
                  "value": "."
                }
              ]
            }
          ]
        },
        {
          "type": "REPEAT",
          "content": {
            "type": "CHOICE",
            "members": [
              {
                "type": "IMMEDIATE_TOKEN",
                "content": {
                  "type": "PATTERN",
                  "value": "[A-Za-z0-9]"
                }
              },
              {
                "type": "IMMEDIATE_TOKEN",
                "content": {
                  "type": "PATTERN",
                  "value": "[/._+,#$%~=-]"
                }
              },
              {
                "type": "IMMEDIATE_TOKEN",
                "content": {
                  "type": "PATTERN",
                  "value": "[\\\\{}\\[\\]:@!]"
                }
              },
              {
                "type": "IMMEDIATE_TOKEN",
                "content": {
                  "type": "PATTERN",
                  "value": "[*]"
                }
              },
              {
                "type": "IMMEDIATE_TOKEN",
                "content": {
                  "type": "SEQ",
                  "members": [
                    {
                      "type": "STRING",
                      "value": "\\"
                    },
                    {
                      "type": "PATTERN",
                      "value": "."
                    }
                  ]
                }
              }
            ]
          }
        }
      ]
    },
    "pattern_multi": {
      "type": "CHOICE",
      "members": [
        {
          "type": "STRING",
          "value": "*"
        },
        {
          "type": "PATTERN",
          "value": "\\\\[+=?]"
        },
        {
          "type": "PATTERN",
          "value": "\\\\@[!>=]|<[=!]"
        },
        {
          "type": "PATTERN",
          "value": "\\\\\\{-?[0-9]*,?[0-9]*}"
        }
      ]
    },
    "_pattern_ordinary_atom": {
      "type": "REPEAT1",
      "content": {
        "type": "CHOICE",
        "members": [
          {
            "type": "SEQ",
            "members": [
              {
                "type": "STRING",
                "value": "["
              },
              {
                "type": "REPEAT",
                "content": {
                  "type": "CHOICE",
                  "members": [
                    {
                      "type": "SEQ",
                      "members": [
                        {
                          "type": "STRING",
                          "value": "\\"
                        },
                        {
                          "type": "PATTERN",
                          "value": "."
                        }
                      ]
                    },
                    {
                      "type": "PATTERN",
                      "value": "[^\\]\\n\\\\]"
                    }
                  ]
                }
              },
              {
                "type": "STRING",
                "value": "]"
              }
            ]
          },
          {
            "type": "SEQ",
            "members": [
              {
                "type": "STRING",
                "value": "\\"
              },
              {
                "type": "PATTERN",
                "value": "."
              }
            ]
          },
          {
            "type": "PATTERN",
            "value": "[^\\\\\\[\\n]"
          }
        ]
      }
    },
    "_pattern_atom": {
      "type": "PREC_LEFT",
      "value": 0,
      "content": {
        "type": "CHOICE",
        "members": [
          {
            "type": "SYMBOL",
            "name": "_pattern_ordinary_atom"
          },
          {
            "type": "SEQ",
            "members": [
              {
                "type": "STRING",
                "value": "\\("
              },
              {
                "type": "SYMBOL",
                "name": "pattern"
              },
              {
                "type": "STRING",
                "value": "\\)"
              }
            ]
          },
          {
            "type": "SEQ",
            "members": [
              {
                "type": "STRING",
                "value": "\\%("
              },
              {
                "type": "SYMBOL",
                "name": "pattern"
              },
              {
                "type": "STRING",
                "value": "\\)"
              }
            ]
          },
          {
            "type": "SEQ",
            "members": [
              {
                "type": "STRING",
                "value": "\\z("
              },
              {
                "type": "SYMBOL",
                "name": "pattern"
              },
              {
                "type": "STRING",
                "value": "\\)"
              }
            ]
          }
        ]
      }
    },
    "_pattern_piece": {
      "type": "SEQ",
      "members": [
        {
          "type": "SYMBOL",
          "name": "_pattern_atom"
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "pattern_multi"
            },
            {
              "type": "BLANK"
            }
          ]
        }
      ]
    },
    "_pattern_concat": {
      "type": "REPEAT1",
      "content": {
        "type": "SYMBOL",
        "name": "_pattern_piece"
      }
    },
    "_pattern_branch": {
      "type": "SEQ",
      "members": [
        {
          "type": "SYMBOL",
          "name": "_pattern_concat"
        },
        {
          "type": "REPEAT",
          "content": {
            "type": "SEQ",
            "members": [
              {
                "type": "STRING",
                "value": "\\&"
              },
              {
                "type": "SYMBOL",
                "name": "_pattern_concat"
              }
            ]
          }
        }
      ]
    },
    "pattern": {
      "type": "PREC_LEFT",
      "value": 0,
      "content": {
        "type": "SEQ",
        "members": [
          {
            "type": "SYMBOL",
            "name": "_pattern_branch"
          },
          {
            "type": "REPEAT",
            "content": {
              "type": "SEQ",
              "members": [
                {
                  "type": "STRING",
                  "value": "\\|"
                },
                {
                  "type": "SYMBOL",
                  "name": "_pattern_branch"
                }
              ]
            }
          }
        ]
      }
    },
    "env_variable": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "$"
        },
        {
          "type": "SYMBOL",
          "name": "identifier"
        }
      ]
    },
    "register": {
      "type": "PATTERN",
      "value": "@[\"0-9a-zA-Z:.%#=*+_/-@]"
    },
    "option": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "&"
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "scope"
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "SYMBOL",
          "name": "option_name"
        }
      ]
    },
    "dictionnary_entry": {
      "type": "SEQ",
      "members": [
        {
          "type": "FIELD",
          "name": "key",
          "content": {
            "type": "SYMBOL",
            "name": "_expression"
          }
        },
        {
          "type": "STRING",
          "value": ":"
        },
        {
          "type": "FIELD",
          "name": "value",
          "content": {
            "type": "SYMBOL",
            "name": "_expression"
          }
        }
      ]
    },
    "dictionnary": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "{"
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SEQ",
              "members": [
                {
                  "type": "SYMBOL",
                  "name": "dictionnary_entry"
                },
                {
                  "type": "REPEAT",
                  "content": {
                    "type": "SEQ",
                    "members": [
                      {
                        "type": "STRING",
                        "value": ","
                      },
                      {
                        "type": "SYMBOL",
                        "name": "dictionnary_entry"
                      }
                    ]
                  }
                }
              ]
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "STRING",
              "value": ","
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "STRING",
          "value": "}"
        }
      ]
    },
    "_literal_dictionary_entry": {
      "type": "SEQ",
      "members": [
        {
          "type": "FIELD",
          "name": "key",
          "content": {
            "type": "SYMBOL",
            "name": "literal_key"
          }
        },
        {
          "type": "STRING",
          "value": ":"
        },
        {
          "type": "FIELD",
          "name": "value",
          "content": {
            "type": "SYMBOL",
            "name": "_expression"
          }
        }
      ]
    },
    "literal_key": {
      "type": "PATTERN",
      "value": "[0-9a-zA-Z_-]+"
    },
    "literal_dictionary": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "#{"
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SEQ",
              "members": [
                {
                  "type": "SYMBOL",
                  "name": "_literal_dictionary_entry"
                },
                {
                  "type": "REPEAT",
                  "content": {
                    "type": "SEQ",
                    "members": [
                      {
                        "type": "STRING",
                        "value": ","
                      },
                      {
                        "type": "SYMBOL",
                        "name": "_literal_dictionary_entry"
                      }
                    ]
                  }
                }
              ]
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "STRING",
              "value": ","
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "STRING",
          "value": "}"
        }
      ]
    },
    "lambda_expression": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "{"
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SEQ",
              "members": [
                {
                  "type": "SYMBOL",
                  "name": "identifier"
                },
                {
                  "type": "REPEAT",
                  "content": {
                    "type": "SEQ",
                    "members": [
                      {
                        "type": "STRING",
                        "value": ","
                      },
                      {
                        "type": "SYMBOL",
                        "name": "identifier"
                      }
                    ]
                  }
                }
              ]
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "STRING",
          "value": "->"
        },
        {
          "type": "SYMBOL",
          "name": "_expression"
        },
        {
          "type": "STRING",
          "value": "}"
        }
      ]
    },
    "_immediate_lambda_expression": {
      "type": "SEQ",
      "members": [
        {
          "type": "IMMEDIATE_TOKEN",
          "content": {
            "type": "STRING",
            "value": "{"
          }
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SEQ",
              "members": [
                {
                  "type": "SYMBOL",
                  "name": "identifier"
                },
                {
                  "type": "REPEAT",
                  "content": {
                    "type": "SEQ",
                    "members": [
                      {
                        "type": "STRING",
                        "value": ","
                      },
                      {
                        "type": "SYMBOL",
                        "name": "identifier"
                      }
                    ]
                  }
                }
              ]
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "STRING",
          "value": "->"
        },
        {
          "type": "SYMBOL",
          "name": "_expression"
        },
        {
          "type": "STRING",
          "value": "}"
        }
      ]
    },
    "_plus_plus_opt_bad": {
      "type": "CHOICE",
      "members": [
        {
          "type": "IMMEDIATE_TOKEN",
          "content": {
            "type": "PATTERN",
            "value": "."
          }
        },
        {
          "type": "IMMEDIATE_TOKEN",
          "content": {
            "type": "STRING",
            "value": "keep"
          }
        },
        {
          "type": "IMMEDIATE_TOKEN",
          "content": {
            "type": "STRING",
            "value": "drop"
          }
        }
      ]
    },
    "plus_plus_opt": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "++"
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SEQ",
              "members": [
                {
                  "type": "FIELD",
                  "name": "name",
                  "content": {
                    "type": "CHOICE",
                    "members": [
                      {
                        "type": "IMMEDIATE_TOKEN",
                        "content": {
                          "type": "STRING",
                          "value": "ff"
                        }
                      },
                      {
                        "type": "IMMEDIATE_TOKEN",
                        "content": {
                          "type": "STRING",
                          "value": "fileformat"
                        }
                      }
                    ]
                  }
                },
                {
                  "type": "IMMEDIATE_TOKEN",
                  "content": {
                    "type": "STRING",
                    "value": "="
                  }
                },
                {
                  "type": "FIELD",
                  "name": "val",
                  "content": {
                    "type": "SYMBOL",
                    "name": "_immediate_file_format"
                  }
                }
              ]
            },
            {
              "type": "SEQ",
              "members": [
                {
                  "type": "FIELD",
                  "name": "name",
                  "content": {
                    "type": "CHOICE",
                    "members": [
                      {
                        "type": "IMMEDIATE_TOKEN",
                        "content": {
                          "type": "STRING",
                          "value": "enc"
                        }
                      },
                      {
                        "type": "IMMEDIATE_TOKEN",
                        "content": {
                          "type": "STRING",
                          "value": "encoding"
                        }
                      }
                    ]
                  }
                },
                {
                  "type": "IMMEDIATE_TOKEN",
                  "content": {
                    "type": "STRING",
                    "value": "="
                  }
                },
                {
                  "type": "FIELD",
                  "name": "val",
                  "content": {
                    "type": "SYMBOL",
                    "name": "_immediate_encoding"
                  }
                }
              ]
            },
            {
              "type": "FIELD",
              "name": "name",
              "content": {
                "type": "CHOICE",
                "members": [
                  {
                    "type": "IMMEDIATE_TOKEN",
                    "content": {
                      "type": "STRING",
                      "value": "bin"
                    }
                  },
                  {
                    "type": "IMMEDIATE_TOKEN",
                    "content": {
                      "type": "STRING",
                      "value": "binary"
                    }
                  }
                ]
              }
            },
            {
              "type": "FIELD",
              "name": "name",
              "content": {
                "type": "CHOICE",
                "members": [
                  {
                    "type": "IMMEDIATE_TOKEN",
                    "content": {
                      "type": "STRING",
                      "value": "nobin"
                    }
                  },
                  {
                    "type": "IMMEDIATE_TOKEN",
                    "content": {
                      "type": "STRING",
                      "value": "nobinary"
                    }
                  }
                ]
              }
            },
            {
              "type": "SEQ",
              "members": [
                {
                  "type": "FIELD",
                  "name": "name",
                  "content": {
                    "type": "IMMEDIATE_TOKEN",
                    "content": {
                      "type": "STRING",
                      "value": "bad"
                    }
                  }
                },
                {
                  "type": "IMMEDIATE_TOKEN",
                  "content": {
                    "type": "STRING",
                    "value": "="
                  }
                },
                {
                  "type": "FIELD",
                  "name": "val",
                  "content": {
                    "type": "SYMBOL",
                    "name": "_plus_plus_opt_bad"
                  }
                }
              ]
            },
            {
              "type": "FIELD",
              "name": "name",
              "content": {
                "type": "IMMEDIATE_TOKEN",
                "content": {
                  "type": "STRING",
                  "value": "edit"
                }
              }
            }
          ]
        }
      ]
    },
    "_plus_cmd_arg": {
      "type": "REPEAT1",
      "content": {
        "type": "CHOICE",
        "members": [
          {
            "type": "SEQ",
            "members": [
              {
                "type": "IMMEDIATE_TOKEN",
                "content": {
                  "type": "STRING",
                  "value": "\\"
                }
              },
              {
                "type": "IMMEDIATE_TOKEN",
                "content": {
                  "type": "PATTERN",
                  "value": "."
                }
              }
            ]
          },
          {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "PATTERN",
              "value": "[^ \\n]"
            }
          }
        ]
      }
    },
    "_plus_cmd_number": {
      "type": "PREC",
      "value": 2,
      "content": {
        "type": "ALIAS",
        "content": {
          "type": "IMMEDIATE_TOKEN",
          "content": {
            "type": "PATTERN",
            "value": "[0-9]+"
          }
        },
        "named": true,
        "value": "integer_literal"
      }
    },
    "_plus_cmd_command": {
      "type": "PREC",
      "value": 1,
      "content": {
        "type": "ALIAS",
        "content": {
          "type": "SYMBOL",
          "name": "_plus_cmd_arg"
        },
        "named": true,
        "value": "command"
      }
    },
    "_plus_cmd_pattern": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "/"
        },
        {
          "type": "ALIAS",
          "content": {
            "type": "SYMBOL",
            "name": "_plus_cmd_arg"
          },
          "named": true,
          "value": "pattern"
        }
      ]
    },
    "plus_cmd": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "+"
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "CHOICE",
              "members": [
                {
                  "type": "SYMBOL",
                  "name": "_plus_cmd_number"
                },
                {
                  "type": "SYMBOL",
                  "name": "_plus_cmd_pattern"
                },
                {
                  "type": "SYMBOL",
                  "name": "_plus_cmd_command"
                }
              ]
            },
            {
              "type": "BLANK"
            }
          ]
        }
      ]
    },
    "au_event": {
      "type": "TOKEN",
      "content": {
        "type": "PREC",
        "value": 1,
        "content": {
          "type": "CHOICE",
          "members": [
            {
              "type": "PATTERN",
              "value": "[bB][uU][fF][aA][dD][dD]"
            },
            {
              "type": "PATTERN",
              "value": "[bB][uU][fF][dD][eE][lL][eE][tT][eE]"
            },
            {
              "type": "PATTERN",
              "value": "[bB][uU][fF][eE][nN][tT][eE][rR]"
            },
            {
              "type": "PATTERN",
              "value": "[bB][uU][fF][fF][iI][lL][eE][pP][oO][sS][tT]"
            },
            {
              "type": "PATTERN",
              "value": "[bB][uU][fF][fF][iI][lL][eE][pP][rR][eE]"
            },
            {
              "type": "PATTERN",
              "value": "[bB][uU][fF][hH][iI][dD][dD][eE][nN]"
            },
            {
              "type": "PATTERN",
              "value": "[bB][uU][fF][lL][eE][aA][vV][eE]"
            },
            {
              "type": "PATTERN",
              "value": "[bB][uU][fF][mM][oO][dD][iI][fF][iI][eE][dD][sS][eE][tT]"
            },
            {
              "type": "PATTERN",
              "value": "[bB][uU][fF][nN][eE][wW]"
            },
            {
              "type": "PATTERN",
              "value": "[bB][uU][fF][nN][eE][wW][fF][iI][lL][eE]"
            },
            {
              "type": "PATTERN",
              "value": "[bB][uU][fF][rR][eE][aA][dD][cC][mM][dD]"
            },
            {
              "type": "PATTERN",
              "value": "[bB][uU][fF][rR][eE][aA][dD][pP][oO][sS][tT]"
            },
            {
              "type": "PATTERN",
              "value": "[bB][uU][fF][rR][eE][aA][dD][pP][rR][eE]"
            },
            {
              "type": "PATTERN",
              "value": "[bB][uU][fF][uU][nN][lL][oO][aA][dD]"
            },
            {
              "type": "PATTERN",
              "value": "[bB][uU][fF][wW][iI][nN][eE][nN][tT][eE][rR]"
            },
            {
              "type": "PATTERN",
              "value": "[bB][uU][fF][wW][iI][nN][lL][eE][aA][vV][eE]"
            },
            {
              "type": "PATTERN",
              "value": "[bB][uU][fF][wW][iI][pP][eE][oO][uU][tT]"
            },
            {
              "type": "PATTERN",
              "value": "[bB][uU][fF][wW][rR][iI][tT][eE][cC][mM][dD]"
            },
            {
              "type": "PATTERN",
              "value": "[bB][uU][fF][wW][rR][iI][tT][eE][pP][oO][sS][tT]"
            },
            {
              "type": "PATTERN",
              "value": "[bB][uU][fF][wW][rR][iI][tT][eE][pP][rR][eE]"
            },
            {
              "type": "PATTERN",
              "value": "[cC][hH][aA][nN][iI][nN][fF][oO]"
            },
            {
              "type": "PATTERN",
              "value": "[cC][hH][aA][nN][oO][pP][eE][nN]"
            },
            {
              "type": "PATTERN",
              "value": "[cC][mM][dD][uU][nN][dD][eE][fF][iI][nN][eE][dD]"
            },
            {
              "type": "PATTERN",
              "value": "[cC][mM][dD][wW][iI][nN][eE][nN][tT][eE][rR]"
            },
            {
              "type": "PATTERN",
              "value": "[cC][mM][dD][wW][iI][nN][lL][eE][aA][vV][eE]"
            },
            {
              "type": "PATTERN",
              "value": "[cC][mM][dD][lL][iI][nN][eE][cC][hH][aA][nN][gG][eE][dD]"
            },
            {
              "type": "PATTERN",
              "value": "[cC][mM][dD][lL][iI][nN][eE][eE][nN][tT][eE][rR]"
            },
            {
              "type": "PATTERN",
              "value": "[cC][mM][dD][lL][iI][nN][eE][lL][eE][aA][vV][eE]"
            },
            {
              "type": "PATTERN",
              "value": "[cC][oO][lL][oO][rR][sS][cC][hH][eE][mM][eE]"
            },
            {
              "type": "PATTERN",
              "value": "[cC][oO][lL][oO][rR][sS][cC][hH][eE][mM][eE][pP][rR][eE]"
            },
            {
              "type": "PATTERN",
              "value": "[cC][oO][mM][pP][lL][eE][tT][eE][cC][hH][aA][nN][gG][eE][dD]"
            },
            {
              "type": "PATTERN",
              "value": "[cC][oO][mM][pP][lL][eE][tT][eE][dD][oO][nN][eE]"
            },
            {
              "type": "PATTERN",
              "value": "[cC][oO][mM][pP][lL][eE][tT][eE][dD][oO][nN][eE][pP][rR][eE]"
            },
            {
              "type": "PATTERN",
              "value": "[cC][uU][rR][sS][oO][rR][hH][oO][lL][dD]"
            },
            {
              "type": "PATTERN",
              "value": "[cC][uU][rR][sS][oO][rR][hH][oO][lL][dD][iI]"
            },
            {
              "type": "PATTERN",
              "value": "[cC][uU][rR][sS][oO][rR][mM][oO][vV][eE][dD]"
            },
            {
              "type": "PATTERN",
              "value": "[cC][uU][rR][sS][oO][rR][mM][oO][vV][eE][dD][iI]"
            },
            {
              "type": "PATTERN",
              "value": "[dD][iI][aA][gG][nN][oO][sS][tT][iI][cC][cC][hH][aA][nN][gG][eE][dD]"
            },
            {
              "type": "PATTERN",
              "value": "[dD][iI][fF][fF][uU][pP][dD][aA][tT][eE][dD]"
            },
            {
              "type": "PATTERN",
              "value": "[dD][iI][rR][cC][hH][aA][nN][gG][eE][dD]"
            },
            {
              "type": "PATTERN",
              "value": "[dD][iI][rR][cC][hH][aA][nN][gG][eE][dD][pP][rR][eE]"
            },
            {
              "type": "PATTERN",
              "value": "[eE][nN][cC][oO][dD][iI][nN][gG][cC][hH][aA][nN][gG][eE][dD]"
            },
            {
              "type": "PATTERN",
              "value": "[eE][xX][iI][tT][pP][rR][eE]"
            },
            {
              "type": "PATTERN",
              "value": "[fF][iI][lL][eE][aA][pP][pP][eE][nN][dD][cC][mM][dD]"
            },
            {
              "type": "PATTERN",
              "value": "[fF][iI][lL][eE][aA][pP][pP][eE][nN][dD][pP][oO][sS][tT]"
            },
            {
              "type": "PATTERN",
              "value": "[fF][iI][lL][eE][aA][pP][pP][eE][nN][dD][pP][rR][eE]"
            },
            {
              "type": "PATTERN",
              "value": "[fF][iI][lL][eE][cC][hH][aA][nN][gG][eE][dD][rR][oO]"
            },
            {
              "type": "PATTERN",
              "value": "[fF][iI][lL][eE][cC][hH][aA][nN][gG][eE][dD][sS][hH][eE][lL][lL]"
            },
            {
              "type": "PATTERN",
              "value": "[fF][iI][lL][eE][cC][hH][aA][nN][gG][eE][dD][sS][hH][eE][lL][lL][pP][oO][sS][tT]"
            },
            {
              "type": "PATTERN",
              "value": "[fF][iI][lL][eE][rR][eE][aA][dD][cC][mM][dD]"
            },
            {
              "type": "PATTERN",
              "value": "[fF][iI][lL][eE][rR][eE][aA][dD][pP][oO][sS][tT]"
            },
            {
              "type": "PATTERN",
              "value": "[fF][iI][lL][eE][rR][eE][aA][dD][pP][rR][eE]"
            },
            {
              "type": "PATTERN",
              "value": "[fF][iI][lL][eE][tT][yY][pP][eE]"
            },
            {
              "type": "PATTERN",
              "value": "[fF][iI][lL][eE][wW][rR][iI][tT][eE][cC][mM][dD]"
            },
            {
              "type": "PATTERN",
              "value": "[fF][iI][lL][eE][wW][rR][iI][tT][eE][pP][oO][sS][tT]"
            },
            {
              "type": "PATTERN",
              "value": "[fF][iI][lL][eE][wW][rR][iI][tT][eE][pP][rR][eE]"
            },
            {
              "type": "PATTERN",
              "value": "[fF][iI][lL][tT][eE][rR][rR][eE][aA][dD][pP][oO][sS][tT]"
            },
            {
              "type": "PATTERN",
              "value": "[fF][iI][lL][tT][eE][rR][rR][eE][aA][dD][pP][rR][eE]"
            },
            {
              "type": "PATTERN",
              "value": "[fF][iI][lL][tT][eE][rR][wW][rR][iI][tT][eE][pP][oO][sS][tT]"
            },
            {
              "type": "PATTERN",
              "value": "[fF][iI][lL][tT][eE][rR][wW][rR][iI][tT][eE][pP][rR][eE]"
            },
            {
              "type": "PATTERN",
              "value": "[fF][oO][cC][uU][sS][gG][aA][iI][nN][eE][dD]"
            },
            {
              "type": "PATTERN",
              "value": "[fF][oO][cC][uU][sS][lL][oO][sS][tT]"
            },
            {
              "type": "PATTERN",
              "value": "[fF][uU][nN][cC][uU][nN][dD][eE][fF][iI][nN][eE][dD]"
            },
            {
              "type": "PATTERN",
              "value": "[gG][uU][iI][eE][nN][tT][eE][rR]"
            },
            {
              "type": "PATTERN",
              "value": "[gG][uU][iI][fF][aA][iI][lL][eE][dD]"
            },
            {
              "type": "PATTERN",
              "value": "[iI][nN][sS][eE][rR][tT][cC][hH][aA][nN][gG][eE]"
            },
            {
              "type": "PATTERN",
              "value": "[iI][nN][sS][eE][rR][tT][cC][hH][aA][rR][pP][rR][eE]"
            },
            {
              "type": "PATTERN",
              "value": "[iI][nN][sS][eE][rR][tT][eE][nN][tT][eE][rR]"
            },
            {
              "type": "PATTERN",
              "value": "[iI][nN][sS][eE][rR][tT][lL][eE][aA][vV][eE]"
            },
            {
              "type": "PATTERN",
              "value": "[iI][nN][sS][eE][rR][tT][lL][eE][aA][vV][eE][pP][rR][eE]"
            },
            {
              "type": "PATTERN",
              "value": "[lL][sS][pP][aA][tT][tT][aA][cC][hH]"
            },
            {
              "type": "PATTERN",
              "value": "[lL][sS][pP][dD][eE][tT][aA][cC][hH]"
            },
            {
              "type": "PATTERN",
              "value": "[lL][sS][pP][tT][oO][kK][eE][nN][uU][pP][dD][aA][tT][eE]"
            },
            {
              "type": "PATTERN",
              "value": "[mM][eE][nN][uU][pP][oO][pP][uU][pP]"
            },
            {
              "type": "PATTERN",
              "value": "[mM][oO][dD][eE][cC][hH][aA][nN][gG][eE][dD]"
            },
            {
              "type": "PATTERN",
              "value": "[oO][pP][tT][iI][oO][nN][sS][eE][tT]"
            },
            {
              "type": "PATTERN",
              "value": "[qQ][uU][iI][cC][kK][fF][iI][xX][cC][mM][dD][pP][oO][sS][tT]"
            },
            {
              "type": "PATTERN",
              "value": "[qQ][uU][iI][cC][kK][fF][iI][xX][cC][mM][dD][pP][rR][eE]"
            },
            {
              "type": "PATTERN",
              "value": "[qQ][uU][iI][tT][pP][rR][eE]"
            },
            {
              "type": "PATTERN",
              "value": "[rR][eE][cC][oO][rR][dD][iI][nN][gG][eE][nN][tT][eE][rR]"
            },
            {
              "type": "PATTERN",
              "value": "[rR][eE][cC][oO][rR][dD][iI][nN][gG][lL][eE][aA][vV][eE]"
            },
            {
              "type": "PATTERN",
              "value": "[rR][eE][mM][oO][tT][eE][rR][eE][pP][lL][yY]"
            },
            {
              "type": "PATTERN",
              "value": "[sS][eE][aA][rR][cC][hH][wW][rR][aA][pP][pP][eE][dD]"
            },
            {
              "type": "PATTERN",
              "value": "[sS][eE][sS][sS][iI][oO][nN][lL][oO][aA][dD][pP][oO][sS][tT]"
            },
            {
              "type": "PATTERN",
              "value": "[sS][hH][eE][lL][lL][cC][mM][dD][pP][oO][sS][tT]"
            },
            {
              "type": "PATTERN",
              "value": "[sS][hH][eE][lL][lL][fF][iI][lL][tT][eE][rR][pP][oO][sS][tT]"
            },
            {
              "type": "PATTERN",
              "value": "[sS][iI][gG][nN][aA][lL]"
            },
            {
              "type": "PATTERN",
              "value": "[sS][oO][uU][rR][cC][eE][cC][mM][dD]"
            },
            {
              "type": "PATTERN",
              "value": "[sS][oO][uU][rR][cC][eE][pP][oO][sS][tT]"
            },
            {
              "type": "PATTERN",
              "value": "[sS][oO][uU][rR][cC][eE][pP][rR][eE]"
            },
            {
              "type": "PATTERN",
              "value": "[sS][pP][eE][lL][lL][fF][iI][lL][eE][mM][iI][sS][sS][iI][nN][gG]"
            },
            {
              "type": "PATTERN",
              "value": "[sS][tT][dD][iI][nN][rR][eE][aA][dD][pP][oO][sS][tT]"
            },
            {
              "type": "PATTERN",
              "value": "[sS][tT][dD][iI][nN][rR][eE][aA][dD][pP][rR][eE]"
            },
            {
              "type": "PATTERN",
              "value": "[sS][wW][aA][pP][eE][xX][iI][sS][tT][sS]"
            },
            {
              "type": "PATTERN",
              "value": "[sS][yY][nN][tT][aA][xX]"
            },
            {
              "type": "PATTERN",
              "value": "[tT][aA][bB][cC][lL][oO][sS][eE][dD]"
            },
            {
              "type": "PATTERN",
              "value": "[tT][aA][bB][eE][nN][tT][eE][rR]"
            },
            {
              "type": "PATTERN",
              "value": "[tT][aA][bB][lL][eE][aA][vV][eE]"
            },
            {
              "type": "PATTERN",
              "value": "[tT][aA][bB][nN][eE][wW]"
            },
            {
              "type": "PATTERN",
              "value": "[tT][aA][bB][nN][eE][wW][eE][nN][tT][eE][rR][eE][dD]"
            },
            {
              "type": "PATTERN",
              "value": "[tT][eE][rR][mM][cC][hH][aA][nN][gG][eE][dD]"
            },
            {
              "type": "PATTERN",
              "value": "[tT][eE][rR][mM][cC][lL][oO][sS][eE]"
            },
            {
              "type": "PATTERN",
              "value": "[tT][eE][rR][mM][eE][nN][tT][eE][rR]"
            },
            {
              "type": "PATTERN",
              "value": "[tT][eE][rR][mM][lL][eE][aA][vV][eE]"
            },
            {
              "type": "PATTERN",
              "value": "[tT][eE][rR][mM][oO][pP][eE][nN]"
            },
            {
              "type": "PATTERN",
              "value": "[tT][eE][rR][mM][rR][eE][sS][pP][oO][nN][sS][eE]"
            },
            {
              "type": "PATTERN",
              "value": "[tT][eE][xX][tT][cC][hH][aA][nN][gG][eE][dD]"
            },
            {
              "type": "PATTERN",
              "value": "[tT][eE][xX][tT][cC][hH][aA][nN][gG][eE][dD][iI]"
            },
            {
              "type": "PATTERN",
              "value": "[tT][eE][xX][tT][cC][hH][aA][nN][gG][eE][dD][pP]"
            },
            {
              "type": "PATTERN",
              "value": "[tT][eE][xX][tT][cC][hH][aA][nN][gG][eE][dD][tT]"
            },
            {
              "type": "PATTERN",
              "value": "[tT][eE][xX][tT][yY][aA][nN][kK][pP][oO][sS][tT]"
            },
            {
              "type": "PATTERN",
              "value": "[uU][iI][eE][nN][tT][eE][rR]"
            },
            {
              "type": "PATTERN",
              "value": "[uU][iI][lL][eE][aA][vV][eE]"
            },
            {
              "type": "PATTERN",
              "value": "[uU][sS][eE][rR]"
            },
            {
              "type": "PATTERN",
              "value": "[vV][iI][mM][eE][nN][tT][eE][rR]"
            },
            {
              "type": "PATTERN",
              "value": "[vV][iI][mM][lL][eE][aA][vV][eE]"
            },
            {
              "type": "PATTERN",
              "value": "[vV][iI][mM][lL][eE][aA][vV][eE][pP][rR][eE]"
            },
            {
              "type": "PATTERN",
              "value": "[vV][iI][mM][rR][eE][sS][iI][zZ][eE][dD]"
            },
            {
              "type": "PATTERN",
              "value": "[vV][iI][mM][rR][eE][sS][uU][mM][eE]"
            },
            {
              "type": "PATTERN",
              "value": "[vV][iI][mM][sS][uU][sS][pP][eE][nN][dD]"
            },
            {
              "type": "PATTERN",
              "value": "[wW][iI][nN][cC][lL][oO][sS][eE][dD]"
            },
            {
              "type": "PATTERN",
              "value": "[wW][iI][nN][eE][nN][tT][eE][rR]"
            },
            {
              "type": "PATTERN",
              "value": "[wW][iI][nN][lL][eE][aA][vV][eE]"
            },
            {
              "type": "PATTERN",
              "value": "[wW][iI][nN][nN][eE][wW]"
            },
            {
              "type": "PATTERN",
              "value": "[wW][iI][nN][rR][eE][sS][iI][zZ][eE][dD]"
            },
            {
              "type": "PATTERN",
              "value": "[wW][iI][nN][sS][cC][rR][oO][lL][lL][eE][dD]"
            },
            {
              "type": "PATTERN",
              "value": "[bB][uU][fF][cC][rR][eE][aA][tT][eE]"
            },
            {
              "type": "PATTERN",
              "value": "[bB][uU][fF][rR][eE][aA][dD]"
            },
            {
              "type": "PATTERN",
              "value": "[bB][uU][fF][wW][rR][iI][tT][eE]"
            },
            {
              "type": "PATTERN",
              "value": "[fF][iI][lL][eE][eE][nN][cC][oO][dD][iI][nN][gG]"
            }
          ]
        }
      }
    },
    "au_event_list": {
      "type": "SEQ",
      "members": [
        {
          "type": "SYMBOL",
          "name": "au_event"
        },
        {
          "type": "REPEAT",
          "content": {
            "type": "SEQ",
            "members": [
              {
                "type": "STRING",
                "value": ","
              },
              {
                "type": "SYMBOL",
                "name": "au_event"
              }
            ]
          }
        }
      ]
    },
    "_augroup_name": {
      "type": "ALIAS",
      "content": {
        "type": "SYMBOL",
        "name": "identifier"
      },
      "named": true,
      "value": "augroup_name"
    },
    "_autocmd_pattern": {
      "type": "SEQ",
      "members": [
        {
          "type": "ALIAS",
          "content": {
            "type": "PATTERN",
            "value": "[^ \\t\\n,]+"
          },
          "named": true,
          "value": "pattern"
        },
        {
          "type": "REPEAT",
          "content": {
            "type": "SEQ",
            "members": [
              {
                "type": "STRING",
                "value": ","
              },
              {
                "type": "ALIAS",
                "content": {
                  "type": "PATTERN",
                  "value": "[^ \\t\\n,]+"
                },
                "named": true,
                "value": "pattern"
              }
            ]
          }
        }
      ]
    },
    "au_once": {
      "type": "STRING",
      "value": "++once"
    },
    "au_nested": {
      "type": "STRING",
      "value": "++nested"
    },
    "_autocmd_command": {
      "type": "SEQ",
      "members": [
        {
          "type": "SYMBOL",
          "name": "au_event_list"
        },
        {
          "type": "SYMBOL",
          "name": "_autocmd_pattern"
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "au_once"
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "au_nested"
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "FIELD",
          "name": "command",
          "content": {
            "type": "SYMBOL",
            "name": "_statement"
          }
        }
      ]
    },
    "_autocmd_define": {
      "type": "SEQ",
      "members": [
        {
          "type": "ALIAS",
          "content": {
            "type": "SYMBOL",
            "name": "_autocmd"
          },
          "named": false,
          "value": "autocmd"
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "_augroup_name"
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "SYMBOL",
          "name": "_autocmd_command"
        }
      ]
    },
    "_autocmd_remove": {
      "type": "SEQ",
      "members": [
        {
          "type": "ALIAS",
          "content": {
            "type": "SYMBOL",
            "name": "_autocmd"
          },
          "named": false,
          "value": "autocmd"
        },
        {
          "type": "SYMBOL",
          "name": "bang"
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "_augroup_name"
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "CHOICE",
              "members": [
                {
                  "type": "SYMBOL",
                  "name": "_autocmd_command"
                },
                {
                  "type": "SEQ",
                  "members": [
                    {
                      "type": "SYMBOL",
                      "name": "au_event_list"
                    },
                    {
                      "type": "SYMBOL",
                      "name": "_autocmd_pattern"
                    }
                  ]
                },
                {
                  "type": "SYMBOL",
                  "name": "_autocmd_pattern"
                },
                {
                  "type": "SYMBOL",
                  "name": "au_event_list"
                }
              ]
            },
            {
              "type": "BLANK"
            }
          ]
        }
      ]
    },
    "_autocmd_list": {
      "type": "SEQ",
      "members": [
        {
          "type": "ALIAS",
          "content": {
            "type": "SYMBOL",
            "name": "_autocmd"
          },
          "named": false,
          "value": "autocmd"
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "_augroup_name"
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "CHOICE",
              "members": [
                {
                  "type": "SEQ",
                  "members": [
                    {
                      "type": "SYMBOL",
                      "name": "au_event_list"
                    },
                    {
                      "type": "SYMBOL",
                      "name": "_autocmd_pattern"
                    }
                  ]
                },
                {
                  "type": "SYMBOL",
                  "name": "_autocmd_pattern"
                },
                {
                  "type": "SYMBOL",
                  "name": "au_event_list"
                }
              ]
            },
            {
              "type": "BLANK"
            }
          ]
        }
      ]
    },
    "autocmd_statement": {
      "type": "CHOICE",
      "members": [
        {
          "type": "SYMBOL",
          "name": "_autocmd_define"
        },
        {
          "type": "SYMBOL",
          "name": "_autocmd_remove"
        },
        {
          "type": "SYMBOL",
          "name": "_autocmd_list"
        }
      ]
    },
    "augroup_statement": {
      "type": "SEQ",
      "members": [
        {
          "type": "SEQ",
          "members": [
            {
              "type": "ALIAS",
              "content": {
                "type": "SYMBOL",
                "name": "_augroup"
              },
              "named": false,
              "value": "augroup"
            },
            {
              "type": "CHOICE",
              "members": [
                {
                  "type": "SYMBOL",
                  "name": "bang"
                },
                {
                  "type": "BLANK"
                }
              ]
            }
          ]
        },
        {
          "type": "ALIAS",
          "content": {
            "type": "SYMBOL",
            "name": "identifier"
          },
          "named": true,
          "value": "augroup_name"
        }
      ]
    },
    "command_name": {
      "type": "PATTERN",
      "value": "[A-Z][A-Za-z0-9]*"
    },
    "_command_attribute_completion_behavior": {
      "type": "CHOICE",
      "members": [
        {
          "type": "FIELD",
          "name": "name",
          "content": {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "arglist"
            }
          }
        },
        {
          "type": "FIELD",
          "name": "name",
          "content": {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "augroup"
            }
          }
        },
        {
          "type": "FIELD",
          "name": "name",
          "content": {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "buffer"
            }
          }
        },
        {
          "type": "FIELD",
          "name": "name",
          "content": {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "behave"
            }
          }
        },
        {
          "type": "FIELD",
          "name": "name",
          "content": {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "color"
            }
          }
        },
        {
          "type": "FIELD",
          "name": "name",
          "content": {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "command"
            }
          }
        },
        {
          "type": "FIELD",
          "name": "name",
          "content": {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "compiler"
            }
          }
        },
        {
          "type": "FIELD",
          "name": "name",
          "content": {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "dir"
            }
          }
        },
        {
          "type": "FIELD",
          "name": "name",
          "content": {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "environment"
            }
          }
        },
        {
          "type": "FIELD",
          "name": "name",
          "content": {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "even"
            }
          }
        },
        {
          "type": "FIELD",
          "name": "name",
          "content": {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "expression"
            }
          }
        },
        {
          "type": "FIELD",
          "name": "name",
          "content": {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "file"
            }
          }
        },
        {
          "type": "FIELD",
          "name": "name",
          "content": {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "file_in_path"
            }
          }
        },
        {
          "type": "FIELD",
          "name": "name",
          "content": {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "filetype"
            }
          }
        },
        {
          "type": "FIELD",
          "name": "name",
          "content": {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "function"
            }
          }
        },
        {
          "type": "FIELD",
          "name": "name",
          "content": {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "help"
            }
          }
        },
        {
          "type": "FIELD",
          "name": "name",
          "content": {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "highlight"
            }
          }
        },
        {
          "type": "FIELD",
          "name": "name",
          "content": {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "history"
            }
          }
        },
        {
          "type": "FIELD",
          "name": "name",
          "content": {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "local"
            }
          }
        },
        {
          "type": "FIELD",
          "name": "name",
          "content": {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "lua"
            }
          }
        },
        {
          "type": "FIELD",
          "name": "name",
          "content": {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "mapclear"
            }
          }
        },
        {
          "type": "FIELD",
          "name": "name",
          "content": {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "mapping"
            }
          }
        },
        {
          "type": "FIELD",
          "name": "name",
          "content": {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "menu"
            }
          }
        },
        {
          "type": "FIELD",
          "name": "name",
          "content": {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "messages"
            }
          }
        },
        {
          "type": "FIELD",
          "name": "name",
          "content": {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "option"
            }
          }
        },
        {
          "type": "FIELD",
          "name": "name",
          "content": {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "packadd"
            }
          }
        },
        {
          "type": "FIELD",
          "name": "name",
          "content": {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "shellcmd"
            }
          }
        },
        {
          "type": "FIELD",
          "name": "name",
          "content": {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "sign"
            }
          }
        },
        {
          "type": "FIELD",
          "name": "name",
          "content": {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "syntax"
            }
          }
        },
        {
          "type": "FIELD",
          "name": "name",
          "content": {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "syntime"
            }
          }
        },
        {
          "type": "FIELD",
          "name": "name",
          "content": {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "tag"
            }
          }
        },
        {
          "type": "FIELD",
          "name": "name",
          "content": {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "tag_listfiles"
            }
          }
        },
        {
          "type": "FIELD",
          "name": "name",
          "content": {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "user"
            }
          }
        },
        {
          "type": "FIELD",
          "name": "name",
          "content": {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "var"
            }
          }
        },
        {
          "type": "SEQ",
          "members": [
            {
              "type": "FIELD",
              "name": "name",
              "content": {
                "type": "IMMEDIATE_TOKEN",
                "content": {
                  "type": "STRING",
                  "value": "custom"
                }
              }
            },
            {
              "type": "IMMEDIATE_TOKEN",
              "content": {
                "type": "STRING",
                "value": ","
              }
            },
            {
              "type": "FIELD",
              "name": "val",
              "content": {
                "type": "SYMBOL",
                "name": "_ident"
              }
            }
          ]
        },
        {
          "type": "SEQ",
          "members": [
            {
              "type": "FIELD",
              "name": "name",
              "content": {
                "type": "IMMEDIATE_TOKEN",
                "content": {
                  "type": "STRING",
                  "value": "customlist"
                }
              }
            },
            {
              "type": "IMMEDIATE_TOKEN",
              "content": {
                "type": "STRING",
                "value": ","
              }
            },
            {
              "type": "FIELD",
              "name": "val",
              "content": {
                "type": "SYMBOL",
                "name": "_ident"
              }
            }
          ]
        }
      ]
    },
    "_command_attribute_address_behavior": {
      "type": "CHOICE",
      "members": [
        {
          "type": "FIELD",
          "name": "name",
          "content": {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "lines"
            }
          }
        },
        {
          "type": "FIELD",
          "name": "name",
          "content": {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "arguments"
            }
          }
        },
        {
          "type": "FIELD",
          "name": "name",
          "content": {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "buffers"
            }
          }
        },
        {
          "type": "FIELD",
          "name": "name",
          "content": {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "loaded_buffers"
            }
          }
        },
        {
          "type": "FIELD",
          "name": "name",
          "content": {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "windows"
            }
          }
        },
        {
          "type": "FIELD",
          "name": "name",
          "content": {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "tabs"
            }
          }
        },
        {
          "type": "FIELD",
          "name": "name",
          "content": {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "quickfix"
            }
          }
        },
        {
          "type": "FIELD",
          "name": "name",
          "content": {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "other"
            }
          }
        }
      ]
    },
    "_command_attribute_nargs_value": {
      "type": "CHOICE",
      "members": [
        {
          "type": "ALIAS",
          "content": {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "PATTERN",
              "value": "[01]"
            }
          },
          "named": true,
          "value": "integer_literal"
        },
        {
          "type": "ALIAS",
          "content": {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "PATTERN",
              "value": "[*?+]"
            }
          },
          "named": true,
          "value": "pattern_multi"
        }
      ]
    },
    "_command_attribute_range_value": {
      "type": "CHOICE",
      "members": [
        {
          "type": "ALIAS",
          "content": {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "PATTERN",
              "value": "[0-9]+"
            }
          },
          "named": true,
          "value": "integer_literal"
        },
        {
          "type": "ALIAS",
          "content": {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "STRING",
              "value": "%"
            }
          },
          "named": true,
          "value": "pattern_multi"
        }
      ]
    },
    "command_attribute": {
      "type": "CHOICE",
      "members": [
        {
          "type": "SEQ",
          "members": [
            {
              "type": "FIELD",
              "name": "name",
              "content": {
                "type": "STRING",
                "value": "-nargs"
              }
            },
            {
              "type": "IMMEDIATE_TOKEN",
              "content": {
                "type": "STRING",
                "value": "="
              }
            },
            {
              "type": "FIELD",
              "name": "val",
              "content": {
                "type": "SYMBOL",
                "name": "_command_attribute_nargs_value"
              }
            }
          ]
        },
        {
          "type": "SEQ",
          "members": [
            {
              "type": "FIELD",
              "name": "name",
              "content": {
                "type": "STRING",
                "value": "-complete"
              }
            },
            {
              "type": "IMMEDIATE_TOKEN",
              "content": {
                "type": "STRING",
                "value": "="
              }
            },
            {
              "type": "FIELD",
              "name": "val",
              "content": {
                "type": "ALIAS",
                "content": {
                  "type": "SYMBOL",
                  "name": "_command_attribute_completion_behavior"
                },
                "named": true,
                "value": "behavior"
              }
            }
          ]
        },
        {
          "type": "SEQ",
          "members": [
            {
              "type": "FIELD",
              "name": "name",
              "content": {
                "type": "STRING",
                "value": "-range"
              }
            },
            {
              "type": "IMMEDIATE_TOKEN",
              "content": {
                "type": "STRING",
                "value": "="
              }
            },
            {
              "type": "FIELD",
              "name": "val",
              "content": {
                "type": "SYMBOL",
                "name": "_command_attribute_range_value"
              }
            }
          ]
        },
        {
          "type": "FIELD",
          "name": "name",
          "content": {
            "type": "STRING",
            "value": "-range"
          }
        },
        {
          "type": "SEQ",
          "members": [
            {
              "type": "FIELD",
              "name": "name",
              "content": {
                "type": "STRING",
                "value": "-count"
              }
            },
            {
              "type": "IMMEDIATE_TOKEN",
              "content": {
                "type": "STRING",
                "value": "="
              }
            },
            {
              "type": "FIELD",
              "name": "val",
              "content": {
                "type": "ALIAS",
                "content": {
                  "type": "IMMEDIATE_TOKEN",
                  "content": {
                    "type": "PATTERN",
                    "value": "[0-9]+"
                  }
                },
                "named": true,
                "value": "integer_literal"
              }
            }
          ]
        },
        {
          "type": "FIELD",
          "name": "name",
          "content": {
            "type": "STRING",
            "value": "-count"
          }
        },
        {
          "type": "SEQ",
          "members": [
            {
              "type": "FIELD",
              "name": "name",
              "content": {
                "type": "STRING",
                "value": "-addr"
              }
            },
            {
              "type": "IMMEDIATE_TOKEN",
              "content": {
                "type": "STRING",
                "value": "="
              }
            },
            {
              "type": "FIELD",
              "name": "val",
              "content": {
                "type": "ALIAS",
                "content": {
                  "type": "SYMBOL",
                  "name": "_command_attribute_address_behavior"
                },
                "named": true,
                "value": "behavior"
              }
            }
          ]
        },
        {
          "type": "FIELD",
          "name": "name",
          "content": {
            "type": "STRING",
            "value": "-bang"
          }
        },
        {
          "type": "FIELD",
          "name": "name",
          "content": {
            "type": "STRING",
            "value": "-bar"
          }
        },
        {
          "type": "FIELD",
          "name": "name",
          "content": {
            "type": "STRING",
            "value": "-register"
          }
        },
        {
          "type": "FIELD",
          "name": "name",
          "content": {
            "type": "STRING",
            "value": "-buffer"
          }
        },
        {
          "type": "FIELD",
          "name": "name",
          "content": {
            "type": "STRING",
            "value": "-keepscript"
          }
        }
      ]
    },
    "command_statement": {
      "type": "SEQ",
      "members": [
        {
          "type": "SEQ",
          "members": [
            {
              "type": "ALIAS",
              "content": {
                "type": "SYMBOL",
                "name": "_command"
              },
              "named": false,
              "value": "command"
            },
            {
              "type": "CHOICE",
              "members": [
                {
                  "type": "SYMBOL",
                  "name": "bang"
                },
                {
                  "type": "BLANK"
                }
              ]
            }
          ]
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "CHOICE",
              "members": [
                {
                  "type": "FIELD",
                  "name": "name",
                  "content": {
                    "type": "SYMBOL",
                    "name": "command_name"
                  }
                },
                {
                  "type": "SEQ",
                  "members": [
                    {
                      "type": "REPEAT",
                      "content": {
                        "type": "SYMBOL",
                        "name": "command_attribute"
                      }
                    },
                    {
                      "type": "FIELD",
                      "name": "name",
                      "content": {
                        "type": "SYMBOL",
                        "name": "command_name"
                      }
                    },
                    {
                      "type": "FIELD",
                      "name": "repl",
                      "content": {
                        "type": "ALIAS",
                        "content": {
                          "type": "PATTERN",
                          "value": ".*"
                        },
                        "named": true,
                        "value": "command"
                      }
                    }
                  ]
                }
              ]
            },
            {
              "type": "BLANK"
            }
          ]
        }
      ]
    },
    "comclear_statement": {
      "type": "ALIAS",
      "content": {
        "type": "SYMBOL",
        "name": "_comclear"
      },
      "named": false,
      "value": "comclear"
    },
    "delcommand_statement": {
      "type": "SEQ",
      "members": [
        {
          "type": "ALIAS",
          "content": {
            "type": "SYMBOL",
            "name": "_delcommand"
          },
          "named": false,
          "value": "delcommand"
        },
        {
          "type": "SYMBOL",
          "name": "command_name"
        }
      ]
    },
    "hl_group": {
      "type": "PATTERN",
      "value": "[a-zA-Z0-9_@.]+"
    },
    "_hl_body_link": {
      "type": "SEQ",
      "members": [
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "ALIAS",
              "content": {
                "type": "SYMBOL",
                "name": "_default"
              },
              "named": false,
              "value": "default"
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "STRING",
          "value": "link"
        },
        {
          "type": "FIELD",
          "name": "from",
          "content": {
            "type": "SYMBOL",
            "name": "hl_group"
          }
        },
        {
          "type": "FIELD",
          "name": "to",
          "content": {
            "type": "SYMBOL",
            "name": "hl_group"
          }
        }
      ]
    },
    "_hl_body_clear": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "clear"
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "hl_group"
            },
            {
              "type": "BLANK"
            }
          ]
        }
      ]
    },
    "_hl_body_none": {
      "type": "SEQ",
      "members": [
        {
          "type": "SYMBOL",
          "name": "hl_group"
        },
        {
          "type": "ALIAS",
          "content": {
            "type": "STRING",
            "value": "NONE"
          },
          "named": true,
          "value": "hl_group"
        }
      ]
    },
    "_hl_none": {
      "type": "IMMEDIATE_TOKEN",
      "content": {
        "type": "STRING",
        "value": "NONE"
      }
    },
    "_hl_attr_list": {
      "type": "SEQ",
      "members": [
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "_hl_none"
            },
            {
              "type": "IMMEDIATE_TOKEN",
              "content": {
                "type": "STRING",
                "value": "bold"
              }
            },
            {
              "type": "IMMEDIATE_TOKEN",
              "content": {
                "type": "STRING",
                "value": "underline"
              }
            },
            {
              "type": "IMMEDIATE_TOKEN",
              "content": {
                "type": "STRING",
                "value": "undercurl"
              }
            },
            {
              "type": "IMMEDIATE_TOKEN",
              "content": {
                "type": "STRING",
                "value": "underdouble"
              }
            },
            {
              "type": "IMMEDIATE_TOKEN",
              "content": {
                "type": "STRING",
                "value": "underdotted"
              }
            },
            {
              "type": "IMMEDIATE_TOKEN",
              "content": {
                "type": "STRING",
                "value": "underdashed"
              }
            },
            {
              "type": "IMMEDIATE_TOKEN",
              "content": {
                "type": "STRING",
                "value": "strikethrough"
              }
            },
            {
              "type": "IMMEDIATE_TOKEN",
              "content": {
                "type": "STRING",
                "value": "reverse"
              }
            },
            {
              "type": "IMMEDIATE_TOKEN",
              "content": {
                "type": "STRING",
                "value": "inverse"
              }
            },
            {
              "type": "IMMEDIATE_TOKEN",
              "content": {
                "type": "STRING",
                "value": "italic"
              }
            },
            {
              "type": "IMMEDIATE_TOKEN",
              "content": {
                "type": "STRING",
                "value": "standout"
              }
            },
            {
              "type": "IMMEDIATE_TOKEN",
              "content": {
                "type": "STRING",
                "value": "nocombine"
              }
            }
          ]
        },
        {
          "type": "REPEAT",
          "content": {
            "type": "SEQ",
            "members": [
              {
                "type": "STRING",
                "value": ","
              },
              {
                "type": "CHOICE",
                "members": [
                  {
                    "type": "SYMBOL",
                    "name": "_hl_none"
                  },
                  {
                    "type": "IMMEDIATE_TOKEN",
                    "content": {
                      "type": "STRING",
                      "value": "bold"
                    }
                  },
                  {
                    "type": "IMMEDIATE_TOKEN",
                    "content": {
                      "type": "STRING",
                      "value": "underline"
                    }
                  },
                  {
                    "type": "IMMEDIATE_TOKEN",
                    "content": {
                      "type": "STRING",
                      "value": "undercurl"
                    }
                  },
                  {
                    "type": "IMMEDIATE_TOKEN",
                    "content": {
                      "type": "STRING",
                      "value": "underdouble"
                    }
                  },
                  {
                    "type": "IMMEDIATE_TOKEN",
                    "content": {
                      "type": "STRING",
                      "value": "underdotted"
                    }
                  },
                  {
                    "type": "IMMEDIATE_TOKEN",
                    "content": {
                      "type": "STRING",
                      "value": "underdashed"
                    }
                  },
                  {
                    "type": "IMMEDIATE_TOKEN",
                    "content": {
                      "type": "STRING",
                      "value": "strikethrough"
                    }
                  },
                  {
                    "type": "IMMEDIATE_TOKEN",
                    "content": {
                      "type": "STRING",
                      "value": "reverse"
                    }
                  },
                  {
                    "type": "IMMEDIATE_TOKEN",
                    "content": {
                      "type": "STRING",
                      "value": "inverse"
                    }
                  },
                  {
                    "type": "IMMEDIATE_TOKEN",
                    "content": {
                      "type": "STRING",
                      "value": "italic"
                    }
                  },
                  {
                    "type": "IMMEDIATE_TOKEN",
                    "content": {
                      "type": "STRING",
                      "value": "standout"
                    }
                  },
                  {
                    "type": "IMMEDIATE_TOKEN",
                    "content": {
                      "type": "STRING",
                      "value": "nocombine"
                    }
                  }
                ]
              }
            ]
          }
        }
      ]
    },
    "_hl_key_cterm": {
      "type": "SEQ",
      "members": [
        {
          "type": "FIELD",
          "name": "key",
          "content": {
            "type": "CHOICE",
            "members": [
              {
                "type": "STRING",
                "value": "term"
              },
              {
                "type": "STRING",
                "value": "cterm"
              }
            ]
          }
        },
        {
          "type": "IMMEDIATE_TOKEN",
          "content": {
            "type": "STRING",
            "value": "="
          }
        },
        {
          "type": "FIELD",
          "name": "val",
          "content": {
            "type": "SYMBOL",
            "name": "_hl_attr_list"
          }
        }
      ]
    },
    "_hl_term_list": {
      "type": "REPEAT1",
      "content": {
        "type": "CHOICE",
        "members": [
          {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "PATTERN",
              "value": "\\S+"
            }
          },
          {
            "type": "SYMBOL",
            "name": "_immediate_keycode"
          }
        ]
      }
    },
    "_hl_key_start_stop": {
      "type": "SEQ",
      "members": [
        {
          "type": "FIELD",
          "name": "key",
          "content": {
            "type": "CHOICE",
            "members": [
              {
                "type": "STRING",
                "value": "start"
              },
              {
                "type": "STRING",
                "value": "stop"
              }
            ]
          }
        },
        {
          "type": "IMMEDIATE_TOKEN",
          "content": {
            "type": "STRING",
            "value": "="
          }
        },
        {
          "type": "FIELD",
          "name": "val",
          "content": {
            "type": "SYMBOL",
            "name": "_hl_term_list"
          }
        }
      ]
    },
    "_hl_color_nr": {
      "type": "IMMEDIATE_TOKEN",
      "content": {
        "type": "PATTERN",
        "value": "[0-9]+\\*?"
      }
    },
    "_hl_key_ctermfg_ctermbg": {
      "type": "SEQ",
      "members": [
        {
          "type": "FIELD",
          "name": "key",
          "content": {
            "type": "CHOICE",
            "members": [
              {
                "type": "STRING",
                "value": "ctermfg"
              },
              {
                "type": "STRING",
                "value": "ctermbg"
              }
            ]
          }
        },
        {
          "type": "IMMEDIATE_TOKEN",
          "content": {
            "type": "STRING",
            "value": "="
          }
        },
        {
          "type": "FIELD",
          "name": "val",
          "content": {
            "type": "CHOICE",
            "members": [
              {
                "type": "SYMBOL",
                "name": "color"
              },
              {
                "type": "SYMBOL",
                "name": "_hl_color_nr"
              }
            ]
          }
        }
      ]
    },
    "_hl_key_gui": {
      "type": "SEQ",
      "members": [
        {
          "type": "FIELD",
          "name": "key",
          "content": {
            "type": "STRING",
            "value": "gui"
          }
        },
        {
          "type": "IMMEDIATE_TOKEN",
          "content": {
            "type": "STRING",
            "value": "="
          }
        },
        {
          "type": "FIELD",
          "name": "val",
          "content": {
            "type": "SYMBOL",
            "name": "_hl_attr_list"
          }
        }
      ]
    },
    "_hl_quoted_name": {
      "type": "SEQ",
      "members": [
        {
          "type": "IMMEDIATE_TOKEN",
          "content": {
            "type": "STRING",
            "value": "'"
          }
        },
        {
          "type": "IMMEDIATE_TOKEN",
          "content": {
            "type": "PATTERN",
            "value": "[^'\\n]+"
          }
        },
        {
          "type": "STRING",
          "value": "'"
        }
      ]
    },
    "color": {
      "type": "CHOICE",
      "members": [
        {
          "type": "SYMBOL",
          "name": "_hl_quoted_name"
        },
        {
          "type": "SYMBOL",
          "name": "_hl_none"
        },
        {
          "type": "IMMEDIATE_TOKEN",
          "content": {
            "type": "STRING",
            "value": "bg"
          }
        },
        {
          "type": "IMMEDIATE_TOKEN",
          "content": {
            "type": "STRING",
            "value": "background"
          }
        },
        {
          "type": "IMMEDIATE_TOKEN",
          "content": {
            "type": "STRING",
            "value": "fg"
          }
        },
        {
          "type": "IMMEDIATE_TOKEN",
          "content": {
            "type": "STRING",
            "value": "foreground"
          }
        },
        {
          "type": "IMMEDIATE_TOKEN",
          "content": {
            "type": "PATTERN",
            "value": "#[0-9a-fA-F]{6}"
          }
        },
        {
          "type": "IMMEDIATE_TOKEN",
          "content": {
            "type": "PATTERN",
            "value": "[a-zA-Z]+"
          }
        }
      ]
    },
    "_hl_key_gui_color": {
      "type": "SEQ",
      "members": [
        {
          "type": "FIELD",
          "name": "key",
          "content": {
            "type": "CHOICE",
            "members": [
              {
                "type": "STRING",
                "value": "guifg"
              },
              {
                "type": "STRING",
                "value": "guibg"
              },
              {
                "type": "STRING",
                "value": "guisp"
              }
            ]
          }
        },
        {
          "type": "IMMEDIATE_TOKEN",
          "content": {
            "type": "STRING",
            "value": "="
          }
        },
        {
          "type": "FIELD",
          "name": "val",
          "content": {
            "type": "SYMBOL",
            "name": "color"
          }
        }
      ]
    },
    "font": {
      "type": "CHOICE",
      "members": [
        {
          "type": "SYMBOL",
          "name": "_hl_none"
        },
        {
          "type": "SYMBOL",
          "name": "_hl_quoted_name"
        },
        {
          "type": "IMMEDIATE_TOKEN",
          "content": {
            "type": "PATTERN",
            "value": "[a-zA-Z0-9-]+"
          }
        }
      ]
    },
    "_hl_key_font": {
      "type": "SEQ",
      "members": [
        {
          "type": "FIELD",
          "name": "key",
          "content": {
            "type": "STRING",
            "value": "font"
          }
        },
        {
          "type": "IMMEDIATE_TOKEN",
          "content": {
            "type": "STRING",
            "value": "="
          }
        },
        {
          "type": "FIELD",
          "name": "val",
          "content": {
            "type": "SYMBOL",
            "name": "font"
          }
        }
      ]
    },
    "_hl_key_blend": {
      "type": "SEQ",
      "members": [
        {
          "type": "FIELD",
          "name": "key",
          "content": {
            "type": "STRING",
            "value": "blend"
          }
        },
        {
          "type": "IMMEDIATE_TOKEN",
          "content": {
            "type": "STRING",
            "value": "="
          }
        },
        {
          "type": "FIELD",
          "name": "val",
          "content": {
            "type": "SYMBOL",
            "name": "integer_literal"
          }
        }
      ]
    },
    "hl_attribute": {
      "type": "CHOICE",
      "members": [
        {
          "type": "SYMBOL",
          "name": "_hl_key_cterm"
        },
        {
          "type": "SYMBOL",
          "name": "_hl_key_start_stop"
        },
        {
          "type": "SYMBOL",
          "name": "_hl_key_ctermfg_ctermbg"
        },
        {
          "type": "SYMBOL",
          "name": "_hl_key_gui"
        },
        {
          "type": "SYMBOL",
          "name": "_hl_key_gui_color"
        },
        {
          "type": "SYMBOL",
          "name": "_hl_key_font"
        },
        {
          "type": "SYMBOL",
          "name": "_hl_key_blend"
        }
      ]
    },
    "_hl_body_keys": {
      "type": "SEQ",
      "members": [
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "ALIAS",
              "content": {
                "type": "SYMBOL",
                "name": "_default"
              },
              "named": false,
              "value": "default"
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "SYMBOL",
          "name": "hl_group"
        },
        {
          "type": "REPEAT1",
          "content": {
            "type": "SYMBOL",
            "name": "hl_attribute"
          }
        }
      ]
    },
    "_hl_body": {
      "type": "CHOICE",
      "members": [
        {
          "type": "SYMBOL",
          "name": "hl_group"
        },
        {
          "type": "SYMBOL",
          "name": "_hl_body_clear"
        },
        {
          "type": "SYMBOL",
          "name": "_hl_body_none"
        },
        {
          "type": "SYMBOL",
          "name": "_hl_body_keys"
        },
        {
          "type": "SYMBOL",
          "name": "_hl_body_link"
        }
      ]
    },
    "highlight_statement": {
      "type": "SEQ",
      "members": [
        {
          "type": "SEQ",
          "members": [
            {
              "type": "ALIAS",
              "content": {
                "type": "SYMBOL",
                "name": "_highlight"
              },
              "named": false,
              "value": "highlight"
            },
            {
              "type": "CHOICE",
              "members": [
                {
                  "type": "SYMBOL",
                  "name": "bang"
                },
                {
                  "type": "BLANK"
                }
              ]
            }
          ]
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "_hl_body"
            },
            {
              "type": "BLANK"
            }
          ]
        }
      ]
    },
    "_syn_enable": {
      "type": "FIELD",
      "name": "sub",
      "content": {
        "type": "CHOICE",
        "members": [
          {
            "type": "STRING",
            "value": "enable"
          },
          {
            "type": "STRING",
            "value": "on"
          },
          {
            "type": "STRING",
            "value": "off"
          },
          {
            "type": "STRING",
            "value": "reset"
          }
        ]
      }
    },
    "_syn_case": {
      "type": "SEQ",
      "members": [
        {
          "type": "FIELD",
          "name": "sub",
          "content": {
            "type": "STRING",
            "value": "case"
          }
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "CHOICE",
              "members": [
                {
                  "type": "STRING",
                  "value": "match"
                },
                {
                  "type": "STRING",
                  "value": "ignore"
                }
              ]
            },
            {
              "type": "BLANK"
            }
          ]
        }
      ]
    },
    "_syn_spell": {
      "type": "SEQ",
      "members": [
        {
          "type": "FIELD",
          "name": "sub",
          "content": {
            "type": "STRING",
            "value": "spell"
          }
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "CHOICE",
              "members": [
                {
                  "type": "STRING",
                  "value": "toplevel"
                },
                {
                  "type": "STRING",
                  "value": "notoplevel"
                },
                {
                  "type": "STRING",
                  "value": "default"
                }
              ]
            },
            {
              "type": "BLANK"
            }
          ]
        }
      ]
    },
    "_syn_foldlevel": {
      "type": "SEQ",
      "members": [
        {
          "type": "FIELD",
          "name": "sub",
          "content": {
            "type": "STRING",
            "value": "foldlevel"
          }
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "CHOICE",
              "members": [
                {
                  "type": "STRING",
                  "value": "start"
                },
                {
                  "type": "STRING",
                  "value": "minimum"
                }
              ]
            },
            {
              "type": "BLANK"
            }
          ]
        }
      ]
    },
    "_syn_iskeyword": {
      "type": "SEQ",
      "members": [
        {
          "type": "FIELD",
          "name": "sub",
          "content": {
            "type": "STRING",
            "value": "iskeyword"
          }
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "CHOICE",
              "members": [
                {
                  "type": "STRING",
                  "value": "clear"
                },
                {
                  "type": "ALIAS",
                  "content": {
                    "type": "PATTERN",
                    "value": "[^ \\n]+"
                  },
                  "named": true,
                  "value": "value"
                }
              ]
            },
            {
              "type": "BLANK"
            }
          ]
        }
      ]
    },
    "_syn_conceal": {
      "type": "SEQ",
      "members": [
        {
          "type": "FIELD",
          "name": "sub",
          "content": {
            "type": "STRING",
            "value": "conceal"
          }
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "CHOICE",
              "members": [
                {
                  "type": "STRING",
                  "value": "on"
                },
                {
                  "type": "STRING",
                  "value": "off"
                }
              ]
            },
            {
              "type": "BLANK"
            }
          ]
        }
      ]
    },
    "_syn_hl_pattern": {
      "type": "SEQ",
      "members": [
        {
          "type": "SYMBOL",
          "name": "_separator_first"
        },
        {
          "type": "SYMBOL",
          "name": "pattern"
        },
        {
          "type": "SYMBOL",
          "name": "_separator"
        }
      ]
    },
    "hl_groups": {
      "type": "SEQ",
      "members": [
        {
          "type": "SYMBOL",
          "name": "hl_group"
        },
        {
          "type": "REPEAT",
          "content": {
            "type": "SEQ",
            "members": [
              {
                "type": "STRING",
                "value": ","
              },
              {
                "type": "SYMBOL",
                "name": "hl_group"
              }
            ]
          }
        }
      ]
    },
    "_syn_arguments_keyword": {
      "type": "CHOICE",
      "members": [
        {
          "type": "FIELD",
          "name": "name",
          "content": {
            "type": "STRING",
            "value": "conceal"
          }
        },
        {
          "type": "SEQ",
          "members": [
            {
              "type": "FIELD",
              "name": "name",
              "content": {
                "type": "STRING",
                "value": "cchar"
              }
            },
            {
              "type": "IMMEDIATE_TOKEN",
              "content": {
                "type": "STRING",
                "value": "="
              }
            },
            {
              "type": "FIELD",
              "name": "val",
              "content": {
                "type": "SYMBOL",
                "name": "_printable"
              }
            }
          ]
        },
        {
          "type": "FIELD",
          "name": "name",
          "content": {
            "type": "STRING",
            "value": "contained"
          }
        },
        {
          "type": "SEQ",
          "members": [
            {
              "type": "FIELD",
              "name": "name",
              "content": {
                "type": "STRING",
                "value": "containedin"
              }
            },
            {
              "type": "IMMEDIATE_TOKEN",
              "content": {
                "type": "STRING",
                "value": "="
              }
            },
            {
              "type": "FIELD",
              "name": "val",
              "content": {
                "type": "CHOICE",
                "members": [
                  {
                    "type": "SYMBOL",
                    "name": "hl_groups"
                  },
                  {
                    "type": "BLANK"
                  }
                ]
              }
            }
          ]
        },
        {
          "type": "SEQ",
          "members": [
            {
              "type": "FIELD",
              "name": "name",
              "content": {
                "type": "STRING",
                "value": "nextgroup"
              }
            },
            {
              "type": "IMMEDIATE_TOKEN",
              "content": {
                "type": "STRING",
                "value": "="
              }
            },
            {
              "type": "FIELD",
              "name": "val",
              "content": {
                "type": "CHOICE",
                "members": [
                  {
                    "type": "SYMBOL",
                    "name": "hl_groups"
                  },
                  {
                    "type": "BLANK"
                  }
                ]
              }
            }
          ]
        },
        {
          "type": "FIELD",
          "name": "name",
          "content": {
            "type": "STRING",
            "value": "transparent"
          }
        },
        {
          "type": "FIELD",
          "name": "name",
          "content": {
            "type": "STRING",
            "value": "skipwhite"
          }
        },
        {
          "type": "FIELD",
          "name": "name",
          "content": {
            "type": "STRING",
            "value": "skipnl"
          }
        },
        {
          "type": "FIELD",
          "name": "name",
          "content": {
            "type": "STRING",
            "value": "skipempty"
          }
        }
      ]
    },
    "_syn_arguments_match": {
      "type": "CHOICE",
      "members": [
        {
          "type": "SYMBOL",
          "name": "_syn_arguments_keyword"
        },
        {
          "type": "SEQ",
          "members": [
            {
              "type": "FIELD",
              "name": "name",
              "content": {
                "type": "STRING",
                "value": "contains"
              }
            },
            {
              "type": "IMMEDIATE_TOKEN",
              "content": {
                "type": "STRING",
                "value": "="
              }
            },
            {
              "type": "FIELD",
              "name": "val",
              "content": {
                "type": "CHOICE",
                "members": [
                  {
                    "type": "SYMBOL",
                    "name": "hl_groups"
                  },
                  {
                    "type": "BLANK"
                  }
                ]
              }
            }
          ]
        },
        {
          "type": "FIELD",
          "name": "name",
          "content": {
            "type": "STRING",
            "value": "fold"
          }
        },
        {
          "type": "FIELD",
          "name": "name",
          "content": {
            "type": "STRING",
            "value": "display"
          }
        },
        {
          "type": "FIELD",
          "name": "name",
          "content": {
            "type": "STRING",
            "value": "extend"
          }
        },
        {
          "type": "FIELD",
          "name": "name",
          "content": {
            "type": "STRING",
            "value": "keepend"
          }
        },
        {
          "type": "FIELD",
          "name": "name",
          "content": {
            "type": "STRING",
            "value": "excludenl"
          }
        }
      ]
    },
    "_syn_arguments_region": {
      "type": "CHOICE",
      "members": [
        {
          "type": "SYMBOL",
          "name": "_syn_arguments_match"
        },
        {
          "type": "SEQ",
          "members": [
            {
              "type": "FIELD",
              "name": "name",
              "content": {
                "type": "STRING",
                "value": "matchgroup"
              }
            },
            {
              "type": "IMMEDIATE_TOKEN",
              "content": {
                "type": "STRING",
                "value": "="
              }
            },
            {
              "type": "FIELD",
              "name": "val",
              "content": {
                "type": "CHOICE",
                "members": [
                  {
                    "type": "SYMBOL",
                    "name": "hl_groups"
                  },
                  {
                    "type": "BLANK"
                  }
                ]
              }
            }
          ]
        },
        {
          "type": "FIELD",
          "name": "name",
          "content": {
            "type": "STRING",
            "value": "oneline"
          }
        },
        {
          "type": "FIELD",
          "name": "name",
          "content": {
            "type": "STRING",
            "value": "concealends"
          }
        }
      ]
    },
    "_syn_arguments_cluster": {
      "type": "CHOICE",
      "members": [
        {
          "type": "SEQ",
          "members": [
            {
              "type": "FIELD",
              "name": "name",
              "content": {
                "type": "STRING",
                "value": "contains"
              }
            },
            {
              "type": "IMMEDIATE_TOKEN",
              "content": {
                "type": "STRING",
                "value": "="
              }
            },
            {
              "type": "FIELD",
              "name": "val",
              "content": {
                "type": "CHOICE",
                "members": [
                  {
                    "type": "SYMBOL",
                    "name": "hl_groups"
                  },
                  {
                    "type": "BLANK"
                  }
                ]
              }
            }
          ]
        },
        {
          "type": "SEQ",
          "members": [
            {
              "type": "FIELD",
              "name": "name",
              "content": {
                "type": "STRING",
                "value": "add"
              }
            },
            {
              "type": "IMMEDIATE_TOKEN",
              "content": {
                "type": "STRING",
                "value": "="
              }
            },
            {
              "type": "FIELD",
              "name": "val",
              "content": {
                "type": "CHOICE",
                "members": [
                  {
                    "type": "SYMBOL",
                    "name": "hl_groups"
                  },
                  {
                    "type": "BLANK"
                  }
                ]
              }
            }
          ]
        },
        {
          "type": "SEQ",
          "members": [
            {
              "type": "FIELD",
              "name": "name",
              "content": {
                "type": "STRING",
                "value": "remove"
              }
            },
            {
              "type": "IMMEDIATE_TOKEN",
              "content": {
                "type": "STRING",
                "value": "="
              }
            },
            {
              "type": "FIELD",
              "name": "val",
              "content": {
                "type": "CHOICE",
                "members": [
                  {
                    "type": "SYMBOL",
                    "name": "hl_groups"
                  },
                  {
                    "type": "BLANK"
                  }
                ]
              }
            }
          ]
        }
      ]
    },
    "_syn_pattern_offset": {
      "type": "SEQ",
      "members": [
        {
          "type": "FIELD",
          "name": "what",
          "content": {
            "type": "CHOICE",
            "members": [
              {
                "type": "IMMEDIATE_TOKEN",
                "content": {
                  "type": "STRING",
                  "value": "ms"
                }
              },
              {
                "type": "IMMEDIATE_TOKEN",
                "content": {
                  "type": "STRING",
                  "value": "me"
                }
              },
              {
                "type": "IMMEDIATE_TOKEN",
                "content": {
                  "type": "STRING",
                  "value": "hs"
                }
              },
              {
                "type": "IMMEDIATE_TOKEN",
                "content": {
                  "type": "STRING",
                  "value": "he"
                }
              },
              {
                "type": "IMMEDIATE_TOKEN",
                "content": {
                  "type": "STRING",
                  "value": "rs"
                }
              },
              {
                "type": "IMMEDIATE_TOKEN",
                "content": {
                  "type": "STRING",
                  "value": "re"
                }
              },
              {
                "type": "IMMEDIATE_TOKEN",
                "content": {
                  "type": "STRING",
                  "value": "lc"
                }
              }
            ]
          }
        },
        {
          "type": "IMMEDIATE_TOKEN",
          "content": {
            "type": "STRING",
            "value": "="
          }
        },
        {
          "type": "FIELD",
          "name": "offset",
          "content": {
            "type": "CHOICE",
            "members": [
              {
                "type": "IMMEDIATE_TOKEN",
                "content": {
                  "type": "PATTERN",
                  "value": "[se]([+-][0-9]+)?"
                }
              },
              {
                "type": "IMMEDIATE_TOKEN",
                "content": {
                  "type": "PATTERN",
                  "value": "[0-9]"
                }
              }
            ]
          }
        }
      ]
    },
    "_syn_keyword": {
      "type": "SEQ",
      "members": [
        {
          "type": "FIELD",
          "name": "sub",
          "content": {
            "type": "STRING",
            "value": "keyword"
          }
        },
        {
          "type": "SYMBOL",
          "name": "hl_group"
        },
        {
          "type": "REPEAT",
          "content": {
            "type": "ALIAS",
            "content": {
              "type": "SYMBOL",
              "name": "_syn_arguments_keyword"
            },
            "named": true,
            "value": "syntax_argument"
          }
        },
        {
          "type": "ALIAS",
          "content": {
            "type": "PATTERN",
            "value": "[a-zA-Z0-9\\[\\]_]+"
          },
          "named": true,
          "value": "keyword"
        },
        {
          "type": "REPEAT",
          "content": {
            "type": "CHOICE",
            "members": [
              {
                "type": "ALIAS",
                "content": {
                  "type": "SYMBOL",
                  "name": "_syn_arguments_keyword"
                },
                "named": true,
                "value": "syntax_argument"
              },
              {
                "type": "ALIAS",
                "content": {
                  "type": "PATTERN",
                  "value": "[a-zA-Z0-9\\[\\]_]+"
                },
                "named": true,
                "value": "keyword"
              }
            ]
          }
        }
      ]
    },
    "_syn_match": {
      "type": "SEQ",
      "members": [
        {
          "type": "FIELD",
          "name": "sub",
          "content": {
            "type": "STRING",
            "value": "match"
          }
        },
        {
          "type": "SYMBOL",
          "name": "hl_group"
        },
        {
          "type": "REPEAT",
          "content": {
            "type": "ALIAS",
            "content": {
              "type": "SYMBOL",
              "name": "_syn_arguments_match"
            },
            "named": true,
            "value": "syntax_argument"
          }
        },
        {
          "type": "SYMBOL",
          "name": "_syn_hl_pattern"
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SEQ",
              "members": [
                {
                  "type": "ALIAS",
                  "content": {
                    "type": "SYMBOL",
                    "name": "_syn_pattern_offset"
                  },
                  "named": true,
                  "value": "pattern_offset"
                },
                {
                  "type": "REPEAT",
                  "content": {
                    "type": "SEQ",
                    "members": [
                      {
                        "type": "STRING",
                        "value": ","
                      },
                      {
                        "type": "ALIAS",
                        "content": {
                          "type": "SYMBOL",
                          "name": "_syn_pattern_offset"
                        },
                        "named": true,
                        "value": "pattern_offset"
                      }
                    ]
                  }
                }
              ]
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "REPEAT",
          "content": {
            "type": "ALIAS",
            "content": {
              "type": "SYMBOL",
              "name": "_syn_arguments_match"
            },
            "named": true,
            "value": "syntax_argument"
          }
        }
      ]
    },
    "_syn_region_start": {
      "type": "SEQ",
      "members": [
        {
          "type": "SEQ",
          "members": [
            {
              "type": "FIELD",
              "name": "name",
              "content": {
                "type": "STRING",
                "value": "start"
              }
            },
            {
              "type": "IMMEDIATE_TOKEN",
              "content": {
                "type": "STRING",
                "value": "="
              }
            },
            {
              "type": "FIELD",
              "name": "val",
              "content": {
                "type": "SYMBOL",
                "name": "_syn_hl_pattern"
              }
            }
          ]
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SEQ",
              "members": [
                {
                  "type": "ALIAS",
                  "content": {
                    "type": "SYMBOL",
                    "name": "_syn_pattern_offset"
                  },
                  "named": true,
                  "value": "pattern_offset"
                },
                {
                  "type": "REPEAT",
                  "content": {
                    "type": "SEQ",
                    "members": [
                      {
                        "type": "STRING",
                        "value": ","
                      },
                      {
                        "type": "ALIAS",
                        "content": {
                          "type": "SYMBOL",
                          "name": "_syn_pattern_offset"
                        },
                        "named": true,
                        "value": "pattern_offset"
                      }
                    ]
                  }
                }
              ]
            },
            {
              "type": "BLANK"
            }
          ]
        }
      ]
    },
    "_syn_region_skip": {
      "type": "SEQ",
      "members": [
        {
          "type": "SEQ",
          "members": [
            {
              "type": "FIELD",
              "name": "name",
              "content": {
                "type": "STRING",
                "value": "skip"
              }
            },
            {
              "type": "IMMEDIATE_TOKEN",
              "content": {
                "type": "STRING",
                "value": "="
              }
            },
            {
              "type": "FIELD",
              "name": "val",
              "content": {
                "type": "SYMBOL",
                "name": "_syn_hl_pattern"
              }
            }
          ]
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SEQ",
              "members": [
                {
                  "type": "ALIAS",
                  "content": {
                    "type": "SYMBOL",
                    "name": "_syn_pattern_offset"
                  },
                  "named": true,
                  "value": "pattern_offset"
                },
                {
                  "type": "REPEAT",
                  "content": {
                    "type": "SEQ",
                    "members": [
                      {
                        "type": "STRING",
                        "value": ","
                      },
                      {
                        "type": "ALIAS",
                        "content": {
                          "type": "SYMBOL",
                          "name": "_syn_pattern_offset"
                        },
                        "named": true,
                        "value": "pattern_offset"
                      }
                    ]
                  }
                }
              ]
            },
            {
              "type": "BLANK"
            }
          ]
        }
      ]
    },
    "_syn_region_end": {
      "type": "SEQ",
      "members": [
        {
          "type": "SEQ",
          "members": [
            {
              "type": "FIELD",
              "name": "name",
              "content": {
                "type": "STRING",
                "value": "end"
              }
            },
            {
              "type": "IMMEDIATE_TOKEN",
              "content": {
                "type": "STRING",
                "value": "="
              }
            },
            {
              "type": "FIELD",
              "name": "val",
              "content": {
                "type": "SYMBOL",
                "name": "_syn_hl_pattern"
              }
            }
          ]
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SEQ",
              "members": [
                {
                  "type": "ALIAS",
                  "content": {
                    "type": "SYMBOL",
                    "name": "_syn_pattern_offset"
                  },
                  "named": true,
                  "value": "pattern_offset"
                },
                {
                  "type": "REPEAT",
                  "content": {
                    "type": "SEQ",
                    "members": [
                      {
                        "type": "STRING",
                        "value": ","
                      },
                      {
                        "type": "ALIAS",
                        "content": {
                          "type": "SYMBOL",
                          "name": "_syn_pattern_offset"
                        },
                        "named": true,
                        "value": "pattern_offset"
                      }
                    ]
                  }
                }
              ]
            },
            {
              "type": "BLANK"
            }
          ]
        }
      ]
    },
    "_syn_region": {
      "type": "SEQ",
      "members": [
        {
          "type": "FIELD",
          "name": "sub",
          "content": {
            "type": "STRING",
            "value": "region"
          }
        },
        {
          "type": "SYMBOL",
          "name": "hl_group"
        },
        {
          "type": "REPEAT",
          "content": {
            "type": "ALIAS",
            "content": {
              "type": "SYMBOL",
              "name": "_syn_arguments_region"
            },
            "named": true,
            "value": "syntax_argument"
          }
        },
        {
          "type": "ALIAS",
          "content": {
            "type": "SYMBOL",
            "name": "_syn_region_start"
          },
          "named": true,
          "value": "syntax_argument"
        },
        {
          "type": "REPEAT",
          "content": {
            "type": "ALIAS",
            "content": {
              "type": "SYMBOL",
              "name": "_syn_arguments_region"
            },
            "named": true,
            "value": "syntax_argument"
          }
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SEQ",
              "members": [
                {
                  "type": "ALIAS",
                  "content": {
                    "type": "SYMBOL",
                    "name": "_syn_region_skip"
                  },
                  "named": true,
                  "value": "syntax_argument"
                },
                {
                  "type": "REPEAT",
                  "content": {
                    "type": "ALIAS",
                    "content": {
                      "type": "SYMBOL",
                      "name": "_syn_arguments_region"
                    },
                    "named": true,
                    "value": "syntax_argument"
                  }
                }
              ]
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "REPEAT1",
          "content": {
            "type": "SEQ",
            "members": [
              {
                "type": "ALIAS",
                "content": {
                  "type": "SYMBOL",
                  "name": "_syn_region_end"
                },
                "named": true,
                "value": "syntax_argument"
              },
              {
                "type": "REPEAT",
                "content": {
                  "type": "ALIAS",
                  "content": {
                    "type": "SYMBOL",
                    "name": "_syn_arguments_region"
                  },
                  "named": true,
                  "value": "syntax_argument"
                }
              }
            ]
          }
        }
      ]
    },
    "_syn_cluster": {
      "type": "SEQ",
      "members": [
        {
          "type": "FIELD",
          "name": "sub",
          "content": {
            "type": "STRING",
            "value": "cluster"
          }
        },
        {
          "type": "SYMBOL",
          "name": "hl_group"
        },
        {
          "type": "REPEAT",
          "content": {
            "type": "ALIAS",
            "content": {
              "type": "SYMBOL",
              "name": "_syn_arguments_cluster"
            },
            "named": true,
            "value": "syntax_argument"
          }
        }
      ]
    },
    "_syn_include": {
      "type": "SEQ",
      "members": [
        {
          "type": "FIELD",
          "name": "sub",
          "content": {
            "type": "STRING",
            "value": "include"
          }
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "FIELD",
              "name": "grouplist",
              "content": {
                "type": "SEQ",
                "members": [
                  {
                    "type": "STRING",
                    "value": "@"
                  },
                  {
                    "type": "SYMBOL",
                    "name": "hl_group"
                  }
                ]
              }
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "SYMBOL",
          "name": "filename"
        }
      ]
    },
    "_syn_sync_lines": {
      "type": "SEQ",
      "members": [
        {
          "type": "FIELD",
          "name": "name",
          "content": {
            "type": "CHOICE",
            "members": [
              {
                "type": "STRING",
                "value": "minlines"
              },
              {
                "type": "STRING",
                "value": "maxlines"
              }
            ]
          }
        },
        {
          "type": "IMMEDIATE_TOKEN",
          "content": {
            "type": "STRING",
            "value": "="
          }
        },
        {
          "type": "FIELD",
          "name": "val",
          "content": {
            "type": "PATTERN",
            "value": "[0-9]+"
          }
        }
      ]
    },
    "_syn_sync": {
      "type": "SEQ",
      "members": [
        {
          "type": "FIELD",
          "name": "sub",
          "content": {
            "type": "STRING",
            "value": "sync"
          }
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SEQ",
              "members": [
                {
                  "type": "FIELD",
                  "name": "method",
                  "content": {
                    "type": "STRING",
                    "value": "linebreaks"
                  }
                },
                {
                  "type": "IMMEDIATE_TOKEN",
                  "content": {
                    "type": "STRING",
                    "value": "="
                  }
                },
                {
                  "type": "FIELD",
                  "name": "val",
                  "content": {
                    "type": "IMMEDIATE_TOKEN",
                    "content": {
                      "type": "PATTERN",
                      "value": "[0-9]+"
                    }
                  }
                }
              ]
            },
            {
              "type": "FIELD",
              "name": "method",
              "content": {
                "type": "STRING",
                "value": "fromstart"
              }
            },
            {
              "type": "SEQ",
              "members": [
                {
                  "type": "FIELD",
                  "name": "method",
                  "content": {
                    "type": "STRING",
                    "value": "ccomment"
                  }
                },
                {
                  "type": "CHOICE",
                  "members": [
                    {
                      "type": "SYMBOL",
                      "name": "hl_group"
                    },
                    {
                      "type": "BLANK"
                    }
                  ]
                },
                {
                  "type": "REPEAT",
                  "content": {
                    "type": "SYMBOL",
                    "name": "_syn_sync_lines"
                  }
                }
              ]
            },
            {
              "type": "SEQ",
              "members": [
                {
                  "type": "FIELD",
                  "name": "method",
                  "content": {
                    "type": "CHOICE",
                    "members": [
                      {
                        "type": "STRING",
                        "value": "lines"
                      },
                      {
                        "type": "STRING",
                        "value": "minlines"
                      },
                      {
                        "type": "STRING",
                        "value": "maxlines"
                      }
                    ]
                  }
                },
                {
                  "type": "IMMEDIATE_TOKEN",
                  "content": {
                    "type": "STRING",
                    "value": "="
                  }
                },
                {
                  "type": "FIELD",
                  "name": "val",
                  "content": {
                    "type": "IMMEDIATE_TOKEN",
                    "content": {
                      "type": "PATTERN",
                      "value": "[0-9]+"
                    }
                  }
                }
              ]
            },
            {
              "type": "SEQ",
              "members": [
                {
                  "type": "FIELD",
                  "name": "method",
                  "content": {
                    "type": "CHOICE",
                    "members": [
                      {
                        "type": "STRING",
                        "value": "match"
                      },
                      {
                        "type": "STRING",
                        "value": "region"
                      }
                    ]
                  }
                },
                {
                  "type": "SYMBOL",
                  "name": "hl_group"
                },
                {
                  "type": "CHOICE",
                  "members": [
                    {
                      "type": "SEQ",
                      "members": [
                        {
                          "type": "CHOICE",
                          "members": [
                            {
                              "type": "STRING",
                              "value": "grouphere"
                            },
                            {
                              "type": "STRING",
                              "value": "groupthere"
                            }
                          ]
                        },
                        {
                          "type": "SYMBOL",
                          "name": "hl_group"
                        }
                      ]
                    },
                    {
                      "type": "BLANK"
                    }
                  ]
                },
                {
                  "type": "SYMBOL",
                  "name": "pattern"
                }
              ]
            },
            {
              "type": "SEQ",
              "members": [
                {
                  "type": "FIELD",
                  "name": "method",
                  "content": {
                    "type": "STRING",
                    "value": "linecont"
                  }
                },
                {
                  "type": "REPEAT",
                  "content": {
                    "type": "SYMBOL",
                    "name": "_syn_sync_lines"
                  }
                },
                {
                  "type": "SYMBOL",
                  "name": "pattern"
                },
                {
                  "type": "REPEAT",
                  "content": {
                    "type": "SYMBOL",
                    "name": "_syn_sync_lines"
                  }
                }
              ]
            },
            {
              "type": "SEQ",
              "members": [
                {
                  "type": "FIELD",
                  "name": "method",
                  "content": {
                    "type": "STRING",
                    "value": "clear"
                  }
                },
                {
                  "type": "CHOICE",
                  "members": [
                    {
                      "type": "SYMBOL",
                      "name": "hl_group"
                    },
                    {
                      "type": "BLANK"
                    }
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    "_syn_list": {
      "type": "SEQ",
      "members": [
        {
          "type": "FIELD",
          "name": "sub",
          "content": {
            "type": "STRING",
            "value": "list"
          }
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "hl_group"
            },
            {
              "type": "BLANK"
            }
          ]
        }
      ]
    },
    "_syn_clear": {
      "type": "SEQ",
      "members": [
        {
          "type": "FIELD",
          "name": "sub",
          "content": {
            "type": "STRING",
            "value": "clear"
          }
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "hl_group"
            },
            {
              "type": "BLANK"
            }
          ]
        }
      ]
    },
    "syntax_statement": {
      "type": "SEQ",
      "members": [
        {
          "type": "ALIAS",
          "content": {
            "type": "SYMBOL",
            "name": "_syntax"
          },
          "named": false,
          "value": "syntax"
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "CHOICE",
              "members": [
                {
                  "type": "SYMBOL",
                  "name": "_syn_enable"
                },
                {
                  "type": "SYMBOL",
                  "name": "_syn_case"
                },
                {
                  "type": "SYMBOL",
                  "name": "_syn_spell"
                },
                {
                  "type": "SYMBOL",
                  "name": "_syn_foldlevel"
                },
                {
                  "type": "SYMBOL",
                  "name": "_syn_iskeyword"
                },
                {
                  "type": "SYMBOL",
                  "name": "_syn_conceal"
                },
                {
                  "type": "SYMBOL",
                  "name": "_syn_keyword"
                },
                {
                  "type": "SYMBOL",
                  "name": "_syn_match"
                },
                {
                  "type": "SYMBOL",
                  "name": "_syn_region"
                },
                {
                  "type": "SYMBOL",
                  "name": "_syn_cluster"
                },
                {
                  "type": "SYMBOL",
                  "name": "_syn_include"
                },
                {
                  "type": "SYMBOL",
                  "name": "_syn_sync"
                },
                {
                  "type": "SYMBOL",
                  "name": "_syn_list"
                },
                {
                  "type": "SYMBOL",
                  "name": "_syn_clear"
                }
              ]
            },
            {
              "type": "BLANK"
            }
          ]
        }
      ]
    },
    "edit_statement": {
      "type": "SEQ",
      "members": [
        {
          "type": "SEQ",
          "members": [
            {
              "type": "ALIAS",
              "content": {
                "type": "SYMBOL",
                "name": "_edit"
              },
              "named": false,
              "value": "edit"
            },
            {
              "type": "CHOICE",
              "members": [
                {
                  "type": "SYMBOL",
                  "name": "bang"
                },
                {
                  "type": "BLANK"
                }
              ]
            }
          ]
        },
        {
          "type": "REPEAT",
          "content": {
            "type": "SYMBOL",
            "name": "plus_plus_opt"
          }
        },
        {
          "type": "REPEAT",
          "content": {
            "type": "SYMBOL",
            "name": "plus_cmd"
          }
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "CHOICE",
              "members": [
                {
                  "type": "SEQ",
                  "members": [
                    {
                      "type": "STRING",
                      "value": "#"
                    },
                    {
                      "type": "ALIAS",
                      "content": {
                        "type": "IMMEDIATE_TOKEN",
                        "content": {
                          "type": "PATTERN",
                          "value": "[0-9]+"
                        }
                      },
                      "named": true,
                      "value": "integer_literal"
                    }
                  ]
                },
                {
                  "type": "SYMBOL",
                  "name": "filename"
                }
              ]
            },
            {
              "type": "BLANK"
            }
          ]
        }
      ]
    },
    "enew_statement": {
      "type": "SEQ",
      "members": [
        {
          "type": "SEQ",
          "members": [
            {
              "type": "ALIAS",
              "content": {
                "type": "SYMBOL",
                "name": "_enew"
              },
              "named": false,
              "value": "enew"
            },
            {
              "type": "CHOICE",
              "members": [
                {
                  "type": "SYMBOL",
                  "name": "bang"
                },
                {
                  "type": "BLANK"
                }
              ]
            }
          ]
        }
      ]
    },
    "find_statement": {
      "type": "SEQ",
      "members": [
        {
          "type": "SEQ",
          "members": [
            {
              "type": "ALIAS",
              "content": {
                "type": "SYMBOL",
                "name": "_find"
              },
              "named": false,
              "value": "find"
            },
            {
              "type": "CHOICE",
              "members": [
                {
                  "type": "SYMBOL",
                  "name": "bang"
                },
                {
                  "type": "BLANK"
                }
              ]
            }
          ]
        },
        {
          "type": "REPEAT",
          "content": {
            "type": "SYMBOL",
            "name": "plus_plus_opt"
          }
        },
        {
          "type": "REPEAT",
          "content": {
            "type": "SYMBOL",
            "name": "plus_cmd"
          }
        },
        {
          "type": "SYMBOL",
          "name": "filename"
        }
      ]
    },
    "ex_statement": {
      "type": "SEQ",
      "members": [
        {
          "type": "ALIAS",
          "content": {
            "type": "SYMBOL",
            "name": "_ex"
          },
          "named": false,
          "value": "ex"
        },
        {
          "type": "REPEAT",
          "content": {
            "type": "SYMBOL",
            "name": "plus_plus_opt"
          }
        },
        {
          "type": "REPEAT",
          "content": {
            "type": "SYMBOL",
            "name": "plus_cmd"
          }
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "filename"
            },
            {
              "type": "BLANK"
            }
          ]
        }
      ]
    },
    "visual_statement": {
      "type": "SEQ",
      "members": [
        {
          "type": "SEQ",
          "members": [
            {
              "type": "ALIAS",
              "content": {
                "type": "SYMBOL",
                "name": "_visual"
              },
              "named": false,
              "value": "visual"
            },
            {
              "type": "CHOICE",
              "members": [
                {
                  "type": "SYMBOL",
                  "name": "bang"
                },
                {
                  "type": "BLANK"
                }
              ]
            }
          ]
        },
        {
          "type": "REPEAT",
          "content": {
            "type": "SYMBOL",
            "name": "plus_plus_opt"
          }
        },
        {
          "type": "REPEAT",
          "content": {
            "type": "SYMBOL",
            "name": "plus_cmd"
          }
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "filename"
            },
            {
              "type": "BLANK"
            }
          ]
        }
      ]
    },
    "view_statement": {
      "type": "SEQ",
      "members": [
        {
          "type": "SEQ",
          "members": [
            {
              "type": "ALIAS",
              "content": {
                "type": "SYMBOL",
                "name": "_view"
              },
              "named": false,
              "value": "view"
            },
            {
              "type": "CHOICE",
              "members": [
                {
                  "type": "SYMBOL",
                  "name": "bang"
                },
                {
                  "type": "BLANK"
                }
              ]
            }
          ]
        },
        {
          "type": "REPEAT",
          "content": {
            "type": "SYMBOL",
            "name": "plus_plus_opt"
          }
        },
        {
          "type": "REPEAT",
          "content": {
            "type": "SYMBOL",
            "name": "plus_cmd"
          }
        },
        {
          "type": "SYMBOL",
          "name": "filename"
        }
      ]
    }
  },
  "extras": [
    {
      "type": "SYMBOL",
      "name": "_line_continuation"
    },
    {
      "type": "SYMBOL",
      "name": "line_continuation_comment"
    },
    {
      "type": "PATTERN",
      "value": "[\\t ]"
    }
  ],
  "conflicts": [
    [
      "binary_operation",
      "unary_operation",
      "field_expression"
    ],
    [
      "binary_operation",
      "field_expression"
    ],
    [
      "_ident",
      "lambda_expression"
    ],
    [
      "_ident",
      "_immediate_lambda_expression"
    ]
  ],
  "precedences": [],
  "externals": [
    {
      "type": "SYMBOL",
      "name": "_no"
    },
    {
      "type": "SYMBOL",
      "name": "_inv"
    },
    {
      "type": "SYMBOL",
      "name": "_newline_or_pipe"
    },
    {
      "type": "SYMBOL",
      "name": "_line_continuation"
    },
    {
      "type": "SYMBOL",
      "name": "_script_heredoc_marker"
    },
    {
      "type": "SYMBOL",
      "name": "_let_heredoc_marker"
    },
    {
      "type": "SYMBOL",
      "name": "_heredoc_end"
    },
    {
      "type": "SYMBOL",
      "name": "_separator_first"
    },
    {
      "type": "SYMBOL",
      "name": "_separator"
    },
    {
      "type": "SYMBOL",
      "name": "_scope_dict"
    },
    {
      "type": "SYMBOL",
      "name": "scope"
    },
    {
      "type": "SYMBOL",
      "name": "string_literal"
    },
    {
      "type": "SYMBOL",
      "name": "comment"
    },
    {
      "type": "SYMBOL",
      "name": "line_continuation_comment"
    },
    {
      "type": "SYMBOL",
      "name": "_bang_filter"
    },
    {
      "type": "SYMBOL",
      "name": "_function"
    },
    {
      "type": "SYMBOL",
      "name": "_endfunction"
    },
    {
      "type": "SYMBOL",
      "name": "_for"
    },
    {
      "type": "SYMBOL",
      "name": "_endfor"
    },
    {
      "type": "SYMBOL",
      "name": "_while"
    },
    {
      "type": "SYMBOL",
      "name": "_endwhile"
    },
    {
      "type": "SYMBOL",
      "name": "_if"
    },
    {
      "type": "SYMBOL",
      "name": "_elseif"
    },
    {
      "type": "SYMBOL",
      "name": "_else"
    },
    {
      "type": "SYMBOL",
      "name": "_endif"
    },
    {
      "type": "SYMBOL",
      "name": "_try"
    },
    {
      "type": "SYMBOL",
      "name": "_catch"
    },
    {
      "type": "SYMBOL",
      "name": "_cnext"
    },
    {
      "type": "SYMBOL",
      "name": "_cprevious"
    },
    {
      "type": "SYMBOL",
      "name": "_cNext"
    },
    {
      "type": "SYMBOL",
      "name": "_finally"
    },
    {
      "type": "SYMBOL",
      "name": "_endtry"
    },
    {
      "type": "SYMBOL",
      "name": "_const"
    },
    {
      "type": "SYMBOL",
      "name": "_normal"
    },
    {
      "type": "SYMBOL",
      "name": "_return"
    },
    {
      "type": "SYMBOL",
      "name": "_perl"
    },
    {
      "type": "SYMBOL",
      "name": "_lua"
    },
    {
      "type": "SYMBOL",
      "name": "_ruby"
    },
    {
      "type": "SYMBOL",
      "name": "_python"
    },
    {
      "type": "SYMBOL",
      "name": "_throw"
    },
    {
      "type": "SYMBOL",
      "name": "_execute"
    },
    {
      "type": "SYMBOL",
      "name": "_autocmd"
    },
    {
      "type": "SYMBOL",
      "name": "_silent"
    },
    {
      "type": "SYMBOL",
      "name": "_echo"
    },
    {
      "type": "SYMBOL",
      "name": "_echon"
    },
    {
      "type": "SYMBOL",
      "name": "_echohl"
    },
    {
      "type": "SYMBOL",
      "name": "_echomsg"
    },
    {
      "type": "SYMBOL",
      "name": "_echoerr"
    },
    {
      "type": "SYMBOL",
      "name": "_map"
    },
    {
      "type": "SYMBOL",
      "name": "_nmap"
    },
    {
      "type": "SYMBOL",
      "name": "_vmap"
    },
    {
      "type": "SYMBOL",
      "name": "_xmap"
    },
    {
      "type": "SYMBOL",
      "name": "_smap"
    },
    {
      "type": "SYMBOL",
      "name": "_omap"
    },
    {
      "type": "SYMBOL",
      "name": "_imap"
    },
    {
      "type": "SYMBOL",
      "name": "_lmap"
    },
    {
      "type": "SYMBOL",
      "name": "_cmap"
    },
    {
      "type": "SYMBOL",
      "name": "_tmap"
    },
    {
      "type": "SYMBOL",
      "name": "_noremap"
    },
    {
      "type": "SYMBOL",
      "name": "_nnoremap"
    },
    {
      "type": "SYMBOL",
      "name": "_vnoremap"
    },
    {
      "type": "SYMBOL",
      "name": "_xnoremap"
    },
    {
      "type": "SYMBOL",
      "name": "_snoremap"
    },
    {
      "type": "SYMBOL",
      "name": "_onoremap"
    },
    {
      "type": "SYMBOL",
      "name": "_inoremap"
    },
    {
      "type": "SYMBOL",
      "name": "_lnoremap"
    },
    {
      "type": "SYMBOL",
      "name": "_cnoremap"
    },
    {
      "type": "SYMBOL",
      "name": "_tnoremap"
    },
    {
      "type": "SYMBOL",
      "name": "_augroup"
    },
    {
      "type": "SYMBOL",
      "name": "_highlight"
    },
    {
      "type": "SYMBOL",
      "name": "_default"
    },
    {
      "type": "SYMBOL",
      "name": "_syntax"
    },
    {
      "type": "SYMBOL",
      "name": "_set"
    },
    {
      "type": "SYMBOL",
      "name": "_setlocal"
    },
    {
      "type": "SYMBOL",
      "name": "_setfiletype"
    },
    {
      "type": "SYMBOL",
      "name": "_browse"
    },
    {
      "type": "SYMBOL",
      "name": "_options"
    },
    {
      "type": "SYMBOL",
      "name": "_startinsert"
    },
    {
      "type": "SYMBOL",
      "name": "_stopinsert"
    },
    {
      "type": "SYMBOL",
      "name": "_scriptencoding"
    },
    {
      "type": "SYMBOL",
      "name": "_source"
    },
    {
      "type": "SYMBOL",
      "name": "_global"
    },
    {
      "type": "SYMBOL",
      "name": "_colorscheme"
    },
    {
      "type": "SYMBOL",
      "name": "_command"
    },
    {
      "type": "SYMBOL",
      "name": "_comclear"
    },
    {
      "type": "SYMBOL",
      "name": "_delcommand"
    },
    {
      "type": "SYMBOL",
      "name": "_runtime"
    },
    {
      "type": "SYMBOL",
      "name": "_wincmd"
    },
    {
      "type": "SYMBOL",
      "name": "_sign"
    },
    {
      "type": "SYMBOL",
      "name": "_filetype"
    },
    {
      "type": "SYMBOL",
      "name": "_let"
    },
    {
      "type": "SYMBOL",
      "name": "_unlet"
    },
    {
      "type": "SYMBOL",
      "name": "_call"
    },
    {
      "type": "SYMBOL",
      "name": "_break"
    },
    {
      "type": "SYMBOL",
      "name": "_continue"
    },
    {
      "type": "SYMBOL",
      "name": "_vertical"
    },
    {
      "type": "SYMBOL",
      "name": "_leftabove"
    },
    {
      "type": "SYMBOL",
      "name": "_aboveleft"
    },
    {
      "type": "SYMBOL",
      "name": "_rightbelow"
    },
    {
      "type": "SYMBOL",
      "name": "_belowright"
    },
    {
      "type": "SYMBOL",
      "name": "_topleft"
    },
    {
      "type": "SYMBOL",
      "name": "_botright"
    },
    {
      "type": "SYMBOL",
      "name": "_edit"
    },
    {
      "type": "SYMBOL",
      "name": "_enew"
    },
    {
      "type": "SYMBOL",
      "name": "_find"
    },
    {
      "type": "SYMBOL",
      "name": "_ex"
    },
    {
      "type": "SYMBOL",
      "name": "_visual"
    },
    {
      "type": "SYMBOL",
      "name": "_view"
    },
    {
      "type": "SYMBOL",
      "name": "_eval"
    },
    {
      "type": "SYMBOL",
      "name": "unknown_command_name"
    }
  ],
  "inline": [],
  "supertypes": []
}