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_lua/src/grammar.json
{
  "name": "lua",
  "word": "identifier",
  "rules": {
    "chunk": {
      "type": "SEQ",
      "members": [
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "hash_bang_line"
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "REPEAT",
          "content": {
            "type": "SYMBOL",
            "name": "statement"
          }
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "return_statement"
            },
            {
              "type": "BLANK"
            }
          ]
        }
      ]
    },
    "hash_bang_line": {
      "type": "PATTERN",
      "value": "#.*"
    },
    "_block": {
      "type": "CHOICE",
      "members": [
        {
          "type": "SEQ",
          "members": [
            {
              "type": "REPEAT1",
              "content": {
                "type": "SYMBOL",
                "name": "statement"
              }
            },
            {
              "type": "CHOICE",
              "members": [
                {
                  "type": "SYMBOL",
                  "name": "return_statement"
                },
                {
                  "type": "BLANK"
                }
              ]
            }
          ]
        },
        {
          "type": "SEQ",
          "members": [
            {
              "type": "REPEAT",
              "content": {
                "type": "SYMBOL",
                "name": "statement"
              }
            },
            {
              "type": "SYMBOL",
              "name": "return_statement"
            }
          ]
        }
      ]
    },
    "statement": {
      "type": "CHOICE",
      "members": [
        {
          "type": "SYMBOL",
          "name": "empty_statement"
        },
        {
          "type": "SYMBOL",
          "name": "assignment_statement"
        },
        {
          "type": "SYMBOL",
          "name": "function_call"
        },
        {
          "type": "SYMBOL",
          "name": "label_statement"
        },
        {
          "type": "SYMBOL",
          "name": "break_statement"
        },
        {
          "type": "SYMBOL",
          "name": "goto_statement"
        },
        {
          "type": "SYMBOL",
          "name": "do_statement"
        },
        {
          "type": "SYMBOL",
          "name": "while_statement"
        },
        {
          "type": "SYMBOL",
          "name": "repeat_statement"
        },
        {
          "type": "SYMBOL",
          "name": "if_statement"
        },
        {
          "type": "SYMBOL",
          "name": "for_statement"
        },
        {
          "type": "SYMBOL",
          "name": "declaration"
        }
      ]
    },
    "return_statement": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "return"
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "ALIAS",
              "content": {
                "type": "SYMBOL",
                "name": "_expression_list"
              },
              "named": true,
              "value": "expression_list"
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "STRING",
              "value": ";"
            },
            {
              "type": "BLANK"
            }
          ]
        }
      ]
    },
    "empty_statement": {
      "type": "STRING",
      "value": ";"
    },
    "assignment_statement": {
      "type": "SEQ",
      "members": [
        {
          "type": "ALIAS",
          "content": {
            "type": "SYMBOL",
            "name": "_variable_assignment_varlist"
          },
          "named": true,
          "value": "variable_list"
        },
        {
          "type": "STRING",
          "value": "="
        },
        {
          "type": "ALIAS",
          "content": {
            "type": "SYMBOL",
            "name": "_variable_assignment_explist"
          },
          "named": true,
          "value": "expression_list"
        }
      ]
    },
    "_variable_assignment_varlist": {
      "type": "SEQ",
      "members": [
        {
          "type": "FIELD",
          "name": "name",
          "content": {
            "type": "SYMBOL",
            "name": "variable"
          }
        },
        {
          "type": "REPEAT",
          "content": {
            "type": "SEQ",
            "members": [
              {
                "type": "STRING",
                "value": ","
              },
              {
                "type": "FIELD",
                "name": "name",
                "content": {
                  "type": "SYMBOL",
                  "name": "variable"
                }
              }
            ]
          }
        }
      ]
    },
    "_variable_assignment_explist": {
      "type": "SEQ",
      "members": [
        {
          "type": "FIELD",
          "name": "value",
          "content": {
            "type": "SYMBOL",
            "name": "expression"
          }
        },
        {
          "type": "REPEAT",
          "content": {
            "type": "SEQ",
            "members": [
              {
                "type": "STRING",
                "value": ","
              },
              {
                "type": "FIELD",
                "name": "value",
                "content": {
                  "type": "SYMBOL",
                  "name": "expression"
                }
              }
            ]
          }
        }
      ]
    },
    "label_statement": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "::"
        },
        {
          "type": "SYMBOL",
          "name": "identifier"
        },
        {
          "type": "STRING",
          "value": "::"
        }
      ]
    },
    "break_statement": {
      "type": "STRING",
      "value": "break"
    },
    "goto_statement": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "goto"
        },
        {
          "type": "SYMBOL",
          "name": "identifier"
        }
      ]
    },
    "do_statement": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "do"
        },
        {
          "type": "FIELD",
          "name": "body",
          "content": {
            "type": "ALIAS",
            "content": {
              "type": "CHOICE",
              "members": [
                {
                  "type": "SYMBOL",
                  "name": "_block"
                },
                {
                  "type": "BLANK"
                }
              ]
            },
            "named": true,
            "value": "block"
          }
        },
        {
          "type": "STRING",
          "value": "end"
        }
      ]
    },
    "while_statement": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "while"
        },
        {
          "type": "FIELD",
          "name": "condition",
          "content": {
            "type": "SYMBOL",
            "name": "expression"
          }
        },
        {
          "type": "STRING",
          "value": "do"
        },
        {
          "type": "FIELD",
          "name": "body",
          "content": {
            "type": "ALIAS",
            "content": {
              "type": "CHOICE",
              "members": [
                {
                  "type": "SYMBOL",
                  "name": "_block"
                },
                {
                  "type": "BLANK"
                }
              ]
            },
            "named": true,
            "value": "block"
          }
        },
        {
          "type": "STRING",
          "value": "end"
        }
      ]
    },
    "repeat_statement": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "repeat"
        },
        {
          "type": "FIELD",
          "name": "body",
          "content": {
            "type": "ALIAS",
            "content": {
              "type": "CHOICE",
              "members": [
                {
                  "type": "SYMBOL",
                  "name": "_block"
                },
                {
                  "type": "BLANK"
                }
              ]
            },
            "named": true,
            "value": "block"
          }
        },
        {
          "type": "STRING",
          "value": "until"
        },
        {
          "type": "FIELD",
          "name": "condition",
          "content": {
            "type": "SYMBOL",
            "name": "expression"
          }
        }
      ]
    },
    "if_statement": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "if"
        },
        {
          "type": "FIELD",
          "name": "condition",
          "content": {
            "type": "SYMBOL",
            "name": "expression"
          }
        },
        {
          "type": "STRING",
          "value": "then"
        },
        {
          "type": "FIELD",
          "name": "consequence",
          "content": {
            "type": "ALIAS",
            "content": {
              "type": "CHOICE",
              "members": [
                {
                  "type": "SYMBOL",
                  "name": "_block"
                },
                {
                  "type": "BLANK"
                }
              ]
            },
            "named": true,
            "value": "block"
          }
        },
        {
          "type": "REPEAT",
          "content": {
            "type": "FIELD",
            "name": "alternative",
            "content": {
              "type": "SYMBOL",
              "name": "elseif_statement"
            }
          }
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "FIELD",
              "name": "alternative",
              "content": {
                "type": "SYMBOL",
                "name": "else_statement"
              }
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "STRING",
          "value": "end"
        }
      ]
    },
    "elseif_statement": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "elseif"
        },
        {
          "type": "FIELD",
          "name": "condition",
          "content": {
            "type": "SYMBOL",
            "name": "expression"
          }
        },
        {
          "type": "STRING",
          "value": "then"
        },
        {
          "type": "FIELD",
          "name": "consequence",
          "content": {
            "type": "ALIAS",
            "content": {
              "type": "CHOICE",
              "members": [
                {
                  "type": "SYMBOL",
                  "name": "_block"
                },
                {
                  "type": "BLANK"
                }
              ]
            },
            "named": true,
            "value": "block"
          }
        }
      ]
    },
    "else_statement": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "else"
        },
        {
          "type": "FIELD",
          "name": "body",
          "content": {
            "type": "ALIAS",
            "content": {
              "type": "CHOICE",
              "members": [
                {
                  "type": "SYMBOL",
                  "name": "_block"
                },
                {
                  "type": "BLANK"
                }
              ]
            },
            "named": true,
            "value": "block"
          }
        }
      ]
    },
    "for_statement": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "for"
        },
        {
          "type": "FIELD",
          "name": "clause",
          "content": {
            "type": "CHOICE",
            "members": [
              {
                "type": "SYMBOL",
                "name": "for_generic_clause"
              },
              {
                "type": "SYMBOL",
                "name": "for_numeric_clause"
              }
            ]
          }
        },
        {
          "type": "STRING",
          "value": "do"
        },
        {
          "type": "FIELD",
          "name": "body",
          "content": {
            "type": "ALIAS",
            "content": {
              "type": "CHOICE",
              "members": [
                {
                  "type": "SYMBOL",
                  "name": "_block"
                },
                {
                  "type": "BLANK"
                }
              ]
            },
            "named": true,
            "value": "block"
          }
        },
        {
          "type": "STRING",
          "value": "end"
        }
      ]
    },
    "for_generic_clause": {
      "type": "SEQ",
      "members": [
        {
          "type": "ALIAS",
          "content": {
            "type": "SYMBOL",
            "name": "_name_list"
          },
          "named": true,
          "value": "variable_list"
        },
        {
          "type": "STRING",
          "value": "in"
        },
        {
          "type": "ALIAS",
          "content": {
            "type": "SYMBOL",
            "name": "_expression_list"
          },
          "named": true,
          "value": "expression_list"
        }
      ]
    },
    "for_numeric_clause": {
      "type": "SEQ",
      "members": [
        {
          "type": "FIELD",
          "name": "name",
          "content": {
            "type": "SYMBOL",
            "name": "identifier"
          }
        },
        {
          "type": "STRING",
          "value": "="
        },
        {
          "type": "FIELD",
          "name": "start",
          "content": {
            "type": "SYMBOL",
            "name": "expression"
          }
        },
        {
          "type": "STRING",
          "value": ","
        },
        {
          "type": "FIELD",
          "name": "end",
          "content": {
            "type": "SYMBOL",
            "name": "expression"
          }
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SEQ",
              "members": [
                {
                  "type": "STRING",
                  "value": ","
                },
                {
                  "type": "FIELD",
                  "name": "step",
                  "content": {
                    "type": "SYMBOL",
                    "name": "expression"
                  }
                }
              ]
            },
            {
              "type": "BLANK"
            }
          ]
        }
      ]
    },
    "declaration": {
      "type": "CHOICE",
      "members": [
        {
          "type": "SYMBOL",
          "name": "function_declaration"
        },
        {
          "type": "FIELD",
          "name": "local_declaration",
          "content": {
            "type": "ALIAS",
            "content": {
              "type": "SYMBOL",
              "name": "_local_function_declaration"
            },
            "named": true,
            "value": "function_declaration"
          }
        },
        {
          "type": "FIELD",
          "name": "local_declaration",
          "content": {
            "type": "SYMBOL",
            "name": "variable_declaration"
          }
        }
      ]
    },
    "function_declaration": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "function"
        },
        {
          "type": "FIELD",
          "name": "name",
          "content": {
            "type": "SYMBOL",
            "name": "_function_name"
          }
        },
        {
          "type": "SYMBOL",
          "name": "_function_body"
        }
      ]
    },
    "_local_function_declaration": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "local"
        },
        {
          "type": "STRING",
          "value": "function"
        },
        {
          "type": "FIELD",
          "name": "name",
          "content": {
            "type": "SYMBOL",
            "name": "identifier"
          }
        },
        {
          "type": "SYMBOL",
          "name": "_function_body"
        }
      ]
    },
    "_function_name": {
      "type": "CHOICE",
      "members": [
        {
          "type": "SYMBOL",
          "name": "_function_name_prefix_expression"
        },
        {
          "type": "ALIAS",
          "content": {
            "type": "SYMBOL",
            "name": "_function_name_method_index_expression"
          },
          "named": true,
          "value": "method_index_expression"
        }
      ]
    },
    "_function_name_prefix_expression": {
      "type": "CHOICE",
      "members": [
        {
          "type": "SYMBOL",
          "name": "identifier"
        },
        {
          "type": "ALIAS",
          "content": {
            "type": "SYMBOL",
            "name": "_function_name_dot_index_expression"
          },
          "named": true,
          "value": "dot_index_expression"
        }
      ]
    },
    "_function_name_dot_index_expression": {
      "type": "SEQ",
      "members": [
        {
          "type": "FIELD",
          "name": "table",
          "content": {
            "type": "SYMBOL",
            "name": "_function_name_prefix_expression"
          }
        },
        {
          "type": "STRING",
          "value": "."
        },
        {
          "type": "FIELD",
          "name": "field",
          "content": {
            "type": "SYMBOL",
            "name": "identifier"
          }
        }
      ]
    },
    "_function_name_method_index_expression": {
      "type": "SEQ",
      "members": [
        {
          "type": "FIELD",
          "name": "table",
          "content": {
            "type": "SYMBOL",
            "name": "_function_name_prefix_expression"
          }
        },
        {
          "type": "STRING",
          "value": ":"
        },
        {
          "type": "FIELD",
          "name": "method",
          "content": {
            "type": "SYMBOL",
            "name": "identifier"
          }
        }
      ]
    },
    "variable_declaration": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "local"
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "ALIAS",
              "content": {
                "type": "SYMBOL",
                "name": "_att_name_list"
              },
              "named": true,
              "value": "variable_list"
            },
            {
              "type": "ALIAS",
              "content": {
                "type": "SYMBOL",
                "name": "_local_variable_assignment"
              },
              "named": true,
              "value": "assignment_statement"
            }
          ]
        }
      ]
    },
    "_local_variable_assignment": {
      "type": "SEQ",
      "members": [
        {
          "type": "ALIAS",
          "content": {
            "type": "SYMBOL",
            "name": "_att_name_list"
          },
          "named": true,
          "value": "variable_list"
        },
        {
          "type": "STRING",
          "value": "="
        },
        {
          "type": "ALIAS",
          "content": {
            "type": "SYMBOL",
            "name": "_variable_assignment_explist"
          },
          "named": true,
          "value": "expression_list"
        }
      ]
    },
    "_name_list": {
      "type": "SEQ",
      "members": [
        {
          "type": "FIELD",
          "name": "name",
          "content": {
            "type": "SYMBOL",
            "name": "identifier"
          }
        },
        {
          "type": "REPEAT",
          "content": {
            "type": "SEQ",
            "members": [
              {
                "type": "STRING",
                "value": ","
              },
              {
                "type": "FIELD",
                "name": "name",
                "content": {
                  "type": "SYMBOL",
                  "name": "identifier"
                }
              }
            ]
          }
        }
      ]
    },
    "_att_name_list": {
      "type": "SEQ",
      "members": [
        {
          "type": "SEQ",
          "members": [
            {
              "type": "FIELD",
              "name": "name",
              "content": {
                "type": "SYMBOL",
                "name": "identifier"
              }
            },
            {
              "type": "CHOICE",
              "members": [
                {
                  "type": "FIELD",
                  "name": "attribute",
                  "content": {
                    "type": "ALIAS",
                    "content": {
                      "type": "SYMBOL",
                      "name": "_attrib"
                    },
                    "named": true,
                    "value": "attribute"
                  }
                },
                {
                  "type": "BLANK"
                }
              ]
            }
          ]
        },
        {
          "type": "REPEAT",
          "content": {
            "type": "SEQ",
            "members": [
              {
                "type": "STRING",
                "value": ","
              },
              {
                "type": "SEQ",
                "members": [
                  {
                    "type": "FIELD",
                    "name": "name",
                    "content": {
                      "type": "SYMBOL",
                      "name": "identifier"
                    }
                  },
                  {
                    "type": "CHOICE",
                    "members": [
                      {
                        "type": "FIELD",
                        "name": "attribute",
                        "content": {
                          "type": "ALIAS",
                          "content": {
                            "type": "SYMBOL",
                            "name": "_attrib"
                          },
                          "named": true,
                          "value": "attribute"
                        }
                      },
                      {
                        "type": "BLANK"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        }
      ]
    },
    "_attrib": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "<"
        },
        {
          "type": "SYMBOL",
          "name": "identifier"
        },
        {
          "type": "STRING",
          "value": ">"
        }
      ]
    },
    "_expression_list": {
      "type": "SEQ",
      "members": [
        {
          "type": "SYMBOL",
          "name": "expression"
        },
        {
          "type": "REPEAT",
          "content": {
            "type": "SEQ",
            "members": [
              {
                "type": "STRING",
                "value": ","
              },
              {
                "type": "SYMBOL",
                "name": "expression"
              }
            ]
          }
        }
      ]
    },
    "expression": {
      "type": "CHOICE",
      "members": [
        {
          "type": "SYMBOL",
          "name": "nil"
        },
        {
          "type": "SYMBOL",
          "name": "false"
        },
        {
          "type": "SYMBOL",
          "name": "true"
        },
        {
          "type": "SYMBOL",
          "name": "number"
        },
        {
          "type": "SYMBOL",
          "name": "string"
        },
        {
          "type": "SYMBOL",
          "name": "vararg_expression"
        },
        {
          "type": "SYMBOL",
          "name": "function_definition"
        },
        {
          "type": "SYMBOL",
          "name": "variable"
        },
        {
          "type": "SYMBOL",
          "name": "function_call"
        },
        {
          "type": "SYMBOL",
          "name": "parenthesized_expression"
        },
        {
          "type": "SYMBOL",
          "name": "table_constructor"
        },
        {
          "type": "SYMBOL",
          "name": "binary_expression"
        },
        {
          "type": "SYMBOL",
          "name": "unary_expression"
        }
      ]
    },
    "nil": {
      "type": "STRING",
      "value": "nil"
    },
    "false": {
      "type": "STRING",
      "value": "false"
    },
    "true": {
      "type": "STRING",
      "value": "true"
    },
    "number": {
      "type": "TOKEN",
      "content": {
        "type": "CHOICE",
        "members": [
          {
            "type": "CHOICE",
            "members": [
              {
                "type": "SEQ",
                "members": [
                  {
                    "type": "PATTERN",
                    "value": "[0-9]+"
                  },
                  {
                    "type": "PATTERN",
                    "value": "U?LL",
                    "flags": "i"
                  }
                ]
              },
              {
                "type": "SEQ",
                "members": [
                  {
                    "type": "CHOICE",
                    "members": [
                      {
                        "type": "SEQ",
                        "members": [
                          {
                            "type": "CHOICE",
                            "members": [
                              {
                                "type": "PATTERN",
                                "value": "[0-9]+"
                              },
                              {
                                "type": "BLANK"
                              }
                            ]
                          },
                          {
                            "type": "CHOICE",
                            "members": [
                              {
                                "type": "STRING",
                                "value": "."
                              },
                              {
                                "type": "BLANK"
                              }
                            ]
                          },
                          {
                            "type": "PATTERN",
                            "value": "[0-9]+"
                          }
                        ]
                      },
                      {
                        "type": "SEQ",
                        "members": [
                          {
                            "type": "PATTERN",
                            "value": "[0-9]+"
                          },
                          {
                            "type": "CHOICE",
                            "members": [
                              {
                                "type": "STRING",
                                "value": "."
                              },
                              {
                                "type": "BLANK"
                              }
                            ]
                          },
                          {
                            "type": "CHOICE",
                            "members": [
                              {
                                "type": "PATTERN",
                                "value": "[0-9]+"
                              },
                              {
                                "type": "BLANK"
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "type": "CHOICE",
                    "members": [
                      {
                        "type": "SEQ",
                        "members": [
                          {
                            "type": "CHOICE",
                            "members": [
                              {
                                "type": "STRING",
                                "value": "e"
                              },
                              {
                                "type": "STRING",
                                "value": "E"
                              }
                            ]
                          },
                          {
                            "type": "SEQ",
                            "members": [
                              {
                                "type": "CHOICE",
                                "members": [
                                  {
                                    "type": "CHOICE",
                                    "members": [
                                      {
                                        "type": "STRING",
                                        "value": "-"
                                      },
                                      {
                                        "type": "STRING",
                                        "value": "+"
                                      }
                                    ]
                                  },
                                  {
                                    "type": "BLANK"
                                  }
                                ]
                              },
                              {
                                "type": "PATTERN",
                                "value": "[0-9]+"
                              }
                            ]
                          }
                        ]
                      },
                      {
                        "type": "BLANK"
                      }
                    ]
                  },
                  {
                    "type": "CHOICE",
                    "members": [
                      {
                        "type": "CHOICE",
                        "members": [
                          {
                            "type": "STRING",
                            "value": "i"
                          },
                          {
                            "type": "STRING",
                            "value": "I"
                          }
                        ]
                      },
                      {
                        "type": "BLANK"
                      }
                    ]
                  }
                ]
              }
            ]
          },
          {
            "type": "SEQ",
            "members": [
              {
                "type": "CHOICE",
                "members": [
                  {
                    "type": "STRING",
                    "value": "0x"
                  },
                  {
                    "type": "STRING",
                    "value": "0X"
                  }
                ]
              },
              {
                "type": "CHOICE",
                "members": [
                  {
                    "type": "SEQ",
                    "members": [
                      {
                        "type": "PATTERN",
                        "value": "[a-fA-F0-9]+"
                      },
                      {
                        "type": "PATTERN",
                        "value": "U?LL",
                        "flags": "i"
                      }
                    ]
                  },
                  {
                    "type": "SEQ",
                    "members": [
                      {
                        "type": "CHOICE",
                        "members": [
                          {
                            "type": "SEQ",
                            "members": [
                              {
                                "type": "CHOICE",
                                "members": [
                                  {
                                    "type": "PATTERN",
                                    "value": "[a-fA-F0-9]+"
                                  },
                                  {
                                    "type": "BLANK"
                                  }
                                ]
                              },
                              {
                                "type": "CHOICE",
                                "members": [
                                  {
                                    "type": "STRING",
                                    "value": "."
                                  },
                                  {
                                    "type": "BLANK"
                                  }
                                ]
                              },
                              {
                                "type": "PATTERN",
                                "value": "[a-fA-F0-9]+"
                              }
                            ]
                          },
                          {
                            "type": "SEQ",
                            "members": [
                              {
                                "type": "PATTERN",
                                "value": "[a-fA-F0-9]+"
                              },
                              {
                                "type": "CHOICE",
                                "members": [
                                  {
                                    "type": "STRING",
                                    "value": "."
                                  },
                                  {
                                    "type": "BLANK"
                                  }
                                ]
                              },
                              {
                                "type": "CHOICE",
                                "members": [
                                  {
                                    "type": "PATTERN",
                                    "value": "[a-fA-F0-9]+"
                                  },
                                  {
                                    "type": "BLANK"
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      },
                      {
                        "type": "CHOICE",
                        "members": [
                          {
                            "type": "SEQ",
                            "members": [
                              {
                                "type": "CHOICE",
                                "members": [
                                  {
                                    "type": "STRING",
                                    "value": "p"
                                  },
                                  {
                                    "type": "STRING",
                                    "value": "P"
                                  }
                                ]
                              },
                              {
                                "type": "SEQ",
                                "members": [
                                  {
                                    "type": "CHOICE",
                                    "members": [
                                      {
                                        "type": "CHOICE",
                                        "members": [
                                          {
                                            "type": "STRING",
                                            "value": "-"
                                          },
                                          {
                                            "type": "STRING",
                                            "value": "+"
                                          }
                                        ]
                                      },
                                      {
                                        "type": "BLANK"
                                      }
                                    ]
                                  },
                                  {
                                    "type": "PATTERN",
                                    "value": "[0-9]+"
                                  }
                                ]
                              }
                            ]
                          },
                          {
                            "type": "BLANK"
                          }
                        ]
                      },
                      {
                        "type": "CHOICE",
                        "members": [
                          {
                            "type": "CHOICE",
                            "members": [
                              {
                                "type": "STRING",
                                "value": "i"
                              },
                              {
                                "type": "STRING",
                                "value": "I"
                              }
                            ]
                          },
                          {
                            "type": "BLANK"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ]
      }
    },
    "string": {
      "type": "CHOICE",
      "members": [
        {
          "type": "SYMBOL",
          "name": "_quote_string"
        },
        {
          "type": "SYMBOL",
          "name": "_block_string"
        }
      ]
    },
    "_quote_string": {
      "type": "CHOICE",
      "members": [
        {
          "type": "SEQ",
          "members": [
            {
              "type": "FIELD",
              "name": "start",
              "content": {
                "type": "ALIAS",
                "content": {
                  "type": "STRING",
                  "value": "\""
                },
                "named": false,
                "value": "\""
              }
            },
            {
              "type": "FIELD",
              "name": "content",
              "content": {
                "type": "CHOICE",
                "members": [
                  {
                    "type": "ALIAS",
                    "content": {
                      "type": "SYMBOL",
                      "name": "_doublequote_string_content"
                    },
                    "named": true,
                    "value": "string_content"
                  },
                  {
                    "type": "BLANK"
                  }
                ]
              }
            },
            {
              "type": "FIELD",
              "name": "end",
              "content": {
                "type": "ALIAS",
                "content": {
                  "type": "STRING",
                  "value": "\""
                },
                "named": false,
                "value": "\""
              }
            }
          ]
        },
        {
          "type": "SEQ",
          "members": [
            {
              "type": "FIELD",
              "name": "start",
              "content": {
                "type": "ALIAS",
                "content": {
                  "type": "STRING",
                  "value": "'"
                },
                "named": false,
                "value": "'"
              }
            },
            {
              "type": "FIELD",
              "name": "content",
              "content": {
                "type": "CHOICE",
                "members": [
                  {
                    "type": "ALIAS",
                    "content": {
                      "type": "SYMBOL",
                      "name": "_singlequote_string_content"
                    },
                    "named": true,
                    "value": "string_content"
                  },
                  {
                    "type": "BLANK"
                  }
                ]
              }
            },
            {
              "type": "FIELD",
              "name": "end",
              "content": {
                "type": "ALIAS",
                "content": {
                  "type": "STRING",
                  "value": "'"
                },
                "named": false,
                "value": "'"
              }
            }
          ]
        }
      ]
    },
    "_doublequote_string_content": {
      "type": "REPEAT1",
      "content": {
        "type": "CHOICE",
        "members": [
          {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "PREC",
              "value": 1,
              "content": {
                "type": "PATTERN",
                "value": "[^\"\\\\]+"
              }
            }
          },
          {
            "type": "SYMBOL",
            "name": "escape_sequence"
          }
        ]
      }
    },
    "_singlequote_string_content": {
      "type": "REPEAT1",
      "content": {
        "type": "CHOICE",
        "members": [
          {
            "type": "IMMEDIATE_TOKEN",
            "content": {
              "type": "PREC",
              "value": 1,
              "content": {
                "type": "PATTERN",
                "value": "[^'\\\\]+"
              }
            }
          },
          {
            "type": "SYMBOL",
            "name": "escape_sequence"
          }
        ]
      }
    },
    "_block_string": {
      "type": "SEQ",
      "members": [
        {
          "type": "FIELD",
          "name": "start",
          "content": {
            "type": "ALIAS",
            "content": {
              "type": "SYMBOL",
              "name": "_block_string_start"
            },
            "named": false,
            "value": "[["
          }
        },
        {
          "type": "FIELD",
          "name": "content",
          "content": {
            "type": "ALIAS",
            "content": {
              "type": "SYMBOL",
              "name": "_block_string_content"
            },
            "named": true,
            "value": "string_content"
          }
        },
        {
          "type": "FIELD",
          "name": "end",
          "content": {
            "type": "ALIAS",
            "content": {
              "type": "SYMBOL",
              "name": "_block_string_end"
            },
            "named": false,
            "value": "]]"
          }
        }
      ]
    },
    "escape_sequence": {
      "type": "IMMEDIATE_TOKEN",
      "content": {
        "type": "SEQ",
        "members": [
          {
            "type": "STRING",
            "value": "\\"
          },
          {
            "type": "CHOICE",
            "members": [
              {
                "type": "PATTERN",
                "value": "[\\nabfnrtv\\\\'\"]"
              },
              {
                "type": "PATTERN",
                "value": "z\\s*"
              },
              {
                "type": "PATTERN",
                "value": "[0-9]{1,3}"
              },
              {
                "type": "PATTERN",
                "value": "x[0-9a-fA-F]{2}"
              },
              {
                "type": "PATTERN",
                "value": "u\\{[0-9a-fA-F]+\\}"
              }
            ]
          }
        ]
      }
    },
    "vararg_expression": {
      "type": "STRING",
      "value": "..."
    },
    "function_definition": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "function"
        },
        {
          "type": "SYMBOL",
          "name": "_function_body"
        }
      ]
    },
    "_function_body": {
      "type": "SEQ",
      "members": [
        {
          "type": "FIELD",
          "name": "parameters",
          "content": {
            "type": "SYMBOL",
            "name": "parameters"
          }
        },
        {
          "type": "FIELD",
          "name": "body",
          "content": {
            "type": "ALIAS",
            "content": {
              "type": "CHOICE",
              "members": [
                {
                  "type": "SYMBOL",
                  "name": "_block"
                },
                {
                  "type": "BLANK"
                }
              ]
            },
            "named": true,
            "value": "block"
          }
        },
        {
          "type": "STRING",
          "value": "end"
        }
      ]
    },
    "parameters": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "("
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "_parameter_list"
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "STRING",
          "value": ")"
        }
      ]
    },
    "_parameter_list": {
      "type": "CHOICE",
      "members": [
        {
          "type": "SEQ",
          "members": [
            {
              "type": "SEQ",
              "members": [
                {
                  "type": "FIELD",
                  "name": "name",
                  "content": {
                    "type": "SYMBOL",
                    "name": "identifier"
                  }
                },
                {
                  "type": "REPEAT",
                  "content": {
                    "type": "SEQ",
                    "members": [
                      {
                        "type": "STRING",
                        "value": ","
                      },
                      {
                        "type": "FIELD",
                        "name": "name",
                        "content": {
                          "type": "SYMBOL",
                          "name": "identifier"
                        }
                      }
                    ]
                  }
                }
              ]
            },
            {
              "type": "CHOICE",
              "members": [
                {
                  "type": "SEQ",
                  "members": [
                    {
                      "type": "STRING",
                      "value": ","
                    },
                    {
                      "type": "SYMBOL",
                      "name": "vararg_expression"
                    }
                  ]
                },
                {
                  "type": "BLANK"
                }
              ]
            }
          ]
        },
        {
          "type": "SYMBOL",
          "name": "vararg_expression"
        }
      ]
    },
    "_prefix_expression": {
      "type": "PREC",
      "value": 1,
      "content": {
        "type": "CHOICE",
        "members": [
          {
            "type": "SYMBOL",
            "name": "variable"
          },
          {
            "type": "SYMBOL",
            "name": "function_call"
          },
          {
            "type": "SYMBOL",
            "name": "parenthesized_expression"
          }
        ]
      }
    },
    "variable": {
      "type": "CHOICE",
      "members": [
        {
          "type": "SYMBOL",
          "name": "identifier"
        },
        {
          "type": "SYMBOL",
          "name": "bracket_index_expression"
        },
        {
          "type": "SYMBOL",
          "name": "dot_index_expression"
        }
      ]
    },
    "bracket_index_expression": {
      "type": "SEQ",
      "members": [
        {
          "type": "FIELD",
          "name": "table",
          "content": {
            "type": "SYMBOL",
            "name": "_prefix_expression"
          }
        },
        {
          "type": "STRING",
          "value": "["
        },
        {
          "type": "FIELD",
          "name": "field",
          "content": {
            "type": "SYMBOL",
            "name": "expression"
          }
        },
        {
          "type": "STRING",
          "value": "]"
        }
      ]
    },
    "dot_index_expression": {
      "type": "SEQ",
      "members": [
        {
          "type": "FIELD",
          "name": "table",
          "content": {
            "type": "SYMBOL",
            "name": "_prefix_expression"
          }
        },
        {
          "type": "STRING",
          "value": "."
        },
        {
          "type": "FIELD",
          "name": "field",
          "content": {
            "type": "SYMBOL",
            "name": "identifier"
          }
        }
      ]
    },
    "function_call": {
      "type": "SEQ",
      "members": [
        {
          "type": "FIELD",
          "name": "name",
          "content": {
            "type": "CHOICE",
            "members": [
              {
                "type": "SYMBOL",
                "name": "_prefix_expression"
              },
              {
                "type": "SYMBOL",
                "name": "method_index_expression"
              }
            ]
          }
        },
        {
          "type": "FIELD",
          "name": "arguments",
          "content": {
            "type": "SYMBOL",
            "name": "arguments"
          }
        }
      ]
    },
    "method_index_expression": {
      "type": "SEQ",
      "members": [
        {
          "type": "FIELD",
          "name": "table",
          "content": {
            "type": "SYMBOL",
            "name": "_prefix_expression"
          }
        },
        {
          "type": "STRING",
          "value": ":"
        },
        {
          "type": "FIELD",
          "name": "method",
          "content": {
            "type": "SYMBOL",
            "name": "identifier"
          }
        }
      ]
    },
    "arguments": {
      "type": "CHOICE",
      "members": [
        {
          "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": "STRING",
              "value": ")"
            }
          ]
        },
        {
          "type": "SYMBOL",
          "name": "table_constructor"
        },
        {
          "type": "SYMBOL",
          "name": "string"
        }
      ]
    },
    "parenthesized_expression": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "("
        },
        {
          "type": "SYMBOL",
          "name": "expression"
        },
        {
          "type": "STRING",
          "value": ")"
        }
      ]
    },
    "table_constructor": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "{"
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "_field_list"
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "STRING",
          "value": "}"
        }
      ]
    },
    "_field_list": {
      "type": "SEQ",
      "members": [
        {
          "type": "SYMBOL",
          "name": "field"
        },
        {
          "type": "REPEAT",
          "content": {
            "type": "SEQ",
            "members": [
              {
                "type": "SYMBOL",
                "name": "_field_sep"
              },
              {
                "type": "SYMBOL",
                "name": "field"
              }
            ]
          }
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "_field_sep"
            },
            {
              "type": "BLANK"
            }
          ]
        }
      ]
    },
    "_field_sep": {
      "type": "CHOICE",
      "members": [
        {
          "type": "STRING",
          "value": ","
        },
        {
          "type": "STRING",
          "value": ";"
        }
      ]
    },
    "field": {
      "type": "CHOICE",
      "members": [
        {
          "type": "SEQ",
          "members": [
            {
              "type": "STRING",
              "value": "["
            },
            {
              "type": "FIELD",
              "name": "name",
              "content": {
                "type": "SYMBOL",
                "name": "expression"
              }
            },
            {
              "type": "STRING",
              "value": "]"
            },
            {
              "type": "STRING",
              "value": "="
            },
            {
              "type": "FIELD",
              "name": "value",
              "content": {
                "type": "SYMBOL",
                "name": "expression"
              }
            }
          ]
        },
        {
          "type": "SEQ",
          "members": [
            {
              "type": "FIELD",
              "name": "name",
              "content": {
                "type": "SYMBOL",
                "name": "identifier"
              }
            },
            {
              "type": "STRING",
              "value": "="
            },
            {
              "type": "FIELD",
              "name": "value",
              "content": {
                "type": "SYMBOL",
                "name": "expression"
              }
            }
          ]
        },
        {
          "type": "FIELD",
          "name": "value",
          "content": {
            "type": "SYMBOL",
            "name": "expression"
          }
        }
      ]
    },
    "binary_expression": {
      "type": "CHOICE",
      "members": [
        {
          "type": "PREC_LEFT",
          "value": 1,
          "content": {
            "type": "SEQ",
            "members": [
              {
                "type": "FIELD",
                "name": "left",
                "content": {
                  "type": "SYMBOL",
                  "name": "expression"
                }
              },
              {
                "type": "STRING",
                "value": "or"
              },
              {
                "type": "FIELD",
                "name": "right",
                "content": {
                  "type": "SYMBOL",
                  "name": "expression"
                }
              }
            ]
          }
        },
        {
          "type": "PREC_LEFT",
          "value": 2,
          "content": {
            "type": "SEQ",
            "members": [
              {
                "type": "FIELD",
                "name": "left",
                "content": {
                  "type": "SYMBOL",
                  "name": "expression"
                }
              },
              {
                "type": "STRING",
                "value": "and"
              },
              {
                "type": "FIELD",
                "name": "right",
                "content": {
                  "type": "SYMBOL",
                  "name": "expression"
                }
              }
            ]
          }
        },
        {
          "type": "PREC_LEFT",
          "value": 3,
          "content": {
            "type": "SEQ",
            "members": [
              {
                "type": "FIELD",
                "name": "left",
                "content": {
                  "type": "SYMBOL",
                  "name": "expression"
                }
              },
              {
                "type": "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": 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": 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": 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": 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": 4,
          "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": 7,
          "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": 7,
          "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": 9,
          "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": 9,
          "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": 10,
          "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": 10,
          "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": 10,
          "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": 10,
          "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_RIGHT",
          "value": 8,
          "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_RIGHT",
          "value": 12,
          "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"
                }
              }
            ]
          }
        }
      ]
    },
    "unary_expression": {
      "type": "PREC_LEFT",
      "value": 11,
      "content": {
        "type": "SEQ",
        "members": [
          {
            "type": "CHOICE",
            "members": [
              {
                "type": "STRING",
                "value": "not"
              },
              {
                "type": "STRING",
                "value": "#"
              },
              {
                "type": "STRING",
                "value": "-"
              },
              {
                "type": "STRING",
                "value": "~"
              }
            ]
          },
          {
            "type": "FIELD",
            "name": "operand",
            "content": {
              "type": "SYMBOL",
              "name": "expression"
            }
          }
        ]
      }
    },
    "identifier": {
      "type": "TOKEN",
      "content": {
        "type": "SEQ",
        "members": [
          {
            "type": "PATTERN",
            "value": "[^\\p{Control}\\s+\\-*/%^#&~|<>=(){}\\[\\];:,.\\\\'\"\\d]"
          },
          {
            "type": "PATTERN",
            "value": "[^\\p{Control}\\s+\\-*/%^#&~|<>=(){}\\[\\];:,.\\\\'\"]*"
          }
        ]
      }
    },
    "comment": {
      "type": "CHOICE",
      "members": [
        {
          "type": "SEQ",
          "members": [
            {
              "type": "FIELD",
              "name": "start",
              "content": {
                "type": "STRING",
                "value": "--"
              }
            },
            {
              "type": "FIELD",
              "name": "content",
              "content": {
                "type": "ALIAS",
                "content": {
                  "type": "PATTERN",
                  "value": "[^\\r\\n]*"
                },
                "named": true,
                "value": "comment_content"
              }
            }
          ]
        },
        {
          "type": "SEQ",
          "members": [
            {
              "type": "FIELD",
              "name": "start",
              "content": {
                "type": "ALIAS",
                "content": {
                  "type": "SYMBOL",
                  "name": "_block_comment_start"
                },
                "named": false,
                "value": "[["
              }
            },
            {
              "type": "FIELD",
              "name": "content",
              "content": {
                "type": "ALIAS",
                "content": {
                  "type": "SYMBOL",
                  "name": "_block_comment_content"
                },
                "named": true,
                "value": "comment_content"
              }
            },
            {
              "type": "FIELD",
              "name": "end",
              "content": {
                "type": "ALIAS",
                "content": {
                  "type": "SYMBOL",
                  "name": "_block_comment_end"
                },
                "named": false,
                "value": "]]"
              }
            }
          ]
        }
      ]
    }
  },
  "extras": [
    {
      "type": "SYMBOL",
      "name": "comment"
    },
    {
      "type": "PATTERN",
      "value": "\\s"
    }
  ],
  "conflicts": [],
  "precedences": [],
  "externals": [
    {
      "type": "SYMBOL",
      "name": "_block_comment_start"
    },
    {
      "type": "SYMBOL",
      "name": "_block_comment_content"
    },
    {
      "type": "SYMBOL",
      "name": "_block_comment_end"
    },
    {
      "type": "SYMBOL",
      "name": "_block_string_start"
    },
    {
      "type": "SYMBOL",
      "name": "_block_string_content"
    },
    {
      "type": "SYMBOL",
      "name": "_block_string_end"
    }
  ],
  "inline": [],
  "supertypes": [
    "statement",
    "expression",
    "declaration",
    "variable"
  ]
}