summaryrefslogtreecommitdiffstats
path: root/docs/sqlglot/tokens.html
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--docs/sqlglot/tokens.html9482
1 files changed, 2009 insertions, 7473 deletions
diff --git a/docs/sqlglot/tokens.html b/docs/sqlglot/tokens.html
index d8973d5..6ec6804 100644
--- a/docs/sqlglot/tokens.html
+++ b/docs/sqlglot/tokens.html
@@ -3,7 +3,7 @@
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
- <meta name="generator" content="pdoc 14.1.0"/>
+ <meta name="generator" content="pdoc 14.2.0"/>
<title>sqlglot.tokens API documentation</title>
<style>/*! * Bootstrap Reboot v5.0.0 (https://getbootstrap.com/) * Copyright 2011-2021 The Bootstrap Authors * Copyright 2011-2021 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) */*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){h1{font-size:2.5rem}}h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){h2{font-size:2rem}}h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){h3{font-size:1.75rem}}h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){h4{font-size:1.5rem}}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:.875em}mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}</style>
@@ -31,990 +31,6 @@
<h2>API Documentation</h2>
<ul class="memberlist">
<li>
- <a class="class" href="#TokenType">TokenType</a>
- <ul class="memberlist">
- <li>
- <a class="variable" href="#TokenType.L_PAREN">L_PAREN</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.R_PAREN">R_PAREN</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.L_BRACKET">L_BRACKET</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.R_BRACKET">R_BRACKET</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.L_BRACE">L_BRACE</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.R_BRACE">R_BRACE</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.COMMA">COMMA</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.DOT">DOT</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.DASH">DASH</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.PLUS">PLUS</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.COLON">COLON</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.DCOLON">DCOLON</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.DQMARK">DQMARK</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.SEMICOLON">SEMICOLON</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.STAR">STAR</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.BACKSLASH">BACKSLASH</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.SLASH">SLASH</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.LT">LT</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.LTE">LTE</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.GT">GT</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.GTE">GTE</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.NOT">NOT</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.EQ">EQ</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.NEQ">NEQ</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.NULLSAFE_EQ">NULLSAFE_EQ</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.COLON_EQ">COLON_EQ</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.AND">AND</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.OR">OR</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.AMP">AMP</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.DPIPE">DPIPE</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.PIPE">PIPE</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.CARET">CARET</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.TILDA">TILDA</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.ARROW">ARROW</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.DARROW">DARROW</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.FARROW">FARROW</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.HASH">HASH</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.HASH_ARROW">HASH_ARROW</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.DHASH_ARROW">DHASH_ARROW</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.LR_ARROW">LR_ARROW</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.DAT">DAT</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.LT_AT">LT_AT</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.AT_GT">AT_GT</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.DOLLAR">DOLLAR</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.PARAMETER">PARAMETER</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.SESSION_PARAMETER">SESSION_PARAMETER</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.DAMP">DAMP</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.XOR">XOR</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.DSTAR">DSTAR</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.BLOCK_START">BLOCK_START</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.BLOCK_END">BLOCK_END</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.SPACE">SPACE</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.BREAK">BREAK</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.STRING">STRING</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.NUMBER">NUMBER</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.IDENTIFIER">IDENTIFIER</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.DATABASE">DATABASE</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.COLUMN">COLUMN</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.COLUMN_DEF">COLUMN_DEF</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.SCHEMA">SCHEMA</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.TABLE">TABLE</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.VAR">VAR</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.BIT_STRING">BIT_STRING</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.HEX_STRING">HEX_STRING</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.BYTE_STRING">BYTE_STRING</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.NATIONAL_STRING">NATIONAL_STRING</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.RAW_STRING">RAW_STRING</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.HEREDOC_STRING">HEREDOC_STRING</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.BIT">BIT</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.BOOLEAN">BOOLEAN</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.TINYINT">TINYINT</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.UTINYINT">UTINYINT</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.SMALLINT">SMALLINT</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.USMALLINT">USMALLINT</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.MEDIUMINT">MEDIUMINT</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.UMEDIUMINT">UMEDIUMINT</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.INT">INT</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.UINT">UINT</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.BIGINT">BIGINT</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.UBIGINT">UBIGINT</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.INT128">INT128</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.UINT128">UINT128</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.INT256">INT256</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.UINT256">UINT256</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.FLOAT">FLOAT</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.DOUBLE">DOUBLE</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.DECIMAL">DECIMAL</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.UDECIMAL">UDECIMAL</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.BIGDECIMAL">BIGDECIMAL</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.CHAR">CHAR</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.NCHAR">NCHAR</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.VARCHAR">VARCHAR</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.NVARCHAR">NVARCHAR</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.TEXT">TEXT</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.MEDIUMTEXT">MEDIUMTEXT</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.LONGTEXT">LONGTEXT</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.MEDIUMBLOB">MEDIUMBLOB</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.LONGBLOB">LONGBLOB</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.TINYBLOB">TINYBLOB</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.TINYTEXT">TINYTEXT</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.BINARY">BINARY</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.VARBINARY">VARBINARY</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.JSON">JSON</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.JSONB">JSONB</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.TIME">TIME</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.TIMETZ">TIMETZ</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.TIMESTAMP">TIMESTAMP</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.TIMESTAMPTZ">TIMESTAMPTZ</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.TIMESTAMPLTZ">TIMESTAMPLTZ</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.TIMESTAMP_S">TIMESTAMP_S</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.TIMESTAMP_MS">TIMESTAMP_MS</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.TIMESTAMP_NS">TIMESTAMP_NS</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.DATETIME">DATETIME</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.DATETIME64">DATETIME64</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.DATE">DATE</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.INT4RANGE">INT4RANGE</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.INT4MULTIRANGE">INT4MULTIRANGE</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.INT8RANGE">INT8RANGE</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.INT8MULTIRANGE">INT8MULTIRANGE</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.NUMRANGE">NUMRANGE</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.NUMMULTIRANGE">NUMMULTIRANGE</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.TSRANGE">TSRANGE</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.TSMULTIRANGE">TSMULTIRANGE</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.TSTZRANGE">TSTZRANGE</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.TSTZMULTIRANGE">TSTZMULTIRANGE</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.DATERANGE">DATERANGE</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.DATEMULTIRANGE">DATEMULTIRANGE</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.UUID">UUID</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.GEOGRAPHY">GEOGRAPHY</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.NULLABLE">NULLABLE</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.GEOMETRY">GEOMETRY</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.HLLSKETCH">HLLSKETCH</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.HSTORE">HSTORE</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.SUPER">SUPER</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.SERIAL">SERIAL</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.SMALLSERIAL">SMALLSERIAL</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.BIGSERIAL">BIGSERIAL</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.XML">XML</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.YEAR">YEAR</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.UNIQUEIDENTIFIER">UNIQUEIDENTIFIER</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.USERDEFINED">USERDEFINED</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.MONEY">MONEY</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.SMALLMONEY">SMALLMONEY</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.ROWVERSION">ROWVERSION</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.IMAGE">IMAGE</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.VARIANT">VARIANT</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.OBJECT">OBJECT</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.INET">INET</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.IPADDRESS">IPADDRESS</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.IPPREFIX">IPPREFIX</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.ENUM">ENUM</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.ENUM8">ENUM8</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.ENUM16">ENUM16</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.FIXEDSTRING">FIXEDSTRING</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.LOWCARDINALITY">LOWCARDINALITY</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.NESTED">NESTED</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.UNKNOWN">UNKNOWN</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.ALIAS">ALIAS</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.ALTER">ALTER</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.ALWAYS">ALWAYS</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.ALL">ALL</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.ANTI">ANTI</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.ANY">ANY</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.APPLY">APPLY</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.ARRAY">ARRAY</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.ASC">ASC</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.ASOF">ASOF</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.AUTO_INCREMENT">AUTO_INCREMENT</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.BEGIN">BEGIN</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.BETWEEN">BETWEEN</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.CACHE">CACHE</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.CASE">CASE</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.CHARACTER_SET">CHARACTER_SET</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.CLUSTER_BY">CLUSTER_BY</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.COLLATE">COLLATE</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.COMMAND">COMMAND</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.COMMENT">COMMENT</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.COMMIT">COMMIT</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.CONNECT_BY">CONNECT_BY</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.CONSTRAINT">CONSTRAINT</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.CREATE">CREATE</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.CROSS">CROSS</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.CUBE">CUBE</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.CURRENT_DATE">CURRENT_DATE</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.CURRENT_DATETIME">CURRENT_DATETIME</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.CURRENT_TIME">CURRENT_TIME</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.CURRENT_TIMESTAMP">CURRENT_TIMESTAMP</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.CURRENT_USER">CURRENT_USER</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.DEFAULT">DEFAULT</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.DELETE">DELETE</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.DESC">DESC</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.DESCRIBE">DESCRIBE</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.DICTIONARY">DICTIONARY</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.DISTINCT">DISTINCT</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.DISTRIBUTE_BY">DISTRIBUTE_BY</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.DIV">DIV</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.DROP">DROP</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.ELSE">ELSE</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.END">END</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.ESCAPE">ESCAPE</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.EXCEPT">EXCEPT</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.EXECUTE">EXECUTE</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.EXISTS">EXISTS</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.FALSE">FALSE</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.FETCH">FETCH</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.FILTER">FILTER</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.FINAL">FINAL</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.FIRST">FIRST</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.FOR">FOR</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.FORCE">FORCE</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.FOREIGN_KEY">FOREIGN_KEY</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.FORMAT">FORMAT</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.FROM">FROM</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.FULL">FULL</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.FUNCTION">FUNCTION</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.GLOB">GLOB</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.GLOBAL">GLOBAL</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.GROUP_BY">GROUP_BY</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.GROUPING_SETS">GROUPING_SETS</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.HAVING">HAVING</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.HINT">HINT</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.IGNORE">IGNORE</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.ILIKE">ILIKE</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.ILIKE_ANY">ILIKE_ANY</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.IN">IN</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.INDEX">INDEX</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.INNER">INNER</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.INSERT">INSERT</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.INTERSECT">INTERSECT</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.INTERVAL">INTERVAL</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.INTO">INTO</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.INTRODUCER">INTRODUCER</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.IRLIKE">IRLIKE</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.IS">IS</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.ISNULL">ISNULL</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.JOIN">JOIN</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.JOIN_MARKER">JOIN_MARKER</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.KEEP">KEEP</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.KILL">KILL</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.LANGUAGE">LANGUAGE</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.LATERAL">LATERAL</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.LEFT">LEFT</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.LIKE">LIKE</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.LIKE_ANY">LIKE_ANY</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.LIMIT">LIMIT</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.LOAD">LOAD</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.LOCK">LOCK</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.MAP">MAP</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.MATCH_RECOGNIZE">MATCH_RECOGNIZE</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.MEMBER_OF">MEMBER_OF</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.MERGE">MERGE</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.MOD">MOD</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.MODEL">MODEL</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.NATURAL">NATURAL</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.NEXT">NEXT</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.NOTNULL">NOTNULL</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.NULL">NULL</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.OBJECT_IDENTIFIER">OBJECT_IDENTIFIER</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.OFFSET">OFFSET</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.ON">ON</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.OPERATOR">OPERATOR</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.ORDER_BY">ORDER_BY</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.ORDERED">ORDERED</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.ORDINALITY">ORDINALITY</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.OUTER">OUTER</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.OVER">OVER</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.OVERLAPS">OVERLAPS</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.OVERWRITE">OVERWRITE</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.PARTITION">PARTITION</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.PARTITION_BY">PARTITION_BY</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.PERCENT">PERCENT</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.PIVOT">PIVOT</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.PLACEHOLDER">PLACEHOLDER</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.PRAGMA">PRAGMA</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.PRIMARY_KEY">PRIMARY_KEY</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.PROCEDURE">PROCEDURE</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.PROPERTIES">PROPERTIES</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.PSEUDO_TYPE">PSEUDO_TYPE</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.QUALIFY">QUALIFY</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.QUOTE">QUOTE</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.RANGE">RANGE</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.RECURSIVE">RECURSIVE</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.REFRESH">REFRESH</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.REPLACE">REPLACE</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.RETURNING">RETURNING</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.REFERENCES">REFERENCES</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.RIGHT">RIGHT</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.RLIKE">RLIKE</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.ROLLBACK">ROLLBACK</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.ROLLUP">ROLLUP</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.ROW">ROW</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.ROWS">ROWS</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.SELECT">SELECT</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.SEMI">SEMI</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.SEPARATOR">SEPARATOR</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.SERDE_PROPERTIES">SERDE_PROPERTIES</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.SET">SET</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.SETTINGS">SETTINGS</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.SHOW">SHOW</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.SIMILAR_TO">SIMILAR_TO</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.SOME">SOME</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.SORT_BY">SORT_BY</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.START_WITH">START_WITH</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.STRUCT">STRUCT</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.TABLE_SAMPLE">TABLE_SAMPLE</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.TEMPORARY">TEMPORARY</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.TOP">TOP</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.THEN">THEN</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.TRUE">TRUE</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.UNCACHE">UNCACHE</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.UNION">UNION</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.UNNEST">UNNEST</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.UNPIVOT">UNPIVOT</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.UPDATE">UPDATE</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.USE">USE</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.USING">USING</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.VALUES">VALUES</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.VIEW">VIEW</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.VOLATILE">VOLATILE</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.WHEN">WHEN</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.WHERE">WHERE</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.WINDOW">WINDOW</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.WITH">WITH</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.UNIQUE">UNIQUE</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.VERSION_SNAPSHOT">VERSION_SNAPSHOT</a>
- </li>
- <li>
- <a class="variable" href="#TokenType.TIMESTAMP_SNAPSHOT">TIMESTAMP_SNAPSHOT</a>
- </li>
- </ul>
-
- </li>
- <li>
<a class="class" href="#Token">Token</a>
<ul class="memberlist">
<li>
@@ -1111,9 +127,6 @@
<a class="variable" href="#Tokenizer.NUMERIC_LITERALS">NUMERIC_LITERALS</a>
</li>
<li>
- <a class="variable" href="#Tokenizer.ENCODE">ENCODE</a>
- </li>
- <li>
<a class="variable" href="#Tokenizer.COMMENTS">COMMENTS</a>
</li>
<li>
@@ -1129,6 +142,9 @@
<a class="function" href="#Tokenizer.peek">peek</a>
</li>
<li>
+ <a class="function" href="#Tokenizer.tokenize_rs">tokenize_rs</a>
+ </li>
+ <li>
<a class="variable" href="#Tokenizer.size">size</a>
</li>
<li>
@@ -1163,5541 +179,997 @@
<label class="view-source-button" for="mod-tokens-view-source"><span>View Source</span></label>
- <div class="pdoc-code codehilite"><pre><span></span><span id="L-1"><a href="#L-1"><span class="linenos"> 1</span></a><span class="kn">from</span> <span class="nn">__future__</span> <span class="kn">import</span> <span class="n">annotations</span>
-</span><span id="L-2"><a href="#L-2"><span class="linenos"> 2</span></a>
-</span><span id="L-3"><a href="#L-3"><span class="linenos"> 3</span></a><span class="kn">import</span> <span class="nn">typing</span> <span class="k">as</span> <span class="nn">t</span>
-</span><span id="L-4"><a href="#L-4"><span class="linenos"> 4</span></a><span class="kn">from</span> <span class="nn">enum</span> <span class="kn">import</span> <span class="n">auto</span>
-</span><span id="L-5"><a href="#L-5"><span class="linenos"> 5</span></a>
-</span><span id="L-6"><a href="#L-6"><span class="linenos"> 6</span></a><span class="kn">from</span> <span class="nn">sqlglot.errors</span> <span class="kn">import</span> <span class="n">TokenError</span>
-</span><span id="L-7"><a href="#L-7"><span class="linenos"> 7</span></a><span class="kn">from</span> <span class="nn">sqlglot.helper</span> <span class="kn">import</span> <span class="n">AutoName</span>
-</span><span id="L-8"><a href="#L-8"><span class="linenos"> 8</span></a><span class="kn">from</span> <span class="nn">sqlglot.trie</span> <span class="kn">import</span> <span class="n">TrieResult</span><span class="p">,</span> <span class="n">in_trie</span><span class="p">,</span> <span class="n">new_trie</span>
-</span><span id="L-9"><a href="#L-9"><span class="linenos"> 9</span></a>
-</span><span id="L-10"><a href="#L-10"><span class="linenos"> 10</span></a><span class="k">if</span> <span class="n">t</span><span class="o">.</span><span class="n">TYPE_CHECKING</span><span class="p">:</span>
-</span><span id="L-11"><a href="#L-11"><span class="linenos"> 11</span></a> <span class="kn">from</span> <span class="nn">sqlglot.dialects.dialect</span> <span class="kn">import</span> <span class="n">DialectType</span>
-</span><span id="L-12"><a href="#L-12"><span class="linenos"> 12</span></a>
-</span><span id="L-13"><a href="#L-13"><span class="linenos"> 13</span></a>
-</span><span id="L-14"><a href="#L-14"><span class="linenos"> 14</span></a><span class="k">class</span> <span class="nc">TokenType</span><span class="p">(</span><span class="n">AutoName</span><span class="p">):</span>
-</span><span id="L-15"><a href="#L-15"><span class="linenos"> 15</span></a> <span class="n">L_PAREN</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-16"><a href="#L-16"><span class="linenos"> 16</span></a> <span class="n">R_PAREN</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-17"><a href="#L-17"><span class="linenos"> 17</span></a> <span class="n">L_BRACKET</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-18"><a href="#L-18"><span class="linenos"> 18</span></a> <span class="n">R_BRACKET</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-19"><a href="#L-19"><span class="linenos"> 19</span></a> <span class="n">L_BRACE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-20"><a href="#L-20"><span class="linenos"> 20</span></a> <span class="n">R_BRACE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-21"><a href="#L-21"><span class="linenos"> 21</span></a> <span class="n">COMMA</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-22"><a href="#L-22"><span class="linenos"> 22</span></a> <span class="n">DOT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-23"><a href="#L-23"><span class="linenos"> 23</span></a> <span class="n">DASH</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-24"><a href="#L-24"><span class="linenos"> 24</span></a> <span class="n">PLUS</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-25"><a href="#L-25"><span class="linenos"> 25</span></a> <span class="n">COLON</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-26"><a href="#L-26"><span class="linenos"> 26</span></a> <span class="n">DCOLON</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-27"><a href="#L-27"><span class="linenos"> 27</span></a> <span class="n">DQMARK</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-28"><a href="#L-28"><span class="linenos"> 28</span></a> <span class="n">SEMICOLON</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-29"><a href="#L-29"><span class="linenos"> 29</span></a> <span class="n">STAR</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-30"><a href="#L-30"><span class="linenos"> 30</span></a> <span class="n">BACKSLASH</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-31"><a href="#L-31"><span class="linenos"> 31</span></a> <span class="n">SLASH</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-32"><a href="#L-32"><span class="linenos"> 32</span></a> <span class="n">LT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-33"><a href="#L-33"><span class="linenos"> 33</span></a> <span class="n">LTE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-34"><a href="#L-34"><span class="linenos"> 34</span></a> <span class="n">GT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-35"><a href="#L-35"><span class="linenos"> 35</span></a> <span class="n">GTE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-36"><a href="#L-36"><span class="linenos"> 36</span></a> <span class="n">NOT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-37"><a href="#L-37"><span class="linenos"> 37</span></a> <span class="n">EQ</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-38"><a href="#L-38"><span class="linenos"> 38</span></a> <span class="n">NEQ</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-39"><a href="#L-39"><span class="linenos"> 39</span></a> <span class="n">NULLSAFE_EQ</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-40"><a href="#L-40"><span class="linenos"> 40</span></a> <span class="n">COLON_EQ</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-41"><a href="#L-41"><span class="linenos"> 41</span></a> <span class="n">AND</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-42"><a href="#L-42"><span class="linenos"> 42</span></a> <span class="n">OR</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-43"><a href="#L-43"><span class="linenos"> 43</span></a> <span class="n">AMP</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-44"><a href="#L-44"><span class="linenos"> 44</span></a> <span class="n">DPIPE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-45"><a href="#L-45"><span class="linenos"> 45</span></a> <span class="n">PIPE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-46"><a href="#L-46"><span class="linenos"> 46</span></a> <span class="n">CARET</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-47"><a href="#L-47"><span class="linenos"> 47</span></a> <span class="n">TILDA</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-48"><a href="#L-48"><span class="linenos"> 48</span></a> <span class="n">ARROW</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-49"><a href="#L-49"><span class="linenos"> 49</span></a> <span class="n">DARROW</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-50"><a href="#L-50"><span class="linenos"> 50</span></a> <span class="n">FARROW</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-51"><a href="#L-51"><span class="linenos"> 51</span></a> <span class="n">HASH</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-52"><a href="#L-52"><span class="linenos"> 52</span></a> <span class="n">HASH_ARROW</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-53"><a href="#L-53"><span class="linenos"> 53</span></a> <span class="n">DHASH_ARROW</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-54"><a href="#L-54"><span class="linenos"> 54</span></a> <span class="n">LR_ARROW</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-55"><a href="#L-55"><span class="linenos"> 55</span></a> <span class="n">DAT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-56"><a href="#L-56"><span class="linenos"> 56</span></a> <span class="n">LT_AT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-57"><a href="#L-57"><span class="linenos"> 57</span></a> <span class="n">AT_GT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-58"><a href="#L-58"><span class="linenos"> 58</span></a> <span class="n">DOLLAR</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-59"><a href="#L-59"><span class="linenos"> 59</span></a> <span class="n">PARAMETER</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-60"><a href="#L-60"><span class="linenos"> 60</span></a> <span class="n">SESSION_PARAMETER</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-61"><a href="#L-61"><span class="linenos"> 61</span></a> <span class="n">DAMP</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-62"><a href="#L-62"><span class="linenos"> 62</span></a> <span class="n">XOR</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-63"><a href="#L-63"><span class="linenos"> 63</span></a> <span class="n">DSTAR</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-64"><a href="#L-64"><span class="linenos"> 64</span></a>
-</span><span id="L-65"><a href="#L-65"><span class="linenos"> 65</span></a> <span class="n">BLOCK_START</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-66"><a href="#L-66"><span class="linenos"> 66</span></a> <span class="n">BLOCK_END</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-67"><a href="#L-67"><span class="linenos"> 67</span></a>
-</span><span id="L-68"><a href="#L-68"><span class="linenos"> 68</span></a> <span class="n">SPACE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-69"><a href="#L-69"><span class="linenos"> 69</span></a> <span class="n">BREAK</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-70"><a href="#L-70"><span class="linenos"> 70</span></a>
-</span><span id="L-71"><a href="#L-71"><span class="linenos"> 71</span></a> <span class="n">STRING</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-72"><a href="#L-72"><span class="linenos"> 72</span></a> <span class="n">NUMBER</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-73"><a href="#L-73"><span class="linenos"> 73</span></a> <span class="n">IDENTIFIER</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-74"><a href="#L-74"><span class="linenos"> 74</span></a> <span class="n">DATABASE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-75"><a href="#L-75"><span class="linenos"> 75</span></a> <span class="n">COLUMN</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-76"><a href="#L-76"><span class="linenos"> 76</span></a> <span class="n">COLUMN_DEF</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-77"><a href="#L-77"><span class="linenos"> 77</span></a> <span class="n">SCHEMA</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-78"><a href="#L-78"><span class="linenos"> 78</span></a> <span class="n">TABLE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-79"><a href="#L-79"><span class="linenos"> 79</span></a> <span class="n">VAR</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-80"><a href="#L-80"><span class="linenos"> 80</span></a> <span class="n">BIT_STRING</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-81"><a href="#L-81"><span class="linenos"> 81</span></a> <span class="n">HEX_STRING</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-82"><a href="#L-82"><span class="linenos"> 82</span></a> <span class="n">BYTE_STRING</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-83"><a href="#L-83"><span class="linenos"> 83</span></a> <span class="n">NATIONAL_STRING</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-84"><a href="#L-84"><span class="linenos"> 84</span></a> <span class="n">RAW_STRING</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-85"><a href="#L-85"><span class="linenos"> 85</span></a> <span class="n">HEREDOC_STRING</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-86"><a href="#L-86"><span class="linenos"> 86</span></a>
-</span><span id="L-87"><a href="#L-87"><span class="linenos"> 87</span></a> <span class="c1"># types</span>
-</span><span id="L-88"><a href="#L-88"><span class="linenos"> 88</span></a> <span class="n">BIT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-89"><a href="#L-89"><span class="linenos"> 89</span></a> <span class="n">BOOLEAN</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-90"><a href="#L-90"><span class="linenos"> 90</span></a> <span class="n">TINYINT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-91"><a href="#L-91"><span class="linenos"> 91</span></a> <span class="n">UTINYINT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-92"><a href="#L-92"><span class="linenos"> 92</span></a> <span class="n">SMALLINT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-93"><a href="#L-93"><span class="linenos"> 93</span></a> <span class="n">USMALLINT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-94"><a href="#L-94"><span class="linenos"> 94</span></a> <span class="n">MEDIUMINT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-95"><a href="#L-95"><span class="linenos"> 95</span></a> <span class="n">UMEDIUMINT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-96"><a href="#L-96"><span class="linenos"> 96</span></a> <span class="n">INT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-97"><a href="#L-97"><span class="linenos"> 97</span></a> <span class="n">UINT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-98"><a href="#L-98"><span class="linenos"> 98</span></a> <span class="n">BIGINT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-99"><a href="#L-99"><span class="linenos"> 99</span></a> <span class="n">UBIGINT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-100"><a href="#L-100"><span class="linenos"> 100</span></a> <span class="n">INT128</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-101"><a href="#L-101"><span class="linenos"> 101</span></a> <span class="n">UINT128</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-102"><a href="#L-102"><span class="linenos"> 102</span></a> <span class="n">INT256</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-103"><a href="#L-103"><span class="linenos"> 103</span></a> <span class="n">UINT256</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-104"><a href="#L-104"><span class="linenos"> 104</span></a> <span class="n">FLOAT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-105"><a href="#L-105"><span class="linenos"> 105</span></a> <span class="n">DOUBLE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-106"><a href="#L-106"><span class="linenos"> 106</span></a> <span class="n">DECIMAL</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-107"><a href="#L-107"><span class="linenos"> 107</span></a> <span class="n">UDECIMAL</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-108"><a href="#L-108"><span class="linenos"> 108</span></a> <span class="n">BIGDECIMAL</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-109"><a href="#L-109"><span class="linenos"> 109</span></a> <span class="n">CHAR</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-110"><a href="#L-110"><span class="linenos"> 110</span></a> <span class="n">NCHAR</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-111"><a href="#L-111"><span class="linenos"> 111</span></a> <span class="n">VARCHAR</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-112"><a href="#L-112"><span class="linenos"> 112</span></a> <span class="n">NVARCHAR</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-113"><a href="#L-113"><span class="linenos"> 113</span></a> <span class="n">TEXT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-114"><a href="#L-114"><span class="linenos"> 114</span></a> <span class="n">MEDIUMTEXT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-115"><a href="#L-115"><span class="linenos"> 115</span></a> <span class="n">LONGTEXT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-116"><a href="#L-116"><span class="linenos"> 116</span></a> <span class="n">MEDIUMBLOB</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-117"><a href="#L-117"><span class="linenos"> 117</span></a> <span class="n">LONGBLOB</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-118"><a href="#L-118"><span class="linenos"> 118</span></a> <span class="n">TINYBLOB</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-119"><a href="#L-119"><span class="linenos"> 119</span></a> <span class="n">TINYTEXT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-120"><a href="#L-120"><span class="linenos"> 120</span></a> <span class="n">BINARY</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-121"><a href="#L-121"><span class="linenos"> 121</span></a> <span class="n">VARBINARY</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-122"><a href="#L-122"><span class="linenos"> 122</span></a> <span class="n">JSON</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-123"><a href="#L-123"><span class="linenos"> 123</span></a> <span class="n">JSONB</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-124"><a href="#L-124"><span class="linenos"> 124</span></a> <span class="n">TIME</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-125"><a href="#L-125"><span class="linenos"> 125</span></a> <span class="n">TIMETZ</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-126"><a href="#L-126"><span class="linenos"> 126</span></a> <span class="n">TIMESTAMP</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-127"><a href="#L-127"><span class="linenos"> 127</span></a> <span class="n">TIMESTAMPTZ</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-128"><a href="#L-128"><span class="linenos"> 128</span></a> <span class="n">TIMESTAMPLTZ</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-129"><a href="#L-129"><span class="linenos"> 129</span></a> <span class="n">TIMESTAMP_S</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-130"><a href="#L-130"><span class="linenos"> 130</span></a> <span class="n">TIMESTAMP_MS</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-131"><a href="#L-131"><span class="linenos"> 131</span></a> <span class="n">TIMESTAMP_NS</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-132"><a href="#L-132"><span class="linenos"> 132</span></a> <span class="n">DATETIME</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-133"><a href="#L-133"><span class="linenos"> 133</span></a> <span class="n">DATETIME64</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-134"><a href="#L-134"><span class="linenos"> 134</span></a> <span class="n">DATE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-135"><a href="#L-135"><span class="linenos"> 135</span></a> <span class="n">INT4RANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-136"><a href="#L-136"><span class="linenos"> 136</span></a> <span class="n">INT4MULTIRANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-137"><a href="#L-137"><span class="linenos"> 137</span></a> <span class="n">INT8RANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-138"><a href="#L-138"><span class="linenos"> 138</span></a> <span class="n">INT8MULTIRANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-139"><a href="#L-139"><span class="linenos"> 139</span></a> <span class="n">NUMRANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-140"><a href="#L-140"><span class="linenos"> 140</span></a> <span class="n">NUMMULTIRANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-141"><a href="#L-141"><span class="linenos"> 141</span></a> <span class="n">TSRANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-142"><a href="#L-142"><span class="linenos"> 142</span></a> <span class="n">TSMULTIRANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-143"><a href="#L-143"><span class="linenos"> 143</span></a> <span class="n">TSTZRANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-144"><a href="#L-144"><span class="linenos"> 144</span></a> <span class="n">TSTZMULTIRANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-145"><a href="#L-145"><span class="linenos"> 145</span></a> <span class="n">DATERANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-146"><a href="#L-146"><span class="linenos"> 146</span></a> <span class="n">DATEMULTIRANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-147"><a href="#L-147"><span class="linenos"> 147</span></a> <span class="n">UUID</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-148"><a href="#L-148"><span class="linenos"> 148</span></a> <span class="n">GEOGRAPHY</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-149"><a href="#L-149"><span class="linenos"> 149</span></a> <span class="n">NULLABLE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-150"><a href="#L-150"><span class="linenos"> 150</span></a> <span class="n">GEOMETRY</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-151"><a href="#L-151"><span class="linenos"> 151</span></a> <span class="n">HLLSKETCH</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-152"><a href="#L-152"><span class="linenos"> 152</span></a> <span class="n">HSTORE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-153"><a href="#L-153"><span class="linenos"> 153</span></a> <span class="n">SUPER</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-154"><a href="#L-154"><span class="linenos"> 154</span></a> <span class="n">SERIAL</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-155"><a href="#L-155"><span class="linenos"> 155</span></a> <span class="n">SMALLSERIAL</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-156"><a href="#L-156"><span class="linenos"> 156</span></a> <span class="n">BIGSERIAL</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-157"><a href="#L-157"><span class="linenos"> 157</span></a> <span class="n">XML</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-158"><a href="#L-158"><span class="linenos"> 158</span></a> <span class="n">YEAR</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-159"><a href="#L-159"><span class="linenos"> 159</span></a> <span class="n">UNIQUEIDENTIFIER</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-160"><a href="#L-160"><span class="linenos"> 160</span></a> <span class="n">USERDEFINED</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-161"><a href="#L-161"><span class="linenos"> 161</span></a> <span class="n">MONEY</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-162"><a href="#L-162"><span class="linenos"> 162</span></a> <span class="n">SMALLMONEY</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-163"><a href="#L-163"><span class="linenos"> 163</span></a> <span class="n">ROWVERSION</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-164"><a href="#L-164"><span class="linenos"> 164</span></a> <span class="n">IMAGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-165"><a href="#L-165"><span class="linenos"> 165</span></a> <span class="n">VARIANT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-166"><a href="#L-166"><span class="linenos"> 166</span></a> <span class="n">OBJECT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-167"><a href="#L-167"><span class="linenos"> 167</span></a> <span class="n">INET</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-168"><a href="#L-168"><span class="linenos"> 168</span></a> <span class="n">IPADDRESS</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-169"><a href="#L-169"><span class="linenos"> 169</span></a> <span class="n">IPPREFIX</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-170"><a href="#L-170"><span class="linenos"> 170</span></a> <span class="n">ENUM</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-171"><a href="#L-171"><span class="linenos"> 171</span></a> <span class="n">ENUM8</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-172"><a href="#L-172"><span class="linenos"> 172</span></a> <span class="n">ENUM16</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-173"><a href="#L-173"><span class="linenos"> 173</span></a> <span class="n">FIXEDSTRING</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-174"><a href="#L-174"><span class="linenos"> 174</span></a> <span class="n">LOWCARDINALITY</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-175"><a href="#L-175"><span class="linenos"> 175</span></a> <span class="n">NESTED</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-176"><a href="#L-176"><span class="linenos"> 176</span></a> <span class="n">UNKNOWN</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-177"><a href="#L-177"><span class="linenos"> 177</span></a>
-</span><span id="L-178"><a href="#L-178"><span class="linenos"> 178</span></a> <span class="c1"># keywords</span>
-</span><span id="L-179"><a href="#L-179"><span class="linenos"> 179</span></a> <span class="n">ALIAS</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-180"><a href="#L-180"><span class="linenos"> 180</span></a> <span class="n">ALTER</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-181"><a href="#L-181"><span class="linenos"> 181</span></a> <span class="n">ALWAYS</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-182"><a href="#L-182"><span class="linenos"> 182</span></a> <span class="n">ALL</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-183"><a href="#L-183"><span class="linenos"> 183</span></a> <span class="n">ANTI</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-184"><a href="#L-184"><span class="linenos"> 184</span></a> <span class="n">ANY</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-185"><a href="#L-185"><span class="linenos"> 185</span></a> <span class="n">APPLY</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-186"><a href="#L-186"><span class="linenos"> 186</span></a> <span class="n">ARRAY</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-187"><a href="#L-187"><span class="linenos"> 187</span></a> <span class="n">ASC</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-188"><a href="#L-188"><span class="linenos"> 188</span></a> <span class="n">ASOF</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-189"><a href="#L-189"><span class="linenos"> 189</span></a> <span class="n">AUTO_INCREMENT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-190"><a href="#L-190"><span class="linenos"> 190</span></a> <span class="n">BEGIN</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-191"><a href="#L-191"><span class="linenos"> 191</span></a> <span class="n">BETWEEN</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-192"><a href="#L-192"><span class="linenos"> 192</span></a> <span class="n">CACHE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-193"><a href="#L-193"><span class="linenos"> 193</span></a> <span class="n">CASE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-194"><a href="#L-194"><span class="linenos"> 194</span></a> <span class="n">CHARACTER_SET</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-195"><a href="#L-195"><span class="linenos"> 195</span></a> <span class="n">CLUSTER_BY</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-196"><a href="#L-196"><span class="linenos"> 196</span></a> <span class="n">COLLATE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-197"><a href="#L-197"><span class="linenos"> 197</span></a> <span class="n">COMMAND</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-198"><a href="#L-198"><span class="linenos"> 198</span></a> <span class="n">COMMENT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-199"><a href="#L-199"><span class="linenos"> 199</span></a> <span class="n">COMMIT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-200"><a href="#L-200"><span class="linenos"> 200</span></a> <span class="n">CONNECT_BY</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-201"><a href="#L-201"><span class="linenos"> 201</span></a> <span class="n">CONSTRAINT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-202"><a href="#L-202"><span class="linenos"> 202</span></a> <span class="n">CREATE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-203"><a href="#L-203"><span class="linenos"> 203</span></a> <span class="n">CROSS</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-204"><a href="#L-204"><span class="linenos"> 204</span></a> <span class="n">CUBE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-205"><a href="#L-205"><span class="linenos"> 205</span></a> <span class="n">CURRENT_DATE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-206"><a href="#L-206"><span class="linenos"> 206</span></a> <span class="n">CURRENT_DATETIME</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-207"><a href="#L-207"><span class="linenos"> 207</span></a> <span class="n">CURRENT_TIME</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-208"><a href="#L-208"><span class="linenos"> 208</span></a> <span class="n">CURRENT_TIMESTAMP</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-209"><a href="#L-209"><span class="linenos"> 209</span></a> <span class="n">CURRENT_USER</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-210"><a href="#L-210"><span class="linenos"> 210</span></a> <span class="n">DEFAULT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-211"><a href="#L-211"><span class="linenos"> 211</span></a> <span class="n">DELETE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-212"><a href="#L-212"><span class="linenos"> 212</span></a> <span class="n">DESC</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-213"><a href="#L-213"><span class="linenos"> 213</span></a> <span class="n">DESCRIBE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-214"><a href="#L-214"><span class="linenos"> 214</span></a> <span class="n">DICTIONARY</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-215"><a href="#L-215"><span class="linenos"> 215</span></a> <span class="n">DISTINCT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-216"><a href="#L-216"><span class="linenos"> 216</span></a> <span class="n">DISTRIBUTE_BY</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-217"><a href="#L-217"><span class="linenos"> 217</span></a> <span class="n">DIV</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-218"><a href="#L-218"><span class="linenos"> 218</span></a> <span class="n">DROP</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-219"><a href="#L-219"><span class="linenos"> 219</span></a> <span class="n">ELSE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-220"><a href="#L-220"><span class="linenos"> 220</span></a> <span class="n">END</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-221"><a href="#L-221"><span class="linenos"> 221</span></a> <span class="n">ESCAPE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-222"><a href="#L-222"><span class="linenos"> 222</span></a> <span class="n">EXCEPT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-223"><a href="#L-223"><span class="linenos"> 223</span></a> <span class="n">EXECUTE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-224"><a href="#L-224"><span class="linenos"> 224</span></a> <span class="n">EXISTS</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-225"><a href="#L-225"><span class="linenos"> 225</span></a> <span class="n">FALSE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-226"><a href="#L-226"><span class="linenos"> 226</span></a> <span class="n">FETCH</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-227"><a href="#L-227"><span class="linenos"> 227</span></a> <span class="n">FILTER</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-228"><a href="#L-228"><span class="linenos"> 228</span></a> <span class="n">FINAL</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-229"><a href="#L-229"><span class="linenos"> 229</span></a> <span class="n">FIRST</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-230"><a href="#L-230"><span class="linenos"> 230</span></a> <span class="n">FOR</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-231"><a href="#L-231"><span class="linenos"> 231</span></a> <span class="n">FORCE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-232"><a href="#L-232"><span class="linenos"> 232</span></a> <span class="n">FOREIGN_KEY</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-233"><a href="#L-233"><span class="linenos"> 233</span></a> <span class="n">FORMAT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-234"><a href="#L-234"><span class="linenos"> 234</span></a> <span class="n">FROM</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-235"><a href="#L-235"><span class="linenos"> 235</span></a> <span class="n">FULL</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-236"><a href="#L-236"><span class="linenos"> 236</span></a> <span class="n">FUNCTION</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-237"><a href="#L-237"><span class="linenos"> 237</span></a> <span class="n">GLOB</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-238"><a href="#L-238"><span class="linenos"> 238</span></a> <span class="n">GLOBAL</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-239"><a href="#L-239"><span class="linenos"> 239</span></a> <span class="n">GROUP_BY</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-240"><a href="#L-240"><span class="linenos"> 240</span></a> <span class="n">GROUPING_SETS</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-241"><a href="#L-241"><span class="linenos"> 241</span></a> <span class="n">HAVING</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-242"><a href="#L-242"><span class="linenos"> 242</span></a> <span class="n">HINT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-243"><a href="#L-243"><span class="linenos"> 243</span></a> <span class="n">IGNORE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-244"><a href="#L-244"><span class="linenos"> 244</span></a> <span class="n">ILIKE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-245"><a href="#L-245"><span class="linenos"> 245</span></a> <span class="n">ILIKE_ANY</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-246"><a href="#L-246"><span class="linenos"> 246</span></a> <span class="n">IN</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-247"><a href="#L-247"><span class="linenos"> 247</span></a> <span class="n">INDEX</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-248"><a href="#L-248"><span class="linenos"> 248</span></a> <span class="n">INNER</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-249"><a href="#L-249"><span class="linenos"> 249</span></a> <span class="n">INSERT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-250"><a href="#L-250"><span class="linenos"> 250</span></a> <span class="n">INTERSECT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-251"><a href="#L-251"><span class="linenos"> 251</span></a> <span class="n">INTERVAL</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-252"><a href="#L-252"><span class="linenos"> 252</span></a> <span class="n">INTO</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-253"><a href="#L-253"><span class="linenos"> 253</span></a> <span class="n">INTRODUCER</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-254"><a href="#L-254"><span class="linenos"> 254</span></a> <span class="n">IRLIKE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-255"><a href="#L-255"><span class="linenos"> 255</span></a> <span class="n">IS</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-256"><a href="#L-256"><span class="linenos"> 256</span></a> <span class="n">ISNULL</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-257"><a href="#L-257"><span class="linenos"> 257</span></a> <span class="n">JOIN</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-258"><a href="#L-258"><span class="linenos"> 258</span></a> <span class="n">JOIN_MARKER</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-259"><a href="#L-259"><span class="linenos"> 259</span></a> <span class="n">KEEP</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-260"><a href="#L-260"><span class="linenos"> 260</span></a> <span class="n">KILL</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-261"><a href="#L-261"><span class="linenos"> 261</span></a> <span class="n">LANGUAGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-262"><a href="#L-262"><span class="linenos"> 262</span></a> <span class="n">LATERAL</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-263"><a href="#L-263"><span class="linenos"> 263</span></a> <span class="n">LEFT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-264"><a href="#L-264"><span class="linenos"> 264</span></a> <span class="n">LIKE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-265"><a href="#L-265"><span class="linenos"> 265</span></a> <span class="n">LIKE_ANY</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-266"><a href="#L-266"><span class="linenos"> 266</span></a> <span class="n">LIMIT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-267"><a href="#L-267"><span class="linenos"> 267</span></a> <span class="n">LOAD</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-268"><a href="#L-268"><span class="linenos"> 268</span></a> <span class="n">LOCK</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-269"><a href="#L-269"><span class="linenos"> 269</span></a> <span class="n">MAP</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-270"><a href="#L-270"><span class="linenos"> 270</span></a> <span class="n">MATCH_RECOGNIZE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-271"><a href="#L-271"><span class="linenos"> 271</span></a> <span class="n">MEMBER_OF</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-272"><a href="#L-272"><span class="linenos"> 272</span></a> <span class="n">MERGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-273"><a href="#L-273"><span class="linenos"> 273</span></a> <span class="n">MOD</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-274"><a href="#L-274"><span class="linenos"> 274</span></a> <span class="n">MODEL</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-275"><a href="#L-275"><span class="linenos"> 275</span></a> <span class="n">NATURAL</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-276"><a href="#L-276"><span class="linenos"> 276</span></a> <span class="n">NEXT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-277"><a href="#L-277"><span class="linenos"> 277</span></a> <span class="n">NOTNULL</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-278"><a href="#L-278"><span class="linenos"> 278</span></a> <span class="n">NULL</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-279"><a href="#L-279"><span class="linenos"> 279</span></a> <span class="n">OBJECT_IDENTIFIER</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-280"><a href="#L-280"><span class="linenos"> 280</span></a> <span class="n">OFFSET</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-281"><a href="#L-281"><span class="linenos"> 281</span></a> <span class="n">ON</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-282"><a href="#L-282"><span class="linenos"> 282</span></a> <span class="n">OPERATOR</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-283"><a href="#L-283"><span class="linenos"> 283</span></a> <span class="n">ORDER_BY</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-284"><a href="#L-284"><span class="linenos"> 284</span></a> <span class="n">ORDERED</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-285"><a href="#L-285"><span class="linenos"> 285</span></a> <span class="n">ORDINALITY</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-286"><a href="#L-286"><span class="linenos"> 286</span></a> <span class="n">OUTER</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-287"><a href="#L-287"><span class="linenos"> 287</span></a> <span class="n">OVER</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-288"><a href="#L-288"><span class="linenos"> 288</span></a> <span class="n">OVERLAPS</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-289"><a href="#L-289"><span class="linenos"> 289</span></a> <span class="n">OVERWRITE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-290"><a href="#L-290"><span class="linenos"> 290</span></a> <span class="n">PARTITION</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-291"><a href="#L-291"><span class="linenos"> 291</span></a> <span class="n">PARTITION_BY</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-292"><a href="#L-292"><span class="linenos"> 292</span></a> <span class="n">PERCENT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-293"><a href="#L-293"><span class="linenos"> 293</span></a> <span class="n">PIVOT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-294"><a href="#L-294"><span class="linenos"> 294</span></a> <span class="n">PLACEHOLDER</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-295"><a href="#L-295"><span class="linenos"> 295</span></a> <span class="n">PRAGMA</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-296"><a href="#L-296"><span class="linenos"> 296</span></a> <span class="n">PRIMARY_KEY</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-297"><a href="#L-297"><span class="linenos"> 297</span></a> <span class="n">PROCEDURE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-298"><a href="#L-298"><span class="linenos"> 298</span></a> <span class="n">PROPERTIES</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-299"><a href="#L-299"><span class="linenos"> 299</span></a> <span class="n">PSEUDO_TYPE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-300"><a href="#L-300"><span class="linenos"> 300</span></a> <span class="n">QUALIFY</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-301"><a href="#L-301"><span class="linenos"> 301</span></a> <span class="n">QUOTE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-302"><a href="#L-302"><span class="linenos"> 302</span></a> <span class="n">RANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-303"><a href="#L-303"><span class="linenos"> 303</span></a> <span class="n">RECURSIVE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-304"><a href="#L-304"><span class="linenos"> 304</span></a> <span class="n">REFRESH</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-305"><a href="#L-305"><span class="linenos"> 305</span></a> <span class="n">REPLACE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-306"><a href="#L-306"><span class="linenos"> 306</span></a> <span class="n">RETURNING</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-307"><a href="#L-307"><span class="linenos"> 307</span></a> <span class="n">REFERENCES</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-308"><a href="#L-308"><span class="linenos"> 308</span></a> <span class="n">RIGHT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-309"><a href="#L-309"><span class="linenos"> 309</span></a> <span class="n">RLIKE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-310"><a href="#L-310"><span class="linenos"> 310</span></a> <span class="n">ROLLBACK</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-311"><a href="#L-311"><span class="linenos"> 311</span></a> <span class="n">ROLLUP</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-312"><a href="#L-312"><span class="linenos"> 312</span></a> <span class="n">ROW</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-313"><a href="#L-313"><span class="linenos"> 313</span></a> <span class="n">ROWS</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-314"><a href="#L-314"><span class="linenos"> 314</span></a> <span class="n">SELECT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-315"><a href="#L-315"><span class="linenos"> 315</span></a> <span class="n">SEMI</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-316"><a href="#L-316"><span class="linenos"> 316</span></a> <span class="n">SEPARATOR</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-317"><a href="#L-317"><span class="linenos"> 317</span></a> <span class="n">SERDE_PROPERTIES</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-318"><a href="#L-318"><span class="linenos"> 318</span></a> <span class="n">SET</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-319"><a href="#L-319"><span class="linenos"> 319</span></a> <span class="n">SETTINGS</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-320"><a href="#L-320"><span class="linenos"> 320</span></a> <span class="n">SHOW</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-321"><a href="#L-321"><span class="linenos"> 321</span></a> <span class="n">SIMILAR_TO</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-322"><a href="#L-322"><span class="linenos"> 322</span></a> <span class="n">SOME</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-323"><a href="#L-323"><span class="linenos"> 323</span></a> <span class="n">SORT_BY</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-324"><a href="#L-324"><span class="linenos"> 324</span></a> <span class="n">START_WITH</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-325"><a href="#L-325"><span class="linenos"> 325</span></a> <span class="n">STRUCT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-326"><a href="#L-326"><span class="linenos"> 326</span></a> <span class="n">TABLE_SAMPLE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-327"><a href="#L-327"><span class="linenos"> 327</span></a> <span class="n">TEMPORARY</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-328"><a href="#L-328"><span class="linenos"> 328</span></a> <span class="n">TOP</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-329"><a href="#L-329"><span class="linenos"> 329</span></a> <span class="n">THEN</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-330"><a href="#L-330"><span class="linenos"> 330</span></a> <span class="n">TRUE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-331"><a href="#L-331"><span class="linenos"> 331</span></a> <span class="n">UNCACHE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-332"><a href="#L-332"><span class="linenos"> 332</span></a> <span class="n">UNION</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-333"><a href="#L-333"><span class="linenos"> 333</span></a> <span class="n">UNNEST</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-334"><a href="#L-334"><span class="linenos"> 334</span></a> <span class="n">UNPIVOT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-335"><a href="#L-335"><span class="linenos"> 335</span></a> <span class="n">UPDATE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-336"><a href="#L-336"><span class="linenos"> 336</span></a> <span class="n">USE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-337"><a href="#L-337"><span class="linenos"> 337</span></a> <span class="n">USING</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-338"><a href="#L-338"><span class="linenos"> 338</span></a> <span class="n">VALUES</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-339"><a href="#L-339"><span class="linenos"> 339</span></a> <span class="n">VIEW</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-340"><a href="#L-340"><span class="linenos"> 340</span></a> <span class="n">VOLATILE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-341"><a href="#L-341"><span class="linenos"> 341</span></a> <span class="n">WHEN</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-342"><a href="#L-342"><span class="linenos"> 342</span></a> <span class="n">WHERE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-343"><a href="#L-343"><span class="linenos"> 343</span></a> <span class="n">WINDOW</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-344"><a href="#L-344"><span class="linenos"> 344</span></a> <span class="n">WITH</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-345"><a href="#L-345"><span class="linenos"> 345</span></a> <span class="n">UNIQUE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-346"><a href="#L-346"><span class="linenos"> 346</span></a> <span class="n">VERSION_SNAPSHOT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-347"><a href="#L-347"><span class="linenos"> 347</span></a> <span class="n">TIMESTAMP_SNAPSHOT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-348"><a href="#L-348"><span class="linenos"> 348</span></a>
-</span><span id="L-349"><a href="#L-349"><span class="linenos"> 349</span></a>
-</span><span id="L-350"><a href="#L-350"><span class="linenos"> 350</span></a><span class="k">class</span> <span class="nc">Token</span><span class="p">:</span>
-</span><span id="L-351"><a href="#L-351"><span class="linenos"> 351</span></a> <span class="vm">__slots__</span> <span class="o">=</span> <span class="p">(</span><span class="s2">&quot;token_type&quot;</span><span class="p">,</span> <span class="s2">&quot;text&quot;</span><span class="p">,</span> <span class="s2">&quot;line&quot;</span><span class="p">,</span> <span class="s2">&quot;col&quot;</span><span class="p">,</span> <span class="s2">&quot;start&quot;</span><span class="p">,</span> <span class="s2">&quot;end&quot;</span><span class="p">,</span> <span class="s2">&quot;comments&quot;</span><span class="p">)</span>
-</span><span id="L-352"><a href="#L-352"><span class="linenos"> 352</span></a>
-</span><span id="L-353"><a href="#L-353"><span class="linenos"> 353</span></a> <span class="nd">@classmethod</span>
-</span><span id="L-354"><a href="#L-354"><span class="linenos"> 354</span></a> <span class="k">def</span> <span class="nf">number</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">number</span><span class="p">:</span> <span class="nb">int</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Token</span><span class="p">:</span>
-</span><span id="L-355"><a href="#L-355"><span class="linenos"> 355</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Returns a NUMBER token with `number` as its text.&quot;&quot;&quot;</span>
-</span><span id="L-356"><a href="#L-356"><span class="linenos"> 356</span></a> <span class="k">return</span> <span class="bp">cls</span><span class="p">(</span><span class="n">TokenType</span><span class="o">.</span><span class="n">NUMBER</span><span class="p">,</span> <span class="nb">str</span><span class="p">(</span><span class="n">number</span><span class="p">))</span>
-</span><span id="L-357"><a href="#L-357"><span class="linenos"> 357</span></a>
-</span><span id="L-358"><a href="#L-358"><span class="linenos"> 358</span></a> <span class="nd">@classmethod</span>
-</span><span id="L-359"><a href="#L-359"><span class="linenos"> 359</span></a> <span class="k">def</span> <span class="nf">string</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">string</span><span class="p">:</span> <span class="nb">str</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Token</span><span class="p">:</span>
-</span><span id="L-360"><a href="#L-360"><span class="linenos"> 360</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Returns a STRING token with `string` as its text.&quot;&quot;&quot;</span>
-</span><span id="L-361"><a href="#L-361"><span class="linenos"> 361</span></a> <span class="k">return</span> <span class="bp">cls</span><span class="p">(</span><span class="n">TokenType</span><span class="o">.</span><span class="n">STRING</span><span class="p">,</span> <span class="n">string</span><span class="p">)</span>
-</span><span id="L-362"><a href="#L-362"><span class="linenos"> 362</span></a>
-</span><span id="L-363"><a href="#L-363"><span class="linenos"> 363</span></a> <span class="nd">@classmethod</span>
-</span><span id="L-364"><a href="#L-364"><span class="linenos"> 364</span></a> <span class="k">def</span> <span class="nf">identifier</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">identifier</span><span class="p">:</span> <span class="nb">str</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Token</span><span class="p">:</span>
-</span><span id="L-365"><a href="#L-365"><span class="linenos"> 365</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Returns an IDENTIFIER token with `identifier` as its text.&quot;&quot;&quot;</span>
-</span><span id="L-366"><a href="#L-366"><span class="linenos"> 366</span></a> <span class="k">return</span> <span class="bp">cls</span><span class="p">(</span><span class="n">TokenType</span><span class="o">.</span><span class="n">IDENTIFIER</span><span class="p">,</span> <span class="n">identifier</span><span class="p">)</span>
-</span><span id="L-367"><a href="#L-367"><span class="linenos"> 367</span></a>
-</span><span id="L-368"><a href="#L-368"><span class="linenos"> 368</span></a> <span class="nd">@classmethod</span>
-</span><span id="L-369"><a href="#L-369"><span class="linenos"> 369</span></a> <span class="k">def</span> <span class="nf">var</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">var</span><span class="p">:</span> <span class="nb">str</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Token</span><span class="p">:</span>
-</span><span id="L-370"><a href="#L-370"><span class="linenos"> 370</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Returns an VAR token with `var` as its text.&quot;&quot;&quot;</span>
-</span><span id="L-371"><a href="#L-371"><span class="linenos"> 371</span></a> <span class="k">return</span> <span class="bp">cls</span><span class="p">(</span><span class="n">TokenType</span><span class="o">.</span><span class="n">VAR</span><span class="p">,</span> <span class="n">var</span><span class="p">)</span>
-</span><span id="L-372"><a href="#L-372"><span class="linenos"> 372</span></a>
-</span><span id="L-373"><a href="#L-373"><span class="linenos"> 373</span></a> <span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span>
-</span><span id="L-374"><a href="#L-374"><span class="linenos"> 374</span></a> <span class="bp">self</span><span class="p">,</span>
-</span><span id="L-375"><a href="#L-375"><span class="linenos"> 375</span></a> <span class="n">token_type</span><span class="p">:</span> <span class="n">TokenType</span><span class="p">,</span>
-</span><span id="L-376"><a href="#L-376"><span class="linenos"> 376</span></a> <span class="n">text</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span>
-</span><span id="L-377"><a href="#L-377"><span class="linenos"> 377</span></a> <span class="n">line</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">1</span><span class="p">,</span>
-</span><span id="L-378"><a href="#L-378"><span class="linenos"> 378</span></a> <span class="n">col</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">1</span><span class="p">,</span>
-</span><span id="L-379"><a href="#L-379"><span class="linenos"> 379</span></a> <span class="n">start</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">0</span><span class="p">,</span>
-</span><span id="L-380"><a href="#L-380"><span class="linenos"> 380</span></a> <span class="n">end</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">0</span><span class="p">,</span>
-</span><span id="L-381"><a href="#L-381"><span class="linenos"> 381</span></a> <span class="n">comments</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="n">t</span><span class="o">.</span><span class="n">List</span><span class="p">[</span><span class="nb">str</span><span class="p">]]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="L-382"><a href="#L-382"><span class="linenos"> 382</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
-</span><span id="L-383"><a href="#L-383"><span class="linenos"> 383</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Token initializer.</span>
-</span><span id="L-384"><a href="#L-384"><span class="linenos"> 384</span></a>
-</span><span id="L-385"><a href="#L-385"><span class="linenos"> 385</span></a><span class="sd"> Args:</span>
-</span><span id="L-386"><a href="#L-386"><span class="linenos"> 386</span></a><span class="sd"> token_type: The TokenType Enum.</span>
-</span><span id="L-387"><a href="#L-387"><span class="linenos"> 387</span></a><span class="sd"> text: The text of the token.</span>
-</span><span id="L-388"><a href="#L-388"><span class="linenos"> 388</span></a><span class="sd"> line: The line that the token ends on.</span>
-</span><span id="L-389"><a href="#L-389"><span class="linenos"> 389</span></a><span class="sd"> col: The column that the token ends on.</span>
-</span><span id="L-390"><a href="#L-390"><span class="linenos"> 390</span></a><span class="sd"> start: The start index of the token.</span>
-</span><span id="L-391"><a href="#L-391"><span class="linenos"> 391</span></a><span class="sd"> end: The ending index of the token.</span>
-</span><span id="L-392"><a href="#L-392"><span class="linenos"> 392</span></a><span class="sd"> comments: The comments to attach to the token.</span>
-</span><span id="L-393"><a href="#L-393"><span class="linenos"> 393</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="L-394"><a href="#L-394"><span class="linenos"> 394</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">token_type</span> <span class="o">=</span> <span class="n">token_type</span>
-</span><span id="L-395"><a href="#L-395"><span class="linenos"> 395</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">text</span> <span class="o">=</span> <span class="n">text</span>
-</span><span id="L-396"><a href="#L-396"><span class="linenos"> 396</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">line</span> <span class="o">=</span> <span class="n">line</span>
-</span><span id="L-397"><a href="#L-397"><span class="linenos"> 397</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">col</span> <span class="o">=</span> <span class="n">col</span>
-</span><span id="L-398"><a href="#L-398"><span class="linenos"> 398</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">start</span> <span class="o">=</span> <span class="n">start</span>
-</span><span id="L-399"><a href="#L-399"><span class="linenos"> 399</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">end</span> <span class="o">=</span> <span class="n">end</span>
-</span><span id="L-400"><a href="#L-400"><span class="linenos"> 400</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">comments</span> <span class="o">=</span> <span class="p">[]</span> <span class="k">if</span> <span class="n">comments</span> <span class="ow">is</span> <span class="kc">None</span> <span class="k">else</span> <span class="n">comments</span>
-</span><span id="L-401"><a href="#L-401"><span class="linenos"> 401</span></a>
-</span><span id="L-402"><a href="#L-402"><span class="linenos"> 402</span></a> <span class="k">def</span> <span class="fm">__repr__</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
-</span><span id="L-403"><a href="#L-403"><span class="linenos"> 403</span></a> <span class="n">attributes</span> <span class="o">=</span> <span class="s2">&quot;, &quot;</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;</span><span class="si">{</span><span class="n">k</span><span class="si">}</span><span class="s2">: </span><span class="si">{</span><span class="nb">getattr</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span><span class="w"> </span><span class="n">k</span><span class="p">)</span><span class="si">}</span><span class="s2">&quot;</span> <span class="k">for</span> <span class="n">k</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="vm">__slots__</span><span class="p">)</span>
-</span><span id="L-404"><a href="#L-404"><span class="linenos"> 404</span></a> <span class="k">return</span> <span class="sa">f</span><span class="s2">&quot;&lt;Token </span><span class="si">{</span><span class="n">attributes</span><span class="si">}</span><span class="s2">&gt;&quot;</span>
-</span><span id="L-405"><a href="#L-405"><span class="linenos"> 405</span></a>
-</span><span id="L-406"><a href="#L-406"><span class="linenos"> 406</span></a>
-</span><span id="L-407"><a href="#L-407"><span class="linenos"> 407</span></a><span class="k">class</span> <span class="nc">_Tokenizer</span><span class="p">(</span><span class="nb">type</span><span class="p">):</span>
-</span><span id="L-408"><a href="#L-408"><span class="linenos"> 408</span></a> <span class="k">def</span> <span class="fm">__new__</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">clsname</span><span class="p">,</span> <span class="n">bases</span><span class="p">,</span> <span class="n">attrs</span><span class="p">):</span>
-</span><span id="L-409"><a href="#L-409"><span class="linenos"> 409</span></a> <span class="n">klass</span> <span class="o">=</span> <span class="nb">super</span><span class="p">()</span><span class="o">.</span><span class="fm">__new__</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">clsname</span><span class="p">,</span> <span class="n">bases</span><span class="p">,</span> <span class="n">attrs</span><span class="p">)</span>
-</span><span id="L-410"><a href="#L-410"><span class="linenos"> 410</span></a>
-</span><span id="L-411"><a href="#L-411"><span class="linenos"> 411</span></a> <span class="k">def</span> <span class="nf">_convert_quotes</span><span class="p">(</span><span class="n">arr</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">List</span><span class="p">[</span><span class="nb">str</span> <span class="o">|</span> <span class="n">t</span><span class="o">.</span><span class="n">Tuple</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="nb">str</span><span class="p">]])</span> <span class="o">-&gt;</span> <span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="nb">str</span><span class="p">]:</span>
-</span><span id="L-412"><a href="#L-412"><span class="linenos"> 412</span></a> <span class="k">return</span> <span class="nb">dict</span><span class="p">(</span>
-</span><span id="L-413"><a href="#L-413"><span class="linenos"> 413</span></a> <span class="p">(</span><span class="n">item</span><span class="p">,</span> <span class="n">item</span><span class="p">)</span> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">item</span><span class="p">,</span> <span class="nb">str</span><span class="p">)</span> <span class="k">else</span> <span class="p">(</span><span class="n">item</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="n">item</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span> <span class="k">for</span> <span class="n">item</span> <span class="ow">in</span> <span class="n">arr</span>
-</span><span id="L-414"><a href="#L-414"><span class="linenos"> 414</span></a> <span class="p">)</span>
-</span><span id="L-415"><a href="#L-415"><span class="linenos"> 415</span></a>
-</span><span id="L-416"><a href="#L-416"><span class="linenos"> 416</span></a> <span class="k">def</span> <span class="nf">_quotes_to_format</span><span class="p">(</span>
-</span><span id="L-417"><a href="#L-417"><span class="linenos"> 417</span></a> <span class="n">token_type</span><span class="p">:</span> <span class="n">TokenType</span><span class="p">,</span> <span class="n">arr</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">List</span><span class="p">[</span><span class="nb">str</span> <span class="o">|</span> <span class="n">t</span><span class="o">.</span><span class="n">Tuple</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="nb">str</span><span class="p">]]</span>
-</span><span id="L-418"><a href="#L-418"><span class="linenos"> 418</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="n">t</span><span class="o">.</span><span class="n">Tuple</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="n">TokenType</span><span class="p">]]:</span>
-</span><span id="L-419"><a href="#L-419"><span class="linenos"> 419</span></a> <span class="k">return</span> <span class="p">{</span><span class="n">k</span><span class="p">:</span> <span class="p">(</span><span class="n">v</span><span class="p">,</span> <span class="n">token_type</span><span class="p">)</span> <span class="k">for</span> <span class="n">k</span><span class="p">,</span> <span class="n">v</span> <span class="ow">in</span> <span class="n">_convert_quotes</span><span class="p">(</span><span class="n">arr</span><span class="p">)</span><span class="o">.</span><span class="n">items</span><span class="p">()}</span>
-</span><span id="L-420"><a href="#L-420"><span class="linenos"> 420</span></a>
-</span><span id="L-421"><a href="#L-421"><span class="linenos"> 421</span></a> <span class="n">klass</span><span class="o">.</span><span class="n">_QUOTES</span> <span class="o">=</span> <span class="n">_convert_quotes</span><span class="p">(</span><span class="n">klass</span><span class="o">.</span><span class="n">QUOTES</span><span class="p">)</span>
-</span><span id="L-422"><a href="#L-422"><span class="linenos"> 422</span></a> <span class="n">klass</span><span class="o">.</span><span class="n">_IDENTIFIERS</span> <span class="o">=</span> <span class="n">_convert_quotes</span><span class="p">(</span><span class="n">klass</span><span class="o">.</span><span class="n">IDENTIFIERS</span><span class="p">)</span>
-</span><span id="L-423"><a href="#L-423"><span class="linenos"> 423</span></a>
-</span><span id="L-424"><a href="#L-424"><span class="linenos"> 424</span></a> <span class="n">klass</span><span class="o">.</span><span class="n">_FORMAT_STRINGS</span> <span class="o">=</span> <span class="p">{</span>
-</span><span id="L-425"><a href="#L-425"><span class="linenos"> 425</span></a> <span class="o">**</span><span class="p">{</span>
-</span><span id="L-426"><a href="#L-426"><span class="linenos"> 426</span></a> <span class="n">p</span> <span class="o">+</span> <span class="n">s</span><span class="p">:</span> <span class="p">(</span><span class="n">e</span><span class="p">,</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">NATIONAL_STRING</span><span class="p">)</span>
-</span><span id="L-427"><a href="#L-427"><span class="linenos"> 427</span></a> <span class="k">for</span> <span class="n">s</span><span class="p">,</span> <span class="n">e</span> <span class="ow">in</span> <span class="n">klass</span><span class="o">.</span><span class="n">_QUOTES</span><span class="o">.</span><span class="n">items</span><span class="p">()</span>
-</span><span id="L-428"><a href="#L-428"><span class="linenos"> 428</span></a> <span class="k">for</span> <span class="n">p</span> <span class="ow">in</span> <span class="p">(</span><span class="s2">&quot;n&quot;</span><span class="p">,</span> <span class="s2">&quot;N&quot;</span><span class="p">)</span>
-</span><span id="L-429"><a href="#L-429"><span class="linenos"> 429</span></a> <span class="p">},</span>
-</span><span id="L-430"><a href="#L-430"><span class="linenos"> 430</span></a> <span class="o">**</span><span class="n">_quotes_to_format</span><span class="p">(</span><span class="n">TokenType</span><span class="o">.</span><span class="n">BIT_STRING</span><span class="p">,</span> <span class="n">klass</span><span class="o">.</span><span class="n">BIT_STRINGS</span><span class="p">),</span>
-</span><span id="L-431"><a href="#L-431"><span class="linenos"> 431</span></a> <span class="o">**</span><span class="n">_quotes_to_format</span><span class="p">(</span><span class="n">TokenType</span><span class="o">.</span><span class="n">BYTE_STRING</span><span class="p">,</span> <span class="n">klass</span><span class="o">.</span><span class="n">BYTE_STRINGS</span><span class="p">),</span>
-</span><span id="L-432"><a href="#L-432"><span class="linenos"> 432</span></a> <span class="o">**</span><span class="n">_quotes_to_format</span><span class="p">(</span><span class="n">TokenType</span><span class="o">.</span><span class="n">HEX_STRING</span><span class="p">,</span> <span class="n">klass</span><span class="o">.</span><span class="n">HEX_STRINGS</span><span class="p">),</span>
-</span><span id="L-433"><a href="#L-433"><span class="linenos"> 433</span></a> <span class="o">**</span><span class="n">_quotes_to_format</span><span class="p">(</span><span class="n">TokenType</span><span class="o">.</span><span class="n">RAW_STRING</span><span class="p">,</span> <span class="n">klass</span><span class="o">.</span><span class="n">RAW_STRINGS</span><span class="p">),</span>
-</span><span id="L-434"><a href="#L-434"><span class="linenos"> 434</span></a> <span class="o">**</span><span class="n">_quotes_to_format</span><span class="p">(</span><span class="n">TokenType</span><span class="o">.</span><span class="n">HEREDOC_STRING</span><span class="p">,</span> <span class="n">klass</span><span class="o">.</span><span class="n">HEREDOC_STRINGS</span><span class="p">),</span>
-</span><span id="L-435"><a href="#L-435"><span class="linenos"> 435</span></a> <span class="p">}</span>
-</span><span id="L-436"><a href="#L-436"><span class="linenos"> 436</span></a>
-</span><span id="L-437"><a href="#L-437"><span class="linenos"> 437</span></a> <span class="n">klass</span><span class="o">.</span><span class="n">_STRING_ESCAPES</span> <span class="o">=</span> <span class="nb">set</span><span class="p">(</span><span class="n">klass</span><span class="o">.</span><span class="n">STRING_ESCAPES</span><span class="p">)</span>
-</span><span id="L-438"><a href="#L-438"><span class="linenos"> 438</span></a> <span class="n">klass</span><span class="o">.</span><span class="n">_IDENTIFIER_ESCAPES</span> <span class="o">=</span> <span class="nb">set</span><span class="p">(</span><span class="n">klass</span><span class="o">.</span><span class="n">IDENTIFIER_ESCAPES</span><span class="p">)</span>
-</span><span id="L-439"><a href="#L-439"><span class="linenos"> 439</span></a> <span class="n">klass</span><span class="o">.</span><span class="n">_COMMENTS</span> <span class="o">=</span> <span class="p">{</span>
-</span><span id="L-440"><a href="#L-440"><span class="linenos"> 440</span></a> <span class="o">**</span><span class="nb">dict</span><span class="p">(</span>
-</span><span id="L-441"><a href="#L-441"><span class="linenos"> 441</span></a> <span class="p">(</span><span class="n">comment</span><span class="p">,</span> <span class="kc">None</span><span class="p">)</span> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">comment</span><span class="p">,</span> <span class="nb">str</span><span class="p">)</span> <span class="k">else</span> <span class="p">(</span><span class="n">comment</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="n">comment</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span>
-</span><span id="L-442"><a href="#L-442"><span class="linenos"> 442</span></a> <span class="k">for</span> <span class="n">comment</span> <span class="ow">in</span> <span class="n">klass</span><span class="o">.</span><span class="n">COMMENTS</span>
-</span><span id="L-443"><a href="#L-443"><span class="linenos"> 443</span></a> <span class="p">),</span>
-</span><span id="L-444"><a href="#L-444"><span class="linenos"> 444</span></a> <span class="s2">&quot;{#&quot;</span><span class="p">:</span> <span class="s2">&quot;#}&quot;</span><span class="p">,</span> <span class="c1"># Ensure Jinja comments are tokenized correctly in all dialects</span>
-</span><span id="L-445"><a href="#L-445"><span class="linenos"> 445</span></a> <span class="p">}</span>
-</span><span id="L-446"><a href="#L-446"><span class="linenos"> 446</span></a>
-</span><span id="L-447"><a href="#L-447"><span class="linenos"> 447</span></a> <span class="n">klass</span><span class="o">.</span><span class="n">_KEYWORD_TRIE</span> <span class="o">=</span> <span class="n">new_trie</span><span class="p">(</span>
-</span><span id="L-448"><a href="#L-448"><span class="linenos"> 448</span></a> <span class="n">key</span><span class="o">.</span><span class="n">upper</span><span class="p">()</span>
-</span><span id="L-449"><a href="#L-449"><span class="linenos"> 449</span></a> <span class="k">for</span> <span class="n">key</span> <span class="ow">in</span> <span class="p">(</span>
-</span><span id="L-450"><a href="#L-450"><span class="linenos"> 450</span></a> <span class="o">*</span><span class="n">klass</span><span class="o">.</span><span class="n">KEYWORDS</span><span class="p">,</span>
-</span><span id="L-451"><a href="#L-451"><span class="linenos"> 451</span></a> <span class="o">*</span><span class="n">klass</span><span class="o">.</span><span class="n">_COMMENTS</span><span class="p">,</span>
-</span><span id="L-452"><a href="#L-452"><span class="linenos"> 452</span></a> <span class="o">*</span><span class="n">klass</span><span class="o">.</span><span class="n">_QUOTES</span><span class="p">,</span>
-</span><span id="L-453"><a href="#L-453"><span class="linenos"> 453</span></a> <span class="o">*</span><span class="n">klass</span><span class="o">.</span><span class="n">_FORMAT_STRINGS</span><span class="p">,</span>
-</span><span id="L-454"><a href="#L-454"><span class="linenos"> 454</span></a> <span class="p">)</span>
-</span><span id="L-455"><a href="#L-455"><span class="linenos"> 455</span></a> <span class="k">if</span> <span class="s2">&quot; &quot;</span> <span class="ow">in</span> <span class="n">key</span> <span class="ow">or</span> <span class="nb">any</span><span class="p">(</span><span class="n">single</span> <span class="ow">in</span> <span class="n">key</span> <span class="k">for</span> <span class="n">single</span> <span class="ow">in</span> <span class="n">klass</span><span class="o">.</span><span class="n">SINGLE_TOKENS</span><span class="p">)</span>
-</span><span id="L-456"><a href="#L-456"><span class="linenos"> 456</span></a> <span class="p">)</span>
-</span><span id="L-457"><a href="#L-457"><span class="linenos"> 457</span></a>
-</span><span id="L-458"><a href="#L-458"><span class="linenos"> 458</span></a> <span class="k">return</span> <span class="n">klass</span>
-</span><span id="L-459"><a href="#L-459"><span class="linenos"> 459</span></a>
-</span><span id="L-460"><a href="#L-460"><span class="linenos"> 460</span></a>
-</span><span id="L-461"><a href="#L-461"><span class="linenos"> 461</span></a><span class="k">class</span> <span class="nc">Tokenizer</span><span class="p">(</span><span class="n">metaclass</span><span class="o">=</span><span class="n">_Tokenizer</span><span class="p">):</span>
-</span><span id="L-462"><a href="#L-462"><span class="linenos"> 462</span></a> <span class="n">SINGLE_TOKENS</span> <span class="o">=</span> <span class="p">{</span>
-</span><span id="L-463"><a href="#L-463"><span class="linenos"> 463</span></a> <span class="s2">&quot;(&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">L_PAREN</span><span class="p">,</span>
-</span><span id="L-464"><a href="#L-464"><span class="linenos"> 464</span></a> <span class="s2">&quot;)&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">R_PAREN</span><span class="p">,</span>
-</span><span id="L-465"><a href="#L-465"><span class="linenos"> 465</span></a> <span class="s2">&quot;[&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">L_BRACKET</span><span class="p">,</span>
-</span><span id="L-466"><a href="#L-466"><span class="linenos"> 466</span></a> <span class="s2">&quot;]&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">R_BRACKET</span><span class="p">,</span>
-</span><span id="L-467"><a href="#L-467"><span class="linenos"> 467</span></a> <span class="s2">&quot;{&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">L_BRACE</span><span class="p">,</span>
-</span><span id="L-468"><a href="#L-468"><span class="linenos"> 468</span></a> <span class="s2">&quot;}&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">R_BRACE</span><span class="p">,</span>
-</span><span id="L-469"><a href="#L-469"><span class="linenos"> 469</span></a> <span class="s2">&quot;&amp;&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">AMP</span><span class="p">,</span>
-</span><span id="L-470"><a href="#L-470"><span class="linenos"> 470</span></a> <span class="s2">&quot;^&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">CARET</span><span class="p">,</span>
-</span><span id="L-471"><a href="#L-471"><span class="linenos"> 471</span></a> <span class="s2">&quot;:&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COLON</span><span class="p">,</span>
-</span><span id="L-472"><a href="#L-472"><span class="linenos"> 472</span></a> <span class="s2">&quot;,&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMA</span><span class="p">,</span>
-</span><span id="L-473"><a href="#L-473"><span class="linenos"> 473</span></a> <span class="s2">&quot;.&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DOT</span><span class="p">,</span>
-</span><span id="L-474"><a href="#L-474"><span class="linenos"> 474</span></a> <span class="s2">&quot;-&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DASH</span><span class="p">,</span>
-</span><span id="L-475"><a href="#L-475"><span class="linenos"> 475</span></a> <span class="s2">&quot;=&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">EQ</span><span class="p">,</span>
-</span><span id="L-476"><a href="#L-476"><span class="linenos"> 476</span></a> <span class="s2">&quot;&gt;&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">GT</span><span class="p">,</span>
-</span><span id="L-477"><a href="#L-477"><span class="linenos"> 477</span></a> <span class="s2">&quot;&lt;&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">LT</span><span class="p">,</span>
-</span><span id="L-478"><a href="#L-478"><span class="linenos"> 478</span></a> <span class="s2">&quot;%&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">MOD</span><span class="p">,</span>
-</span><span id="L-479"><a href="#L-479"><span class="linenos"> 479</span></a> <span class="s2">&quot;!&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">NOT</span><span class="p">,</span>
-</span><span id="L-480"><a href="#L-480"><span class="linenos"> 480</span></a> <span class="s2">&quot;|&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">PIPE</span><span class="p">,</span>
-</span><span id="L-481"><a href="#L-481"><span class="linenos"> 481</span></a> <span class="s2">&quot;+&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">PLUS</span><span class="p">,</span>
-</span><span id="L-482"><a href="#L-482"><span class="linenos"> 482</span></a> <span class="s2">&quot;;&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">SEMICOLON</span><span class="p">,</span>
-</span><span id="L-483"><a href="#L-483"><span class="linenos"> 483</span></a> <span class="s2">&quot;/&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">SLASH</span><span class="p">,</span>
-</span><span id="L-484"><a href="#L-484"><span class="linenos"> 484</span></a> <span class="s2">&quot;</span><span class="se">\\</span><span class="s2">&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BACKSLASH</span><span class="p">,</span>
-</span><span id="L-485"><a href="#L-485"><span class="linenos"> 485</span></a> <span class="s2">&quot;*&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">STAR</span><span class="p">,</span>
-</span><span id="L-486"><a href="#L-486"><span class="linenos"> 486</span></a> <span class="s2">&quot;~&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TILDA</span><span class="p">,</span>
-</span><span id="L-487"><a href="#L-487"><span class="linenos"> 487</span></a> <span class="s2">&quot;?&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">PLACEHOLDER</span><span class="p">,</span>
-</span><span id="L-488"><a href="#L-488"><span class="linenos"> 488</span></a> <span class="s2">&quot;@&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">PARAMETER</span><span class="p">,</span>
-</span><span id="L-489"><a href="#L-489"><span class="linenos"> 489</span></a> <span class="c1"># used for breaking a var like x&#39;y&#39; but nothing else</span>
-</span><span id="L-490"><a href="#L-490"><span class="linenos"> 490</span></a> <span class="c1"># the token type doesn&#39;t matter</span>
-</span><span id="L-491"><a href="#L-491"><span class="linenos"> 491</span></a> <span class="s2">&quot;&#39;&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">QUOTE</span><span class="p">,</span>
-</span><span id="L-492"><a href="#L-492"><span class="linenos"> 492</span></a> <span class="s2">&quot;`&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">IDENTIFIER</span><span class="p">,</span>
-</span><span id="L-493"><a href="#L-493"><span class="linenos"> 493</span></a> <span class="s1">&#39;&quot;&#39;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">IDENTIFIER</span><span class="p">,</span>
-</span><span id="L-494"><a href="#L-494"><span class="linenos"> 494</span></a> <span class="s2">&quot;#&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">HASH</span><span class="p">,</span>
-</span><span id="L-495"><a href="#L-495"><span class="linenos"> 495</span></a> <span class="p">}</span>
-</span><span id="L-496"><a href="#L-496"><span class="linenos"> 496</span></a>
-</span><span id="L-497"><a href="#L-497"><span class="linenos"> 497</span></a> <span class="n">BIT_STRINGS</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">List</span><span class="p">[</span><span class="nb">str</span> <span class="o">|</span> <span class="n">t</span><span class="o">.</span><span class="n">Tuple</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="nb">str</span><span class="p">]]</span> <span class="o">=</span> <span class="p">[]</span>
-</span><span id="L-498"><a href="#L-498"><span class="linenos"> 498</span></a> <span class="n">BYTE_STRINGS</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">List</span><span class="p">[</span><span class="nb">str</span> <span class="o">|</span> <span class="n">t</span><span class="o">.</span><span class="n">Tuple</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="nb">str</span><span class="p">]]</span> <span class="o">=</span> <span class="p">[]</span>
-</span><span id="L-499"><a href="#L-499"><span class="linenos"> 499</span></a> <span class="n">HEX_STRINGS</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">List</span><span class="p">[</span><span class="nb">str</span> <span class="o">|</span> <span class="n">t</span><span class="o">.</span><span class="n">Tuple</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="nb">str</span><span class="p">]]</span> <span class="o">=</span> <span class="p">[]</span>
-</span><span id="L-500"><a href="#L-500"><span class="linenos"> 500</span></a> <span class="n">RAW_STRINGS</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">List</span><span class="p">[</span><span class="nb">str</span> <span class="o">|</span> <span class="n">t</span><span class="o">.</span><span class="n">Tuple</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="nb">str</span><span class="p">]]</span> <span class="o">=</span> <span class="p">[]</span>
-</span><span id="L-501"><a href="#L-501"><span class="linenos"> 501</span></a> <span class="n">HEREDOC_STRINGS</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">List</span><span class="p">[</span><span class="nb">str</span> <span class="o">|</span> <span class="n">t</span><span class="o">.</span><span class="n">Tuple</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="nb">str</span><span class="p">]]</span> <span class="o">=</span> <span class="p">[]</span>
-</span><span id="L-502"><a href="#L-502"><span class="linenos"> 502</span></a> <span class="n">IDENTIFIERS</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">List</span><span class="p">[</span><span class="nb">str</span> <span class="o">|</span> <span class="n">t</span><span class="o">.</span><span class="n">Tuple</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="nb">str</span><span class="p">]]</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;&quot;&#39;</span><span class="p">]</span>
-</span><span id="L-503"><a href="#L-503"><span class="linenos"> 503</span></a> <span class="n">IDENTIFIER_ESCAPES</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;&quot;&#39;</span><span class="p">]</span>
-</span><span id="L-504"><a href="#L-504"><span class="linenos"> 504</span></a> <span class="n">QUOTES</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">List</span><span class="p">[</span><span class="n">t</span><span class="o">.</span><span class="n">Tuple</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="nb">str</span><span class="p">]</span> <span class="o">|</span> <span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;&#39;&quot;</span><span class="p">]</span>
-</span><span id="L-505"><a href="#L-505"><span class="linenos"> 505</span></a> <span class="n">STRING_ESCAPES</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;&#39;&quot;</span><span class="p">]</span>
-</span><span id="L-506"><a href="#L-506"><span class="linenos"> 506</span></a> <span class="n">VAR_SINGLE_TOKENS</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Set</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="nb">set</span><span class="p">()</span>
-</span><span id="L-507"><a href="#L-507"><span class="linenos"> 507</span></a>
-</span><span id="L-508"><a href="#L-508"><span class="linenos"> 508</span></a> <span class="c1"># Autofilled</span>
-</span><span id="L-509"><a href="#L-509"><span class="linenos"> 509</span></a> <span class="n">_COMMENTS</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="p">{}</span>
-</span><span id="L-510"><a href="#L-510"><span class="linenos"> 510</span></a> <span class="n">_FORMAT_STRINGS</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="n">t</span><span class="o">.</span><span class="n">Tuple</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="n">TokenType</span><span class="p">]]</span> <span class="o">=</span> <span class="p">{}</span>
-</span><span id="L-511"><a href="#L-511"><span class="linenos"> 511</span></a> <span class="n">_IDENTIFIERS</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="p">{}</span>
-</span><span id="L-512"><a href="#L-512"><span class="linenos"> 512</span></a> <span class="n">_IDENTIFIER_ESCAPES</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Set</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="nb">set</span><span class="p">()</span>
-</span><span id="L-513"><a href="#L-513"><span class="linenos"> 513</span></a> <span class="n">_QUOTES</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="p">{}</span>
-</span><span id="L-514"><a href="#L-514"><span class="linenos"> 514</span></a> <span class="n">_STRING_ESCAPES</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Set</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="nb">set</span><span class="p">()</span>
-</span><span id="L-515"><a href="#L-515"><span class="linenos"> 515</span></a> <span class="n">_KEYWORD_TRIE</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Dict</span> <span class="o">=</span> <span class="p">{}</span>
-</span><span id="L-516"><a href="#L-516"><span class="linenos"> 516</span></a>
-</span><span id="L-517"><a href="#L-517"><span class="linenos"> 517</span></a> <span class="n">KEYWORDS</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="n">TokenType</span><span class="p">]</span> <span class="o">=</span> <span class="p">{</span>
-</span><span id="L-518"><a href="#L-518"><span class="linenos"> 518</span></a> <span class="o">**</span><span class="p">{</span><span class="sa">f</span><span class="s2">&quot;</span><span class="se">{{</span><span class="s2">%</span><span class="si">{</span><span class="n">postfix</span><span class="si">}</span><span class="s2">&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BLOCK_START</span> <span class="k">for</span> <span class="n">postfix</span> <span class="ow">in</span> <span class="p">(</span><span class="s2">&quot;&quot;</span><span class="p">,</span> <span class="s2">&quot;+&quot;</span><span class="p">,</span> <span class="s2">&quot;-&quot;</span><span class="p">)},</span>
-</span><span id="L-519"><a href="#L-519"><span class="linenos"> 519</span></a> <span class="o">**</span><span class="p">{</span><span class="sa">f</span><span class="s2">&quot;</span><span class="si">{</span><span class="n">prefix</span><span class="si">}</span><span class="s2">%</span><span class="se">}}</span><span class="s2">&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BLOCK_END</span> <span class="k">for</span> <span class="n">prefix</span> <span class="ow">in</span> <span class="p">(</span><span class="s2">&quot;&quot;</span><span class="p">,</span> <span class="s2">&quot;+&quot;</span><span class="p">,</span> <span class="s2">&quot;-&quot;</span><span class="p">)},</span>
-</span><span id="L-520"><a href="#L-520"><span class="linenos"> 520</span></a> <span class="o">**</span><span class="p">{</span><span class="sa">f</span><span class="s2">&quot;</span><span class="se">{{{{</span><span class="si">{</span><span class="n">postfix</span><span class="si">}</span><span class="s2">&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BLOCK_START</span> <span class="k">for</span> <span class="n">postfix</span> <span class="ow">in</span> <span class="p">(</span><span class="s2">&quot;+&quot;</span><span class="p">,</span> <span class="s2">&quot;-&quot;</span><span class="p">)},</span>
-</span><span id="L-521"><a href="#L-521"><span class="linenos"> 521</span></a> <span class="o">**</span><span class="p">{</span><span class="sa">f</span><span class="s2">&quot;</span><span class="si">{</span><span class="n">prefix</span><span class="si">}</span><span class="se">}}}}</span><span class="s2">&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BLOCK_END</span> <span class="k">for</span> <span class="n">prefix</span> <span class="ow">in</span> <span class="p">(</span><span class="s2">&quot;+&quot;</span><span class="p">,</span> <span class="s2">&quot;-&quot;</span><span class="p">)},</span>
-</span><span id="L-522"><a href="#L-522"><span class="linenos"> 522</span></a> <span class="s2">&quot;/*+&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">HINT</span><span class="p">,</span>
-</span><span id="L-523"><a href="#L-523"><span class="linenos"> 523</span></a> <span class="s2">&quot;==&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">EQ</span><span class="p">,</span>
-</span><span id="L-524"><a href="#L-524"><span class="linenos"> 524</span></a> <span class="s2">&quot;::&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DCOLON</span><span class="p">,</span>
-</span><span id="L-525"><a href="#L-525"><span class="linenos"> 525</span></a> <span class="s2">&quot;||&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DPIPE</span><span class="p">,</span>
-</span><span id="L-526"><a href="#L-526"><span class="linenos"> 526</span></a> <span class="s2">&quot;&gt;=&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">GTE</span><span class="p">,</span>
-</span><span id="L-527"><a href="#L-527"><span class="linenos"> 527</span></a> <span class="s2">&quot;&lt;=&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">LTE</span><span class="p">,</span>
-</span><span id="L-528"><a href="#L-528"><span class="linenos"> 528</span></a> <span class="s2">&quot;&lt;&gt;&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">NEQ</span><span class="p">,</span>
-</span><span id="L-529"><a href="#L-529"><span class="linenos"> 529</span></a> <span class="s2">&quot;!=&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">NEQ</span><span class="p">,</span>
-</span><span id="L-530"><a href="#L-530"><span class="linenos"> 530</span></a> <span class="s2">&quot;:=&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COLON_EQ</span><span class="p">,</span>
-</span><span id="L-531"><a href="#L-531"><span class="linenos"> 531</span></a> <span class="s2">&quot;&lt;=&gt;&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">NULLSAFE_EQ</span><span class="p">,</span>
-</span><span id="L-532"><a href="#L-532"><span class="linenos"> 532</span></a> <span class="s2">&quot;-&gt;&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">ARROW</span><span class="p">,</span>
-</span><span id="L-533"><a href="#L-533"><span class="linenos"> 533</span></a> <span class="s2">&quot;-&gt;&gt;&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DARROW</span><span class="p">,</span>
-</span><span id="L-534"><a href="#L-534"><span class="linenos"> 534</span></a> <span class="s2">&quot;=&gt;&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">FARROW</span><span class="p">,</span>
-</span><span id="L-535"><a href="#L-535"><span class="linenos"> 535</span></a> <span class="s2">&quot;#&gt;&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">HASH_ARROW</span><span class="p">,</span>
-</span><span id="L-536"><a href="#L-536"><span class="linenos"> 536</span></a> <span class="s2">&quot;#&gt;&gt;&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DHASH_ARROW</span><span class="p">,</span>
-</span><span id="L-537"><a href="#L-537"><span class="linenos"> 537</span></a> <span class="s2">&quot;&lt;-&gt;&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">LR_ARROW</span><span class="p">,</span>
-</span><span id="L-538"><a href="#L-538"><span class="linenos"> 538</span></a> <span class="s2">&quot;&amp;&amp;&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DAMP</span><span class="p">,</span>
-</span><span id="L-539"><a href="#L-539"><span class="linenos"> 539</span></a> <span class="s2">&quot;??&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DQMARK</span><span class="p">,</span>
-</span><span id="L-540"><a href="#L-540"><span class="linenos"> 540</span></a> <span class="s2">&quot;ALL&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">ALL</span><span class="p">,</span>
-</span><span id="L-541"><a href="#L-541"><span class="linenos"> 541</span></a> <span class="s2">&quot;ALWAYS&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">ALWAYS</span><span class="p">,</span>
-</span><span id="L-542"><a href="#L-542"><span class="linenos"> 542</span></a> <span class="s2">&quot;AND&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">AND</span><span class="p">,</span>
-</span><span id="L-543"><a href="#L-543"><span class="linenos"> 543</span></a> <span class="s2">&quot;ANTI&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">ANTI</span><span class="p">,</span>
-</span><span id="L-544"><a href="#L-544"><span class="linenos"> 544</span></a> <span class="s2">&quot;ANY&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">ANY</span><span class="p">,</span>
-</span><span id="L-545"><a href="#L-545"><span class="linenos"> 545</span></a> <span class="s2">&quot;ASC&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">ASC</span><span class="p">,</span>
-</span><span id="L-546"><a href="#L-546"><span class="linenos"> 546</span></a> <span class="s2">&quot;AS&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">ALIAS</span><span class="p">,</span>
-</span><span id="L-547"><a href="#L-547"><span class="linenos"> 547</span></a> <span class="s2">&quot;ASOF&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">ASOF</span><span class="p">,</span>
-</span><span id="L-548"><a href="#L-548"><span class="linenos"> 548</span></a> <span class="s2">&quot;AUTOINCREMENT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">AUTO_INCREMENT</span><span class="p">,</span>
-</span><span id="L-549"><a href="#L-549"><span class="linenos"> 549</span></a> <span class="s2">&quot;AUTO_INCREMENT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">AUTO_INCREMENT</span><span class="p">,</span>
-</span><span id="L-550"><a href="#L-550"><span class="linenos"> 550</span></a> <span class="s2">&quot;BEGIN&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BEGIN</span><span class="p">,</span>
-</span><span id="L-551"><a href="#L-551"><span class="linenos"> 551</span></a> <span class="s2">&quot;BETWEEN&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BETWEEN</span><span class="p">,</span>
-</span><span id="L-552"><a href="#L-552"><span class="linenos"> 552</span></a> <span class="s2">&quot;CACHE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">CACHE</span><span class="p">,</span>
-</span><span id="L-553"><a href="#L-553"><span class="linenos"> 553</span></a> <span class="s2">&quot;UNCACHE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">UNCACHE</span><span class="p">,</span>
-</span><span id="L-554"><a href="#L-554"><span class="linenos"> 554</span></a> <span class="s2">&quot;CASE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">CASE</span><span class="p">,</span>
-</span><span id="L-555"><a href="#L-555"><span class="linenos"> 555</span></a> <span class="s2">&quot;CHARACTER SET&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">CHARACTER_SET</span><span class="p">,</span>
-</span><span id="L-556"><a href="#L-556"><span class="linenos"> 556</span></a> <span class="s2">&quot;CLUSTER BY&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">CLUSTER_BY</span><span class="p">,</span>
-</span><span id="L-557"><a href="#L-557"><span class="linenos"> 557</span></a> <span class="s2">&quot;COLLATE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COLLATE</span><span class="p">,</span>
-</span><span id="L-558"><a href="#L-558"><span class="linenos"> 558</span></a> <span class="s2">&quot;COLUMN&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COLUMN</span><span class="p">,</span>
-</span><span id="L-559"><a href="#L-559"><span class="linenos"> 559</span></a> <span class="s2">&quot;COMMIT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMIT</span><span class="p">,</span>
-</span><span id="L-560"><a href="#L-560"><span class="linenos"> 560</span></a> <span class="s2">&quot;CONNECT BY&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">CONNECT_BY</span><span class="p">,</span>
-</span><span id="L-561"><a href="#L-561"><span class="linenos"> 561</span></a> <span class="s2">&quot;CONSTRAINT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">CONSTRAINT</span><span class="p">,</span>
-</span><span id="L-562"><a href="#L-562"><span class="linenos"> 562</span></a> <span class="s2">&quot;CREATE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">CREATE</span><span class="p">,</span>
-</span><span id="L-563"><a href="#L-563"><span class="linenos"> 563</span></a> <span class="s2">&quot;CROSS&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">CROSS</span><span class="p">,</span>
-</span><span id="L-564"><a href="#L-564"><span class="linenos"> 564</span></a> <span class="s2">&quot;CUBE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">CUBE</span><span class="p">,</span>
-</span><span id="L-565"><a href="#L-565"><span class="linenos"> 565</span></a> <span class="s2">&quot;CURRENT_DATE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">CURRENT_DATE</span><span class="p">,</span>
-</span><span id="L-566"><a href="#L-566"><span class="linenos"> 566</span></a> <span class="s2">&quot;CURRENT_TIME&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">CURRENT_TIME</span><span class="p">,</span>
-</span><span id="L-567"><a href="#L-567"><span class="linenos"> 567</span></a> <span class="s2">&quot;CURRENT_TIMESTAMP&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">CURRENT_TIMESTAMP</span><span class="p">,</span>
-</span><span id="L-568"><a href="#L-568"><span class="linenos"> 568</span></a> <span class="s2">&quot;CURRENT_USER&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">CURRENT_USER</span><span class="p">,</span>
-</span><span id="L-569"><a href="#L-569"><span class="linenos"> 569</span></a> <span class="s2">&quot;DATABASE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DATABASE</span><span class="p">,</span>
-</span><span id="L-570"><a href="#L-570"><span class="linenos"> 570</span></a> <span class="s2">&quot;DEFAULT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DEFAULT</span><span class="p">,</span>
-</span><span id="L-571"><a href="#L-571"><span class="linenos"> 571</span></a> <span class="s2">&quot;DELETE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DELETE</span><span class="p">,</span>
-</span><span id="L-572"><a href="#L-572"><span class="linenos"> 572</span></a> <span class="s2">&quot;DESC&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DESC</span><span class="p">,</span>
-</span><span id="L-573"><a href="#L-573"><span class="linenos"> 573</span></a> <span class="s2">&quot;DESCRIBE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DESCRIBE</span><span class="p">,</span>
-</span><span id="L-574"><a href="#L-574"><span class="linenos"> 574</span></a> <span class="s2">&quot;DISTINCT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DISTINCT</span><span class="p">,</span>
-</span><span id="L-575"><a href="#L-575"><span class="linenos"> 575</span></a> <span class="s2">&quot;DISTRIBUTE BY&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DISTRIBUTE_BY</span><span class="p">,</span>
-</span><span id="L-576"><a href="#L-576"><span class="linenos"> 576</span></a> <span class="s2">&quot;DIV&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DIV</span><span class="p">,</span>
-</span><span id="L-577"><a href="#L-577"><span class="linenos"> 577</span></a> <span class="s2">&quot;DROP&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DROP</span><span class="p">,</span>
-</span><span id="L-578"><a href="#L-578"><span class="linenos"> 578</span></a> <span class="s2">&quot;ELSE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">ELSE</span><span class="p">,</span>
-</span><span id="L-579"><a href="#L-579"><span class="linenos"> 579</span></a> <span class="s2">&quot;END&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">END</span><span class="p">,</span>
-</span><span id="L-580"><a href="#L-580"><span class="linenos"> 580</span></a> <span class="s2">&quot;ESCAPE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">ESCAPE</span><span class="p">,</span>
-</span><span id="L-581"><a href="#L-581"><span class="linenos"> 581</span></a> <span class="s2">&quot;EXCEPT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">EXCEPT</span><span class="p">,</span>
-</span><span id="L-582"><a href="#L-582"><span class="linenos"> 582</span></a> <span class="s2">&quot;EXECUTE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">EXECUTE</span><span class="p">,</span>
-</span><span id="L-583"><a href="#L-583"><span class="linenos"> 583</span></a> <span class="s2">&quot;EXISTS&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">EXISTS</span><span class="p">,</span>
-</span><span id="L-584"><a href="#L-584"><span class="linenos"> 584</span></a> <span class="s2">&quot;FALSE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">FALSE</span><span class="p">,</span>
-</span><span id="L-585"><a href="#L-585"><span class="linenos"> 585</span></a> <span class="s2">&quot;FETCH&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">FETCH</span><span class="p">,</span>
-</span><span id="L-586"><a href="#L-586"><span class="linenos"> 586</span></a> <span class="s2">&quot;FILTER&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">FILTER</span><span class="p">,</span>
-</span><span id="L-587"><a href="#L-587"><span class="linenos"> 587</span></a> <span class="s2">&quot;FIRST&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">FIRST</span><span class="p">,</span>
-</span><span id="L-588"><a href="#L-588"><span class="linenos"> 588</span></a> <span class="s2">&quot;FULL&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">FULL</span><span class="p">,</span>
-</span><span id="L-589"><a href="#L-589"><span class="linenos"> 589</span></a> <span class="s2">&quot;FUNCTION&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">FUNCTION</span><span class="p">,</span>
-</span><span id="L-590"><a href="#L-590"><span class="linenos"> 590</span></a> <span class="s2">&quot;FOR&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">FOR</span><span class="p">,</span>
-</span><span id="L-591"><a href="#L-591"><span class="linenos"> 591</span></a> <span class="s2">&quot;FOREIGN KEY&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">FOREIGN_KEY</span><span class="p">,</span>
-</span><span id="L-592"><a href="#L-592"><span class="linenos"> 592</span></a> <span class="s2">&quot;FORMAT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">FORMAT</span><span class="p">,</span>
-</span><span id="L-593"><a href="#L-593"><span class="linenos"> 593</span></a> <span class="s2">&quot;FROM&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">FROM</span><span class="p">,</span>
-</span><span id="L-594"><a href="#L-594"><span class="linenos"> 594</span></a> <span class="s2">&quot;GEOGRAPHY&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">GEOGRAPHY</span><span class="p">,</span>
-</span><span id="L-595"><a href="#L-595"><span class="linenos"> 595</span></a> <span class="s2">&quot;GEOMETRY&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">GEOMETRY</span><span class="p">,</span>
-</span><span id="L-596"><a href="#L-596"><span class="linenos"> 596</span></a> <span class="s2">&quot;GLOB&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">GLOB</span><span class="p">,</span>
-</span><span id="L-597"><a href="#L-597"><span class="linenos"> 597</span></a> <span class="s2">&quot;GROUP BY&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">GROUP_BY</span><span class="p">,</span>
-</span><span id="L-598"><a href="#L-598"><span class="linenos"> 598</span></a> <span class="s2">&quot;GROUPING SETS&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">GROUPING_SETS</span><span class="p">,</span>
-</span><span id="L-599"><a href="#L-599"><span class="linenos"> 599</span></a> <span class="s2">&quot;HAVING&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">HAVING</span><span class="p">,</span>
-</span><span id="L-600"><a href="#L-600"><span class="linenos"> 600</span></a> <span class="s2">&quot;ILIKE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">ILIKE</span><span class="p">,</span>
-</span><span id="L-601"><a href="#L-601"><span class="linenos"> 601</span></a> <span class="s2">&quot;IN&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">IN</span><span class="p">,</span>
-</span><span id="L-602"><a href="#L-602"><span class="linenos"> 602</span></a> <span class="s2">&quot;INDEX&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">INDEX</span><span class="p">,</span>
-</span><span id="L-603"><a href="#L-603"><span class="linenos"> 603</span></a> <span class="s2">&quot;INET&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">INET</span><span class="p">,</span>
-</span><span id="L-604"><a href="#L-604"><span class="linenos"> 604</span></a> <span class="s2">&quot;INNER&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">INNER</span><span class="p">,</span>
-</span><span id="L-605"><a href="#L-605"><span class="linenos"> 605</span></a> <span class="s2">&quot;INSERT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">INSERT</span><span class="p">,</span>
-</span><span id="L-606"><a href="#L-606"><span class="linenos"> 606</span></a> <span class="s2">&quot;INTERVAL&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">INTERVAL</span><span class="p">,</span>
-</span><span id="L-607"><a href="#L-607"><span class="linenos"> 607</span></a> <span class="s2">&quot;INTERSECT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">INTERSECT</span><span class="p">,</span>
-</span><span id="L-608"><a href="#L-608"><span class="linenos"> 608</span></a> <span class="s2">&quot;INTO&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">INTO</span><span class="p">,</span>
-</span><span id="L-609"><a href="#L-609"><span class="linenos"> 609</span></a> <span class="s2">&quot;IS&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">IS</span><span class="p">,</span>
-</span><span id="L-610"><a href="#L-610"><span class="linenos"> 610</span></a> <span class="s2">&quot;ISNULL&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">ISNULL</span><span class="p">,</span>
-</span><span id="L-611"><a href="#L-611"><span class="linenos"> 611</span></a> <span class="s2">&quot;JOIN&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">JOIN</span><span class="p">,</span>
-</span><span id="L-612"><a href="#L-612"><span class="linenos"> 612</span></a> <span class="s2">&quot;KEEP&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">KEEP</span><span class="p">,</span>
-</span><span id="L-613"><a href="#L-613"><span class="linenos"> 613</span></a> <span class="s2">&quot;KILL&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">KILL</span><span class="p">,</span>
-</span><span id="L-614"><a href="#L-614"><span class="linenos"> 614</span></a> <span class="s2">&quot;LATERAL&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">LATERAL</span><span class="p">,</span>
-</span><span id="L-615"><a href="#L-615"><span class="linenos"> 615</span></a> <span class="s2">&quot;LEFT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">LEFT</span><span class="p">,</span>
-</span><span id="L-616"><a href="#L-616"><span class="linenos"> 616</span></a> <span class="s2">&quot;LIKE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">LIKE</span><span class="p">,</span>
-</span><span id="L-617"><a href="#L-617"><span class="linenos"> 617</span></a> <span class="s2">&quot;LIMIT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">LIMIT</span><span class="p">,</span>
-</span><span id="L-618"><a href="#L-618"><span class="linenos"> 618</span></a> <span class="s2">&quot;LOAD&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">LOAD</span><span class="p">,</span>
-</span><span id="L-619"><a href="#L-619"><span class="linenos"> 619</span></a> <span class="s2">&quot;LOCK&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">LOCK</span><span class="p">,</span>
-</span><span id="L-620"><a href="#L-620"><span class="linenos"> 620</span></a> <span class="s2">&quot;MERGE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">MERGE</span><span class="p">,</span>
-</span><span id="L-621"><a href="#L-621"><span class="linenos"> 621</span></a> <span class="s2">&quot;NATURAL&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">NATURAL</span><span class="p">,</span>
-</span><span id="L-622"><a href="#L-622"><span class="linenos"> 622</span></a> <span class="s2">&quot;NEXT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">NEXT</span><span class="p">,</span>
-</span><span id="L-623"><a href="#L-623"><span class="linenos"> 623</span></a> <span class="s2">&quot;NOT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">NOT</span><span class="p">,</span>
-</span><span id="L-624"><a href="#L-624"><span class="linenos"> 624</span></a> <span class="s2">&quot;NOTNULL&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">NOTNULL</span><span class="p">,</span>
-</span><span id="L-625"><a href="#L-625"><span class="linenos"> 625</span></a> <span class="s2">&quot;NULL&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">NULL</span><span class="p">,</span>
-</span><span id="L-626"><a href="#L-626"><span class="linenos"> 626</span></a> <span class="s2">&quot;OBJECT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">OBJECT</span><span class="p">,</span>
-</span><span id="L-627"><a href="#L-627"><span class="linenos"> 627</span></a> <span class="s2">&quot;OFFSET&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">OFFSET</span><span class="p">,</span>
-</span><span id="L-628"><a href="#L-628"><span class="linenos"> 628</span></a> <span class="s2">&quot;ON&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">ON</span><span class="p">,</span>
-</span><span id="L-629"><a href="#L-629"><span class="linenos"> 629</span></a> <span class="s2">&quot;OR&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">OR</span><span class="p">,</span>
-</span><span id="L-630"><a href="#L-630"><span class="linenos"> 630</span></a> <span class="s2">&quot;XOR&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">XOR</span><span class="p">,</span>
-</span><span id="L-631"><a href="#L-631"><span class="linenos"> 631</span></a> <span class="s2">&quot;ORDER BY&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">ORDER_BY</span><span class="p">,</span>
-</span><span id="L-632"><a href="#L-632"><span class="linenos"> 632</span></a> <span class="s2">&quot;ORDINALITY&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">ORDINALITY</span><span class="p">,</span>
-</span><span id="L-633"><a href="#L-633"><span class="linenos"> 633</span></a> <span class="s2">&quot;OUTER&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">OUTER</span><span class="p">,</span>
-</span><span id="L-634"><a href="#L-634"><span class="linenos"> 634</span></a> <span class="s2">&quot;OVER&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">OVER</span><span class="p">,</span>
-</span><span id="L-635"><a href="#L-635"><span class="linenos"> 635</span></a> <span class="s2">&quot;OVERLAPS&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">OVERLAPS</span><span class="p">,</span>
-</span><span id="L-636"><a href="#L-636"><span class="linenos"> 636</span></a> <span class="s2">&quot;OVERWRITE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">OVERWRITE</span><span class="p">,</span>
-</span><span id="L-637"><a href="#L-637"><span class="linenos"> 637</span></a> <span class="s2">&quot;PARTITION&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">PARTITION</span><span class="p">,</span>
-</span><span id="L-638"><a href="#L-638"><span class="linenos"> 638</span></a> <span class="s2">&quot;PARTITION BY&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">PARTITION_BY</span><span class="p">,</span>
-</span><span id="L-639"><a href="#L-639"><span class="linenos"> 639</span></a> <span class="s2">&quot;PARTITIONED BY&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">PARTITION_BY</span><span class="p">,</span>
-</span><span id="L-640"><a href="#L-640"><span class="linenos"> 640</span></a> <span class="s2">&quot;PARTITIONED_BY&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">PARTITION_BY</span><span class="p">,</span>
-</span><span id="L-641"><a href="#L-641"><span class="linenos"> 641</span></a> <span class="s2">&quot;PERCENT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">PERCENT</span><span class="p">,</span>
-</span><span id="L-642"><a href="#L-642"><span class="linenos"> 642</span></a> <span class="s2">&quot;PIVOT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">PIVOT</span><span class="p">,</span>
-</span><span id="L-643"><a href="#L-643"><span class="linenos"> 643</span></a> <span class="s2">&quot;PRAGMA&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">PRAGMA</span><span class="p">,</span>
-</span><span id="L-644"><a href="#L-644"><span class="linenos"> 644</span></a> <span class="s2">&quot;PRIMARY KEY&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">PRIMARY_KEY</span><span class="p">,</span>
-</span><span id="L-645"><a href="#L-645"><span class="linenos"> 645</span></a> <span class="s2">&quot;PROCEDURE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">PROCEDURE</span><span class="p">,</span>
-</span><span id="L-646"><a href="#L-646"><span class="linenos"> 646</span></a> <span class="s2">&quot;QUALIFY&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">QUALIFY</span><span class="p">,</span>
-</span><span id="L-647"><a href="#L-647"><span class="linenos"> 647</span></a> <span class="s2">&quot;RANGE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">RANGE</span><span class="p">,</span>
-</span><span id="L-648"><a href="#L-648"><span class="linenos"> 648</span></a> <span class="s2">&quot;RECURSIVE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">RECURSIVE</span><span class="p">,</span>
-</span><span id="L-649"><a href="#L-649"><span class="linenos"> 649</span></a> <span class="s2">&quot;REGEXP&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">RLIKE</span><span class="p">,</span>
-</span><span id="L-650"><a href="#L-650"><span class="linenos"> 650</span></a> <span class="s2">&quot;REPLACE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">REPLACE</span><span class="p">,</span>
-</span><span id="L-651"><a href="#L-651"><span class="linenos"> 651</span></a> <span class="s2">&quot;RETURNING&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">RETURNING</span><span class="p">,</span>
-</span><span id="L-652"><a href="#L-652"><span class="linenos"> 652</span></a> <span class="s2">&quot;REFERENCES&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">REFERENCES</span><span class="p">,</span>
-</span><span id="L-653"><a href="#L-653"><span class="linenos"> 653</span></a> <span class="s2">&quot;RIGHT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">RIGHT</span><span class="p">,</span>
-</span><span id="L-654"><a href="#L-654"><span class="linenos"> 654</span></a> <span class="s2">&quot;RLIKE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">RLIKE</span><span class="p">,</span>
-</span><span id="L-655"><a href="#L-655"><span class="linenos"> 655</span></a> <span class="s2">&quot;ROLLBACK&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">ROLLBACK</span><span class="p">,</span>
-</span><span id="L-656"><a href="#L-656"><span class="linenos"> 656</span></a> <span class="s2">&quot;ROLLUP&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">ROLLUP</span><span class="p">,</span>
-</span><span id="L-657"><a href="#L-657"><span class="linenos"> 657</span></a> <span class="s2">&quot;ROW&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">ROW</span><span class="p">,</span>
-</span><span id="L-658"><a href="#L-658"><span class="linenos"> 658</span></a> <span class="s2">&quot;ROWS&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">ROWS</span><span class="p">,</span>
-</span><span id="L-659"><a href="#L-659"><span class="linenos"> 659</span></a> <span class="s2">&quot;SCHEMA&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">SCHEMA</span><span class="p">,</span>
-</span><span id="L-660"><a href="#L-660"><span class="linenos"> 660</span></a> <span class="s2">&quot;SELECT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">SELECT</span><span class="p">,</span>
-</span><span id="L-661"><a href="#L-661"><span class="linenos"> 661</span></a> <span class="s2">&quot;SEMI&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">SEMI</span><span class="p">,</span>
-</span><span id="L-662"><a href="#L-662"><span class="linenos"> 662</span></a> <span class="s2">&quot;SET&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">SET</span><span class="p">,</span>
-</span><span id="L-663"><a href="#L-663"><span class="linenos"> 663</span></a> <span class="s2">&quot;SETTINGS&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">SETTINGS</span><span class="p">,</span>
-</span><span id="L-664"><a href="#L-664"><span class="linenos"> 664</span></a> <span class="s2">&quot;SHOW&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">SHOW</span><span class="p">,</span>
-</span><span id="L-665"><a href="#L-665"><span class="linenos"> 665</span></a> <span class="s2">&quot;SIMILAR TO&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">SIMILAR_TO</span><span class="p">,</span>
-</span><span id="L-666"><a href="#L-666"><span class="linenos"> 666</span></a> <span class="s2">&quot;SOME&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">SOME</span><span class="p">,</span>
-</span><span id="L-667"><a href="#L-667"><span class="linenos"> 667</span></a> <span class="s2">&quot;SORT BY&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">SORT_BY</span><span class="p">,</span>
-</span><span id="L-668"><a href="#L-668"><span class="linenos"> 668</span></a> <span class="s2">&quot;START WITH&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">START_WITH</span><span class="p">,</span>
-</span><span id="L-669"><a href="#L-669"><span class="linenos"> 669</span></a> <span class="s2">&quot;TABLE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TABLE</span><span class="p">,</span>
-</span><span id="L-670"><a href="#L-670"><span class="linenos"> 670</span></a> <span class="s2">&quot;TABLESAMPLE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TABLE_SAMPLE</span><span class="p">,</span>
-</span><span id="L-671"><a href="#L-671"><span class="linenos"> 671</span></a> <span class="s2">&quot;TEMP&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TEMPORARY</span><span class="p">,</span>
-</span><span id="L-672"><a href="#L-672"><span class="linenos"> 672</span></a> <span class="s2">&quot;TEMPORARY&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TEMPORARY</span><span class="p">,</span>
-</span><span id="L-673"><a href="#L-673"><span class="linenos"> 673</span></a> <span class="s2">&quot;THEN&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">THEN</span><span class="p">,</span>
-</span><span id="L-674"><a href="#L-674"><span class="linenos"> 674</span></a> <span class="s2">&quot;TRUE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TRUE</span><span class="p">,</span>
-</span><span id="L-675"><a href="#L-675"><span class="linenos"> 675</span></a> <span class="s2">&quot;UNION&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">UNION</span><span class="p">,</span>
-</span><span id="L-676"><a href="#L-676"><span class="linenos"> 676</span></a> <span class="s2">&quot;UNKNOWN&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">UNKNOWN</span><span class="p">,</span>
-</span><span id="L-677"><a href="#L-677"><span class="linenos"> 677</span></a> <span class="s2">&quot;UNNEST&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">UNNEST</span><span class="p">,</span>
-</span><span id="L-678"><a href="#L-678"><span class="linenos"> 678</span></a> <span class="s2">&quot;UNPIVOT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">UNPIVOT</span><span class="p">,</span>
-</span><span id="L-679"><a href="#L-679"><span class="linenos"> 679</span></a> <span class="s2">&quot;UPDATE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">UPDATE</span><span class="p">,</span>
-</span><span id="L-680"><a href="#L-680"><span class="linenos"> 680</span></a> <span class="s2">&quot;USE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">USE</span><span class="p">,</span>
-</span><span id="L-681"><a href="#L-681"><span class="linenos"> 681</span></a> <span class="s2">&quot;USING&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">USING</span><span class="p">,</span>
-</span><span id="L-682"><a href="#L-682"><span class="linenos"> 682</span></a> <span class="s2">&quot;UUID&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">UUID</span><span class="p">,</span>
-</span><span id="L-683"><a href="#L-683"><span class="linenos"> 683</span></a> <span class="s2">&quot;VALUES&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">VALUES</span><span class="p">,</span>
-</span><span id="L-684"><a href="#L-684"><span class="linenos"> 684</span></a> <span class="s2">&quot;VIEW&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">VIEW</span><span class="p">,</span>
-</span><span id="L-685"><a href="#L-685"><span class="linenos"> 685</span></a> <span class="s2">&quot;VOLATILE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">VOLATILE</span><span class="p">,</span>
-</span><span id="L-686"><a href="#L-686"><span class="linenos"> 686</span></a> <span class="s2">&quot;WHEN&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">WHEN</span><span class="p">,</span>
-</span><span id="L-687"><a href="#L-687"><span class="linenos"> 687</span></a> <span class="s2">&quot;WHERE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">WHERE</span><span class="p">,</span>
-</span><span id="L-688"><a href="#L-688"><span class="linenos"> 688</span></a> <span class="s2">&quot;WINDOW&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">WINDOW</span><span class="p">,</span>
-</span><span id="L-689"><a href="#L-689"><span class="linenos"> 689</span></a> <span class="s2">&quot;WITH&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">WITH</span><span class="p">,</span>
-</span><span id="L-690"><a href="#L-690"><span class="linenos"> 690</span></a> <span class="s2">&quot;APPLY&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">APPLY</span><span class="p">,</span>
-</span><span id="L-691"><a href="#L-691"><span class="linenos"> 691</span></a> <span class="s2">&quot;ARRAY&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">ARRAY</span><span class="p">,</span>
-</span><span id="L-692"><a href="#L-692"><span class="linenos"> 692</span></a> <span class="s2">&quot;BIT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BIT</span><span class="p">,</span>
-</span><span id="L-693"><a href="#L-693"><span class="linenos"> 693</span></a> <span class="s2">&quot;BOOL&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BOOLEAN</span><span class="p">,</span>
-</span><span id="L-694"><a href="#L-694"><span class="linenos"> 694</span></a> <span class="s2">&quot;BOOLEAN&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BOOLEAN</span><span class="p">,</span>
-</span><span id="L-695"><a href="#L-695"><span class="linenos"> 695</span></a> <span class="s2">&quot;BYTE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TINYINT</span><span class="p">,</span>
-</span><span id="L-696"><a href="#L-696"><span class="linenos"> 696</span></a> <span class="s2">&quot;MEDIUMINT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">MEDIUMINT</span><span class="p">,</span>
-</span><span id="L-697"><a href="#L-697"><span class="linenos"> 697</span></a> <span class="s2">&quot;INT1&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TINYINT</span><span class="p">,</span>
-</span><span id="L-698"><a href="#L-698"><span class="linenos"> 698</span></a> <span class="s2">&quot;TINYINT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TINYINT</span><span class="p">,</span>
-</span><span id="L-699"><a href="#L-699"><span class="linenos"> 699</span></a> <span class="s2">&quot;INT16&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">SMALLINT</span><span class="p">,</span>
-</span><span id="L-700"><a href="#L-700"><span class="linenos"> 700</span></a> <span class="s2">&quot;SHORT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">SMALLINT</span><span class="p">,</span>
-</span><span id="L-701"><a href="#L-701"><span class="linenos"> 701</span></a> <span class="s2">&quot;SMALLINT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">SMALLINT</span><span class="p">,</span>
-</span><span id="L-702"><a href="#L-702"><span class="linenos"> 702</span></a> <span class="s2">&quot;INT128&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">INT128</span><span class="p">,</span>
-</span><span id="L-703"><a href="#L-703"><span class="linenos"> 703</span></a> <span class="s2">&quot;HUGEINT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">INT128</span><span class="p">,</span>
-</span><span id="L-704"><a href="#L-704"><span class="linenos"> 704</span></a> <span class="s2">&quot;INT2&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">SMALLINT</span><span class="p">,</span>
-</span><span id="L-705"><a href="#L-705"><span class="linenos"> 705</span></a> <span class="s2">&quot;INTEGER&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">INT</span><span class="p">,</span>
-</span><span id="L-706"><a href="#L-706"><span class="linenos"> 706</span></a> <span class="s2">&quot;INT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">INT</span><span class="p">,</span>
-</span><span id="L-707"><a href="#L-707"><span class="linenos"> 707</span></a> <span class="s2">&quot;INT4&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">INT</span><span class="p">,</span>
-</span><span id="L-708"><a href="#L-708"><span class="linenos"> 708</span></a> <span class="s2">&quot;INT32&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">INT</span><span class="p">,</span>
-</span><span id="L-709"><a href="#L-709"><span class="linenos"> 709</span></a> <span class="s2">&quot;INT64&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BIGINT</span><span class="p">,</span>
-</span><span id="L-710"><a href="#L-710"><span class="linenos"> 710</span></a> <span class="s2">&quot;LONG&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BIGINT</span><span class="p">,</span>
-</span><span id="L-711"><a href="#L-711"><span class="linenos"> 711</span></a> <span class="s2">&quot;BIGINT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BIGINT</span><span class="p">,</span>
-</span><span id="L-712"><a href="#L-712"><span class="linenos"> 712</span></a> <span class="s2">&quot;INT8&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TINYINT</span><span class="p">,</span>
-</span><span id="L-713"><a href="#L-713"><span class="linenos"> 713</span></a> <span class="s2">&quot;DEC&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DECIMAL</span><span class="p">,</span>
-</span><span id="L-714"><a href="#L-714"><span class="linenos"> 714</span></a> <span class="s2">&quot;DECIMAL&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DECIMAL</span><span class="p">,</span>
-</span><span id="L-715"><a href="#L-715"><span class="linenos"> 715</span></a> <span class="s2">&quot;BIGDECIMAL&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BIGDECIMAL</span><span class="p">,</span>
-</span><span id="L-716"><a href="#L-716"><span class="linenos"> 716</span></a> <span class="s2">&quot;BIGNUMERIC&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BIGDECIMAL</span><span class="p">,</span>
-</span><span id="L-717"><a href="#L-717"><span class="linenos"> 717</span></a> <span class="s2">&quot;MAP&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">MAP</span><span class="p">,</span>
-</span><span id="L-718"><a href="#L-718"><span class="linenos"> 718</span></a> <span class="s2">&quot;NULLABLE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">NULLABLE</span><span class="p">,</span>
-</span><span id="L-719"><a href="#L-719"><span class="linenos"> 719</span></a> <span class="s2">&quot;NUMBER&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DECIMAL</span><span class="p">,</span>
-</span><span id="L-720"><a href="#L-720"><span class="linenos"> 720</span></a> <span class="s2">&quot;NUMERIC&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DECIMAL</span><span class="p">,</span>
-</span><span id="L-721"><a href="#L-721"><span class="linenos"> 721</span></a> <span class="s2">&quot;FIXED&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DECIMAL</span><span class="p">,</span>
-</span><span id="L-722"><a href="#L-722"><span class="linenos"> 722</span></a> <span class="s2">&quot;REAL&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">FLOAT</span><span class="p">,</span>
-</span><span id="L-723"><a href="#L-723"><span class="linenos"> 723</span></a> <span class="s2">&quot;FLOAT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">FLOAT</span><span class="p">,</span>
-</span><span id="L-724"><a href="#L-724"><span class="linenos"> 724</span></a> <span class="s2">&quot;FLOAT4&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">FLOAT</span><span class="p">,</span>
-</span><span id="L-725"><a href="#L-725"><span class="linenos"> 725</span></a> <span class="s2">&quot;FLOAT8&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DOUBLE</span><span class="p">,</span>
-</span><span id="L-726"><a href="#L-726"><span class="linenos"> 726</span></a> <span class="s2">&quot;DOUBLE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DOUBLE</span><span class="p">,</span>
-</span><span id="L-727"><a href="#L-727"><span class="linenos"> 727</span></a> <span class="s2">&quot;DOUBLE PRECISION&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DOUBLE</span><span class="p">,</span>
-</span><span id="L-728"><a href="#L-728"><span class="linenos"> 728</span></a> <span class="s2">&quot;JSON&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">JSON</span><span class="p">,</span>
-</span><span id="L-729"><a href="#L-729"><span class="linenos"> 729</span></a> <span class="s2">&quot;CHAR&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">CHAR</span><span class="p">,</span>
-</span><span id="L-730"><a href="#L-730"><span class="linenos"> 730</span></a> <span class="s2">&quot;CHARACTER&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">CHAR</span><span class="p">,</span>
-</span><span id="L-731"><a href="#L-731"><span class="linenos"> 731</span></a> <span class="s2">&quot;NCHAR&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">NCHAR</span><span class="p">,</span>
-</span><span id="L-732"><a href="#L-732"><span class="linenos"> 732</span></a> <span class="s2">&quot;VARCHAR&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">VARCHAR</span><span class="p">,</span>
-</span><span id="L-733"><a href="#L-733"><span class="linenos"> 733</span></a> <span class="s2">&quot;VARCHAR2&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">VARCHAR</span><span class="p">,</span>
-</span><span id="L-734"><a href="#L-734"><span class="linenos"> 734</span></a> <span class="s2">&quot;NVARCHAR&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">NVARCHAR</span><span class="p">,</span>
-</span><span id="L-735"><a href="#L-735"><span class="linenos"> 735</span></a> <span class="s2">&quot;NVARCHAR2&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">NVARCHAR</span><span class="p">,</span>
-</span><span id="L-736"><a href="#L-736"><span class="linenos"> 736</span></a> <span class="s2">&quot;STR&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TEXT</span><span class="p">,</span>
-</span><span id="L-737"><a href="#L-737"><span class="linenos"> 737</span></a> <span class="s2">&quot;STRING&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TEXT</span><span class="p">,</span>
-</span><span id="L-738"><a href="#L-738"><span class="linenos"> 738</span></a> <span class="s2">&quot;TEXT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TEXT</span><span class="p">,</span>
-</span><span id="L-739"><a href="#L-739"><span class="linenos"> 739</span></a> <span class="s2">&quot;LONGTEXT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">LONGTEXT</span><span class="p">,</span>
-</span><span id="L-740"><a href="#L-740"><span class="linenos"> 740</span></a> <span class="s2">&quot;MEDIUMTEXT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">MEDIUMTEXT</span><span class="p">,</span>
-</span><span id="L-741"><a href="#L-741"><span class="linenos"> 741</span></a> <span class="s2">&quot;TINYTEXT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TINYTEXT</span><span class="p">,</span>
-</span><span id="L-742"><a href="#L-742"><span class="linenos"> 742</span></a> <span class="s2">&quot;CLOB&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TEXT</span><span class="p">,</span>
-</span><span id="L-743"><a href="#L-743"><span class="linenos"> 743</span></a> <span class="s2">&quot;LONGVARCHAR&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TEXT</span><span class="p">,</span>
-</span><span id="L-744"><a href="#L-744"><span class="linenos"> 744</span></a> <span class="s2">&quot;BINARY&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BINARY</span><span class="p">,</span>
-</span><span id="L-745"><a href="#L-745"><span class="linenos"> 745</span></a> <span class="s2">&quot;BLOB&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">VARBINARY</span><span class="p">,</span>
-</span><span id="L-746"><a href="#L-746"><span class="linenos"> 746</span></a> <span class="s2">&quot;LONGBLOB&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">LONGBLOB</span><span class="p">,</span>
-</span><span id="L-747"><a href="#L-747"><span class="linenos"> 747</span></a> <span class="s2">&quot;MEDIUMBLOB&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">MEDIUMBLOB</span><span class="p">,</span>
-</span><span id="L-748"><a href="#L-748"><span class="linenos"> 748</span></a> <span class="s2">&quot;TINYBLOB&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TINYBLOB</span><span class="p">,</span>
-</span><span id="L-749"><a href="#L-749"><span class="linenos"> 749</span></a> <span class="s2">&quot;BYTEA&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">VARBINARY</span><span class="p">,</span>
-</span><span id="L-750"><a href="#L-750"><span class="linenos"> 750</span></a> <span class="s2">&quot;VARBINARY&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">VARBINARY</span><span class="p">,</span>
-</span><span id="L-751"><a href="#L-751"><span class="linenos"> 751</span></a> <span class="s2">&quot;TIME&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TIME</span><span class="p">,</span>
-</span><span id="L-752"><a href="#L-752"><span class="linenos"> 752</span></a> <span class="s2">&quot;TIMETZ&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TIMETZ</span><span class="p">,</span>
-</span><span id="L-753"><a href="#L-753"><span class="linenos"> 753</span></a> <span class="s2">&quot;TIMESTAMP&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TIMESTAMP</span><span class="p">,</span>
-</span><span id="L-754"><a href="#L-754"><span class="linenos"> 754</span></a> <span class="s2">&quot;TIMESTAMPTZ&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TIMESTAMPTZ</span><span class="p">,</span>
-</span><span id="L-755"><a href="#L-755"><span class="linenos"> 755</span></a> <span class="s2">&quot;TIMESTAMPLTZ&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TIMESTAMPLTZ</span><span class="p">,</span>
-</span><span id="L-756"><a href="#L-756"><span class="linenos"> 756</span></a> <span class="s2">&quot;DATE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DATE</span><span class="p">,</span>
-</span><span id="L-757"><a href="#L-757"><span class="linenos"> 757</span></a> <span class="s2">&quot;DATETIME&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DATETIME</span><span class="p">,</span>
-</span><span id="L-758"><a href="#L-758"><span class="linenos"> 758</span></a> <span class="s2">&quot;INT4RANGE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">INT4RANGE</span><span class="p">,</span>
-</span><span id="L-759"><a href="#L-759"><span class="linenos"> 759</span></a> <span class="s2">&quot;INT4MULTIRANGE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">INT4MULTIRANGE</span><span class="p">,</span>
-</span><span id="L-760"><a href="#L-760"><span class="linenos"> 760</span></a> <span class="s2">&quot;INT8RANGE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">INT8RANGE</span><span class="p">,</span>
-</span><span id="L-761"><a href="#L-761"><span class="linenos"> 761</span></a> <span class="s2">&quot;INT8MULTIRANGE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">INT8MULTIRANGE</span><span class="p">,</span>
-</span><span id="L-762"><a href="#L-762"><span class="linenos"> 762</span></a> <span class="s2">&quot;NUMRANGE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">NUMRANGE</span><span class="p">,</span>
-</span><span id="L-763"><a href="#L-763"><span class="linenos"> 763</span></a> <span class="s2">&quot;NUMMULTIRANGE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">NUMMULTIRANGE</span><span class="p">,</span>
-</span><span id="L-764"><a href="#L-764"><span class="linenos"> 764</span></a> <span class="s2">&quot;TSRANGE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TSRANGE</span><span class="p">,</span>
-</span><span id="L-765"><a href="#L-765"><span class="linenos"> 765</span></a> <span class="s2">&quot;TSMULTIRANGE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TSMULTIRANGE</span><span class="p">,</span>
-</span><span id="L-766"><a href="#L-766"><span class="linenos"> 766</span></a> <span class="s2">&quot;TSTZRANGE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TSTZRANGE</span><span class="p">,</span>
-</span><span id="L-767"><a href="#L-767"><span class="linenos"> 767</span></a> <span class="s2">&quot;TSTZMULTIRANGE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TSTZMULTIRANGE</span><span class="p">,</span>
-</span><span id="L-768"><a href="#L-768"><span class="linenos"> 768</span></a> <span class="s2">&quot;DATERANGE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DATERANGE</span><span class="p">,</span>
-</span><span id="L-769"><a href="#L-769"><span class="linenos"> 769</span></a> <span class="s2">&quot;DATEMULTIRANGE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DATEMULTIRANGE</span><span class="p">,</span>
-</span><span id="L-770"><a href="#L-770"><span class="linenos"> 770</span></a> <span class="s2">&quot;UNIQUE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">UNIQUE</span><span class="p">,</span>
-</span><span id="L-771"><a href="#L-771"><span class="linenos"> 771</span></a> <span class="s2">&quot;STRUCT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">STRUCT</span><span class="p">,</span>
-</span><span id="L-772"><a href="#L-772"><span class="linenos"> 772</span></a> <span class="s2">&quot;VARIANT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">VARIANT</span><span class="p">,</span>
-</span><span id="L-773"><a href="#L-773"><span class="linenos"> 773</span></a> <span class="s2">&quot;ALTER&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">ALTER</span><span class="p">,</span>
-</span><span id="L-774"><a href="#L-774"><span class="linenos"> 774</span></a> <span class="s2">&quot;ANALYZE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMAND</span><span class="p">,</span>
-</span><span id="L-775"><a href="#L-775"><span class="linenos"> 775</span></a> <span class="s2">&quot;CALL&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMAND</span><span class="p">,</span>
-</span><span id="L-776"><a href="#L-776"><span class="linenos"> 776</span></a> <span class="s2">&quot;COMMENT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMENT</span><span class="p">,</span>
-</span><span id="L-777"><a href="#L-777"><span class="linenos"> 777</span></a> <span class="s2">&quot;COPY&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMAND</span><span class="p">,</span>
-</span><span id="L-778"><a href="#L-778"><span class="linenos"> 778</span></a> <span class="s2">&quot;EXPLAIN&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMAND</span><span class="p">,</span>
-</span><span id="L-779"><a href="#L-779"><span class="linenos"> 779</span></a> <span class="s2">&quot;GRANT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMAND</span><span class="p">,</span>
-</span><span id="L-780"><a href="#L-780"><span class="linenos"> 780</span></a> <span class="s2">&quot;OPTIMIZE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMAND</span><span class="p">,</span>
-</span><span id="L-781"><a href="#L-781"><span class="linenos"> 781</span></a> <span class="s2">&quot;PREPARE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMAND</span><span class="p">,</span>
-</span><span id="L-782"><a href="#L-782"><span class="linenos"> 782</span></a> <span class="s2">&quot;TRUNCATE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMAND</span><span class="p">,</span>
-</span><span id="L-783"><a href="#L-783"><span class="linenos"> 783</span></a> <span class="s2">&quot;VACUUM&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMAND</span><span class="p">,</span>
-</span><span id="L-784"><a href="#L-784"><span class="linenos"> 784</span></a> <span class="s2">&quot;USER-DEFINED&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">USERDEFINED</span><span class="p">,</span>
-</span><span id="L-785"><a href="#L-785"><span class="linenos"> 785</span></a> <span class="s2">&quot;FOR VERSION&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">VERSION_SNAPSHOT</span><span class="p">,</span>
-</span><span id="L-786"><a href="#L-786"><span class="linenos"> 786</span></a> <span class="s2">&quot;FOR TIMESTAMP&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TIMESTAMP_SNAPSHOT</span><span class="p">,</span>
-</span><span id="L-787"><a href="#L-787"><span class="linenos"> 787</span></a> <span class="p">}</span>
-</span><span id="L-788"><a href="#L-788"><span class="linenos"> 788</span></a>
-</span><span id="L-789"><a href="#L-789"><span class="linenos"> 789</span></a> <span class="n">WHITE_SPACE</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">[</span><span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">],</span> <span class="n">TokenType</span><span class="p">]</span> <span class="o">=</span> <span class="p">{</span>
-</span><span id="L-790"><a href="#L-790"><span class="linenos"> 790</span></a> <span class="s2">&quot; &quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">SPACE</span><span class="p">,</span>
-</span><span id="L-791"><a href="#L-791"><span class="linenos"> 791</span></a> <span class="s2">&quot;</span><span class="se">\t</span><span class="s2">&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">SPACE</span><span class="p">,</span>
-</span><span id="L-792"><a href="#L-792"><span class="linenos"> 792</span></a> <span class="s2">&quot;</span><span class="se">\n</span><span class="s2">&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BREAK</span><span class="p">,</span>
-</span><span id="L-793"><a href="#L-793"><span class="linenos"> 793</span></a> <span class="s2">&quot;</span><span class="se">\r</span><span class="s2">&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BREAK</span><span class="p">,</span>
-</span><span id="L-794"><a href="#L-794"><span class="linenos"> 794</span></a> <span class="p">}</span>
-</span><span id="L-795"><a href="#L-795"><span class="linenos"> 795</span></a>
-</span><span id="L-796"><a href="#L-796"><span class="linenos"> 796</span></a> <span class="n">COMMANDS</span> <span class="o">=</span> <span class="p">{</span>
-</span><span id="L-797"><a href="#L-797"><span class="linenos"> 797</span></a> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMAND</span><span class="p">,</span>
-</span><span id="L-798"><a href="#L-798"><span class="linenos"> 798</span></a> <span class="n">TokenType</span><span class="o">.</span><span class="n">EXECUTE</span><span class="p">,</span>
-</span><span id="L-799"><a href="#L-799"><span class="linenos"> 799</span></a> <span class="n">TokenType</span><span class="o">.</span><span class="n">FETCH</span><span class="p">,</span>
-</span><span id="L-800"><a href="#L-800"><span class="linenos"> 800</span></a> <span class="n">TokenType</span><span class="o">.</span><span class="n">SHOW</span><span class="p">,</span>
-</span><span id="L-801"><a href="#L-801"><span class="linenos"> 801</span></a> <span class="p">}</span>
-</span><span id="L-802"><a href="#L-802"><span class="linenos"> 802</span></a>
-</span><span id="L-803"><a href="#L-803"><span class="linenos"> 803</span></a> <span class="n">COMMAND_PREFIX_TOKENS</span> <span class="o">=</span> <span class="p">{</span><span class="n">TokenType</span><span class="o">.</span><span class="n">SEMICOLON</span><span class="p">,</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BEGIN</span><span class="p">}</span>
-</span><span id="L-804"><a href="#L-804"><span class="linenos"> 804</span></a>
-</span><span id="L-805"><a href="#L-805"><span class="linenos"> 805</span></a> <span class="c1"># handle numeric literals like in hive (3L = BIGINT)</span>
-</span><span id="L-806"><a href="#L-806"><span class="linenos"> 806</span></a> <span class="n">NUMERIC_LITERALS</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="p">{}</span>
-</span><span id="L-807"><a href="#L-807"><span class="linenos"> 807</span></a> <span class="n">ENCODE</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span>
-</span><span id="L-808"><a href="#L-808"><span class="linenos"> 808</span></a>
-</span><span id="L-809"><a href="#L-809"><span class="linenos"> 809</span></a> <span class="n">COMMENTS</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;--&quot;</span><span class="p">,</span> <span class="p">(</span><span class="s2">&quot;/*&quot;</span><span class="p">,</span> <span class="s2">&quot;*/&quot;</span><span class="p">)]</span>
-</span><span id="L-810"><a href="#L-810"><span class="linenos"> 810</span></a>
-</span><span id="L-811"><a href="#L-811"><span class="linenos"> 811</span></a> <span class="vm">__slots__</span> <span class="o">=</span> <span class="p">(</span>
-</span><span id="L-812"><a href="#L-812"><span class="linenos"> 812</span></a> <span class="s2">&quot;sql&quot;</span><span class="p">,</span>
-</span><span id="L-813"><a href="#L-813"><span class="linenos"> 813</span></a> <span class="s2">&quot;size&quot;</span><span class="p">,</span>
-</span><span id="L-814"><a href="#L-814"><span class="linenos"> 814</span></a> <span class="s2">&quot;tokens&quot;</span><span class="p">,</span>
-</span><span id="L-815"><a href="#L-815"><span class="linenos"> 815</span></a> <span class="s2">&quot;dialect&quot;</span><span class="p">,</span>
-</span><span id="L-816"><a href="#L-816"><span class="linenos"> 816</span></a> <span class="s2">&quot;_start&quot;</span><span class="p">,</span>
-</span><span id="L-817"><a href="#L-817"><span class="linenos"> 817</span></a> <span class="s2">&quot;_current&quot;</span><span class="p">,</span>
-</span><span id="L-818"><a href="#L-818"><span class="linenos"> 818</span></a> <span class="s2">&quot;_line&quot;</span><span class="p">,</span>
-</span><span id="L-819"><a href="#L-819"><span class="linenos"> 819</span></a> <span class="s2">&quot;_col&quot;</span><span class="p">,</span>
-</span><span id="L-820"><a href="#L-820"><span class="linenos"> 820</span></a> <span class="s2">&quot;_comments&quot;</span><span class="p">,</span>
-</span><span id="L-821"><a href="#L-821"><span class="linenos"> 821</span></a> <span class="s2">&quot;_char&quot;</span><span class="p">,</span>
-</span><span id="L-822"><a href="#L-822"><span class="linenos"> 822</span></a> <span class="s2">&quot;_end&quot;</span><span class="p">,</span>
-</span><span id="L-823"><a href="#L-823"><span class="linenos"> 823</span></a> <span class="s2">&quot;_peek&quot;</span><span class="p">,</span>
-</span><span id="L-824"><a href="#L-824"><span class="linenos"> 824</span></a> <span class="s2">&quot;_prev_token_line&quot;</span><span class="p">,</span>
-</span><span id="L-825"><a href="#L-825"><span class="linenos"> 825</span></a> <span class="p">)</span>
-</span><span id="L-826"><a href="#L-826"><span class="linenos"> 826</span></a>
-</span><span id="L-827"><a href="#L-827"><span class="linenos"> 827</span></a> <span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">dialect</span><span class="p">:</span> <span class="n">DialectType</span> <span class="o">=</span> <span class="kc">None</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
-</span><span id="L-828"><a href="#L-828"><span class="linenos"> 828</span></a> <span class="kn">from</span> <span class="nn">sqlglot.dialects</span> <span class="kn">import</span> <span class="n">Dialect</span>
-</span><span id="L-829"><a href="#L-829"><span class="linenos"> 829</span></a>
-</span><span id="L-830"><a href="#L-830"><span class="linenos"> 830</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">dialect</span> <span class="o">=</span> <span class="n">Dialect</span><span class="o">.</span><span class="n">get_or_raise</span><span class="p">(</span><span class="n">dialect</span><span class="p">)</span>
-</span><span id="L-831"><a href="#L-831"><span class="linenos"> 831</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">reset</span><span class="p">()</span>
-</span><span id="L-832"><a href="#L-832"><span class="linenos"> 832</span></a>
-</span><span id="L-833"><a href="#L-833"><span class="linenos"> 833</span></a> <span class="k">def</span> <span class="nf">reset</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
-</span><span id="L-834"><a href="#L-834"><span class="linenos"> 834</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">sql</span> <span class="o">=</span> <span class="s2">&quot;&quot;</span>
-</span><span id="L-835"><a href="#L-835"><span class="linenos"> 835</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">size</span> <span class="o">=</span> <span class="mi">0</span>
-</span><span id="L-836"><a href="#L-836"><span class="linenos"> 836</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">tokens</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">List</span><span class="p">[</span><span class="n">Token</span><span class="p">]</span> <span class="o">=</span> <span class="p">[]</span>
-</span><span id="L-837"><a href="#L-837"><span class="linenos"> 837</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_start</span> <span class="o">=</span> <span class="mi">0</span>
-</span><span id="L-838"><a href="#L-838"><span class="linenos"> 838</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_current</span> <span class="o">=</span> <span class="mi">0</span>
-</span><span id="L-839"><a href="#L-839"><span class="linenos"> 839</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_line</span> <span class="o">=</span> <span class="mi">1</span>
-</span><span id="L-840"><a href="#L-840"><span class="linenos"> 840</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_col</span> <span class="o">=</span> <span class="mi">0</span>
-</span><span id="L-841"><a href="#L-841"><span class="linenos"> 841</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_comments</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">List</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="p">[]</span>
-</span><span id="L-842"><a href="#L-842"><span class="linenos"> 842</span></a>
-</span><span id="L-843"><a href="#L-843"><span class="linenos"> 843</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_char</span> <span class="o">=</span> <span class="s2">&quot;&quot;</span>
-</span><span id="L-844"><a href="#L-844"><span class="linenos"> 844</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_end</span> <span class="o">=</span> <span class="kc">False</span>
-</span><span id="L-845"><a href="#L-845"><span class="linenos"> 845</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span> <span class="o">=</span> <span class="s2">&quot;&quot;</span>
-</span><span id="L-846"><a href="#L-846"><span class="linenos"> 846</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_prev_token_line</span> <span class="o">=</span> <span class="o">-</span><span class="mi">1</span>
-</span><span id="L-847"><a href="#L-847"><span class="linenos"> 847</span></a>
-</span><span id="L-848"><a href="#L-848"><span class="linenos"> 848</span></a> <span class="k">def</span> <span class="nf">tokenize</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">sql</span><span class="p">:</span> <span class="nb">str</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">t</span><span class="o">.</span><span class="n">List</span><span class="p">[</span><span class="n">Token</span><span class="p">]:</span>
-</span><span id="L-849"><a href="#L-849"><span class="linenos"> 849</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Returns a list of tokens corresponding to the SQL string `sql`.&quot;&quot;&quot;</span>
-</span><span id="L-850"><a href="#L-850"><span class="linenos"> 850</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">reset</span><span class="p">()</span>
-</span><span id="L-851"><a href="#L-851"><span class="linenos"> 851</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">sql</span> <span class="o">=</span> <span class="n">sql</span>
-</span><span id="L-852"><a href="#L-852"><span class="linenos"> 852</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">size</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">sql</span><span class="p">)</span>
-</span><span id="L-853"><a href="#L-853"><span class="linenos"> 853</span></a>
-</span><span id="L-854"><a href="#L-854"><span class="linenos"> 854</span></a> <span class="k">try</span><span class="p">:</span>
-</span><span id="L-855"><a href="#L-855"><span class="linenos"> 855</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_scan</span><span class="p">()</span>
-</span><span id="L-856"><a href="#L-856"><span class="linenos"> 856</span></a> <span class="k">except</span> <span class="ne">Exception</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
-</span><span id="L-857"><a href="#L-857"><span class="linenos"> 857</span></a> <span class="n">start</span> <span class="o">=</span> <span class="nb">max</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_current</span> <span class="o">-</span> <span class="mi">50</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span>
-</span><span id="L-858"><a href="#L-858"><span class="linenos"> 858</span></a> <span class="n">end</span> <span class="o">=</span> <span class="nb">min</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_current</span> <span class="o">+</span> <span class="mi">50</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">size</span> <span class="o">-</span> <span class="mi">1</span><span class="p">)</span>
-</span><span id="L-859"><a href="#L-859"><span class="linenos"> 859</span></a> <span class="n">context</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">sql</span><span class="p">[</span><span class="n">start</span><span class="p">:</span><span class="n">end</span><span class="p">]</span>
-</span><span id="L-860"><a href="#L-860"><span class="linenos"> 860</span></a> <span class="k">raise</span> <span class="n">TokenError</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;Error tokenizing &#39;</span><span class="si">{</span><span class="n">context</span><span class="si">}</span><span class="s2">&#39;&quot;</span><span class="p">)</span> <span class="kn">from</span> <span class="nn">e</span>
-</span><span id="L-861"><a href="#L-861"><span class="linenos"> 861</span></a>
-</span><span id="L-862"><a href="#L-862"><span class="linenos"> 862</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">tokens</span>
-</span><span id="L-863"><a href="#L-863"><span class="linenos"> 863</span></a>
-</span><span id="L-864"><a href="#L-864"><span class="linenos"> 864</span></a> <span class="k">def</span> <span class="nf">_scan</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">until</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="n">t</span><span class="o">.</span><span class="n">Callable</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
-</span><span id="L-865"><a href="#L-865"><span class="linenos"> 865</span></a> <span class="k">while</span> <span class="bp">self</span><span class="o">.</span><span class="n">size</span> <span class="ow">and</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">_end</span><span class="p">:</span>
-</span><span id="L-866"><a href="#L-866"><span class="linenos"> 866</span></a> <span class="n">current</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_current</span>
-</span><span id="L-867"><a href="#L-867"><span class="linenos"> 867</span></a>
-</span><span id="L-868"><a href="#L-868"><span class="linenos"> 868</span></a> <span class="c1"># skip spaces inline rather than iteratively call advance()</span>
-</span><span id="L-869"><a href="#L-869"><span class="linenos"> 869</span></a> <span class="c1"># for performance reasons</span>
-</span><span id="L-870"><a href="#L-870"><span class="linenos"> 870</span></a> <span class="k">while</span> <span class="n">current</span> <span class="o">&lt;</span> <span class="bp">self</span><span class="o">.</span><span class="n">size</span><span class="p">:</span>
-</span><span id="L-871"><a href="#L-871"><span class="linenos"> 871</span></a> <span class="n">char</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">sql</span><span class="p">[</span><span class="n">current</span><span class="p">]</span>
-</span><span id="L-872"><a href="#L-872"><span class="linenos"> 872</span></a>
-</span><span id="L-873"><a href="#L-873"><span class="linenos"> 873</span></a> <span class="k">if</span> <span class="n">char</span><span class="o">.</span><span class="n">isspace</span><span class="p">()</span> <span class="ow">and</span> <span class="p">(</span><span class="n">char</span> <span class="o">==</span> <span class="s2">&quot; &quot;</span> <span class="ow">or</span> <span class="n">char</span> <span class="o">==</span> <span class="s2">&quot;</span><span class="se">\t</span><span class="s2">&quot;</span><span class="p">):</span>
-</span><span id="L-874"><a href="#L-874"><span class="linenos"> 874</span></a> <span class="n">current</span> <span class="o">+=</span> <span class="mi">1</span>
-</span><span id="L-875"><a href="#L-875"><span class="linenos"> 875</span></a> <span class="k">else</span><span class="p">:</span>
-</span><span id="L-876"><a href="#L-876"><span class="linenos"> 876</span></a> <span class="k">break</span>
-</span><span id="L-877"><a href="#L-877"><span class="linenos"> 877</span></a>
-</span><span id="L-878"><a href="#L-878"><span class="linenos"> 878</span></a> <span class="n">n</span> <span class="o">=</span> <span class="n">current</span> <span class="o">-</span> <span class="bp">self</span><span class="o">.</span><span class="n">_current</span>
-</span><span id="L-879"><a href="#L-879"><span class="linenos"> 879</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_start</span> <span class="o">=</span> <span class="n">current</span>
-</span><span id="L-880"><a href="#L-880"><span class="linenos"> 880</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">(</span><span class="n">n</span> <span class="k">if</span> <span class="n">n</span> <span class="o">&gt;</span> <span class="mi">1</span> <span class="k">else</span> <span class="mi">1</span><span class="p">)</span>
-</span><span id="L-881"><a href="#L-881"><span class="linenos"> 881</span></a>
-</span><span id="L-882"><a href="#L-882"><span class="linenos"> 882</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_char</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
-</span><span id="L-883"><a href="#L-883"><span class="linenos"> 883</span></a> <span class="k">break</span>
-</span><span id="L-884"><a href="#L-884"><span class="linenos"> 884</span></a>
-</span><span id="L-885"><a href="#L-885"><span class="linenos"> 885</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">_char</span><span class="o">.</span><span class="n">isspace</span><span class="p">():</span>
-</span><span id="L-886"><a href="#L-886"><span class="linenos"> 886</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_char</span><span class="o">.</span><span class="n">isdigit</span><span class="p">():</span>
-</span><span id="L-887"><a href="#L-887"><span class="linenos"> 887</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_scan_number</span><span class="p">()</span>
-</span><span id="L-888"><a href="#L-888"><span class="linenos"> 888</span></a> <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">_char</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">_IDENTIFIERS</span><span class="p">:</span>
-</span><span id="L-889"><a href="#L-889"><span class="linenos"> 889</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_scan_identifier</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_IDENTIFIERS</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">_char</span><span class="p">])</span>
-</span><span id="L-890"><a href="#L-890"><span class="linenos"> 890</span></a> <span class="k">else</span><span class="p">:</span>
-</span><span id="L-891"><a href="#L-891"><span class="linenos"> 891</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_scan_keywords</span><span class="p">()</span>
-</span><span id="L-892"><a href="#L-892"><span class="linenos"> 892</span></a>
-</span><span id="L-893"><a href="#L-893"><span class="linenos"> 893</span></a> <span class="k">if</span> <span class="n">until</span> <span class="ow">and</span> <span class="n">until</span><span class="p">():</span>
-</span><span id="L-894"><a href="#L-894"><span class="linenos"> 894</span></a> <span class="k">break</span>
-</span><span id="L-895"><a href="#L-895"><span class="linenos"> 895</span></a>
-</span><span id="L-896"><a href="#L-896"><span class="linenos"> 896</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">tokens</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">_comments</span><span class="p">:</span>
-</span><span id="L-897"><a href="#L-897"><span class="linenos"> 897</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">tokens</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">comments</span><span class="o">.</span><span class="n">extend</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_comments</span><span class="p">)</span>
-</span><span id="L-898"><a href="#L-898"><span class="linenos"> 898</span></a>
-</span><span id="L-899"><a href="#L-899"><span class="linenos"> 899</span></a> <span class="k">def</span> <span class="nf">_chars</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">size</span><span class="p">:</span> <span class="nb">int</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
-</span><span id="L-900"><a href="#L-900"><span class="linenos"> 900</span></a> <span class="k">if</span> <span class="n">size</span> <span class="o">==</span> <span class="mi">1</span><span class="p">:</span>
-</span><span id="L-901"><a href="#L-901"><span class="linenos"> 901</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_char</span>
-</span><span id="L-902"><a href="#L-902"><span class="linenos"> 902</span></a>
-</span><span id="L-903"><a href="#L-903"><span class="linenos"> 903</span></a> <span class="n">start</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_current</span> <span class="o">-</span> <span class="mi">1</span>
-</span><span id="L-904"><a href="#L-904"><span class="linenos"> 904</span></a> <span class="n">end</span> <span class="o">=</span> <span class="n">start</span> <span class="o">+</span> <span class="n">size</span>
-</span><span id="L-905"><a href="#L-905"><span class="linenos"> 905</span></a>
-</span><span id="L-906"><a href="#L-906"><span class="linenos"> 906</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">sql</span><span class="p">[</span><span class="n">start</span><span class="p">:</span><span class="n">end</span><span class="p">]</span> <span class="k">if</span> <span class="n">end</span> <span class="o">&lt;=</span> <span class="bp">self</span><span class="o">.</span><span class="n">size</span> <span class="k">else</span> <span class="s2">&quot;&quot;</span>
-</span><span id="L-907"><a href="#L-907"><span class="linenos"> 907</span></a>
-</span><span id="L-908"><a href="#L-908"><span class="linenos"> 908</span></a> <span class="k">def</span> <span class="nf">_advance</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">i</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">1</span><span class="p">,</span> <span class="n">alnum</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">False</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
-</span><span id="L-909"><a href="#L-909"><span class="linenos"> 909</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">WHITE_SPACE</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_char</span><span class="p">)</span> <span class="ow">is</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BREAK</span><span class="p">:</span>
-</span><span id="L-910"><a href="#L-910"><span class="linenos"> 910</span></a> <span class="c1"># Ensures we don&#39;t count an extra line if we get a \r\n line break sequence</span>
-</span><span id="L-911"><a href="#L-911"><span class="linenos"> 911</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_char</span> <span class="o">==</span> <span class="s2">&quot;</span><span class="se">\r</span><span class="s2">&quot;</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span> <span class="o">==</span> <span class="s2">&quot;</span><span class="se">\n</span><span class="s2">&quot;</span><span class="p">:</span>
-</span><span id="L-912"><a href="#L-912"><span class="linenos"> 912</span></a> <span class="n">i</span> <span class="o">=</span> <span class="mi">2</span>
-</span><span id="L-913"><a href="#L-913"><span class="linenos"> 913</span></a>
-</span><span id="L-914"><a href="#L-914"><span class="linenos"> 914</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_col</span> <span class="o">=</span> <span class="mi">1</span>
-</span><span id="L-915"><a href="#L-915"><span class="linenos"> 915</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_line</span> <span class="o">+=</span> <span class="mi">1</span>
-</span><span id="L-916"><a href="#L-916"><span class="linenos"> 916</span></a> <span class="k">else</span><span class="p">:</span>
-</span><span id="L-917"><a href="#L-917"><span class="linenos"> 917</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_col</span> <span class="o">+=</span> <span class="n">i</span>
-</span><span id="L-918"><a href="#L-918"><span class="linenos"> 918</span></a>
-</span><span id="L-919"><a href="#L-919"><span class="linenos"> 919</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_current</span> <span class="o">+=</span> <span class="n">i</span>
-</span><span id="L-920"><a href="#L-920"><span class="linenos"> 920</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_end</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_current</span> <span class="o">&gt;=</span> <span class="bp">self</span><span class="o">.</span><span class="n">size</span>
-</span><span id="L-921"><a href="#L-921"><span class="linenos"> 921</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_char</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">sql</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">_current</span> <span class="o">-</span> <span class="mi">1</span><span class="p">]</span>
-</span><span id="L-922"><a href="#L-922"><span class="linenos"> 922</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span> <span class="o">=</span> <span class="s2">&quot;&quot;</span> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_end</span> <span class="k">else</span> <span class="bp">self</span><span class="o">.</span><span class="n">sql</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">_current</span><span class="p">]</span>
-</span><span id="L-923"><a href="#L-923"><span class="linenos"> 923</span></a>
-</span><span id="L-924"><a href="#L-924"><span class="linenos"> 924</span></a> <span class="k">if</span> <span class="n">alnum</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">_char</span><span class="o">.</span><span class="n">isalnum</span><span class="p">():</span>
-</span><span id="L-925"><a href="#L-925"><span class="linenos"> 925</span></a> <span class="c1"># Here we use local variables instead of attributes for better performance</span>
-</span><span id="L-926"><a href="#L-926"><span class="linenos"> 926</span></a> <span class="n">_col</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_col</span>
-</span><span id="L-927"><a href="#L-927"><span class="linenos"> 927</span></a> <span class="n">_current</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_current</span>
-</span><span id="L-928"><a href="#L-928"><span class="linenos"> 928</span></a> <span class="n">_end</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_end</span>
-</span><span id="L-929"><a href="#L-929"><span class="linenos"> 929</span></a> <span class="n">_peek</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span>
-</span><span id="L-930"><a href="#L-930"><span class="linenos"> 930</span></a>
-</span><span id="L-931"><a href="#L-931"><span class="linenos"> 931</span></a> <span class="k">while</span> <span class="n">_peek</span><span class="o">.</span><span class="n">isalnum</span><span class="p">():</span>
-</span><span id="L-932"><a href="#L-932"><span class="linenos"> 932</span></a> <span class="n">_col</span> <span class="o">+=</span> <span class="mi">1</span>
-</span><span id="L-933"><a href="#L-933"><span class="linenos"> 933</span></a> <span class="n">_current</span> <span class="o">+=</span> <span class="mi">1</span>
-</span><span id="L-934"><a href="#L-934"><span class="linenos"> 934</span></a> <span class="n">_end</span> <span class="o">=</span> <span class="n">_current</span> <span class="o">&gt;=</span> <span class="bp">self</span><span class="o">.</span><span class="n">size</span>
-</span><span id="L-935"><a href="#L-935"><span class="linenos"> 935</span></a> <span class="n">_peek</span> <span class="o">=</span> <span class="s2">&quot;&quot;</span> <span class="k">if</span> <span class="n">_end</span> <span class="k">else</span> <span class="bp">self</span><span class="o">.</span><span class="n">sql</span><span class="p">[</span><span class="n">_current</span><span class="p">]</span>
-</span><span id="L-936"><a href="#L-936"><span class="linenos"> 936</span></a>
-</span><span id="L-937"><a href="#L-937"><span class="linenos"> 937</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_col</span> <span class="o">=</span> <span class="n">_col</span>
-</span><span id="L-938"><a href="#L-938"><span class="linenos"> 938</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_current</span> <span class="o">=</span> <span class="n">_current</span>
-</span><span id="L-939"><a href="#L-939"><span class="linenos"> 939</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_end</span> <span class="o">=</span> <span class="n">_end</span>
-</span><span id="L-940"><a href="#L-940"><span class="linenos"> 940</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span> <span class="o">=</span> <span class="n">_peek</span>
-</span><span id="L-941"><a href="#L-941"><span class="linenos"> 941</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_char</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">sql</span><span class="p">[</span><span class="n">_current</span> <span class="o">-</span> <span class="mi">1</span><span class="p">]</span>
-</span><span id="L-942"><a href="#L-942"><span class="linenos"> 942</span></a>
-</span><span id="L-943"><a href="#L-943"><span class="linenos"> 943</span></a> <span class="nd">@property</span>
-</span><span id="L-944"><a href="#L-944"><span class="linenos"> 944</span></a> <span class="k">def</span> <span class="nf">_text</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
-</span><span id="L-945"><a href="#L-945"><span class="linenos"> 945</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">sql</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">_start</span> <span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">_current</span><span class="p">]</span>
-</span><span id="L-946"><a href="#L-946"><span class="linenos"> 946</span></a>
-</span><span id="L-947"><a href="#L-947"><span class="linenos"> 947</span></a> <span class="k">def</span> <span class="nf">peek</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">i</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">0</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
-</span><span id="L-948"><a href="#L-948"><span class="linenos"> 948</span></a> <span class="n">i</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_current</span> <span class="o">+</span> <span class="n">i</span>
-</span><span id="L-949"><a href="#L-949"><span class="linenos"> 949</span></a> <span class="k">if</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="bp">self</span><span class="o">.</span><span class="n">size</span><span class="p">:</span>
-</span><span id="L-950"><a href="#L-950"><span class="linenos"> 950</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">sql</span><span class="p">[</span><span class="n">i</span><span class="p">]</span>
-</span><span id="L-951"><a href="#L-951"><span class="linenos"> 951</span></a> <span class="k">return</span> <span class="s2">&quot;&quot;</span>
-</span><span id="L-952"><a href="#L-952"><span class="linenos"> 952</span></a>
-</span><span id="L-953"><a href="#L-953"><span class="linenos"> 953</span></a> <span class="k">def</span> <span class="nf">_add</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">token_type</span><span class="p">:</span> <span class="n">TokenType</span><span class="p">,</span> <span class="n">text</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
-</span><span id="L-954"><a href="#L-954"><span class="linenos"> 954</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_prev_token_line</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_line</span>
-</span><span id="L-955"><a href="#L-955"><span class="linenos"> 955</span></a>
-</span><span id="L-956"><a href="#L-956"><span class="linenos"> 956</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_comments</span> <span class="ow">and</span> <span class="n">token_type</span> <span class="o">==</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">SEMICOLON</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">tokens</span><span class="p">:</span>
-</span><span id="L-957"><a href="#L-957"><span class="linenos"> 957</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">tokens</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">comments</span><span class="o">.</span><span class="n">extend</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_comments</span><span class="p">)</span>
-</span><span id="L-958"><a href="#L-958"><span class="linenos"> 958</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_comments</span> <span class="o">=</span> <span class="p">[]</span>
-</span><span id="L-959"><a href="#L-959"><span class="linenos"> 959</span></a>
-</span><span id="L-960"><a href="#L-960"><span class="linenos"> 960</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">tokens</span><span class="o">.</span><span class="n">append</span><span class="p">(</span>
-</span><span id="L-961"><a href="#L-961"><span class="linenos"> 961</span></a> <span class="n">Token</span><span class="p">(</span>
-</span><span id="L-962"><a href="#L-962"><span class="linenos"> 962</span></a> <span class="n">token_type</span><span class="p">,</span>
-</span><span id="L-963"><a href="#L-963"><span class="linenos"> 963</span></a> <span class="n">text</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_text</span> <span class="k">if</span> <span class="n">text</span> <span class="ow">is</span> <span class="kc">None</span> <span class="k">else</span> <span class="n">text</span><span class="p">,</span>
-</span><span id="L-964"><a href="#L-964"><span class="linenos"> 964</span></a> <span class="n">line</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_line</span><span class="p">,</span>
-</span><span id="L-965"><a href="#L-965"><span class="linenos"> 965</span></a> <span class="n">col</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_col</span><span class="p">,</span>
-</span><span id="L-966"><a href="#L-966"><span class="linenos"> 966</span></a> <span class="n">start</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_start</span><span class="p">,</span>
-</span><span id="L-967"><a href="#L-967"><span class="linenos"> 967</span></a> <span class="n">end</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_current</span> <span class="o">-</span> <span class="mi">1</span><span class="p">,</span>
-</span><span id="L-968"><a href="#L-968"><span class="linenos"> 968</span></a> <span class="n">comments</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_comments</span><span class="p">,</span>
-</span><span id="L-969"><a href="#L-969"><span class="linenos"> 969</span></a> <span class="p">)</span>
-</span><span id="L-970"><a href="#L-970"><span class="linenos"> 970</span></a> <span class="p">)</span>
-</span><span id="L-971"><a href="#L-971"><span class="linenos"> 971</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_comments</span> <span class="o">=</span> <span class="p">[]</span>
-</span><span id="L-972"><a href="#L-972"><span class="linenos"> 972</span></a>
-</span><span id="L-973"><a href="#L-973"><span class="linenos"> 973</span></a> <span class="c1"># If we have either a semicolon or a begin token before the command&#39;s token, we&#39;ll parse</span>
-</span><span id="L-974"><a href="#L-974"><span class="linenos"> 974</span></a> <span class="c1"># whatever follows the command&#39;s token as a string</span>
-</span><span id="L-975"><a href="#L-975"><span class="linenos"> 975</span></a> <span class="k">if</span> <span class="p">(</span>
-</span><span id="L-976"><a href="#L-976"><span class="linenos"> 976</span></a> <span class="n">token_type</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">COMMANDS</span>
-</span><span id="L-977"><a href="#L-977"><span class="linenos"> 977</span></a> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span> <span class="o">!=</span> <span class="s2">&quot;;&quot;</span>
-</span><span id="L-978"><a href="#L-978"><span class="linenos"> 978</span></a> <span class="ow">and</span> <span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">tokens</span><span class="p">)</span> <span class="o">==</span> <span class="mi">1</span> <span class="ow">or</span> <span class="bp">self</span><span class="o">.</span><span class="n">tokens</span><span class="p">[</span><span class="o">-</span><span class="mi">2</span><span class="p">]</span><span class="o">.</span><span class="n">token_type</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">COMMAND_PREFIX_TOKENS</span><span class="p">)</span>
-</span><span id="L-979"><a href="#L-979"><span class="linenos"> 979</span></a> <span class="p">):</span>
-</span><span id="L-980"><a href="#L-980"><span class="linenos"> 980</span></a> <span class="n">start</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_current</span>
-</span><span id="L-981"><a href="#L-981"><span class="linenos"> 981</span></a> <span class="n">tokens</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">tokens</span><span class="p">)</span>
-</span><span id="L-982"><a href="#L-982"><span class="linenos"> 982</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_scan</span><span class="p">(</span><span class="k">lambda</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span> <span class="o">==</span> <span class="s2">&quot;;&quot;</span><span class="p">)</span>
-</span><span id="L-983"><a href="#L-983"><span class="linenos"> 983</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">tokens</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">tokens</span><span class="p">[:</span><span class="n">tokens</span><span class="p">]</span>
-</span><span id="L-984"><a href="#L-984"><span class="linenos"> 984</span></a> <span class="n">text</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">sql</span><span class="p">[</span><span class="n">start</span> <span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">_current</span><span class="p">]</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span>
-</span><span id="L-985"><a href="#L-985"><span class="linenos"> 985</span></a> <span class="k">if</span> <span class="n">text</span><span class="p">:</span>
-</span><span id="L-986"><a href="#L-986"><span class="linenos"> 986</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_add</span><span class="p">(</span><span class="n">TokenType</span><span class="o">.</span><span class="n">STRING</span><span class="p">,</span> <span class="n">text</span><span class="p">)</span>
-</span><span id="L-987"><a href="#L-987"><span class="linenos"> 987</span></a>
-</span><span id="L-988"><a href="#L-988"><span class="linenos"> 988</span></a> <span class="k">def</span> <span class="nf">_scan_keywords</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
-</span><span id="L-989"><a href="#L-989"><span class="linenos"> 989</span></a> <span class="n">size</span> <span class="o">=</span> <span class="mi">0</span>
-</span><span id="L-990"><a href="#L-990"><span class="linenos"> 990</span></a> <span class="n">word</span> <span class="o">=</span> <span class="kc">None</span>
-</span><span id="L-991"><a href="#L-991"><span class="linenos"> 991</span></a> <span class="n">chars</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_text</span>
-</span><span id="L-992"><a href="#L-992"><span class="linenos"> 992</span></a> <span class="n">char</span> <span class="o">=</span> <span class="n">chars</span>
-</span><span id="L-993"><a href="#L-993"><span class="linenos"> 993</span></a> <span class="n">prev_space</span> <span class="o">=</span> <span class="kc">False</span>
-</span><span id="L-994"><a href="#L-994"><span class="linenos"> 994</span></a> <span class="n">skip</span> <span class="o">=</span> <span class="kc">False</span>
-</span><span id="L-995"><a href="#L-995"><span class="linenos"> 995</span></a> <span class="n">trie</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_KEYWORD_TRIE</span>
-</span><span id="L-996"><a href="#L-996"><span class="linenos"> 996</span></a> <span class="n">single_token</span> <span class="o">=</span> <span class="n">char</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">SINGLE_TOKENS</span>
-</span><span id="L-997"><a href="#L-997"><span class="linenos"> 997</span></a>
-</span><span id="L-998"><a href="#L-998"><span class="linenos"> 998</span></a> <span class="k">while</span> <span class="n">chars</span><span class="p">:</span>
-</span><span id="L-999"><a href="#L-999"><span class="linenos"> 999</span></a> <span class="k">if</span> <span class="n">skip</span><span class="p">:</span>
-</span><span id="L-1000"><a href="#L-1000"><span class="linenos">1000</span></a> <span class="n">result</span> <span class="o">=</span> <span class="n">TrieResult</span><span class="o">.</span><span class="n">PREFIX</span>
-</span><span id="L-1001"><a href="#L-1001"><span class="linenos">1001</span></a> <span class="k">else</span><span class="p">:</span>
-</span><span id="L-1002"><a href="#L-1002"><span class="linenos">1002</span></a> <span class="n">result</span><span class="p">,</span> <span class="n">trie</span> <span class="o">=</span> <span class="n">in_trie</span><span class="p">(</span><span class="n">trie</span><span class="p">,</span> <span class="n">char</span><span class="o">.</span><span class="n">upper</span><span class="p">())</span>
-</span><span id="L-1003"><a href="#L-1003"><span class="linenos">1003</span></a>
-</span><span id="L-1004"><a href="#L-1004"><span class="linenos">1004</span></a> <span class="k">if</span> <span class="n">result</span> <span class="o">==</span> <span class="n">TrieResult</span><span class="o">.</span><span class="n">FAILED</span><span class="p">:</span>
-</span><span id="L-1005"><a href="#L-1005"><span class="linenos">1005</span></a> <span class="k">break</span>
-</span><span id="L-1006"><a href="#L-1006"><span class="linenos">1006</span></a> <span class="k">if</span> <span class="n">result</span> <span class="o">==</span> <span class="n">TrieResult</span><span class="o">.</span><span class="n">EXISTS</span><span class="p">:</span>
-</span><span id="L-1007"><a href="#L-1007"><span class="linenos">1007</span></a> <span class="n">word</span> <span class="o">=</span> <span class="n">chars</span>
-</span><span id="L-1008"><a href="#L-1008"><span class="linenos">1008</span></a>
-</span><span id="L-1009"><a href="#L-1009"><span class="linenos">1009</span></a> <span class="n">end</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_current</span> <span class="o">+</span> <span class="n">size</span>
-</span><span id="L-1010"><a href="#L-1010"><span class="linenos">1010</span></a> <span class="n">size</span> <span class="o">+=</span> <span class="mi">1</span>
-</span><span id="L-1011"><a href="#L-1011"><span class="linenos">1011</span></a>
-</span><span id="L-1012"><a href="#L-1012"><span class="linenos">1012</span></a> <span class="k">if</span> <span class="n">end</span> <span class="o">&lt;</span> <span class="bp">self</span><span class="o">.</span><span class="n">size</span><span class="p">:</span>
-</span><span id="L-1013"><a href="#L-1013"><span class="linenos">1013</span></a> <span class="n">char</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">sql</span><span class="p">[</span><span class="n">end</span><span class="p">]</span>
-</span><span id="L-1014"><a href="#L-1014"><span class="linenos">1014</span></a> <span class="n">single_token</span> <span class="o">=</span> <span class="n">single_token</span> <span class="ow">or</span> <span class="n">char</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">SINGLE_TOKENS</span>
-</span><span id="L-1015"><a href="#L-1015"><span class="linenos">1015</span></a> <span class="n">is_space</span> <span class="o">=</span> <span class="n">char</span><span class="o">.</span><span class="n">isspace</span><span class="p">()</span>
-</span><span id="L-1016"><a href="#L-1016"><span class="linenos">1016</span></a>
-</span><span id="L-1017"><a href="#L-1017"><span class="linenos">1017</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">is_space</span> <span class="ow">or</span> <span class="ow">not</span> <span class="n">prev_space</span><span class="p">:</span>
-</span><span id="L-1018"><a href="#L-1018"><span class="linenos">1018</span></a> <span class="k">if</span> <span class="n">is_space</span><span class="p">:</span>
-</span><span id="L-1019"><a href="#L-1019"><span class="linenos">1019</span></a> <span class="n">char</span> <span class="o">=</span> <span class="s2">&quot; &quot;</span>
-</span><span id="L-1020"><a href="#L-1020"><span class="linenos">1020</span></a> <span class="n">chars</span> <span class="o">+=</span> <span class="n">char</span>
-</span><span id="L-1021"><a href="#L-1021"><span class="linenos">1021</span></a> <span class="n">prev_space</span> <span class="o">=</span> <span class="n">is_space</span>
-</span><span id="L-1022"><a href="#L-1022"><span class="linenos">1022</span></a> <span class="n">skip</span> <span class="o">=</span> <span class="kc">False</span>
-</span><span id="L-1023"><a href="#L-1023"><span class="linenos">1023</span></a> <span class="k">else</span><span class="p">:</span>
-</span><span id="L-1024"><a href="#L-1024"><span class="linenos">1024</span></a> <span class="n">skip</span> <span class="o">=</span> <span class="kc">True</span>
-</span><span id="L-1025"><a href="#L-1025"><span class="linenos">1025</span></a> <span class="k">else</span><span class="p">:</span>
-</span><span id="L-1026"><a href="#L-1026"><span class="linenos">1026</span></a> <span class="n">char</span> <span class="o">=</span> <span class="s2">&quot;&quot;</span>
-</span><span id="L-1027"><a href="#L-1027"><span class="linenos">1027</span></a> <span class="k">break</span>
-</span><span id="L-1028"><a href="#L-1028"><span class="linenos">1028</span></a>
-</span><span id="L-1029"><a href="#L-1029"><span class="linenos">1029</span></a> <span class="k">if</span> <span class="n">word</span><span class="p">:</span>
-</span><span id="L-1030"><a href="#L-1030"><span class="linenos">1030</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_scan_string</span><span class="p">(</span><span class="n">word</span><span class="p">):</span>
-</span><span id="L-1031"><a href="#L-1031"><span class="linenos">1031</span></a> <span class="k">return</span>
-</span><span id="L-1032"><a href="#L-1032"><span class="linenos">1032</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_scan_comment</span><span class="p">(</span><span class="n">word</span><span class="p">):</span>
-</span><span id="L-1033"><a href="#L-1033"><span class="linenos">1033</span></a> <span class="k">return</span>
-</span><span id="L-1034"><a href="#L-1034"><span class="linenos">1034</span></a> <span class="k">if</span> <span class="n">prev_space</span> <span class="ow">or</span> <span class="n">single_token</span> <span class="ow">or</span> <span class="ow">not</span> <span class="n">char</span><span class="p">:</span>
-</span><span id="L-1035"><a href="#L-1035"><span class="linenos">1035</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">(</span><span class="n">size</span> <span class="o">-</span> <span class="mi">1</span><span class="p">)</span>
-</span><span id="L-1036"><a href="#L-1036"><span class="linenos">1036</span></a> <span class="n">word</span> <span class="o">=</span> <span class="n">word</span><span class="o">.</span><span class="n">upper</span><span class="p">()</span>
-</span><span id="L-1037"><a href="#L-1037"><span class="linenos">1037</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_add</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">KEYWORDS</span><span class="p">[</span><span class="n">word</span><span class="p">],</span> <span class="n">text</span><span class="o">=</span><span class="n">word</span><span class="p">)</span>
-</span><span id="L-1038"><a href="#L-1038"><span class="linenos">1038</span></a> <span class="k">return</span>
-</span><span id="L-1039"><a href="#L-1039"><span class="linenos">1039</span></a>
-</span><span id="L-1040"><a href="#L-1040"><span class="linenos">1040</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_char</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">SINGLE_TOKENS</span><span class="p">:</span>
-</span><span id="L-1041"><a href="#L-1041"><span class="linenos">1041</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_add</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">SINGLE_TOKENS</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">_char</span><span class="p">],</span> <span class="n">text</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_char</span><span class="p">)</span>
-</span><span id="L-1042"><a href="#L-1042"><span class="linenos">1042</span></a> <span class="k">return</span>
-</span><span id="L-1043"><a href="#L-1043"><span class="linenos">1043</span></a>
-</span><span id="L-1044"><a href="#L-1044"><span class="linenos">1044</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_scan_var</span><span class="p">()</span>
-</span><span id="L-1045"><a href="#L-1045"><span class="linenos">1045</span></a>
-</span><span id="L-1046"><a href="#L-1046"><span class="linenos">1046</span></a> <span class="k">def</span> <span class="nf">_scan_comment</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">comment_start</span><span class="p">:</span> <span class="nb">str</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">bool</span><span class="p">:</span>
-</span><span id="L-1047"><a href="#L-1047"><span class="linenos">1047</span></a> <span class="k">if</span> <span class="n">comment_start</span> <span class="ow">not</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">_COMMENTS</span><span class="p">:</span>
-</span><span id="L-1048"><a href="#L-1048"><span class="linenos">1048</span></a> <span class="k">return</span> <span class="kc">False</span>
-</span><span id="L-1049"><a href="#L-1049"><span class="linenos">1049</span></a>
-</span><span id="L-1050"><a href="#L-1050"><span class="linenos">1050</span></a> <span class="n">comment_start_line</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_line</span>
-</span><span id="L-1051"><a href="#L-1051"><span class="linenos">1051</span></a> <span class="n">comment_start_size</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">comment_start</span><span class="p">)</span>
-</span><span id="L-1052"><a href="#L-1052"><span class="linenos">1052</span></a> <span class="n">comment_end</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_COMMENTS</span><span class="p">[</span><span class="n">comment_start</span><span class="p">]</span>
-</span><span id="L-1053"><a href="#L-1053"><span class="linenos">1053</span></a>
-</span><span id="L-1054"><a href="#L-1054"><span class="linenos">1054</span></a> <span class="k">if</span> <span class="n">comment_end</span><span class="p">:</span>
-</span><span id="L-1055"><a href="#L-1055"><span class="linenos">1055</span></a> <span class="c1"># Skip the comment&#39;s start delimiter</span>
-</span><span id="L-1056"><a href="#L-1056"><span class="linenos">1056</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">(</span><span class="n">comment_start_size</span><span class="p">)</span>
-</span><span id="L-1057"><a href="#L-1057"><span class="linenos">1057</span></a>
-</span><span id="L-1058"><a href="#L-1058"><span class="linenos">1058</span></a> <span class="n">comment_end_size</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">comment_end</span><span class="p">)</span>
-</span><span id="L-1059"><a href="#L-1059"><span class="linenos">1059</span></a> <span class="k">while</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">_end</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">_chars</span><span class="p">(</span><span class="n">comment_end_size</span><span class="p">)</span> <span class="o">!=</span> <span class="n">comment_end</span><span class="p">:</span>
-</span><span id="L-1060"><a href="#L-1060"><span class="linenos">1060</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">(</span><span class="n">alnum</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-</span><span id="L-1061"><a href="#L-1061"><span class="linenos">1061</span></a>
-</span><span id="L-1062"><a href="#L-1062"><span class="linenos">1062</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_comments</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_text</span><span class="p">[</span><span class="n">comment_start_size</span> <span class="p">:</span> <span class="o">-</span><span class="n">comment_end_size</span> <span class="o">+</span> <span class="mi">1</span><span class="p">])</span>
-</span><span id="L-1063"><a href="#L-1063"><span class="linenos">1063</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">(</span><span class="n">comment_end_size</span> <span class="o">-</span> <span class="mi">1</span><span class="p">)</span>
-</span><span id="L-1064"><a href="#L-1064"><span class="linenos">1064</span></a> <span class="k">else</span><span class="p">:</span>
-</span><span id="L-1065"><a href="#L-1065"><span class="linenos">1065</span></a> <span class="k">while</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">_end</span> <span class="ow">and</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">WHITE_SPACE</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_peek</span><span class="p">)</span> <span class="ow">is</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BREAK</span><span class="p">:</span>
-</span><span id="L-1066"><a href="#L-1066"><span class="linenos">1066</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">(</span><span class="n">alnum</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-</span><span id="L-1067"><a href="#L-1067"><span class="linenos">1067</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_comments</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_text</span><span class="p">[</span><span class="n">comment_start_size</span><span class="p">:])</span>
-</span><span id="L-1068"><a href="#L-1068"><span class="linenos">1068</span></a>
-</span><span id="L-1069"><a href="#L-1069"><span class="linenos">1069</span></a> <span class="c1"># Leading comment is attached to the succeeding token, whilst trailing comment to the preceding.</span>
-</span><span id="L-1070"><a href="#L-1070"><span class="linenos">1070</span></a> <span class="c1"># Multiple consecutive comments are preserved by appending them to the current comments list.</span>
-</span><span id="L-1071"><a href="#L-1071"><span class="linenos">1071</span></a> <span class="k">if</span> <span class="n">comment_start_line</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">_prev_token_line</span><span class="p">:</span>
-</span><span id="L-1072"><a href="#L-1072"><span class="linenos">1072</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">tokens</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">comments</span><span class="o">.</span><span class="n">extend</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_comments</span><span class="p">)</span>
-</span><span id="L-1073"><a href="#L-1073"><span class="linenos">1073</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_comments</span> <span class="o">=</span> <span class="p">[]</span>
-</span><span id="L-1074"><a href="#L-1074"><span class="linenos">1074</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_prev_token_line</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_line</span>
-</span><span id="L-1075"><a href="#L-1075"><span class="linenos">1075</span></a>
-</span><span id="L-1076"><a href="#L-1076"><span class="linenos">1076</span></a> <span class="k">return</span> <span class="kc">True</span>
-</span><span id="L-1077"><a href="#L-1077"><span class="linenos">1077</span></a>
-</span><span id="L-1078"><a href="#L-1078"><span class="linenos">1078</span></a> <span class="k">def</span> <span class="nf">_scan_number</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
-</span><span id="L-1079"><a href="#L-1079"><span class="linenos">1079</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_char</span> <span class="o">==</span> <span class="s2">&quot;0&quot;</span><span class="p">:</span>
-</span><span id="L-1080"><a href="#L-1080"><span class="linenos">1080</span></a> <span class="n">peek</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span><span class="o">.</span><span class="n">upper</span><span class="p">()</span>
-</span><span id="L-1081"><a href="#L-1081"><span class="linenos">1081</span></a> <span class="k">if</span> <span class="n">peek</span> <span class="o">==</span> <span class="s2">&quot;B&quot;</span><span class="p">:</span>
-</span><span id="L-1082"><a href="#L-1082"><span class="linenos">1082</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_scan_bits</span><span class="p">()</span> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">BIT_STRINGS</span> <span class="k">else</span> <span class="bp">self</span><span class="o">.</span><span class="n">_add</span><span class="p">(</span><span class="n">TokenType</span><span class="o">.</span><span class="n">NUMBER</span><span class="p">)</span>
-</span><span id="L-1083"><a href="#L-1083"><span class="linenos">1083</span></a> <span class="k">elif</span> <span class="n">peek</span> <span class="o">==</span> <span class="s2">&quot;X&quot;</span><span class="p">:</span>
-</span><span id="L-1084"><a href="#L-1084"><span class="linenos">1084</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_scan_hex</span><span class="p">()</span> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">HEX_STRINGS</span> <span class="k">else</span> <span class="bp">self</span><span class="o">.</span><span class="n">_add</span><span class="p">(</span><span class="n">TokenType</span><span class="o">.</span><span class="n">NUMBER</span><span class="p">)</span>
-</span><span id="L-1085"><a href="#L-1085"><span class="linenos">1085</span></a>
-</span><span id="L-1086"><a href="#L-1086"><span class="linenos">1086</span></a> <span class="n">decimal</span> <span class="o">=</span> <span class="kc">False</span>
-</span><span id="L-1087"><a href="#L-1087"><span class="linenos">1087</span></a> <span class="n">scientific</span> <span class="o">=</span> <span class="mi">0</span>
-</span><span id="L-1088"><a href="#L-1088"><span class="linenos">1088</span></a>
-</span><span id="L-1089"><a href="#L-1089"><span class="linenos">1089</span></a> <span class="k">while</span> <span class="kc">True</span><span class="p">:</span>
-</span><span id="L-1090"><a href="#L-1090"><span class="linenos">1090</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span><span class="o">.</span><span class="n">isdigit</span><span class="p">():</span>
-</span><span id="L-1091"><a href="#L-1091"><span class="linenos">1091</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">()</span>
-</span><span id="L-1092"><a href="#L-1092"><span class="linenos">1092</span></a> <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span> <span class="o">==</span> <span class="s2">&quot;.&quot;</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">decimal</span><span class="p">:</span>
-</span><span id="L-1093"><a href="#L-1093"><span class="linenos">1093</span></a> <span class="n">after</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">peek</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
-</span><span id="L-1094"><a href="#L-1094"><span class="linenos">1094</span></a> <span class="k">if</span> <span class="n">after</span><span class="o">.</span><span class="n">isdigit</span><span class="p">()</span> <span class="ow">or</span> <span class="ow">not</span> <span class="n">after</span><span class="o">.</span><span class="n">isalpha</span><span class="p">():</span>
-</span><span id="L-1095"><a href="#L-1095"><span class="linenos">1095</span></a> <span class="n">decimal</span> <span class="o">=</span> <span class="kc">True</span>
-</span><span id="L-1096"><a href="#L-1096"><span class="linenos">1096</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">()</span>
-</span><span id="L-1097"><a href="#L-1097"><span class="linenos">1097</span></a> <span class="k">else</span><span class="p">:</span>
-</span><span id="L-1098"><a href="#L-1098"><span class="linenos">1098</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_add</span><span class="p">(</span><span class="n">TokenType</span><span class="o">.</span><span class="n">VAR</span><span class="p">)</span>
-</span><span id="L-1099"><a href="#L-1099"><span class="linenos">1099</span></a> <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span> <span class="ow">in</span> <span class="p">(</span><span class="s2">&quot;-&quot;</span><span class="p">,</span> <span class="s2">&quot;+&quot;</span><span class="p">)</span> <span class="ow">and</span> <span class="n">scientific</span> <span class="o">==</span> <span class="mi">1</span><span class="p">:</span>
-</span><span id="L-1100"><a href="#L-1100"><span class="linenos">1100</span></a> <span class="n">scientific</span> <span class="o">+=</span> <span class="mi">1</span>
-</span><span id="L-1101"><a href="#L-1101"><span class="linenos">1101</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">()</span>
-</span><span id="L-1102"><a href="#L-1102"><span class="linenos">1102</span></a> <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span><span class="o">.</span><span class="n">upper</span><span class="p">()</span> <span class="o">==</span> <span class="s2">&quot;E&quot;</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">scientific</span><span class="p">:</span>
-</span><span id="L-1103"><a href="#L-1103"><span class="linenos">1103</span></a> <span class="n">scientific</span> <span class="o">+=</span> <span class="mi">1</span>
-</span><span id="L-1104"><a href="#L-1104"><span class="linenos">1104</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">()</span>
-</span><span id="L-1105"><a href="#L-1105"><span class="linenos">1105</span></a> <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span><span class="o">.</span><span class="n">isidentifier</span><span class="p">():</span>
-</span><span id="L-1106"><a href="#L-1106"><span class="linenos">1106</span></a> <span class="n">number_text</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_text</span>
-</span><span id="L-1107"><a href="#L-1107"><span class="linenos">1107</span></a> <span class="n">literal</span> <span class="o">=</span> <span class="s2">&quot;&quot;</span>
-</span><span id="L-1108"><a href="#L-1108"><span class="linenos">1108</span></a>
-</span><span id="L-1109"><a href="#L-1109"><span class="linenos">1109</span></a> <span class="k">while</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span> <span class="ow">not</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">SINGLE_TOKENS</span><span class="p">:</span>
-</span><span id="L-1110"><a href="#L-1110"><span class="linenos">1110</span></a> <span class="n">literal</span> <span class="o">+=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span>
-</span><span id="L-1111"><a href="#L-1111"><span class="linenos">1111</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">()</span>
-</span><span id="L-1112"><a href="#L-1112"><span class="linenos">1112</span></a>
-</span><span id="L-1113"><a href="#L-1113"><span class="linenos">1113</span></a> <span class="n">token_type</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">KEYWORDS</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">NUMERIC_LITERALS</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">literal</span><span class="o">.</span><span class="n">upper</span><span class="p">(),</span> <span class="s2">&quot;&quot;</span><span class="p">))</span>
-</span><span id="L-1114"><a href="#L-1114"><span class="linenos">1114</span></a>
-</span><span id="L-1115"><a href="#L-1115"><span class="linenos">1115</span></a> <span class="k">if</span> <span class="n">token_type</span><span class="p">:</span>
-</span><span id="L-1116"><a href="#L-1116"><span class="linenos">1116</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_add</span><span class="p">(</span><span class="n">TokenType</span><span class="o">.</span><span class="n">NUMBER</span><span class="p">,</span> <span class="n">number_text</span><span class="p">)</span>
-</span><span id="L-1117"><a href="#L-1117"><span class="linenos">1117</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_add</span><span class="p">(</span><span class="n">TokenType</span><span class="o">.</span><span class="n">DCOLON</span><span class="p">,</span> <span class="s2">&quot;::&quot;</span><span class="p">)</span>
-</span><span id="L-1118"><a href="#L-1118"><span class="linenos">1118</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_add</span><span class="p">(</span><span class="n">token_type</span><span class="p">,</span> <span class="n">literal</span><span class="p">)</span>
-</span><span id="L-1119"><a href="#L-1119"><span class="linenos">1119</span></a> <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">dialect</span><span class="o">.</span><span class="n">IDENTIFIERS_CAN_START_WITH_DIGIT</span><span class="p">:</span>
-</span><span id="L-1120"><a href="#L-1120"><span class="linenos">1120</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_add</span><span class="p">(</span><span class="n">TokenType</span><span class="o">.</span><span class="n">VAR</span><span class="p">)</span>
-</span><span id="L-1121"><a href="#L-1121"><span class="linenos">1121</span></a>
-</span><span id="L-1122"><a href="#L-1122"><span class="linenos">1122</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">(</span><span class="o">-</span><span class="nb">len</span><span class="p">(</span><span class="n">literal</span><span class="p">))</span>
-</span><span id="L-1123"><a href="#L-1123"><span class="linenos">1123</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_add</span><span class="p">(</span><span class="n">TokenType</span><span class="o">.</span><span class="n">NUMBER</span><span class="p">,</span> <span class="n">number_text</span><span class="p">)</span>
-</span><span id="L-1124"><a href="#L-1124"><span class="linenos">1124</span></a> <span class="k">else</span><span class="p">:</span>
-</span><span id="L-1125"><a href="#L-1125"><span class="linenos">1125</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_add</span><span class="p">(</span><span class="n">TokenType</span><span class="o">.</span><span class="n">NUMBER</span><span class="p">)</span>
-</span><span id="L-1126"><a href="#L-1126"><span class="linenos">1126</span></a>
-</span><span id="L-1127"><a href="#L-1127"><span class="linenos">1127</span></a> <span class="k">def</span> <span class="nf">_scan_bits</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
-</span><span id="L-1128"><a href="#L-1128"><span class="linenos">1128</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">()</span>
-</span><span id="L-1129"><a href="#L-1129"><span class="linenos">1129</span></a> <span class="n">value</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_extract_value</span><span class="p">()</span>
-</span><span id="L-1130"><a href="#L-1130"><span class="linenos">1130</span></a> <span class="k">try</span><span class="p">:</span>
-</span><span id="L-1131"><a href="#L-1131"><span class="linenos">1131</span></a> <span class="c1"># If `value` can&#39;t be converted to a binary, fallback to tokenizing it as an identifier</span>
-</span><span id="L-1132"><a href="#L-1132"><span class="linenos">1132</span></a> <span class="nb">int</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="mi">2</span><span class="p">)</span>
-</span><span id="L-1133"><a href="#L-1133"><span class="linenos">1133</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_add</span><span class="p">(</span><span class="n">TokenType</span><span class="o">.</span><span class="n">BIT_STRING</span><span class="p">,</span> <span class="n">value</span><span class="p">[</span><span class="mi">2</span><span class="p">:])</span> <span class="c1"># Drop the 0b</span>
-</span><span id="L-1134"><a href="#L-1134"><span class="linenos">1134</span></a> <span class="k">except</span> <span class="ne">ValueError</span><span class="p">:</span>
-</span><span id="L-1135"><a href="#L-1135"><span class="linenos">1135</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_add</span><span class="p">(</span><span class="n">TokenType</span><span class="o">.</span><span class="n">IDENTIFIER</span><span class="p">)</span>
-</span><span id="L-1136"><a href="#L-1136"><span class="linenos">1136</span></a>
-</span><span id="L-1137"><a href="#L-1137"><span class="linenos">1137</span></a> <span class="k">def</span> <span class="nf">_scan_hex</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
-</span><span id="L-1138"><a href="#L-1138"><span class="linenos">1138</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">()</span>
-</span><span id="L-1139"><a href="#L-1139"><span class="linenos">1139</span></a> <span class="n">value</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_extract_value</span><span class="p">()</span>
-</span><span id="L-1140"><a href="#L-1140"><span class="linenos">1140</span></a> <span class="k">try</span><span class="p">:</span>
-</span><span id="L-1141"><a href="#L-1141"><span class="linenos">1141</span></a> <span class="c1"># If `value` can&#39;t be converted to a hex, fallback to tokenizing it as an identifier</span>
-</span><span id="L-1142"><a href="#L-1142"><span class="linenos">1142</span></a> <span class="nb">int</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="mi">16</span><span class="p">)</span>
-</span><span id="L-1143"><a href="#L-1143"><span class="linenos">1143</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_add</span><span class="p">(</span><span class="n">TokenType</span><span class="o">.</span><span class="n">HEX_STRING</span><span class="p">,</span> <span class="n">value</span><span class="p">[</span><span class="mi">2</span><span class="p">:])</span> <span class="c1"># Drop the 0x</span>
-</span><span id="L-1144"><a href="#L-1144"><span class="linenos">1144</span></a> <span class="k">except</span> <span class="ne">ValueError</span><span class="p">:</span>
-</span><span id="L-1145"><a href="#L-1145"><span class="linenos">1145</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_add</span><span class="p">(</span><span class="n">TokenType</span><span class="o">.</span><span class="n">IDENTIFIER</span><span class="p">)</span>
-</span><span id="L-1146"><a href="#L-1146"><span class="linenos">1146</span></a>
-</span><span id="L-1147"><a href="#L-1147"><span class="linenos">1147</span></a> <span class="k">def</span> <span class="nf">_extract_value</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
-</span><span id="L-1148"><a href="#L-1148"><span class="linenos">1148</span></a> <span class="k">while</span> <span class="kc">True</span><span class="p">:</span>
-</span><span id="L-1149"><a href="#L-1149"><span class="linenos">1149</span></a> <span class="n">char</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span>
-</span><span id="L-1150"><a href="#L-1150"><span class="linenos">1150</span></a> <span class="k">if</span> <span class="n">char</span> <span class="ow">and</span> <span class="n">char</span> <span class="ow">not</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">SINGLE_TOKENS</span><span class="p">:</span>
-</span><span id="L-1151"><a href="#L-1151"><span class="linenos">1151</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">(</span><span class="n">alnum</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-</span><span id="L-1152"><a href="#L-1152"><span class="linenos">1152</span></a> <span class="k">else</span><span class="p">:</span>
-</span><span id="L-1153"><a href="#L-1153"><span class="linenos">1153</span></a> <span class="k">break</span>
-</span><span id="L-1154"><a href="#L-1154"><span class="linenos">1154</span></a>
-</span><span id="L-1155"><a href="#L-1155"><span class="linenos">1155</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_text</span>
-</span><span id="L-1156"><a href="#L-1156"><span class="linenos">1156</span></a>
-</span><span id="L-1157"><a href="#L-1157"><span class="linenos">1157</span></a> <span class="k">def</span> <span class="nf">_scan_string</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">start</span><span class="p">:</span> <span class="nb">str</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">bool</span><span class="p">:</span>
-</span><span id="L-1158"><a href="#L-1158"><span class="linenos">1158</span></a> <span class="n">base</span> <span class="o">=</span> <span class="kc">None</span>
-</span><span id="L-1159"><a href="#L-1159"><span class="linenos">1159</span></a> <span class="n">token_type</span> <span class="o">=</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">STRING</span>
-</span><span id="L-1160"><a href="#L-1160"><span class="linenos">1160</span></a>
-</span><span id="L-1161"><a href="#L-1161"><span class="linenos">1161</span></a> <span class="k">if</span> <span class="n">start</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">_QUOTES</span><span class="p">:</span>
-</span><span id="L-1162"><a href="#L-1162"><span class="linenos">1162</span></a> <span class="n">end</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_QUOTES</span><span class="p">[</span><span class="n">start</span><span class="p">]</span>
-</span><span id="L-1163"><a href="#L-1163"><span class="linenos">1163</span></a> <span class="k">elif</span> <span class="n">start</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">_FORMAT_STRINGS</span><span class="p">:</span>
-</span><span id="L-1164"><a href="#L-1164"><span class="linenos">1164</span></a> <span class="n">end</span><span class="p">,</span> <span class="n">token_type</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_FORMAT_STRINGS</span><span class="p">[</span><span class="n">start</span><span class="p">]</span>
-</span><span id="L-1165"><a href="#L-1165"><span class="linenos">1165</span></a>
-</span><span id="L-1166"><a href="#L-1166"><span class="linenos">1166</span></a> <span class="k">if</span> <span class="n">token_type</span> <span class="o">==</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">HEX_STRING</span><span class="p">:</span>
-</span><span id="L-1167"><a href="#L-1167"><span class="linenos">1167</span></a> <span class="n">base</span> <span class="o">=</span> <span class="mi">16</span>
-</span><span id="L-1168"><a href="#L-1168"><span class="linenos">1168</span></a> <span class="k">elif</span> <span class="n">token_type</span> <span class="o">==</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BIT_STRING</span><span class="p">:</span>
-</span><span id="L-1169"><a href="#L-1169"><span class="linenos">1169</span></a> <span class="n">base</span> <span class="o">=</span> <span class="mi">2</span>
-</span><span id="L-1170"><a href="#L-1170"><span class="linenos">1170</span></a> <span class="k">elif</span> <span class="n">token_type</span> <span class="o">==</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">HEREDOC_STRING</span><span class="p">:</span>
-</span><span id="L-1171"><a href="#L-1171"><span class="linenos">1171</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">()</span>
-</span><span id="L-1172"><a href="#L-1172"><span class="linenos">1172</span></a> <span class="n">tag</span> <span class="o">=</span> <span class="s2">&quot;&quot;</span> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_char</span> <span class="o">==</span> <span class="n">end</span> <span class="k">else</span> <span class="bp">self</span><span class="o">.</span><span class="n">_extract_string</span><span class="p">(</span><span class="n">end</span><span class="p">)</span>
-</span><span id="L-1173"><a href="#L-1173"><span class="linenos">1173</span></a> <span class="n">end</span> <span class="o">=</span> <span class="sa">f</span><span class="s2">&quot;</span><span class="si">{</span><span class="n">start</span><span class="si">}{</span><span class="n">tag</span><span class="si">}{</span><span class="n">end</span><span class="si">}</span><span class="s2">&quot;</span>
-</span><span id="L-1174"><a href="#L-1174"><span class="linenos">1174</span></a> <span class="k">else</span><span class="p">:</span>
-</span><span id="L-1175"><a href="#L-1175"><span class="linenos">1175</span></a> <span class="k">return</span> <span class="kc">False</span>
-</span><span id="L-1176"><a href="#L-1176"><span class="linenos">1176</span></a>
-</span><span id="L-1177"><a href="#L-1177"><span class="linenos">1177</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">start</span><span class="p">))</span>
-</span><span id="L-1178"><a href="#L-1178"><span class="linenos">1178</span></a> <span class="n">text</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_extract_string</span><span class="p">(</span><span class="n">end</span><span class="p">)</span>
-</span><span id="L-1179"><a href="#L-1179"><span class="linenos">1179</span></a>
-</span><span id="L-1180"><a href="#L-1180"><span class="linenos">1180</span></a> <span class="k">if</span> <span class="n">base</span><span class="p">:</span>
-</span><span id="L-1181"><a href="#L-1181"><span class="linenos">1181</span></a> <span class="k">try</span><span class="p">:</span>
-</span><span id="L-1182"><a href="#L-1182"><span class="linenos">1182</span></a> <span class="nb">int</span><span class="p">(</span><span class="n">text</span><span class="p">,</span> <span class="n">base</span><span class="p">)</span>
-</span><span id="L-1183"><a href="#L-1183"><span class="linenos">1183</span></a> <span class="k">except</span><span class="p">:</span>
-</span><span id="L-1184"><a href="#L-1184"><span class="linenos">1184</span></a> <span class="k">raise</span> <span class="n">TokenError</span><span class="p">(</span>
-</span><span id="L-1185"><a href="#L-1185"><span class="linenos">1185</span></a> <span class="sa">f</span><span class="s2">&quot;Numeric string contains invalid characters from </span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">_line</span><span class="si">}</span><span class="s2">:</span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">_start</span><span class="si">}</span><span class="s2">&quot;</span>
-</span><span id="L-1186"><a href="#L-1186"><span class="linenos">1186</span></a> <span class="p">)</span>
-</span><span id="L-1187"><a href="#L-1187"><span class="linenos">1187</span></a> <span class="k">else</span><span class="p">:</span>
-</span><span id="L-1188"><a href="#L-1188"><span class="linenos">1188</span></a> <span class="n">text</span> <span class="o">=</span> <span class="n">text</span><span class="o">.</span><span class="n">encode</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">ENCODE</span><span class="p">)</span><span class="o">.</span><span class="n">decode</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">ENCODE</span><span class="p">)</span> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">ENCODE</span> <span class="k">else</span> <span class="n">text</span>
-</span><span id="L-1189"><a href="#L-1189"><span class="linenos">1189</span></a>
-</span><span id="L-1190"><a href="#L-1190"><span class="linenos">1190</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_add</span><span class="p">(</span><span class="n">token_type</span><span class="p">,</span> <span class="n">text</span><span class="p">)</span>
-</span><span id="L-1191"><a href="#L-1191"><span class="linenos">1191</span></a> <span class="k">return</span> <span class="kc">True</span>
-</span><span id="L-1192"><a href="#L-1192"><span class="linenos">1192</span></a>
-</span><span id="L-1193"><a href="#L-1193"><span class="linenos">1193</span></a> <span class="k">def</span> <span class="nf">_scan_identifier</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">identifier_end</span><span class="p">:</span> <span class="nb">str</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
-</span><span id="L-1194"><a href="#L-1194"><span class="linenos">1194</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">()</span>
-</span><span id="L-1195"><a href="#L-1195"><span class="linenos">1195</span></a> <span class="n">text</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_extract_string</span><span class="p">(</span><span class="n">identifier_end</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_IDENTIFIER_ESCAPES</span><span class="p">)</span>
-</span><span id="L-1196"><a href="#L-1196"><span class="linenos">1196</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_add</span><span class="p">(</span><span class="n">TokenType</span><span class="o">.</span><span class="n">IDENTIFIER</span><span class="p">,</span> <span class="n">text</span><span class="p">)</span>
-</span><span id="L-1197"><a href="#L-1197"><span class="linenos">1197</span></a>
-</span><span id="L-1198"><a href="#L-1198"><span class="linenos">1198</span></a> <span class="k">def</span> <span class="nf">_scan_var</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
-</span><span id="L-1199"><a href="#L-1199"><span class="linenos">1199</span></a> <span class="k">while</span> <span class="kc">True</span><span class="p">:</span>
-</span><span id="L-1200"><a href="#L-1200"><span class="linenos">1200</span></a> <span class="n">char</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span>
-</span><span id="L-1201"><a href="#L-1201"><span class="linenos">1201</span></a> <span class="k">if</span> <span class="n">char</span> <span class="ow">and</span> <span class="p">(</span><span class="n">char</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">VAR_SINGLE_TOKENS</span> <span class="ow">or</span> <span class="n">char</span> <span class="ow">not</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">SINGLE_TOKENS</span><span class="p">):</span>
-</span><span id="L-1202"><a href="#L-1202"><span class="linenos">1202</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">(</span><span class="n">alnum</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-</span><span id="L-1203"><a href="#L-1203"><span class="linenos">1203</span></a> <span class="k">else</span><span class="p">:</span>
-</span><span id="L-1204"><a href="#L-1204"><span class="linenos">1204</span></a> <span class="k">break</span>
-</span><span id="L-1205"><a href="#L-1205"><span class="linenos">1205</span></a>
-</span><span id="L-1206"><a href="#L-1206"><span class="linenos">1206</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_add</span><span class="p">(</span>
-</span><span id="L-1207"><a href="#L-1207"><span class="linenos">1207</span></a> <span class="n">TokenType</span><span class="o">.</span><span class="n">VAR</span>
-</span><span id="L-1208"><a href="#L-1208"><span class="linenos">1208</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">tokens</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">tokens</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">token_type</span> <span class="o">==</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">PARAMETER</span>
-</span><span id="L-1209"><a href="#L-1209"><span class="linenos">1209</span></a> <span class="k">else</span> <span class="bp">self</span><span class="o">.</span><span class="n">KEYWORDS</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_text</span><span class="o">.</span><span class="n">upper</span><span class="p">(),</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">VAR</span><span class="p">)</span>
-</span><span id="L-1210"><a href="#L-1210"><span class="linenos">1210</span></a> <span class="p">)</span>
-</span><span id="L-1211"><a href="#L-1211"><span class="linenos">1211</span></a>
-</span><span id="L-1212"><a href="#L-1212"><span class="linenos">1212</span></a> <span class="k">def</span> <span class="nf">_extract_string</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">delimiter</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="n">escapes</span><span class="o">=</span><span class="kc">None</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
-</span><span id="L-1213"><a href="#L-1213"><span class="linenos">1213</span></a> <span class="n">text</span> <span class="o">=</span> <span class="s2">&quot;&quot;</span>
-</span><span id="L-1214"><a href="#L-1214"><span class="linenos">1214</span></a> <span class="n">delim_size</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">delimiter</span><span class="p">)</span>
-</span><span id="L-1215"><a href="#L-1215"><span class="linenos">1215</span></a> <span class="n">escapes</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_STRING_ESCAPES</span> <span class="k">if</span> <span class="n">escapes</span> <span class="ow">is</span> <span class="kc">None</span> <span class="k">else</span> <span class="n">escapes</span>
-</span><span id="L-1216"><a href="#L-1216"><span class="linenos">1216</span></a>
-</span><span id="L-1217"><a href="#L-1217"><span class="linenos">1217</span></a> <span class="k">while</span> <span class="kc">True</span><span class="p">:</span>
-</span><span id="L-1218"><a href="#L-1218"><span class="linenos">1218</span></a> <span class="k">if</span> <span class="p">(</span>
-</span><span id="L-1219"><a href="#L-1219"><span class="linenos">1219</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_char</span> <span class="ow">in</span> <span class="n">escapes</span>
-</span><span id="L-1220"><a href="#L-1220"><span class="linenos">1220</span></a> <span class="ow">and</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_peek</span> <span class="o">==</span> <span class="n">delimiter</span> <span class="ow">or</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span> <span class="ow">in</span> <span class="n">escapes</span><span class="p">)</span>
-</span><span id="L-1221"><a href="#L-1221"><span class="linenos">1221</span></a> <span class="ow">and</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_char</span> <span class="ow">not</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">_QUOTES</span> <span class="ow">or</span> <span class="bp">self</span><span class="o">.</span><span class="n">_char</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span><span class="p">)</span>
-</span><span id="L-1222"><a href="#L-1222"><span class="linenos">1222</span></a> <span class="p">):</span>
-</span><span id="L-1223"><a href="#L-1223"><span class="linenos">1223</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span> <span class="o">==</span> <span class="n">delimiter</span><span class="p">:</span>
-</span><span id="L-1224"><a href="#L-1224"><span class="linenos">1224</span></a> <span class="n">text</span> <span class="o">+=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span>
-</span><span id="L-1225"><a href="#L-1225"><span class="linenos">1225</span></a> <span class="k">else</span><span class="p">:</span>
-</span><span id="L-1226"><a href="#L-1226"><span class="linenos">1226</span></a> <span class="n">text</span> <span class="o">+=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_char</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span>
-</span><span id="L-1227"><a href="#L-1227"><span class="linenos">1227</span></a>
-</span><span id="L-1228"><a href="#L-1228"><span class="linenos">1228</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_current</span> <span class="o">+</span> <span class="mi">1</span> <span class="o">&lt;</span> <span class="bp">self</span><span class="o">.</span><span class="n">size</span><span class="p">:</span>
-</span><span id="L-1229"><a href="#L-1229"><span class="linenos">1229</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">(</span><span class="mi">2</span><span class="p">)</span>
-</span><span id="L-1230"><a href="#L-1230"><span class="linenos">1230</span></a> <span class="k">else</span><span class="p">:</span>
-</span><span id="L-1231"><a href="#L-1231"><span class="linenos">1231</span></a> <span class="k">raise</span> <span class="n">TokenError</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;Missing </span><span class="si">{</span><span class="n">delimiter</span><span class="si">}</span><span class="s2"> from </span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">_line</span><span class="si">}</span><span class="s2">:</span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">_current</span><span class="si">}</span><span class="s2">&quot;</span><span class="p">)</span>
-</span><span id="L-1232"><a href="#L-1232"><span class="linenos">1232</span></a> <span class="k">else</span><span class="p">:</span>
-</span><span id="L-1233"><a href="#L-1233"><span class="linenos">1233</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_chars</span><span class="p">(</span><span class="n">delim_size</span><span class="p">)</span> <span class="o">==</span> <span class="n">delimiter</span><span class="p">:</span>
-</span><span id="L-1234"><a href="#L-1234"><span class="linenos">1234</span></a> <span class="k">if</span> <span class="n">delim_size</span> <span class="o">&gt;</span> <span class="mi">1</span><span class="p">:</span>
-</span><span id="L-1235"><a href="#L-1235"><span class="linenos">1235</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">(</span><span class="n">delim_size</span> <span class="o">-</span> <span class="mi">1</span><span class="p">)</span>
-</span><span id="L-1236"><a href="#L-1236"><span class="linenos">1236</span></a> <span class="k">break</span>
-</span><span id="L-1237"><a href="#L-1237"><span class="linenos">1237</span></a>
-</span><span id="L-1238"><a href="#L-1238"><span class="linenos">1238</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_end</span><span class="p">:</span>
-</span><span id="L-1239"><a href="#L-1239"><span class="linenos">1239</span></a> <span class="k">raise</span> <span class="n">TokenError</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;Missing </span><span class="si">{</span><span class="n">delimiter</span><span class="si">}</span><span class="s2"> from </span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">_line</span><span class="si">}</span><span class="s2">:</span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">_start</span><span class="si">}</span><span class="s2">&quot;</span><span class="p">)</span>
-</span><span id="L-1240"><a href="#L-1240"><span class="linenos">1240</span></a>
-</span><span id="L-1241"><a href="#L-1241"><span class="linenos">1241</span></a> <span class="k">if</span> <span class="p">(</span>
-</span><span id="L-1242"><a href="#L-1242"><span class="linenos">1242</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">dialect</span><span class="o">.</span><span class="n">ESCAPE_SEQUENCES</span>
-</span><span id="L-1243"><a href="#L-1243"><span class="linenos">1243</span></a> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span>
-</span><span id="L-1244"><a href="#L-1244"><span class="linenos">1244</span></a> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">_char</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">STRING_ESCAPES</span>
-</span><span id="L-1245"><a href="#L-1245"><span class="linenos">1245</span></a> <span class="p">):</span>
-</span><span id="L-1246"><a href="#L-1246"><span class="linenos">1246</span></a> <span class="n">escaped_sequence</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">dialect</span><span class="o">.</span><span class="n">ESCAPE_SEQUENCES</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_char</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span><span class="p">)</span>
-</span><span id="L-1247"><a href="#L-1247"><span class="linenos">1247</span></a> <span class="k">if</span> <span class="n">escaped_sequence</span><span class="p">:</span>
-</span><span id="L-1248"><a href="#L-1248"><span class="linenos">1248</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">(</span><span class="mi">2</span><span class="p">)</span>
-</span><span id="L-1249"><a href="#L-1249"><span class="linenos">1249</span></a> <span class="n">text</span> <span class="o">+=</span> <span class="n">escaped_sequence</span>
-</span><span id="L-1250"><a href="#L-1250"><span class="linenos">1250</span></a> <span class="k">continue</span>
-</span><span id="L-1251"><a href="#L-1251"><span class="linenos">1251</span></a>
-</span><span id="L-1252"><a href="#L-1252"><span class="linenos">1252</span></a> <span class="n">current</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_current</span> <span class="o">-</span> <span class="mi">1</span>
-</span><span id="L-1253"><a href="#L-1253"><span class="linenos">1253</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">(</span><span class="n">alnum</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-</span><span id="L-1254"><a href="#L-1254"><span class="linenos">1254</span></a> <span class="n">text</span> <span class="o">+=</span> <span class="bp">self</span><span class="o">.</span><span class="n">sql</span><span class="p">[</span><span class="n">current</span> <span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">_current</span> <span class="o">-</span> <span class="mi">1</span><span class="p">]</span>
-</span><span id="L-1255"><a href="#L-1255"><span class="linenos">1255</span></a>
-</span><span id="L-1256"><a href="#L-1256"><span class="linenos">1256</span></a> <span class="k">return</span> <span class="n">text</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="L-1"><a href="#L-1"><span class="linenos"> 1</span></a><span class="kn">from</span> <span class="nn">__future__</span> <span class="kn">import</span> <span class="n">annotations</span>
+</span><span id="L-2"><a href="#L-2"><span class="linenos"> 2</span></a>
+</span><span id="L-3"><a href="#L-3"><span class="linenos"> 3</span></a><span class="kn">import</span> <span class="nn">os</span>
+</span><span id="L-4"><a href="#L-4"><span class="linenos"> 4</span></a><span class="kn">import</span> <span class="nn">typing</span> <span class="k">as</span> <span class="nn">t</span>
+</span><span id="L-5"><a href="#L-5"><span class="linenos"> 5</span></a>
+</span><span id="L-6"><a href="#L-6"><span class="linenos"> 6</span></a><span class="kn">from</span> <span class="nn">sqlglot.errors</span> <span class="kn">import</span> <span class="n">SqlglotError</span><span class="p">,</span> <span class="n">TokenError</span>
+</span><span id="L-7"><a href="#L-7"><span class="linenos"> 7</span></a><span class="kn">from</span> <span class="nn">sqlglot.token_type</span> <span class="kn">import</span> <span class="n">TokenType</span>
+</span><span id="L-8"><a href="#L-8"><span class="linenos"> 8</span></a><span class="kn">from</span> <span class="nn">sqlglot.trie</span> <span class="kn">import</span> <span class="n">TrieResult</span><span class="p">,</span> <span class="n">in_trie</span><span class="p">,</span> <span class="n">new_trie</span>
+</span><span id="L-9"><a href="#L-9"><span class="linenos"> 9</span></a>
+</span><span id="L-10"><a href="#L-10"><span class="linenos"> 10</span></a><span class="k">if</span> <span class="n">t</span><span class="o">.</span><span class="n">TYPE_CHECKING</span><span class="p">:</span>
+</span><span id="L-11"><a href="#L-11"><span class="linenos"> 11</span></a> <span class="kn">from</span> <span class="nn">sqlglot.dialects.dialect</span> <span class="kn">import</span> <span class="n">DialectType</span>
+</span><span id="L-12"><a href="#L-12"><span class="linenos"> 12</span></a>
+</span><span id="L-13"><a href="#L-13"><span class="linenos"> 13</span></a>
+</span><span id="L-14"><a href="#L-14"><span class="linenos"> 14</span></a><span class="k">try</span><span class="p">:</span>
+</span><span id="L-15"><a href="#L-15"><span class="linenos"> 15</span></a> <span class="kn">from</span> <span class="nn">sqlglotrs</span> <span class="kn">import</span> <span class="p">(</span> <span class="c1"># type: ignore</span>
+</span><span id="L-16"><a href="#L-16"><span class="linenos"> 16</span></a> <span class="n">Tokenizer</span> <span class="k">as</span> <span class="n">RsTokenizer</span><span class="p">,</span>
+</span><span id="L-17"><a href="#L-17"><span class="linenos"> 17</span></a> <span class="n">TokenizerDialectSettings</span> <span class="k">as</span> <span class="n">RsTokenizerDialectSettings</span><span class="p">,</span>
+</span><span id="L-18"><a href="#L-18"><span class="linenos"> 18</span></a> <span class="n">TokenizerSettings</span> <span class="k">as</span> <span class="n">RsTokenizerSettings</span><span class="p">,</span>
+</span><span id="L-19"><a href="#L-19"><span class="linenos"> 19</span></a> <span class="p">)</span>
+</span><span id="L-20"><a href="#L-20"><span class="linenos"> 20</span></a>
+</span><span id="L-21"><a href="#L-21"><span class="linenos"> 21</span></a> <span class="n">USE_RS_TOKENIZER</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">&quot;SQLGLOTRS_TOKENIZER&quot;</span><span class="p">,</span> <span class="s2">&quot;1&quot;</span><span class="p">)</span> <span class="o">==</span> <span class="s2">&quot;1&quot;</span>
+</span><span id="L-22"><a href="#L-22"><span class="linenos"> 22</span></a><span class="k">except</span> <span class="ne">ImportError</span><span class="p">:</span>
+</span><span id="L-23"><a href="#L-23"><span class="linenos"> 23</span></a> <span class="n">USE_RS_TOKENIZER</span> <span class="o">=</span> <span class="kc">False</span>
+</span><span id="L-24"><a href="#L-24"><span class="linenos"> 24</span></a>
+</span><span id="L-25"><a href="#L-25"><span class="linenos"> 25</span></a>
+</span><span id="L-26"><a href="#L-26"><span class="linenos"> 26</span></a><span class="k">class</span> <span class="nc">Token</span><span class="p">:</span>
+</span><span id="L-27"><a href="#L-27"><span class="linenos"> 27</span></a> <span class="vm">__slots__</span> <span class="o">=</span> <span class="p">(</span><span class="s2">&quot;token_type&quot;</span><span class="p">,</span> <span class="s2">&quot;text&quot;</span><span class="p">,</span> <span class="s2">&quot;line&quot;</span><span class="p">,</span> <span class="s2">&quot;col&quot;</span><span class="p">,</span> <span class="s2">&quot;start&quot;</span><span class="p">,</span> <span class="s2">&quot;end&quot;</span><span class="p">,</span> <span class="s2">&quot;comments&quot;</span><span class="p">)</span>
+</span><span id="L-28"><a href="#L-28"><span class="linenos"> 28</span></a>
+</span><span id="L-29"><a href="#L-29"><span class="linenos"> 29</span></a> <span class="nd">@classmethod</span>
+</span><span id="L-30"><a href="#L-30"><span class="linenos"> 30</span></a> <span class="k">def</span> <span class="nf">number</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">number</span><span class="p">:</span> <span class="nb">int</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Token</span><span class="p">:</span>
+</span><span id="L-31"><a href="#L-31"><span class="linenos"> 31</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Returns a NUMBER token with `number` as its text.&quot;&quot;&quot;</span>
+</span><span id="L-32"><a href="#L-32"><span class="linenos"> 32</span></a> <span class="k">return</span> <span class="bp">cls</span><span class="p">(</span><span class="n">TokenType</span><span class="o">.</span><span class="n">NUMBER</span><span class="p">,</span> <span class="nb">str</span><span class="p">(</span><span class="n">number</span><span class="p">))</span>
+</span><span id="L-33"><a href="#L-33"><span class="linenos"> 33</span></a>
+</span><span id="L-34"><a href="#L-34"><span class="linenos"> 34</span></a> <span class="nd">@classmethod</span>
+</span><span id="L-35"><a href="#L-35"><span class="linenos"> 35</span></a> <span class="k">def</span> <span class="nf">string</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">string</span><span class="p">:</span> <span class="nb">str</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Token</span><span class="p">:</span>
+</span><span id="L-36"><a href="#L-36"><span class="linenos"> 36</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Returns a STRING token with `string` as its text.&quot;&quot;&quot;</span>
+</span><span id="L-37"><a href="#L-37"><span class="linenos"> 37</span></a> <span class="k">return</span> <span class="bp">cls</span><span class="p">(</span><span class="n">TokenType</span><span class="o">.</span><span class="n">STRING</span><span class="p">,</span> <span class="n">string</span><span class="p">)</span>
+</span><span id="L-38"><a href="#L-38"><span class="linenos"> 38</span></a>
+</span><span id="L-39"><a href="#L-39"><span class="linenos"> 39</span></a> <span class="nd">@classmethod</span>
+</span><span id="L-40"><a href="#L-40"><span class="linenos"> 40</span></a> <span class="k">def</span> <span class="nf">identifier</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">identifier</span><span class="p">:</span> <span class="nb">str</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Token</span><span class="p">:</span>
+</span><span id="L-41"><a href="#L-41"><span class="linenos"> 41</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Returns an IDENTIFIER token with `identifier` as its text.&quot;&quot;&quot;</span>
+</span><span id="L-42"><a href="#L-42"><span class="linenos"> 42</span></a> <span class="k">return</span> <span class="bp">cls</span><span class="p">(</span><span class="n">TokenType</span><span class="o">.</span><span class="n">IDENTIFIER</span><span class="p">,</span> <span class="n">identifier</span><span class="p">)</span>
+</span><span id="L-43"><a href="#L-43"><span class="linenos"> 43</span></a>
+</span><span id="L-44"><a href="#L-44"><span class="linenos"> 44</span></a> <span class="nd">@classmethod</span>
+</span><span id="L-45"><a href="#L-45"><span class="linenos"> 45</span></a> <span class="k">def</span> <span class="nf">var</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">var</span><span class="p">:</span> <span class="nb">str</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Token</span><span class="p">:</span>
+</span><span id="L-46"><a href="#L-46"><span class="linenos"> 46</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Returns an VAR token with `var` as its text.&quot;&quot;&quot;</span>
+</span><span id="L-47"><a href="#L-47"><span class="linenos"> 47</span></a> <span class="k">return</span> <span class="bp">cls</span><span class="p">(</span><span class="n">TokenType</span><span class="o">.</span><span class="n">VAR</span><span class="p">,</span> <span class="n">var</span><span class="p">)</span>
+</span><span id="L-48"><a href="#L-48"><span class="linenos"> 48</span></a>
+</span><span id="L-49"><a href="#L-49"><span class="linenos"> 49</span></a> <span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span>
+</span><span id="L-50"><a href="#L-50"><span class="linenos"> 50</span></a> <span class="bp">self</span><span class="p">,</span>
+</span><span id="L-51"><a href="#L-51"><span class="linenos"> 51</span></a> <span class="n">token_type</span><span class="p">:</span> <span class="n">TokenType</span><span class="p">,</span>
+</span><span id="L-52"><a href="#L-52"><span class="linenos"> 52</span></a> <span class="n">text</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span>
+</span><span id="L-53"><a href="#L-53"><span class="linenos"> 53</span></a> <span class="n">line</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">1</span><span class="p">,</span>
+</span><span id="L-54"><a href="#L-54"><span class="linenos"> 54</span></a> <span class="n">col</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">1</span><span class="p">,</span>
+</span><span id="L-55"><a href="#L-55"><span class="linenos"> 55</span></a> <span class="n">start</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">0</span><span class="p">,</span>
+</span><span id="L-56"><a href="#L-56"><span class="linenos"> 56</span></a> <span class="n">end</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">0</span><span class="p">,</span>
+</span><span id="L-57"><a href="#L-57"><span class="linenos"> 57</span></a> <span class="n">comments</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="n">t</span><span class="o">.</span><span class="n">List</span><span class="p">[</span><span class="nb">str</span><span class="p">]]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="L-58"><a href="#L-58"><span class="linenos"> 58</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
+</span><span id="L-59"><a href="#L-59"><span class="linenos"> 59</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Token initializer.</span>
+</span><span id="L-60"><a href="#L-60"><span class="linenos"> 60</span></a>
+</span><span id="L-61"><a href="#L-61"><span class="linenos"> 61</span></a><span class="sd"> Args:</span>
+</span><span id="L-62"><a href="#L-62"><span class="linenos"> 62</span></a><span class="sd"> token_type: The TokenType Enum.</span>
+</span><span id="L-63"><a href="#L-63"><span class="linenos"> 63</span></a><span class="sd"> text: The text of the token.</span>
+</span><span id="L-64"><a href="#L-64"><span class="linenos"> 64</span></a><span class="sd"> line: The line that the token ends on.</span>
+</span><span id="L-65"><a href="#L-65"><span class="linenos"> 65</span></a><span class="sd"> col: The column that the token ends on.</span>
+</span><span id="L-66"><a href="#L-66"><span class="linenos"> 66</span></a><span class="sd"> start: The start index of the token.</span>
+</span><span id="L-67"><a href="#L-67"><span class="linenos"> 67</span></a><span class="sd"> end: The ending index of the token.</span>
+</span><span id="L-68"><a href="#L-68"><span class="linenos"> 68</span></a><span class="sd"> comments: The comments to attach to the token.</span>
+</span><span id="L-69"><a href="#L-69"><span class="linenos"> 69</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="L-70"><a href="#L-70"><span class="linenos"> 70</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">token_type</span> <span class="o">=</span> <span class="n">token_type</span>
+</span><span id="L-71"><a href="#L-71"><span class="linenos"> 71</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">text</span> <span class="o">=</span> <span class="n">text</span>
+</span><span id="L-72"><a href="#L-72"><span class="linenos"> 72</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">line</span> <span class="o">=</span> <span class="n">line</span>
+</span><span id="L-73"><a href="#L-73"><span class="linenos"> 73</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">col</span> <span class="o">=</span> <span class="n">col</span>
+</span><span id="L-74"><a href="#L-74"><span class="linenos"> 74</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">start</span> <span class="o">=</span> <span class="n">start</span>
+</span><span id="L-75"><a href="#L-75"><span class="linenos"> 75</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">end</span> <span class="o">=</span> <span class="n">end</span>
+</span><span id="L-76"><a href="#L-76"><span class="linenos"> 76</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">comments</span> <span class="o">=</span> <span class="p">[]</span> <span class="k">if</span> <span class="n">comments</span> <span class="ow">is</span> <span class="kc">None</span> <span class="k">else</span> <span class="n">comments</span>
+</span><span id="L-77"><a href="#L-77"><span class="linenos"> 77</span></a>
+</span><span id="L-78"><a href="#L-78"><span class="linenos"> 78</span></a> <span class="k">def</span> <span class="fm">__repr__</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
+</span><span id="L-79"><a href="#L-79"><span class="linenos"> 79</span></a> <span class="n">attributes</span> <span class="o">=</span> <span class="s2">&quot;, &quot;</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;</span><span class="si">{</span><span class="n">k</span><span class="si">}</span><span class="s2">: </span><span class="si">{</span><span class="nb">getattr</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span><span class="w"> </span><span class="n">k</span><span class="p">)</span><span class="si">}</span><span class="s2">&quot;</span> <span class="k">for</span> <span class="n">k</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="vm">__slots__</span><span class="p">)</span>
+</span><span id="L-80"><a href="#L-80"><span class="linenos"> 80</span></a> <span class="k">return</span> <span class="sa">f</span><span class="s2">&quot;&lt;Token </span><span class="si">{</span><span class="n">attributes</span><span class="si">}</span><span class="s2">&gt;&quot;</span>
+</span><span id="L-81"><a href="#L-81"><span class="linenos"> 81</span></a>
+</span><span id="L-82"><a href="#L-82"><span class="linenos"> 82</span></a>
+</span><span id="L-83"><a href="#L-83"><span class="linenos"> 83</span></a><span class="k">class</span> <span class="nc">_Tokenizer</span><span class="p">(</span><span class="nb">type</span><span class="p">):</span>
+</span><span id="L-84"><a href="#L-84"><span class="linenos"> 84</span></a> <span class="k">def</span> <span class="fm">__new__</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">clsname</span><span class="p">,</span> <span class="n">bases</span><span class="p">,</span> <span class="n">attrs</span><span class="p">):</span>
+</span><span id="L-85"><a href="#L-85"><span class="linenos"> 85</span></a> <span class="n">klass</span> <span class="o">=</span> <span class="nb">super</span><span class="p">()</span><span class="o">.</span><span class="fm">__new__</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">clsname</span><span class="p">,</span> <span class="n">bases</span><span class="p">,</span> <span class="n">attrs</span><span class="p">)</span>
+</span><span id="L-86"><a href="#L-86"><span class="linenos"> 86</span></a>
+</span><span id="L-87"><a href="#L-87"><span class="linenos"> 87</span></a> <span class="k">def</span> <span class="nf">_convert_quotes</span><span class="p">(</span><span class="n">arr</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">List</span><span class="p">[</span><span class="nb">str</span> <span class="o">|</span> <span class="n">t</span><span class="o">.</span><span class="n">Tuple</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="nb">str</span><span class="p">]])</span> <span class="o">-&gt;</span> <span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="nb">str</span><span class="p">]:</span>
+</span><span id="L-88"><a href="#L-88"><span class="linenos"> 88</span></a> <span class="k">return</span> <span class="nb">dict</span><span class="p">(</span>
+</span><span id="L-89"><a href="#L-89"><span class="linenos"> 89</span></a> <span class="p">(</span><span class="n">item</span><span class="p">,</span> <span class="n">item</span><span class="p">)</span> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">item</span><span class="p">,</span> <span class="nb">str</span><span class="p">)</span> <span class="k">else</span> <span class="p">(</span><span class="n">item</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="n">item</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span> <span class="k">for</span> <span class="n">item</span> <span class="ow">in</span> <span class="n">arr</span>
+</span><span id="L-90"><a href="#L-90"><span class="linenos"> 90</span></a> <span class="p">)</span>
+</span><span id="L-91"><a href="#L-91"><span class="linenos"> 91</span></a>
+</span><span id="L-92"><a href="#L-92"><span class="linenos"> 92</span></a> <span class="k">def</span> <span class="nf">_quotes_to_format</span><span class="p">(</span>
+</span><span id="L-93"><a href="#L-93"><span class="linenos"> 93</span></a> <span class="n">token_type</span><span class="p">:</span> <span class="n">TokenType</span><span class="p">,</span> <span class="n">arr</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">List</span><span class="p">[</span><span class="nb">str</span> <span class="o">|</span> <span class="n">t</span><span class="o">.</span><span class="n">Tuple</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="nb">str</span><span class="p">]]</span>
+</span><span id="L-94"><a href="#L-94"><span class="linenos"> 94</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="n">t</span><span class="o">.</span><span class="n">Tuple</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="n">TokenType</span><span class="p">]]:</span>
+</span><span id="L-95"><a href="#L-95"><span class="linenos"> 95</span></a> <span class="k">return</span> <span class="p">{</span><span class="n">k</span><span class="p">:</span> <span class="p">(</span><span class="n">v</span><span class="p">,</span> <span class="n">token_type</span><span class="p">)</span> <span class="k">for</span> <span class="n">k</span><span class="p">,</span> <span class="n">v</span> <span class="ow">in</span> <span class="n">_convert_quotes</span><span class="p">(</span><span class="n">arr</span><span class="p">)</span><span class="o">.</span><span class="n">items</span><span class="p">()}</span>
+</span><span id="L-96"><a href="#L-96"><span class="linenos"> 96</span></a>
+</span><span id="L-97"><a href="#L-97"><span class="linenos"> 97</span></a> <span class="n">klass</span><span class="o">.</span><span class="n">_QUOTES</span> <span class="o">=</span> <span class="n">_convert_quotes</span><span class="p">(</span><span class="n">klass</span><span class="o">.</span><span class="n">QUOTES</span><span class="p">)</span>
+</span><span id="L-98"><a href="#L-98"><span class="linenos"> 98</span></a> <span class="n">klass</span><span class="o">.</span><span class="n">_IDENTIFIERS</span> <span class="o">=</span> <span class="n">_convert_quotes</span><span class="p">(</span><span class="n">klass</span><span class="o">.</span><span class="n">IDENTIFIERS</span><span class="p">)</span>
+</span><span id="L-99"><a href="#L-99"><span class="linenos"> 99</span></a>
+</span><span id="L-100"><a href="#L-100"><span class="linenos">100</span></a> <span class="n">klass</span><span class="o">.</span><span class="n">_FORMAT_STRINGS</span> <span class="o">=</span> <span class="p">{</span>
+</span><span id="L-101"><a href="#L-101"><span class="linenos">101</span></a> <span class="o">**</span><span class="p">{</span>
+</span><span id="L-102"><a href="#L-102"><span class="linenos">102</span></a> <span class="n">p</span> <span class="o">+</span> <span class="n">s</span><span class="p">:</span> <span class="p">(</span><span class="n">e</span><span class="p">,</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">NATIONAL_STRING</span><span class="p">)</span>
+</span><span id="L-103"><a href="#L-103"><span class="linenos">103</span></a> <span class="k">for</span> <span class="n">s</span><span class="p">,</span> <span class="n">e</span> <span class="ow">in</span> <span class="n">klass</span><span class="o">.</span><span class="n">_QUOTES</span><span class="o">.</span><span class="n">items</span><span class="p">()</span>
+</span><span id="L-104"><a href="#L-104"><span class="linenos">104</span></a> <span class="k">for</span> <span class="n">p</span> <span class="ow">in</span> <span class="p">(</span><span class="s2">&quot;n&quot;</span><span class="p">,</span> <span class="s2">&quot;N&quot;</span><span class="p">)</span>
+</span><span id="L-105"><a href="#L-105"><span class="linenos">105</span></a> <span class="p">},</span>
+</span><span id="L-106"><a href="#L-106"><span class="linenos">106</span></a> <span class="o">**</span><span class="n">_quotes_to_format</span><span class="p">(</span><span class="n">TokenType</span><span class="o">.</span><span class="n">BIT_STRING</span><span class="p">,</span> <span class="n">klass</span><span class="o">.</span><span class="n">BIT_STRINGS</span><span class="p">),</span>
+</span><span id="L-107"><a href="#L-107"><span class="linenos">107</span></a> <span class="o">**</span><span class="n">_quotes_to_format</span><span class="p">(</span><span class="n">TokenType</span><span class="o">.</span><span class="n">BYTE_STRING</span><span class="p">,</span> <span class="n">klass</span><span class="o">.</span><span class="n">BYTE_STRINGS</span><span class="p">),</span>
+</span><span id="L-108"><a href="#L-108"><span class="linenos">108</span></a> <span class="o">**</span><span class="n">_quotes_to_format</span><span class="p">(</span><span class="n">TokenType</span><span class="o">.</span><span class="n">HEX_STRING</span><span class="p">,</span> <span class="n">klass</span><span class="o">.</span><span class="n">HEX_STRINGS</span><span class="p">),</span>
+</span><span id="L-109"><a href="#L-109"><span class="linenos">109</span></a> <span class="o">**</span><span class="n">_quotes_to_format</span><span class="p">(</span><span class="n">TokenType</span><span class="o">.</span><span class="n">RAW_STRING</span><span class="p">,</span> <span class="n">klass</span><span class="o">.</span><span class="n">RAW_STRINGS</span><span class="p">),</span>
+</span><span id="L-110"><a href="#L-110"><span class="linenos">110</span></a> <span class="o">**</span><span class="n">_quotes_to_format</span><span class="p">(</span><span class="n">TokenType</span><span class="o">.</span><span class="n">HEREDOC_STRING</span><span class="p">,</span> <span class="n">klass</span><span class="o">.</span><span class="n">HEREDOC_STRINGS</span><span class="p">),</span>
+</span><span id="L-111"><a href="#L-111"><span class="linenos">111</span></a> <span class="p">}</span>
+</span><span id="L-112"><a href="#L-112"><span class="linenos">112</span></a>
+</span><span id="L-113"><a href="#L-113"><span class="linenos">113</span></a> <span class="n">klass</span><span class="o">.</span><span class="n">_STRING_ESCAPES</span> <span class="o">=</span> <span class="nb">set</span><span class="p">(</span><span class="n">klass</span><span class="o">.</span><span class="n">STRING_ESCAPES</span><span class="p">)</span>
+</span><span id="L-114"><a href="#L-114"><span class="linenos">114</span></a> <span class="n">klass</span><span class="o">.</span><span class="n">_IDENTIFIER_ESCAPES</span> <span class="o">=</span> <span class="nb">set</span><span class="p">(</span><span class="n">klass</span><span class="o">.</span><span class="n">IDENTIFIER_ESCAPES</span><span class="p">)</span>
+</span><span id="L-115"><a href="#L-115"><span class="linenos">115</span></a> <span class="n">klass</span><span class="o">.</span><span class="n">_COMMENTS</span> <span class="o">=</span> <span class="p">{</span>
+</span><span id="L-116"><a href="#L-116"><span class="linenos">116</span></a> <span class="o">**</span><span class="nb">dict</span><span class="p">(</span>
+</span><span id="L-117"><a href="#L-117"><span class="linenos">117</span></a> <span class="p">(</span><span class="n">comment</span><span class="p">,</span> <span class="kc">None</span><span class="p">)</span> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">comment</span><span class="p">,</span> <span class="nb">str</span><span class="p">)</span> <span class="k">else</span> <span class="p">(</span><span class="n">comment</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="n">comment</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span>
+</span><span id="L-118"><a href="#L-118"><span class="linenos">118</span></a> <span class="k">for</span> <span class="n">comment</span> <span class="ow">in</span> <span class="n">klass</span><span class="o">.</span><span class="n">COMMENTS</span>
+</span><span id="L-119"><a href="#L-119"><span class="linenos">119</span></a> <span class="p">),</span>
+</span><span id="L-120"><a href="#L-120"><span class="linenos">120</span></a> <span class="s2">&quot;{#&quot;</span><span class="p">:</span> <span class="s2">&quot;#}&quot;</span><span class="p">,</span> <span class="c1"># Ensure Jinja comments are tokenized correctly in all dialects</span>
+</span><span id="L-121"><a href="#L-121"><span class="linenos">121</span></a> <span class="p">}</span>
+</span><span id="L-122"><a href="#L-122"><span class="linenos">122</span></a>
+</span><span id="L-123"><a href="#L-123"><span class="linenos">123</span></a> <span class="n">klass</span><span class="o">.</span><span class="n">_KEYWORD_TRIE</span> <span class="o">=</span> <span class="n">new_trie</span><span class="p">(</span>
+</span><span id="L-124"><a href="#L-124"><span class="linenos">124</span></a> <span class="n">key</span><span class="o">.</span><span class="n">upper</span><span class="p">()</span>
+</span><span id="L-125"><a href="#L-125"><span class="linenos">125</span></a> <span class="k">for</span> <span class="n">key</span> <span class="ow">in</span> <span class="p">(</span>
+</span><span id="L-126"><a href="#L-126"><span class="linenos">126</span></a> <span class="o">*</span><span class="n">klass</span><span class="o">.</span><span class="n">KEYWORDS</span><span class="p">,</span>
+</span><span id="L-127"><a href="#L-127"><span class="linenos">127</span></a> <span class="o">*</span><span class="n">klass</span><span class="o">.</span><span class="n">_COMMENTS</span><span class="p">,</span>
+</span><span id="L-128"><a href="#L-128"><span class="linenos">128</span></a> <span class="o">*</span><span class="n">klass</span><span class="o">.</span><span class="n">_QUOTES</span><span class="p">,</span>
+</span><span id="L-129"><a href="#L-129"><span class="linenos">129</span></a> <span class="o">*</span><span class="n">klass</span><span class="o">.</span><span class="n">_FORMAT_STRINGS</span><span class="p">,</span>
+</span><span id="L-130"><a href="#L-130"><span class="linenos">130</span></a> <span class="p">)</span>
+</span><span id="L-131"><a href="#L-131"><span class="linenos">131</span></a> <span class="k">if</span> <span class="s2">&quot; &quot;</span> <span class="ow">in</span> <span class="n">key</span> <span class="ow">or</span> <span class="nb">any</span><span class="p">(</span><span class="n">single</span> <span class="ow">in</span> <span class="n">key</span> <span class="k">for</span> <span class="n">single</span> <span class="ow">in</span> <span class="n">klass</span><span class="o">.</span><span class="n">SINGLE_TOKENS</span><span class="p">)</span>
+</span><span id="L-132"><a href="#L-132"><span class="linenos">132</span></a> <span class="p">)</span>
+</span><span id="L-133"><a href="#L-133"><span class="linenos">133</span></a>
+</span><span id="L-134"><a href="#L-134"><span class="linenos">134</span></a> <span class="k">if</span> <span class="n">USE_RS_TOKENIZER</span><span class="p">:</span>
+</span><span id="L-135"><a href="#L-135"><span class="linenos">135</span></a> <span class="n">settings</span> <span class="o">=</span> <span class="n">RsTokenizerSettings</span><span class="p">(</span>
+</span><span id="L-136"><a href="#L-136"><span class="linenos">136</span></a> <span class="n">white_space</span><span class="o">=</span><span class="p">{</span><span class="n">k</span><span class="p">:</span> <span class="n">v</span><span class="o">.</span><span class="n">name</span> <span class="k">for</span> <span class="n">k</span><span class="p">,</span> <span class="n">v</span> <span class="ow">in</span> <span class="n">klass</span><span class="o">.</span><span class="n">WHITE_SPACE</span><span class="o">.</span><span class="n">items</span><span class="p">()},</span>
+</span><span id="L-137"><a href="#L-137"><span class="linenos">137</span></a> <span class="n">single_tokens</span><span class="o">=</span><span class="p">{</span><span class="n">k</span><span class="p">:</span> <span class="n">v</span><span class="o">.</span><span class="n">name</span> <span class="k">for</span> <span class="n">k</span><span class="p">,</span> <span class="n">v</span> <span class="ow">in</span> <span class="n">klass</span><span class="o">.</span><span class="n">SINGLE_TOKENS</span><span class="o">.</span><span class="n">items</span><span class="p">()},</span>
+</span><span id="L-138"><a href="#L-138"><span class="linenos">138</span></a> <span class="n">keywords</span><span class="o">=</span><span class="p">{</span><span class="n">k</span><span class="p">:</span> <span class="n">v</span><span class="o">.</span><span class="n">name</span> <span class="k">for</span> <span class="n">k</span><span class="p">,</span> <span class="n">v</span> <span class="ow">in</span> <span class="n">klass</span><span class="o">.</span><span class="n">KEYWORDS</span><span class="o">.</span><span class="n">items</span><span class="p">()},</span>
+</span><span id="L-139"><a href="#L-139"><span class="linenos">139</span></a> <span class="n">numeric_literals</span><span class="o">=</span><span class="n">klass</span><span class="o">.</span><span class="n">NUMERIC_LITERALS</span><span class="p">,</span>
+</span><span id="L-140"><a href="#L-140"><span class="linenos">140</span></a> <span class="n">identifiers</span><span class="o">=</span><span class="n">klass</span><span class="o">.</span><span class="n">_IDENTIFIERS</span><span class="p">,</span>
+</span><span id="L-141"><a href="#L-141"><span class="linenos">141</span></a> <span class="n">identifier_escapes</span><span class="o">=</span><span class="n">klass</span><span class="o">.</span><span class="n">_IDENTIFIER_ESCAPES</span><span class="p">,</span>
+</span><span id="L-142"><a href="#L-142"><span class="linenos">142</span></a> <span class="n">string_escapes</span><span class="o">=</span><span class="n">klass</span><span class="o">.</span><span class="n">_STRING_ESCAPES</span><span class="p">,</span>
+</span><span id="L-143"><a href="#L-143"><span class="linenos">143</span></a> <span class="n">quotes</span><span class="o">=</span><span class="n">klass</span><span class="o">.</span><span class="n">_QUOTES</span><span class="p">,</span>
+</span><span id="L-144"><a href="#L-144"><span class="linenos">144</span></a> <span class="n">format_strings</span><span class="o">=</span><span class="p">{</span><span class="n">k</span><span class="p">:</span> <span class="p">(</span><span class="n">v1</span><span class="p">,</span> <span class="n">v2</span><span class="o">.</span><span class="n">name</span><span class="p">)</span> <span class="k">for</span> <span class="n">k</span><span class="p">,</span> <span class="p">(</span><span class="n">v1</span><span class="p">,</span> <span class="n">v2</span><span class="p">)</span> <span class="ow">in</span> <span class="n">klass</span><span class="o">.</span><span class="n">_FORMAT_STRINGS</span><span class="o">.</span><span class="n">items</span><span class="p">()},</span>
+</span><span id="L-145"><a href="#L-145"><span class="linenos">145</span></a> <span class="n">has_bit_strings</span><span class="o">=</span><span class="nb">bool</span><span class="p">(</span><span class="n">klass</span><span class="o">.</span><span class="n">BIT_STRINGS</span><span class="p">),</span>
+</span><span id="L-146"><a href="#L-146"><span class="linenos">146</span></a> <span class="n">has_hex_strings</span><span class="o">=</span><span class="nb">bool</span><span class="p">(</span><span class="n">klass</span><span class="o">.</span><span class="n">HEX_STRINGS</span><span class="p">),</span>
+</span><span id="L-147"><a href="#L-147"><span class="linenos">147</span></a> <span class="n">comments</span><span class="o">=</span><span class="n">klass</span><span class="o">.</span><span class="n">_COMMENTS</span><span class="p">,</span>
+</span><span id="L-148"><a href="#L-148"><span class="linenos">148</span></a> <span class="n">var_single_tokens</span><span class="o">=</span><span class="n">klass</span><span class="o">.</span><span class="n">VAR_SINGLE_TOKENS</span><span class="p">,</span>
+</span><span id="L-149"><a href="#L-149"><span class="linenos">149</span></a> <span class="n">commands</span><span class="o">=</span><span class="p">{</span><span class="n">v</span><span class="o">.</span><span class="n">name</span> <span class="k">for</span> <span class="n">v</span> <span class="ow">in</span> <span class="n">klass</span><span class="o">.</span><span class="n">COMMANDS</span><span class="p">},</span>
+</span><span id="L-150"><a href="#L-150"><span class="linenos">150</span></a> <span class="n">command_prefix_tokens</span><span class="o">=</span><span class="p">{</span><span class="n">v</span><span class="o">.</span><span class="n">name</span> <span class="k">for</span> <span class="n">v</span> <span class="ow">in</span> <span class="n">klass</span><span class="o">.</span><span class="n">COMMAND_PREFIX_TOKENS</span><span class="p">},</span>
+</span><span id="L-151"><a href="#L-151"><span class="linenos">151</span></a> <span class="p">)</span>
+</span><span id="L-152"><a href="#L-152"><span class="linenos">152</span></a> <span class="n">klass</span><span class="o">.</span><span class="n">_RS_TOKENIZER</span> <span class="o">=</span> <span class="n">RsTokenizer</span><span class="p">(</span><span class="n">settings</span><span class="p">)</span>
+</span><span id="L-153"><a href="#L-153"><span class="linenos">153</span></a> <span class="k">else</span><span class="p">:</span>
+</span><span id="L-154"><a href="#L-154"><span class="linenos">154</span></a> <span class="n">klass</span><span class="o">.</span><span class="n">_RS_TOKENIZER</span> <span class="o">=</span> <span class="kc">None</span>
+</span><span id="L-155"><a href="#L-155"><span class="linenos">155</span></a>
+</span><span id="L-156"><a href="#L-156"><span class="linenos">156</span></a> <span class="k">return</span> <span class="n">klass</span>
+</span><span id="L-157"><a href="#L-157"><span class="linenos">157</span></a>
+</span><span id="L-158"><a href="#L-158"><span class="linenos">158</span></a>
+</span><span id="L-159"><a href="#L-159"><span class="linenos">159</span></a><span class="k">class</span> <span class="nc">Tokenizer</span><span class="p">(</span><span class="n">metaclass</span><span class="o">=</span><span class="n">_Tokenizer</span><span class="p">):</span>
+</span><span id="L-160"><a href="#L-160"><span class="linenos">160</span></a> <span class="n">SINGLE_TOKENS</span> <span class="o">=</span> <span class="p">{</span>
+</span><span id="L-161"><a href="#L-161"><span class="linenos">161</span></a> <span class="s2">&quot;(&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">L_PAREN</span><span class="p">,</span>
+</span><span id="L-162"><a href="#L-162"><span class="linenos">162</span></a> <span class="s2">&quot;)&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">R_PAREN</span><span class="p">,</span>
+</span><span id="L-163"><a href="#L-163"><span class="linenos">163</span></a> <span class="s2">&quot;[&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">L_BRACKET</span><span class="p">,</span>
+</span><span id="L-164"><a href="#L-164"><span class="linenos">164</span></a> <span class="s2">&quot;]&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">R_BRACKET</span><span class="p">,</span>
+</span><span id="L-165"><a href="#L-165"><span class="linenos">165</span></a> <span class="s2">&quot;{&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">L_BRACE</span><span class="p">,</span>
+</span><span id="L-166"><a href="#L-166"><span class="linenos">166</span></a> <span class="s2">&quot;}&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">R_BRACE</span><span class="p">,</span>
+</span><span id="L-167"><a href="#L-167"><span class="linenos">167</span></a> <span class="s2">&quot;&amp;&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">AMP</span><span class="p">,</span>
+</span><span id="L-168"><a href="#L-168"><span class="linenos">168</span></a> <span class="s2">&quot;^&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">CARET</span><span class="p">,</span>
+</span><span id="L-169"><a href="#L-169"><span class="linenos">169</span></a> <span class="s2">&quot;:&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COLON</span><span class="p">,</span>
+</span><span id="L-170"><a href="#L-170"><span class="linenos">170</span></a> <span class="s2">&quot;,&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMA</span><span class="p">,</span>
+</span><span id="L-171"><a href="#L-171"><span class="linenos">171</span></a> <span class="s2">&quot;.&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DOT</span><span class="p">,</span>
+</span><span id="L-172"><a href="#L-172"><span class="linenos">172</span></a> <span class="s2">&quot;-&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DASH</span><span class="p">,</span>
+</span><span id="L-173"><a href="#L-173"><span class="linenos">173</span></a> <span class="s2">&quot;=&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">EQ</span><span class="p">,</span>
+</span><span id="L-174"><a href="#L-174"><span class="linenos">174</span></a> <span class="s2">&quot;&gt;&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">GT</span><span class="p">,</span>
+</span><span id="L-175"><a href="#L-175"><span class="linenos">175</span></a> <span class="s2">&quot;&lt;&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">LT</span><span class="p">,</span>
+</span><span id="L-176"><a href="#L-176"><span class="linenos">176</span></a> <span class="s2">&quot;%&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">MOD</span><span class="p">,</span>
+</span><span id="L-177"><a href="#L-177"><span class="linenos">177</span></a> <span class="s2">&quot;!&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">NOT</span><span class="p">,</span>
+</span><span id="L-178"><a href="#L-178"><span class="linenos">178</span></a> <span class="s2">&quot;|&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">PIPE</span><span class="p">,</span>
+</span><span id="L-179"><a href="#L-179"><span class="linenos">179</span></a> <span class="s2">&quot;+&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">PLUS</span><span class="p">,</span>
+</span><span id="L-180"><a href="#L-180"><span class="linenos">180</span></a> <span class="s2">&quot;;&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">SEMICOLON</span><span class="p">,</span>
+</span><span id="L-181"><a href="#L-181"><span class="linenos">181</span></a> <span class="s2">&quot;/&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">SLASH</span><span class="p">,</span>
+</span><span id="L-182"><a href="#L-182"><span class="linenos">182</span></a> <span class="s2">&quot;</span><span class="se">\\</span><span class="s2">&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BACKSLASH</span><span class="p">,</span>
+</span><span id="L-183"><a href="#L-183"><span class="linenos">183</span></a> <span class="s2">&quot;*&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">STAR</span><span class="p">,</span>
+</span><span id="L-184"><a href="#L-184"><span class="linenos">184</span></a> <span class="s2">&quot;~&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TILDA</span><span class="p">,</span>
+</span><span id="L-185"><a href="#L-185"><span class="linenos">185</span></a> <span class="s2">&quot;?&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">PLACEHOLDER</span><span class="p">,</span>
+</span><span id="L-186"><a href="#L-186"><span class="linenos">186</span></a> <span class="s2">&quot;@&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">PARAMETER</span><span class="p">,</span>
+</span><span id="L-187"><a href="#L-187"><span class="linenos">187</span></a> <span class="c1"># used for breaking a var like x&#39;y&#39; but nothing else</span>
+</span><span id="L-188"><a href="#L-188"><span class="linenos">188</span></a> <span class="c1"># the token type doesn&#39;t matter</span>
+</span><span id="L-189"><a href="#L-189"><span class="linenos">189</span></a> <span class="s2">&quot;&#39;&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">QUOTE</span><span class="p">,</span>
+</span><span id="L-190"><a href="#L-190"><span class="linenos">190</span></a> <span class="s2">&quot;`&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">IDENTIFIER</span><span class="p">,</span>
+</span><span id="L-191"><a href="#L-191"><span class="linenos">191</span></a> <span class="s1">&#39;&quot;&#39;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">IDENTIFIER</span><span class="p">,</span>
+</span><span id="L-192"><a href="#L-192"><span class="linenos">192</span></a> <span class="s2">&quot;#&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">HASH</span><span class="p">,</span>
+</span><span id="L-193"><a href="#L-193"><span class="linenos">193</span></a> <span class="p">}</span>
+</span><span id="L-194"><a href="#L-194"><span class="linenos">194</span></a>
+</span><span id="L-195"><a href="#L-195"><span class="linenos">195</span></a> <span class="n">BIT_STRINGS</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">List</span><span class="p">[</span><span class="nb">str</span> <span class="o">|</span> <span class="n">t</span><span class="o">.</span><span class="n">Tuple</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="nb">str</span><span class="p">]]</span> <span class="o">=</span> <span class="p">[]</span>
+</span><span id="L-196"><a href="#L-196"><span class="linenos">196</span></a> <span class="n">BYTE_STRINGS</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">List</span><span class="p">[</span><span class="nb">str</span> <span class="o">|</span> <span class="n">t</span><span class="o">.</span><span class="n">Tuple</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="nb">str</span><span class="p">]]</span> <span class="o">=</span> <span class="p">[]</span>
+</span><span id="L-197"><a href="#L-197"><span class="linenos">197</span></a> <span class="n">HEX_STRINGS</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">List</span><span class="p">[</span><span class="nb">str</span> <span class="o">|</span> <span class="n">t</span><span class="o">.</span><span class="n">Tuple</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="nb">str</span><span class="p">]]</span> <span class="o">=</span> <span class="p">[]</span>
+</span><span id="L-198"><a href="#L-198"><span class="linenos">198</span></a> <span class="n">RAW_STRINGS</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">List</span><span class="p">[</span><span class="nb">str</span> <span class="o">|</span> <span class="n">t</span><span class="o">.</span><span class="n">Tuple</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="nb">str</span><span class="p">]]</span> <span class="o">=</span> <span class="p">[]</span>
+</span><span id="L-199"><a href="#L-199"><span class="linenos">199</span></a> <span class="n">HEREDOC_STRINGS</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">List</span><span class="p">[</span><span class="nb">str</span> <span class="o">|</span> <span class="n">t</span><span class="o">.</span><span class="n">Tuple</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="nb">str</span><span class="p">]]</span> <span class="o">=</span> <span class="p">[]</span>
+</span><span id="L-200"><a href="#L-200"><span class="linenos">200</span></a> <span class="n">IDENTIFIERS</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">List</span><span class="p">[</span><span class="nb">str</span> <span class="o">|</span> <span class="n">t</span><span class="o">.</span><span class="n">Tuple</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="nb">str</span><span class="p">]]</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;&quot;&#39;</span><span class="p">]</span>
+</span><span id="L-201"><a href="#L-201"><span class="linenos">201</span></a> <span class="n">IDENTIFIER_ESCAPES</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;&quot;&#39;</span><span class="p">]</span>
+</span><span id="L-202"><a href="#L-202"><span class="linenos">202</span></a> <span class="n">QUOTES</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">List</span><span class="p">[</span><span class="n">t</span><span class="o">.</span><span class="n">Tuple</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="nb">str</span><span class="p">]</span> <span class="o">|</span> <span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;&#39;&quot;</span><span class="p">]</span>
+</span><span id="L-203"><a href="#L-203"><span class="linenos">203</span></a> <span class="n">STRING_ESCAPES</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;&#39;&quot;</span><span class="p">]</span>
+</span><span id="L-204"><a href="#L-204"><span class="linenos">204</span></a> <span class="n">VAR_SINGLE_TOKENS</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Set</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="nb">set</span><span class="p">()</span>
+</span><span id="L-205"><a href="#L-205"><span class="linenos">205</span></a>
+</span><span id="L-206"><a href="#L-206"><span class="linenos">206</span></a> <span class="c1"># Autofilled</span>
+</span><span id="L-207"><a href="#L-207"><span class="linenos">207</span></a> <span class="n">_COMMENTS</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="p">{}</span>
+</span><span id="L-208"><a href="#L-208"><span class="linenos">208</span></a> <span class="n">_FORMAT_STRINGS</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="n">t</span><span class="o">.</span><span class="n">Tuple</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="n">TokenType</span><span class="p">]]</span> <span class="o">=</span> <span class="p">{}</span>
+</span><span id="L-209"><a href="#L-209"><span class="linenos">209</span></a> <span class="n">_IDENTIFIERS</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="p">{}</span>
+</span><span id="L-210"><a href="#L-210"><span class="linenos">210</span></a> <span class="n">_IDENTIFIER_ESCAPES</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Set</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="nb">set</span><span class="p">()</span>
+</span><span id="L-211"><a href="#L-211"><span class="linenos">211</span></a> <span class="n">_QUOTES</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="p">{}</span>
+</span><span id="L-212"><a href="#L-212"><span class="linenos">212</span></a> <span class="n">_STRING_ESCAPES</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Set</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="nb">set</span><span class="p">()</span>
+</span><span id="L-213"><a href="#L-213"><span class="linenos">213</span></a> <span class="n">_KEYWORD_TRIE</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Dict</span> <span class="o">=</span> <span class="p">{}</span>
+</span><span id="L-214"><a href="#L-214"><span class="linenos">214</span></a> <span class="n">_RS_TOKENIZER</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="n">t</span><span class="o">.</span><span class="n">Any</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span>
+</span><span id="L-215"><a href="#L-215"><span class="linenos">215</span></a>
+</span><span id="L-216"><a href="#L-216"><span class="linenos">216</span></a> <span class="n">KEYWORDS</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="n">TokenType</span><span class="p">]</span> <span class="o">=</span> <span class="p">{</span>
+</span><span id="L-217"><a href="#L-217"><span class="linenos">217</span></a> <span class="o">**</span><span class="p">{</span><span class="sa">f</span><span class="s2">&quot;</span><span class="se">{{</span><span class="s2">%</span><span class="si">{</span><span class="n">postfix</span><span class="si">}</span><span class="s2">&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BLOCK_START</span> <span class="k">for</span> <span class="n">postfix</span> <span class="ow">in</span> <span class="p">(</span><span class="s2">&quot;&quot;</span><span class="p">,</span> <span class="s2">&quot;+&quot;</span><span class="p">,</span> <span class="s2">&quot;-&quot;</span><span class="p">)},</span>
+</span><span id="L-218"><a href="#L-218"><span class="linenos">218</span></a> <span class="o">**</span><span class="p">{</span><span class="sa">f</span><span class="s2">&quot;</span><span class="si">{</span><span class="n">prefix</span><span class="si">}</span><span class="s2">%</span><span class="se">}}</span><span class="s2">&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BLOCK_END</span> <span class="k">for</span> <span class="n">prefix</span> <span class="ow">in</span> <span class="p">(</span><span class="s2">&quot;&quot;</span><span class="p">,</span> <span class="s2">&quot;+&quot;</span><span class="p">,</span> <span class="s2">&quot;-&quot;</span><span class="p">)},</span>
+</span><span id="L-219"><a href="#L-219"><span class="linenos">219</span></a> <span class="o">**</span><span class="p">{</span><span class="sa">f</span><span class="s2">&quot;</span><span class="se">{{{{</span><span class="si">{</span><span class="n">postfix</span><span class="si">}</span><span class="s2">&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BLOCK_START</span> <span class="k">for</span> <span class="n">postfix</span> <span class="ow">in</span> <span class="p">(</span><span class="s2">&quot;+&quot;</span><span class="p">,</span> <span class="s2">&quot;-&quot;</span><span class="p">)},</span>
+</span><span id="L-220"><a href="#L-220"><span class="linenos">220</span></a> <span class="o">**</span><span class="p">{</span><span class="sa">f</span><span class="s2">&quot;</span><span class="si">{</span><span class="n">prefix</span><span class="si">}</span><span class="se">}}}}</span><span class="s2">&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BLOCK_END</span> <span class="k">for</span> <span class="n">prefix</span> <span class="ow">in</span> <span class="p">(</span><span class="s2">&quot;+&quot;</span><span class="p">,</span> <span class="s2">&quot;-&quot;</span><span class="p">)},</span>
+</span><span id="L-221"><a href="#L-221"><span class="linenos">221</span></a> <span class="s2">&quot;/*+&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">HINT</span><span class="p">,</span>
+</span><span id="L-222"><a href="#L-222"><span class="linenos">222</span></a> <span class="s2">&quot;==&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">EQ</span><span class="p">,</span>
+</span><span id="L-223"><a href="#L-223"><span class="linenos">223</span></a> <span class="s2">&quot;::&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DCOLON</span><span class="p">,</span>
+</span><span id="L-224"><a href="#L-224"><span class="linenos">224</span></a> <span class="s2">&quot;||&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DPIPE</span><span class="p">,</span>
+</span><span id="L-225"><a href="#L-225"><span class="linenos">225</span></a> <span class="s2">&quot;&gt;=&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">GTE</span><span class="p">,</span>
+</span><span id="L-226"><a href="#L-226"><span class="linenos">226</span></a> <span class="s2">&quot;&lt;=&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">LTE</span><span class="p">,</span>
+</span><span id="L-227"><a href="#L-227"><span class="linenos">227</span></a> <span class="s2">&quot;&lt;&gt;&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">NEQ</span><span class="p">,</span>
+</span><span id="L-228"><a href="#L-228"><span class="linenos">228</span></a> <span class="s2">&quot;!=&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">NEQ</span><span class="p">,</span>
+</span><span id="L-229"><a href="#L-229"><span class="linenos">229</span></a> <span class="s2">&quot;:=&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COLON_EQ</span><span class="p">,</span>
+</span><span id="L-230"><a href="#L-230"><span class="linenos">230</span></a> <span class="s2">&quot;&lt;=&gt;&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">NULLSAFE_EQ</span><span class="p">,</span>
+</span><span id="L-231"><a href="#L-231"><span class="linenos">231</span></a> <span class="s2">&quot;-&gt;&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">ARROW</span><span class="p">,</span>
+</span><span id="L-232"><a href="#L-232"><span class="linenos">232</span></a> <span class="s2">&quot;-&gt;&gt;&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DARROW</span><span class="p">,</span>
+</span><span id="L-233"><a href="#L-233"><span class="linenos">233</span></a> <span class="s2">&quot;=&gt;&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">FARROW</span><span class="p">,</span>
+</span><span id="L-234"><a href="#L-234"><span class="linenos">234</span></a> <span class="s2">&quot;#&gt;&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">HASH_ARROW</span><span class="p">,</span>
+</span><span id="L-235"><a href="#L-235"><span class="linenos">235</span></a> <span class="s2">&quot;#&gt;&gt;&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DHASH_ARROW</span><span class="p">,</span>
+</span><span id="L-236"><a href="#L-236"><span class="linenos">236</span></a> <span class="s2">&quot;&lt;-&gt;&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">LR_ARROW</span><span class="p">,</span>
+</span><span id="L-237"><a href="#L-237"><span class="linenos">237</span></a> <span class="s2">&quot;&amp;&amp;&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DAMP</span><span class="p">,</span>
+</span><span id="L-238"><a href="#L-238"><span class="linenos">238</span></a> <span class="s2">&quot;??&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DQMARK</span><span class="p">,</span>
+</span><span id="L-239"><a href="#L-239"><span class="linenos">239</span></a> <span class="s2">&quot;ALL&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">ALL</span><span class="p">,</span>
+</span><span id="L-240"><a href="#L-240"><span class="linenos">240</span></a> <span class="s2">&quot;ALWAYS&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">ALWAYS</span><span class="p">,</span>
+</span><span id="L-241"><a href="#L-241"><span class="linenos">241</span></a> <span class="s2">&quot;AND&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">AND</span><span class="p">,</span>
+</span><span id="L-242"><a href="#L-242"><span class="linenos">242</span></a> <span class="s2">&quot;ANTI&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">ANTI</span><span class="p">,</span>
+</span><span id="L-243"><a href="#L-243"><span class="linenos">243</span></a> <span class="s2">&quot;ANY&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">ANY</span><span class="p">,</span>
+</span><span id="L-244"><a href="#L-244"><span class="linenos">244</span></a> <span class="s2">&quot;ASC&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">ASC</span><span class="p">,</span>
+</span><span id="L-245"><a href="#L-245"><span class="linenos">245</span></a> <span class="s2">&quot;AS&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">ALIAS</span><span class="p">,</span>
+</span><span id="L-246"><a href="#L-246"><span class="linenos">246</span></a> <span class="s2">&quot;ASOF&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">ASOF</span><span class="p">,</span>
+</span><span id="L-247"><a href="#L-247"><span class="linenos">247</span></a> <span class="s2">&quot;AUTOINCREMENT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">AUTO_INCREMENT</span><span class="p">,</span>
+</span><span id="L-248"><a href="#L-248"><span class="linenos">248</span></a> <span class="s2">&quot;AUTO_INCREMENT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">AUTO_INCREMENT</span><span class="p">,</span>
+</span><span id="L-249"><a href="#L-249"><span class="linenos">249</span></a> <span class="s2">&quot;BEGIN&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BEGIN</span><span class="p">,</span>
+</span><span id="L-250"><a href="#L-250"><span class="linenos">250</span></a> <span class="s2">&quot;BETWEEN&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BETWEEN</span><span class="p">,</span>
+</span><span id="L-251"><a href="#L-251"><span class="linenos">251</span></a> <span class="s2">&quot;CACHE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">CACHE</span><span class="p">,</span>
+</span><span id="L-252"><a href="#L-252"><span class="linenos">252</span></a> <span class="s2">&quot;UNCACHE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">UNCACHE</span><span class="p">,</span>
+</span><span id="L-253"><a href="#L-253"><span class="linenos">253</span></a> <span class="s2">&quot;CASE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">CASE</span><span class="p">,</span>
+</span><span id="L-254"><a href="#L-254"><span class="linenos">254</span></a> <span class="s2">&quot;CHARACTER SET&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">CHARACTER_SET</span><span class="p">,</span>
+</span><span id="L-255"><a href="#L-255"><span class="linenos">255</span></a> <span class="s2">&quot;CLUSTER BY&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">CLUSTER_BY</span><span class="p">,</span>
+</span><span id="L-256"><a href="#L-256"><span class="linenos">256</span></a> <span class="s2">&quot;COLLATE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COLLATE</span><span class="p">,</span>
+</span><span id="L-257"><a href="#L-257"><span class="linenos">257</span></a> <span class="s2">&quot;COLUMN&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COLUMN</span><span class="p">,</span>
+</span><span id="L-258"><a href="#L-258"><span class="linenos">258</span></a> <span class="s2">&quot;COMMIT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMIT</span><span class="p">,</span>
+</span><span id="L-259"><a href="#L-259"><span class="linenos">259</span></a> <span class="s2">&quot;CONNECT BY&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">CONNECT_BY</span><span class="p">,</span>
+</span><span id="L-260"><a href="#L-260"><span class="linenos">260</span></a> <span class="s2">&quot;CONSTRAINT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">CONSTRAINT</span><span class="p">,</span>
+</span><span id="L-261"><a href="#L-261"><span class="linenos">261</span></a> <span class="s2">&quot;CREATE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">CREATE</span><span class="p">,</span>
+</span><span id="L-262"><a href="#L-262"><span class="linenos">262</span></a> <span class="s2">&quot;CROSS&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">CROSS</span><span class="p">,</span>
+</span><span id="L-263"><a href="#L-263"><span class="linenos">263</span></a> <span class="s2">&quot;CUBE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">CUBE</span><span class="p">,</span>
+</span><span id="L-264"><a href="#L-264"><span class="linenos">264</span></a> <span class="s2">&quot;CURRENT_DATE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">CURRENT_DATE</span><span class="p">,</span>
+</span><span id="L-265"><a href="#L-265"><span class="linenos">265</span></a> <span class="s2">&quot;CURRENT_TIME&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">CURRENT_TIME</span><span class="p">,</span>
+</span><span id="L-266"><a href="#L-266"><span class="linenos">266</span></a> <span class="s2">&quot;CURRENT_TIMESTAMP&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">CURRENT_TIMESTAMP</span><span class="p">,</span>
+</span><span id="L-267"><a href="#L-267"><span class="linenos">267</span></a> <span class="s2">&quot;CURRENT_USER&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">CURRENT_USER</span><span class="p">,</span>
+</span><span id="L-268"><a href="#L-268"><span class="linenos">268</span></a> <span class="s2">&quot;DATABASE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DATABASE</span><span class="p">,</span>
+</span><span id="L-269"><a href="#L-269"><span class="linenos">269</span></a> <span class="s2">&quot;DEFAULT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DEFAULT</span><span class="p">,</span>
+</span><span id="L-270"><a href="#L-270"><span class="linenos">270</span></a> <span class="s2">&quot;DELETE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DELETE</span><span class="p">,</span>
+</span><span id="L-271"><a href="#L-271"><span class="linenos">271</span></a> <span class="s2">&quot;DESC&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DESC</span><span class="p">,</span>
+</span><span id="L-272"><a href="#L-272"><span class="linenos">272</span></a> <span class="s2">&quot;DESCRIBE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DESCRIBE</span><span class="p">,</span>
+</span><span id="L-273"><a href="#L-273"><span class="linenos">273</span></a> <span class="s2">&quot;DISTINCT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DISTINCT</span><span class="p">,</span>
+</span><span id="L-274"><a href="#L-274"><span class="linenos">274</span></a> <span class="s2">&quot;DISTRIBUTE BY&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DISTRIBUTE_BY</span><span class="p">,</span>
+</span><span id="L-275"><a href="#L-275"><span class="linenos">275</span></a> <span class="s2">&quot;DIV&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DIV</span><span class="p">,</span>
+</span><span id="L-276"><a href="#L-276"><span class="linenos">276</span></a> <span class="s2">&quot;DROP&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DROP</span><span class="p">,</span>
+</span><span id="L-277"><a href="#L-277"><span class="linenos">277</span></a> <span class="s2">&quot;ELSE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">ELSE</span><span class="p">,</span>
+</span><span id="L-278"><a href="#L-278"><span class="linenos">278</span></a> <span class="s2">&quot;END&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">END</span><span class="p">,</span>
+</span><span id="L-279"><a href="#L-279"><span class="linenos">279</span></a> <span class="s2">&quot;ESCAPE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">ESCAPE</span><span class="p">,</span>
+</span><span id="L-280"><a href="#L-280"><span class="linenos">280</span></a> <span class="s2">&quot;EXCEPT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">EXCEPT</span><span class="p">,</span>
+</span><span id="L-281"><a href="#L-281"><span class="linenos">281</span></a> <span class="s2">&quot;EXECUTE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">EXECUTE</span><span class="p">,</span>
+</span><span id="L-282"><a href="#L-282"><span class="linenos">282</span></a> <span class="s2">&quot;EXISTS&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">EXISTS</span><span class="p">,</span>
+</span><span id="L-283"><a href="#L-283"><span class="linenos">283</span></a> <span class="s2">&quot;FALSE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">FALSE</span><span class="p">,</span>
+</span><span id="L-284"><a href="#L-284"><span class="linenos">284</span></a> <span class="s2">&quot;FETCH&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">FETCH</span><span class="p">,</span>
+</span><span id="L-285"><a href="#L-285"><span class="linenos">285</span></a> <span class="s2">&quot;FILTER&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">FILTER</span><span class="p">,</span>
+</span><span id="L-286"><a href="#L-286"><span class="linenos">286</span></a> <span class="s2">&quot;FIRST&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">FIRST</span><span class="p">,</span>
+</span><span id="L-287"><a href="#L-287"><span class="linenos">287</span></a> <span class="s2">&quot;FULL&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">FULL</span><span class="p">,</span>
+</span><span id="L-288"><a href="#L-288"><span class="linenos">288</span></a> <span class="s2">&quot;FUNCTION&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">FUNCTION</span><span class="p">,</span>
+</span><span id="L-289"><a href="#L-289"><span class="linenos">289</span></a> <span class="s2">&quot;FOR&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">FOR</span><span class="p">,</span>
+</span><span id="L-290"><a href="#L-290"><span class="linenos">290</span></a> <span class="s2">&quot;FOREIGN KEY&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">FOREIGN_KEY</span><span class="p">,</span>
+</span><span id="L-291"><a href="#L-291"><span class="linenos">291</span></a> <span class="s2">&quot;FORMAT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">FORMAT</span><span class="p">,</span>
+</span><span id="L-292"><a href="#L-292"><span class="linenos">292</span></a> <span class="s2">&quot;FROM&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">FROM</span><span class="p">,</span>
+</span><span id="L-293"><a href="#L-293"><span class="linenos">293</span></a> <span class="s2">&quot;GEOGRAPHY&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">GEOGRAPHY</span><span class="p">,</span>
+</span><span id="L-294"><a href="#L-294"><span class="linenos">294</span></a> <span class="s2">&quot;GEOMETRY&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">GEOMETRY</span><span class="p">,</span>
+</span><span id="L-295"><a href="#L-295"><span class="linenos">295</span></a> <span class="s2">&quot;GLOB&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">GLOB</span><span class="p">,</span>
+</span><span id="L-296"><a href="#L-296"><span class="linenos">296</span></a> <span class="s2">&quot;GROUP BY&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">GROUP_BY</span><span class="p">,</span>
+</span><span id="L-297"><a href="#L-297"><span class="linenos">297</span></a> <span class="s2">&quot;GROUPING SETS&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">GROUPING_SETS</span><span class="p">,</span>
+</span><span id="L-298"><a href="#L-298"><span class="linenos">298</span></a> <span class="s2">&quot;HAVING&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">HAVING</span><span class="p">,</span>
+</span><span id="L-299"><a href="#L-299"><span class="linenos">299</span></a> <span class="s2">&quot;ILIKE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">ILIKE</span><span class="p">,</span>
+</span><span id="L-300"><a href="#L-300"><span class="linenos">300</span></a> <span class="s2">&quot;IN&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">IN</span><span class="p">,</span>
+</span><span id="L-301"><a href="#L-301"><span class="linenos">301</span></a> <span class="s2">&quot;INDEX&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">INDEX</span><span class="p">,</span>
+</span><span id="L-302"><a href="#L-302"><span class="linenos">302</span></a> <span class="s2">&quot;INET&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">INET</span><span class="p">,</span>
+</span><span id="L-303"><a href="#L-303"><span class="linenos">303</span></a> <span class="s2">&quot;INNER&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">INNER</span><span class="p">,</span>
+</span><span id="L-304"><a href="#L-304"><span class="linenos">304</span></a> <span class="s2">&quot;INSERT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">INSERT</span><span class="p">,</span>
+</span><span id="L-305"><a href="#L-305"><span class="linenos">305</span></a> <span class="s2">&quot;INTERVAL&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">INTERVAL</span><span class="p">,</span>
+</span><span id="L-306"><a href="#L-306"><span class="linenos">306</span></a> <span class="s2">&quot;INTERSECT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">INTERSECT</span><span class="p">,</span>
+</span><span id="L-307"><a href="#L-307"><span class="linenos">307</span></a> <span class="s2">&quot;INTO&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">INTO</span><span class="p">,</span>
+</span><span id="L-308"><a href="#L-308"><span class="linenos">308</span></a> <span class="s2">&quot;IS&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">IS</span><span class="p">,</span>
+</span><span id="L-309"><a href="#L-309"><span class="linenos">309</span></a> <span class="s2">&quot;ISNULL&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">ISNULL</span><span class="p">,</span>
+</span><span id="L-310"><a href="#L-310"><span class="linenos">310</span></a> <span class="s2">&quot;JOIN&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">JOIN</span><span class="p">,</span>
+</span><span id="L-311"><a href="#L-311"><span class="linenos">311</span></a> <span class="s2">&quot;KEEP&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">KEEP</span><span class="p">,</span>
+</span><span id="L-312"><a href="#L-312"><span class="linenos">312</span></a> <span class="s2">&quot;KILL&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">KILL</span><span class="p">,</span>
+</span><span id="L-313"><a href="#L-313"><span class="linenos">313</span></a> <span class="s2">&quot;LATERAL&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">LATERAL</span><span class="p">,</span>
+</span><span id="L-314"><a href="#L-314"><span class="linenos">314</span></a> <span class="s2">&quot;LEFT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">LEFT</span><span class="p">,</span>
+</span><span id="L-315"><a href="#L-315"><span class="linenos">315</span></a> <span class="s2">&quot;LIKE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">LIKE</span><span class="p">,</span>
+</span><span id="L-316"><a href="#L-316"><span class="linenos">316</span></a> <span class="s2">&quot;LIMIT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">LIMIT</span><span class="p">,</span>
+</span><span id="L-317"><a href="#L-317"><span class="linenos">317</span></a> <span class="s2">&quot;LOAD&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">LOAD</span><span class="p">,</span>
+</span><span id="L-318"><a href="#L-318"><span class="linenos">318</span></a> <span class="s2">&quot;LOCK&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">LOCK</span><span class="p">,</span>
+</span><span id="L-319"><a href="#L-319"><span class="linenos">319</span></a> <span class="s2">&quot;MERGE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">MERGE</span><span class="p">,</span>
+</span><span id="L-320"><a href="#L-320"><span class="linenos">320</span></a> <span class="s2">&quot;NATURAL&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">NATURAL</span><span class="p">,</span>
+</span><span id="L-321"><a href="#L-321"><span class="linenos">321</span></a> <span class="s2">&quot;NEXT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">NEXT</span><span class="p">,</span>
+</span><span id="L-322"><a href="#L-322"><span class="linenos">322</span></a> <span class="s2">&quot;NOT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">NOT</span><span class="p">,</span>
+</span><span id="L-323"><a href="#L-323"><span class="linenos">323</span></a> <span class="s2">&quot;NOTNULL&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">NOTNULL</span><span class="p">,</span>
+</span><span id="L-324"><a href="#L-324"><span class="linenos">324</span></a> <span class="s2">&quot;NULL&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">NULL</span><span class="p">,</span>
+</span><span id="L-325"><a href="#L-325"><span class="linenos">325</span></a> <span class="s2">&quot;OBJECT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">OBJECT</span><span class="p">,</span>
+</span><span id="L-326"><a href="#L-326"><span class="linenos">326</span></a> <span class="s2">&quot;OFFSET&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">OFFSET</span><span class="p">,</span>
+</span><span id="L-327"><a href="#L-327"><span class="linenos">327</span></a> <span class="s2">&quot;ON&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">ON</span><span class="p">,</span>
+</span><span id="L-328"><a href="#L-328"><span class="linenos">328</span></a> <span class="s2">&quot;OR&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">OR</span><span class="p">,</span>
+</span><span id="L-329"><a href="#L-329"><span class="linenos">329</span></a> <span class="s2">&quot;XOR&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">XOR</span><span class="p">,</span>
+</span><span id="L-330"><a href="#L-330"><span class="linenos">330</span></a> <span class="s2">&quot;ORDER BY&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">ORDER_BY</span><span class="p">,</span>
+</span><span id="L-331"><a href="#L-331"><span class="linenos">331</span></a> <span class="s2">&quot;ORDINALITY&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">ORDINALITY</span><span class="p">,</span>
+</span><span id="L-332"><a href="#L-332"><span class="linenos">332</span></a> <span class="s2">&quot;OUTER&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">OUTER</span><span class="p">,</span>
+</span><span id="L-333"><a href="#L-333"><span class="linenos">333</span></a> <span class="s2">&quot;OVER&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">OVER</span><span class="p">,</span>
+</span><span id="L-334"><a href="#L-334"><span class="linenos">334</span></a> <span class="s2">&quot;OVERLAPS&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">OVERLAPS</span><span class="p">,</span>
+</span><span id="L-335"><a href="#L-335"><span class="linenos">335</span></a> <span class="s2">&quot;OVERWRITE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">OVERWRITE</span><span class="p">,</span>
+</span><span id="L-336"><a href="#L-336"><span class="linenos">336</span></a> <span class="s2">&quot;PARTITION&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">PARTITION</span><span class="p">,</span>
+</span><span id="L-337"><a href="#L-337"><span class="linenos">337</span></a> <span class="s2">&quot;PARTITION BY&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">PARTITION_BY</span><span class="p">,</span>
+</span><span id="L-338"><a href="#L-338"><span class="linenos">338</span></a> <span class="s2">&quot;PARTITIONED BY&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">PARTITION_BY</span><span class="p">,</span>
+</span><span id="L-339"><a href="#L-339"><span class="linenos">339</span></a> <span class="s2">&quot;PARTITIONED_BY&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">PARTITION_BY</span><span class="p">,</span>
+</span><span id="L-340"><a href="#L-340"><span class="linenos">340</span></a> <span class="s2">&quot;PERCENT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">PERCENT</span><span class="p">,</span>
+</span><span id="L-341"><a href="#L-341"><span class="linenos">341</span></a> <span class="s2">&quot;PIVOT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">PIVOT</span><span class="p">,</span>
+</span><span id="L-342"><a href="#L-342"><span class="linenos">342</span></a> <span class="s2">&quot;PRAGMA&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">PRAGMA</span><span class="p">,</span>
+</span><span id="L-343"><a href="#L-343"><span class="linenos">343</span></a> <span class="s2">&quot;PRIMARY KEY&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">PRIMARY_KEY</span><span class="p">,</span>
+</span><span id="L-344"><a href="#L-344"><span class="linenos">344</span></a> <span class="s2">&quot;PROCEDURE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">PROCEDURE</span><span class="p">,</span>
+</span><span id="L-345"><a href="#L-345"><span class="linenos">345</span></a> <span class="s2">&quot;QUALIFY&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">QUALIFY</span><span class="p">,</span>
+</span><span id="L-346"><a href="#L-346"><span class="linenos">346</span></a> <span class="s2">&quot;RANGE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">RANGE</span><span class="p">,</span>
+</span><span id="L-347"><a href="#L-347"><span class="linenos">347</span></a> <span class="s2">&quot;RECURSIVE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">RECURSIVE</span><span class="p">,</span>
+</span><span id="L-348"><a href="#L-348"><span class="linenos">348</span></a> <span class="s2">&quot;REGEXP&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">RLIKE</span><span class="p">,</span>
+</span><span id="L-349"><a href="#L-349"><span class="linenos">349</span></a> <span class="s2">&quot;REPLACE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">REPLACE</span><span class="p">,</span>
+</span><span id="L-350"><a href="#L-350"><span class="linenos">350</span></a> <span class="s2">&quot;RETURNING&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">RETURNING</span><span class="p">,</span>
+</span><span id="L-351"><a href="#L-351"><span class="linenos">351</span></a> <span class="s2">&quot;REFERENCES&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">REFERENCES</span><span class="p">,</span>
+</span><span id="L-352"><a href="#L-352"><span class="linenos">352</span></a> <span class="s2">&quot;RIGHT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">RIGHT</span><span class="p">,</span>
+</span><span id="L-353"><a href="#L-353"><span class="linenos">353</span></a> <span class="s2">&quot;RLIKE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">RLIKE</span><span class="p">,</span>
+</span><span id="L-354"><a href="#L-354"><span class="linenos">354</span></a> <span class="s2">&quot;ROLLBACK&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">ROLLBACK</span><span class="p">,</span>
+</span><span id="L-355"><a href="#L-355"><span class="linenos">355</span></a> <span class="s2">&quot;ROLLUP&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">ROLLUP</span><span class="p">,</span>
+</span><span id="L-356"><a href="#L-356"><span class="linenos">356</span></a> <span class="s2">&quot;ROW&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">ROW</span><span class="p">,</span>
+</span><span id="L-357"><a href="#L-357"><span class="linenos">357</span></a> <span class="s2">&quot;ROWS&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">ROWS</span><span class="p">,</span>
+</span><span id="L-358"><a href="#L-358"><span class="linenos">358</span></a> <span class="s2">&quot;SCHEMA&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">SCHEMA</span><span class="p">,</span>
+</span><span id="L-359"><a href="#L-359"><span class="linenos">359</span></a> <span class="s2">&quot;SELECT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">SELECT</span><span class="p">,</span>
+</span><span id="L-360"><a href="#L-360"><span class="linenos">360</span></a> <span class="s2">&quot;SEMI&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">SEMI</span><span class="p">,</span>
+</span><span id="L-361"><a href="#L-361"><span class="linenos">361</span></a> <span class="s2">&quot;SET&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">SET</span><span class="p">,</span>
+</span><span id="L-362"><a href="#L-362"><span class="linenos">362</span></a> <span class="s2">&quot;SETTINGS&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">SETTINGS</span><span class="p">,</span>
+</span><span id="L-363"><a href="#L-363"><span class="linenos">363</span></a> <span class="s2">&quot;SHOW&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">SHOW</span><span class="p">,</span>
+</span><span id="L-364"><a href="#L-364"><span class="linenos">364</span></a> <span class="s2">&quot;SIMILAR TO&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">SIMILAR_TO</span><span class="p">,</span>
+</span><span id="L-365"><a href="#L-365"><span class="linenos">365</span></a> <span class="s2">&quot;SOME&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">SOME</span><span class="p">,</span>
+</span><span id="L-366"><a href="#L-366"><span class="linenos">366</span></a> <span class="s2">&quot;SORT BY&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">SORT_BY</span><span class="p">,</span>
+</span><span id="L-367"><a href="#L-367"><span class="linenos">367</span></a> <span class="s2">&quot;START WITH&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">START_WITH</span><span class="p">,</span>
+</span><span id="L-368"><a href="#L-368"><span class="linenos">368</span></a> <span class="s2">&quot;TABLE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TABLE</span><span class="p">,</span>
+</span><span id="L-369"><a href="#L-369"><span class="linenos">369</span></a> <span class="s2">&quot;TABLESAMPLE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TABLE_SAMPLE</span><span class="p">,</span>
+</span><span id="L-370"><a href="#L-370"><span class="linenos">370</span></a> <span class="s2">&quot;TEMP&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TEMPORARY</span><span class="p">,</span>
+</span><span id="L-371"><a href="#L-371"><span class="linenos">371</span></a> <span class="s2">&quot;TEMPORARY&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TEMPORARY</span><span class="p">,</span>
+</span><span id="L-372"><a href="#L-372"><span class="linenos">372</span></a> <span class="s2">&quot;THEN&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">THEN</span><span class="p">,</span>
+</span><span id="L-373"><a href="#L-373"><span class="linenos">373</span></a> <span class="s2">&quot;TRUE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TRUE</span><span class="p">,</span>
+</span><span id="L-374"><a href="#L-374"><span class="linenos">374</span></a> <span class="s2">&quot;UNION&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">UNION</span><span class="p">,</span>
+</span><span id="L-375"><a href="#L-375"><span class="linenos">375</span></a> <span class="s2">&quot;UNKNOWN&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">UNKNOWN</span><span class="p">,</span>
+</span><span id="L-376"><a href="#L-376"><span class="linenos">376</span></a> <span class="s2">&quot;UNNEST&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">UNNEST</span><span class="p">,</span>
+</span><span id="L-377"><a href="#L-377"><span class="linenos">377</span></a> <span class="s2">&quot;UNPIVOT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">UNPIVOT</span><span class="p">,</span>
+</span><span id="L-378"><a href="#L-378"><span class="linenos">378</span></a> <span class="s2">&quot;UPDATE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">UPDATE</span><span class="p">,</span>
+</span><span id="L-379"><a href="#L-379"><span class="linenos">379</span></a> <span class="s2">&quot;USE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">USE</span><span class="p">,</span>
+</span><span id="L-380"><a href="#L-380"><span class="linenos">380</span></a> <span class="s2">&quot;USING&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">USING</span><span class="p">,</span>
+</span><span id="L-381"><a href="#L-381"><span class="linenos">381</span></a> <span class="s2">&quot;UUID&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">UUID</span><span class="p">,</span>
+</span><span id="L-382"><a href="#L-382"><span class="linenos">382</span></a> <span class="s2">&quot;VALUES&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">VALUES</span><span class="p">,</span>
+</span><span id="L-383"><a href="#L-383"><span class="linenos">383</span></a> <span class="s2">&quot;VIEW&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">VIEW</span><span class="p">,</span>
+</span><span id="L-384"><a href="#L-384"><span class="linenos">384</span></a> <span class="s2">&quot;VOLATILE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">VOLATILE</span><span class="p">,</span>
+</span><span id="L-385"><a href="#L-385"><span class="linenos">385</span></a> <span class="s2">&quot;WHEN&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">WHEN</span><span class="p">,</span>
+</span><span id="L-386"><a href="#L-386"><span class="linenos">386</span></a> <span class="s2">&quot;WHERE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">WHERE</span><span class="p">,</span>
+</span><span id="L-387"><a href="#L-387"><span class="linenos">387</span></a> <span class="s2">&quot;WINDOW&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">WINDOW</span><span class="p">,</span>
+</span><span id="L-388"><a href="#L-388"><span class="linenos">388</span></a> <span class="s2">&quot;WITH&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">WITH</span><span class="p">,</span>
+</span><span id="L-389"><a href="#L-389"><span class="linenos">389</span></a> <span class="s2">&quot;APPLY&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">APPLY</span><span class="p">,</span>
+</span><span id="L-390"><a href="#L-390"><span class="linenos">390</span></a> <span class="s2">&quot;ARRAY&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">ARRAY</span><span class="p">,</span>
+</span><span id="L-391"><a href="#L-391"><span class="linenos">391</span></a> <span class="s2">&quot;BIT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BIT</span><span class="p">,</span>
+</span><span id="L-392"><a href="#L-392"><span class="linenos">392</span></a> <span class="s2">&quot;BOOL&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BOOLEAN</span><span class="p">,</span>
+</span><span id="L-393"><a href="#L-393"><span class="linenos">393</span></a> <span class="s2">&quot;BOOLEAN&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BOOLEAN</span><span class="p">,</span>
+</span><span id="L-394"><a href="#L-394"><span class="linenos">394</span></a> <span class="s2">&quot;BYTE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TINYINT</span><span class="p">,</span>
+</span><span id="L-395"><a href="#L-395"><span class="linenos">395</span></a> <span class="s2">&quot;MEDIUMINT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">MEDIUMINT</span><span class="p">,</span>
+</span><span id="L-396"><a href="#L-396"><span class="linenos">396</span></a> <span class="s2">&quot;INT1&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TINYINT</span><span class="p">,</span>
+</span><span id="L-397"><a href="#L-397"><span class="linenos">397</span></a> <span class="s2">&quot;TINYINT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TINYINT</span><span class="p">,</span>
+</span><span id="L-398"><a href="#L-398"><span class="linenos">398</span></a> <span class="s2">&quot;INT16&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">SMALLINT</span><span class="p">,</span>
+</span><span id="L-399"><a href="#L-399"><span class="linenos">399</span></a> <span class="s2">&quot;SHORT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">SMALLINT</span><span class="p">,</span>
+</span><span id="L-400"><a href="#L-400"><span class="linenos">400</span></a> <span class="s2">&quot;SMALLINT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">SMALLINT</span><span class="p">,</span>
+</span><span id="L-401"><a href="#L-401"><span class="linenos">401</span></a> <span class="s2">&quot;INT128&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">INT128</span><span class="p">,</span>
+</span><span id="L-402"><a href="#L-402"><span class="linenos">402</span></a> <span class="s2">&quot;HUGEINT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">INT128</span><span class="p">,</span>
+</span><span id="L-403"><a href="#L-403"><span class="linenos">403</span></a> <span class="s2">&quot;INT2&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">SMALLINT</span><span class="p">,</span>
+</span><span id="L-404"><a href="#L-404"><span class="linenos">404</span></a> <span class="s2">&quot;INTEGER&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">INT</span><span class="p">,</span>
+</span><span id="L-405"><a href="#L-405"><span class="linenos">405</span></a> <span class="s2">&quot;INT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">INT</span><span class="p">,</span>
+</span><span id="L-406"><a href="#L-406"><span class="linenos">406</span></a> <span class="s2">&quot;INT4&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">INT</span><span class="p">,</span>
+</span><span id="L-407"><a href="#L-407"><span class="linenos">407</span></a> <span class="s2">&quot;INT32&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">INT</span><span class="p">,</span>
+</span><span id="L-408"><a href="#L-408"><span class="linenos">408</span></a> <span class="s2">&quot;INT64&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BIGINT</span><span class="p">,</span>
+</span><span id="L-409"><a href="#L-409"><span class="linenos">409</span></a> <span class="s2">&quot;LONG&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BIGINT</span><span class="p">,</span>
+</span><span id="L-410"><a href="#L-410"><span class="linenos">410</span></a> <span class="s2">&quot;BIGINT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BIGINT</span><span class="p">,</span>
+</span><span id="L-411"><a href="#L-411"><span class="linenos">411</span></a> <span class="s2">&quot;INT8&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TINYINT</span><span class="p">,</span>
+</span><span id="L-412"><a href="#L-412"><span class="linenos">412</span></a> <span class="s2">&quot;DEC&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DECIMAL</span><span class="p">,</span>
+</span><span id="L-413"><a href="#L-413"><span class="linenos">413</span></a> <span class="s2">&quot;DECIMAL&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DECIMAL</span><span class="p">,</span>
+</span><span id="L-414"><a href="#L-414"><span class="linenos">414</span></a> <span class="s2">&quot;BIGDECIMAL&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BIGDECIMAL</span><span class="p">,</span>
+</span><span id="L-415"><a href="#L-415"><span class="linenos">415</span></a> <span class="s2">&quot;BIGNUMERIC&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BIGDECIMAL</span><span class="p">,</span>
+</span><span id="L-416"><a href="#L-416"><span class="linenos">416</span></a> <span class="s2">&quot;MAP&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">MAP</span><span class="p">,</span>
+</span><span id="L-417"><a href="#L-417"><span class="linenos">417</span></a> <span class="s2">&quot;NULLABLE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">NULLABLE</span><span class="p">,</span>
+</span><span id="L-418"><a href="#L-418"><span class="linenos">418</span></a> <span class="s2">&quot;NUMBER&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DECIMAL</span><span class="p">,</span>
+</span><span id="L-419"><a href="#L-419"><span class="linenos">419</span></a> <span class="s2">&quot;NUMERIC&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DECIMAL</span><span class="p">,</span>
+</span><span id="L-420"><a href="#L-420"><span class="linenos">420</span></a> <span class="s2">&quot;FIXED&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DECIMAL</span><span class="p">,</span>
+</span><span id="L-421"><a href="#L-421"><span class="linenos">421</span></a> <span class="s2">&quot;REAL&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">FLOAT</span><span class="p">,</span>
+</span><span id="L-422"><a href="#L-422"><span class="linenos">422</span></a> <span class="s2">&quot;FLOAT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">FLOAT</span><span class="p">,</span>
+</span><span id="L-423"><a href="#L-423"><span class="linenos">423</span></a> <span class="s2">&quot;FLOAT4&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">FLOAT</span><span class="p">,</span>
+</span><span id="L-424"><a href="#L-424"><span class="linenos">424</span></a> <span class="s2">&quot;FLOAT8&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DOUBLE</span><span class="p">,</span>
+</span><span id="L-425"><a href="#L-425"><span class="linenos">425</span></a> <span class="s2">&quot;DOUBLE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DOUBLE</span><span class="p">,</span>
+</span><span id="L-426"><a href="#L-426"><span class="linenos">426</span></a> <span class="s2">&quot;DOUBLE PRECISION&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DOUBLE</span><span class="p">,</span>
+</span><span id="L-427"><a href="#L-427"><span class="linenos">427</span></a> <span class="s2">&quot;JSON&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">JSON</span><span class="p">,</span>
+</span><span id="L-428"><a href="#L-428"><span class="linenos">428</span></a> <span class="s2">&quot;CHAR&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">CHAR</span><span class="p">,</span>
+</span><span id="L-429"><a href="#L-429"><span class="linenos">429</span></a> <span class="s2">&quot;CHARACTER&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">CHAR</span><span class="p">,</span>
+</span><span id="L-430"><a href="#L-430"><span class="linenos">430</span></a> <span class="s2">&quot;NCHAR&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">NCHAR</span><span class="p">,</span>
+</span><span id="L-431"><a href="#L-431"><span class="linenos">431</span></a> <span class="s2">&quot;VARCHAR&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">VARCHAR</span><span class="p">,</span>
+</span><span id="L-432"><a href="#L-432"><span class="linenos">432</span></a> <span class="s2">&quot;VARCHAR2&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">VARCHAR</span><span class="p">,</span>
+</span><span id="L-433"><a href="#L-433"><span class="linenos">433</span></a> <span class="s2">&quot;NVARCHAR&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">NVARCHAR</span><span class="p">,</span>
+</span><span id="L-434"><a href="#L-434"><span class="linenos">434</span></a> <span class="s2">&quot;NVARCHAR2&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">NVARCHAR</span><span class="p">,</span>
+</span><span id="L-435"><a href="#L-435"><span class="linenos">435</span></a> <span class="s2">&quot;STR&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TEXT</span><span class="p">,</span>
+</span><span id="L-436"><a href="#L-436"><span class="linenos">436</span></a> <span class="s2">&quot;STRING&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TEXT</span><span class="p">,</span>
+</span><span id="L-437"><a href="#L-437"><span class="linenos">437</span></a> <span class="s2">&quot;TEXT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TEXT</span><span class="p">,</span>
+</span><span id="L-438"><a href="#L-438"><span class="linenos">438</span></a> <span class="s2">&quot;LONGTEXT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">LONGTEXT</span><span class="p">,</span>
+</span><span id="L-439"><a href="#L-439"><span class="linenos">439</span></a> <span class="s2">&quot;MEDIUMTEXT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">MEDIUMTEXT</span><span class="p">,</span>
+</span><span id="L-440"><a href="#L-440"><span class="linenos">440</span></a> <span class="s2">&quot;TINYTEXT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TINYTEXT</span><span class="p">,</span>
+</span><span id="L-441"><a href="#L-441"><span class="linenos">441</span></a> <span class="s2">&quot;CLOB&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TEXT</span><span class="p">,</span>
+</span><span id="L-442"><a href="#L-442"><span class="linenos">442</span></a> <span class="s2">&quot;LONGVARCHAR&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TEXT</span><span class="p">,</span>
+</span><span id="L-443"><a href="#L-443"><span class="linenos">443</span></a> <span class="s2">&quot;BINARY&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BINARY</span><span class="p">,</span>
+</span><span id="L-444"><a href="#L-444"><span class="linenos">444</span></a> <span class="s2">&quot;BLOB&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">VARBINARY</span><span class="p">,</span>
+</span><span id="L-445"><a href="#L-445"><span class="linenos">445</span></a> <span class="s2">&quot;LONGBLOB&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">LONGBLOB</span><span class="p">,</span>
+</span><span id="L-446"><a href="#L-446"><span class="linenos">446</span></a> <span class="s2">&quot;MEDIUMBLOB&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">MEDIUMBLOB</span><span class="p">,</span>
+</span><span id="L-447"><a href="#L-447"><span class="linenos">447</span></a> <span class="s2">&quot;TINYBLOB&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TINYBLOB</span><span class="p">,</span>
+</span><span id="L-448"><a href="#L-448"><span class="linenos">448</span></a> <span class="s2">&quot;BYTEA&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">VARBINARY</span><span class="p">,</span>
+</span><span id="L-449"><a href="#L-449"><span class="linenos">449</span></a> <span class="s2">&quot;VARBINARY&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">VARBINARY</span><span class="p">,</span>
+</span><span id="L-450"><a href="#L-450"><span class="linenos">450</span></a> <span class="s2">&quot;TIME&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TIME</span><span class="p">,</span>
+</span><span id="L-451"><a href="#L-451"><span class="linenos">451</span></a> <span class="s2">&quot;TIMETZ&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TIMETZ</span><span class="p">,</span>
+</span><span id="L-452"><a href="#L-452"><span class="linenos">452</span></a> <span class="s2">&quot;TIMESTAMP&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TIMESTAMP</span><span class="p">,</span>
+</span><span id="L-453"><a href="#L-453"><span class="linenos">453</span></a> <span class="s2">&quot;TIMESTAMPTZ&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TIMESTAMPTZ</span><span class="p">,</span>
+</span><span id="L-454"><a href="#L-454"><span class="linenos">454</span></a> <span class="s2">&quot;TIMESTAMPLTZ&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TIMESTAMPLTZ</span><span class="p">,</span>
+</span><span id="L-455"><a href="#L-455"><span class="linenos">455</span></a> <span class="s2">&quot;DATE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DATE</span><span class="p">,</span>
+</span><span id="L-456"><a href="#L-456"><span class="linenos">456</span></a> <span class="s2">&quot;DATETIME&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DATETIME</span><span class="p">,</span>
+</span><span id="L-457"><a href="#L-457"><span class="linenos">457</span></a> <span class="s2">&quot;INT4RANGE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">INT4RANGE</span><span class="p">,</span>
+</span><span id="L-458"><a href="#L-458"><span class="linenos">458</span></a> <span class="s2">&quot;INT4MULTIRANGE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">INT4MULTIRANGE</span><span class="p">,</span>
+</span><span id="L-459"><a href="#L-459"><span class="linenos">459</span></a> <span class="s2">&quot;INT8RANGE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">INT8RANGE</span><span class="p">,</span>
+</span><span id="L-460"><a href="#L-460"><span class="linenos">460</span></a> <span class="s2">&quot;INT8MULTIRANGE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">INT8MULTIRANGE</span><span class="p">,</span>
+</span><span id="L-461"><a href="#L-461"><span class="linenos">461</span></a> <span class="s2">&quot;NUMRANGE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">NUMRANGE</span><span class="p">,</span>
+</span><span id="L-462"><a href="#L-462"><span class="linenos">462</span></a> <span class="s2">&quot;NUMMULTIRANGE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">NUMMULTIRANGE</span><span class="p">,</span>
+</span><span id="L-463"><a href="#L-463"><span class="linenos">463</span></a> <span class="s2">&quot;TSRANGE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TSRANGE</span><span class="p">,</span>
+</span><span id="L-464"><a href="#L-464"><span class="linenos">464</span></a> <span class="s2">&quot;TSMULTIRANGE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TSMULTIRANGE</span><span class="p">,</span>
+</span><span id="L-465"><a href="#L-465"><span class="linenos">465</span></a> <span class="s2">&quot;TSTZRANGE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TSTZRANGE</span><span class="p">,</span>
+</span><span id="L-466"><a href="#L-466"><span class="linenos">466</span></a> <span class="s2">&quot;TSTZMULTIRANGE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TSTZMULTIRANGE</span><span class="p">,</span>
+</span><span id="L-467"><a href="#L-467"><span class="linenos">467</span></a> <span class="s2">&quot;DATERANGE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DATERANGE</span><span class="p">,</span>
+</span><span id="L-468"><a href="#L-468"><span class="linenos">468</span></a> <span class="s2">&quot;DATEMULTIRANGE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DATEMULTIRANGE</span><span class="p">,</span>
+</span><span id="L-469"><a href="#L-469"><span class="linenos">469</span></a> <span class="s2">&quot;UNIQUE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">UNIQUE</span><span class="p">,</span>
+</span><span id="L-470"><a href="#L-470"><span class="linenos">470</span></a> <span class="s2">&quot;STRUCT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">STRUCT</span><span class="p">,</span>
+</span><span id="L-471"><a href="#L-471"><span class="linenos">471</span></a> <span class="s2">&quot;VARIANT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">VARIANT</span><span class="p">,</span>
+</span><span id="L-472"><a href="#L-472"><span class="linenos">472</span></a> <span class="s2">&quot;ALTER&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">ALTER</span><span class="p">,</span>
+</span><span id="L-473"><a href="#L-473"><span class="linenos">473</span></a> <span class="s2">&quot;ANALYZE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMAND</span><span class="p">,</span>
+</span><span id="L-474"><a href="#L-474"><span class="linenos">474</span></a> <span class="s2">&quot;CALL&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMAND</span><span class="p">,</span>
+</span><span id="L-475"><a href="#L-475"><span class="linenos">475</span></a> <span class="s2">&quot;COMMENT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMENT</span><span class="p">,</span>
+</span><span id="L-476"><a href="#L-476"><span class="linenos">476</span></a> <span class="s2">&quot;COPY&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMAND</span><span class="p">,</span>
+</span><span id="L-477"><a href="#L-477"><span class="linenos">477</span></a> <span class="s2">&quot;EXPLAIN&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMAND</span><span class="p">,</span>
+</span><span id="L-478"><a href="#L-478"><span class="linenos">478</span></a> <span class="s2">&quot;GRANT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMAND</span><span class="p">,</span>
+</span><span id="L-479"><a href="#L-479"><span class="linenos">479</span></a> <span class="s2">&quot;OPTIMIZE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMAND</span><span class="p">,</span>
+</span><span id="L-480"><a href="#L-480"><span class="linenos">480</span></a> <span class="s2">&quot;PREPARE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMAND</span><span class="p">,</span>
+</span><span id="L-481"><a href="#L-481"><span class="linenos">481</span></a> <span class="s2">&quot;TRUNCATE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMAND</span><span class="p">,</span>
+</span><span id="L-482"><a href="#L-482"><span class="linenos">482</span></a> <span class="s2">&quot;VACUUM&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMAND</span><span class="p">,</span>
+</span><span id="L-483"><a href="#L-483"><span class="linenos">483</span></a> <span class="s2">&quot;USER-DEFINED&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">USERDEFINED</span><span class="p">,</span>
+</span><span id="L-484"><a href="#L-484"><span class="linenos">484</span></a> <span class="s2">&quot;FOR VERSION&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">VERSION_SNAPSHOT</span><span class="p">,</span>
+</span><span id="L-485"><a href="#L-485"><span class="linenos">485</span></a> <span class="s2">&quot;FOR TIMESTAMP&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TIMESTAMP_SNAPSHOT</span><span class="p">,</span>
+</span><span id="L-486"><a href="#L-486"><span class="linenos">486</span></a> <span class="p">}</span>
+</span><span id="L-487"><a href="#L-487"><span class="linenos">487</span></a>
+</span><span id="L-488"><a href="#L-488"><span class="linenos">488</span></a> <span class="n">WHITE_SPACE</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">[</span><span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">],</span> <span class="n">TokenType</span><span class="p">]</span> <span class="o">=</span> <span class="p">{</span>
+</span><span id="L-489"><a href="#L-489"><span class="linenos">489</span></a> <span class="s2">&quot; &quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">SPACE</span><span class="p">,</span>
+</span><span id="L-490"><a href="#L-490"><span class="linenos">490</span></a> <span class="s2">&quot;</span><span class="se">\t</span><span class="s2">&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">SPACE</span><span class="p">,</span>
+</span><span id="L-491"><a href="#L-491"><span class="linenos">491</span></a> <span class="s2">&quot;</span><span class="se">\n</span><span class="s2">&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BREAK</span><span class="p">,</span>
+</span><span id="L-492"><a href="#L-492"><span class="linenos">492</span></a> <span class="s2">&quot;</span><span class="se">\r</span><span class="s2">&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BREAK</span><span class="p">,</span>
+</span><span id="L-493"><a href="#L-493"><span class="linenos">493</span></a> <span class="p">}</span>
+</span><span id="L-494"><a href="#L-494"><span class="linenos">494</span></a>
+</span><span id="L-495"><a href="#L-495"><span class="linenos">495</span></a> <span class="n">COMMANDS</span> <span class="o">=</span> <span class="p">{</span>
+</span><span id="L-496"><a href="#L-496"><span class="linenos">496</span></a> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMAND</span><span class="p">,</span>
+</span><span id="L-497"><a href="#L-497"><span class="linenos">497</span></a> <span class="n">TokenType</span><span class="o">.</span><span class="n">EXECUTE</span><span class="p">,</span>
+</span><span id="L-498"><a href="#L-498"><span class="linenos">498</span></a> <span class="n">TokenType</span><span class="o">.</span><span class="n">FETCH</span><span class="p">,</span>
+</span><span id="L-499"><a href="#L-499"><span class="linenos">499</span></a> <span class="n">TokenType</span><span class="o">.</span><span class="n">SHOW</span><span class="p">,</span>
+</span><span id="L-500"><a href="#L-500"><span class="linenos">500</span></a> <span class="p">}</span>
+</span><span id="L-501"><a href="#L-501"><span class="linenos">501</span></a>
+</span><span id="L-502"><a href="#L-502"><span class="linenos">502</span></a> <span class="n">COMMAND_PREFIX_TOKENS</span> <span class="o">=</span> <span class="p">{</span><span class="n">TokenType</span><span class="o">.</span><span class="n">SEMICOLON</span><span class="p">,</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BEGIN</span><span class="p">}</span>
+</span><span id="L-503"><a href="#L-503"><span class="linenos">503</span></a>
+</span><span id="L-504"><a href="#L-504"><span class="linenos">504</span></a> <span class="c1"># handle numeric literals like in hive (3L = BIGINT)</span>
+</span><span id="L-505"><a href="#L-505"><span class="linenos">505</span></a> <span class="n">NUMERIC_LITERALS</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="p">{}</span>
+</span><span id="L-506"><a href="#L-506"><span class="linenos">506</span></a>
+</span><span id="L-507"><a href="#L-507"><span class="linenos">507</span></a> <span class="n">COMMENTS</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;--&quot;</span><span class="p">,</span> <span class="p">(</span><span class="s2">&quot;/*&quot;</span><span class="p">,</span> <span class="s2">&quot;*/&quot;</span><span class="p">)]</span>
+</span><span id="L-508"><a href="#L-508"><span class="linenos">508</span></a>
+</span><span id="L-509"><a href="#L-509"><span class="linenos">509</span></a> <span class="vm">__slots__</span> <span class="o">=</span> <span class="p">(</span>
+</span><span id="L-510"><a href="#L-510"><span class="linenos">510</span></a> <span class="s2">&quot;sql&quot;</span><span class="p">,</span>
+</span><span id="L-511"><a href="#L-511"><span class="linenos">511</span></a> <span class="s2">&quot;size&quot;</span><span class="p">,</span>
+</span><span id="L-512"><a href="#L-512"><span class="linenos">512</span></a> <span class="s2">&quot;tokens&quot;</span><span class="p">,</span>
+</span><span id="L-513"><a href="#L-513"><span class="linenos">513</span></a> <span class="s2">&quot;dialect&quot;</span><span class="p">,</span>
+</span><span id="L-514"><a href="#L-514"><span class="linenos">514</span></a> <span class="s2">&quot;_start&quot;</span><span class="p">,</span>
+</span><span id="L-515"><a href="#L-515"><span class="linenos">515</span></a> <span class="s2">&quot;_current&quot;</span><span class="p">,</span>
+</span><span id="L-516"><a href="#L-516"><span class="linenos">516</span></a> <span class="s2">&quot;_line&quot;</span><span class="p">,</span>
+</span><span id="L-517"><a href="#L-517"><span class="linenos">517</span></a> <span class="s2">&quot;_col&quot;</span><span class="p">,</span>
+</span><span id="L-518"><a href="#L-518"><span class="linenos">518</span></a> <span class="s2">&quot;_comments&quot;</span><span class="p">,</span>
+</span><span id="L-519"><a href="#L-519"><span class="linenos">519</span></a> <span class="s2">&quot;_char&quot;</span><span class="p">,</span>
+</span><span id="L-520"><a href="#L-520"><span class="linenos">520</span></a> <span class="s2">&quot;_end&quot;</span><span class="p">,</span>
+</span><span id="L-521"><a href="#L-521"><span class="linenos">521</span></a> <span class="s2">&quot;_peek&quot;</span><span class="p">,</span>
+</span><span id="L-522"><a href="#L-522"><span class="linenos">522</span></a> <span class="s2">&quot;_prev_token_line&quot;</span><span class="p">,</span>
+</span><span id="L-523"><a href="#L-523"><span class="linenos">523</span></a> <span class="s2">&quot;_rs_dialect_settings&quot;</span><span class="p">,</span>
+</span><span id="L-524"><a href="#L-524"><span class="linenos">524</span></a> <span class="p">)</span>
+</span><span id="L-525"><a href="#L-525"><span class="linenos">525</span></a>
+</span><span id="L-526"><a href="#L-526"><span class="linenos">526</span></a> <span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">dialect</span><span class="p">:</span> <span class="n">DialectType</span> <span class="o">=</span> <span class="kc">None</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
+</span><span id="L-527"><a href="#L-527"><span class="linenos">527</span></a> <span class="kn">from</span> <span class="nn">sqlglot.dialects</span> <span class="kn">import</span> <span class="n">Dialect</span>
+</span><span id="L-528"><a href="#L-528"><span class="linenos">528</span></a>
+</span><span id="L-529"><a href="#L-529"><span class="linenos">529</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">dialect</span> <span class="o">=</span> <span class="n">Dialect</span><span class="o">.</span><span class="n">get_or_raise</span><span class="p">(</span><span class="n">dialect</span><span class="p">)</span>
+</span><span id="L-530"><a href="#L-530"><span class="linenos">530</span></a>
+</span><span id="L-531"><a href="#L-531"><span class="linenos">531</span></a> <span class="k">if</span> <span class="n">USE_RS_TOKENIZER</span><span class="p">:</span>
+</span><span id="L-532"><a href="#L-532"><span class="linenos">532</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_rs_dialect_settings</span> <span class="o">=</span> <span class="n">RsTokenizerDialectSettings</span><span class="p">(</span>
+</span><span id="L-533"><a href="#L-533"><span class="linenos">533</span></a> <span class="n">escape_sequences</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">dialect</span><span class="o">.</span><span class="n">ESCAPE_SEQUENCES</span><span class="p">,</span>
+</span><span id="L-534"><a href="#L-534"><span class="linenos">534</span></a> <span class="n">identifiers_can_start_with_digit</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">dialect</span><span class="o">.</span><span class="n">IDENTIFIERS_CAN_START_WITH_DIGIT</span><span class="p">,</span>
+</span><span id="L-535"><a href="#L-535"><span class="linenos">535</span></a> <span class="p">)</span>
+</span><span id="L-536"><a href="#L-536"><span class="linenos">536</span></a>
+</span><span id="L-537"><a href="#L-537"><span class="linenos">537</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">reset</span><span class="p">()</span>
+</span><span id="L-538"><a href="#L-538"><span class="linenos">538</span></a>
+</span><span id="L-539"><a href="#L-539"><span class="linenos">539</span></a> <span class="k">def</span> <span class="nf">reset</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
+</span><span id="L-540"><a href="#L-540"><span class="linenos">540</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">sql</span> <span class="o">=</span> <span class="s2">&quot;&quot;</span>
+</span><span id="L-541"><a href="#L-541"><span class="linenos">541</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">size</span> <span class="o">=</span> <span class="mi">0</span>
+</span><span id="L-542"><a href="#L-542"><span class="linenos">542</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">tokens</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">List</span><span class="p">[</span><span class="n">Token</span><span class="p">]</span> <span class="o">=</span> <span class="p">[]</span>
+</span><span id="L-543"><a href="#L-543"><span class="linenos">543</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_start</span> <span class="o">=</span> <span class="mi">0</span>
+</span><span id="L-544"><a href="#L-544"><span class="linenos">544</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_current</span> <span class="o">=</span> <span class="mi">0</span>
+</span><span id="L-545"><a href="#L-545"><span class="linenos">545</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_line</span> <span class="o">=</span> <span class="mi">1</span>
+</span><span id="L-546"><a href="#L-546"><span class="linenos">546</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_col</span> <span class="o">=</span> <span class="mi">0</span>
+</span><span id="L-547"><a href="#L-547"><span class="linenos">547</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_comments</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">List</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="p">[]</span>
+</span><span id="L-548"><a href="#L-548"><span class="linenos">548</span></a>
+</span><span id="L-549"><a href="#L-549"><span class="linenos">549</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_char</span> <span class="o">=</span> <span class="s2">&quot;&quot;</span>
+</span><span id="L-550"><a href="#L-550"><span class="linenos">550</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_end</span> <span class="o">=</span> <span class="kc">False</span>
+</span><span id="L-551"><a href="#L-551"><span class="linenos">551</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span> <span class="o">=</span> <span class="s2">&quot;&quot;</span>
+</span><span id="L-552"><a href="#L-552"><span class="linenos">552</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_prev_token_line</span> <span class="o">=</span> <span class="o">-</span><span class="mi">1</span>
+</span><span id="L-553"><a href="#L-553"><span class="linenos">553</span></a>
+</span><span id="L-554"><a href="#L-554"><span class="linenos">554</span></a> <span class="k">def</span> <span class="nf">tokenize</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">sql</span><span class="p">:</span> <span class="nb">str</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">t</span><span class="o">.</span><span class="n">List</span><span class="p">[</span><span class="n">Token</span><span class="p">]:</span>
+</span><span id="L-555"><a href="#L-555"><span class="linenos">555</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Returns a list of tokens corresponding to the SQL string `sql`.&quot;&quot;&quot;</span>
+</span><span id="L-556"><a href="#L-556"><span class="linenos">556</span></a> <span class="k">if</span> <span class="n">USE_RS_TOKENIZER</span><span class="p">:</span>
+</span><span id="L-557"><a href="#L-557"><span class="linenos">557</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">tokenize_rs</span><span class="p">(</span><span class="n">sql</span><span class="p">)</span>
+</span><span id="L-558"><a href="#L-558"><span class="linenos">558</span></a>
+</span><span id="L-559"><a href="#L-559"><span class="linenos">559</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">reset</span><span class="p">()</span>
+</span><span id="L-560"><a href="#L-560"><span class="linenos">560</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">sql</span> <span class="o">=</span> <span class="n">sql</span>
+</span><span id="L-561"><a href="#L-561"><span class="linenos">561</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">size</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">sql</span><span class="p">)</span>
+</span><span id="L-562"><a href="#L-562"><span class="linenos">562</span></a>
+</span><span id="L-563"><a href="#L-563"><span class="linenos">563</span></a> <span class="k">try</span><span class="p">:</span>
+</span><span id="L-564"><a href="#L-564"><span class="linenos">564</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_scan</span><span class="p">()</span>
+</span><span id="L-565"><a href="#L-565"><span class="linenos">565</span></a> <span class="k">except</span> <span class="ne">Exception</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
+</span><span id="L-566"><a href="#L-566"><span class="linenos">566</span></a> <span class="n">start</span> <span class="o">=</span> <span class="nb">max</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_current</span> <span class="o">-</span> <span class="mi">50</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span>
+</span><span id="L-567"><a href="#L-567"><span class="linenos">567</span></a> <span class="n">end</span> <span class="o">=</span> <span class="nb">min</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_current</span> <span class="o">+</span> <span class="mi">50</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">size</span> <span class="o">-</span> <span class="mi">1</span><span class="p">)</span>
+</span><span id="L-568"><a href="#L-568"><span class="linenos">568</span></a> <span class="n">context</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">sql</span><span class="p">[</span><span class="n">start</span><span class="p">:</span><span class="n">end</span><span class="p">]</span>
+</span><span id="L-569"><a href="#L-569"><span class="linenos">569</span></a> <span class="k">raise</span> <span class="n">TokenError</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;Error tokenizing &#39;</span><span class="si">{</span><span class="n">context</span><span class="si">}</span><span class="s2">&#39;&quot;</span><span class="p">)</span> <span class="kn">from</span> <span class="nn">e</span>
+</span><span id="L-570"><a href="#L-570"><span class="linenos">570</span></a>
+</span><span id="L-571"><a href="#L-571"><span class="linenos">571</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">tokens</span>
+</span><span id="L-572"><a href="#L-572"><span class="linenos">572</span></a>
+</span><span id="L-573"><a href="#L-573"><span class="linenos">573</span></a> <span class="k">def</span> <span class="nf">_scan</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">until</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="n">t</span><span class="o">.</span><span class="n">Callable</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
+</span><span id="L-574"><a href="#L-574"><span class="linenos">574</span></a> <span class="k">while</span> <span class="bp">self</span><span class="o">.</span><span class="n">size</span> <span class="ow">and</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">_end</span><span class="p">:</span>
+</span><span id="L-575"><a href="#L-575"><span class="linenos">575</span></a> <span class="n">current</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_current</span>
+</span><span id="L-576"><a href="#L-576"><span class="linenos">576</span></a>
+</span><span id="L-577"><a href="#L-577"><span class="linenos">577</span></a> <span class="c1"># skip spaces inline rather than iteratively call advance()</span>
+</span><span id="L-578"><a href="#L-578"><span class="linenos">578</span></a> <span class="c1"># for performance reasons</span>
+</span><span id="L-579"><a href="#L-579"><span class="linenos">579</span></a> <span class="k">while</span> <span class="n">current</span> <span class="o">&lt;</span> <span class="bp">self</span><span class="o">.</span><span class="n">size</span><span class="p">:</span>
+</span><span id="L-580"><a href="#L-580"><span class="linenos">580</span></a> <span class="n">char</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">sql</span><span class="p">[</span><span class="n">current</span><span class="p">]</span>
+</span><span id="L-581"><a href="#L-581"><span class="linenos">581</span></a>
+</span><span id="L-582"><a href="#L-582"><span class="linenos">582</span></a> <span class="k">if</span> <span class="n">char</span><span class="o">.</span><span class="n">isspace</span><span class="p">()</span> <span class="ow">and</span> <span class="p">(</span><span class="n">char</span> <span class="o">==</span> <span class="s2">&quot; &quot;</span> <span class="ow">or</span> <span class="n">char</span> <span class="o">==</span> <span class="s2">&quot;</span><span class="se">\t</span><span class="s2">&quot;</span><span class="p">):</span>
+</span><span id="L-583"><a href="#L-583"><span class="linenos">583</span></a> <span class="n">current</span> <span class="o">+=</span> <span class="mi">1</span>
+</span><span id="L-584"><a href="#L-584"><span class="linenos">584</span></a> <span class="k">else</span><span class="p">:</span>
+</span><span id="L-585"><a href="#L-585"><span class="linenos">585</span></a> <span class="k">break</span>
+</span><span id="L-586"><a href="#L-586"><span class="linenos">586</span></a>
+</span><span id="L-587"><a href="#L-587"><span class="linenos">587</span></a> <span class="n">n</span> <span class="o">=</span> <span class="n">current</span> <span class="o">-</span> <span class="bp">self</span><span class="o">.</span><span class="n">_current</span>
+</span><span id="L-588"><a href="#L-588"><span class="linenos">588</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_start</span> <span class="o">=</span> <span class="n">current</span>
+</span><span id="L-589"><a href="#L-589"><span class="linenos">589</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">(</span><span class="n">n</span> <span class="k">if</span> <span class="n">n</span> <span class="o">&gt;</span> <span class="mi">1</span> <span class="k">else</span> <span class="mi">1</span><span class="p">)</span>
+</span><span id="L-590"><a href="#L-590"><span class="linenos">590</span></a>
+</span><span id="L-591"><a href="#L-591"><span class="linenos">591</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_char</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+</span><span id="L-592"><a href="#L-592"><span class="linenos">592</span></a> <span class="k">break</span>
+</span><span id="L-593"><a href="#L-593"><span class="linenos">593</span></a>
+</span><span id="L-594"><a href="#L-594"><span class="linenos">594</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">_char</span><span class="o">.</span><span class="n">isspace</span><span class="p">():</span>
+</span><span id="L-595"><a href="#L-595"><span class="linenos">595</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_char</span><span class="o">.</span><span class="n">isdigit</span><span class="p">():</span>
+</span><span id="L-596"><a href="#L-596"><span class="linenos">596</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_scan_number</span><span class="p">()</span>
+</span><span id="L-597"><a href="#L-597"><span class="linenos">597</span></a> <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">_char</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">_IDENTIFIERS</span><span class="p">:</span>
+</span><span id="L-598"><a href="#L-598"><span class="linenos">598</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_scan_identifier</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_IDENTIFIERS</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">_char</span><span class="p">])</span>
+</span><span id="L-599"><a href="#L-599"><span class="linenos">599</span></a> <span class="k">else</span><span class="p">:</span>
+</span><span id="L-600"><a href="#L-600"><span class="linenos">600</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_scan_keywords</span><span class="p">()</span>
+</span><span id="L-601"><a href="#L-601"><span class="linenos">601</span></a>
+</span><span id="L-602"><a href="#L-602"><span class="linenos">602</span></a> <span class="k">if</span> <span class="n">until</span> <span class="ow">and</span> <span class="n">until</span><span class="p">():</span>
+</span><span id="L-603"><a href="#L-603"><span class="linenos">603</span></a> <span class="k">break</span>
+</span><span id="L-604"><a href="#L-604"><span class="linenos">604</span></a>
+</span><span id="L-605"><a href="#L-605"><span class="linenos">605</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">tokens</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">_comments</span><span class="p">:</span>
+</span><span id="L-606"><a href="#L-606"><span class="linenos">606</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">tokens</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">comments</span><span class="o">.</span><span class="n">extend</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_comments</span><span class="p">)</span>
+</span><span id="L-607"><a href="#L-607"><span class="linenos">607</span></a>
+</span><span id="L-608"><a href="#L-608"><span class="linenos">608</span></a> <span class="k">def</span> <span class="nf">_chars</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">size</span><span class="p">:</span> <span class="nb">int</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
+</span><span id="L-609"><a href="#L-609"><span class="linenos">609</span></a> <span class="k">if</span> <span class="n">size</span> <span class="o">==</span> <span class="mi">1</span><span class="p">:</span>
+</span><span id="L-610"><a href="#L-610"><span class="linenos">610</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_char</span>
+</span><span id="L-611"><a href="#L-611"><span class="linenos">611</span></a>
+</span><span id="L-612"><a href="#L-612"><span class="linenos">612</span></a> <span class="n">start</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_current</span> <span class="o">-</span> <span class="mi">1</span>
+</span><span id="L-613"><a href="#L-613"><span class="linenos">613</span></a> <span class="n">end</span> <span class="o">=</span> <span class="n">start</span> <span class="o">+</span> <span class="n">size</span>
+</span><span id="L-614"><a href="#L-614"><span class="linenos">614</span></a>
+</span><span id="L-615"><a href="#L-615"><span class="linenos">615</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">sql</span><span class="p">[</span><span class="n">start</span><span class="p">:</span><span class="n">end</span><span class="p">]</span> <span class="k">if</span> <span class="n">end</span> <span class="o">&lt;=</span> <span class="bp">self</span><span class="o">.</span><span class="n">size</span> <span class="k">else</span> <span class="s2">&quot;&quot;</span>
+</span><span id="L-616"><a href="#L-616"><span class="linenos">616</span></a>
+</span><span id="L-617"><a href="#L-617"><span class="linenos">617</span></a> <span class="k">def</span> <span class="nf">_advance</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">i</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">1</span><span class="p">,</span> <span class="n">alnum</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">False</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
+</span><span id="L-618"><a href="#L-618"><span class="linenos">618</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">WHITE_SPACE</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_char</span><span class="p">)</span> <span class="ow">is</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BREAK</span><span class="p">:</span>
+</span><span id="L-619"><a href="#L-619"><span class="linenos">619</span></a> <span class="c1"># Ensures we don&#39;t count an extra line if we get a \r\n line break sequence</span>
+</span><span id="L-620"><a href="#L-620"><span class="linenos">620</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_char</span> <span class="o">==</span> <span class="s2">&quot;</span><span class="se">\r</span><span class="s2">&quot;</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span> <span class="o">==</span> <span class="s2">&quot;</span><span class="se">\n</span><span class="s2">&quot;</span><span class="p">:</span>
+</span><span id="L-621"><a href="#L-621"><span class="linenos">621</span></a> <span class="n">i</span> <span class="o">=</span> <span class="mi">2</span>
+</span><span id="L-622"><a href="#L-622"><span class="linenos">622</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_start</span> <span class="o">+=</span> <span class="mi">1</span>
+</span><span id="L-623"><a href="#L-623"><span class="linenos">623</span></a>
+</span><span id="L-624"><a href="#L-624"><span class="linenos">624</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_col</span> <span class="o">=</span> <span class="mi">1</span>
+</span><span id="L-625"><a href="#L-625"><span class="linenos">625</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_line</span> <span class="o">+=</span> <span class="mi">1</span>
+</span><span id="L-626"><a href="#L-626"><span class="linenos">626</span></a> <span class="k">else</span><span class="p">:</span>
+</span><span id="L-627"><a href="#L-627"><span class="linenos">627</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_col</span> <span class="o">+=</span> <span class="n">i</span>
+</span><span id="L-628"><a href="#L-628"><span class="linenos">628</span></a>
+</span><span id="L-629"><a href="#L-629"><span class="linenos">629</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_current</span> <span class="o">+=</span> <span class="n">i</span>
+</span><span id="L-630"><a href="#L-630"><span class="linenos">630</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_end</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_current</span> <span class="o">&gt;=</span> <span class="bp">self</span><span class="o">.</span><span class="n">size</span>
+</span><span id="L-631"><a href="#L-631"><span class="linenos">631</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_char</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">sql</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">_current</span> <span class="o">-</span> <span class="mi">1</span><span class="p">]</span>
+</span><span id="L-632"><a href="#L-632"><span class="linenos">632</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span> <span class="o">=</span> <span class="s2">&quot;&quot;</span> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_end</span> <span class="k">else</span> <span class="bp">self</span><span class="o">.</span><span class="n">sql</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">_current</span><span class="p">]</span>
+</span><span id="L-633"><a href="#L-633"><span class="linenos">633</span></a>
+</span><span id="L-634"><a href="#L-634"><span class="linenos">634</span></a> <span class="k">if</span> <span class="n">alnum</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">_char</span><span class="o">.</span><span class="n">isalnum</span><span class="p">():</span>
+</span><span id="L-635"><a href="#L-635"><span class="linenos">635</span></a> <span class="c1"># Here we use local variables instead of attributes for better performance</span>
+</span><span id="L-636"><a href="#L-636"><span class="linenos">636</span></a> <span class="n">_col</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_col</span>
+</span><span id="L-637"><a href="#L-637"><span class="linenos">637</span></a> <span class="n">_current</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_current</span>
+</span><span id="L-638"><a href="#L-638"><span class="linenos">638</span></a> <span class="n">_end</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_end</span>
+</span><span id="L-639"><a href="#L-639"><span class="linenos">639</span></a> <span class="n">_peek</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span>
+</span><span id="L-640"><a href="#L-640"><span class="linenos">640</span></a>
+</span><span id="L-641"><a href="#L-641"><span class="linenos">641</span></a> <span class="k">while</span> <span class="n">_peek</span><span class="o">.</span><span class="n">isalnum</span><span class="p">():</span>
+</span><span id="L-642"><a href="#L-642"><span class="linenos">642</span></a> <span class="n">_col</span> <span class="o">+=</span> <span class="mi">1</span>
+</span><span id="L-643"><a href="#L-643"><span class="linenos">643</span></a> <span class="n">_current</span> <span class="o">+=</span> <span class="mi">1</span>
+</span><span id="L-644"><a href="#L-644"><span class="linenos">644</span></a> <span class="n">_end</span> <span class="o">=</span> <span class="n">_current</span> <span class="o">&gt;=</span> <span class="bp">self</span><span class="o">.</span><span class="n">size</span>
+</span><span id="L-645"><a href="#L-645"><span class="linenos">645</span></a> <span class="n">_peek</span> <span class="o">=</span> <span class="s2">&quot;&quot;</span> <span class="k">if</span> <span class="n">_end</span> <span class="k">else</span> <span class="bp">self</span><span class="o">.</span><span class="n">sql</span><span class="p">[</span><span class="n">_current</span><span class="p">]</span>
+</span><span id="L-646"><a href="#L-646"><span class="linenos">646</span></a>
+</span><span id="L-647"><a href="#L-647"><span class="linenos">647</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_col</span> <span class="o">=</span> <span class="n">_col</span>
+</span><span id="L-648"><a href="#L-648"><span class="linenos">648</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_current</span> <span class="o">=</span> <span class="n">_current</span>
+</span><span id="L-649"><a href="#L-649"><span class="linenos">649</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_end</span> <span class="o">=</span> <span class="n">_end</span>
+</span><span id="L-650"><a href="#L-650"><span class="linenos">650</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span> <span class="o">=</span> <span class="n">_peek</span>
+</span><span id="L-651"><a href="#L-651"><span class="linenos">651</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_char</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">sql</span><span class="p">[</span><span class="n">_current</span> <span class="o">-</span> <span class="mi">1</span><span class="p">]</span>
+</span><span id="L-652"><a href="#L-652"><span class="linenos">652</span></a>
+</span><span id="L-653"><a href="#L-653"><span class="linenos">653</span></a> <span class="nd">@property</span>
+</span><span id="L-654"><a href="#L-654"><span class="linenos">654</span></a> <span class="k">def</span> <span class="nf">_text</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
+</span><span id="L-655"><a href="#L-655"><span class="linenos">655</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">sql</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">_start</span> <span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">_current</span><span class="p">]</span>
+</span><span id="L-656"><a href="#L-656"><span class="linenos">656</span></a>
+</span><span id="L-657"><a href="#L-657"><span class="linenos">657</span></a> <span class="k">def</span> <span class="nf">peek</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">i</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">0</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
+</span><span id="L-658"><a href="#L-658"><span class="linenos">658</span></a> <span class="n">i</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_current</span> <span class="o">+</span> <span class="n">i</span>
+</span><span id="L-659"><a href="#L-659"><span class="linenos">659</span></a> <span class="k">if</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="bp">self</span><span class="o">.</span><span class="n">size</span><span class="p">:</span>
+</span><span id="L-660"><a href="#L-660"><span class="linenos">660</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">sql</span><span class="p">[</span><span class="n">i</span><span class="p">]</span>
+</span><span id="L-661"><a href="#L-661"><span class="linenos">661</span></a> <span class="k">return</span> <span class="s2">&quot;&quot;</span>
+</span><span id="L-662"><a href="#L-662"><span class="linenos">662</span></a>
+</span><span id="L-663"><a href="#L-663"><span class="linenos">663</span></a> <span class="k">def</span> <span class="nf">_add</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">token_type</span><span class="p">:</span> <span class="n">TokenType</span><span class="p">,</span> <span class="n">text</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
+</span><span id="L-664"><a href="#L-664"><span class="linenos">664</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_prev_token_line</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_line</span>
+</span><span id="L-665"><a href="#L-665"><span class="linenos">665</span></a>
+</span><span id="L-666"><a href="#L-666"><span class="linenos">666</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_comments</span> <span class="ow">and</span> <span class="n">token_type</span> <span class="o">==</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">SEMICOLON</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">tokens</span><span class="p">:</span>
+</span><span id="L-667"><a href="#L-667"><span class="linenos">667</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">tokens</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">comments</span><span class="o">.</span><span class="n">extend</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_comments</span><span class="p">)</span>
+</span><span id="L-668"><a href="#L-668"><span class="linenos">668</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_comments</span> <span class="o">=</span> <span class="p">[]</span>
+</span><span id="L-669"><a href="#L-669"><span class="linenos">669</span></a>
+</span><span id="L-670"><a href="#L-670"><span class="linenos">670</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">tokens</span><span class="o">.</span><span class="n">append</span><span class="p">(</span>
+</span><span id="L-671"><a href="#L-671"><span class="linenos">671</span></a> <span class="n">Token</span><span class="p">(</span>
+</span><span id="L-672"><a href="#L-672"><span class="linenos">672</span></a> <span class="n">token_type</span><span class="p">,</span>
+</span><span id="L-673"><a href="#L-673"><span class="linenos">673</span></a> <span class="n">text</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_text</span> <span class="k">if</span> <span class="n">text</span> <span class="ow">is</span> <span class="kc">None</span> <span class="k">else</span> <span class="n">text</span><span class="p">,</span>
+</span><span id="L-674"><a href="#L-674"><span class="linenos">674</span></a> <span class="n">line</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_line</span><span class="p">,</span>
+</span><span id="L-675"><a href="#L-675"><span class="linenos">675</span></a> <span class="n">col</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_col</span><span class="p">,</span>
+</span><span id="L-676"><a href="#L-676"><span class="linenos">676</span></a> <span class="n">start</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_start</span><span class="p">,</span>
+</span><span id="L-677"><a href="#L-677"><span class="linenos">677</span></a> <span class="n">end</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_current</span> <span class="o">-</span> <span class="mi">1</span><span class="p">,</span>
+</span><span id="L-678"><a href="#L-678"><span class="linenos">678</span></a> <span class="n">comments</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_comments</span><span class="p">,</span>
+</span><span id="L-679"><a href="#L-679"><span class="linenos">679</span></a> <span class="p">)</span>
+</span><span id="L-680"><a href="#L-680"><span class="linenos">680</span></a> <span class="p">)</span>
+</span><span id="L-681"><a href="#L-681"><span class="linenos">681</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_comments</span> <span class="o">=</span> <span class="p">[]</span>
+</span><span id="L-682"><a href="#L-682"><span class="linenos">682</span></a>
+</span><span id="L-683"><a href="#L-683"><span class="linenos">683</span></a> <span class="c1"># If we have either a semicolon or a begin token before the command&#39;s token, we&#39;ll parse</span>
+</span><span id="L-684"><a href="#L-684"><span class="linenos">684</span></a> <span class="c1"># whatever follows the command&#39;s token as a string</span>
+</span><span id="L-685"><a href="#L-685"><span class="linenos">685</span></a> <span class="k">if</span> <span class="p">(</span>
+</span><span id="L-686"><a href="#L-686"><span class="linenos">686</span></a> <span class="n">token_type</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">COMMANDS</span>
+</span><span id="L-687"><a href="#L-687"><span class="linenos">687</span></a> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span> <span class="o">!=</span> <span class="s2">&quot;;&quot;</span>
+</span><span id="L-688"><a href="#L-688"><span class="linenos">688</span></a> <span class="ow">and</span> <span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">tokens</span><span class="p">)</span> <span class="o">==</span> <span class="mi">1</span> <span class="ow">or</span> <span class="bp">self</span><span class="o">.</span><span class="n">tokens</span><span class="p">[</span><span class="o">-</span><span class="mi">2</span><span class="p">]</span><span class="o">.</span><span class="n">token_type</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">COMMAND_PREFIX_TOKENS</span><span class="p">)</span>
+</span><span id="L-689"><a href="#L-689"><span class="linenos">689</span></a> <span class="p">):</span>
+</span><span id="L-690"><a href="#L-690"><span class="linenos">690</span></a> <span class="n">start</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_current</span>
+</span><span id="L-691"><a href="#L-691"><span class="linenos">691</span></a> <span class="n">tokens</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">tokens</span><span class="p">)</span>
+</span><span id="L-692"><a href="#L-692"><span class="linenos">692</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_scan</span><span class="p">(</span><span class="k">lambda</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span> <span class="o">==</span> <span class="s2">&quot;;&quot;</span><span class="p">)</span>
+</span><span id="L-693"><a href="#L-693"><span class="linenos">693</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">tokens</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">tokens</span><span class="p">[:</span><span class="n">tokens</span><span class="p">]</span>
+</span><span id="L-694"><a href="#L-694"><span class="linenos">694</span></a> <span class="n">text</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">sql</span><span class="p">[</span><span class="n">start</span> <span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">_current</span><span class="p">]</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span>
+</span><span id="L-695"><a href="#L-695"><span class="linenos">695</span></a> <span class="k">if</span> <span class="n">text</span><span class="p">:</span>
+</span><span id="L-696"><a href="#L-696"><span class="linenos">696</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_add</span><span class="p">(</span><span class="n">TokenType</span><span class="o">.</span><span class="n">STRING</span><span class="p">,</span> <span class="n">text</span><span class="p">)</span>
+</span><span id="L-697"><a href="#L-697"><span class="linenos">697</span></a>
+</span><span id="L-698"><a href="#L-698"><span class="linenos">698</span></a> <span class="k">def</span> <span class="nf">_scan_keywords</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
+</span><span id="L-699"><a href="#L-699"><span class="linenos">699</span></a> <span class="n">size</span> <span class="o">=</span> <span class="mi">0</span>
+</span><span id="L-700"><a href="#L-700"><span class="linenos">700</span></a> <span class="n">word</span> <span class="o">=</span> <span class="kc">None</span>
+</span><span id="L-701"><a href="#L-701"><span class="linenos">701</span></a> <span class="n">chars</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_text</span>
+</span><span id="L-702"><a href="#L-702"><span class="linenos">702</span></a> <span class="n">char</span> <span class="o">=</span> <span class="n">chars</span>
+</span><span id="L-703"><a href="#L-703"><span class="linenos">703</span></a> <span class="n">prev_space</span> <span class="o">=</span> <span class="kc">False</span>
+</span><span id="L-704"><a href="#L-704"><span class="linenos">704</span></a> <span class="n">skip</span> <span class="o">=</span> <span class="kc">False</span>
+</span><span id="L-705"><a href="#L-705"><span class="linenos">705</span></a> <span class="n">trie</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_KEYWORD_TRIE</span>
+</span><span id="L-706"><a href="#L-706"><span class="linenos">706</span></a> <span class="n">single_token</span> <span class="o">=</span> <span class="n">char</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">SINGLE_TOKENS</span>
+</span><span id="L-707"><a href="#L-707"><span class="linenos">707</span></a>
+</span><span id="L-708"><a href="#L-708"><span class="linenos">708</span></a> <span class="k">while</span> <span class="n">chars</span><span class="p">:</span>
+</span><span id="L-709"><a href="#L-709"><span class="linenos">709</span></a> <span class="k">if</span> <span class="n">skip</span><span class="p">:</span>
+</span><span id="L-710"><a href="#L-710"><span class="linenos">710</span></a> <span class="n">result</span> <span class="o">=</span> <span class="n">TrieResult</span><span class="o">.</span><span class="n">PREFIX</span>
+</span><span id="L-711"><a href="#L-711"><span class="linenos">711</span></a> <span class="k">else</span><span class="p">:</span>
+</span><span id="L-712"><a href="#L-712"><span class="linenos">712</span></a> <span class="n">result</span><span class="p">,</span> <span class="n">trie</span> <span class="o">=</span> <span class="n">in_trie</span><span class="p">(</span><span class="n">trie</span><span class="p">,</span> <span class="n">char</span><span class="o">.</span><span class="n">upper</span><span class="p">())</span>
+</span><span id="L-713"><a href="#L-713"><span class="linenos">713</span></a>
+</span><span id="L-714"><a href="#L-714"><span class="linenos">714</span></a> <span class="k">if</span> <span class="n">result</span> <span class="o">==</span> <span class="n">TrieResult</span><span class="o">.</span><span class="n">FAILED</span><span class="p">:</span>
+</span><span id="L-715"><a href="#L-715"><span class="linenos">715</span></a> <span class="k">break</span>
+</span><span id="L-716"><a href="#L-716"><span class="linenos">716</span></a> <span class="k">if</span> <span class="n">result</span> <span class="o">==</span> <span class="n">TrieResult</span><span class="o">.</span><span class="n">EXISTS</span><span class="p">:</span>
+</span><span id="L-717"><a href="#L-717"><span class="linenos">717</span></a> <span class="n">word</span> <span class="o">=</span> <span class="n">chars</span>
+</span><span id="L-718"><a href="#L-718"><span class="linenos">718</span></a>
+</span><span id="L-719"><a href="#L-719"><span class="linenos">719</span></a> <span class="n">end</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_current</span> <span class="o">+</span> <span class="n">size</span>
+</span><span id="L-720"><a href="#L-720"><span class="linenos">720</span></a> <span class="n">size</span> <span class="o">+=</span> <span class="mi">1</span>
+</span><span id="L-721"><a href="#L-721"><span class="linenos">721</span></a>
+</span><span id="L-722"><a href="#L-722"><span class="linenos">722</span></a> <span class="k">if</span> <span class="n">end</span> <span class="o">&lt;</span> <span class="bp">self</span><span class="o">.</span><span class="n">size</span><span class="p">:</span>
+</span><span id="L-723"><a href="#L-723"><span class="linenos">723</span></a> <span class="n">char</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">sql</span><span class="p">[</span><span class="n">end</span><span class="p">]</span>
+</span><span id="L-724"><a href="#L-724"><span class="linenos">724</span></a> <span class="n">single_token</span> <span class="o">=</span> <span class="n">single_token</span> <span class="ow">or</span> <span class="n">char</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">SINGLE_TOKENS</span>
+</span><span id="L-725"><a href="#L-725"><span class="linenos">725</span></a> <span class="n">is_space</span> <span class="o">=</span> <span class="n">char</span><span class="o">.</span><span class="n">isspace</span><span class="p">()</span>
+</span><span id="L-726"><a href="#L-726"><span class="linenos">726</span></a>
+</span><span id="L-727"><a href="#L-727"><span class="linenos">727</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">is_space</span> <span class="ow">or</span> <span class="ow">not</span> <span class="n">prev_space</span><span class="p">:</span>
+</span><span id="L-728"><a href="#L-728"><span class="linenos">728</span></a> <span class="k">if</span> <span class="n">is_space</span><span class="p">:</span>
+</span><span id="L-729"><a href="#L-729"><span class="linenos">729</span></a> <span class="n">char</span> <span class="o">=</span> <span class="s2">&quot; &quot;</span>
+</span><span id="L-730"><a href="#L-730"><span class="linenos">730</span></a> <span class="n">chars</span> <span class="o">+=</span> <span class="n">char</span>
+</span><span id="L-731"><a href="#L-731"><span class="linenos">731</span></a> <span class="n">prev_space</span> <span class="o">=</span> <span class="n">is_space</span>
+</span><span id="L-732"><a href="#L-732"><span class="linenos">732</span></a> <span class="n">skip</span> <span class="o">=</span> <span class="kc">False</span>
+</span><span id="L-733"><a href="#L-733"><span class="linenos">733</span></a> <span class="k">else</span><span class="p">:</span>
+</span><span id="L-734"><a href="#L-734"><span class="linenos">734</span></a> <span class="n">skip</span> <span class="o">=</span> <span class="kc">True</span>
+</span><span id="L-735"><a href="#L-735"><span class="linenos">735</span></a> <span class="k">else</span><span class="p">:</span>
+</span><span id="L-736"><a href="#L-736"><span class="linenos">736</span></a> <span class="n">char</span> <span class="o">=</span> <span class="s2">&quot;&quot;</span>
+</span><span id="L-737"><a href="#L-737"><span class="linenos">737</span></a> <span class="k">break</span>
+</span><span id="L-738"><a href="#L-738"><span class="linenos">738</span></a>
+</span><span id="L-739"><a href="#L-739"><span class="linenos">739</span></a> <span class="k">if</span> <span class="n">word</span><span class="p">:</span>
+</span><span id="L-740"><a href="#L-740"><span class="linenos">740</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_scan_string</span><span class="p">(</span><span class="n">word</span><span class="p">):</span>
+</span><span id="L-741"><a href="#L-741"><span class="linenos">741</span></a> <span class="k">return</span>
+</span><span id="L-742"><a href="#L-742"><span class="linenos">742</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_scan_comment</span><span class="p">(</span><span class="n">word</span><span class="p">):</span>
+</span><span id="L-743"><a href="#L-743"><span class="linenos">743</span></a> <span class="k">return</span>
+</span><span id="L-744"><a href="#L-744"><span class="linenos">744</span></a> <span class="k">if</span> <span class="n">prev_space</span> <span class="ow">or</span> <span class="n">single_token</span> <span class="ow">or</span> <span class="ow">not</span> <span class="n">char</span><span class="p">:</span>
+</span><span id="L-745"><a href="#L-745"><span class="linenos">745</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">(</span><span class="n">size</span> <span class="o">-</span> <span class="mi">1</span><span class="p">)</span>
+</span><span id="L-746"><a href="#L-746"><span class="linenos">746</span></a> <span class="n">word</span> <span class="o">=</span> <span class="n">word</span><span class="o">.</span><span class="n">upper</span><span class="p">()</span>
+</span><span id="L-747"><a href="#L-747"><span class="linenos">747</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_add</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">KEYWORDS</span><span class="p">[</span><span class="n">word</span><span class="p">],</span> <span class="n">text</span><span class="o">=</span><span class="n">word</span><span class="p">)</span>
+</span><span id="L-748"><a href="#L-748"><span class="linenos">748</span></a> <span class="k">return</span>
+</span><span id="L-749"><a href="#L-749"><span class="linenos">749</span></a>
+</span><span id="L-750"><a href="#L-750"><span class="linenos">750</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_char</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">SINGLE_TOKENS</span><span class="p">:</span>
+</span><span id="L-751"><a href="#L-751"><span class="linenos">751</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_add</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">SINGLE_TOKENS</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">_char</span><span class="p">],</span> <span class="n">text</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_char</span><span class="p">)</span>
+</span><span id="L-752"><a href="#L-752"><span class="linenos">752</span></a> <span class="k">return</span>
+</span><span id="L-753"><a href="#L-753"><span class="linenos">753</span></a>
+</span><span id="L-754"><a href="#L-754"><span class="linenos">754</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_scan_var</span><span class="p">()</span>
+</span><span id="L-755"><a href="#L-755"><span class="linenos">755</span></a>
+</span><span id="L-756"><a href="#L-756"><span class="linenos">756</span></a> <span class="k">def</span> <span class="nf">_scan_comment</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">comment_start</span><span class="p">:</span> <span class="nb">str</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">bool</span><span class="p">:</span>
+</span><span id="L-757"><a href="#L-757"><span class="linenos">757</span></a> <span class="k">if</span> <span class="n">comment_start</span> <span class="ow">not</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">_COMMENTS</span><span class="p">:</span>
+</span><span id="L-758"><a href="#L-758"><span class="linenos">758</span></a> <span class="k">return</span> <span class="kc">False</span>
+</span><span id="L-759"><a href="#L-759"><span class="linenos">759</span></a>
+</span><span id="L-760"><a href="#L-760"><span class="linenos">760</span></a> <span class="n">comment_start_line</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_line</span>
+</span><span id="L-761"><a href="#L-761"><span class="linenos">761</span></a> <span class="n">comment_start_size</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">comment_start</span><span class="p">)</span>
+</span><span id="L-762"><a href="#L-762"><span class="linenos">762</span></a> <span class="n">comment_end</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_COMMENTS</span><span class="p">[</span><span class="n">comment_start</span><span class="p">]</span>
+</span><span id="L-763"><a href="#L-763"><span class="linenos">763</span></a>
+</span><span id="L-764"><a href="#L-764"><span class="linenos">764</span></a> <span class="k">if</span> <span class="n">comment_end</span><span class="p">:</span>
+</span><span id="L-765"><a href="#L-765"><span class="linenos">765</span></a> <span class="c1"># Skip the comment&#39;s start delimiter</span>
+</span><span id="L-766"><a href="#L-766"><span class="linenos">766</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">(</span><span class="n">comment_start_size</span><span class="p">)</span>
+</span><span id="L-767"><a href="#L-767"><span class="linenos">767</span></a>
+</span><span id="L-768"><a href="#L-768"><span class="linenos">768</span></a> <span class="n">comment_end_size</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">comment_end</span><span class="p">)</span>
+</span><span id="L-769"><a href="#L-769"><span class="linenos">769</span></a> <span class="k">while</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">_end</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">_chars</span><span class="p">(</span><span class="n">comment_end_size</span><span class="p">)</span> <span class="o">!=</span> <span class="n">comment_end</span><span class="p">:</span>
+</span><span id="L-770"><a href="#L-770"><span class="linenos">770</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">(</span><span class="n">alnum</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
+</span><span id="L-771"><a href="#L-771"><span class="linenos">771</span></a>
+</span><span id="L-772"><a href="#L-772"><span class="linenos">772</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_comments</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_text</span><span class="p">[</span><span class="n">comment_start_size</span> <span class="p">:</span> <span class="o">-</span><span class="n">comment_end_size</span> <span class="o">+</span> <span class="mi">1</span><span class="p">])</span>
+</span><span id="L-773"><a href="#L-773"><span class="linenos">773</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">(</span><span class="n">comment_end_size</span> <span class="o">-</span> <span class="mi">1</span><span class="p">)</span>
+</span><span id="L-774"><a href="#L-774"><span class="linenos">774</span></a> <span class="k">else</span><span class="p">:</span>
+</span><span id="L-775"><a href="#L-775"><span class="linenos">775</span></a> <span class="k">while</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">_end</span> <span class="ow">and</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">WHITE_SPACE</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_peek</span><span class="p">)</span> <span class="ow">is</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BREAK</span><span class="p">:</span>
+</span><span id="L-776"><a href="#L-776"><span class="linenos">776</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">(</span><span class="n">alnum</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
+</span><span id="L-777"><a href="#L-777"><span class="linenos">777</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_comments</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_text</span><span class="p">[</span><span class="n">comment_start_size</span><span class="p">:])</span>
+</span><span id="L-778"><a href="#L-778"><span class="linenos">778</span></a>
+</span><span id="L-779"><a href="#L-779"><span class="linenos">779</span></a> <span class="c1"># Leading comment is attached to the succeeding token, whilst trailing comment to the preceding.</span>
+</span><span id="L-780"><a href="#L-780"><span class="linenos">780</span></a> <span class="c1"># Multiple consecutive comments are preserved by appending them to the current comments list.</span>
+</span><span id="L-781"><a href="#L-781"><span class="linenos">781</span></a> <span class="k">if</span> <span class="n">comment_start_line</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">_prev_token_line</span><span class="p">:</span>
+</span><span id="L-782"><a href="#L-782"><span class="linenos">782</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">tokens</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">comments</span><span class="o">.</span><span class="n">extend</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_comments</span><span class="p">)</span>
+</span><span id="L-783"><a href="#L-783"><span class="linenos">783</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_comments</span> <span class="o">=</span> <span class="p">[]</span>
+</span><span id="L-784"><a href="#L-784"><span class="linenos">784</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_prev_token_line</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_line</span>
+</span><span id="L-785"><a href="#L-785"><span class="linenos">785</span></a>
+</span><span id="L-786"><a href="#L-786"><span class="linenos">786</span></a> <span class="k">return</span> <span class="kc">True</span>
+</span><span id="L-787"><a href="#L-787"><span class="linenos">787</span></a>
+</span><span id="L-788"><a href="#L-788"><span class="linenos">788</span></a> <span class="k">def</span> <span class="nf">_scan_number</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
+</span><span id="L-789"><a href="#L-789"><span class="linenos">789</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_char</span> <span class="o">==</span> <span class="s2">&quot;0&quot;</span><span class="p">:</span>
+</span><span id="L-790"><a href="#L-790"><span class="linenos">790</span></a> <span class="n">peek</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span><span class="o">.</span><span class="n">upper</span><span class="p">()</span>
+</span><span id="L-791"><a href="#L-791"><span class="linenos">791</span></a> <span class="k">if</span> <span class="n">peek</span> <span class="o">==</span> <span class="s2">&quot;B&quot;</span><span class="p">:</span>
+</span><span id="L-792"><a href="#L-792"><span class="linenos">792</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_scan_bits</span><span class="p">()</span> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">BIT_STRINGS</span> <span class="k">else</span> <span class="bp">self</span><span class="o">.</span><span class="n">_add</span><span class="p">(</span><span class="n">TokenType</span><span class="o">.</span><span class="n">NUMBER</span><span class="p">)</span>
+</span><span id="L-793"><a href="#L-793"><span class="linenos">793</span></a> <span class="k">elif</span> <span class="n">peek</span> <span class="o">==</span> <span class="s2">&quot;X&quot;</span><span class="p">:</span>
+</span><span id="L-794"><a href="#L-794"><span class="linenos">794</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_scan_hex</span><span class="p">()</span> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">HEX_STRINGS</span> <span class="k">else</span> <span class="bp">self</span><span class="o">.</span><span class="n">_add</span><span class="p">(</span><span class="n">TokenType</span><span class="o">.</span><span class="n">NUMBER</span><span class="p">)</span>
+</span><span id="L-795"><a href="#L-795"><span class="linenos">795</span></a>
+</span><span id="L-796"><a href="#L-796"><span class="linenos">796</span></a> <span class="n">decimal</span> <span class="o">=</span> <span class="kc">False</span>
+</span><span id="L-797"><a href="#L-797"><span class="linenos">797</span></a> <span class="n">scientific</span> <span class="o">=</span> <span class="mi">0</span>
+</span><span id="L-798"><a href="#L-798"><span class="linenos">798</span></a>
+</span><span id="L-799"><a href="#L-799"><span class="linenos">799</span></a> <span class="k">while</span> <span class="kc">True</span><span class="p">:</span>
+</span><span id="L-800"><a href="#L-800"><span class="linenos">800</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span><span class="o">.</span><span class="n">isdigit</span><span class="p">():</span>
+</span><span id="L-801"><a href="#L-801"><span class="linenos">801</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">()</span>
+</span><span id="L-802"><a href="#L-802"><span class="linenos">802</span></a> <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span> <span class="o">==</span> <span class="s2">&quot;.&quot;</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">decimal</span><span class="p">:</span>
+</span><span id="L-803"><a href="#L-803"><span class="linenos">803</span></a> <span class="n">after</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">peek</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
+</span><span id="L-804"><a href="#L-804"><span class="linenos">804</span></a> <span class="k">if</span> <span class="n">after</span><span class="o">.</span><span class="n">isdigit</span><span class="p">()</span> <span class="ow">or</span> <span class="ow">not</span> <span class="n">after</span><span class="o">.</span><span class="n">isalpha</span><span class="p">():</span>
+</span><span id="L-805"><a href="#L-805"><span class="linenos">805</span></a> <span class="n">decimal</span> <span class="o">=</span> <span class="kc">True</span>
+</span><span id="L-806"><a href="#L-806"><span class="linenos">806</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">()</span>
+</span><span id="L-807"><a href="#L-807"><span class="linenos">807</span></a> <span class="k">else</span><span class="p">:</span>
+</span><span id="L-808"><a href="#L-808"><span class="linenos">808</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_add</span><span class="p">(</span><span class="n">TokenType</span><span class="o">.</span><span class="n">VAR</span><span class="p">)</span>
+</span><span id="L-809"><a href="#L-809"><span class="linenos">809</span></a> <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span> <span class="ow">in</span> <span class="p">(</span><span class="s2">&quot;-&quot;</span><span class="p">,</span> <span class="s2">&quot;+&quot;</span><span class="p">)</span> <span class="ow">and</span> <span class="n">scientific</span> <span class="o">==</span> <span class="mi">1</span><span class="p">:</span>
+</span><span id="L-810"><a href="#L-810"><span class="linenos">810</span></a> <span class="n">scientific</span> <span class="o">+=</span> <span class="mi">1</span>
+</span><span id="L-811"><a href="#L-811"><span class="linenos">811</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">()</span>
+</span><span id="L-812"><a href="#L-812"><span class="linenos">812</span></a> <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span><span class="o">.</span><span class="n">upper</span><span class="p">()</span> <span class="o">==</span> <span class="s2">&quot;E&quot;</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">scientific</span><span class="p">:</span>
+</span><span id="L-813"><a href="#L-813"><span class="linenos">813</span></a> <span class="n">scientific</span> <span class="o">+=</span> <span class="mi">1</span>
+</span><span id="L-814"><a href="#L-814"><span class="linenos">814</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">()</span>
+</span><span id="L-815"><a href="#L-815"><span class="linenos">815</span></a> <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span><span class="o">.</span><span class="n">isidentifier</span><span class="p">():</span>
+</span><span id="L-816"><a href="#L-816"><span class="linenos">816</span></a> <span class="n">number_text</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_text</span>
+</span><span id="L-817"><a href="#L-817"><span class="linenos">817</span></a> <span class="n">literal</span> <span class="o">=</span> <span class="s2">&quot;&quot;</span>
+</span><span id="L-818"><a href="#L-818"><span class="linenos">818</span></a>
+</span><span id="L-819"><a href="#L-819"><span class="linenos">819</span></a> <span class="k">while</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span> <span class="ow">not</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">SINGLE_TOKENS</span><span class="p">:</span>
+</span><span id="L-820"><a href="#L-820"><span class="linenos">820</span></a> <span class="n">literal</span> <span class="o">+=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span>
+</span><span id="L-821"><a href="#L-821"><span class="linenos">821</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">()</span>
+</span><span id="L-822"><a href="#L-822"><span class="linenos">822</span></a>
+</span><span id="L-823"><a href="#L-823"><span class="linenos">823</span></a> <span class="n">token_type</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">KEYWORDS</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">NUMERIC_LITERALS</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">literal</span><span class="o">.</span><span class="n">upper</span><span class="p">(),</span> <span class="s2">&quot;&quot;</span><span class="p">))</span>
+</span><span id="L-824"><a href="#L-824"><span class="linenos">824</span></a>
+</span><span id="L-825"><a href="#L-825"><span class="linenos">825</span></a> <span class="k">if</span> <span class="n">token_type</span><span class="p">:</span>
+</span><span id="L-826"><a href="#L-826"><span class="linenos">826</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_add</span><span class="p">(</span><span class="n">TokenType</span><span class="o">.</span><span class="n">NUMBER</span><span class="p">,</span> <span class="n">number_text</span><span class="p">)</span>
+</span><span id="L-827"><a href="#L-827"><span class="linenos">827</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_add</span><span class="p">(</span><span class="n">TokenType</span><span class="o">.</span><span class="n">DCOLON</span><span class="p">,</span> <span class="s2">&quot;::&quot;</span><span class="p">)</span>
+</span><span id="L-828"><a href="#L-828"><span class="linenos">828</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_add</span><span class="p">(</span><span class="n">token_type</span><span class="p">,</span> <span class="n">literal</span><span class="p">)</span>
+</span><span id="L-829"><a href="#L-829"><span class="linenos">829</span></a> <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">dialect</span><span class="o">.</span><span class="n">IDENTIFIERS_CAN_START_WITH_DIGIT</span><span class="p">:</span>
+</span><span id="L-830"><a href="#L-830"><span class="linenos">830</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_add</span><span class="p">(</span><span class="n">TokenType</span><span class="o">.</span><span class="n">VAR</span><span class="p">)</span>
+</span><span id="L-831"><a href="#L-831"><span class="linenos">831</span></a>
+</span><span id="L-832"><a href="#L-832"><span class="linenos">832</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">(</span><span class="o">-</span><span class="nb">len</span><span class="p">(</span><span class="n">literal</span><span class="p">))</span>
+</span><span id="L-833"><a href="#L-833"><span class="linenos">833</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_add</span><span class="p">(</span><span class="n">TokenType</span><span class="o">.</span><span class="n">NUMBER</span><span class="p">,</span> <span class="n">number_text</span><span class="p">)</span>
+</span><span id="L-834"><a href="#L-834"><span class="linenos">834</span></a> <span class="k">else</span><span class="p">:</span>
+</span><span id="L-835"><a href="#L-835"><span class="linenos">835</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_add</span><span class="p">(</span><span class="n">TokenType</span><span class="o">.</span><span class="n">NUMBER</span><span class="p">)</span>
+</span><span id="L-836"><a href="#L-836"><span class="linenos">836</span></a>
+</span><span id="L-837"><a href="#L-837"><span class="linenos">837</span></a> <span class="k">def</span> <span class="nf">_scan_bits</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
+</span><span id="L-838"><a href="#L-838"><span class="linenos">838</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">()</span>
+</span><span id="L-839"><a href="#L-839"><span class="linenos">839</span></a> <span class="n">value</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_extract_value</span><span class="p">()</span>
+</span><span id="L-840"><a href="#L-840"><span class="linenos">840</span></a> <span class="k">try</span><span class="p">:</span>
+</span><span id="L-841"><a href="#L-841"><span class="linenos">841</span></a> <span class="c1"># If `value` can&#39;t be converted to a binary, fallback to tokenizing it as an identifier</span>
+</span><span id="L-842"><a href="#L-842"><span class="linenos">842</span></a> <span class="nb">int</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="mi">2</span><span class="p">)</span>
+</span><span id="L-843"><a href="#L-843"><span class="linenos">843</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_add</span><span class="p">(</span><span class="n">TokenType</span><span class="o">.</span><span class="n">BIT_STRING</span><span class="p">,</span> <span class="n">value</span><span class="p">[</span><span class="mi">2</span><span class="p">:])</span> <span class="c1"># Drop the 0b</span>
+</span><span id="L-844"><a href="#L-844"><span class="linenos">844</span></a> <span class="k">except</span> <span class="ne">ValueError</span><span class="p">:</span>
+</span><span id="L-845"><a href="#L-845"><span class="linenos">845</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_add</span><span class="p">(</span><span class="n">TokenType</span><span class="o">.</span><span class="n">IDENTIFIER</span><span class="p">)</span>
+</span><span id="L-846"><a href="#L-846"><span class="linenos">846</span></a>
+</span><span id="L-847"><a href="#L-847"><span class="linenos">847</span></a> <span class="k">def</span> <span class="nf">_scan_hex</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
+</span><span id="L-848"><a href="#L-848"><span class="linenos">848</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">()</span>
+</span><span id="L-849"><a href="#L-849"><span class="linenos">849</span></a> <span class="n">value</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_extract_value</span><span class="p">()</span>
+</span><span id="L-850"><a href="#L-850"><span class="linenos">850</span></a> <span class="k">try</span><span class="p">:</span>
+</span><span id="L-851"><a href="#L-851"><span class="linenos">851</span></a> <span class="c1"># If `value` can&#39;t be converted to a hex, fallback to tokenizing it as an identifier</span>
+</span><span id="L-852"><a href="#L-852"><span class="linenos">852</span></a> <span class="nb">int</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="mi">16</span><span class="p">)</span>
+</span><span id="L-853"><a href="#L-853"><span class="linenos">853</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_add</span><span class="p">(</span><span class="n">TokenType</span><span class="o">.</span><span class="n">HEX_STRING</span><span class="p">,</span> <span class="n">value</span><span class="p">[</span><span class="mi">2</span><span class="p">:])</span> <span class="c1"># Drop the 0x</span>
+</span><span id="L-854"><a href="#L-854"><span class="linenos">854</span></a> <span class="k">except</span> <span class="ne">ValueError</span><span class="p">:</span>
+</span><span id="L-855"><a href="#L-855"><span class="linenos">855</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_add</span><span class="p">(</span><span class="n">TokenType</span><span class="o">.</span><span class="n">IDENTIFIER</span><span class="p">)</span>
+</span><span id="L-856"><a href="#L-856"><span class="linenos">856</span></a>
+</span><span id="L-857"><a href="#L-857"><span class="linenos">857</span></a> <span class="k">def</span> <span class="nf">_extract_value</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
+</span><span id="L-858"><a href="#L-858"><span class="linenos">858</span></a> <span class="k">while</span> <span class="kc">True</span><span class="p">:</span>
+</span><span id="L-859"><a href="#L-859"><span class="linenos">859</span></a> <span class="n">char</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span>
+</span><span id="L-860"><a href="#L-860"><span class="linenos">860</span></a> <span class="k">if</span> <span class="n">char</span> <span class="ow">and</span> <span class="n">char</span> <span class="ow">not</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">SINGLE_TOKENS</span><span class="p">:</span>
+</span><span id="L-861"><a href="#L-861"><span class="linenos">861</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">(</span><span class="n">alnum</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
+</span><span id="L-862"><a href="#L-862"><span class="linenos">862</span></a> <span class="k">else</span><span class="p">:</span>
+</span><span id="L-863"><a href="#L-863"><span class="linenos">863</span></a> <span class="k">break</span>
+</span><span id="L-864"><a href="#L-864"><span class="linenos">864</span></a>
+</span><span id="L-865"><a href="#L-865"><span class="linenos">865</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_text</span>
+</span><span id="L-866"><a href="#L-866"><span class="linenos">866</span></a>
+</span><span id="L-867"><a href="#L-867"><span class="linenos">867</span></a> <span class="k">def</span> <span class="nf">_scan_string</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">start</span><span class="p">:</span> <span class="nb">str</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">bool</span><span class="p">:</span>
+</span><span id="L-868"><a href="#L-868"><span class="linenos">868</span></a> <span class="n">base</span> <span class="o">=</span> <span class="kc">None</span>
+</span><span id="L-869"><a href="#L-869"><span class="linenos">869</span></a> <span class="n">token_type</span> <span class="o">=</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">STRING</span>
+</span><span id="L-870"><a href="#L-870"><span class="linenos">870</span></a>
+</span><span id="L-871"><a href="#L-871"><span class="linenos">871</span></a> <span class="k">if</span> <span class="n">start</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">_QUOTES</span><span class="p">:</span>
+</span><span id="L-872"><a href="#L-872"><span class="linenos">872</span></a> <span class="n">end</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_QUOTES</span><span class="p">[</span><span class="n">start</span><span class="p">]</span>
+</span><span id="L-873"><a href="#L-873"><span class="linenos">873</span></a> <span class="k">elif</span> <span class="n">start</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">_FORMAT_STRINGS</span><span class="p">:</span>
+</span><span id="L-874"><a href="#L-874"><span class="linenos">874</span></a> <span class="n">end</span><span class="p">,</span> <span class="n">token_type</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_FORMAT_STRINGS</span><span class="p">[</span><span class="n">start</span><span class="p">]</span>
+</span><span id="L-875"><a href="#L-875"><span class="linenos">875</span></a>
+</span><span id="L-876"><a href="#L-876"><span class="linenos">876</span></a> <span class="k">if</span> <span class="n">token_type</span> <span class="o">==</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">HEX_STRING</span><span class="p">:</span>
+</span><span id="L-877"><a href="#L-877"><span class="linenos">877</span></a> <span class="n">base</span> <span class="o">=</span> <span class="mi">16</span>
+</span><span id="L-878"><a href="#L-878"><span class="linenos">878</span></a> <span class="k">elif</span> <span class="n">token_type</span> <span class="o">==</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BIT_STRING</span><span class="p">:</span>
+</span><span id="L-879"><a href="#L-879"><span class="linenos">879</span></a> <span class="n">base</span> <span class="o">=</span> <span class="mi">2</span>
+</span><span id="L-880"><a href="#L-880"><span class="linenos">880</span></a> <span class="k">elif</span> <span class="n">token_type</span> <span class="o">==</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">HEREDOC_STRING</span><span class="p">:</span>
+</span><span id="L-881"><a href="#L-881"><span class="linenos">881</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">()</span>
+</span><span id="L-882"><a href="#L-882"><span class="linenos">882</span></a> <span class="n">tag</span> <span class="o">=</span> <span class="s2">&quot;&quot;</span> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_char</span> <span class="o">==</span> <span class="n">end</span> <span class="k">else</span> <span class="bp">self</span><span class="o">.</span><span class="n">_extract_string</span><span class="p">(</span><span class="n">end</span><span class="p">)</span>
+</span><span id="L-883"><a href="#L-883"><span class="linenos">883</span></a> <span class="n">end</span> <span class="o">=</span> <span class="sa">f</span><span class="s2">&quot;</span><span class="si">{</span><span class="n">start</span><span class="si">}{</span><span class="n">tag</span><span class="si">}{</span><span class="n">end</span><span class="si">}</span><span class="s2">&quot;</span>
+</span><span id="L-884"><a href="#L-884"><span class="linenos">884</span></a> <span class="k">else</span><span class="p">:</span>
+</span><span id="L-885"><a href="#L-885"><span class="linenos">885</span></a> <span class="k">return</span> <span class="kc">False</span>
+</span><span id="L-886"><a href="#L-886"><span class="linenos">886</span></a>
+</span><span id="L-887"><a href="#L-887"><span class="linenos">887</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">start</span><span class="p">))</span>
+</span><span id="L-888"><a href="#L-888"><span class="linenos">888</span></a> <span class="n">text</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_extract_string</span><span class="p">(</span><span class="n">end</span><span class="p">)</span>
+</span><span id="L-889"><a href="#L-889"><span class="linenos">889</span></a>
+</span><span id="L-890"><a href="#L-890"><span class="linenos">890</span></a> <span class="k">if</span> <span class="n">base</span><span class="p">:</span>
+</span><span id="L-891"><a href="#L-891"><span class="linenos">891</span></a> <span class="k">try</span><span class="p">:</span>
+</span><span id="L-892"><a href="#L-892"><span class="linenos">892</span></a> <span class="nb">int</span><span class="p">(</span><span class="n">text</span><span class="p">,</span> <span class="n">base</span><span class="p">)</span>
+</span><span id="L-893"><a href="#L-893"><span class="linenos">893</span></a> <span class="k">except</span><span class="p">:</span>
+</span><span id="L-894"><a href="#L-894"><span class="linenos">894</span></a> <span class="k">raise</span> <span class="n">TokenError</span><span class="p">(</span>
+</span><span id="L-895"><a href="#L-895"><span class="linenos">895</span></a> <span class="sa">f</span><span class="s2">&quot;Numeric string contains invalid characters from </span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">_line</span><span class="si">}</span><span class="s2">:</span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">_start</span><span class="si">}</span><span class="s2">&quot;</span>
+</span><span id="L-896"><a href="#L-896"><span class="linenos">896</span></a> <span class="p">)</span>
+</span><span id="L-897"><a href="#L-897"><span class="linenos">897</span></a>
+</span><span id="L-898"><a href="#L-898"><span class="linenos">898</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_add</span><span class="p">(</span><span class="n">token_type</span><span class="p">,</span> <span class="n">text</span><span class="p">)</span>
+</span><span id="L-899"><a href="#L-899"><span class="linenos">899</span></a> <span class="k">return</span> <span class="kc">True</span>
+</span><span id="L-900"><a href="#L-900"><span class="linenos">900</span></a>
+</span><span id="L-901"><a href="#L-901"><span class="linenos">901</span></a> <span class="k">def</span> <span class="nf">_scan_identifier</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">identifier_end</span><span class="p">:</span> <span class="nb">str</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
+</span><span id="L-902"><a href="#L-902"><span class="linenos">902</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">()</span>
+</span><span id="L-903"><a href="#L-903"><span class="linenos">903</span></a> <span class="n">text</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_extract_string</span><span class="p">(</span><span class="n">identifier_end</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_IDENTIFIER_ESCAPES</span><span class="p">)</span>
+</span><span id="L-904"><a href="#L-904"><span class="linenos">904</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_add</span><span class="p">(</span><span class="n">TokenType</span><span class="o">.</span><span class="n">IDENTIFIER</span><span class="p">,</span> <span class="n">text</span><span class="p">)</span>
+</span><span id="L-905"><a href="#L-905"><span class="linenos">905</span></a>
+</span><span id="L-906"><a href="#L-906"><span class="linenos">906</span></a> <span class="k">def</span> <span class="nf">_scan_var</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
+</span><span id="L-907"><a href="#L-907"><span class="linenos">907</span></a> <span class="k">while</span> <span class="kc">True</span><span class="p">:</span>
+</span><span id="L-908"><a href="#L-908"><span class="linenos">908</span></a> <span class="n">char</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span>
+</span><span id="L-909"><a href="#L-909"><span class="linenos">909</span></a> <span class="k">if</span> <span class="n">char</span> <span class="ow">and</span> <span class="p">(</span><span class="n">char</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">VAR_SINGLE_TOKENS</span> <span class="ow">or</span> <span class="n">char</span> <span class="ow">not</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">SINGLE_TOKENS</span><span class="p">):</span>
+</span><span id="L-910"><a href="#L-910"><span class="linenos">910</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">(</span><span class="n">alnum</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
+</span><span id="L-911"><a href="#L-911"><span class="linenos">911</span></a> <span class="k">else</span><span class="p">:</span>
+</span><span id="L-912"><a href="#L-912"><span class="linenos">912</span></a> <span class="k">break</span>
+</span><span id="L-913"><a href="#L-913"><span class="linenos">913</span></a>
+</span><span id="L-914"><a href="#L-914"><span class="linenos">914</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_add</span><span class="p">(</span>
+</span><span id="L-915"><a href="#L-915"><span class="linenos">915</span></a> <span class="n">TokenType</span><span class="o">.</span><span class="n">VAR</span>
+</span><span id="L-916"><a href="#L-916"><span class="linenos">916</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">tokens</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">tokens</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">token_type</span> <span class="o">==</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">PARAMETER</span>
+</span><span id="L-917"><a href="#L-917"><span class="linenos">917</span></a> <span class="k">else</span> <span class="bp">self</span><span class="o">.</span><span class="n">KEYWORDS</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_text</span><span class="o">.</span><span class="n">upper</span><span class="p">(),</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">VAR</span><span class="p">)</span>
+</span><span id="L-918"><a href="#L-918"><span class="linenos">918</span></a> <span class="p">)</span>
+</span><span id="L-919"><a href="#L-919"><span class="linenos">919</span></a>
+</span><span id="L-920"><a href="#L-920"><span class="linenos">920</span></a> <span class="k">def</span> <span class="nf">_extract_string</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">delimiter</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="n">escapes</span><span class="o">=</span><span class="kc">None</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
+</span><span id="L-921"><a href="#L-921"><span class="linenos">921</span></a> <span class="n">text</span> <span class="o">=</span> <span class="s2">&quot;&quot;</span>
+</span><span id="L-922"><a href="#L-922"><span class="linenos">922</span></a> <span class="n">delim_size</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">delimiter</span><span class="p">)</span>
+</span><span id="L-923"><a href="#L-923"><span class="linenos">923</span></a> <span class="n">escapes</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_STRING_ESCAPES</span> <span class="k">if</span> <span class="n">escapes</span> <span class="ow">is</span> <span class="kc">None</span> <span class="k">else</span> <span class="n">escapes</span>
+</span><span id="L-924"><a href="#L-924"><span class="linenos">924</span></a>
+</span><span id="L-925"><a href="#L-925"><span class="linenos">925</span></a> <span class="k">while</span> <span class="kc">True</span><span class="p">:</span>
+</span><span id="L-926"><a href="#L-926"><span class="linenos">926</span></a> <span class="k">if</span> <span class="p">(</span>
+</span><span id="L-927"><a href="#L-927"><span class="linenos">927</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_char</span> <span class="ow">in</span> <span class="n">escapes</span>
+</span><span id="L-928"><a href="#L-928"><span class="linenos">928</span></a> <span class="ow">and</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_peek</span> <span class="o">==</span> <span class="n">delimiter</span> <span class="ow">or</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span> <span class="ow">in</span> <span class="n">escapes</span><span class="p">)</span>
+</span><span id="L-929"><a href="#L-929"><span class="linenos">929</span></a> <span class="ow">and</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_char</span> <span class="ow">not</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">_QUOTES</span> <span class="ow">or</span> <span class="bp">self</span><span class="o">.</span><span class="n">_char</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span><span class="p">)</span>
+</span><span id="L-930"><a href="#L-930"><span class="linenos">930</span></a> <span class="p">):</span>
+</span><span id="L-931"><a href="#L-931"><span class="linenos">931</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span> <span class="o">==</span> <span class="n">delimiter</span><span class="p">:</span>
+</span><span id="L-932"><a href="#L-932"><span class="linenos">932</span></a> <span class="n">text</span> <span class="o">+=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span>
+</span><span id="L-933"><a href="#L-933"><span class="linenos">933</span></a> <span class="k">else</span><span class="p">:</span>
+</span><span id="L-934"><a href="#L-934"><span class="linenos">934</span></a> <span class="n">text</span> <span class="o">+=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_char</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span>
+</span><span id="L-935"><a href="#L-935"><span class="linenos">935</span></a>
+</span><span id="L-936"><a href="#L-936"><span class="linenos">936</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_current</span> <span class="o">+</span> <span class="mi">1</span> <span class="o">&lt;</span> <span class="bp">self</span><span class="o">.</span><span class="n">size</span><span class="p">:</span>
+</span><span id="L-937"><a href="#L-937"><span class="linenos">937</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">(</span><span class="mi">2</span><span class="p">)</span>
+</span><span id="L-938"><a href="#L-938"><span class="linenos">938</span></a> <span class="k">else</span><span class="p">:</span>
+</span><span id="L-939"><a href="#L-939"><span class="linenos">939</span></a> <span class="k">raise</span> <span class="n">TokenError</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;Missing </span><span class="si">{</span><span class="n">delimiter</span><span class="si">}</span><span class="s2"> from </span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">_line</span><span class="si">}</span><span class="s2">:</span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">_current</span><span class="si">}</span><span class="s2">&quot;</span><span class="p">)</span>
+</span><span id="L-940"><a href="#L-940"><span class="linenos">940</span></a> <span class="k">else</span><span class="p">:</span>
+</span><span id="L-941"><a href="#L-941"><span class="linenos">941</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_chars</span><span class="p">(</span><span class="n">delim_size</span><span class="p">)</span> <span class="o">==</span> <span class="n">delimiter</span><span class="p">:</span>
+</span><span id="L-942"><a href="#L-942"><span class="linenos">942</span></a> <span class="k">if</span> <span class="n">delim_size</span> <span class="o">&gt;</span> <span class="mi">1</span><span class="p">:</span>
+</span><span id="L-943"><a href="#L-943"><span class="linenos">943</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">(</span><span class="n">delim_size</span> <span class="o">-</span> <span class="mi">1</span><span class="p">)</span>
+</span><span id="L-944"><a href="#L-944"><span class="linenos">944</span></a> <span class="k">break</span>
+</span><span id="L-945"><a href="#L-945"><span class="linenos">945</span></a>
+</span><span id="L-946"><a href="#L-946"><span class="linenos">946</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_end</span><span class="p">:</span>
+</span><span id="L-947"><a href="#L-947"><span class="linenos">947</span></a> <span class="k">raise</span> <span class="n">TokenError</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;Missing </span><span class="si">{</span><span class="n">delimiter</span><span class="si">}</span><span class="s2"> from </span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">_line</span><span class="si">}</span><span class="s2">:</span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">_start</span><span class="si">}</span><span class="s2">&quot;</span><span class="p">)</span>
+</span><span id="L-948"><a href="#L-948"><span class="linenos">948</span></a>
+</span><span id="L-949"><a href="#L-949"><span class="linenos">949</span></a> <span class="k">if</span> <span class="p">(</span>
+</span><span id="L-950"><a href="#L-950"><span class="linenos">950</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">dialect</span><span class="o">.</span><span class="n">ESCAPE_SEQUENCES</span>
+</span><span id="L-951"><a href="#L-951"><span class="linenos">951</span></a> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span>
+</span><span id="L-952"><a href="#L-952"><span class="linenos">952</span></a> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">_char</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">STRING_ESCAPES</span>
+</span><span id="L-953"><a href="#L-953"><span class="linenos">953</span></a> <span class="p">):</span>
+</span><span id="L-954"><a href="#L-954"><span class="linenos">954</span></a> <span class="n">escaped_sequence</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">dialect</span><span class="o">.</span><span class="n">ESCAPE_SEQUENCES</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_char</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span><span class="p">)</span>
+</span><span id="L-955"><a href="#L-955"><span class="linenos">955</span></a> <span class="k">if</span> <span class="n">escaped_sequence</span><span class="p">:</span>
+</span><span id="L-956"><a href="#L-956"><span class="linenos">956</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">(</span><span class="mi">2</span><span class="p">)</span>
+</span><span id="L-957"><a href="#L-957"><span class="linenos">957</span></a> <span class="n">text</span> <span class="o">+=</span> <span class="n">escaped_sequence</span>
+</span><span id="L-958"><a href="#L-958"><span class="linenos">958</span></a> <span class="k">continue</span>
+</span><span id="L-959"><a href="#L-959"><span class="linenos">959</span></a>
+</span><span id="L-960"><a href="#L-960"><span class="linenos">960</span></a> <span class="n">current</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_current</span> <span class="o">-</span> <span class="mi">1</span>
+</span><span id="L-961"><a href="#L-961"><span class="linenos">961</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">(</span><span class="n">alnum</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
+</span><span id="L-962"><a href="#L-962"><span class="linenos">962</span></a> <span class="n">text</span> <span class="o">+=</span> <span class="bp">self</span><span class="o">.</span><span class="n">sql</span><span class="p">[</span><span class="n">current</span> <span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">_current</span> <span class="o">-</span> <span class="mi">1</span><span class="p">]</span>
+</span><span id="L-963"><a href="#L-963"><span class="linenos">963</span></a>
+</span><span id="L-964"><a href="#L-964"><span class="linenos">964</span></a> <span class="k">return</span> <span class="n">text</span>
+</span><span id="L-965"><a href="#L-965"><span class="linenos">965</span></a>
+</span><span id="L-966"><a href="#L-966"><span class="linenos">966</span></a> <span class="k">def</span> <span class="nf">tokenize_rs</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">sql</span><span class="p">:</span> <span class="nb">str</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">t</span><span class="o">.</span><span class="n">List</span><span class="p">[</span><span class="n">Token</span><span class="p">]:</span>
+</span><span id="L-967"><a href="#L-967"><span class="linenos">967</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">_RS_TOKENIZER</span><span class="p">:</span>
+</span><span id="L-968"><a href="#L-968"><span class="linenos">968</span></a> <span class="k">raise</span> <span class="n">SqlglotError</span><span class="p">(</span><span class="s2">&quot;Rust tokenizer is not available&quot;</span><span class="p">)</span>
+</span><span id="L-969"><a href="#L-969"><span class="linenos">969</span></a>
+</span><span id="L-970"><a href="#L-970"><span class="linenos">970</span></a> <span class="k">try</span><span class="p">:</span>
+</span><span id="L-971"><a href="#L-971"><span class="linenos">971</span></a> <span class="k">return</span> <span class="p">[</span>
+</span><span id="L-972"><a href="#L-972"><span class="linenos">972</span></a> <span class="n">Token</span><span class="p">(</span>
+</span><span id="L-973"><a href="#L-973"><span class="linenos">973</span></a> <span class="n">token_type</span><span class="o">=</span><span class="n">_ALL_TOKEN_TYPES</span><span class="p">[</span><span class="n">token</span><span class="o">.</span><span class="n">token_type</span><span class="o">.</span><span class="n">index</span><span class="p">],</span>
+</span><span id="L-974"><a href="#L-974"><span class="linenos">974</span></a> <span class="n">text</span><span class="o">=</span><span class="n">token</span><span class="o">.</span><span class="n">text</span><span class="p">,</span>
+</span><span id="L-975"><a href="#L-975"><span class="linenos">975</span></a> <span class="n">line</span><span class="o">=</span><span class="n">token</span><span class="o">.</span><span class="n">line</span><span class="p">,</span>
+</span><span id="L-976"><a href="#L-976"><span class="linenos">976</span></a> <span class="n">col</span><span class="o">=</span><span class="n">token</span><span class="o">.</span><span class="n">col</span><span class="p">,</span>
+</span><span id="L-977"><a href="#L-977"><span class="linenos">977</span></a> <span class="n">start</span><span class="o">=</span><span class="n">token</span><span class="o">.</span><span class="n">start</span><span class="p">,</span>
+</span><span id="L-978"><a href="#L-978"><span class="linenos">978</span></a> <span class="n">end</span><span class="o">=</span><span class="n">token</span><span class="o">.</span><span class="n">end</span><span class="p">,</span>
+</span><span id="L-979"><a href="#L-979"><span class="linenos">979</span></a> <span class="n">comments</span><span class="o">=</span><span class="n">token</span><span class="o">.</span><span class="n">comments</span><span class="p">,</span>
+</span><span id="L-980"><a href="#L-980"><span class="linenos">980</span></a> <span class="p">)</span>
+</span><span id="L-981"><a href="#L-981"><span class="linenos">981</span></a> <span class="k">for</span> <span class="n">token</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">_RS_TOKENIZER</span><span class="o">.</span><span class="n">tokenize</span><span class="p">(</span><span class="n">sql</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_rs_dialect_settings</span><span class="p">)</span>
+</span><span id="L-982"><a href="#L-982"><span class="linenos">982</span></a> <span class="p">]</span>
+</span><span id="L-983"><a href="#L-983"><span class="linenos">983</span></a> <span class="k">except</span> <span class="ne">Exception</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
+</span><span id="L-984"><a href="#L-984"><span class="linenos">984</span></a> <span class="k">raise</span> <span class="n">TokenError</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="p">))</span>
+</span><span id="L-985"><a href="#L-985"><span class="linenos">985</span></a>
+</span><span id="L-986"><a href="#L-986"><span class="linenos">986</span></a>
+</span><span id="L-987"><a href="#L-987"><span class="linenos">987</span></a><span class="n">_ALL_TOKEN_TYPES</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="n">TokenType</span><span class="p">)</span>
</span></pre></div>
</section>
- <section id="TokenType">
- <input id="TokenType-view-source" class="view-source-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
-<div class="attr class">
-
- <span class="def">class</span>
- <span class="name">TokenType</span><wbr>(<span class="base"><a href="helper.html#AutoName">sqlglot.helper.AutoName</a></span>):
-
- <label class="view-source-button" for="TokenType-view-source"><span>View Source</span></label>
-
- </div>
- <a class="headerlink" href="#TokenType"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="TokenType-15"><a href="#TokenType-15"><span class="linenos"> 15</span></a><span class="k">class</span> <span class="nc">TokenType</span><span class="p">(</span><span class="n">AutoName</span><span class="p">):</span>
-</span><span id="TokenType-16"><a href="#TokenType-16"><span class="linenos"> 16</span></a> <span class="n">L_PAREN</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-17"><a href="#TokenType-17"><span class="linenos"> 17</span></a> <span class="n">R_PAREN</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-18"><a href="#TokenType-18"><span class="linenos"> 18</span></a> <span class="n">L_BRACKET</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-19"><a href="#TokenType-19"><span class="linenos"> 19</span></a> <span class="n">R_BRACKET</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-20"><a href="#TokenType-20"><span class="linenos"> 20</span></a> <span class="n">L_BRACE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-21"><a href="#TokenType-21"><span class="linenos"> 21</span></a> <span class="n">R_BRACE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-22"><a href="#TokenType-22"><span class="linenos"> 22</span></a> <span class="n">COMMA</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-23"><a href="#TokenType-23"><span class="linenos"> 23</span></a> <span class="n">DOT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-24"><a href="#TokenType-24"><span class="linenos"> 24</span></a> <span class="n">DASH</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-25"><a href="#TokenType-25"><span class="linenos"> 25</span></a> <span class="n">PLUS</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-26"><a href="#TokenType-26"><span class="linenos"> 26</span></a> <span class="n">COLON</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-27"><a href="#TokenType-27"><span class="linenos"> 27</span></a> <span class="n">DCOLON</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-28"><a href="#TokenType-28"><span class="linenos"> 28</span></a> <span class="n">DQMARK</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-29"><a href="#TokenType-29"><span class="linenos"> 29</span></a> <span class="n">SEMICOLON</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-30"><a href="#TokenType-30"><span class="linenos"> 30</span></a> <span class="n">STAR</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-31"><a href="#TokenType-31"><span class="linenos"> 31</span></a> <span class="n">BACKSLASH</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-32"><a href="#TokenType-32"><span class="linenos"> 32</span></a> <span class="n">SLASH</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-33"><a href="#TokenType-33"><span class="linenos"> 33</span></a> <span class="n">LT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-34"><a href="#TokenType-34"><span class="linenos"> 34</span></a> <span class="n">LTE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-35"><a href="#TokenType-35"><span class="linenos"> 35</span></a> <span class="n">GT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-36"><a href="#TokenType-36"><span class="linenos"> 36</span></a> <span class="n">GTE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-37"><a href="#TokenType-37"><span class="linenos"> 37</span></a> <span class="n">NOT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-38"><a href="#TokenType-38"><span class="linenos"> 38</span></a> <span class="n">EQ</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-39"><a href="#TokenType-39"><span class="linenos"> 39</span></a> <span class="n">NEQ</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-40"><a href="#TokenType-40"><span class="linenos"> 40</span></a> <span class="n">NULLSAFE_EQ</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-41"><a href="#TokenType-41"><span class="linenos"> 41</span></a> <span class="n">COLON_EQ</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-42"><a href="#TokenType-42"><span class="linenos"> 42</span></a> <span class="n">AND</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-43"><a href="#TokenType-43"><span class="linenos"> 43</span></a> <span class="n">OR</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-44"><a href="#TokenType-44"><span class="linenos"> 44</span></a> <span class="n">AMP</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-45"><a href="#TokenType-45"><span class="linenos"> 45</span></a> <span class="n">DPIPE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-46"><a href="#TokenType-46"><span class="linenos"> 46</span></a> <span class="n">PIPE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-47"><a href="#TokenType-47"><span class="linenos"> 47</span></a> <span class="n">CARET</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-48"><a href="#TokenType-48"><span class="linenos"> 48</span></a> <span class="n">TILDA</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-49"><a href="#TokenType-49"><span class="linenos"> 49</span></a> <span class="n">ARROW</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-50"><a href="#TokenType-50"><span class="linenos"> 50</span></a> <span class="n">DARROW</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-51"><a href="#TokenType-51"><span class="linenos"> 51</span></a> <span class="n">FARROW</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-52"><a href="#TokenType-52"><span class="linenos"> 52</span></a> <span class="n">HASH</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-53"><a href="#TokenType-53"><span class="linenos"> 53</span></a> <span class="n">HASH_ARROW</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-54"><a href="#TokenType-54"><span class="linenos"> 54</span></a> <span class="n">DHASH_ARROW</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-55"><a href="#TokenType-55"><span class="linenos"> 55</span></a> <span class="n">LR_ARROW</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-56"><a href="#TokenType-56"><span class="linenos"> 56</span></a> <span class="n">DAT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-57"><a href="#TokenType-57"><span class="linenos"> 57</span></a> <span class="n">LT_AT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-58"><a href="#TokenType-58"><span class="linenos"> 58</span></a> <span class="n">AT_GT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-59"><a href="#TokenType-59"><span class="linenos"> 59</span></a> <span class="n">DOLLAR</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-60"><a href="#TokenType-60"><span class="linenos"> 60</span></a> <span class="n">PARAMETER</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-61"><a href="#TokenType-61"><span class="linenos"> 61</span></a> <span class="n">SESSION_PARAMETER</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-62"><a href="#TokenType-62"><span class="linenos"> 62</span></a> <span class="n">DAMP</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-63"><a href="#TokenType-63"><span class="linenos"> 63</span></a> <span class="n">XOR</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-64"><a href="#TokenType-64"><span class="linenos"> 64</span></a> <span class="n">DSTAR</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-65"><a href="#TokenType-65"><span class="linenos"> 65</span></a>
-</span><span id="TokenType-66"><a href="#TokenType-66"><span class="linenos"> 66</span></a> <span class="n">BLOCK_START</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-67"><a href="#TokenType-67"><span class="linenos"> 67</span></a> <span class="n">BLOCK_END</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-68"><a href="#TokenType-68"><span class="linenos"> 68</span></a>
-</span><span id="TokenType-69"><a href="#TokenType-69"><span class="linenos"> 69</span></a> <span class="n">SPACE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-70"><a href="#TokenType-70"><span class="linenos"> 70</span></a> <span class="n">BREAK</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-71"><a href="#TokenType-71"><span class="linenos"> 71</span></a>
-</span><span id="TokenType-72"><a href="#TokenType-72"><span class="linenos"> 72</span></a> <span class="n">STRING</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-73"><a href="#TokenType-73"><span class="linenos"> 73</span></a> <span class="n">NUMBER</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-74"><a href="#TokenType-74"><span class="linenos"> 74</span></a> <span class="n">IDENTIFIER</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-75"><a href="#TokenType-75"><span class="linenos"> 75</span></a> <span class="n">DATABASE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-76"><a href="#TokenType-76"><span class="linenos"> 76</span></a> <span class="n">COLUMN</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-77"><a href="#TokenType-77"><span class="linenos"> 77</span></a> <span class="n">COLUMN_DEF</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-78"><a href="#TokenType-78"><span class="linenos"> 78</span></a> <span class="n">SCHEMA</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-79"><a href="#TokenType-79"><span class="linenos"> 79</span></a> <span class="n">TABLE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-80"><a href="#TokenType-80"><span class="linenos"> 80</span></a> <span class="n">VAR</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-81"><a href="#TokenType-81"><span class="linenos"> 81</span></a> <span class="n">BIT_STRING</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-82"><a href="#TokenType-82"><span class="linenos"> 82</span></a> <span class="n">HEX_STRING</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-83"><a href="#TokenType-83"><span class="linenos"> 83</span></a> <span class="n">BYTE_STRING</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-84"><a href="#TokenType-84"><span class="linenos"> 84</span></a> <span class="n">NATIONAL_STRING</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-85"><a href="#TokenType-85"><span class="linenos"> 85</span></a> <span class="n">RAW_STRING</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-86"><a href="#TokenType-86"><span class="linenos"> 86</span></a> <span class="n">HEREDOC_STRING</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-87"><a href="#TokenType-87"><span class="linenos"> 87</span></a>
-</span><span id="TokenType-88"><a href="#TokenType-88"><span class="linenos"> 88</span></a> <span class="c1"># types</span>
-</span><span id="TokenType-89"><a href="#TokenType-89"><span class="linenos"> 89</span></a> <span class="n">BIT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-90"><a href="#TokenType-90"><span class="linenos"> 90</span></a> <span class="n">BOOLEAN</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-91"><a href="#TokenType-91"><span class="linenos"> 91</span></a> <span class="n">TINYINT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-92"><a href="#TokenType-92"><span class="linenos"> 92</span></a> <span class="n">UTINYINT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-93"><a href="#TokenType-93"><span class="linenos"> 93</span></a> <span class="n">SMALLINT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-94"><a href="#TokenType-94"><span class="linenos"> 94</span></a> <span class="n">USMALLINT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-95"><a href="#TokenType-95"><span class="linenos"> 95</span></a> <span class="n">MEDIUMINT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-96"><a href="#TokenType-96"><span class="linenos"> 96</span></a> <span class="n">UMEDIUMINT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-97"><a href="#TokenType-97"><span class="linenos"> 97</span></a> <span class="n">INT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-98"><a href="#TokenType-98"><span class="linenos"> 98</span></a> <span class="n">UINT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-99"><a href="#TokenType-99"><span class="linenos"> 99</span></a> <span class="n">BIGINT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-100"><a href="#TokenType-100"><span class="linenos">100</span></a> <span class="n">UBIGINT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-101"><a href="#TokenType-101"><span class="linenos">101</span></a> <span class="n">INT128</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-102"><a href="#TokenType-102"><span class="linenos">102</span></a> <span class="n">UINT128</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-103"><a href="#TokenType-103"><span class="linenos">103</span></a> <span class="n">INT256</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-104"><a href="#TokenType-104"><span class="linenos">104</span></a> <span class="n">UINT256</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-105"><a href="#TokenType-105"><span class="linenos">105</span></a> <span class="n">FLOAT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-106"><a href="#TokenType-106"><span class="linenos">106</span></a> <span class="n">DOUBLE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-107"><a href="#TokenType-107"><span class="linenos">107</span></a> <span class="n">DECIMAL</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-108"><a href="#TokenType-108"><span class="linenos">108</span></a> <span class="n">UDECIMAL</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-109"><a href="#TokenType-109"><span class="linenos">109</span></a> <span class="n">BIGDECIMAL</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-110"><a href="#TokenType-110"><span class="linenos">110</span></a> <span class="n">CHAR</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-111"><a href="#TokenType-111"><span class="linenos">111</span></a> <span class="n">NCHAR</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-112"><a href="#TokenType-112"><span class="linenos">112</span></a> <span class="n">VARCHAR</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-113"><a href="#TokenType-113"><span class="linenos">113</span></a> <span class="n">NVARCHAR</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-114"><a href="#TokenType-114"><span class="linenos">114</span></a> <span class="n">TEXT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-115"><a href="#TokenType-115"><span class="linenos">115</span></a> <span class="n">MEDIUMTEXT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-116"><a href="#TokenType-116"><span class="linenos">116</span></a> <span class="n">LONGTEXT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-117"><a href="#TokenType-117"><span class="linenos">117</span></a> <span class="n">MEDIUMBLOB</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-118"><a href="#TokenType-118"><span class="linenos">118</span></a> <span class="n">LONGBLOB</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-119"><a href="#TokenType-119"><span class="linenos">119</span></a> <span class="n">TINYBLOB</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-120"><a href="#TokenType-120"><span class="linenos">120</span></a> <span class="n">TINYTEXT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-121"><a href="#TokenType-121"><span class="linenos">121</span></a> <span class="n">BINARY</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-122"><a href="#TokenType-122"><span class="linenos">122</span></a> <span class="n">VARBINARY</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-123"><a href="#TokenType-123"><span class="linenos">123</span></a> <span class="n">JSON</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-124"><a href="#TokenType-124"><span class="linenos">124</span></a> <span class="n">JSONB</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-125"><a href="#TokenType-125"><span class="linenos">125</span></a> <span class="n">TIME</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-126"><a href="#TokenType-126"><span class="linenos">126</span></a> <span class="n">TIMETZ</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-127"><a href="#TokenType-127"><span class="linenos">127</span></a> <span class="n">TIMESTAMP</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-128"><a href="#TokenType-128"><span class="linenos">128</span></a> <span class="n">TIMESTAMPTZ</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-129"><a href="#TokenType-129"><span class="linenos">129</span></a> <span class="n">TIMESTAMPLTZ</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-130"><a href="#TokenType-130"><span class="linenos">130</span></a> <span class="n">TIMESTAMP_S</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-131"><a href="#TokenType-131"><span class="linenos">131</span></a> <span class="n">TIMESTAMP_MS</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-132"><a href="#TokenType-132"><span class="linenos">132</span></a> <span class="n">TIMESTAMP_NS</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-133"><a href="#TokenType-133"><span class="linenos">133</span></a> <span class="n">DATETIME</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-134"><a href="#TokenType-134"><span class="linenos">134</span></a> <span class="n">DATETIME64</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-135"><a href="#TokenType-135"><span class="linenos">135</span></a> <span class="n">DATE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-136"><a href="#TokenType-136"><span class="linenos">136</span></a> <span class="n">INT4RANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-137"><a href="#TokenType-137"><span class="linenos">137</span></a> <span class="n">INT4MULTIRANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-138"><a href="#TokenType-138"><span class="linenos">138</span></a> <span class="n">INT8RANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-139"><a href="#TokenType-139"><span class="linenos">139</span></a> <span class="n">INT8MULTIRANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-140"><a href="#TokenType-140"><span class="linenos">140</span></a> <span class="n">NUMRANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-141"><a href="#TokenType-141"><span class="linenos">141</span></a> <span class="n">NUMMULTIRANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-142"><a href="#TokenType-142"><span class="linenos">142</span></a> <span class="n">TSRANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-143"><a href="#TokenType-143"><span class="linenos">143</span></a> <span class="n">TSMULTIRANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-144"><a href="#TokenType-144"><span class="linenos">144</span></a> <span class="n">TSTZRANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-145"><a href="#TokenType-145"><span class="linenos">145</span></a> <span class="n">TSTZMULTIRANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-146"><a href="#TokenType-146"><span class="linenos">146</span></a> <span class="n">DATERANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-147"><a href="#TokenType-147"><span class="linenos">147</span></a> <span class="n">DATEMULTIRANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-148"><a href="#TokenType-148"><span class="linenos">148</span></a> <span class="n">UUID</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-149"><a href="#TokenType-149"><span class="linenos">149</span></a> <span class="n">GEOGRAPHY</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-150"><a href="#TokenType-150"><span class="linenos">150</span></a> <span class="n">NULLABLE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-151"><a href="#TokenType-151"><span class="linenos">151</span></a> <span class="n">GEOMETRY</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-152"><a href="#TokenType-152"><span class="linenos">152</span></a> <span class="n">HLLSKETCH</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-153"><a href="#TokenType-153"><span class="linenos">153</span></a> <span class="n">HSTORE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-154"><a href="#TokenType-154"><span class="linenos">154</span></a> <span class="n">SUPER</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-155"><a href="#TokenType-155"><span class="linenos">155</span></a> <span class="n">SERIAL</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-156"><a href="#TokenType-156"><span class="linenos">156</span></a> <span class="n">SMALLSERIAL</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-157"><a href="#TokenType-157"><span class="linenos">157</span></a> <span class="n">BIGSERIAL</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-158"><a href="#TokenType-158"><span class="linenos">158</span></a> <span class="n">XML</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-159"><a href="#TokenType-159"><span class="linenos">159</span></a> <span class="n">YEAR</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-160"><a href="#TokenType-160"><span class="linenos">160</span></a> <span class="n">UNIQUEIDENTIFIER</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-161"><a href="#TokenType-161"><span class="linenos">161</span></a> <span class="n">USERDEFINED</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-162"><a href="#TokenType-162"><span class="linenos">162</span></a> <span class="n">MONEY</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-163"><a href="#TokenType-163"><span class="linenos">163</span></a> <span class="n">SMALLMONEY</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-164"><a href="#TokenType-164"><span class="linenos">164</span></a> <span class="n">ROWVERSION</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-165"><a href="#TokenType-165"><span class="linenos">165</span></a> <span class="n">IMAGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-166"><a href="#TokenType-166"><span class="linenos">166</span></a> <span class="n">VARIANT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-167"><a href="#TokenType-167"><span class="linenos">167</span></a> <span class="n">OBJECT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-168"><a href="#TokenType-168"><span class="linenos">168</span></a> <span class="n">INET</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-169"><a href="#TokenType-169"><span class="linenos">169</span></a> <span class="n">IPADDRESS</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-170"><a href="#TokenType-170"><span class="linenos">170</span></a> <span class="n">IPPREFIX</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-171"><a href="#TokenType-171"><span class="linenos">171</span></a> <span class="n">ENUM</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-172"><a href="#TokenType-172"><span class="linenos">172</span></a> <span class="n">ENUM8</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-173"><a href="#TokenType-173"><span class="linenos">173</span></a> <span class="n">ENUM16</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-174"><a href="#TokenType-174"><span class="linenos">174</span></a> <span class="n">FIXEDSTRING</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-175"><a href="#TokenType-175"><span class="linenos">175</span></a> <span class="n">LOWCARDINALITY</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-176"><a href="#TokenType-176"><span class="linenos">176</span></a> <span class="n">NESTED</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-177"><a href="#TokenType-177"><span class="linenos">177</span></a> <span class="n">UNKNOWN</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-178"><a href="#TokenType-178"><span class="linenos">178</span></a>
-</span><span id="TokenType-179"><a href="#TokenType-179"><span class="linenos">179</span></a> <span class="c1"># keywords</span>
-</span><span id="TokenType-180"><a href="#TokenType-180"><span class="linenos">180</span></a> <span class="n">ALIAS</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-181"><a href="#TokenType-181"><span class="linenos">181</span></a> <span class="n">ALTER</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-182"><a href="#TokenType-182"><span class="linenos">182</span></a> <span class="n">ALWAYS</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-183"><a href="#TokenType-183"><span class="linenos">183</span></a> <span class="n">ALL</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-184"><a href="#TokenType-184"><span class="linenos">184</span></a> <span class="n">ANTI</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-185"><a href="#TokenType-185"><span class="linenos">185</span></a> <span class="n">ANY</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-186"><a href="#TokenType-186"><span class="linenos">186</span></a> <span class="n">APPLY</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-187"><a href="#TokenType-187"><span class="linenos">187</span></a> <span class="n">ARRAY</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-188"><a href="#TokenType-188"><span class="linenos">188</span></a> <span class="n">ASC</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-189"><a href="#TokenType-189"><span class="linenos">189</span></a> <span class="n">ASOF</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-190"><a href="#TokenType-190"><span class="linenos">190</span></a> <span class="n">AUTO_INCREMENT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-191"><a href="#TokenType-191"><span class="linenos">191</span></a> <span class="n">BEGIN</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-192"><a href="#TokenType-192"><span class="linenos">192</span></a> <span class="n">BETWEEN</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-193"><a href="#TokenType-193"><span class="linenos">193</span></a> <span class="n">CACHE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-194"><a href="#TokenType-194"><span class="linenos">194</span></a> <span class="n">CASE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-195"><a href="#TokenType-195"><span class="linenos">195</span></a> <span class="n">CHARACTER_SET</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-196"><a href="#TokenType-196"><span class="linenos">196</span></a> <span class="n">CLUSTER_BY</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-197"><a href="#TokenType-197"><span class="linenos">197</span></a> <span class="n">COLLATE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-198"><a href="#TokenType-198"><span class="linenos">198</span></a> <span class="n">COMMAND</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-199"><a href="#TokenType-199"><span class="linenos">199</span></a> <span class="n">COMMENT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-200"><a href="#TokenType-200"><span class="linenos">200</span></a> <span class="n">COMMIT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-201"><a href="#TokenType-201"><span class="linenos">201</span></a> <span class="n">CONNECT_BY</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-202"><a href="#TokenType-202"><span class="linenos">202</span></a> <span class="n">CONSTRAINT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-203"><a href="#TokenType-203"><span class="linenos">203</span></a> <span class="n">CREATE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-204"><a href="#TokenType-204"><span class="linenos">204</span></a> <span class="n">CROSS</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-205"><a href="#TokenType-205"><span class="linenos">205</span></a> <span class="n">CUBE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-206"><a href="#TokenType-206"><span class="linenos">206</span></a> <span class="n">CURRENT_DATE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-207"><a href="#TokenType-207"><span class="linenos">207</span></a> <span class="n">CURRENT_DATETIME</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-208"><a href="#TokenType-208"><span class="linenos">208</span></a> <span class="n">CURRENT_TIME</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-209"><a href="#TokenType-209"><span class="linenos">209</span></a> <span class="n">CURRENT_TIMESTAMP</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-210"><a href="#TokenType-210"><span class="linenos">210</span></a> <span class="n">CURRENT_USER</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-211"><a href="#TokenType-211"><span class="linenos">211</span></a> <span class="n">DEFAULT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-212"><a href="#TokenType-212"><span class="linenos">212</span></a> <span class="n">DELETE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-213"><a href="#TokenType-213"><span class="linenos">213</span></a> <span class="n">DESC</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-214"><a href="#TokenType-214"><span class="linenos">214</span></a> <span class="n">DESCRIBE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-215"><a href="#TokenType-215"><span class="linenos">215</span></a> <span class="n">DICTIONARY</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-216"><a href="#TokenType-216"><span class="linenos">216</span></a> <span class="n">DISTINCT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-217"><a href="#TokenType-217"><span class="linenos">217</span></a> <span class="n">DISTRIBUTE_BY</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-218"><a href="#TokenType-218"><span class="linenos">218</span></a> <span class="n">DIV</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-219"><a href="#TokenType-219"><span class="linenos">219</span></a> <span class="n">DROP</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-220"><a href="#TokenType-220"><span class="linenos">220</span></a> <span class="n">ELSE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-221"><a href="#TokenType-221"><span class="linenos">221</span></a> <span class="n">END</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-222"><a href="#TokenType-222"><span class="linenos">222</span></a> <span class="n">ESCAPE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-223"><a href="#TokenType-223"><span class="linenos">223</span></a> <span class="n">EXCEPT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-224"><a href="#TokenType-224"><span class="linenos">224</span></a> <span class="n">EXECUTE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-225"><a href="#TokenType-225"><span class="linenos">225</span></a> <span class="n">EXISTS</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-226"><a href="#TokenType-226"><span class="linenos">226</span></a> <span class="n">FALSE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-227"><a href="#TokenType-227"><span class="linenos">227</span></a> <span class="n">FETCH</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-228"><a href="#TokenType-228"><span class="linenos">228</span></a> <span class="n">FILTER</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-229"><a href="#TokenType-229"><span class="linenos">229</span></a> <span class="n">FINAL</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-230"><a href="#TokenType-230"><span class="linenos">230</span></a> <span class="n">FIRST</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-231"><a href="#TokenType-231"><span class="linenos">231</span></a> <span class="n">FOR</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-232"><a href="#TokenType-232"><span class="linenos">232</span></a> <span class="n">FORCE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-233"><a href="#TokenType-233"><span class="linenos">233</span></a> <span class="n">FOREIGN_KEY</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-234"><a href="#TokenType-234"><span class="linenos">234</span></a> <span class="n">FORMAT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-235"><a href="#TokenType-235"><span class="linenos">235</span></a> <span class="n">FROM</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-236"><a href="#TokenType-236"><span class="linenos">236</span></a> <span class="n">FULL</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-237"><a href="#TokenType-237"><span class="linenos">237</span></a> <span class="n">FUNCTION</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-238"><a href="#TokenType-238"><span class="linenos">238</span></a> <span class="n">GLOB</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-239"><a href="#TokenType-239"><span class="linenos">239</span></a> <span class="n">GLOBAL</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-240"><a href="#TokenType-240"><span class="linenos">240</span></a> <span class="n">GROUP_BY</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-241"><a href="#TokenType-241"><span class="linenos">241</span></a> <span class="n">GROUPING_SETS</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-242"><a href="#TokenType-242"><span class="linenos">242</span></a> <span class="n">HAVING</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-243"><a href="#TokenType-243"><span class="linenos">243</span></a> <span class="n">HINT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-244"><a href="#TokenType-244"><span class="linenos">244</span></a> <span class="n">IGNORE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-245"><a href="#TokenType-245"><span class="linenos">245</span></a> <span class="n">ILIKE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-246"><a href="#TokenType-246"><span class="linenos">246</span></a> <span class="n">ILIKE_ANY</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-247"><a href="#TokenType-247"><span class="linenos">247</span></a> <span class="n">IN</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-248"><a href="#TokenType-248"><span class="linenos">248</span></a> <span class="n">INDEX</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-249"><a href="#TokenType-249"><span class="linenos">249</span></a> <span class="n">INNER</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-250"><a href="#TokenType-250"><span class="linenos">250</span></a> <span class="n">INSERT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-251"><a href="#TokenType-251"><span class="linenos">251</span></a> <span class="n">INTERSECT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-252"><a href="#TokenType-252"><span class="linenos">252</span></a> <span class="n">INTERVAL</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-253"><a href="#TokenType-253"><span class="linenos">253</span></a> <span class="n">INTO</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-254"><a href="#TokenType-254"><span class="linenos">254</span></a> <span class="n">INTRODUCER</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-255"><a href="#TokenType-255"><span class="linenos">255</span></a> <span class="n">IRLIKE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-256"><a href="#TokenType-256"><span class="linenos">256</span></a> <span class="n">IS</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-257"><a href="#TokenType-257"><span class="linenos">257</span></a> <span class="n">ISNULL</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-258"><a href="#TokenType-258"><span class="linenos">258</span></a> <span class="n">JOIN</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-259"><a href="#TokenType-259"><span class="linenos">259</span></a> <span class="n">JOIN_MARKER</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-260"><a href="#TokenType-260"><span class="linenos">260</span></a> <span class="n">KEEP</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-261"><a href="#TokenType-261"><span class="linenos">261</span></a> <span class="n">KILL</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-262"><a href="#TokenType-262"><span class="linenos">262</span></a> <span class="n">LANGUAGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-263"><a href="#TokenType-263"><span class="linenos">263</span></a> <span class="n">LATERAL</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-264"><a href="#TokenType-264"><span class="linenos">264</span></a> <span class="n">LEFT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-265"><a href="#TokenType-265"><span class="linenos">265</span></a> <span class="n">LIKE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-266"><a href="#TokenType-266"><span class="linenos">266</span></a> <span class="n">LIKE_ANY</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-267"><a href="#TokenType-267"><span class="linenos">267</span></a> <span class="n">LIMIT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-268"><a href="#TokenType-268"><span class="linenos">268</span></a> <span class="n">LOAD</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-269"><a href="#TokenType-269"><span class="linenos">269</span></a> <span class="n">LOCK</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-270"><a href="#TokenType-270"><span class="linenos">270</span></a> <span class="n">MAP</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-271"><a href="#TokenType-271"><span class="linenos">271</span></a> <span class="n">MATCH_RECOGNIZE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-272"><a href="#TokenType-272"><span class="linenos">272</span></a> <span class="n">MEMBER_OF</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-273"><a href="#TokenType-273"><span class="linenos">273</span></a> <span class="n">MERGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-274"><a href="#TokenType-274"><span class="linenos">274</span></a> <span class="n">MOD</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-275"><a href="#TokenType-275"><span class="linenos">275</span></a> <span class="n">MODEL</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-276"><a href="#TokenType-276"><span class="linenos">276</span></a> <span class="n">NATURAL</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-277"><a href="#TokenType-277"><span class="linenos">277</span></a> <span class="n">NEXT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-278"><a href="#TokenType-278"><span class="linenos">278</span></a> <span class="n">NOTNULL</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-279"><a href="#TokenType-279"><span class="linenos">279</span></a> <span class="n">NULL</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-280"><a href="#TokenType-280"><span class="linenos">280</span></a> <span class="n">OBJECT_IDENTIFIER</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-281"><a href="#TokenType-281"><span class="linenos">281</span></a> <span class="n">OFFSET</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-282"><a href="#TokenType-282"><span class="linenos">282</span></a> <span class="n">ON</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-283"><a href="#TokenType-283"><span class="linenos">283</span></a> <span class="n">OPERATOR</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-284"><a href="#TokenType-284"><span class="linenos">284</span></a> <span class="n">ORDER_BY</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-285"><a href="#TokenType-285"><span class="linenos">285</span></a> <span class="n">ORDERED</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-286"><a href="#TokenType-286"><span class="linenos">286</span></a> <span class="n">ORDINALITY</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-287"><a href="#TokenType-287"><span class="linenos">287</span></a> <span class="n">OUTER</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-288"><a href="#TokenType-288"><span class="linenos">288</span></a> <span class="n">OVER</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-289"><a href="#TokenType-289"><span class="linenos">289</span></a> <span class="n">OVERLAPS</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-290"><a href="#TokenType-290"><span class="linenos">290</span></a> <span class="n">OVERWRITE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-291"><a href="#TokenType-291"><span class="linenos">291</span></a> <span class="n">PARTITION</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-292"><a href="#TokenType-292"><span class="linenos">292</span></a> <span class="n">PARTITION_BY</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-293"><a href="#TokenType-293"><span class="linenos">293</span></a> <span class="n">PERCENT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-294"><a href="#TokenType-294"><span class="linenos">294</span></a> <span class="n">PIVOT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-295"><a href="#TokenType-295"><span class="linenos">295</span></a> <span class="n">PLACEHOLDER</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-296"><a href="#TokenType-296"><span class="linenos">296</span></a> <span class="n">PRAGMA</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-297"><a href="#TokenType-297"><span class="linenos">297</span></a> <span class="n">PRIMARY_KEY</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-298"><a href="#TokenType-298"><span class="linenos">298</span></a> <span class="n">PROCEDURE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-299"><a href="#TokenType-299"><span class="linenos">299</span></a> <span class="n">PROPERTIES</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-300"><a href="#TokenType-300"><span class="linenos">300</span></a> <span class="n">PSEUDO_TYPE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-301"><a href="#TokenType-301"><span class="linenos">301</span></a> <span class="n">QUALIFY</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-302"><a href="#TokenType-302"><span class="linenos">302</span></a> <span class="n">QUOTE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-303"><a href="#TokenType-303"><span class="linenos">303</span></a> <span class="n">RANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-304"><a href="#TokenType-304"><span class="linenos">304</span></a> <span class="n">RECURSIVE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-305"><a href="#TokenType-305"><span class="linenos">305</span></a> <span class="n">REFRESH</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-306"><a href="#TokenType-306"><span class="linenos">306</span></a> <span class="n">REPLACE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-307"><a href="#TokenType-307"><span class="linenos">307</span></a> <span class="n">RETURNING</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-308"><a href="#TokenType-308"><span class="linenos">308</span></a> <span class="n">REFERENCES</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-309"><a href="#TokenType-309"><span class="linenos">309</span></a> <span class="n">RIGHT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-310"><a href="#TokenType-310"><span class="linenos">310</span></a> <span class="n">RLIKE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-311"><a href="#TokenType-311"><span class="linenos">311</span></a> <span class="n">ROLLBACK</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-312"><a href="#TokenType-312"><span class="linenos">312</span></a> <span class="n">ROLLUP</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-313"><a href="#TokenType-313"><span class="linenos">313</span></a> <span class="n">ROW</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-314"><a href="#TokenType-314"><span class="linenos">314</span></a> <span class="n">ROWS</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-315"><a href="#TokenType-315"><span class="linenos">315</span></a> <span class="n">SELECT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-316"><a href="#TokenType-316"><span class="linenos">316</span></a> <span class="n">SEMI</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-317"><a href="#TokenType-317"><span class="linenos">317</span></a> <span class="n">SEPARATOR</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-318"><a href="#TokenType-318"><span class="linenos">318</span></a> <span class="n">SERDE_PROPERTIES</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-319"><a href="#TokenType-319"><span class="linenos">319</span></a> <span class="n">SET</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-320"><a href="#TokenType-320"><span class="linenos">320</span></a> <span class="n">SETTINGS</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-321"><a href="#TokenType-321"><span class="linenos">321</span></a> <span class="n">SHOW</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-322"><a href="#TokenType-322"><span class="linenos">322</span></a> <span class="n">SIMILAR_TO</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-323"><a href="#TokenType-323"><span class="linenos">323</span></a> <span class="n">SOME</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-324"><a href="#TokenType-324"><span class="linenos">324</span></a> <span class="n">SORT_BY</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-325"><a href="#TokenType-325"><span class="linenos">325</span></a> <span class="n">START_WITH</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-326"><a href="#TokenType-326"><span class="linenos">326</span></a> <span class="n">STRUCT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-327"><a href="#TokenType-327"><span class="linenos">327</span></a> <span class="n">TABLE_SAMPLE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-328"><a href="#TokenType-328"><span class="linenos">328</span></a> <span class="n">TEMPORARY</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-329"><a href="#TokenType-329"><span class="linenos">329</span></a> <span class="n">TOP</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-330"><a href="#TokenType-330"><span class="linenos">330</span></a> <span class="n">THEN</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-331"><a href="#TokenType-331"><span class="linenos">331</span></a> <span class="n">TRUE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-332"><a href="#TokenType-332"><span class="linenos">332</span></a> <span class="n">UNCACHE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-333"><a href="#TokenType-333"><span class="linenos">333</span></a> <span class="n">UNION</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-334"><a href="#TokenType-334"><span class="linenos">334</span></a> <span class="n">UNNEST</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-335"><a href="#TokenType-335"><span class="linenos">335</span></a> <span class="n">UNPIVOT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-336"><a href="#TokenType-336"><span class="linenos">336</span></a> <span class="n">UPDATE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-337"><a href="#TokenType-337"><span class="linenos">337</span></a> <span class="n">USE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-338"><a href="#TokenType-338"><span class="linenos">338</span></a> <span class="n">USING</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-339"><a href="#TokenType-339"><span class="linenos">339</span></a> <span class="n">VALUES</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-340"><a href="#TokenType-340"><span class="linenos">340</span></a> <span class="n">VIEW</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-341"><a href="#TokenType-341"><span class="linenos">341</span></a> <span class="n">VOLATILE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-342"><a href="#TokenType-342"><span class="linenos">342</span></a> <span class="n">WHEN</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-343"><a href="#TokenType-343"><span class="linenos">343</span></a> <span class="n">WHERE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-344"><a href="#TokenType-344"><span class="linenos">344</span></a> <span class="n">WINDOW</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-345"><a href="#TokenType-345"><span class="linenos">345</span></a> <span class="n">WITH</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-346"><a href="#TokenType-346"><span class="linenos">346</span></a> <span class="n">UNIQUE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-347"><a href="#TokenType-347"><span class="linenos">347</span></a> <span class="n">VERSION_SNAPSHOT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="TokenType-348"><a href="#TokenType-348"><span class="linenos">348</span></a> <span class="n">TIMESTAMP_SNAPSHOT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span></pre></div>
-
-
- <div class="docstring"><p>An enumeration.</p>
-</div>
-
-
- <div id="TokenType.L_PAREN" class="classattr">
- <div class="attr variable">
- <span class="name">L_PAREN</span> =
-<span class="default_value">&lt;<a href="#TokenType.L_PAREN">TokenType.L_PAREN</a>: &#39;L_PAREN&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.L_PAREN"></a>
-
-
-
- </div>
- <div id="TokenType.R_PAREN" class="classattr">
- <div class="attr variable">
- <span class="name">R_PAREN</span> =
-<span class="default_value">&lt;<a href="#TokenType.R_PAREN">TokenType.R_PAREN</a>: &#39;R_PAREN&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.R_PAREN"></a>
-
-
-
- </div>
- <div id="TokenType.L_BRACKET" class="classattr">
- <div class="attr variable">
- <span class="name">L_BRACKET</span> =
-<span class="default_value">&lt;<a href="#TokenType.L_BRACKET">TokenType.L_BRACKET</a>: &#39;L_BRACKET&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.L_BRACKET"></a>
-
-
-
- </div>
- <div id="TokenType.R_BRACKET" class="classattr">
- <div class="attr variable">
- <span class="name">R_BRACKET</span> =
-<span class="default_value">&lt;<a href="#TokenType.R_BRACKET">TokenType.R_BRACKET</a>: &#39;R_BRACKET&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.R_BRACKET"></a>
-
-
-
- </div>
- <div id="TokenType.L_BRACE" class="classattr">
- <div class="attr variable">
- <span class="name">L_BRACE</span> =
-<span class="default_value">&lt;<a href="#TokenType.L_BRACE">TokenType.L_BRACE</a>: &#39;L_BRACE&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.L_BRACE"></a>
-
-
-
- </div>
- <div id="TokenType.R_BRACE" class="classattr">
- <div class="attr variable">
- <span class="name">R_BRACE</span> =
-<span class="default_value">&lt;<a href="#TokenType.R_BRACE">TokenType.R_BRACE</a>: &#39;R_BRACE&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.R_BRACE"></a>
-
-
-
- </div>
- <div id="TokenType.COMMA" class="classattr">
- <div class="attr variable">
- <span class="name">COMMA</span> =
-<span class="default_value">&lt;<a href="#TokenType.COMMA">TokenType.COMMA</a>: &#39;COMMA&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.COMMA"></a>
-
-
-
- </div>
- <div id="TokenType.DOT" class="classattr">
- <div class="attr variable">
- <span class="name">DOT</span> =
-<span class="default_value">&lt;<a href="#TokenType.DOT">TokenType.DOT</a>: &#39;DOT&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.DOT"></a>
-
-
-
- </div>
- <div id="TokenType.DASH" class="classattr">
- <div class="attr variable">
- <span class="name">DASH</span> =
-<span class="default_value">&lt;<a href="#TokenType.DASH">TokenType.DASH</a>: &#39;DASH&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.DASH"></a>
-
-
-
- </div>
- <div id="TokenType.PLUS" class="classattr">
- <div class="attr variable">
- <span class="name">PLUS</span> =
-<span class="default_value">&lt;<a href="#TokenType.PLUS">TokenType.PLUS</a>: &#39;PLUS&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.PLUS"></a>
-
-
-
- </div>
- <div id="TokenType.COLON" class="classattr">
- <div class="attr variable">
- <span class="name">COLON</span> =
-<span class="default_value">&lt;<a href="#TokenType.COLON">TokenType.COLON</a>: &#39;COLON&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.COLON"></a>
-
-
-
- </div>
- <div id="TokenType.DCOLON" class="classattr">
- <div class="attr variable">
- <span class="name">DCOLON</span> =
-<span class="default_value">&lt;<a href="#TokenType.DCOLON">TokenType.DCOLON</a>: &#39;DCOLON&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.DCOLON"></a>
-
-
-
- </div>
- <div id="TokenType.DQMARK" class="classattr">
- <div class="attr variable">
- <span class="name">DQMARK</span> =
-<span class="default_value">&lt;<a href="#TokenType.DQMARK">TokenType.DQMARK</a>: &#39;DQMARK&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.DQMARK"></a>
-
-
-
- </div>
- <div id="TokenType.SEMICOLON" class="classattr">
- <div class="attr variable">
- <span class="name">SEMICOLON</span> =
-<span class="default_value">&lt;<a href="#TokenType.SEMICOLON">TokenType.SEMICOLON</a>: &#39;SEMICOLON&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.SEMICOLON"></a>
-
-
-
- </div>
- <div id="TokenType.STAR" class="classattr">
- <div class="attr variable">
- <span class="name">STAR</span> =
-<span class="default_value">&lt;<a href="#TokenType.STAR">TokenType.STAR</a>: &#39;STAR&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.STAR"></a>
-
-
-
- </div>
- <div id="TokenType.BACKSLASH" class="classattr">
- <div class="attr variable">
- <span class="name">BACKSLASH</span> =
-<span class="default_value">&lt;<a href="#TokenType.BACKSLASH">TokenType.BACKSLASH</a>: &#39;BACKSLASH&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.BACKSLASH"></a>
-
-
-
- </div>
- <div id="TokenType.SLASH" class="classattr">
- <div class="attr variable">
- <span class="name">SLASH</span> =
-<span class="default_value">&lt;<a href="#TokenType.SLASH">TokenType.SLASH</a>: &#39;SLASH&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.SLASH"></a>
-
-
-
- </div>
- <div id="TokenType.LT" class="classattr">
- <div class="attr variable">
- <span class="name">LT</span> =
-<span class="default_value">&lt;<a href="#TokenType.LT">TokenType.LT</a>: &#39;LT&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.LT"></a>
-
-
-
- </div>
- <div id="TokenType.LTE" class="classattr">
- <div class="attr variable">
- <span class="name">LTE</span> =
-<span class="default_value">&lt;<a href="#TokenType.LTE">TokenType.LTE</a>: &#39;LTE&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.LTE"></a>
-
-
-
- </div>
- <div id="TokenType.GT" class="classattr">
- <div class="attr variable">
- <span class="name">GT</span> =
-<span class="default_value">&lt;<a href="#TokenType.GT">TokenType.GT</a>: &#39;GT&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.GT"></a>
-
-
-
- </div>
- <div id="TokenType.GTE" class="classattr">
- <div class="attr variable">
- <span class="name">GTE</span> =
-<span class="default_value">&lt;<a href="#TokenType.GTE">TokenType.GTE</a>: &#39;GTE&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.GTE"></a>
-
-
-
- </div>
- <div id="TokenType.NOT" class="classattr">
- <div class="attr variable">
- <span class="name">NOT</span> =
-<span class="default_value">&lt;<a href="#TokenType.NOT">TokenType.NOT</a>: &#39;NOT&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.NOT"></a>
-
-
-
- </div>
- <div id="TokenType.EQ" class="classattr">
- <div class="attr variable">
- <span class="name">EQ</span> =
-<span class="default_value">&lt;<a href="#TokenType.EQ">TokenType.EQ</a>: &#39;EQ&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.EQ"></a>
-
-
-
- </div>
- <div id="TokenType.NEQ" class="classattr">
- <div class="attr variable">
- <span class="name">NEQ</span> =
-<span class="default_value">&lt;<a href="#TokenType.NEQ">TokenType.NEQ</a>: &#39;NEQ&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.NEQ"></a>
-
-
-
- </div>
- <div id="TokenType.NULLSAFE_EQ" class="classattr">
- <div class="attr variable">
- <span class="name">NULLSAFE_EQ</span> =
-<span class="default_value">&lt;<a href="#TokenType.NULLSAFE_EQ">TokenType.NULLSAFE_EQ</a>: &#39;NULLSAFE_EQ&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.NULLSAFE_EQ"></a>
-
-
-
- </div>
- <div id="TokenType.COLON_EQ" class="classattr">
- <div class="attr variable">
- <span class="name">COLON_EQ</span> =
-<span class="default_value">&lt;<a href="#TokenType.COLON_EQ">TokenType.COLON_EQ</a>: &#39;COLON_EQ&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.COLON_EQ"></a>
-
-
-
- </div>
- <div id="TokenType.AND" class="classattr">
- <div class="attr variable">
- <span class="name">AND</span> =
-<span class="default_value">&lt;<a href="#TokenType.AND">TokenType.AND</a>: &#39;AND&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.AND"></a>
-
-
-
- </div>
- <div id="TokenType.OR" class="classattr">
- <div class="attr variable">
- <span class="name">OR</span> =
-<span class="default_value">&lt;<a href="#TokenType.OR">TokenType.OR</a>: &#39;OR&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.OR"></a>
-
-
-
- </div>
- <div id="TokenType.AMP" class="classattr">
- <div class="attr variable">
- <span class="name">AMP</span> =
-<span class="default_value">&lt;<a href="#TokenType.AMP">TokenType.AMP</a>: &#39;AMP&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.AMP"></a>
-
-
-
- </div>
- <div id="TokenType.DPIPE" class="classattr">
- <div class="attr variable">
- <span class="name">DPIPE</span> =
-<span class="default_value">&lt;<a href="#TokenType.DPIPE">TokenType.DPIPE</a>: &#39;DPIPE&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.DPIPE"></a>
-
-
-
- </div>
- <div id="TokenType.PIPE" class="classattr">
- <div class="attr variable">
- <span class="name">PIPE</span> =
-<span class="default_value">&lt;<a href="#TokenType.PIPE">TokenType.PIPE</a>: &#39;PIPE&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.PIPE"></a>
-
-
-
- </div>
- <div id="TokenType.CARET" class="classattr">
- <div class="attr variable">
- <span class="name">CARET</span> =
-<span class="default_value">&lt;<a href="#TokenType.CARET">TokenType.CARET</a>: &#39;CARET&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.CARET"></a>
-
-
-
- </div>
- <div id="TokenType.TILDA" class="classattr">
- <div class="attr variable">
- <span class="name">TILDA</span> =
-<span class="default_value">&lt;<a href="#TokenType.TILDA">TokenType.TILDA</a>: &#39;TILDA&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.TILDA"></a>
-
-
-
- </div>
- <div id="TokenType.ARROW" class="classattr">
- <div class="attr variable">
- <span class="name">ARROW</span> =
-<span class="default_value">&lt;<a href="#TokenType.ARROW">TokenType.ARROW</a>: &#39;ARROW&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.ARROW"></a>
-
-
-
- </div>
- <div id="TokenType.DARROW" class="classattr">
- <div class="attr variable">
- <span class="name">DARROW</span> =
-<span class="default_value">&lt;<a href="#TokenType.DARROW">TokenType.DARROW</a>: &#39;DARROW&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.DARROW"></a>
-
-
-
- </div>
- <div id="TokenType.FARROW" class="classattr">
- <div class="attr variable">
- <span class="name">FARROW</span> =
-<span class="default_value">&lt;<a href="#TokenType.FARROW">TokenType.FARROW</a>: &#39;FARROW&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.FARROW"></a>
-
-
-
- </div>
- <div id="TokenType.HASH" class="classattr">
- <div class="attr variable">
- <span class="name">HASH</span> =
-<span class="default_value">&lt;<a href="#TokenType.HASH">TokenType.HASH</a>: &#39;HASH&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.HASH"></a>
-
-
-
- </div>
- <div id="TokenType.HASH_ARROW" class="classattr">
- <div class="attr variable">
- <span class="name">HASH_ARROW</span> =
-<span class="default_value">&lt;<a href="#TokenType.HASH_ARROW">TokenType.HASH_ARROW</a>: &#39;HASH_ARROW&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.HASH_ARROW"></a>
-
-
-
- </div>
- <div id="TokenType.DHASH_ARROW" class="classattr">
- <div class="attr variable">
- <span class="name">DHASH_ARROW</span> =
-<span class="default_value">&lt;<a href="#TokenType.DHASH_ARROW">TokenType.DHASH_ARROW</a>: &#39;DHASH_ARROW&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.DHASH_ARROW"></a>
-
-
-
- </div>
- <div id="TokenType.LR_ARROW" class="classattr">
- <div class="attr variable">
- <span class="name">LR_ARROW</span> =
-<span class="default_value">&lt;<a href="#TokenType.LR_ARROW">TokenType.LR_ARROW</a>: &#39;LR_ARROW&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.LR_ARROW"></a>
-
-
-
- </div>
- <div id="TokenType.DAT" class="classattr">
- <div class="attr variable">
- <span class="name">DAT</span> =
-<span class="default_value">&lt;<a href="#TokenType.DAT">TokenType.DAT</a>: &#39;DAT&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.DAT"></a>
-
-
-
- </div>
- <div id="TokenType.LT_AT" class="classattr">
- <div class="attr variable">
- <span class="name">LT_AT</span> =
-<span class="default_value">&lt;<a href="#TokenType.LT_AT">TokenType.LT_AT</a>: &#39;LT_AT&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.LT_AT"></a>
-
-
-
- </div>
- <div id="TokenType.AT_GT" class="classattr">
- <div class="attr variable">
- <span class="name">AT_GT</span> =
-<span class="default_value">&lt;<a href="#TokenType.AT_GT">TokenType.AT_GT</a>: &#39;AT_GT&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.AT_GT"></a>
-
-
-
- </div>
- <div id="TokenType.DOLLAR" class="classattr">
- <div class="attr variable">
- <span class="name">DOLLAR</span> =
-<span class="default_value">&lt;<a href="#TokenType.DOLLAR">TokenType.DOLLAR</a>: &#39;DOLLAR&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.DOLLAR"></a>
-
-
-
- </div>
- <div id="TokenType.PARAMETER" class="classattr">
- <div class="attr variable">
- <span class="name">PARAMETER</span> =
-<span class="default_value">&lt;<a href="#TokenType.PARAMETER">TokenType.PARAMETER</a>: &#39;PARAMETER&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.PARAMETER"></a>
-
-
-
- </div>
- <div id="TokenType.SESSION_PARAMETER" class="classattr">
- <div class="attr variable">
- <span class="name">SESSION_PARAMETER</span> =
-<span class="default_value">&lt;<a href="#TokenType.SESSION_PARAMETER">TokenType.SESSION_PARAMETER</a>: &#39;SESSION_PARAMETER&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.SESSION_PARAMETER"></a>
-
-
-
- </div>
- <div id="TokenType.DAMP" class="classattr">
- <div class="attr variable">
- <span class="name">DAMP</span> =
-<span class="default_value">&lt;<a href="#TokenType.DAMP">TokenType.DAMP</a>: &#39;DAMP&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.DAMP"></a>
-
-
-
- </div>
- <div id="TokenType.XOR" class="classattr">
- <div class="attr variable">
- <span class="name">XOR</span> =
-<span class="default_value">&lt;<a href="#TokenType.XOR">TokenType.XOR</a>: &#39;XOR&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.XOR"></a>
-
-
-
- </div>
- <div id="TokenType.DSTAR" class="classattr">
- <div class="attr variable">
- <span class="name">DSTAR</span> =
-<span class="default_value">&lt;<a href="#TokenType.DSTAR">TokenType.DSTAR</a>: &#39;DSTAR&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.DSTAR"></a>
-
-
-
- </div>
- <div id="TokenType.BLOCK_START" class="classattr">
- <div class="attr variable">
- <span class="name">BLOCK_START</span> =
-<span class="default_value">&lt;<a href="#TokenType.BLOCK_START">TokenType.BLOCK_START</a>: &#39;BLOCK_START&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.BLOCK_START"></a>
-
-
-
- </div>
- <div id="TokenType.BLOCK_END" class="classattr">
- <div class="attr variable">
- <span class="name">BLOCK_END</span> =
-<span class="default_value">&lt;<a href="#TokenType.BLOCK_END">TokenType.BLOCK_END</a>: &#39;BLOCK_END&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.BLOCK_END"></a>
-
-
-
- </div>
- <div id="TokenType.SPACE" class="classattr">
- <div class="attr variable">
- <span class="name">SPACE</span> =
-<span class="default_value">&lt;<a href="#TokenType.SPACE">TokenType.SPACE</a>: &#39;SPACE&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.SPACE"></a>
-
-
-
- </div>
- <div id="TokenType.BREAK" class="classattr">
- <div class="attr variable">
- <span class="name">BREAK</span> =
-<span class="default_value">&lt;<a href="#TokenType.BREAK">TokenType.BREAK</a>: &#39;BREAK&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.BREAK"></a>
-
-
-
- </div>
- <div id="TokenType.STRING" class="classattr">
- <div class="attr variable">
- <span class="name">STRING</span> =
-<span class="default_value">&lt;<a href="#TokenType.STRING">TokenType.STRING</a>: &#39;STRING&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.STRING"></a>
-
-
-
- </div>
- <div id="TokenType.NUMBER" class="classattr">
- <div class="attr variable">
- <span class="name">NUMBER</span> =
-<span class="default_value">&lt;<a href="#TokenType.NUMBER">TokenType.NUMBER</a>: &#39;NUMBER&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.NUMBER"></a>
-
-
-
- </div>
- <div id="TokenType.IDENTIFIER" class="classattr">
- <div class="attr variable">
- <span class="name">IDENTIFIER</span> =
-<span class="default_value">&lt;<a href="#TokenType.IDENTIFIER">TokenType.IDENTIFIER</a>: &#39;IDENTIFIER&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.IDENTIFIER"></a>
-
-
-
- </div>
- <div id="TokenType.DATABASE" class="classattr">
- <div class="attr variable">
- <span class="name">DATABASE</span> =
-<span class="default_value">&lt;<a href="#TokenType.DATABASE">TokenType.DATABASE</a>: &#39;DATABASE&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.DATABASE"></a>
-
-
-
- </div>
- <div id="TokenType.COLUMN" class="classattr">
- <div class="attr variable">
- <span class="name">COLUMN</span> =
-<span class="default_value">&lt;<a href="#TokenType.COLUMN">TokenType.COLUMN</a>: &#39;COLUMN&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.COLUMN"></a>
-
-
-
- </div>
- <div id="TokenType.COLUMN_DEF" class="classattr">
- <div class="attr variable">
- <span class="name">COLUMN_DEF</span> =
-<span class="default_value">&lt;<a href="#TokenType.COLUMN_DEF">TokenType.COLUMN_DEF</a>: &#39;COLUMN_DEF&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.COLUMN_DEF"></a>
-
-
-
- </div>
- <div id="TokenType.SCHEMA" class="classattr">
- <div class="attr variable">
- <span class="name">SCHEMA</span> =
-<span class="default_value">&lt;<a href="#TokenType.SCHEMA">TokenType.SCHEMA</a>: &#39;SCHEMA&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.SCHEMA"></a>
-
-
-
- </div>
- <div id="TokenType.TABLE" class="classattr">
- <div class="attr variable">
- <span class="name">TABLE</span> =
-<span class="default_value">&lt;<a href="#TokenType.TABLE">TokenType.TABLE</a>: &#39;TABLE&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.TABLE"></a>
-
-
-
- </div>
- <div id="TokenType.VAR" class="classattr">
- <div class="attr variable">
- <span class="name">VAR</span> =
-<span class="default_value">&lt;<a href="#TokenType.VAR">TokenType.VAR</a>: &#39;VAR&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.VAR"></a>
-
-
-
- </div>
- <div id="TokenType.BIT_STRING" class="classattr">
- <div class="attr variable">
- <span class="name">BIT_STRING</span> =
-<span class="default_value">&lt;<a href="#TokenType.BIT_STRING">TokenType.BIT_STRING</a>: &#39;BIT_STRING&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.BIT_STRING"></a>
-
-
-
- </div>
- <div id="TokenType.HEX_STRING" class="classattr">
- <div class="attr variable">
- <span class="name">HEX_STRING</span> =
-<span class="default_value">&lt;<a href="#TokenType.HEX_STRING">TokenType.HEX_STRING</a>: &#39;HEX_STRING&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.HEX_STRING"></a>
-
-
-
- </div>
- <div id="TokenType.BYTE_STRING" class="classattr">
- <div class="attr variable">
- <span class="name">BYTE_STRING</span> =
-<span class="default_value">&lt;<a href="#TokenType.BYTE_STRING">TokenType.BYTE_STRING</a>: &#39;BYTE_STRING&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.BYTE_STRING"></a>
-
-
-
- </div>
- <div id="TokenType.NATIONAL_STRING" class="classattr">
- <div class="attr variable">
- <span class="name">NATIONAL_STRING</span> =
-<span class="default_value">&lt;<a href="#TokenType.NATIONAL_STRING">TokenType.NATIONAL_STRING</a>: &#39;NATIONAL_STRING&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.NATIONAL_STRING"></a>
-
-
-
- </div>
- <div id="TokenType.RAW_STRING" class="classattr">
- <div class="attr variable">
- <span class="name">RAW_STRING</span> =
-<span class="default_value">&lt;<a href="#TokenType.RAW_STRING">TokenType.RAW_STRING</a>: &#39;RAW_STRING&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.RAW_STRING"></a>
-
-
-
- </div>
- <div id="TokenType.HEREDOC_STRING" class="classattr">
- <div class="attr variable">
- <span class="name">HEREDOC_STRING</span> =
-<span class="default_value">&lt;<a href="#TokenType.HEREDOC_STRING">TokenType.HEREDOC_STRING</a>: &#39;HEREDOC_STRING&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.HEREDOC_STRING"></a>
-
-
-
- </div>
- <div id="TokenType.BIT" class="classattr">
- <div class="attr variable">
- <span class="name">BIT</span> =
-<span class="default_value">&lt;<a href="#TokenType.BIT">TokenType.BIT</a>: &#39;BIT&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.BIT"></a>
-
-
-
- </div>
- <div id="TokenType.BOOLEAN" class="classattr">
- <div class="attr variable">
- <span class="name">BOOLEAN</span> =
-<span class="default_value">&lt;<a href="#TokenType.BOOLEAN">TokenType.BOOLEAN</a>: &#39;BOOLEAN&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.BOOLEAN"></a>
-
-
-
- </div>
- <div id="TokenType.TINYINT" class="classattr">
- <div class="attr variable">
- <span class="name">TINYINT</span> =
-<span class="default_value">&lt;<a href="#TokenType.TINYINT">TokenType.TINYINT</a>: &#39;TINYINT&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.TINYINT"></a>
-
-
-
- </div>
- <div id="TokenType.UTINYINT" class="classattr">
- <div class="attr variable">
- <span class="name">UTINYINT</span> =
-<span class="default_value">&lt;<a href="#TokenType.UTINYINT">TokenType.UTINYINT</a>: &#39;UTINYINT&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.UTINYINT"></a>
-
-
-
- </div>
- <div id="TokenType.SMALLINT" class="classattr">
- <div class="attr variable">
- <span class="name">SMALLINT</span> =
-<span class="default_value">&lt;<a href="#TokenType.SMALLINT">TokenType.SMALLINT</a>: &#39;SMALLINT&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.SMALLINT"></a>
-
-
-
- </div>
- <div id="TokenType.USMALLINT" class="classattr">
- <div class="attr variable">
- <span class="name">USMALLINT</span> =
-<span class="default_value">&lt;<a href="#TokenType.USMALLINT">TokenType.USMALLINT</a>: &#39;USMALLINT&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.USMALLINT"></a>
-
-
-
- </div>
- <div id="TokenType.MEDIUMINT" class="classattr">
- <div class="attr variable">
- <span class="name">MEDIUMINT</span> =
-<span class="default_value">&lt;<a href="#TokenType.MEDIUMINT">TokenType.MEDIUMINT</a>: &#39;MEDIUMINT&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.MEDIUMINT"></a>
-
-
-
- </div>
- <div id="TokenType.UMEDIUMINT" class="classattr">
- <div class="attr variable">
- <span class="name">UMEDIUMINT</span> =
-<span class="default_value">&lt;<a href="#TokenType.UMEDIUMINT">TokenType.UMEDIUMINT</a>: &#39;UMEDIUMINT&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.UMEDIUMINT"></a>
-
-
-
- </div>
- <div id="TokenType.INT" class="classattr">
- <div class="attr variable">
- <span class="name">INT</span> =
-<span class="default_value">&lt;<a href="#TokenType.INT">TokenType.INT</a>: &#39;INT&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.INT"></a>
-
-
-
- </div>
- <div id="TokenType.UINT" class="classattr">
- <div class="attr variable">
- <span class="name">UINT</span> =
-<span class="default_value">&lt;<a href="#TokenType.UINT">TokenType.UINT</a>: &#39;UINT&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.UINT"></a>
-
-
-
- </div>
- <div id="TokenType.BIGINT" class="classattr">
- <div class="attr variable">
- <span class="name">BIGINT</span> =
-<span class="default_value">&lt;<a href="#TokenType.BIGINT">TokenType.BIGINT</a>: &#39;BIGINT&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.BIGINT"></a>
-
-
-
- </div>
- <div id="TokenType.UBIGINT" class="classattr">
- <div class="attr variable">
- <span class="name">UBIGINT</span> =
-<span class="default_value">&lt;<a href="#TokenType.UBIGINT">TokenType.UBIGINT</a>: &#39;UBIGINT&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.UBIGINT"></a>
-
-
-
- </div>
- <div id="TokenType.INT128" class="classattr">
- <div class="attr variable">
- <span class="name">INT128</span> =
-<span class="default_value">&lt;<a href="#TokenType.INT128">TokenType.INT128</a>: &#39;INT128&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.INT128"></a>
-
-
-
- </div>
- <div id="TokenType.UINT128" class="classattr">
- <div class="attr variable">
- <span class="name">UINT128</span> =
-<span class="default_value">&lt;<a href="#TokenType.UINT128">TokenType.UINT128</a>: &#39;UINT128&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.UINT128"></a>
-
-
-
- </div>
- <div id="TokenType.INT256" class="classattr">
- <div class="attr variable">
- <span class="name">INT256</span> =
-<span class="default_value">&lt;<a href="#TokenType.INT256">TokenType.INT256</a>: &#39;INT256&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.INT256"></a>
-
-
-
- </div>
- <div id="TokenType.UINT256" class="classattr">
- <div class="attr variable">
- <span class="name">UINT256</span> =
-<span class="default_value">&lt;<a href="#TokenType.UINT256">TokenType.UINT256</a>: &#39;UINT256&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.UINT256"></a>
-
-
-
- </div>
- <div id="TokenType.FLOAT" class="classattr">
- <div class="attr variable">
- <span class="name">FLOAT</span> =
-<span class="default_value">&lt;<a href="#TokenType.FLOAT">TokenType.FLOAT</a>: &#39;FLOAT&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.FLOAT"></a>
-
-
-
- </div>
- <div id="TokenType.DOUBLE" class="classattr">
- <div class="attr variable">
- <span class="name">DOUBLE</span> =
-<span class="default_value">&lt;<a href="#TokenType.DOUBLE">TokenType.DOUBLE</a>: &#39;DOUBLE&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.DOUBLE"></a>
-
-
-
- </div>
- <div id="TokenType.DECIMAL" class="classattr">
- <div class="attr variable">
- <span class="name">DECIMAL</span> =
-<span class="default_value">&lt;<a href="#TokenType.DECIMAL">TokenType.DECIMAL</a>: &#39;DECIMAL&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.DECIMAL"></a>
-
-
-
- </div>
- <div id="TokenType.UDECIMAL" class="classattr">
- <div class="attr variable">
- <span class="name">UDECIMAL</span> =
-<span class="default_value">&lt;<a href="#TokenType.UDECIMAL">TokenType.UDECIMAL</a>: &#39;UDECIMAL&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.UDECIMAL"></a>
-
-
-
- </div>
- <div id="TokenType.BIGDECIMAL" class="classattr">
- <div class="attr variable">
- <span class="name">BIGDECIMAL</span> =
-<span class="default_value">&lt;<a href="#TokenType.BIGDECIMAL">TokenType.BIGDECIMAL</a>: &#39;BIGDECIMAL&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.BIGDECIMAL"></a>
-
-
-
- </div>
- <div id="TokenType.CHAR" class="classattr">
- <div class="attr variable">
- <span class="name">CHAR</span> =
-<span class="default_value">&lt;<a href="#TokenType.CHAR">TokenType.CHAR</a>: &#39;CHAR&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.CHAR"></a>
-
-
-
- </div>
- <div id="TokenType.NCHAR" class="classattr">
- <div class="attr variable">
- <span class="name">NCHAR</span> =
-<span class="default_value">&lt;<a href="#TokenType.NCHAR">TokenType.NCHAR</a>: &#39;NCHAR&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.NCHAR"></a>
-
-
-
- </div>
- <div id="TokenType.VARCHAR" class="classattr">
- <div class="attr variable">
- <span class="name">VARCHAR</span> =
-<span class="default_value">&lt;<a href="#TokenType.VARCHAR">TokenType.VARCHAR</a>: &#39;VARCHAR&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.VARCHAR"></a>
-
-
-
- </div>
- <div id="TokenType.NVARCHAR" class="classattr">
- <div class="attr variable">
- <span class="name">NVARCHAR</span> =
-<span class="default_value">&lt;<a href="#TokenType.NVARCHAR">TokenType.NVARCHAR</a>: &#39;NVARCHAR&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.NVARCHAR"></a>
-
-
-
- </div>
- <div id="TokenType.TEXT" class="classattr">
- <div class="attr variable">
- <span class="name">TEXT</span> =
-<span class="default_value">&lt;<a href="#TokenType.TEXT">TokenType.TEXT</a>: &#39;TEXT&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.TEXT"></a>
-
-
-
- </div>
- <div id="TokenType.MEDIUMTEXT" class="classattr">
- <div class="attr variable">
- <span class="name">MEDIUMTEXT</span> =
-<span class="default_value">&lt;<a href="#TokenType.MEDIUMTEXT">TokenType.MEDIUMTEXT</a>: &#39;MEDIUMTEXT&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.MEDIUMTEXT"></a>
-
-
-
- </div>
- <div id="TokenType.LONGTEXT" class="classattr">
- <div class="attr variable">
- <span class="name">LONGTEXT</span> =
-<span class="default_value">&lt;<a href="#TokenType.LONGTEXT">TokenType.LONGTEXT</a>: &#39;LONGTEXT&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.LONGTEXT"></a>
-
-
-
- </div>
- <div id="TokenType.MEDIUMBLOB" class="classattr">
- <div class="attr variable">
- <span class="name">MEDIUMBLOB</span> =
-<span class="default_value">&lt;<a href="#TokenType.MEDIUMBLOB">TokenType.MEDIUMBLOB</a>: &#39;MEDIUMBLOB&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.MEDIUMBLOB"></a>
-
-
-
- </div>
- <div id="TokenType.LONGBLOB" class="classattr">
- <div class="attr variable">
- <span class="name">LONGBLOB</span> =
-<span class="default_value">&lt;<a href="#TokenType.LONGBLOB">TokenType.LONGBLOB</a>: &#39;LONGBLOB&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.LONGBLOB"></a>
-
-
-
- </div>
- <div id="TokenType.TINYBLOB" class="classattr">
- <div class="attr variable">
- <span class="name">TINYBLOB</span> =
-<span class="default_value">&lt;<a href="#TokenType.TINYBLOB">TokenType.TINYBLOB</a>: &#39;TINYBLOB&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.TINYBLOB"></a>
-
-
-
- </div>
- <div id="TokenType.TINYTEXT" class="classattr">
- <div class="attr variable">
- <span class="name">TINYTEXT</span> =
-<span class="default_value">&lt;<a href="#TokenType.TINYTEXT">TokenType.TINYTEXT</a>: &#39;TINYTEXT&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.TINYTEXT"></a>
-
-
-
- </div>
- <div id="TokenType.BINARY" class="classattr">
- <div class="attr variable">
- <span class="name">BINARY</span> =
-<span class="default_value">&lt;<a href="#TokenType.BINARY">TokenType.BINARY</a>: &#39;BINARY&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.BINARY"></a>
-
-
-
- </div>
- <div id="TokenType.VARBINARY" class="classattr">
- <div class="attr variable">
- <span class="name">VARBINARY</span> =
-<span class="default_value">&lt;<a href="#TokenType.VARBINARY">TokenType.VARBINARY</a>: &#39;VARBINARY&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.VARBINARY"></a>
-
-
-
- </div>
- <div id="TokenType.JSON" class="classattr">
- <div class="attr variable">
- <span class="name">JSON</span> =
-<span class="default_value">&lt;<a href="#TokenType.JSON">TokenType.JSON</a>: &#39;JSON&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.JSON"></a>
-
-
-
- </div>
- <div id="TokenType.JSONB" class="classattr">
- <div class="attr variable">
- <span class="name">JSONB</span> =
-<span class="default_value">&lt;<a href="#TokenType.JSONB">TokenType.JSONB</a>: &#39;JSONB&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.JSONB"></a>
-
-
-
- </div>
- <div id="TokenType.TIME" class="classattr">
- <div class="attr variable">
- <span class="name">TIME</span> =
-<span class="default_value">&lt;<a href="#TokenType.TIME">TokenType.TIME</a>: &#39;TIME&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.TIME"></a>
-
-
-
- </div>
- <div id="TokenType.TIMETZ" class="classattr">
- <div class="attr variable">
- <span class="name">TIMETZ</span> =
-<span class="default_value">&lt;<a href="#TokenType.TIMETZ">TokenType.TIMETZ</a>: &#39;TIMETZ&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.TIMETZ"></a>
-
-
-
- </div>
- <div id="TokenType.TIMESTAMP" class="classattr">
- <div class="attr variable">
- <span class="name">TIMESTAMP</span> =
-<span class="default_value">&lt;<a href="#TokenType.TIMESTAMP">TokenType.TIMESTAMP</a>: &#39;TIMESTAMP&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.TIMESTAMP"></a>
-
-
-
- </div>
- <div id="TokenType.TIMESTAMPTZ" class="classattr">
- <div class="attr variable">
- <span class="name">TIMESTAMPTZ</span> =
-<span class="default_value">&lt;<a href="#TokenType.TIMESTAMPTZ">TokenType.TIMESTAMPTZ</a>: &#39;TIMESTAMPTZ&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.TIMESTAMPTZ"></a>
-
-
-
- </div>
- <div id="TokenType.TIMESTAMPLTZ" class="classattr">
- <div class="attr variable">
- <span class="name">TIMESTAMPLTZ</span> =
-<span class="default_value">&lt;<a href="#TokenType.TIMESTAMPLTZ">TokenType.TIMESTAMPLTZ</a>: &#39;TIMESTAMPLTZ&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.TIMESTAMPLTZ"></a>
-
-
-
- </div>
- <div id="TokenType.TIMESTAMP_S" class="classattr">
- <div class="attr variable">
- <span class="name">TIMESTAMP_S</span> =
-<span class="default_value">&lt;<a href="#TokenType.TIMESTAMP_S">TokenType.TIMESTAMP_S</a>: &#39;TIMESTAMP_S&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.TIMESTAMP_S"></a>
-
-
-
- </div>
- <div id="TokenType.TIMESTAMP_MS" class="classattr">
- <div class="attr variable">
- <span class="name">TIMESTAMP_MS</span> =
-<span class="default_value">&lt;<a href="#TokenType.TIMESTAMP_MS">TokenType.TIMESTAMP_MS</a>: &#39;TIMESTAMP_MS&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.TIMESTAMP_MS"></a>
-
-
-
- </div>
- <div id="TokenType.TIMESTAMP_NS" class="classattr">
- <div class="attr variable">
- <span class="name">TIMESTAMP_NS</span> =
-<span class="default_value">&lt;<a href="#TokenType.TIMESTAMP_NS">TokenType.TIMESTAMP_NS</a>: &#39;TIMESTAMP_NS&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.TIMESTAMP_NS"></a>
-
-
-
- </div>
- <div id="TokenType.DATETIME" class="classattr">
- <div class="attr variable">
- <span class="name">DATETIME</span> =
-<span class="default_value">&lt;<a href="#TokenType.DATETIME">TokenType.DATETIME</a>: &#39;DATETIME&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.DATETIME"></a>
-
-
-
- </div>
- <div id="TokenType.DATETIME64" class="classattr">
- <div class="attr variable">
- <span class="name">DATETIME64</span> =
-<span class="default_value">&lt;<a href="#TokenType.DATETIME64">TokenType.DATETIME64</a>: &#39;DATETIME64&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.DATETIME64"></a>
-
-
-
- </div>
- <div id="TokenType.DATE" class="classattr">
- <div class="attr variable">
- <span class="name">DATE</span> =
-<span class="default_value">&lt;<a href="#TokenType.DATE">TokenType.DATE</a>: &#39;DATE&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.DATE"></a>
-
-
-
- </div>
- <div id="TokenType.INT4RANGE" class="classattr">
- <div class="attr variable">
- <span class="name">INT4RANGE</span> =
-<span class="default_value">&lt;<a href="#TokenType.INT4RANGE">TokenType.INT4RANGE</a>: &#39;INT4RANGE&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.INT4RANGE"></a>
-
-
-
- </div>
- <div id="TokenType.INT4MULTIRANGE" class="classattr">
- <div class="attr variable">
- <span class="name">INT4MULTIRANGE</span> =
-<span class="default_value">&lt;<a href="#TokenType.INT4MULTIRANGE">TokenType.INT4MULTIRANGE</a>: &#39;INT4MULTIRANGE&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.INT4MULTIRANGE"></a>
-
-
-
- </div>
- <div id="TokenType.INT8RANGE" class="classattr">
- <div class="attr variable">
- <span class="name">INT8RANGE</span> =
-<span class="default_value">&lt;<a href="#TokenType.INT8RANGE">TokenType.INT8RANGE</a>: &#39;INT8RANGE&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.INT8RANGE"></a>
-
-
-
- </div>
- <div id="TokenType.INT8MULTIRANGE" class="classattr">
- <div class="attr variable">
- <span class="name">INT8MULTIRANGE</span> =
-<span class="default_value">&lt;<a href="#TokenType.INT8MULTIRANGE">TokenType.INT8MULTIRANGE</a>: &#39;INT8MULTIRANGE&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.INT8MULTIRANGE"></a>
-
-
-
- </div>
- <div id="TokenType.NUMRANGE" class="classattr">
- <div class="attr variable">
- <span class="name">NUMRANGE</span> =
-<span class="default_value">&lt;<a href="#TokenType.NUMRANGE">TokenType.NUMRANGE</a>: &#39;NUMRANGE&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.NUMRANGE"></a>
-
-
-
- </div>
- <div id="TokenType.NUMMULTIRANGE" class="classattr">
- <div class="attr variable">
- <span class="name">NUMMULTIRANGE</span> =
-<span class="default_value">&lt;<a href="#TokenType.NUMMULTIRANGE">TokenType.NUMMULTIRANGE</a>: &#39;NUMMULTIRANGE&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.NUMMULTIRANGE"></a>
-
-
-
- </div>
- <div id="TokenType.TSRANGE" class="classattr">
- <div class="attr variable">
- <span class="name">TSRANGE</span> =
-<span class="default_value">&lt;<a href="#TokenType.TSRANGE">TokenType.TSRANGE</a>: &#39;TSRANGE&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.TSRANGE"></a>
-
-
-
- </div>
- <div id="TokenType.TSMULTIRANGE" class="classattr">
- <div class="attr variable">
- <span class="name">TSMULTIRANGE</span> =
-<span class="default_value">&lt;<a href="#TokenType.TSMULTIRANGE">TokenType.TSMULTIRANGE</a>: &#39;TSMULTIRANGE&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.TSMULTIRANGE"></a>
-
-
-
- </div>
- <div id="TokenType.TSTZRANGE" class="classattr">
- <div class="attr variable">
- <span class="name">TSTZRANGE</span> =
-<span class="default_value">&lt;<a href="#TokenType.TSTZRANGE">TokenType.TSTZRANGE</a>: &#39;TSTZRANGE&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.TSTZRANGE"></a>
-
-
-
- </div>
- <div id="TokenType.TSTZMULTIRANGE" class="classattr">
- <div class="attr variable">
- <span class="name">TSTZMULTIRANGE</span> =
-<span class="default_value">&lt;<a href="#TokenType.TSTZMULTIRANGE">TokenType.TSTZMULTIRANGE</a>: &#39;TSTZMULTIRANGE&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.TSTZMULTIRANGE"></a>
-
-
-
- </div>
- <div id="TokenType.DATERANGE" class="classattr">
- <div class="attr variable">
- <span class="name">DATERANGE</span> =
-<span class="default_value">&lt;<a href="#TokenType.DATERANGE">TokenType.DATERANGE</a>: &#39;DATERANGE&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.DATERANGE"></a>
-
-
-
- </div>
- <div id="TokenType.DATEMULTIRANGE" class="classattr">
- <div class="attr variable">
- <span class="name">DATEMULTIRANGE</span> =
-<span class="default_value">&lt;<a href="#TokenType.DATEMULTIRANGE">TokenType.DATEMULTIRANGE</a>: &#39;DATEMULTIRANGE&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.DATEMULTIRANGE"></a>
-
-
-
- </div>
- <div id="TokenType.UUID" class="classattr">
- <div class="attr variable">
- <span class="name">UUID</span> =
-<span class="default_value">&lt;<a href="#TokenType.UUID">TokenType.UUID</a>: &#39;UUID&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.UUID"></a>
-
-
-
- </div>
- <div id="TokenType.GEOGRAPHY" class="classattr">
- <div class="attr variable">
- <span class="name">GEOGRAPHY</span> =
-<span class="default_value">&lt;<a href="#TokenType.GEOGRAPHY">TokenType.GEOGRAPHY</a>: &#39;GEOGRAPHY&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.GEOGRAPHY"></a>
-
-
-
- </div>
- <div id="TokenType.NULLABLE" class="classattr">
- <div class="attr variable">
- <span class="name">NULLABLE</span> =
-<span class="default_value">&lt;<a href="#TokenType.NULLABLE">TokenType.NULLABLE</a>: &#39;NULLABLE&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.NULLABLE"></a>
-
-
-
- </div>
- <div id="TokenType.GEOMETRY" class="classattr">
- <div class="attr variable">
- <span class="name">GEOMETRY</span> =
-<span class="default_value">&lt;<a href="#TokenType.GEOMETRY">TokenType.GEOMETRY</a>: &#39;GEOMETRY&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.GEOMETRY"></a>
-
-
-
- </div>
- <div id="TokenType.HLLSKETCH" class="classattr">
- <div class="attr variable">
- <span class="name">HLLSKETCH</span> =
-<span class="default_value">&lt;<a href="#TokenType.HLLSKETCH">TokenType.HLLSKETCH</a>: &#39;HLLSKETCH&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.HLLSKETCH"></a>
-
-
-
- </div>
- <div id="TokenType.HSTORE" class="classattr">
- <div class="attr variable">
- <span class="name">HSTORE</span> =
-<span class="default_value">&lt;<a href="#TokenType.HSTORE">TokenType.HSTORE</a>: &#39;HSTORE&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.HSTORE"></a>
-
-
-
- </div>
- <div id="TokenType.SUPER" class="classattr">
- <div class="attr variable">
- <span class="name">SUPER</span> =
-<span class="default_value">&lt;<a href="#TokenType.SUPER">TokenType.SUPER</a>: &#39;SUPER&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.SUPER"></a>
-
-
-
- </div>
- <div id="TokenType.SERIAL" class="classattr">
- <div class="attr variable">
- <span class="name">SERIAL</span> =
-<span class="default_value">&lt;<a href="#TokenType.SERIAL">TokenType.SERIAL</a>: &#39;SERIAL&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.SERIAL"></a>
-
-
-
- </div>
- <div id="TokenType.SMALLSERIAL" class="classattr">
- <div class="attr variable">
- <span class="name">SMALLSERIAL</span> =
-<span class="default_value">&lt;<a href="#TokenType.SMALLSERIAL">TokenType.SMALLSERIAL</a>: &#39;SMALLSERIAL&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.SMALLSERIAL"></a>
-
-
-
- </div>
- <div id="TokenType.BIGSERIAL" class="classattr">
- <div class="attr variable">
- <span class="name">BIGSERIAL</span> =
-<span class="default_value">&lt;<a href="#TokenType.BIGSERIAL">TokenType.BIGSERIAL</a>: &#39;BIGSERIAL&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.BIGSERIAL"></a>
-
-
-
- </div>
- <div id="TokenType.XML" class="classattr">
- <div class="attr variable">
- <span class="name">XML</span> =
-<span class="default_value">&lt;<a href="#TokenType.XML">TokenType.XML</a>: &#39;XML&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.XML"></a>
-
-
-
- </div>
- <div id="TokenType.YEAR" class="classattr">
- <div class="attr variable">
- <span class="name">YEAR</span> =
-<span class="default_value">&lt;<a href="#TokenType.YEAR">TokenType.YEAR</a>: &#39;YEAR&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.YEAR"></a>
-
-
-
- </div>
- <div id="TokenType.UNIQUEIDENTIFIER" class="classattr">
- <div class="attr variable">
- <span class="name">UNIQUEIDENTIFIER</span> =
-<span class="default_value">&lt;<a href="#TokenType.UNIQUEIDENTIFIER">TokenType.UNIQUEIDENTIFIER</a>: &#39;UNIQUEIDENTIFIER&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.UNIQUEIDENTIFIER"></a>
-
-
-
- </div>
- <div id="TokenType.USERDEFINED" class="classattr">
- <div class="attr variable">
- <span class="name">USERDEFINED</span> =
-<span class="default_value">&lt;<a href="#TokenType.USERDEFINED">TokenType.USERDEFINED</a>: &#39;USERDEFINED&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.USERDEFINED"></a>
-
-
-
- </div>
- <div id="TokenType.MONEY" class="classattr">
- <div class="attr variable">
- <span class="name">MONEY</span> =
-<span class="default_value">&lt;<a href="#TokenType.MONEY">TokenType.MONEY</a>: &#39;MONEY&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.MONEY"></a>
-
-
-
- </div>
- <div id="TokenType.SMALLMONEY" class="classattr">
- <div class="attr variable">
- <span class="name">SMALLMONEY</span> =
-<span class="default_value">&lt;<a href="#TokenType.SMALLMONEY">TokenType.SMALLMONEY</a>: &#39;SMALLMONEY&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.SMALLMONEY"></a>
-
-
-
- </div>
- <div id="TokenType.ROWVERSION" class="classattr">
- <div class="attr variable">
- <span class="name">ROWVERSION</span> =
-<span class="default_value">&lt;<a href="#TokenType.ROWVERSION">TokenType.ROWVERSION</a>: &#39;ROWVERSION&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.ROWVERSION"></a>
-
-
-
- </div>
- <div id="TokenType.IMAGE" class="classattr">
- <div class="attr variable">
- <span class="name">IMAGE</span> =
-<span class="default_value">&lt;<a href="#TokenType.IMAGE">TokenType.IMAGE</a>: &#39;IMAGE&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.IMAGE"></a>
-
-
-
- </div>
- <div id="TokenType.VARIANT" class="classattr">
- <div class="attr variable">
- <span class="name">VARIANT</span> =
-<span class="default_value">&lt;<a href="#TokenType.VARIANT">TokenType.VARIANT</a>: &#39;VARIANT&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.VARIANT"></a>
-
-
-
- </div>
- <div id="TokenType.OBJECT" class="classattr">
- <div class="attr variable">
- <span class="name">OBJECT</span> =
-<span class="default_value">&lt;<a href="#TokenType.OBJECT">TokenType.OBJECT</a>: &#39;OBJECT&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.OBJECT"></a>
-
-
-
- </div>
- <div id="TokenType.INET" class="classattr">
- <div class="attr variable">
- <span class="name">INET</span> =
-<span class="default_value">&lt;<a href="#TokenType.INET">TokenType.INET</a>: &#39;INET&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.INET"></a>
-
-
-
- </div>
- <div id="TokenType.IPADDRESS" class="classattr">
- <div class="attr variable">
- <span class="name">IPADDRESS</span> =
-<span class="default_value">&lt;<a href="#TokenType.IPADDRESS">TokenType.IPADDRESS</a>: &#39;IPADDRESS&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.IPADDRESS"></a>
-
-
-
- </div>
- <div id="TokenType.IPPREFIX" class="classattr">
- <div class="attr variable">
- <span class="name">IPPREFIX</span> =
-<span class="default_value">&lt;<a href="#TokenType.IPPREFIX">TokenType.IPPREFIX</a>: &#39;IPPREFIX&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.IPPREFIX"></a>
-
-
-
- </div>
- <div id="TokenType.ENUM" class="classattr">
- <div class="attr variable">
- <span class="name">ENUM</span> =
-<span class="default_value">&lt;<a href="#TokenType.ENUM">TokenType.ENUM</a>: &#39;ENUM&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.ENUM"></a>
-
-
-
- </div>
- <div id="TokenType.ENUM8" class="classattr">
- <div class="attr variable">
- <span class="name">ENUM8</span> =
-<span class="default_value">&lt;<a href="#TokenType.ENUM8">TokenType.ENUM8</a>: &#39;ENUM8&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.ENUM8"></a>
-
-
-
- </div>
- <div id="TokenType.ENUM16" class="classattr">
- <div class="attr variable">
- <span class="name">ENUM16</span> =
-<span class="default_value">&lt;<a href="#TokenType.ENUM16">TokenType.ENUM16</a>: &#39;ENUM16&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.ENUM16"></a>
-
-
-
- </div>
- <div id="TokenType.FIXEDSTRING" class="classattr">
- <div class="attr variable">
- <span class="name">FIXEDSTRING</span> =
-<span class="default_value">&lt;<a href="#TokenType.FIXEDSTRING">TokenType.FIXEDSTRING</a>: &#39;FIXEDSTRING&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.FIXEDSTRING"></a>
-
-
-
- </div>
- <div id="TokenType.LOWCARDINALITY" class="classattr">
- <div class="attr variable">
- <span class="name">LOWCARDINALITY</span> =
-<span class="default_value">&lt;<a href="#TokenType.LOWCARDINALITY">TokenType.LOWCARDINALITY</a>: &#39;LOWCARDINALITY&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.LOWCARDINALITY"></a>
-
-
-
- </div>
- <div id="TokenType.NESTED" class="classattr">
- <div class="attr variable">
- <span class="name">NESTED</span> =
-<span class="default_value">&lt;<a href="#TokenType.NESTED">TokenType.NESTED</a>: &#39;NESTED&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.NESTED"></a>
-
-
-
- </div>
- <div id="TokenType.UNKNOWN" class="classattr">
- <div class="attr variable">
- <span class="name">UNKNOWN</span> =
-<span class="default_value">&lt;<a href="#TokenType.UNKNOWN">TokenType.UNKNOWN</a>: &#39;UNKNOWN&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.UNKNOWN"></a>
-
-
-
- </div>
- <div id="TokenType.ALIAS" class="classattr">
- <div class="attr variable">
- <span class="name">ALIAS</span> =
-<span class="default_value">&lt;<a href="#TokenType.ALIAS">TokenType.ALIAS</a>: &#39;ALIAS&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.ALIAS"></a>
-
-
-
- </div>
- <div id="TokenType.ALTER" class="classattr">
- <div class="attr variable">
- <span class="name">ALTER</span> =
-<span class="default_value">&lt;<a href="#TokenType.ALTER">TokenType.ALTER</a>: &#39;ALTER&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.ALTER"></a>
-
-
-
- </div>
- <div id="TokenType.ALWAYS" class="classattr">
- <div class="attr variable">
- <span class="name">ALWAYS</span> =
-<span class="default_value">&lt;<a href="#TokenType.ALWAYS">TokenType.ALWAYS</a>: &#39;ALWAYS&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.ALWAYS"></a>
-
-
-
- </div>
- <div id="TokenType.ALL" class="classattr">
- <div class="attr variable">
- <span class="name">ALL</span> =
-<span class="default_value">&lt;<a href="#TokenType.ALL">TokenType.ALL</a>: &#39;ALL&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.ALL"></a>
-
-
-
- </div>
- <div id="TokenType.ANTI" class="classattr">
- <div class="attr variable">
- <span class="name">ANTI</span> =
-<span class="default_value">&lt;<a href="#TokenType.ANTI">TokenType.ANTI</a>: &#39;ANTI&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.ANTI"></a>
-
-
-
- </div>
- <div id="TokenType.ANY" class="classattr">
- <div class="attr variable">
- <span class="name">ANY</span> =
-<span class="default_value">&lt;<a href="#TokenType.ANY">TokenType.ANY</a>: &#39;ANY&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.ANY"></a>
-
-
-
- </div>
- <div id="TokenType.APPLY" class="classattr">
- <div class="attr variable">
- <span class="name">APPLY</span> =
-<span class="default_value">&lt;<a href="#TokenType.APPLY">TokenType.APPLY</a>: &#39;APPLY&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.APPLY"></a>
-
-
-
- </div>
- <div id="TokenType.ARRAY" class="classattr">
- <div class="attr variable">
- <span class="name">ARRAY</span> =
-<span class="default_value">&lt;<a href="#TokenType.ARRAY">TokenType.ARRAY</a>: &#39;ARRAY&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.ARRAY"></a>
-
-
-
- </div>
- <div id="TokenType.ASC" class="classattr">
- <div class="attr variable">
- <span class="name">ASC</span> =
-<span class="default_value">&lt;<a href="#TokenType.ASC">TokenType.ASC</a>: &#39;ASC&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.ASC"></a>
-
-
-
- </div>
- <div id="TokenType.ASOF" class="classattr">
- <div class="attr variable">
- <span class="name">ASOF</span> =
-<span class="default_value">&lt;<a href="#TokenType.ASOF">TokenType.ASOF</a>: &#39;ASOF&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.ASOF"></a>
-
-
-
- </div>
- <div id="TokenType.AUTO_INCREMENT" class="classattr">
- <div class="attr variable">
- <span class="name">AUTO_INCREMENT</span> =
-<span class="default_value">&lt;<a href="#TokenType.AUTO_INCREMENT">TokenType.AUTO_INCREMENT</a>: &#39;AUTO_INCREMENT&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.AUTO_INCREMENT"></a>
-
-
-
- </div>
- <div id="TokenType.BEGIN" class="classattr">
- <div class="attr variable">
- <span class="name">BEGIN</span> =
-<span class="default_value">&lt;<a href="#TokenType.BEGIN">TokenType.BEGIN</a>: &#39;BEGIN&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.BEGIN"></a>
-
-
-
- </div>
- <div id="TokenType.BETWEEN" class="classattr">
- <div class="attr variable">
- <span class="name">BETWEEN</span> =
-<span class="default_value">&lt;<a href="#TokenType.BETWEEN">TokenType.BETWEEN</a>: &#39;BETWEEN&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.BETWEEN"></a>
-
-
-
- </div>
- <div id="TokenType.CACHE" class="classattr">
- <div class="attr variable">
- <span class="name">CACHE</span> =
-<span class="default_value">&lt;<a href="#TokenType.CACHE">TokenType.CACHE</a>: &#39;CACHE&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.CACHE"></a>
-
-
-
- </div>
- <div id="TokenType.CASE" class="classattr">
- <div class="attr variable">
- <span class="name">CASE</span> =
-<span class="default_value">&lt;<a href="#TokenType.CASE">TokenType.CASE</a>: &#39;CASE&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.CASE"></a>
-
-
-
- </div>
- <div id="TokenType.CHARACTER_SET" class="classattr">
- <div class="attr variable">
- <span class="name">CHARACTER_SET</span> =
-<span class="default_value">&lt;<a href="#TokenType.CHARACTER_SET">TokenType.CHARACTER_SET</a>: &#39;CHARACTER_SET&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.CHARACTER_SET"></a>
-
-
-
- </div>
- <div id="TokenType.CLUSTER_BY" class="classattr">
- <div class="attr variable">
- <span class="name">CLUSTER_BY</span> =
-<span class="default_value">&lt;<a href="#TokenType.CLUSTER_BY">TokenType.CLUSTER_BY</a>: &#39;CLUSTER_BY&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.CLUSTER_BY"></a>
-
-
-
- </div>
- <div id="TokenType.COLLATE" class="classattr">
- <div class="attr variable">
- <span class="name">COLLATE</span> =
-<span class="default_value">&lt;<a href="#TokenType.COLLATE">TokenType.COLLATE</a>: &#39;COLLATE&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.COLLATE"></a>
-
-
-
- </div>
- <div id="TokenType.COMMAND" class="classattr">
- <div class="attr variable">
- <span class="name">COMMAND</span> =
-<span class="default_value">&lt;<a href="#TokenType.COMMAND">TokenType.COMMAND</a>: &#39;COMMAND&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.COMMAND"></a>
-
-
-
- </div>
- <div id="TokenType.COMMENT" class="classattr">
- <div class="attr variable">
- <span class="name">COMMENT</span> =
-<span class="default_value">&lt;<a href="#TokenType.COMMENT">TokenType.COMMENT</a>: &#39;COMMENT&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.COMMENT"></a>
-
-
-
- </div>
- <div id="TokenType.COMMIT" class="classattr">
- <div class="attr variable">
- <span class="name">COMMIT</span> =
-<span class="default_value">&lt;<a href="#TokenType.COMMIT">TokenType.COMMIT</a>: &#39;COMMIT&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.COMMIT"></a>
-
-
-
- </div>
- <div id="TokenType.CONNECT_BY" class="classattr">
- <div class="attr variable">
- <span class="name">CONNECT_BY</span> =
-<span class="default_value">&lt;<a href="#TokenType.CONNECT_BY">TokenType.CONNECT_BY</a>: &#39;CONNECT_BY&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.CONNECT_BY"></a>
-
-
-
- </div>
- <div id="TokenType.CONSTRAINT" class="classattr">
- <div class="attr variable">
- <span class="name">CONSTRAINT</span> =
-<span class="default_value">&lt;<a href="#TokenType.CONSTRAINT">TokenType.CONSTRAINT</a>: &#39;CONSTRAINT&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.CONSTRAINT"></a>
-
-
-
- </div>
- <div id="TokenType.CREATE" class="classattr">
- <div class="attr variable">
- <span class="name">CREATE</span> =
-<span class="default_value">&lt;<a href="#TokenType.CREATE">TokenType.CREATE</a>: &#39;CREATE&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.CREATE"></a>
-
-
-
- </div>
- <div id="TokenType.CROSS" class="classattr">
- <div class="attr variable">
- <span class="name">CROSS</span> =
-<span class="default_value">&lt;<a href="#TokenType.CROSS">TokenType.CROSS</a>: &#39;CROSS&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.CROSS"></a>
-
-
-
- </div>
- <div id="TokenType.CUBE" class="classattr">
- <div class="attr variable">
- <span class="name">CUBE</span> =
-<span class="default_value">&lt;<a href="#TokenType.CUBE">TokenType.CUBE</a>: &#39;CUBE&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.CUBE"></a>
-
-
-
- </div>
- <div id="TokenType.CURRENT_DATE" class="classattr">
- <div class="attr variable">
- <span class="name">CURRENT_DATE</span> =
-<span class="default_value">&lt;<a href="#TokenType.CURRENT_DATE">TokenType.CURRENT_DATE</a>: &#39;CURRENT_DATE&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.CURRENT_DATE"></a>
-
-
-
- </div>
- <div id="TokenType.CURRENT_DATETIME" class="classattr">
- <div class="attr variable">
- <span class="name">CURRENT_DATETIME</span> =
-<span class="default_value">&lt;<a href="#TokenType.CURRENT_DATETIME">TokenType.CURRENT_DATETIME</a>: &#39;CURRENT_DATETIME&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.CURRENT_DATETIME"></a>
-
-
-
- </div>
- <div id="TokenType.CURRENT_TIME" class="classattr">
- <div class="attr variable">
- <span class="name">CURRENT_TIME</span> =
-<span class="default_value">&lt;<a href="#TokenType.CURRENT_TIME">TokenType.CURRENT_TIME</a>: &#39;CURRENT_TIME&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.CURRENT_TIME"></a>
-
-
-
- </div>
- <div id="TokenType.CURRENT_TIMESTAMP" class="classattr">
- <div class="attr variable">
- <span class="name">CURRENT_TIMESTAMP</span> =
-<span class="default_value">&lt;<a href="#TokenType.CURRENT_TIMESTAMP">TokenType.CURRENT_TIMESTAMP</a>: &#39;CURRENT_TIMESTAMP&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.CURRENT_TIMESTAMP"></a>
-
-
-
- </div>
- <div id="TokenType.CURRENT_USER" class="classattr">
- <div class="attr variable">
- <span class="name">CURRENT_USER</span> =
-<span class="default_value">&lt;<a href="#TokenType.CURRENT_USER">TokenType.CURRENT_USER</a>: &#39;CURRENT_USER&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.CURRENT_USER"></a>
-
-
-
- </div>
- <div id="TokenType.DEFAULT" class="classattr">
- <div class="attr variable">
- <span class="name">DEFAULT</span> =
-<span class="default_value">&lt;<a href="#TokenType.DEFAULT">TokenType.DEFAULT</a>: &#39;DEFAULT&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.DEFAULT"></a>
-
-
-
- </div>
- <div id="TokenType.DELETE" class="classattr">
- <div class="attr variable">
- <span class="name">DELETE</span> =
-<span class="default_value">&lt;<a href="#TokenType.DELETE">TokenType.DELETE</a>: &#39;DELETE&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.DELETE"></a>
-
-
-
- </div>
- <div id="TokenType.DESC" class="classattr">
- <div class="attr variable">
- <span class="name">DESC</span> =
-<span class="default_value">&lt;<a href="#TokenType.DESC">TokenType.DESC</a>: &#39;DESC&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.DESC"></a>
-
-
-
- </div>
- <div id="TokenType.DESCRIBE" class="classattr">
- <div class="attr variable">
- <span class="name">DESCRIBE</span> =
-<span class="default_value">&lt;<a href="#TokenType.DESCRIBE">TokenType.DESCRIBE</a>: &#39;DESCRIBE&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.DESCRIBE"></a>
-
-
-
- </div>
- <div id="TokenType.DICTIONARY" class="classattr">
- <div class="attr variable">
- <span class="name">DICTIONARY</span> =
-<span class="default_value">&lt;<a href="#TokenType.DICTIONARY">TokenType.DICTIONARY</a>: &#39;DICTIONARY&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.DICTIONARY"></a>
-
-
-
- </div>
- <div id="TokenType.DISTINCT" class="classattr">
- <div class="attr variable">
- <span class="name">DISTINCT</span> =
-<span class="default_value">&lt;<a href="#TokenType.DISTINCT">TokenType.DISTINCT</a>: &#39;DISTINCT&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.DISTINCT"></a>
-
-
-
- </div>
- <div id="TokenType.DISTRIBUTE_BY" class="classattr">
- <div class="attr variable">
- <span class="name">DISTRIBUTE_BY</span> =
-<span class="default_value">&lt;<a href="#TokenType.DISTRIBUTE_BY">TokenType.DISTRIBUTE_BY</a>: &#39;DISTRIBUTE_BY&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.DISTRIBUTE_BY"></a>
-
-
-
- </div>
- <div id="TokenType.DIV" class="classattr">
- <div class="attr variable">
- <span class="name">DIV</span> =
-<span class="default_value">&lt;<a href="#TokenType.DIV">TokenType.DIV</a>: &#39;DIV&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.DIV"></a>
-
-
-
- </div>
- <div id="TokenType.DROP" class="classattr">
- <div class="attr variable">
- <span class="name">DROP</span> =
-<span class="default_value">&lt;<a href="#TokenType.DROP">TokenType.DROP</a>: &#39;DROP&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.DROP"></a>
-
-
-
- </div>
- <div id="TokenType.ELSE" class="classattr">
- <div class="attr variable">
- <span class="name">ELSE</span> =
-<span class="default_value">&lt;<a href="#TokenType.ELSE">TokenType.ELSE</a>: &#39;ELSE&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.ELSE"></a>
-
-
-
- </div>
- <div id="TokenType.END" class="classattr">
- <div class="attr variable">
- <span class="name">END</span> =
-<span class="default_value">&lt;<a href="#TokenType.END">TokenType.END</a>: &#39;END&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.END"></a>
-
-
-
- </div>
- <div id="TokenType.ESCAPE" class="classattr">
- <div class="attr variable">
- <span class="name">ESCAPE</span> =
-<span class="default_value">&lt;<a href="#TokenType.ESCAPE">TokenType.ESCAPE</a>: &#39;ESCAPE&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.ESCAPE"></a>
-
-
-
- </div>
- <div id="TokenType.EXCEPT" class="classattr">
- <div class="attr variable">
- <span class="name">EXCEPT</span> =
-<span class="default_value">&lt;<a href="#TokenType.EXCEPT">TokenType.EXCEPT</a>: &#39;EXCEPT&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.EXCEPT"></a>
-
-
-
- </div>
- <div id="TokenType.EXECUTE" class="classattr">
- <div class="attr variable">
- <span class="name">EXECUTE</span> =
-<span class="default_value">&lt;<a href="#TokenType.EXECUTE">TokenType.EXECUTE</a>: &#39;EXECUTE&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.EXECUTE"></a>
-
-
-
- </div>
- <div id="TokenType.EXISTS" class="classattr">
- <div class="attr variable">
- <span class="name">EXISTS</span> =
-<span class="default_value">&lt;<a href="#TokenType.EXISTS">TokenType.EXISTS</a>: &#39;EXISTS&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.EXISTS"></a>
-
-
-
- </div>
- <div id="TokenType.FALSE" class="classattr">
- <div class="attr variable">
- <span class="name">FALSE</span> =
-<span class="default_value">&lt;<a href="#TokenType.FALSE">TokenType.FALSE</a>: &#39;FALSE&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.FALSE"></a>
-
-
-
- </div>
- <div id="TokenType.FETCH" class="classattr">
- <div class="attr variable">
- <span class="name">FETCH</span> =
-<span class="default_value">&lt;<a href="#TokenType.FETCH">TokenType.FETCH</a>: &#39;FETCH&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.FETCH"></a>
-
-
-
- </div>
- <div id="TokenType.FILTER" class="classattr">
- <div class="attr variable">
- <span class="name">FILTER</span> =
-<span class="default_value">&lt;<a href="#TokenType.FILTER">TokenType.FILTER</a>: &#39;FILTER&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.FILTER"></a>
-
-
-
- </div>
- <div id="TokenType.FINAL" class="classattr">
- <div class="attr variable">
- <span class="name">FINAL</span> =
-<span class="default_value">&lt;<a href="#TokenType.FINAL">TokenType.FINAL</a>: &#39;FINAL&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.FINAL"></a>
-
-
-
- </div>
- <div id="TokenType.FIRST" class="classattr">
- <div class="attr variable">
- <span class="name">FIRST</span> =
-<span class="default_value">&lt;<a href="#TokenType.FIRST">TokenType.FIRST</a>: &#39;FIRST&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.FIRST"></a>
-
-
-
- </div>
- <div id="TokenType.FOR" class="classattr">
- <div class="attr variable">
- <span class="name">FOR</span> =
-<span class="default_value">&lt;<a href="#TokenType.FOR">TokenType.FOR</a>: &#39;FOR&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.FOR"></a>
-
-
-
- </div>
- <div id="TokenType.FORCE" class="classattr">
- <div class="attr variable">
- <span class="name">FORCE</span> =
-<span class="default_value">&lt;<a href="#TokenType.FORCE">TokenType.FORCE</a>: &#39;FORCE&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.FORCE"></a>
-
-
-
- </div>
- <div id="TokenType.FOREIGN_KEY" class="classattr">
- <div class="attr variable">
- <span class="name">FOREIGN_KEY</span> =
-<span class="default_value">&lt;<a href="#TokenType.FOREIGN_KEY">TokenType.FOREIGN_KEY</a>: &#39;FOREIGN_KEY&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.FOREIGN_KEY"></a>
-
-
-
- </div>
- <div id="TokenType.FORMAT" class="classattr">
- <div class="attr variable">
- <span class="name">FORMAT</span> =
-<span class="default_value">&lt;<a href="#TokenType.FORMAT">TokenType.FORMAT</a>: &#39;FORMAT&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.FORMAT"></a>
-
-
-
- </div>
- <div id="TokenType.FROM" class="classattr">
- <div class="attr variable">
- <span class="name">FROM</span> =
-<span class="default_value">&lt;<a href="#TokenType.FROM">TokenType.FROM</a>: &#39;FROM&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.FROM"></a>
-
-
-
- </div>
- <div id="TokenType.FULL" class="classattr">
- <div class="attr variable">
- <span class="name">FULL</span> =
-<span class="default_value">&lt;<a href="#TokenType.FULL">TokenType.FULL</a>: &#39;FULL&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.FULL"></a>
-
-
-
- </div>
- <div id="TokenType.FUNCTION" class="classattr">
- <div class="attr variable">
- <span class="name">FUNCTION</span> =
-<span class="default_value">&lt;<a href="#TokenType.FUNCTION">TokenType.FUNCTION</a>: &#39;FUNCTION&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.FUNCTION"></a>
-
-
-
- </div>
- <div id="TokenType.GLOB" class="classattr">
- <div class="attr variable">
- <span class="name">GLOB</span> =
-<span class="default_value">&lt;<a href="#TokenType.GLOB">TokenType.GLOB</a>: &#39;GLOB&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.GLOB"></a>
-
-
-
- </div>
- <div id="TokenType.GLOBAL" class="classattr">
- <div class="attr variable">
- <span class="name">GLOBAL</span> =
-<span class="default_value">&lt;<a href="#TokenType.GLOBAL">TokenType.GLOBAL</a>: &#39;GLOBAL&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.GLOBAL"></a>
-
-
-
- </div>
- <div id="TokenType.GROUP_BY" class="classattr">
- <div class="attr variable">
- <span class="name">GROUP_BY</span> =
-<span class="default_value">&lt;<a href="#TokenType.GROUP_BY">TokenType.GROUP_BY</a>: &#39;GROUP_BY&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.GROUP_BY"></a>
-
-
-
- </div>
- <div id="TokenType.GROUPING_SETS" class="classattr">
- <div class="attr variable">
- <span class="name">GROUPING_SETS</span> =
-<span class="default_value">&lt;<a href="#TokenType.GROUPING_SETS">TokenType.GROUPING_SETS</a>: &#39;GROUPING_SETS&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.GROUPING_SETS"></a>
-
-
-
- </div>
- <div id="TokenType.HAVING" class="classattr">
- <div class="attr variable">
- <span class="name">HAVING</span> =
-<span class="default_value">&lt;<a href="#TokenType.HAVING">TokenType.HAVING</a>: &#39;HAVING&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.HAVING"></a>
-
-
-
- </div>
- <div id="TokenType.HINT" class="classattr">
- <div class="attr variable">
- <span class="name">HINT</span> =
-<span class="default_value">&lt;<a href="#TokenType.HINT">TokenType.HINT</a>: &#39;HINT&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.HINT"></a>
-
-
-
- </div>
- <div id="TokenType.IGNORE" class="classattr">
- <div class="attr variable">
- <span class="name">IGNORE</span> =
-<span class="default_value">&lt;<a href="#TokenType.IGNORE">TokenType.IGNORE</a>: &#39;IGNORE&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.IGNORE"></a>
-
-
-
- </div>
- <div id="TokenType.ILIKE" class="classattr">
- <div class="attr variable">
- <span class="name">ILIKE</span> =
-<span class="default_value">&lt;<a href="#TokenType.ILIKE">TokenType.ILIKE</a>: &#39;ILIKE&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.ILIKE"></a>
-
-
-
- </div>
- <div id="TokenType.ILIKE_ANY" class="classattr">
- <div class="attr variable">
- <span class="name">ILIKE_ANY</span> =
-<span class="default_value">&lt;<a href="#TokenType.ILIKE_ANY">TokenType.ILIKE_ANY</a>: &#39;ILIKE_ANY&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.ILIKE_ANY"></a>
-
-
-
- </div>
- <div id="TokenType.IN" class="classattr">
- <div class="attr variable">
- <span class="name">IN</span> =
-<span class="default_value">&lt;<a href="#TokenType.IN">TokenType.IN</a>: &#39;IN&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.IN"></a>
-
-
-
- </div>
- <div id="TokenType.INDEX" class="classattr">
- <div class="attr variable">
- <span class="name">INDEX</span> =
-<span class="default_value">&lt;<a href="#TokenType.INDEX">TokenType.INDEX</a>: &#39;INDEX&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.INDEX"></a>
-
-
-
- </div>
- <div id="TokenType.INNER" class="classattr">
- <div class="attr variable">
- <span class="name">INNER</span> =
-<span class="default_value">&lt;<a href="#TokenType.INNER">TokenType.INNER</a>: &#39;INNER&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.INNER"></a>
-
-
-
- </div>
- <div id="TokenType.INSERT" class="classattr">
- <div class="attr variable">
- <span class="name">INSERT</span> =
-<span class="default_value">&lt;<a href="#TokenType.INSERT">TokenType.INSERT</a>: &#39;INSERT&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.INSERT"></a>
-
-
-
- </div>
- <div id="TokenType.INTERSECT" class="classattr">
- <div class="attr variable">
- <span class="name">INTERSECT</span> =
-<span class="default_value">&lt;<a href="#TokenType.INTERSECT">TokenType.INTERSECT</a>: &#39;INTERSECT&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.INTERSECT"></a>
-
-
-
- </div>
- <div id="TokenType.INTERVAL" class="classattr">
- <div class="attr variable">
- <span class="name">INTERVAL</span> =
-<span class="default_value">&lt;<a href="#TokenType.INTERVAL">TokenType.INTERVAL</a>: &#39;INTERVAL&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.INTERVAL"></a>
-
-
-
- </div>
- <div id="TokenType.INTO" class="classattr">
- <div class="attr variable">
- <span class="name">INTO</span> =
-<span class="default_value">&lt;<a href="#TokenType.INTO">TokenType.INTO</a>: &#39;INTO&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.INTO"></a>
-
-
-
- </div>
- <div id="TokenType.INTRODUCER" class="classattr">
- <div class="attr variable">
- <span class="name">INTRODUCER</span> =
-<span class="default_value">&lt;<a href="#TokenType.INTRODUCER">TokenType.INTRODUCER</a>: &#39;INTRODUCER&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.INTRODUCER"></a>
-
-
-
- </div>
- <div id="TokenType.IRLIKE" class="classattr">
- <div class="attr variable">
- <span class="name">IRLIKE</span> =
-<span class="default_value">&lt;<a href="#TokenType.IRLIKE">TokenType.IRLIKE</a>: &#39;IRLIKE&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.IRLIKE"></a>
-
-
-
- </div>
- <div id="TokenType.IS" class="classattr">
- <div class="attr variable">
- <span class="name">IS</span> =
-<span class="default_value">&lt;<a href="#TokenType.IS">TokenType.IS</a>: &#39;IS&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.IS"></a>
-
-
-
- </div>
- <div id="TokenType.ISNULL" class="classattr">
- <div class="attr variable">
- <span class="name">ISNULL</span> =
-<span class="default_value">&lt;<a href="#TokenType.ISNULL">TokenType.ISNULL</a>: &#39;ISNULL&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.ISNULL"></a>
-
-
-
- </div>
- <div id="TokenType.JOIN" class="classattr">
- <div class="attr variable">
- <span class="name">JOIN</span> =
-<span class="default_value">&lt;<a href="#TokenType.JOIN">TokenType.JOIN</a>: &#39;JOIN&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.JOIN"></a>
-
-
-
- </div>
- <div id="TokenType.JOIN_MARKER" class="classattr">
- <div class="attr variable">
- <span class="name">JOIN_MARKER</span> =
-<span class="default_value">&lt;<a href="#TokenType.JOIN_MARKER">TokenType.JOIN_MARKER</a>: &#39;JOIN_MARKER&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.JOIN_MARKER"></a>
-
-
-
- </div>
- <div id="TokenType.KEEP" class="classattr">
- <div class="attr variable">
- <span class="name">KEEP</span> =
-<span class="default_value">&lt;<a href="#TokenType.KEEP">TokenType.KEEP</a>: &#39;KEEP&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.KEEP"></a>
-
-
-
- </div>
- <div id="TokenType.KILL" class="classattr">
- <div class="attr variable">
- <span class="name">KILL</span> =
-<span class="default_value">&lt;<a href="#TokenType.KILL">TokenType.KILL</a>: &#39;KILL&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.KILL"></a>
-
-
-
- </div>
- <div id="TokenType.LANGUAGE" class="classattr">
- <div class="attr variable">
- <span class="name">LANGUAGE</span> =
-<span class="default_value">&lt;<a href="#TokenType.LANGUAGE">TokenType.LANGUAGE</a>: &#39;LANGUAGE&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.LANGUAGE"></a>
-
-
-
- </div>
- <div id="TokenType.LATERAL" class="classattr">
- <div class="attr variable">
- <span class="name">LATERAL</span> =
-<span class="default_value">&lt;<a href="#TokenType.LATERAL">TokenType.LATERAL</a>: &#39;LATERAL&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.LATERAL"></a>
-
-
-
- </div>
- <div id="TokenType.LEFT" class="classattr">
- <div class="attr variable">
- <span class="name">LEFT</span> =
-<span class="default_value">&lt;<a href="#TokenType.LEFT">TokenType.LEFT</a>: &#39;LEFT&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.LEFT"></a>
-
-
-
- </div>
- <div id="TokenType.LIKE" class="classattr">
- <div class="attr variable">
- <span class="name">LIKE</span> =
-<span class="default_value">&lt;<a href="#TokenType.LIKE">TokenType.LIKE</a>: &#39;LIKE&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.LIKE"></a>
-
-
-
- </div>
- <div id="TokenType.LIKE_ANY" class="classattr">
- <div class="attr variable">
- <span class="name">LIKE_ANY</span> =
-<span class="default_value">&lt;<a href="#TokenType.LIKE_ANY">TokenType.LIKE_ANY</a>: &#39;LIKE_ANY&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.LIKE_ANY"></a>
-
-
-
- </div>
- <div id="TokenType.LIMIT" class="classattr">
- <div class="attr variable">
- <span class="name">LIMIT</span> =
-<span class="default_value">&lt;<a href="#TokenType.LIMIT">TokenType.LIMIT</a>: &#39;LIMIT&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.LIMIT"></a>
-
-
-
- </div>
- <div id="TokenType.LOAD" class="classattr">
- <div class="attr variable">
- <span class="name">LOAD</span> =
-<span class="default_value">&lt;<a href="#TokenType.LOAD">TokenType.LOAD</a>: &#39;LOAD&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.LOAD"></a>
-
-
-
- </div>
- <div id="TokenType.LOCK" class="classattr">
- <div class="attr variable">
- <span class="name">LOCK</span> =
-<span class="default_value">&lt;<a href="#TokenType.LOCK">TokenType.LOCK</a>: &#39;LOCK&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.LOCK"></a>
-
-
-
- </div>
- <div id="TokenType.MAP" class="classattr">
- <div class="attr variable">
- <span class="name">MAP</span> =
-<span class="default_value">&lt;<a href="#TokenType.MAP">TokenType.MAP</a>: &#39;MAP&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.MAP"></a>
-
-
-
- </div>
- <div id="TokenType.MATCH_RECOGNIZE" class="classattr">
- <div class="attr variable">
- <span class="name">MATCH_RECOGNIZE</span> =
-<span class="default_value">&lt;<a href="#TokenType.MATCH_RECOGNIZE">TokenType.MATCH_RECOGNIZE</a>: &#39;MATCH_RECOGNIZE&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.MATCH_RECOGNIZE"></a>
-
-
-
- </div>
- <div id="TokenType.MEMBER_OF" class="classattr">
- <div class="attr variable">
- <span class="name">MEMBER_OF</span> =
-<span class="default_value">&lt;<a href="#TokenType.MEMBER_OF">TokenType.MEMBER_OF</a>: &#39;MEMBER_OF&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.MEMBER_OF"></a>
-
-
-
- </div>
- <div id="TokenType.MERGE" class="classattr">
- <div class="attr variable">
- <span class="name">MERGE</span> =
-<span class="default_value">&lt;<a href="#TokenType.MERGE">TokenType.MERGE</a>: &#39;MERGE&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.MERGE"></a>
-
-
-
- </div>
- <div id="TokenType.MOD" class="classattr">
- <div class="attr variable">
- <span class="name">MOD</span> =
-<span class="default_value">&lt;<a href="#TokenType.MOD">TokenType.MOD</a>: &#39;MOD&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.MOD"></a>
-
-
-
- </div>
- <div id="TokenType.MODEL" class="classattr">
- <div class="attr variable">
- <span class="name">MODEL</span> =
-<span class="default_value">&lt;<a href="#TokenType.MODEL">TokenType.MODEL</a>: &#39;MODEL&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.MODEL"></a>
-
-
-
- </div>
- <div id="TokenType.NATURAL" class="classattr">
- <div class="attr variable">
- <span class="name">NATURAL</span> =
-<span class="default_value">&lt;<a href="#TokenType.NATURAL">TokenType.NATURAL</a>: &#39;NATURAL&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.NATURAL"></a>
-
-
-
- </div>
- <div id="TokenType.NEXT" class="classattr">
- <div class="attr variable">
- <span class="name">NEXT</span> =
-<span class="default_value">&lt;<a href="#TokenType.NEXT">TokenType.NEXT</a>: &#39;NEXT&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.NEXT"></a>
-
-
-
- </div>
- <div id="TokenType.NOTNULL" class="classattr">
- <div class="attr variable">
- <span class="name">NOTNULL</span> =
-<span class="default_value">&lt;<a href="#TokenType.NOTNULL">TokenType.NOTNULL</a>: &#39;NOTNULL&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.NOTNULL"></a>
-
-
-
- </div>
- <div id="TokenType.NULL" class="classattr">
- <div class="attr variable">
- <span class="name">NULL</span> =
-<span class="default_value">&lt;<a href="#TokenType.NULL">TokenType.NULL</a>: &#39;NULL&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.NULL"></a>
-
-
-
- </div>
- <div id="TokenType.OBJECT_IDENTIFIER" class="classattr">
- <div class="attr variable">
- <span class="name">OBJECT_IDENTIFIER</span> =
-<span class="default_value">&lt;<a href="#TokenType.OBJECT_IDENTIFIER">TokenType.OBJECT_IDENTIFIER</a>: &#39;OBJECT_IDENTIFIER&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.OBJECT_IDENTIFIER"></a>
-
-
-
- </div>
- <div id="TokenType.OFFSET" class="classattr">
- <div class="attr variable">
- <span class="name">OFFSET</span> =
-<span class="default_value">&lt;<a href="#TokenType.OFFSET">TokenType.OFFSET</a>: &#39;OFFSET&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.OFFSET"></a>
-
-
-
- </div>
- <div id="TokenType.ON" class="classattr">
- <div class="attr variable">
- <span class="name">ON</span> =
-<span class="default_value">&lt;<a href="#TokenType.ON">TokenType.ON</a>: &#39;ON&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.ON"></a>
-
-
-
- </div>
- <div id="TokenType.OPERATOR" class="classattr">
- <div class="attr variable">
- <span class="name">OPERATOR</span> =
-<span class="default_value">&lt;<a href="#TokenType.OPERATOR">TokenType.OPERATOR</a>: &#39;OPERATOR&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.OPERATOR"></a>
-
-
-
- </div>
- <div id="TokenType.ORDER_BY" class="classattr">
- <div class="attr variable">
- <span class="name">ORDER_BY</span> =
-<span class="default_value">&lt;<a href="#TokenType.ORDER_BY">TokenType.ORDER_BY</a>: &#39;ORDER_BY&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.ORDER_BY"></a>
-
-
-
- </div>
- <div id="TokenType.ORDERED" class="classattr">
- <div class="attr variable">
- <span class="name">ORDERED</span> =
-<span class="default_value">&lt;<a href="#TokenType.ORDERED">TokenType.ORDERED</a>: &#39;ORDERED&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.ORDERED"></a>
-
-
-
- </div>
- <div id="TokenType.ORDINALITY" class="classattr">
- <div class="attr variable">
- <span class="name">ORDINALITY</span> =
-<span class="default_value">&lt;<a href="#TokenType.ORDINALITY">TokenType.ORDINALITY</a>: &#39;ORDINALITY&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.ORDINALITY"></a>
-
-
-
- </div>
- <div id="TokenType.OUTER" class="classattr">
- <div class="attr variable">
- <span class="name">OUTER</span> =
-<span class="default_value">&lt;<a href="#TokenType.OUTER">TokenType.OUTER</a>: &#39;OUTER&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.OUTER"></a>
-
-
-
- </div>
- <div id="TokenType.OVER" class="classattr">
- <div class="attr variable">
- <span class="name">OVER</span> =
-<span class="default_value">&lt;<a href="#TokenType.OVER">TokenType.OVER</a>: &#39;OVER&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.OVER"></a>
-
-
-
- </div>
- <div id="TokenType.OVERLAPS" class="classattr">
- <div class="attr variable">
- <span class="name">OVERLAPS</span> =
-<span class="default_value">&lt;<a href="#TokenType.OVERLAPS">TokenType.OVERLAPS</a>: &#39;OVERLAPS&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.OVERLAPS"></a>
-
-
-
- </div>
- <div id="TokenType.OVERWRITE" class="classattr">
- <div class="attr variable">
- <span class="name">OVERWRITE</span> =
-<span class="default_value">&lt;<a href="#TokenType.OVERWRITE">TokenType.OVERWRITE</a>: &#39;OVERWRITE&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.OVERWRITE"></a>
-
-
-
- </div>
- <div id="TokenType.PARTITION" class="classattr">
- <div class="attr variable">
- <span class="name">PARTITION</span> =
-<span class="default_value">&lt;<a href="#TokenType.PARTITION">TokenType.PARTITION</a>: &#39;PARTITION&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.PARTITION"></a>
-
-
-
- </div>
- <div id="TokenType.PARTITION_BY" class="classattr">
- <div class="attr variable">
- <span class="name">PARTITION_BY</span> =
-<span class="default_value">&lt;<a href="#TokenType.PARTITION_BY">TokenType.PARTITION_BY</a>: &#39;PARTITION_BY&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.PARTITION_BY"></a>
-
-
-
- </div>
- <div id="TokenType.PERCENT" class="classattr">
- <div class="attr variable">
- <span class="name">PERCENT</span> =
-<span class="default_value">&lt;<a href="#TokenType.PERCENT">TokenType.PERCENT</a>: &#39;PERCENT&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.PERCENT"></a>
-
-
-
- </div>
- <div id="TokenType.PIVOT" class="classattr">
- <div class="attr variable">
- <span class="name">PIVOT</span> =
-<span class="default_value">&lt;<a href="#TokenType.PIVOT">TokenType.PIVOT</a>: &#39;PIVOT&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.PIVOT"></a>
-
-
-
- </div>
- <div id="TokenType.PLACEHOLDER" class="classattr">
- <div class="attr variable">
- <span class="name">PLACEHOLDER</span> =
-<span class="default_value">&lt;<a href="#TokenType.PLACEHOLDER">TokenType.PLACEHOLDER</a>: &#39;PLACEHOLDER&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.PLACEHOLDER"></a>
-
-
-
- </div>
- <div id="TokenType.PRAGMA" class="classattr">
- <div class="attr variable">
- <span class="name">PRAGMA</span> =
-<span class="default_value">&lt;<a href="#TokenType.PRAGMA">TokenType.PRAGMA</a>: &#39;PRAGMA&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.PRAGMA"></a>
-
-
-
- </div>
- <div id="TokenType.PRIMARY_KEY" class="classattr">
- <div class="attr variable">
- <span class="name">PRIMARY_KEY</span> =
-<span class="default_value">&lt;<a href="#TokenType.PRIMARY_KEY">TokenType.PRIMARY_KEY</a>: &#39;PRIMARY_KEY&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.PRIMARY_KEY"></a>
-
-
-
- </div>
- <div id="TokenType.PROCEDURE" class="classattr">
- <div class="attr variable">
- <span class="name">PROCEDURE</span> =
-<span class="default_value">&lt;<a href="#TokenType.PROCEDURE">TokenType.PROCEDURE</a>: &#39;PROCEDURE&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.PROCEDURE"></a>
-
-
-
- </div>
- <div id="TokenType.PROPERTIES" class="classattr">
- <div class="attr variable">
- <span class="name">PROPERTIES</span> =
-<span class="default_value">&lt;<a href="#TokenType.PROPERTIES">TokenType.PROPERTIES</a>: &#39;PROPERTIES&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.PROPERTIES"></a>
-
-
-
- </div>
- <div id="TokenType.PSEUDO_TYPE" class="classattr">
- <div class="attr variable">
- <span class="name">PSEUDO_TYPE</span> =
-<span class="default_value">&lt;<a href="#TokenType.PSEUDO_TYPE">TokenType.PSEUDO_TYPE</a>: &#39;PSEUDO_TYPE&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.PSEUDO_TYPE"></a>
-
-
-
- </div>
- <div id="TokenType.QUALIFY" class="classattr">
- <div class="attr variable">
- <span class="name">QUALIFY</span> =
-<span class="default_value">&lt;<a href="#TokenType.QUALIFY">TokenType.QUALIFY</a>: &#39;QUALIFY&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.QUALIFY"></a>
-
-
-
- </div>
- <div id="TokenType.QUOTE" class="classattr">
- <div class="attr variable">
- <span class="name">QUOTE</span> =
-<span class="default_value">&lt;<a href="#TokenType.QUOTE">TokenType.QUOTE</a>: &#39;QUOTE&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.QUOTE"></a>
-
-
-
- </div>
- <div id="TokenType.RANGE" class="classattr">
- <div class="attr variable">
- <span class="name">RANGE</span> =
-<span class="default_value">&lt;<a href="#TokenType.RANGE">TokenType.RANGE</a>: &#39;RANGE&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.RANGE"></a>
-
-
-
- </div>
- <div id="TokenType.RECURSIVE" class="classattr">
- <div class="attr variable">
- <span class="name">RECURSIVE</span> =
-<span class="default_value">&lt;<a href="#TokenType.RECURSIVE">TokenType.RECURSIVE</a>: &#39;RECURSIVE&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.RECURSIVE"></a>
-
-
-
- </div>
- <div id="TokenType.REFRESH" class="classattr">
- <div class="attr variable">
- <span class="name">REFRESH</span> =
-<span class="default_value">&lt;<a href="#TokenType.REFRESH">TokenType.REFRESH</a>: &#39;REFRESH&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.REFRESH"></a>
-
-
-
- </div>
- <div id="TokenType.REPLACE" class="classattr">
- <div class="attr variable">
- <span class="name">REPLACE</span> =
-<span class="default_value">&lt;<a href="#TokenType.REPLACE">TokenType.REPLACE</a>: &#39;REPLACE&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.REPLACE"></a>
-
-
-
- </div>
- <div id="TokenType.RETURNING" class="classattr">
- <div class="attr variable">
- <span class="name">RETURNING</span> =
-<span class="default_value">&lt;<a href="#TokenType.RETURNING">TokenType.RETURNING</a>: &#39;RETURNING&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.RETURNING"></a>
-
-
-
- </div>
- <div id="TokenType.REFERENCES" class="classattr">
- <div class="attr variable">
- <span class="name">REFERENCES</span> =
-<span class="default_value">&lt;<a href="#TokenType.REFERENCES">TokenType.REFERENCES</a>: &#39;REFERENCES&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.REFERENCES"></a>
-
-
-
- </div>
- <div id="TokenType.RIGHT" class="classattr">
- <div class="attr variable">
- <span class="name">RIGHT</span> =
-<span class="default_value">&lt;<a href="#TokenType.RIGHT">TokenType.RIGHT</a>: &#39;RIGHT&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.RIGHT"></a>
-
-
-
- </div>
- <div id="TokenType.RLIKE" class="classattr">
- <div class="attr variable">
- <span class="name">RLIKE</span> =
-<span class="default_value">&lt;<a href="#TokenType.RLIKE">TokenType.RLIKE</a>: &#39;RLIKE&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.RLIKE"></a>
-
-
-
- </div>
- <div id="TokenType.ROLLBACK" class="classattr">
- <div class="attr variable">
- <span class="name">ROLLBACK</span> =
-<span class="default_value">&lt;<a href="#TokenType.ROLLBACK">TokenType.ROLLBACK</a>: &#39;ROLLBACK&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.ROLLBACK"></a>
-
-
-
- </div>
- <div id="TokenType.ROLLUP" class="classattr">
- <div class="attr variable">
- <span class="name">ROLLUP</span> =
-<span class="default_value">&lt;<a href="#TokenType.ROLLUP">TokenType.ROLLUP</a>: &#39;ROLLUP&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.ROLLUP"></a>
-
-
-
- </div>
- <div id="TokenType.ROW" class="classattr">
- <div class="attr variable">
- <span class="name">ROW</span> =
-<span class="default_value">&lt;<a href="#TokenType.ROW">TokenType.ROW</a>: &#39;ROW&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.ROW"></a>
-
-
-
- </div>
- <div id="TokenType.ROWS" class="classattr">
- <div class="attr variable">
- <span class="name">ROWS</span> =
-<span class="default_value">&lt;<a href="#TokenType.ROWS">TokenType.ROWS</a>: &#39;ROWS&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.ROWS"></a>
-
-
-
- </div>
- <div id="TokenType.SELECT" class="classattr">
- <div class="attr variable">
- <span class="name">SELECT</span> =
-<span class="default_value">&lt;<a href="#TokenType.SELECT">TokenType.SELECT</a>: &#39;SELECT&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.SELECT"></a>
-
-
-
- </div>
- <div id="TokenType.SEMI" class="classattr">
- <div class="attr variable">
- <span class="name">SEMI</span> =
-<span class="default_value">&lt;<a href="#TokenType.SEMI">TokenType.SEMI</a>: &#39;SEMI&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.SEMI"></a>
-
-
-
- </div>
- <div id="TokenType.SEPARATOR" class="classattr">
- <div class="attr variable">
- <span class="name">SEPARATOR</span> =
-<span class="default_value">&lt;<a href="#TokenType.SEPARATOR">TokenType.SEPARATOR</a>: &#39;SEPARATOR&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.SEPARATOR"></a>
-
-
-
- </div>
- <div id="TokenType.SERDE_PROPERTIES" class="classattr">
- <div class="attr variable">
- <span class="name">SERDE_PROPERTIES</span> =
-<span class="default_value">&lt;<a href="#TokenType.SERDE_PROPERTIES">TokenType.SERDE_PROPERTIES</a>: &#39;SERDE_PROPERTIES&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.SERDE_PROPERTIES"></a>
-
-
-
- </div>
- <div id="TokenType.SET" class="classattr">
- <div class="attr variable">
- <span class="name">SET</span> =
-<span class="default_value">&lt;<a href="#TokenType.SET">TokenType.SET</a>: &#39;SET&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.SET"></a>
-
-
-
- </div>
- <div id="TokenType.SETTINGS" class="classattr">
- <div class="attr variable">
- <span class="name">SETTINGS</span> =
-<span class="default_value">&lt;<a href="#TokenType.SETTINGS">TokenType.SETTINGS</a>: &#39;SETTINGS&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.SETTINGS"></a>
-
-
-
- </div>
- <div id="TokenType.SHOW" class="classattr">
- <div class="attr variable">
- <span class="name">SHOW</span> =
-<span class="default_value">&lt;<a href="#TokenType.SHOW">TokenType.SHOW</a>: &#39;SHOW&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.SHOW"></a>
-
-
-
- </div>
- <div id="TokenType.SIMILAR_TO" class="classattr">
- <div class="attr variable">
- <span class="name">SIMILAR_TO</span> =
-<span class="default_value">&lt;<a href="#TokenType.SIMILAR_TO">TokenType.SIMILAR_TO</a>: &#39;SIMILAR_TO&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.SIMILAR_TO"></a>
-
-
-
- </div>
- <div id="TokenType.SOME" class="classattr">
- <div class="attr variable">
- <span class="name">SOME</span> =
-<span class="default_value">&lt;<a href="#TokenType.SOME">TokenType.SOME</a>: &#39;SOME&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.SOME"></a>
-
-
-
- </div>
- <div id="TokenType.SORT_BY" class="classattr">
- <div class="attr variable">
- <span class="name">SORT_BY</span> =
-<span class="default_value">&lt;<a href="#TokenType.SORT_BY">TokenType.SORT_BY</a>: &#39;SORT_BY&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.SORT_BY"></a>
-
-
-
- </div>
- <div id="TokenType.START_WITH" class="classattr">
- <div class="attr variable">
- <span class="name">START_WITH</span> =
-<span class="default_value">&lt;<a href="#TokenType.START_WITH">TokenType.START_WITH</a>: &#39;START_WITH&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.START_WITH"></a>
-
-
-
- </div>
- <div id="TokenType.STRUCT" class="classattr">
- <div class="attr variable">
- <span class="name">STRUCT</span> =
-<span class="default_value">&lt;<a href="#TokenType.STRUCT">TokenType.STRUCT</a>: &#39;STRUCT&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.STRUCT"></a>
-
-
-
- </div>
- <div id="TokenType.TABLE_SAMPLE" class="classattr">
- <div class="attr variable">
- <span class="name">TABLE_SAMPLE</span> =
-<span class="default_value">&lt;<a href="#TokenType.TABLE_SAMPLE">TokenType.TABLE_SAMPLE</a>: &#39;TABLE_SAMPLE&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.TABLE_SAMPLE"></a>
-
-
-
- </div>
- <div id="TokenType.TEMPORARY" class="classattr">
- <div class="attr variable">
- <span class="name">TEMPORARY</span> =
-<span class="default_value">&lt;<a href="#TokenType.TEMPORARY">TokenType.TEMPORARY</a>: &#39;TEMPORARY&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.TEMPORARY"></a>
-
-
-
- </div>
- <div id="TokenType.TOP" class="classattr">
- <div class="attr variable">
- <span class="name">TOP</span> =
-<span class="default_value">&lt;<a href="#TokenType.TOP">TokenType.TOP</a>: &#39;TOP&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.TOP"></a>
-
-
-
- </div>
- <div id="TokenType.THEN" class="classattr">
- <div class="attr variable">
- <span class="name">THEN</span> =
-<span class="default_value">&lt;<a href="#TokenType.THEN">TokenType.THEN</a>: &#39;THEN&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.THEN"></a>
-
-
-
- </div>
- <div id="TokenType.TRUE" class="classattr">
- <div class="attr variable">
- <span class="name">TRUE</span> =
-<span class="default_value">&lt;<a href="#TokenType.TRUE">TokenType.TRUE</a>: &#39;TRUE&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.TRUE"></a>
-
-
-
- </div>
- <div id="TokenType.UNCACHE" class="classattr">
- <div class="attr variable">
- <span class="name">UNCACHE</span> =
-<span class="default_value">&lt;<a href="#TokenType.UNCACHE">TokenType.UNCACHE</a>: &#39;UNCACHE&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.UNCACHE"></a>
-
-
-
- </div>
- <div id="TokenType.UNION" class="classattr">
- <div class="attr variable">
- <span class="name">UNION</span> =
-<span class="default_value">&lt;<a href="#TokenType.UNION">TokenType.UNION</a>: &#39;UNION&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.UNION"></a>
-
-
-
- </div>
- <div id="TokenType.UNNEST" class="classattr">
- <div class="attr variable">
- <span class="name">UNNEST</span> =
-<span class="default_value">&lt;<a href="#TokenType.UNNEST">TokenType.UNNEST</a>: &#39;UNNEST&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.UNNEST"></a>
-
-
-
- </div>
- <div id="TokenType.UNPIVOT" class="classattr">
- <div class="attr variable">
- <span class="name">UNPIVOT</span> =
-<span class="default_value">&lt;<a href="#TokenType.UNPIVOT">TokenType.UNPIVOT</a>: &#39;UNPIVOT&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.UNPIVOT"></a>
-
-
-
- </div>
- <div id="TokenType.UPDATE" class="classattr">
- <div class="attr variable">
- <span class="name">UPDATE</span> =
-<span class="default_value">&lt;<a href="#TokenType.UPDATE">TokenType.UPDATE</a>: &#39;UPDATE&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.UPDATE"></a>
-
-
-
- </div>
- <div id="TokenType.USE" class="classattr">
- <div class="attr variable">
- <span class="name">USE</span> =
-<span class="default_value">&lt;<a href="#TokenType.USE">TokenType.USE</a>: &#39;USE&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.USE"></a>
-
-
-
- </div>
- <div id="TokenType.USING" class="classattr">
- <div class="attr variable">
- <span class="name">USING</span> =
-<span class="default_value">&lt;<a href="#TokenType.USING">TokenType.USING</a>: &#39;USING&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.USING"></a>
-
-
-
- </div>
- <div id="TokenType.VALUES" class="classattr">
- <div class="attr variable">
- <span class="name">VALUES</span> =
-<span class="default_value">&lt;<a href="#TokenType.VALUES">TokenType.VALUES</a>: &#39;VALUES&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.VALUES"></a>
-
-
-
- </div>
- <div id="TokenType.VIEW" class="classattr">
- <div class="attr variable">
- <span class="name">VIEW</span> =
-<span class="default_value">&lt;<a href="#TokenType.VIEW">TokenType.VIEW</a>: &#39;VIEW&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.VIEW"></a>
-
-
-
- </div>
- <div id="TokenType.VOLATILE" class="classattr">
- <div class="attr variable">
- <span class="name">VOLATILE</span> =
-<span class="default_value">&lt;<a href="#TokenType.VOLATILE">TokenType.VOLATILE</a>: &#39;VOLATILE&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.VOLATILE"></a>
-
-
-
- </div>
- <div id="TokenType.WHEN" class="classattr">
- <div class="attr variable">
- <span class="name">WHEN</span> =
-<span class="default_value">&lt;<a href="#TokenType.WHEN">TokenType.WHEN</a>: &#39;WHEN&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.WHEN"></a>
-
-
-
- </div>
- <div id="TokenType.WHERE" class="classattr">
- <div class="attr variable">
- <span class="name">WHERE</span> =
-<span class="default_value">&lt;<a href="#TokenType.WHERE">TokenType.WHERE</a>: &#39;WHERE&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.WHERE"></a>
-
-
-
- </div>
- <div id="TokenType.WINDOW" class="classattr">
- <div class="attr variable">
- <span class="name">WINDOW</span> =
-<span class="default_value">&lt;<a href="#TokenType.WINDOW">TokenType.WINDOW</a>: &#39;WINDOW&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.WINDOW"></a>
-
-
-
- </div>
- <div id="TokenType.WITH" class="classattr">
- <div class="attr variable">
- <span class="name">WITH</span> =
-<span class="default_value">&lt;<a href="#TokenType.WITH">TokenType.WITH</a>: &#39;WITH&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.WITH"></a>
-
-
-
- </div>
- <div id="TokenType.UNIQUE" class="classattr">
- <div class="attr variable">
- <span class="name">UNIQUE</span> =
-<span class="default_value">&lt;<a href="#TokenType.UNIQUE">TokenType.UNIQUE</a>: &#39;UNIQUE&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.UNIQUE"></a>
-
-
-
- </div>
- <div id="TokenType.VERSION_SNAPSHOT" class="classattr">
- <div class="attr variable">
- <span class="name">VERSION_SNAPSHOT</span> =
-<span class="default_value">&lt;<a href="#TokenType.VERSION_SNAPSHOT">TokenType.VERSION_SNAPSHOT</a>: &#39;VERSION_SNAPSHOT&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.VERSION_SNAPSHOT"></a>
-
-
-
- </div>
- <div id="TokenType.TIMESTAMP_SNAPSHOT" class="classattr">
- <div class="attr variable">
- <span class="name">TIMESTAMP_SNAPSHOT</span> =
-<span class="default_value">&lt;<a href="#TokenType.TIMESTAMP_SNAPSHOT">TokenType.TIMESTAMP_SNAPSHOT</a>: &#39;TIMESTAMP_SNAPSHOT&#39;&gt;</span>
-
-
- </div>
- <a class="headerlink" href="#TokenType.TIMESTAMP_SNAPSHOT"></a>
-
-
-
- </div>
- <div class="inherited">
- <h5>Inherited Members</h5>
- <dl>
- <div><dt>enum.Enum</dt>
- <dd id="TokenType.name" class="variable">name</dd>
- <dd id="TokenType.value" class="variable">value</dd>
-
- </div>
- </dl>
- </div>
- </section>
<section id="Token">
<input id="Token-view-source" class="view-source-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
<div class="attr class">
@@ -6709,61 +1181,61 @@
</div>
<a class="headerlink" href="#Token"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Token-351"><a href="#Token-351"><span class="linenos">351</span></a><span class="k">class</span> <span class="nc">Token</span><span class="p">:</span>
-</span><span id="Token-352"><a href="#Token-352"><span class="linenos">352</span></a> <span class="vm">__slots__</span> <span class="o">=</span> <span class="p">(</span><span class="s2">&quot;token_type&quot;</span><span class="p">,</span> <span class="s2">&quot;text&quot;</span><span class="p">,</span> <span class="s2">&quot;line&quot;</span><span class="p">,</span> <span class="s2">&quot;col&quot;</span><span class="p">,</span> <span class="s2">&quot;start&quot;</span><span class="p">,</span> <span class="s2">&quot;end&quot;</span><span class="p">,</span> <span class="s2">&quot;comments&quot;</span><span class="p">)</span>
-</span><span id="Token-353"><a href="#Token-353"><span class="linenos">353</span></a>
-</span><span id="Token-354"><a href="#Token-354"><span class="linenos">354</span></a> <span class="nd">@classmethod</span>
-</span><span id="Token-355"><a href="#Token-355"><span class="linenos">355</span></a> <span class="k">def</span> <span class="nf">number</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">number</span><span class="p">:</span> <span class="nb">int</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Token</span><span class="p">:</span>
-</span><span id="Token-356"><a href="#Token-356"><span class="linenos">356</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Returns a NUMBER token with `number` as its text.&quot;&quot;&quot;</span>
-</span><span id="Token-357"><a href="#Token-357"><span class="linenos">357</span></a> <span class="k">return</span> <span class="bp">cls</span><span class="p">(</span><span class="n">TokenType</span><span class="o">.</span><span class="n">NUMBER</span><span class="p">,</span> <span class="nb">str</span><span class="p">(</span><span class="n">number</span><span class="p">))</span>
-</span><span id="Token-358"><a href="#Token-358"><span class="linenos">358</span></a>
-</span><span id="Token-359"><a href="#Token-359"><span class="linenos">359</span></a> <span class="nd">@classmethod</span>
-</span><span id="Token-360"><a href="#Token-360"><span class="linenos">360</span></a> <span class="k">def</span> <span class="nf">string</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">string</span><span class="p">:</span> <span class="nb">str</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Token</span><span class="p">:</span>
-</span><span id="Token-361"><a href="#Token-361"><span class="linenos">361</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Returns a STRING token with `string` as its text.&quot;&quot;&quot;</span>
-</span><span id="Token-362"><a href="#Token-362"><span class="linenos">362</span></a> <span class="k">return</span> <span class="bp">cls</span><span class="p">(</span><span class="n">TokenType</span><span class="o">.</span><span class="n">STRING</span><span class="p">,</span> <span class="n">string</span><span class="p">)</span>
-</span><span id="Token-363"><a href="#Token-363"><span class="linenos">363</span></a>
-</span><span id="Token-364"><a href="#Token-364"><span class="linenos">364</span></a> <span class="nd">@classmethod</span>
-</span><span id="Token-365"><a href="#Token-365"><span class="linenos">365</span></a> <span class="k">def</span> <span class="nf">identifier</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">identifier</span><span class="p">:</span> <span class="nb">str</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Token</span><span class="p">:</span>
-</span><span id="Token-366"><a href="#Token-366"><span class="linenos">366</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Returns an IDENTIFIER token with `identifier` as its text.&quot;&quot;&quot;</span>
-</span><span id="Token-367"><a href="#Token-367"><span class="linenos">367</span></a> <span class="k">return</span> <span class="bp">cls</span><span class="p">(</span><span class="n">TokenType</span><span class="o">.</span><span class="n">IDENTIFIER</span><span class="p">,</span> <span class="n">identifier</span><span class="p">)</span>
-</span><span id="Token-368"><a href="#Token-368"><span class="linenos">368</span></a>
-</span><span id="Token-369"><a href="#Token-369"><span class="linenos">369</span></a> <span class="nd">@classmethod</span>
-</span><span id="Token-370"><a href="#Token-370"><span class="linenos">370</span></a> <span class="k">def</span> <span class="nf">var</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">var</span><span class="p">:</span> <span class="nb">str</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Token</span><span class="p">:</span>
-</span><span id="Token-371"><a href="#Token-371"><span class="linenos">371</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Returns an VAR token with `var` as its text.&quot;&quot;&quot;</span>
-</span><span id="Token-372"><a href="#Token-372"><span class="linenos">372</span></a> <span class="k">return</span> <span class="bp">cls</span><span class="p">(</span><span class="n">TokenType</span><span class="o">.</span><span class="n">VAR</span><span class="p">,</span> <span class="n">var</span><span class="p">)</span>
-</span><span id="Token-373"><a href="#Token-373"><span class="linenos">373</span></a>
-</span><span id="Token-374"><a href="#Token-374"><span class="linenos">374</span></a> <span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span>
-</span><span id="Token-375"><a href="#Token-375"><span class="linenos">375</span></a> <span class="bp">self</span><span class="p">,</span>
-</span><span id="Token-376"><a href="#Token-376"><span class="linenos">376</span></a> <span class="n">token_type</span><span class="p">:</span> <span class="n">TokenType</span><span class="p">,</span>
-</span><span id="Token-377"><a href="#Token-377"><span class="linenos">377</span></a> <span class="n">text</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span>
-</span><span id="Token-378"><a href="#Token-378"><span class="linenos">378</span></a> <span class="n">line</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">1</span><span class="p">,</span>
-</span><span id="Token-379"><a href="#Token-379"><span class="linenos">379</span></a> <span class="n">col</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">1</span><span class="p">,</span>
-</span><span id="Token-380"><a href="#Token-380"><span class="linenos">380</span></a> <span class="n">start</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">0</span><span class="p">,</span>
-</span><span id="Token-381"><a href="#Token-381"><span class="linenos">381</span></a> <span class="n">end</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">0</span><span class="p">,</span>
-</span><span id="Token-382"><a href="#Token-382"><span class="linenos">382</span></a> <span class="n">comments</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="n">t</span><span class="o">.</span><span class="n">List</span><span class="p">[</span><span class="nb">str</span><span class="p">]]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="Token-383"><a href="#Token-383"><span class="linenos">383</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
-</span><span id="Token-384"><a href="#Token-384"><span class="linenos">384</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Token initializer.</span>
-</span><span id="Token-385"><a href="#Token-385"><span class="linenos">385</span></a>
-</span><span id="Token-386"><a href="#Token-386"><span class="linenos">386</span></a><span class="sd"> Args:</span>
-</span><span id="Token-387"><a href="#Token-387"><span class="linenos">387</span></a><span class="sd"> token_type: The TokenType Enum.</span>
-</span><span id="Token-388"><a href="#Token-388"><span class="linenos">388</span></a><span class="sd"> text: The text of the token.</span>
-</span><span id="Token-389"><a href="#Token-389"><span class="linenos">389</span></a><span class="sd"> line: The line that the token ends on.</span>
-</span><span id="Token-390"><a href="#Token-390"><span class="linenos">390</span></a><span class="sd"> col: The column that the token ends on.</span>
-</span><span id="Token-391"><a href="#Token-391"><span class="linenos">391</span></a><span class="sd"> start: The start index of the token.</span>
-</span><span id="Token-392"><a href="#Token-392"><span class="linenos">392</span></a><span class="sd"> end: The ending index of the token.</span>
-</span><span id="Token-393"><a href="#Token-393"><span class="linenos">393</span></a><span class="sd"> comments: The comments to attach to the token.</span>
-</span><span id="Token-394"><a href="#Token-394"><span class="linenos">394</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="Token-395"><a href="#Token-395"><span class="linenos">395</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">token_type</span> <span class="o">=</span> <span class="n">token_type</span>
-</span><span id="Token-396"><a href="#Token-396"><span class="linenos">396</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">text</span> <span class="o">=</span> <span class="n">text</span>
-</span><span id="Token-397"><a href="#Token-397"><span class="linenos">397</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">line</span> <span class="o">=</span> <span class="n">line</span>
-</span><span id="Token-398"><a href="#Token-398"><span class="linenos">398</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">col</span> <span class="o">=</span> <span class="n">col</span>
-</span><span id="Token-399"><a href="#Token-399"><span class="linenos">399</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">start</span> <span class="o">=</span> <span class="n">start</span>
-</span><span id="Token-400"><a href="#Token-400"><span class="linenos">400</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">end</span> <span class="o">=</span> <span class="n">end</span>
-</span><span id="Token-401"><a href="#Token-401"><span class="linenos">401</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">comments</span> <span class="o">=</span> <span class="p">[]</span> <span class="k">if</span> <span class="n">comments</span> <span class="ow">is</span> <span class="kc">None</span> <span class="k">else</span> <span class="n">comments</span>
-</span><span id="Token-402"><a href="#Token-402"><span class="linenos">402</span></a>
-</span><span id="Token-403"><a href="#Token-403"><span class="linenos">403</span></a> <span class="k">def</span> <span class="fm">__repr__</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
-</span><span id="Token-404"><a href="#Token-404"><span class="linenos">404</span></a> <span class="n">attributes</span> <span class="o">=</span> <span class="s2">&quot;, &quot;</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;</span><span class="si">{</span><span class="n">k</span><span class="si">}</span><span class="s2">: </span><span class="si">{</span><span class="nb">getattr</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span><span class="w"> </span><span class="n">k</span><span class="p">)</span><span class="si">}</span><span class="s2">&quot;</span> <span class="k">for</span> <span class="n">k</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="vm">__slots__</span><span class="p">)</span>
-</span><span id="Token-405"><a href="#Token-405"><span class="linenos">405</span></a> <span class="k">return</span> <span class="sa">f</span><span class="s2">&quot;&lt;Token </span><span class="si">{</span><span class="n">attributes</span><span class="si">}</span><span class="s2">&gt;&quot;</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Token-27"><a href="#Token-27"><span class="linenos">27</span></a><span class="k">class</span> <span class="nc">Token</span><span class="p">:</span>
+</span><span id="Token-28"><a href="#Token-28"><span class="linenos">28</span></a> <span class="vm">__slots__</span> <span class="o">=</span> <span class="p">(</span><span class="s2">&quot;token_type&quot;</span><span class="p">,</span> <span class="s2">&quot;text&quot;</span><span class="p">,</span> <span class="s2">&quot;line&quot;</span><span class="p">,</span> <span class="s2">&quot;col&quot;</span><span class="p">,</span> <span class="s2">&quot;start&quot;</span><span class="p">,</span> <span class="s2">&quot;end&quot;</span><span class="p">,</span> <span class="s2">&quot;comments&quot;</span><span class="p">)</span>
+</span><span id="Token-29"><a href="#Token-29"><span class="linenos">29</span></a>
+</span><span id="Token-30"><a href="#Token-30"><span class="linenos">30</span></a> <span class="nd">@classmethod</span>
+</span><span id="Token-31"><a href="#Token-31"><span class="linenos">31</span></a> <span class="k">def</span> <span class="nf">number</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">number</span><span class="p">:</span> <span class="nb">int</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Token</span><span class="p">:</span>
+</span><span id="Token-32"><a href="#Token-32"><span class="linenos">32</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Returns a NUMBER token with `number` as its text.&quot;&quot;&quot;</span>
+</span><span id="Token-33"><a href="#Token-33"><span class="linenos">33</span></a> <span class="k">return</span> <span class="bp">cls</span><span class="p">(</span><span class="n">TokenType</span><span class="o">.</span><span class="n">NUMBER</span><span class="p">,</span> <span class="nb">str</span><span class="p">(</span><span class="n">number</span><span class="p">))</span>
+</span><span id="Token-34"><a href="#Token-34"><span class="linenos">34</span></a>
+</span><span id="Token-35"><a href="#Token-35"><span class="linenos">35</span></a> <span class="nd">@classmethod</span>
+</span><span id="Token-36"><a href="#Token-36"><span class="linenos">36</span></a> <span class="k">def</span> <span class="nf">string</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">string</span><span class="p">:</span> <span class="nb">str</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Token</span><span class="p">:</span>
+</span><span id="Token-37"><a href="#Token-37"><span class="linenos">37</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Returns a STRING token with `string` as its text.&quot;&quot;&quot;</span>
+</span><span id="Token-38"><a href="#Token-38"><span class="linenos">38</span></a> <span class="k">return</span> <span class="bp">cls</span><span class="p">(</span><span class="n">TokenType</span><span class="o">.</span><span class="n">STRING</span><span class="p">,</span> <span class="n">string</span><span class="p">)</span>
+</span><span id="Token-39"><a href="#Token-39"><span class="linenos">39</span></a>
+</span><span id="Token-40"><a href="#Token-40"><span class="linenos">40</span></a> <span class="nd">@classmethod</span>
+</span><span id="Token-41"><a href="#Token-41"><span class="linenos">41</span></a> <span class="k">def</span> <span class="nf">identifier</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">identifier</span><span class="p">:</span> <span class="nb">str</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Token</span><span class="p">:</span>
+</span><span id="Token-42"><a href="#Token-42"><span class="linenos">42</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Returns an IDENTIFIER token with `identifier` as its text.&quot;&quot;&quot;</span>
+</span><span id="Token-43"><a href="#Token-43"><span class="linenos">43</span></a> <span class="k">return</span> <span class="bp">cls</span><span class="p">(</span><span class="n">TokenType</span><span class="o">.</span><span class="n">IDENTIFIER</span><span class="p">,</span> <span class="n">identifier</span><span class="p">)</span>
+</span><span id="Token-44"><a href="#Token-44"><span class="linenos">44</span></a>
+</span><span id="Token-45"><a href="#Token-45"><span class="linenos">45</span></a> <span class="nd">@classmethod</span>
+</span><span id="Token-46"><a href="#Token-46"><span class="linenos">46</span></a> <span class="k">def</span> <span class="nf">var</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">var</span><span class="p">:</span> <span class="nb">str</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Token</span><span class="p">:</span>
+</span><span id="Token-47"><a href="#Token-47"><span class="linenos">47</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Returns an VAR token with `var` as its text.&quot;&quot;&quot;</span>
+</span><span id="Token-48"><a href="#Token-48"><span class="linenos">48</span></a> <span class="k">return</span> <span class="bp">cls</span><span class="p">(</span><span class="n">TokenType</span><span class="o">.</span><span class="n">VAR</span><span class="p">,</span> <span class="n">var</span><span class="p">)</span>
+</span><span id="Token-49"><a href="#Token-49"><span class="linenos">49</span></a>
+</span><span id="Token-50"><a href="#Token-50"><span class="linenos">50</span></a> <span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span>
+</span><span id="Token-51"><a href="#Token-51"><span class="linenos">51</span></a> <span class="bp">self</span><span class="p">,</span>
+</span><span id="Token-52"><a href="#Token-52"><span class="linenos">52</span></a> <span class="n">token_type</span><span class="p">:</span> <span class="n">TokenType</span><span class="p">,</span>
+</span><span id="Token-53"><a href="#Token-53"><span class="linenos">53</span></a> <span class="n">text</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span>
+</span><span id="Token-54"><a href="#Token-54"><span class="linenos">54</span></a> <span class="n">line</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">1</span><span class="p">,</span>
+</span><span id="Token-55"><a href="#Token-55"><span class="linenos">55</span></a> <span class="n">col</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">1</span><span class="p">,</span>
+</span><span id="Token-56"><a href="#Token-56"><span class="linenos">56</span></a> <span class="n">start</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">0</span><span class="p">,</span>
+</span><span id="Token-57"><a href="#Token-57"><span class="linenos">57</span></a> <span class="n">end</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">0</span><span class="p">,</span>
+</span><span id="Token-58"><a href="#Token-58"><span class="linenos">58</span></a> <span class="n">comments</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="n">t</span><span class="o">.</span><span class="n">List</span><span class="p">[</span><span class="nb">str</span><span class="p">]]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="Token-59"><a href="#Token-59"><span class="linenos">59</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
+</span><span id="Token-60"><a href="#Token-60"><span class="linenos">60</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Token initializer.</span>
+</span><span id="Token-61"><a href="#Token-61"><span class="linenos">61</span></a>
+</span><span id="Token-62"><a href="#Token-62"><span class="linenos">62</span></a><span class="sd"> Args:</span>
+</span><span id="Token-63"><a href="#Token-63"><span class="linenos">63</span></a><span class="sd"> token_type: The TokenType Enum.</span>
+</span><span id="Token-64"><a href="#Token-64"><span class="linenos">64</span></a><span class="sd"> text: The text of the token.</span>
+</span><span id="Token-65"><a href="#Token-65"><span class="linenos">65</span></a><span class="sd"> line: The line that the token ends on.</span>
+</span><span id="Token-66"><a href="#Token-66"><span class="linenos">66</span></a><span class="sd"> col: The column that the token ends on.</span>
+</span><span id="Token-67"><a href="#Token-67"><span class="linenos">67</span></a><span class="sd"> start: The start index of the token.</span>
+</span><span id="Token-68"><a href="#Token-68"><span class="linenos">68</span></a><span class="sd"> end: The ending index of the token.</span>
+</span><span id="Token-69"><a href="#Token-69"><span class="linenos">69</span></a><span class="sd"> comments: The comments to attach to the token.</span>
+</span><span id="Token-70"><a href="#Token-70"><span class="linenos">70</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="Token-71"><a href="#Token-71"><span class="linenos">71</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">token_type</span> <span class="o">=</span> <span class="n">token_type</span>
+</span><span id="Token-72"><a href="#Token-72"><span class="linenos">72</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">text</span> <span class="o">=</span> <span class="n">text</span>
+</span><span id="Token-73"><a href="#Token-73"><span class="linenos">73</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">line</span> <span class="o">=</span> <span class="n">line</span>
+</span><span id="Token-74"><a href="#Token-74"><span class="linenos">74</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">col</span> <span class="o">=</span> <span class="n">col</span>
+</span><span id="Token-75"><a href="#Token-75"><span class="linenos">75</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">start</span> <span class="o">=</span> <span class="n">start</span>
+</span><span id="Token-76"><a href="#Token-76"><span class="linenos">76</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">end</span> <span class="o">=</span> <span class="n">end</span>
+</span><span id="Token-77"><a href="#Token-77"><span class="linenos">77</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">comments</span> <span class="o">=</span> <span class="p">[]</span> <span class="k">if</span> <span class="n">comments</span> <span class="ow">is</span> <span class="kc">None</span> <span class="k">else</span> <span class="n">comments</span>
+</span><span id="Token-78"><a href="#Token-78"><span class="linenos">78</span></a>
+</span><span id="Token-79"><a href="#Token-79"><span class="linenos">79</span></a> <span class="k">def</span> <span class="fm">__repr__</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
+</span><span id="Token-80"><a href="#Token-80"><span class="linenos">80</span></a> <span class="n">attributes</span> <span class="o">=</span> <span class="s2">&quot;, &quot;</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;</span><span class="si">{</span><span class="n">k</span><span class="si">}</span><span class="s2">: </span><span class="si">{</span><span class="nb">getattr</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span><span class="w"> </span><span class="n">k</span><span class="p">)</span><span class="si">}</span><span class="s2">&quot;</span> <span class="k">for</span> <span class="n">k</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="vm">__slots__</span><span class="p">)</span>
+</span><span id="Token-81"><a href="#Token-81"><span class="linenos">81</span></a> <span class="k">return</span> <span class="sa">f</span><span class="s2">&quot;&lt;Token </span><span class="si">{</span><span class="n">attributes</span><span class="si">}</span><span class="s2">&gt;&quot;</span>
</span></pre></div>
@@ -6773,40 +1245,40 @@
<input id="Token.__init__-view-source" class="view-source-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
<div class="attr function">
- <span class="name">Token</span><span class="signature pdoc-code multiline">(<span class="param"> <span class="n">token_type</span><span class="p">:</span> <span class="n"><a href="#TokenType">TokenType</a></span>,</span><span class="param"> <span class="n">text</span><span class="p">:</span> <span class="nb">str</span>,</span><span class="param"> <span class="n">line</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">1</span>,</span><span class="param"> <span class="n">col</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">1</span>,</span><span class="param"> <span class="n">start</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">0</span>,</span><span class="param"> <span class="n">end</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">0</span>,</span><span class="param"> <span class="n">comments</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="n">List</span><span class="p">[</span><span class="nb">str</span><span class="p">]]</span> <span class="o">=</span> <span class="kc">None</span></span>)</span>
+ <span class="name">Token</span><span class="signature pdoc-code multiline">(<span class="param"> <span class="n">token_type</span><span class="p">:</span> <span class="n"><a href="token_type.html#TokenType">sqlglot.token_type.TokenType</a></span>,</span><span class="param"> <span class="n">text</span><span class="p">:</span> <span class="nb">str</span>,</span><span class="param"> <span class="n">line</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">1</span>,</span><span class="param"> <span class="n">col</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">1</span>,</span><span class="param"> <span class="n">start</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">0</span>,</span><span class="param"> <span class="n">end</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">0</span>,</span><span class="param"> <span class="n">comments</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="n">List</span><span class="p">[</span><span class="nb">str</span><span class="p">]]</span> <span class="o">=</span> <span class="kc">None</span></span>)</span>
<label class="view-source-button" for="Token.__init__-view-source"><span>View Source</span></label>
</div>
<a class="headerlink" href="#Token.__init__"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Token.__init__-374"><a href="#Token.__init__-374"><span class="linenos">374</span></a> <span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span>
-</span><span id="Token.__init__-375"><a href="#Token.__init__-375"><span class="linenos">375</span></a> <span class="bp">self</span><span class="p">,</span>
-</span><span id="Token.__init__-376"><a href="#Token.__init__-376"><span class="linenos">376</span></a> <span class="n">token_type</span><span class="p">:</span> <span class="n">TokenType</span><span class="p">,</span>
-</span><span id="Token.__init__-377"><a href="#Token.__init__-377"><span class="linenos">377</span></a> <span class="n">text</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span>
-</span><span id="Token.__init__-378"><a href="#Token.__init__-378"><span class="linenos">378</span></a> <span class="n">line</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">1</span><span class="p">,</span>
-</span><span id="Token.__init__-379"><a href="#Token.__init__-379"><span class="linenos">379</span></a> <span class="n">col</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">1</span><span class="p">,</span>
-</span><span id="Token.__init__-380"><a href="#Token.__init__-380"><span class="linenos">380</span></a> <span class="n">start</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">0</span><span class="p">,</span>
-</span><span id="Token.__init__-381"><a href="#Token.__init__-381"><span class="linenos">381</span></a> <span class="n">end</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">0</span><span class="p">,</span>
-</span><span id="Token.__init__-382"><a href="#Token.__init__-382"><span class="linenos">382</span></a> <span class="n">comments</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="n">t</span><span class="o">.</span><span class="n">List</span><span class="p">[</span><span class="nb">str</span><span class="p">]]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="Token.__init__-383"><a href="#Token.__init__-383"><span class="linenos">383</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
-</span><span id="Token.__init__-384"><a href="#Token.__init__-384"><span class="linenos">384</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Token initializer.</span>
-</span><span id="Token.__init__-385"><a href="#Token.__init__-385"><span class="linenos">385</span></a>
-</span><span id="Token.__init__-386"><a href="#Token.__init__-386"><span class="linenos">386</span></a><span class="sd"> Args:</span>
-</span><span id="Token.__init__-387"><a href="#Token.__init__-387"><span class="linenos">387</span></a><span class="sd"> token_type: The TokenType Enum.</span>
-</span><span id="Token.__init__-388"><a href="#Token.__init__-388"><span class="linenos">388</span></a><span class="sd"> text: The text of the token.</span>
-</span><span id="Token.__init__-389"><a href="#Token.__init__-389"><span class="linenos">389</span></a><span class="sd"> line: The line that the token ends on.</span>
-</span><span id="Token.__init__-390"><a href="#Token.__init__-390"><span class="linenos">390</span></a><span class="sd"> col: The column that the token ends on.</span>
-</span><span id="Token.__init__-391"><a href="#Token.__init__-391"><span class="linenos">391</span></a><span class="sd"> start: The start index of the token.</span>
-</span><span id="Token.__init__-392"><a href="#Token.__init__-392"><span class="linenos">392</span></a><span class="sd"> end: The ending index of the token.</span>
-</span><span id="Token.__init__-393"><a href="#Token.__init__-393"><span class="linenos">393</span></a><span class="sd"> comments: The comments to attach to the token.</span>
-</span><span id="Token.__init__-394"><a href="#Token.__init__-394"><span class="linenos">394</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="Token.__init__-395"><a href="#Token.__init__-395"><span class="linenos">395</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">token_type</span> <span class="o">=</span> <span class="n">token_type</span>
-</span><span id="Token.__init__-396"><a href="#Token.__init__-396"><span class="linenos">396</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">text</span> <span class="o">=</span> <span class="n">text</span>
-</span><span id="Token.__init__-397"><a href="#Token.__init__-397"><span class="linenos">397</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">line</span> <span class="o">=</span> <span class="n">line</span>
-</span><span id="Token.__init__-398"><a href="#Token.__init__-398"><span class="linenos">398</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">col</span> <span class="o">=</span> <span class="n">col</span>
-</span><span id="Token.__init__-399"><a href="#Token.__init__-399"><span class="linenos">399</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">start</span> <span class="o">=</span> <span class="n">start</span>
-</span><span id="Token.__init__-400"><a href="#Token.__init__-400"><span class="linenos">400</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">end</span> <span class="o">=</span> <span class="n">end</span>
-</span><span id="Token.__init__-401"><a href="#Token.__init__-401"><span class="linenos">401</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">comments</span> <span class="o">=</span> <span class="p">[]</span> <span class="k">if</span> <span class="n">comments</span> <span class="ow">is</span> <span class="kc">None</span> <span class="k">else</span> <span class="n">comments</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Token.__init__-50"><a href="#Token.__init__-50"><span class="linenos">50</span></a> <span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span>
+</span><span id="Token.__init__-51"><a href="#Token.__init__-51"><span class="linenos">51</span></a> <span class="bp">self</span><span class="p">,</span>
+</span><span id="Token.__init__-52"><a href="#Token.__init__-52"><span class="linenos">52</span></a> <span class="n">token_type</span><span class="p">:</span> <span class="n">TokenType</span><span class="p">,</span>
+</span><span id="Token.__init__-53"><a href="#Token.__init__-53"><span class="linenos">53</span></a> <span class="n">text</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span>
+</span><span id="Token.__init__-54"><a href="#Token.__init__-54"><span class="linenos">54</span></a> <span class="n">line</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">1</span><span class="p">,</span>
+</span><span id="Token.__init__-55"><a href="#Token.__init__-55"><span class="linenos">55</span></a> <span class="n">col</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">1</span><span class="p">,</span>
+</span><span id="Token.__init__-56"><a href="#Token.__init__-56"><span class="linenos">56</span></a> <span class="n">start</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">0</span><span class="p">,</span>
+</span><span id="Token.__init__-57"><a href="#Token.__init__-57"><span class="linenos">57</span></a> <span class="n">end</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">0</span><span class="p">,</span>
+</span><span id="Token.__init__-58"><a href="#Token.__init__-58"><span class="linenos">58</span></a> <span class="n">comments</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="n">t</span><span class="o">.</span><span class="n">List</span><span class="p">[</span><span class="nb">str</span><span class="p">]]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="Token.__init__-59"><a href="#Token.__init__-59"><span class="linenos">59</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
+</span><span id="Token.__init__-60"><a href="#Token.__init__-60"><span class="linenos">60</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Token initializer.</span>
+</span><span id="Token.__init__-61"><a href="#Token.__init__-61"><span class="linenos">61</span></a>
+</span><span id="Token.__init__-62"><a href="#Token.__init__-62"><span class="linenos">62</span></a><span class="sd"> Args:</span>
+</span><span id="Token.__init__-63"><a href="#Token.__init__-63"><span class="linenos">63</span></a><span class="sd"> token_type: The TokenType Enum.</span>
+</span><span id="Token.__init__-64"><a href="#Token.__init__-64"><span class="linenos">64</span></a><span class="sd"> text: The text of the token.</span>
+</span><span id="Token.__init__-65"><a href="#Token.__init__-65"><span class="linenos">65</span></a><span class="sd"> line: The line that the token ends on.</span>
+</span><span id="Token.__init__-66"><a href="#Token.__init__-66"><span class="linenos">66</span></a><span class="sd"> col: The column that the token ends on.</span>
+</span><span id="Token.__init__-67"><a href="#Token.__init__-67"><span class="linenos">67</span></a><span class="sd"> start: The start index of the token.</span>
+</span><span id="Token.__init__-68"><a href="#Token.__init__-68"><span class="linenos">68</span></a><span class="sd"> end: The ending index of the token.</span>
+</span><span id="Token.__init__-69"><a href="#Token.__init__-69"><span class="linenos">69</span></a><span class="sd"> comments: The comments to attach to the token.</span>
+</span><span id="Token.__init__-70"><a href="#Token.__init__-70"><span class="linenos">70</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="Token.__init__-71"><a href="#Token.__init__-71"><span class="linenos">71</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">token_type</span> <span class="o">=</span> <span class="n">token_type</span>
+</span><span id="Token.__init__-72"><a href="#Token.__init__-72"><span class="linenos">72</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">text</span> <span class="o">=</span> <span class="n">text</span>
+</span><span id="Token.__init__-73"><a href="#Token.__init__-73"><span class="linenos">73</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">line</span> <span class="o">=</span> <span class="n">line</span>
+</span><span id="Token.__init__-74"><a href="#Token.__init__-74"><span class="linenos">74</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">col</span> <span class="o">=</span> <span class="n">col</span>
+</span><span id="Token.__init__-75"><a href="#Token.__init__-75"><span class="linenos">75</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">start</span> <span class="o">=</span> <span class="n">start</span>
+</span><span id="Token.__init__-76"><a href="#Token.__init__-76"><span class="linenos">76</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">end</span> <span class="o">=</span> <span class="n">end</span>
+</span><span id="Token.__init__-77"><a href="#Token.__init__-77"><span class="linenos">77</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">comments</span> <span class="o">=</span> <span class="p">[]</span> <span class="k">if</span> <span class="n">comments</span> <span class="ow">is</span> <span class="kc">None</span> <span class="k">else</span> <span class="n">comments</span>
</span></pre></div>
@@ -6839,10 +1311,10 @@
</div>
<a class="headerlink" href="#Token.number"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Token.number-354"><a href="#Token.number-354"><span class="linenos">354</span></a> <span class="nd">@classmethod</span>
-</span><span id="Token.number-355"><a href="#Token.number-355"><span class="linenos">355</span></a> <span class="k">def</span> <span class="nf">number</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">number</span><span class="p">:</span> <span class="nb">int</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Token</span><span class="p">:</span>
-</span><span id="Token.number-356"><a href="#Token.number-356"><span class="linenos">356</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Returns a NUMBER token with `number` as its text.&quot;&quot;&quot;</span>
-</span><span id="Token.number-357"><a href="#Token.number-357"><span class="linenos">357</span></a> <span class="k">return</span> <span class="bp">cls</span><span class="p">(</span><span class="n">TokenType</span><span class="o">.</span><span class="n">NUMBER</span><span class="p">,</span> <span class="nb">str</span><span class="p">(</span><span class="n">number</span><span class="p">))</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Token.number-30"><a href="#Token.number-30"><span class="linenos">30</span></a> <span class="nd">@classmethod</span>
+</span><span id="Token.number-31"><a href="#Token.number-31"><span class="linenos">31</span></a> <span class="k">def</span> <span class="nf">number</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">number</span><span class="p">:</span> <span class="nb">int</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Token</span><span class="p">:</span>
+</span><span id="Token.number-32"><a href="#Token.number-32"><span class="linenos">32</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Returns a NUMBER token with `number` as its text.&quot;&quot;&quot;</span>
+</span><span id="Token.number-33"><a href="#Token.number-33"><span class="linenos">33</span></a> <span class="k">return</span> <span class="bp">cls</span><span class="p">(</span><span class="n">TokenType</span><span class="o">.</span><span class="n">NUMBER</span><span class="p">,</span> <span class="nb">str</span><span class="p">(</span><span class="n">number</span><span class="p">))</span>
</span></pre></div>
@@ -6863,10 +1335,10 @@
</div>
<a class="headerlink" href="#Token.string"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Token.string-359"><a href="#Token.string-359"><span class="linenos">359</span></a> <span class="nd">@classmethod</span>
-</span><span id="Token.string-360"><a href="#Token.string-360"><span class="linenos">360</span></a> <span class="k">def</span> <span class="nf">string</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">string</span><span class="p">:</span> <span class="nb">str</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Token</span><span class="p">:</span>
-</span><span id="Token.string-361"><a href="#Token.string-361"><span class="linenos">361</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Returns a STRING token with `string` as its text.&quot;&quot;&quot;</span>
-</span><span id="Token.string-362"><a href="#Token.string-362"><span class="linenos">362</span></a> <span class="k">return</span> <span class="bp">cls</span><span class="p">(</span><span class="n">TokenType</span><span class="o">.</span><span class="n">STRING</span><span class="p">,</span> <span class="n">string</span><span class="p">)</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Token.string-35"><a href="#Token.string-35"><span class="linenos">35</span></a> <span class="nd">@classmethod</span>
+</span><span id="Token.string-36"><a href="#Token.string-36"><span class="linenos">36</span></a> <span class="k">def</span> <span class="nf">string</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">string</span><span class="p">:</span> <span class="nb">str</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Token</span><span class="p">:</span>
+</span><span id="Token.string-37"><a href="#Token.string-37"><span class="linenos">37</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Returns a STRING token with `string` as its text.&quot;&quot;&quot;</span>
+</span><span id="Token.string-38"><a href="#Token.string-38"><span class="linenos">38</span></a> <span class="k">return</span> <span class="bp">cls</span><span class="p">(</span><span class="n">TokenType</span><span class="o">.</span><span class="n">STRING</span><span class="p">,</span> <span class="n">string</span><span class="p">)</span>
</span></pre></div>
@@ -6887,10 +1359,10 @@
</div>
<a class="headerlink" href="#Token.identifier"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Token.identifier-364"><a href="#Token.identifier-364"><span class="linenos">364</span></a> <span class="nd">@classmethod</span>
-</span><span id="Token.identifier-365"><a href="#Token.identifier-365"><span class="linenos">365</span></a> <span class="k">def</span> <span class="nf">identifier</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">identifier</span><span class="p">:</span> <span class="nb">str</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Token</span><span class="p">:</span>
-</span><span id="Token.identifier-366"><a href="#Token.identifier-366"><span class="linenos">366</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Returns an IDENTIFIER token with `identifier` as its text.&quot;&quot;&quot;</span>
-</span><span id="Token.identifier-367"><a href="#Token.identifier-367"><span class="linenos">367</span></a> <span class="k">return</span> <span class="bp">cls</span><span class="p">(</span><span class="n">TokenType</span><span class="o">.</span><span class="n">IDENTIFIER</span><span class="p">,</span> <span class="n">identifier</span><span class="p">)</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Token.identifier-40"><a href="#Token.identifier-40"><span class="linenos">40</span></a> <span class="nd">@classmethod</span>
+</span><span id="Token.identifier-41"><a href="#Token.identifier-41"><span class="linenos">41</span></a> <span class="k">def</span> <span class="nf">identifier</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">identifier</span><span class="p">:</span> <span class="nb">str</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Token</span><span class="p">:</span>
+</span><span id="Token.identifier-42"><a href="#Token.identifier-42"><span class="linenos">42</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Returns an IDENTIFIER token with `identifier` as its text.&quot;&quot;&quot;</span>
+</span><span id="Token.identifier-43"><a href="#Token.identifier-43"><span class="linenos">43</span></a> <span class="k">return</span> <span class="bp">cls</span><span class="p">(</span><span class="n">TokenType</span><span class="o">.</span><span class="n">IDENTIFIER</span><span class="p">,</span> <span class="n">identifier</span><span class="p">)</span>
</span></pre></div>
@@ -6911,10 +1383,10 @@
</div>
<a class="headerlink" href="#Token.var"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Token.var-369"><a href="#Token.var-369"><span class="linenos">369</span></a> <span class="nd">@classmethod</span>
-</span><span id="Token.var-370"><a href="#Token.var-370"><span class="linenos">370</span></a> <span class="k">def</span> <span class="nf">var</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">var</span><span class="p">:</span> <span class="nb">str</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Token</span><span class="p">:</span>
-</span><span id="Token.var-371"><a href="#Token.var-371"><span class="linenos">371</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Returns an VAR token with `var` as its text.&quot;&quot;&quot;</span>
-</span><span id="Token.var-372"><a href="#Token.var-372"><span class="linenos">372</span></a> <span class="k">return</span> <span class="bp">cls</span><span class="p">(</span><span class="n">TokenType</span><span class="o">.</span><span class="n">VAR</span><span class="p">,</span> <span class="n">var</span><span class="p">)</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Token.var-45"><a href="#Token.var-45"><span class="linenos">45</span></a> <span class="nd">@classmethod</span>
+</span><span id="Token.var-46"><a href="#Token.var-46"><span class="linenos">46</span></a> <span class="k">def</span> <span class="nf">var</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">var</span><span class="p">:</span> <span class="nb">str</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Token</span><span class="p">:</span>
+</span><span id="Token.var-47"><a href="#Token.var-47"><span class="linenos">47</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Returns an VAR token with `var` as its text.&quot;&quot;&quot;</span>
+</span><span id="Token.var-48"><a href="#Token.var-48"><span class="linenos">48</span></a> <span class="k">return</span> <span class="bp">cls</span><span class="p">(</span><span class="n">TokenType</span><span class="o">.</span><span class="n">VAR</span><span class="p">,</span> <span class="n">var</span><span class="p">)</span>
</span></pre></div>
@@ -7012,802 +1484,832 @@
</div>
<a class="headerlink" href="#Tokenizer"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Tokenizer-462"><a href="#Tokenizer-462"><span class="linenos"> 462</span></a><span class="k">class</span> <span class="nc">Tokenizer</span><span class="p">(</span><span class="n">metaclass</span><span class="o">=</span><span class="n">_Tokenizer</span><span class="p">):</span>
-</span><span id="Tokenizer-463"><a href="#Tokenizer-463"><span class="linenos"> 463</span></a> <span class="n">SINGLE_TOKENS</span> <span class="o">=</span> <span class="p">{</span>
-</span><span id="Tokenizer-464"><a href="#Tokenizer-464"><span class="linenos"> 464</span></a> <span class="s2">&quot;(&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">L_PAREN</span><span class="p">,</span>
-</span><span id="Tokenizer-465"><a href="#Tokenizer-465"><span class="linenos"> 465</span></a> <span class="s2">&quot;)&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">R_PAREN</span><span class="p">,</span>
-</span><span id="Tokenizer-466"><a href="#Tokenizer-466"><span class="linenos"> 466</span></a> <span class="s2">&quot;[&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">L_BRACKET</span><span class="p">,</span>
-</span><span id="Tokenizer-467"><a href="#Tokenizer-467"><span class="linenos"> 467</span></a> <span class="s2">&quot;]&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">R_BRACKET</span><span class="p">,</span>
-</span><span id="Tokenizer-468"><a href="#Tokenizer-468"><span class="linenos"> 468</span></a> <span class="s2">&quot;{&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">L_BRACE</span><span class="p">,</span>
-</span><span id="Tokenizer-469"><a href="#Tokenizer-469"><span class="linenos"> 469</span></a> <span class="s2">&quot;}&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">R_BRACE</span><span class="p">,</span>
-</span><span id="Tokenizer-470"><a href="#Tokenizer-470"><span class="linenos"> 470</span></a> <span class="s2">&quot;&amp;&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">AMP</span><span class="p">,</span>
-</span><span id="Tokenizer-471"><a href="#Tokenizer-471"><span class="linenos"> 471</span></a> <span class="s2">&quot;^&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">CARET</span><span class="p">,</span>
-</span><span id="Tokenizer-472"><a href="#Tokenizer-472"><span class="linenos"> 472</span></a> <span class="s2">&quot;:&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COLON</span><span class="p">,</span>
-</span><span id="Tokenizer-473"><a href="#Tokenizer-473"><span class="linenos"> 473</span></a> <span class="s2">&quot;,&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMA</span><span class="p">,</span>
-</span><span id="Tokenizer-474"><a href="#Tokenizer-474"><span class="linenos"> 474</span></a> <span class="s2">&quot;.&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DOT</span><span class="p">,</span>
-</span><span id="Tokenizer-475"><a href="#Tokenizer-475"><span class="linenos"> 475</span></a> <span class="s2">&quot;-&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DASH</span><span class="p">,</span>
-</span><span id="Tokenizer-476"><a href="#Tokenizer-476"><span class="linenos"> 476</span></a> <span class="s2">&quot;=&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">EQ</span><span class="p">,</span>
-</span><span id="Tokenizer-477"><a href="#Tokenizer-477"><span class="linenos"> 477</span></a> <span class="s2">&quot;&gt;&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">GT</span><span class="p">,</span>
-</span><span id="Tokenizer-478"><a href="#Tokenizer-478"><span class="linenos"> 478</span></a> <span class="s2">&quot;&lt;&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">LT</span><span class="p">,</span>
-</span><span id="Tokenizer-479"><a href="#Tokenizer-479"><span class="linenos"> 479</span></a> <span class="s2">&quot;%&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">MOD</span><span class="p">,</span>
-</span><span id="Tokenizer-480"><a href="#Tokenizer-480"><span class="linenos"> 480</span></a> <span class="s2">&quot;!&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">NOT</span><span class="p">,</span>
-</span><span id="Tokenizer-481"><a href="#Tokenizer-481"><span class="linenos"> 481</span></a> <span class="s2">&quot;|&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">PIPE</span><span class="p">,</span>
-</span><span id="Tokenizer-482"><a href="#Tokenizer-482"><span class="linenos"> 482</span></a> <span class="s2">&quot;+&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">PLUS</span><span class="p">,</span>
-</span><span id="Tokenizer-483"><a href="#Tokenizer-483"><span class="linenos"> 483</span></a> <span class="s2">&quot;;&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">SEMICOLON</span><span class="p">,</span>
-</span><span id="Tokenizer-484"><a href="#Tokenizer-484"><span class="linenos"> 484</span></a> <span class="s2">&quot;/&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">SLASH</span><span class="p">,</span>
-</span><span id="Tokenizer-485"><a href="#Tokenizer-485"><span class="linenos"> 485</span></a> <span class="s2">&quot;</span><span class="se">\\</span><span class="s2">&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BACKSLASH</span><span class="p">,</span>
-</span><span id="Tokenizer-486"><a href="#Tokenizer-486"><span class="linenos"> 486</span></a> <span class="s2">&quot;*&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">STAR</span><span class="p">,</span>
-</span><span id="Tokenizer-487"><a href="#Tokenizer-487"><span class="linenos"> 487</span></a> <span class="s2">&quot;~&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TILDA</span><span class="p">,</span>
-</span><span id="Tokenizer-488"><a href="#Tokenizer-488"><span class="linenos"> 488</span></a> <span class="s2">&quot;?&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">PLACEHOLDER</span><span class="p">,</span>
-</span><span id="Tokenizer-489"><a href="#Tokenizer-489"><span class="linenos"> 489</span></a> <span class="s2">&quot;@&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">PARAMETER</span><span class="p">,</span>
-</span><span id="Tokenizer-490"><a href="#Tokenizer-490"><span class="linenos"> 490</span></a> <span class="c1"># used for breaking a var like x&#39;y&#39; but nothing else</span>
-</span><span id="Tokenizer-491"><a href="#Tokenizer-491"><span class="linenos"> 491</span></a> <span class="c1"># the token type doesn&#39;t matter</span>
-</span><span id="Tokenizer-492"><a href="#Tokenizer-492"><span class="linenos"> 492</span></a> <span class="s2">&quot;&#39;&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">QUOTE</span><span class="p">,</span>
-</span><span id="Tokenizer-493"><a href="#Tokenizer-493"><span class="linenos"> 493</span></a> <span class="s2">&quot;`&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">IDENTIFIER</span><span class="p">,</span>
-</span><span id="Tokenizer-494"><a href="#Tokenizer-494"><span class="linenos"> 494</span></a> <span class="s1">&#39;&quot;&#39;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">IDENTIFIER</span><span class="p">,</span>
-</span><span id="Tokenizer-495"><a href="#Tokenizer-495"><span class="linenos"> 495</span></a> <span class="s2">&quot;#&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">HASH</span><span class="p">,</span>
-</span><span id="Tokenizer-496"><a href="#Tokenizer-496"><span class="linenos"> 496</span></a> <span class="p">}</span>
-</span><span id="Tokenizer-497"><a href="#Tokenizer-497"><span class="linenos"> 497</span></a>
-</span><span id="Tokenizer-498"><a href="#Tokenizer-498"><span class="linenos"> 498</span></a> <span class="n">BIT_STRINGS</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">List</span><span class="p">[</span><span class="nb">str</span> <span class="o">|</span> <span class="n">t</span><span class="o">.</span><span class="n">Tuple</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="nb">str</span><span class="p">]]</span> <span class="o">=</span> <span class="p">[]</span>
-</span><span id="Tokenizer-499"><a href="#Tokenizer-499"><span class="linenos"> 499</span></a> <span class="n">BYTE_STRINGS</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">List</span><span class="p">[</span><span class="nb">str</span> <span class="o">|</span> <span class="n">t</span><span class="o">.</span><span class="n">Tuple</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="nb">str</span><span class="p">]]</span> <span class="o">=</span> <span class="p">[]</span>
-</span><span id="Tokenizer-500"><a href="#Tokenizer-500"><span class="linenos"> 500</span></a> <span class="n">HEX_STRINGS</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">List</span><span class="p">[</span><span class="nb">str</span> <span class="o">|</span> <span class="n">t</span><span class="o">.</span><span class="n">Tuple</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="nb">str</span><span class="p">]]</span> <span class="o">=</span> <span class="p">[]</span>
-</span><span id="Tokenizer-501"><a href="#Tokenizer-501"><span class="linenos"> 501</span></a> <span class="n">RAW_STRINGS</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">List</span><span class="p">[</span><span class="nb">str</span> <span class="o">|</span> <span class="n">t</span><span class="o">.</span><span class="n">Tuple</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="nb">str</span><span class="p">]]</span> <span class="o">=</span> <span class="p">[]</span>
-</span><span id="Tokenizer-502"><a href="#Tokenizer-502"><span class="linenos"> 502</span></a> <span class="n">HEREDOC_STRINGS</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">List</span><span class="p">[</span><span class="nb">str</span> <span class="o">|</span> <span class="n">t</span><span class="o">.</span><span class="n">Tuple</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="nb">str</span><span class="p">]]</span> <span class="o">=</span> <span class="p">[]</span>
-</span><span id="Tokenizer-503"><a href="#Tokenizer-503"><span class="linenos"> 503</span></a> <span class="n">IDENTIFIERS</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">List</span><span class="p">[</span><span class="nb">str</span> <span class="o">|</span> <span class="n">t</span><span class="o">.</span><span class="n">Tuple</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="nb">str</span><span class="p">]]</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;&quot;&#39;</span><span class="p">]</span>
-</span><span id="Tokenizer-504"><a href="#Tokenizer-504"><span class="linenos"> 504</span></a> <span class="n">IDENTIFIER_ESCAPES</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;&quot;&#39;</span><span class="p">]</span>
-</span><span id="Tokenizer-505"><a href="#Tokenizer-505"><span class="linenos"> 505</span></a> <span class="n">QUOTES</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">List</span><span class="p">[</span><span class="n">t</span><span class="o">.</span><span class="n">Tuple</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="nb">str</span><span class="p">]</span> <span class="o">|</span> <span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;&#39;&quot;</span><span class="p">]</span>
-</span><span id="Tokenizer-506"><a href="#Tokenizer-506"><span class="linenos"> 506</span></a> <span class="n">STRING_ESCAPES</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;&#39;&quot;</span><span class="p">]</span>
-</span><span id="Tokenizer-507"><a href="#Tokenizer-507"><span class="linenos"> 507</span></a> <span class="n">VAR_SINGLE_TOKENS</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Set</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="nb">set</span><span class="p">()</span>
-</span><span id="Tokenizer-508"><a href="#Tokenizer-508"><span class="linenos"> 508</span></a>
-</span><span id="Tokenizer-509"><a href="#Tokenizer-509"><span class="linenos"> 509</span></a> <span class="c1"># Autofilled</span>
-</span><span id="Tokenizer-510"><a href="#Tokenizer-510"><span class="linenos"> 510</span></a> <span class="n">_COMMENTS</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="p">{}</span>
-</span><span id="Tokenizer-511"><a href="#Tokenizer-511"><span class="linenos"> 511</span></a> <span class="n">_FORMAT_STRINGS</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="n">t</span><span class="o">.</span><span class="n">Tuple</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="n">TokenType</span><span class="p">]]</span> <span class="o">=</span> <span class="p">{}</span>
-</span><span id="Tokenizer-512"><a href="#Tokenizer-512"><span class="linenos"> 512</span></a> <span class="n">_IDENTIFIERS</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="p">{}</span>
-</span><span id="Tokenizer-513"><a href="#Tokenizer-513"><span class="linenos"> 513</span></a> <span class="n">_IDENTIFIER_ESCAPES</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Set</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="nb">set</span><span class="p">()</span>
-</span><span id="Tokenizer-514"><a href="#Tokenizer-514"><span class="linenos"> 514</span></a> <span class="n">_QUOTES</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="p">{}</span>
-</span><span id="Tokenizer-515"><a href="#Tokenizer-515"><span class="linenos"> 515</span></a> <span class="n">_STRING_ESCAPES</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Set</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="nb">set</span><span class="p">()</span>
-</span><span id="Tokenizer-516"><a href="#Tokenizer-516"><span class="linenos"> 516</span></a> <span class="n">_KEYWORD_TRIE</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Dict</span> <span class="o">=</span> <span class="p">{}</span>
-</span><span id="Tokenizer-517"><a href="#Tokenizer-517"><span class="linenos"> 517</span></a>
-</span><span id="Tokenizer-518"><a href="#Tokenizer-518"><span class="linenos"> 518</span></a> <span class="n">KEYWORDS</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="n">TokenType</span><span class="p">]</span> <span class="o">=</span> <span class="p">{</span>
-</span><span id="Tokenizer-519"><a href="#Tokenizer-519"><span class="linenos"> 519</span></a> <span class="o">**</span><span class="p">{</span><span class="sa">f</span><span class="s2">&quot;</span><span class="se">{{</span><span class="s2">%</span><span class="si">{</span><span class="n">postfix</span><span class="si">}</span><span class="s2">&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BLOCK_START</span> <span class="k">for</span> <span class="n">postfix</span> <span class="ow">in</span> <span class="p">(</span><span class="s2">&quot;&quot;</span><span class="p">,</span> <span class="s2">&quot;+&quot;</span><span class="p">,</span> <span class="s2">&quot;-&quot;</span><span class="p">)},</span>
-</span><span id="Tokenizer-520"><a href="#Tokenizer-520"><span class="linenos"> 520</span></a> <span class="o">**</span><span class="p">{</span><span class="sa">f</span><span class="s2">&quot;</span><span class="si">{</span><span class="n">prefix</span><span class="si">}</span><span class="s2">%</span><span class="se">}}</span><span class="s2">&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BLOCK_END</span> <span class="k">for</span> <span class="n">prefix</span> <span class="ow">in</span> <span class="p">(</span><span class="s2">&quot;&quot;</span><span class="p">,</span> <span class="s2">&quot;+&quot;</span><span class="p">,</span> <span class="s2">&quot;-&quot;</span><span class="p">)},</span>
-</span><span id="Tokenizer-521"><a href="#Tokenizer-521"><span class="linenos"> 521</span></a> <span class="o">**</span><span class="p">{</span><span class="sa">f</span><span class="s2">&quot;</span><span class="se">{{{{</span><span class="si">{</span><span class="n">postfix</span><span class="si">}</span><span class="s2">&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BLOCK_START</span> <span class="k">for</span> <span class="n">postfix</span> <span class="ow">in</span> <span class="p">(</span><span class="s2">&quot;+&quot;</span><span class="p">,</span> <span class="s2">&quot;-&quot;</span><span class="p">)},</span>
-</span><span id="Tokenizer-522"><a href="#Tokenizer-522"><span class="linenos"> 522</span></a> <span class="o">**</span><span class="p">{</span><span class="sa">f</span><span class="s2">&quot;</span><span class="si">{</span><span class="n">prefix</span><span class="si">}</span><span class="se">}}}}</span><span class="s2">&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BLOCK_END</span> <span class="k">for</span> <span class="n">prefix</span> <span class="ow">in</span> <span class="p">(</span><span class="s2">&quot;+&quot;</span><span class="p">,</span> <span class="s2">&quot;-&quot;</span><span class="p">)},</span>
-</span><span id="Tokenizer-523"><a href="#Tokenizer-523"><span class="linenos"> 523</span></a> <span class="s2">&quot;/*+&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">HINT</span><span class="p">,</span>
-</span><span id="Tokenizer-524"><a href="#Tokenizer-524"><span class="linenos"> 524</span></a> <span class="s2">&quot;==&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">EQ</span><span class="p">,</span>
-</span><span id="Tokenizer-525"><a href="#Tokenizer-525"><span class="linenos"> 525</span></a> <span class="s2">&quot;::&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DCOLON</span><span class="p">,</span>
-</span><span id="Tokenizer-526"><a href="#Tokenizer-526"><span class="linenos"> 526</span></a> <span class="s2">&quot;||&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DPIPE</span><span class="p">,</span>
-</span><span id="Tokenizer-527"><a href="#Tokenizer-527"><span class="linenos"> 527</span></a> <span class="s2">&quot;&gt;=&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">GTE</span><span class="p">,</span>
-</span><span id="Tokenizer-528"><a href="#Tokenizer-528"><span class="linenos"> 528</span></a> <span class="s2">&quot;&lt;=&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">LTE</span><span class="p">,</span>
-</span><span id="Tokenizer-529"><a href="#Tokenizer-529"><span class="linenos"> 529</span></a> <span class="s2">&quot;&lt;&gt;&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">NEQ</span><span class="p">,</span>
-</span><span id="Tokenizer-530"><a href="#Tokenizer-530"><span class="linenos"> 530</span></a> <span class="s2">&quot;!=&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">NEQ</span><span class="p">,</span>
-</span><span id="Tokenizer-531"><a href="#Tokenizer-531"><span class="linenos"> 531</span></a> <span class="s2">&quot;:=&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COLON_EQ</span><span class="p">,</span>
-</span><span id="Tokenizer-532"><a href="#Tokenizer-532"><span class="linenos"> 532</span></a> <span class="s2">&quot;&lt;=&gt;&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">NULLSAFE_EQ</span><span class="p">,</span>
-</span><span id="Tokenizer-533"><a href="#Tokenizer-533"><span class="linenos"> 533</span></a> <span class="s2">&quot;-&gt;&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">ARROW</span><span class="p">,</span>
-</span><span id="Tokenizer-534"><a href="#Tokenizer-534"><span class="linenos"> 534</span></a> <span class="s2">&quot;-&gt;&gt;&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DARROW</span><span class="p">,</span>
-</span><span id="Tokenizer-535"><a href="#Tokenizer-535"><span class="linenos"> 535</span></a> <span class="s2">&quot;=&gt;&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">FARROW</span><span class="p">,</span>
-</span><span id="Tokenizer-536"><a href="#Tokenizer-536"><span class="linenos"> 536</span></a> <span class="s2">&quot;#&gt;&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">HASH_ARROW</span><span class="p">,</span>
-</span><span id="Tokenizer-537"><a href="#Tokenizer-537"><span class="linenos"> 537</span></a> <span class="s2">&quot;#&gt;&gt;&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DHASH_ARROW</span><span class="p">,</span>
-</span><span id="Tokenizer-538"><a href="#Tokenizer-538"><span class="linenos"> 538</span></a> <span class="s2">&quot;&lt;-&gt;&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">LR_ARROW</span><span class="p">,</span>
-</span><span id="Tokenizer-539"><a href="#Tokenizer-539"><span class="linenos"> 539</span></a> <span class="s2">&quot;&amp;&amp;&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DAMP</span><span class="p">,</span>
-</span><span id="Tokenizer-540"><a href="#Tokenizer-540"><span class="linenos"> 540</span></a> <span class="s2">&quot;??&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DQMARK</span><span class="p">,</span>
-</span><span id="Tokenizer-541"><a href="#Tokenizer-541"><span class="linenos"> 541</span></a> <span class="s2">&quot;ALL&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">ALL</span><span class="p">,</span>
-</span><span id="Tokenizer-542"><a href="#Tokenizer-542"><span class="linenos"> 542</span></a> <span class="s2">&quot;ALWAYS&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">ALWAYS</span><span class="p">,</span>
-</span><span id="Tokenizer-543"><a href="#Tokenizer-543"><span class="linenos"> 543</span></a> <span class="s2">&quot;AND&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">AND</span><span class="p">,</span>
-</span><span id="Tokenizer-544"><a href="#Tokenizer-544"><span class="linenos"> 544</span></a> <span class="s2">&quot;ANTI&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">ANTI</span><span class="p">,</span>
-</span><span id="Tokenizer-545"><a href="#Tokenizer-545"><span class="linenos"> 545</span></a> <span class="s2">&quot;ANY&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">ANY</span><span class="p">,</span>
-</span><span id="Tokenizer-546"><a href="#Tokenizer-546"><span class="linenos"> 546</span></a> <span class="s2">&quot;ASC&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">ASC</span><span class="p">,</span>
-</span><span id="Tokenizer-547"><a href="#Tokenizer-547"><span class="linenos"> 547</span></a> <span class="s2">&quot;AS&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">ALIAS</span><span class="p">,</span>
-</span><span id="Tokenizer-548"><a href="#Tokenizer-548"><span class="linenos"> 548</span></a> <span class="s2">&quot;ASOF&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">ASOF</span><span class="p">,</span>
-</span><span id="Tokenizer-549"><a href="#Tokenizer-549"><span class="linenos"> 549</span></a> <span class="s2">&quot;AUTOINCREMENT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">AUTO_INCREMENT</span><span class="p">,</span>
-</span><span id="Tokenizer-550"><a href="#Tokenizer-550"><span class="linenos"> 550</span></a> <span class="s2">&quot;AUTO_INCREMENT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">AUTO_INCREMENT</span><span class="p">,</span>
-</span><span id="Tokenizer-551"><a href="#Tokenizer-551"><span class="linenos"> 551</span></a> <span class="s2">&quot;BEGIN&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BEGIN</span><span class="p">,</span>
-</span><span id="Tokenizer-552"><a href="#Tokenizer-552"><span class="linenos"> 552</span></a> <span class="s2">&quot;BETWEEN&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BETWEEN</span><span class="p">,</span>
-</span><span id="Tokenizer-553"><a href="#Tokenizer-553"><span class="linenos"> 553</span></a> <span class="s2">&quot;CACHE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">CACHE</span><span class="p">,</span>
-</span><span id="Tokenizer-554"><a href="#Tokenizer-554"><span class="linenos"> 554</span></a> <span class="s2">&quot;UNCACHE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">UNCACHE</span><span class="p">,</span>
-</span><span id="Tokenizer-555"><a href="#Tokenizer-555"><span class="linenos"> 555</span></a> <span class="s2">&quot;CASE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">CASE</span><span class="p">,</span>
-</span><span id="Tokenizer-556"><a href="#Tokenizer-556"><span class="linenos"> 556</span></a> <span class="s2">&quot;CHARACTER SET&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">CHARACTER_SET</span><span class="p">,</span>
-</span><span id="Tokenizer-557"><a href="#Tokenizer-557"><span class="linenos"> 557</span></a> <span class="s2">&quot;CLUSTER BY&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">CLUSTER_BY</span><span class="p">,</span>
-</span><span id="Tokenizer-558"><a href="#Tokenizer-558"><span class="linenos"> 558</span></a> <span class="s2">&quot;COLLATE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COLLATE</span><span class="p">,</span>
-</span><span id="Tokenizer-559"><a href="#Tokenizer-559"><span class="linenos"> 559</span></a> <span class="s2">&quot;COLUMN&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COLUMN</span><span class="p">,</span>
-</span><span id="Tokenizer-560"><a href="#Tokenizer-560"><span class="linenos"> 560</span></a> <span class="s2">&quot;COMMIT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMIT</span><span class="p">,</span>
-</span><span id="Tokenizer-561"><a href="#Tokenizer-561"><span class="linenos"> 561</span></a> <span class="s2">&quot;CONNECT BY&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">CONNECT_BY</span><span class="p">,</span>
-</span><span id="Tokenizer-562"><a href="#Tokenizer-562"><span class="linenos"> 562</span></a> <span class="s2">&quot;CONSTRAINT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">CONSTRAINT</span><span class="p">,</span>
-</span><span id="Tokenizer-563"><a href="#Tokenizer-563"><span class="linenos"> 563</span></a> <span class="s2">&quot;CREATE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">CREATE</span><span class="p">,</span>
-</span><span id="Tokenizer-564"><a href="#Tokenizer-564"><span class="linenos"> 564</span></a> <span class="s2">&quot;CROSS&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">CROSS</span><span class="p">,</span>
-</span><span id="Tokenizer-565"><a href="#Tokenizer-565"><span class="linenos"> 565</span></a> <span class="s2">&quot;CUBE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">CUBE</span><span class="p">,</span>
-</span><span id="Tokenizer-566"><a href="#Tokenizer-566"><span class="linenos"> 566</span></a> <span class="s2">&quot;CURRENT_DATE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">CURRENT_DATE</span><span class="p">,</span>
-</span><span id="Tokenizer-567"><a href="#Tokenizer-567"><span class="linenos"> 567</span></a> <span class="s2">&quot;CURRENT_TIME&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">CURRENT_TIME</span><span class="p">,</span>
-</span><span id="Tokenizer-568"><a href="#Tokenizer-568"><span class="linenos"> 568</span></a> <span class="s2">&quot;CURRENT_TIMESTAMP&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">CURRENT_TIMESTAMP</span><span class="p">,</span>
-</span><span id="Tokenizer-569"><a href="#Tokenizer-569"><span class="linenos"> 569</span></a> <span class="s2">&quot;CURRENT_USER&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">CURRENT_USER</span><span class="p">,</span>
-</span><span id="Tokenizer-570"><a href="#Tokenizer-570"><span class="linenos"> 570</span></a> <span class="s2">&quot;DATABASE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DATABASE</span><span class="p">,</span>
-</span><span id="Tokenizer-571"><a href="#Tokenizer-571"><span class="linenos"> 571</span></a> <span class="s2">&quot;DEFAULT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DEFAULT</span><span class="p">,</span>
-</span><span id="Tokenizer-572"><a href="#Tokenizer-572"><span class="linenos"> 572</span></a> <span class="s2">&quot;DELETE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DELETE</span><span class="p">,</span>
-</span><span id="Tokenizer-573"><a href="#Tokenizer-573"><span class="linenos"> 573</span></a> <span class="s2">&quot;DESC&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DESC</span><span class="p">,</span>
-</span><span id="Tokenizer-574"><a href="#Tokenizer-574"><span class="linenos"> 574</span></a> <span class="s2">&quot;DESCRIBE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DESCRIBE</span><span class="p">,</span>
-</span><span id="Tokenizer-575"><a href="#Tokenizer-575"><span class="linenos"> 575</span></a> <span class="s2">&quot;DISTINCT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DISTINCT</span><span class="p">,</span>
-</span><span id="Tokenizer-576"><a href="#Tokenizer-576"><span class="linenos"> 576</span></a> <span class="s2">&quot;DISTRIBUTE BY&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DISTRIBUTE_BY</span><span class="p">,</span>
-</span><span id="Tokenizer-577"><a href="#Tokenizer-577"><span class="linenos"> 577</span></a> <span class="s2">&quot;DIV&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DIV</span><span class="p">,</span>
-</span><span id="Tokenizer-578"><a href="#Tokenizer-578"><span class="linenos"> 578</span></a> <span class="s2">&quot;DROP&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DROP</span><span class="p">,</span>
-</span><span id="Tokenizer-579"><a href="#Tokenizer-579"><span class="linenos"> 579</span></a> <span class="s2">&quot;ELSE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">ELSE</span><span class="p">,</span>
-</span><span id="Tokenizer-580"><a href="#Tokenizer-580"><span class="linenos"> 580</span></a> <span class="s2">&quot;END&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">END</span><span class="p">,</span>
-</span><span id="Tokenizer-581"><a href="#Tokenizer-581"><span class="linenos"> 581</span></a> <span class="s2">&quot;ESCAPE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">ESCAPE</span><span class="p">,</span>
-</span><span id="Tokenizer-582"><a href="#Tokenizer-582"><span class="linenos"> 582</span></a> <span class="s2">&quot;EXCEPT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">EXCEPT</span><span class="p">,</span>
-</span><span id="Tokenizer-583"><a href="#Tokenizer-583"><span class="linenos"> 583</span></a> <span class="s2">&quot;EXECUTE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">EXECUTE</span><span class="p">,</span>
-</span><span id="Tokenizer-584"><a href="#Tokenizer-584"><span class="linenos"> 584</span></a> <span class="s2">&quot;EXISTS&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">EXISTS</span><span class="p">,</span>
-</span><span id="Tokenizer-585"><a href="#Tokenizer-585"><span class="linenos"> 585</span></a> <span class="s2">&quot;FALSE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">FALSE</span><span class="p">,</span>
-</span><span id="Tokenizer-586"><a href="#Tokenizer-586"><span class="linenos"> 586</span></a> <span class="s2">&quot;FETCH&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">FETCH</span><span class="p">,</span>
-</span><span id="Tokenizer-587"><a href="#Tokenizer-587"><span class="linenos"> 587</span></a> <span class="s2">&quot;FILTER&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">FILTER</span><span class="p">,</span>
-</span><span id="Tokenizer-588"><a href="#Tokenizer-588"><span class="linenos"> 588</span></a> <span class="s2">&quot;FIRST&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">FIRST</span><span class="p">,</span>
-</span><span id="Tokenizer-589"><a href="#Tokenizer-589"><span class="linenos"> 589</span></a> <span class="s2">&quot;FULL&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">FULL</span><span class="p">,</span>
-</span><span id="Tokenizer-590"><a href="#Tokenizer-590"><span class="linenos"> 590</span></a> <span class="s2">&quot;FUNCTION&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">FUNCTION</span><span class="p">,</span>
-</span><span id="Tokenizer-591"><a href="#Tokenizer-591"><span class="linenos"> 591</span></a> <span class="s2">&quot;FOR&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">FOR</span><span class="p">,</span>
-</span><span id="Tokenizer-592"><a href="#Tokenizer-592"><span class="linenos"> 592</span></a> <span class="s2">&quot;FOREIGN KEY&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">FOREIGN_KEY</span><span class="p">,</span>
-</span><span id="Tokenizer-593"><a href="#Tokenizer-593"><span class="linenos"> 593</span></a> <span class="s2">&quot;FORMAT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">FORMAT</span><span class="p">,</span>
-</span><span id="Tokenizer-594"><a href="#Tokenizer-594"><span class="linenos"> 594</span></a> <span class="s2">&quot;FROM&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">FROM</span><span class="p">,</span>
-</span><span id="Tokenizer-595"><a href="#Tokenizer-595"><span class="linenos"> 595</span></a> <span class="s2">&quot;GEOGRAPHY&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">GEOGRAPHY</span><span class="p">,</span>
-</span><span id="Tokenizer-596"><a href="#Tokenizer-596"><span class="linenos"> 596</span></a> <span class="s2">&quot;GEOMETRY&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">GEOMETRY</span><span class="p">,</span>
-</span><span id="Tokenizer-597"><a href="#Tokenizer-597"><span class="linenos"> 597</span></a> <span class="s2">&quot;GLOB&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">GLOB</span><span class="p">,</span>
-</span><span id="Tokenizer-598"><a href="#Tokenizer-598"><span class="linenos"> 598</span></a> <span class="s2">&quot;GROUP BY&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">GROUP_BY</span><span class="p">,</span>
-</span><span id="Tokenizer-599"><a href="#Tokenizer-599"><span class="linenos"> 599</span></a> <span class="s2">&quot;GROUPING SETS&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">GROUPING_SETS</span><span class="p">,</span>
-</span><span id="Tokenizer-600"><a href="#Tokenizer-600"><span class="linenos"> 600</span></a> <span class="s2">&quot;HAVING&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">HAVING</span><span class="p">,</span>
-</span><span id="Tokenizer-601"><a href="#Tokenizer-601"><span class="linenos"> 601</span></a> <span class="s2">&quot;ILIKE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">ILIKE</span><span class="p">,</span>
-</span><span id="Tokenizer-602"><a href="#Tokenizer-602"><span class="linenos"> 602</span></a> <span class="s2">&quot;IN&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">IN</span><span class="p">,</span>
-</span><span id="Tokenizer-603"><a href="#Tokenizer-603"><span class="linenos"> 603</span></a> <span class="s2">&quot;INDEX&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">INDEX</span><span class="p">,</span>
-</span><span id="Tokenizer-604"><a href="#Tokenizer-604"><span class="linenos"> 604</span></a> <span class="s2">&quot;INET&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">INET</span><span class="p">,</span>
-</span><span id="Tokenizer-605"><a href="#Tokenizer-605"><span class="linenos"> 605</span></a> <span class="s2">&quot;INNER&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">INNER</span><span class="p">,</span>
-</span><span id="Tokenizer-606"><a href="#Tokenizer-606"><span class="linenos"> 606</span></a> <span class="s2">&quot;INSERT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">INSERT</span><span class="p">,</span>
-</span><span id="Tokenizer-607"><a href="#Tokenizer-607"><span class="linenos"> 607</span></a> <span class="s2">&quot;INTERVAL&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">INTERVAL</span><span class="p">,</span>
-</span><span id="Tokenizer-608"><a href="#Tokenizer-608"><span class="linenos"> 608</span></a> <span class="s2">&quot;INTERSECT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">INTERSECT</span><span class="p">,</span>
-</span><span id="Tokenizer-609"><a href="#Tokenizer-609"><span class="linenos"> 609</span></a> <span class="s2">&quot;INTO&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">INTO</span><span class="p">,</span>
-</span><span id="Tokenizer-610"><a href="#Tokenizer-610"><span class="linenos"> 610</span></a> <span class="s2">&quot;IS&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">IS</span><span class="p">,</span>
-</span><span id="Tokenizer-611"><a href="#Tokenizer-611"><span class="linenos"> 611</span></a> <span class="s2">&quot;ISNULL&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">ISNULL</span><span class="p">,</span>
-</span><span id="Tokenizer-612"><a href="#Tokenizer-612"><span class="linenos"> 612</span></a> <span class="s2">&quot;JOIN&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">JOIN</span><span class="p">,</span>
-</span><span id="Tokenizer-613"><a href="#Tokenizer-613"><span class="linenos"> 613</span></a> <span class="s2">&quot;KEEP&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">KEEP</span><span class="p">,</span>
-</span><span id="Tokenizer-614"><a href="#Tokenizer-614"><span class="linenos"> 614</span></a> <span class="s2">&quot;KILL&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">KILL</span><span class="p">,</span>
-</span><span id="Tokenizer-615"><a href="#Tokenizer-615"><span class="linenos"> 615</span></a> <span class="s2">&quot;LATERAL&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">LATERAL</span><span class="p">,</span>
-</span><span id="Tokenizer-616"><a href="#Tokenizer-616"><span class="linenos"> 616</span></a> <span class="s2">&quot;LEFT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">LEFT</span><span class="p">,</span>
-</span><span id="Tokenizer-617"><a href="#Tokenizer-617"><span class="linenos"> 617</span></a> <span class="s2">&quot;LIKE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">LIKE</span><span class="p">,</span>
-</span><span id="Tokenizer-618"><a href="#Tokenizer-618"><span class="linenos"> 618</span></a> <span class="s2">&quot;LIMIT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">LIMIT</span><span class="p">,</span>
-</span><span id="Tokenizer-619"><a href="#Tokenizer-619"><span class="linenos"> 619</span></a> <span class="s2">&quot;LOAD&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">LOAD</span><span class="p">,</span>
-</span><span id="Tokenizer-620"><a href="#Tokenizer-620"><span class="linenos"> 620</span></a> <span class="s2">&quot;LOCK&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">LOCK</span><span class="p">,</span>
-</span><span id="Tokenizer-621"><a href="#Tokenizer-621"><span class="linenos"> 621</span></a> <span class="s2">&quot;MERGE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">MERGE</span><span class="p">,</span>
-</span><span id="Tokenizer-622"><a href="#Tokenizer-622"><span class="linenos"> 622</span></a> <span class="s2">&quot;NATURAL&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">NATURAL</span><span class="p">,</span>
-</span><span id="Tokenizer-623"><a href="#Tokenizer-623"><span class="linenos"> 623</span></a> <span class="s2">&quot;NEXT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">NEXT</span><span class="p">,</span>
-</span><span id="Tokenizer-624"><a href="#Tokenizer-624"><span class="linenos"> 624</span></a> <span class="s2">&quot;NOT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">NOT</span><span class="p">,</span>
-</span><span id="Tokenizer-625"><a href="#Tokenizer-625"><span class="linenos"> 625</span></a> <span class="s2">&quot;NOTNULL&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">NOTNULL</span><span class="p">,</span>
-</span><span id="Tokenizer-626"><a href="#Tokenizer-626"><span class="linenos"> 626</span></a> <span class="s2">&quot;NULL&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">NULL</span><span class="p">,</span>
-</span><span id="Tokenizer-627"><a href="#Tokenizer-627"><span class="linenos"> 627</span></a> <span class="s2">&quot;OBJECT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">OBJECT</span><span class="p">,</span>
-</span><span id="Tokenizer-628"><a href="#Tokenizer-628"><span class="linenos"> 628</span></a> <span class="s2">&quot;OFFSET&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">OFFSET</span><span class="p">,</span>
-</span><span id="Tokenizer-629"><a href="#Tokenizer-629"><span class="linenos"> 629</span></a> <span class="s2">&quot;ON&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">ON</span><span class="p">,</span>
-</span><span id="Tokenizer-630"><a href="#Tokenizer-630"><span class="linenos"> 630</span></a> <span class="s2">&quot;OR&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">OR</span><span class="p">,</span>
-</span><span id="Tokenizer-631"><a href="#Tokenizer-631"><span class="linenos"> 631</span></a> <span class="s2">&quot;XOR&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">XOR</span><span class="p">,</span>
-</span><span id="Tokenizer-632"><a href="#Tokenizer-632"><span class="linenos"> 632</span></a> <span class="s2">&quot;ORDER BY&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">ORDER_BY</span><span class="p">,</span>
-</span><span id="Tokenizer-633"><a href="#Tokenizer-633"><span class="linenos"> 633</span></a> <span class="s2">&quot;ORDINALITY&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">ORDINALITY</span><span class="p">,</span>
-</span><span id="Tokenizer-634"><a href="#Tokenizer-634"><span class="linenos"> 634</span></a> <span class="s2">&quot;OUTER&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">OUTER</span><span class="p">,</span>
-</span><span id="Tokenizer-635"><a href="#Tokenizer-635"><span class="linenos"> 635</span></a> <span class="s2">&quot;OVER&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">OVER</span><span class="p">,</span>
-</span><span id="Tokenizer-636"><a href="#Tokenizer-636"><span class="linenos"> 636</span></a> <span class="s2">&quot;OVERLAPS&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">OVERLAPS</span><span class="p">,</span>
-</span><span id="Tokenizer-637"><a href="#Tokenizer-637"><span class="linenos"> 637</span></a> <span class="s2">&quot;OVERWRITE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">OVERWRITE</span><span class="p">,</span>
-</span><span id="Tokenizer-638"><a href="#Tokenizer-638"><span class="linenos"> 638</span></a> <span class="s2">&quot;PARTITION&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">PARTITION</span><span class="p">,</span>
-</span><span id="Tokenizer-639"><a href="#Tokenizer-639"><span class="linenos"> 639</span></a> <span class="s2">&quot;PARTITION BY&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">PARTITION_BY</span><span class="p">,</span>
-</span><span id="Tokenizer-640"><a href="#Tokenizer-640"><span class="linenos"> 640</span></a> <span class="s2">&quot;PARTITIONED BY&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">PARTITION_BY</span><span class="p">,</span>
-</span><span id="Tokenizer-641"><a href="#Tokenizer-641"><span class="linenos"> 641</span></a> <span class="s2">&quot;PARTITIONED_BY&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">PARTITION_BY</span><span class="p">,</span>
-</span><span id="Tokenizer-642"><a href="#Tokenizer-642"><span class="linenos"> 642</span></a> <span class="s2">&quot;PERCENT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">PERCENT</span><span class="p">,</span>
-</span><span id="Tokenizer-643"><a href="#Tokenizer-643"><span class="linenos"> 643</span></a> <span class="s2">&quot;PIVOT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">PIVOT</span><span class="p">,</span>
-</span><span id="Tokenizer-644"><a href="#Tokenizer-644"><span class="linenos"> 644</span></a> <span class="s2">&quot;PRAGMA&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">PRAGMA</span><span class="p">,</span>
-</span><span id="Tokenizer-645"><a href="#Tokenizer-645"><span class="linenos"> 645</span></a> <span class="s2">&quot;PRIMARY KEY&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">PRIMARY_KEY</span><span class="p">,</span>
-</span><span id="Tokenizer-646"><a href="#Tokenizer-646"><span class="linenos"> 646</span></a> <span class="s2">&quot;PROCEDURE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">PROCEDURE</span><span class="p">,</span>
-</span><span id="Tokenizer-647"><a href="#Tokenizer-647"><span class="linenos"> 647</span></a> <span class="s2">&quot;QUALIFY&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">QUALIFY</span><span class="p">,</span>
-</span><span id="Tokenizer-648"><a href="#Tokenizer-648"><span class="linenos"> 648</span></a> <span class="s2">&quot;RANGE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">RANGE</span><span class="p">,</span>
-</span><span id="Tokenizer-649"><a href="#Tokenizer-649"><span class="linenos"> 649</span></a> <span class="s2">&quot;RECURSIVE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">RECURSIVE</span><span class="p">,</span>
-</span><span id="Tokenizer-650"><a href="#Tokenizer-650"><span class="linenos"> 650</span></a> <span class="s2">&quot;REGEXP&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">RLIKE</span><span class="p">,</span>
-</span><span id="Tokenizer-651"><a href="#Tokenizer-651"><span class="linenos"> 651</span></a> <span class="s2">&quot;REPLACE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">REPLACE</span><span class="p">,</span>
-</span><span id="Tokenizer-652"><a href="#Tokenizer-652"><span class="linenos"> 652</span></a> <span class="s2">&quot;RETURNING&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">RETURNING</span><span class="p">,</span>
-</span><span id="Tokenizer-653"><a href="#Tokenizer-653"><span class="linenos"> 653</span></a> <span class="s2">&quot;REFERENCES&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">REFERENCES</span><span class="p">,</span>
-</span><span id="Tokenizer-654"><a href="#Tokenizer-654"><span class="linenos"> 654</span></a> <span class="s2">&quot;RIGHT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">RIGHT</span><span class="p">,</span>
-</span><span id="Tokenizer-655"><a href="#Tokenizer-655"><span class="linenos"> 655</span></a> <span class="s2">&quot;RLIKE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">RLIKE</span><span class="p">,</span>
-</span><span id="Tokenizer-656"><a href="#Tokenizer-656"><span class="linenos"> 656</span></a> <span class="s2">&quot;ROLLBACK&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">ROLLBACK</span><span class="p">,</span>
-</span><span id="Tokenizer-657"><a href="#Tokenizer-657"><span class="linenos"> 657</span></a> <span class="s2">&quot;ROLLUP&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">ROLLUP</span><span class="p">,</span>
-</span><span id="Tokenizer-658"><a href="#Tokenizer-658"><span class="linenos"> 658</span></a> <span class="s2">&quot;ROW&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">ROW</span><span class="p">,</span>
-</span><span id="Tokenizer-659"><a href="#Tokenizer-659"><span class="linenos"> 659</span></a> <span class="s2">&quot;ROWS&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">ROWS</span><span class="p">,</span>
-</span><span id="Tokenizer-660"><a href="#Tokenizer-660"><span class="linenos"> 660</span></a> <span class="s2">&quot;SCHEMA&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">SCHEMA</span><span class="p">,</span>
-</span><span id="Tokenizer-661"><a href="#Tokenizer-661"><span class="linenos"> 661</span></a> <span class="s2">&quot;SELECT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">SELECT</span><span class="p">,</span>
-</span><span id="Tokenizer-662"><a href="#Tokenizer-662"><span class="linenos"> 662</span></a> <span class="s2">&quot;SEMI&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">SEMI</span><span class="p">,</span>
-</span><span id="Tokenizer-663"><a href="#Tokenizer-663"><span class="linenos"> 663</span></a> <span class="s2">&quot;SET&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">SET</span><span class="p">,</span>
-</span><span id="Tokenizer-664"><a href="#Tokenizer-664"><span class="linenos"> 664</span></a> <span class="s2">&quot;SETTINGS&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">SETTINGS</span><span class="p">,</span>
-</span><span id="Tokenizer-665"><a href="#Tokenizer-665"><span class="linenos"> 665</span></a> <span class="s2">&quot;SHOW&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">SHOW</span><span class="p">,</span>
-</span><span id="Tokenizer-666"><a href="#Tokenizer-666"><span class="linenos"> 666</span></a> <span class="s2">&quot;SIMILAR TO&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">SIMILAR_TO</span><span class="p">,</span>
-</span><span id="Tokenizer-667"><a href="#Tokenizer-667"><span class="linenos"> 667</span></a> <span class="s2">&quot;SOME&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">SOME</span><span class="p">,</span>
-</span><span id="Tokenizer-668"><a href="#Tokenizer-668"><span class="linenos"> 668</span></a> <span class="s2">&quot;SORT BY&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">SORT_BY</span><span class="p">,</span>
-</span><span id="Tokenizer-669"><a href="#Tokenizer-669"><span class="linenos"> 669</span></a> <span class="s2">&quot;START WITH&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">START_WITH</span><span class="p">,</span>
-</span><span id="Tokenizer-670"><a href="#Tokenizer-670"><span class="linenos"> 670</span></a> <span class="s2">&quot;TABLE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TABLE</span><span class="p">,</span>
-</span><span id="Tokenizer-671"><a href="#Tokenizer-671"><span class="linenos"> 671</span></a> <span class="s2">&quot;TABLESAMPLE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TABLE_SAMPLE</span><span class="p">,</span>
-</span><span id="Tokenizer-672"><a href="#Tokenizer-672"><span class="linenos"> 672</span></a> <span class="s2">&quot;TEMP&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TEMPORARY</span><span class="p">,</span>
-</span><span id="Tokenizer-673"><a href="#Tokenizer-673"><span class="linenos"> 673</span></a> <span class="s2">&quot;TEMPORARY&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TEMPORARY</span><span class="p">,</span>
-</span><span id="Tokenizer-674"><a href="#Tokenizer-674"><span class="linenos"> 674</span></a> <span class="s2">&quot;THEN&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">THEN</span><span class="p">,</span>
-</span><span id="Tokenizer-675"><a href="#Tokenizer-675"><span class="linenos"> 675</span></a> <span class="s2">&quot;TRUE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TRUE</span><span class="p">,</span>
-</span><span id="Tokenizer-676"><a href="#Tokenizer-676"><span class="linenos"> 676</span></a> <span class="s2">&quot;UNION&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">UNION</span><span class="p">,</span>
-</span><span id="Tokenizer-677"><a href="#Tokenizer-677"><span class="linenos"> 677</span></a> <span class="s2">&quot;UNKNOWN&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">UNKNOWN</span><span class="p">,</span>
-</span><span id="Tokenizer-678"><a href="#Tokenizer-678"><span class="linenos"> 678</span></a> <span class="s2">&quot;UNNEST&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">UNNEST</span><span class="p">,</span>
-</span><span id="Tokenizer-679"><a href="#Tokenizer-679"><span class="linenos"> 679</span></a> <span class="s2">&quot;UNPIVOT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">UNPIVOT</span><span class="p">,</span>
-</span><span id="Tokenizer-680"><a href="#Tokenizer-680"><span class="linenos"> 680</span></a> <span class="s2">&quot;UPDATE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">UPDATE</span><span class="p">,</span>
-</span><span id="Tokenizer-681"><a href="#Tokenizer-681"><span class="linenos"> 681</span></a> <span class="s2">&quot;USE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">USE</span><span class="p">,</span>
-</span><span id="Tokenizer-682"><a href="#Tokenizer-682"><span class="linenos"> 682</span></a> <span class="s2">&quot;USING&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">USING</span><span class="p">,</span>
-</span><span id="Tokenizer-683"><a href="#Tokenizer-683"><span class="linenos"> 683</span></a> <span class="s2">&quot;UUID&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">UUID</span><span class="p">,</span>
-</span><span id="Tokenizer-684"><a href="#Tokenizer-684"><span class="linenos"> 684</span></a> <span class="s2">&quot;VALUES&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">VALUES</span><span class="p">,</span>
-</span><span id="Tokenizer-685"><a href="#Tokenizer-685"><span class="linenos"> 685</span></a> <span class="s2">&quot;VIEW&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">VIEW</span><span class="p">,</span>
-</span><span id="Tokenizer-686"><a href="#Tokenizer-686"><span class="linenos"> 686</span></a> <span class="s2">&quot;VOLATILE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">VOLATILE</span><span class="p">,</span>
-</span><span id="Tokenizer-687"><a href="#Tokenizer-687"><span class="linenos"> 687</span></a> <span class="s2">&quot;WHEN&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">WHEN</span><span class="p">,</span>
-</span><span id="Tokenizer-688"><a href="#Tokenizer-688"><span class="linenos"> 688</span></a> <span class="s2">&quot;WHERE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">WHERE</span><span class="p">,</span>
-</span><span id="Tokenizer-689"><a href="#Tokenizer-689"><span class="linenos"> 689</span></a> <span class="s2">&quot;WINDOW&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">WINDOW</span><span class="p">,</span>
-</span><span id="Tokenizer-690"><a href="#Tokenizer-690"><span class="linenos"> 690</span></a> <span class="s2">&quot;WITH&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">WITH</span><span class="p">,</span>
-</span><span id="Tokenizer-691"><a href="#Tokenizer-691"><span class="linenos"> 691</span></a> <span class="s2">&quot;APPLY&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">APPLY</span><span class="p">,</span>
-</span><span id="Tokenizer-692"><a href="#Tokenizer-692"><span class="linenos"> 692</span></a> <span class="s2">&quot;ARRAY&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">ARRAY</span><span class="p">,</span>
-</span><span id="Tokenizer-693"><a href="#Tokenizer-693"><span class="linenos"> 693</span></a> <span class="s2">&quot;BIT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BIT</span><span class="p">,</span>
-</span><span id="Tokenizer-694"><a href="#Tokenizer-694"><span class="linenos"> 694</span></a> <span class="s2">&quot;BOOL&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BOOLEAN</span><span class="p">,</span>
-</span><span id="Tokenizer-695"><a href="#Tokenizer-695"><span class="linenos"> 695</span></a> <span class="s2">&quot;BOOLEAN&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BOOLEAN</span><span class="p">,</span>
-</span><span id="Tokenizer-696"><a href="#Tokenizer-696"><span class="linenos"> 696</span></a> <span class="s2">&quot;BYTE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TINYINT</span><span class="p">,</span>
-</span><span id="Tokenizer-697"><a href="#Tokenizer-697"><span class="linenos"> 697</span></a> <span class="s2">&quot;MEDIUMINT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">MEDIUMINT</span><span class="p">,</span>
-</span><span id="Tokenizer-698"><a href="#Tokenizer-698"><span class="linenos"> 698</span></a> <span class="s2">&quot;INT1&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TINYINT</span><span class="p">,</span>
-</span><span id="Tokenizer-699"><a href="#Tokenizer-699"><span class="linenos"> 699</span></a> <span class="s2">&quot;TINYINT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TINYINT</span><span class="p">,</span>
-</span><span id="Tokenizer-700"><a href="#Tokenizer-700"><span class="linenos"> 700</span></a> <span class="s2">&quot;INT16&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">SMALLINT</span><span class="p">,</span>
-</span><span id="Tokenizer-701"><a href="#Tokenizer-701"><span class="linenos"> 701</span></a> <span class="s2">&quot;SHORT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">SMALLINT</span><span class="p">,</span>
-</span><span id="Tokenizer-702"><a href="#Tokenizer-702"><span class="linenos"> 702</span></a> <span class="s2">&quot;SMALLINT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">SMALLINT</span><span class="p">,</span>
-</span><span id="Tokenizer-703"><a href="#Tokenizer-703"><span class="linenos"> 703</span></a> <span class="s2">&quot;INT128&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">INT128</span><span class="p">,</span>
-</span><span id="Tokenizer-704"><a href="#Tokenizer-704"><span class="linenos"> 704</span></a> <span class="s2">&quot;HUGEINT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">INT128</span><span class="p">,</span>
-</span><span id="Tokenizer-705"><a href="#Tokenizer-705"><span class="linenos"> 705</span></a> <span class="s2">&quot;INT2&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">SMALLINT</span><span class="p">,</span>
-</span><span id="Tokenizer-706"><a href="#Tokenizer-706"><span class="linenos"> 706</span></a> <span class="s2">&quot;INTEGER&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">INT</span><span class="p">,</span>
-</span><span id="Tokenizer-707"><a href="#Tokenizer-707"><span class="linenos"> 707</span></a> <span class="s2">&quot;INT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">INT</span><span class="p">,</span>
-</span><span id="Tokenizer-708"><a href="#Tokenizer-708"><span class="linenos"> 708</span></a> <span class="s2">&quot;INT4&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">INT</span><span class="p">,</span>
-</span><span id="Tokenizer-709"><a href="#Tokenizer-709"><span class="linenos"> 709</span></a> <span class="s2">&quot;INT32&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">INT</span><span class="p">,</span>
-</span><span id="Tokenizer-710"><a href="#Tokenizer-710"><span class="linenos"> 710</span></a> <span class="s2">&quot;INT64&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BIGINT</span><span class="p">,</span>
-</span><span id="Tokenizer-711"><a href="#Tokenizer-711"><span class="linenos"> 711</span></a> <span class="s2">&quot;LONG&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BIGINT</span><span class="p">,</span>
-</span><span id="Tokenizer-712"><a href="#Tokenizer-712"><span class="linenos"> 712</span></a> <span class="s2">&quot;BIGINT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BIGINT</span><span class="p">,</span>
-</span><span id="Tokenizer-713"><a href="#Tokenizer-713"><span class="linenos"> 713</span></a> <span class="s2">&quot;INT8&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TINYINT</span><span class="p">,</span>
-</span><span id="Tokenizer-714"><a href="#Tokenizer-714"><span class="linenos"> 714</span></a> <span class="s2">&quot;DEC&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DECIMAL</span><span class="p">,</span>
-</span><span id="Tokenizer-715"><a href="#Tokenizer-715"><span class="linenos"> 715</span></a> <span class="s2">&quot;DECIMAL&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DECIMAL</span><span class="p">,</span>
-</span><span id="Tokenizer-716"><a href="#Tokenizer-716"><span class="linenos"> 716</span></a> <span class="s2">&quot;BIGDECIMAL&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BIGDECIMAL</span><span class="p">,</span>
-</span><span id="Tokenizer-717"><a href="#Tokenizer-717"><span class="linenos"> 717</span></a> <span class="s2">&quot;BIGNUMERIC&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BIGDECIMAL</span><span class="p">,</span>
-</span><span id="Tokenizer-718"><a href="#Tokenizer-718"><span class="linenos"> 718</span></a> <span class="s2">&quot;MAP&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">MAP</span><span class="p">,</span>
-</span><span id="Tokenizer-719"><a href="#Tokenizer-719"><span class="linenos"> 719</span></a> <span class="s2">&quot;NULLABLE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">NULLABLE</span><span class="p">,</span>
-</span><span id="Tokenizer-720"><a href="#Tokenizer-720"><span class="linenos"> 720</span></a> <span class="s2">&quot;NUMBER&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DECIMAL</span><span class="p">,</span>
-</span><span id="Tokenizer-721"><a href="#Tokenizer-721"><span class="linenos"> 721</span></a> <span class="s2">&quot;NUMERIC&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DECIMAL</span><span class="p">,</span>
-</span><span id="Tokenizer-722"><a href="#Tokenizer-722"><span class="linenos"> 722</span></a> <span class="s2">&quot;FIXED&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DECIMAL</span><span class="p">,</span>
-</span><span id="Tokenizer-723"><a href="#Tokenizer-723"><span class="linenos"> 723</span></a> <span class="s2">&quot;REAL&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">FLOAT</span><span class="p">,</span>
-</span><span id="Tokenizer-724"><a href="#Tokenizer-724"><span class="linenos"> 724</span></a> <span class="s2">&quot;FLOAT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">FLOAT</span><span class="p">,</span>
-</span><span id="Tokenizer-725"><a href="#Tokenizer-725"><span class="linenos"> 725</span></a> <span class="s2">&quot;FLOAT4&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">FLOAT</span><span class="p">,</span>
-</span><span id="Tokenizer-726"><a href="#Tokenizer-726"><span class="linenos"> 726</span></a> <span class="s2">&quot;FLOAT8&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DOUBLE</span><span class="p">,</span>
-</span><span id="Tokenizer-727"><a href="#Tokenizer-727"><span class="linenos"> 727</span></a> <span class="s2">&quot;DOUBLE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DOUBLE</span><span class="p">,</span>
-</span><span id="Tokenizer-728"><a href="#Tokenizer-728"><span class="linenos"> 728</span></a> <span class="s2">&quot;DOUBLE PRECISION&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DOUBLE</span><span class="p">,</span>
-</span><span id="Tokenizer-729"><a href="#Tokenizer-729"><span class="linenos"> 729</span></a> <span class="s2">&quot;JSON&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">JSON</span><span class="p">,</span>
-</span><span id="Tokenizer-730"><a href="#Tokenizer-730"><span class="linenos"> 730</span></a> <span class="s2">&quot;CHAR&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">CHAR</span><span class="p">,</span>
-</span><span id="Tokenizer-731"><a href="#Tokenizer-731"><span class="linenos"> 731</span></a> <span class="s2">&quot;CHARACTER&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">CHAR</span><span class="p">,</span>
-</span><span id="Tokenizer-732"><a href="#Tokenizer-732"><span class="linenos"> 732</span></a> <span class="s2">&quot;NCHAR&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">NCHAR</span><span class="p">,</span>
-</span><span id="Tokenizer-733"><a href="#Tokenizer-733"><span class="linenos"> 733</span></a> <span class="s2">&quot;VARCHAR&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">VARCHAR</span><span class="p">,</span>
-</span><span id="Tokenizer-734"><a href="#Tokenizer-734"><span class="linenos"> 734</span></a> <span class="s2">&quot;VARCHAR2&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">VARCHAR</span><span class="p">,</span>
-</span><span id="Tokenizer-735"><a href="#Tokenizer-735"><span class="linenos"> 735</span></a> <span class="s2">&quot;NVARCHAR&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">NVARCHAR</span><span class="p">,</span>
-</span><span id="Tokenizer-736"><a href="#Tokenizer-736"><span class="linenos"> 736</span></a> <span class="s2">&quot;NVARCHAR2&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">NVARCHAR</span><span class="p">,</span>
-</span><span id="Tokenizer-737"><a href="#Tokenizer-737"><span class="linenos"> 737</span></a> <span class="s2">&quot;STR&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TEXT</span><span class="p">,</span>
-</span><span id="Tokenizer-738"><a href="#Tokenizer-738"><span class="linenos"> 738</span></a> <span class="s2">&quot;STRING&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TEXT</span><span class="p">,</span>
-</span><span id="Tokenizer-739"><a href="#Tokenizer-739"><span class="linenos"> 739</span></a> <span class="s2">&quot;TEXT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TEXT</span><span class="p">,</span>
-</span><span id="Tokenizer-740"><a href="#Tokenizer-740"><span class="linenos"> 740</span></a> <span class="s2">&quot;LONGTEXT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">LONGTEXT</span><span class="p">,</span>
-</span><span id="Tokenizer-741"><a href="#Tokenizer-741"><span class="linenos"> 741</span></a> <span class="s2">&quot;MEDIUMTEXT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">MEDIUMTEXT</span><span class="p">,</span>
-</span><span id="Tokenizer-742"><a href="#Tokenizer-742"><span class="linenos"> 742</span></a> <span class="s2">&quot;TINYTEXT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TINYTEXT</span><span class="p">,</span>
-</span><span id="Tokenizer-743"><a href="#Tokenizer-743"><span class="linenos"> 743</span></a> <span class="s2">&quot;CLOB&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TEXT</span><span class="p">,</span>
-</span><span id="Tokenizer-744"><a href="#Tokenizer-744"><span class="linenos"> 744</span></a> <span class="s2">&quot;LONGVARCHAR&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TEXT</span><span class="p">,</span>
-</span><span id="Tokenizer-745"><a href="#Tokenizer-745"><span class="linenos"> 745</span></a> <span class="s2">&quot;BINARY&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BINARY</span><span class="p">,</span>
-</span><span id="Tokenizer-746"><a href="#Tokenizer-746"><span class="linenos"> 746</span></a> <span class="s2">&quot;BLOB&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">VARBINARY</span><span class="p">,</span>
-</span><span id="Tokenizer-747"><a href="#Tokenizer-747"><span class="linenos"> 747</span></a> <span class="s2">&quot;LONGBLOB&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">LONGBLOB</span><span class="p">,</span>
-</span><span id="Tokenizer-748"><a href="#Tokenizer-748"><span class="linenos"> 748</span></a> <span class="s2">&quot;MEDIUMBLOB&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">MEDIUMBLOB</span><span class="p">,</span>
-</span><span id="Tokenizer-749"><a href="#Tokenizer-749"><span class="linenos"> 749</span></a> <span class="s2">&quot;TINYBLOB&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TINYBLOB</span><span class="p">,</span>
-</span><span id="Tokenizer-750"><a href="#Tokenizer-750"><span class="linenos"> 750</span></a> <span class="s2">&quot;BYTEA&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">VARBINARY</span><span class="p">,</span>
-</span><span id="Tokenizer-751"><a href="#Tokenizer-751"><span class="linenos"> 751</span></a> <span class="s2">&quot;VARBINARY&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">VARBINARY</span><span class="p">,</span>
-</span><span id="Tokenizer-752"><a href="#Tokenizer-752"><span class="linenos"> 752</span></a> <span class="s2">&quot;TIME&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TIME</span><span class="p">,</span>
-</span><span id="Tokenizer-753"><a href="#Tokenizer-753"><span class="linenos"> 753</span></a> <span class="s2">&quot;TIMETZ&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TIMETZ</span><span class="p">,</span>
-</span><span id="Tokenizer-754"><a href="#Tokenizer-754"><span class="linenos"> 754</span></a> <span class="s2">&quot;TIMESTAMP&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TIMESTAMP</span><span class="p">,</span>
-</span><span id="Tokenizer-755"><a href="#Tokenizer-755"><span class="linenos"> 755</span></a> <span class="s2">&quot;TIMESTAMPTZ&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TIMESTAMPTZ</span><span class="p">,</span>
-</span><span id="Tokenizer-756"><a href="#Tokenizer-756"><span class="linenos"> 756</span></a> <span class="s2">&quot;TIMESTAMPLTZ&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TIMESTAMPLTZ</span><span class="p">,</span>
-</span><span id="Tokenizer-757"><a href="#Tokenizer-757"><span class="linenos"> 757</span></a> <span class="s2">&quot;DATE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DATE</span><span class="p">,</span>
-</span><span id="Tokenizer-758"><a href="#Tokenizer-758"><span class="linenos"> 758</span></a> <span class="s2">&quot;DATETIME&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DATETIME</span><span class="p">,</span>
-</span><span id="Tokenizer-759"><a href="#Tokenizer-759"><span class="linenos"> 759</span></a> <span class="s2">&quot;INT4RANGE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">INT4RANGE</span><span class="p">,</span>
-</span><span id="Tokenizer-760"><a href="#Tokenizer-760"><span class="linenos"> 760</span></a> <span class="s2">&quot;INT4MULTIRANGE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">INT4MULTIRANGE</span><span class="p">,</span>
-</span><span id="Tokenizer-761"><a href="#Tokenizer-761"><span class="linenos"> 761</span></a> <span class="s2">&quot;INT8RANGE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">INT8RANGE</span><span class="p">,</span>
-</span><span id="Tokenizer-762"><a href="#Tokenizer-762"><span class="linenos"> 762</span></a> <span class="s2">&quot;INT8MULTIRANGE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">INT8MULTIRANGE</span><span class="p">,</span>
-</span><span id="Tokenizer-763"><a href="#Tokenizer-763"><span class="linenos"> 763</span></a> <span class="s2">&quot;NUMRANGE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">NUMRANGE</span><span class="p">,</span>
-</span><span id="Tokenizer-764"><a href="#Tokenizer-764"><span class="linenos"> 764</span></a> <span class="s2">&quot;NUMMULTIRANGE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">NUMMULTIRANGE</span><span class="p">,</span>
-</span><span id="Tokenizer-765"><a href="#Tokenizer-765"><span class="linenos"> 765</span></a> <span class="s2">&quot;TSRANGE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TSRANGE</span><span class="p">,</span>
-</span><span id="Tokenizer-766"><a href="#Tokenizer-766"><span class="linenos"> 766</span></a> <span class="s2">&quot;TSMULTIRANGE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TSMULTIRANGE</span><span class="p">,</span>
-</span><span id="Tokenizer-767"><a href="#Tokenizer-767"><span class="linenos"> 767</span></a> <span class="s2">&quot;TSTZRANGE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TSTZRANGE</span><span class="p">,</span>
-</span><span id="Tokenizer-768"><a href="#Tokenizer-768"><span class="linenos"> 768</span></a> <span class="s2">&quot;TSTZMULTIRANGE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TSTZMULTIRANGE</span><span class="p">,</span>
-</span><span id="Tokenizer-769"><a href="#Tokenizer-769"><span class="linenos"> 769</span></a> <span class="s2">&quot;DATERANGE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DATERANGE</span><span class="p">,</span>
-</span><span id="Tokenizer-770"><a href="#Tokenizer-770"><span class="linenos"> 770</span></a> <span class="s2">&quot;DATEMULTIRANGE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DATEMULTIRANGE</span><span class="p">,</span>
-</span><span id="Tokenizer-771"><a href="#Tokenizer-771"><span class="linenos"> 771</span></a> <span class="s2">&quot;UNIQUE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">UNIQUE</span><span class="p">,</span>
-</span><span id="Tokenizer-772"><a href="#Tokenizer-772"><span class="linenos"> 772</span></a> <span class="s2">&quot;STRUCT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">STRUCT</span><span class="p">,</span>
-</span><span id="Tokenizer-773"><a href="#Tokenizer-773"><span class="linenos"> 773</span></a> <span class="s2">&quot;VARIANT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">VARIANT</span><span class="p">,</span>
-</span><span id="Tokenizer-774"><a href="#Tokenizer-774"><span class="linenos"> 774</span></a> <span class="s2">&quot;ALTER&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">ALTER</span><span class="p">,</span>
-</span><span id="Tokenizer-775"><a href="#Tokenizer-775"><span class="linenos"> 775</span></a> <span class="s2">&quot;ANALYZE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMAND</span><span class="p">,</span>
-</span><span id="Tokenizer-776"><a href="#Tokenizer-776"><span class="linenos"> 776</span></a> <span class="s2">&quot;CALL&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMAND</span><span class="p">,</span>
-</span><span id="Tokenizer-777"><a href="#Tokenizer-777"><span class="linenos"> 777</span></a> <span class="s2">&quot;COMMENT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMENT</span><span class="p">,</span>
-</span><span id="Tokenizer-778"><a href="#Tokenizer-778"><span class="linenos"> 778</span></a> <span class="s2">&quot;COPY&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMAND</span><span class="p">,</span>
-</span><span id="Tokenizer-779"><a href="#Tokenizer-779"><span class="linenos"> 779</span></a> <span class="s2">&quot;EXPLAIN&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMAND</span><span class="p">,</span>
-</span><span id="Tokenizer-780"><a href="#Tokenizer-780"><span class="linenos"> 780</span></a> <span class="s2">&quot;GRANT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMAND</span><span class="p">,</span>
-</span><span id="Tokenizer-781"><a href="#Tokenizer-781"><span class="linenos"> 781</span></a> <span class="s2">&quot;OPTIMIZE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMAND</span><span class="p">,</span>
-</span><span id="Tokenizer-782"><a href="#Tokenizer-782"><span class="linenos"> 782</span></a> <span class="s2">&quot;PREPARE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMAND</span><span class="p">,</span>
-</span><span id="Tokenizer-783"><a href="#Tokenizer-783"><span class="linenos"> 783</span></a> <span class="s2">&quot;TRUNCATE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMAND</span><span class="p">,</span>
-</span><span id="Tokenizer-784"><a href="#Tokenizer-784"><span class="linenos"> 784</span></a> <span class="s2">&quot;VACUUM&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMAND</span><span class="p">,</span>
-</span><span id="Tokenizer-785"><a href="#Tokenizer-785"><span class="linenos"> 785</span></a> <span class="s2">&quot;USER-DEFINED&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">USERDEFINED</span><span class="p">,</span>
-</span><span id="Tokenizer-786"><a href="#Tokenizer-786"><span class="linenos"> 786</span></a> <span class="s2">&quot;FOR VERSION&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">VERSION_SNAPSHOT</span><span class="p">,</span>
-</span><span id="Tokenizer-787"><a href="#Tokenizer-787"><span class="linenos"> 787</span></a> <span class="s2">&quot;FOR TIMESTAMP&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TIMESTAMP_SNAPSHOT</span><span class="p">,</span>
-</span><span id="Tokenizer-788"><a href="#Tokenizer-788"><span class="linenos"> 788</span></a> <span class="p">}</span>
-</span><span id="Tokenizer-789"><a href="#Tokenizer-789"><span class="linenos"> 789</span></a>
-</span><span id="Tokenizer-790"><a href="#Tokenizer-790"><span class="linenos"> 790</span></a> <span class="n">WHITE_SPACE</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">[</span><span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">],</span> <span class="n">TokenType</span><span class="p">]</span> <span class="o">=</span> <span class="p">{</span>
-</span><span id="Tokenizer-791"><a href="#Tokenizer-791"><span class="linenos"> 791</span></a> <span class="s2">&quot; &quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">SPACE</span><span class="p">,</span>
-</span><span id="Tokenizer-792"><a href="#Tokenizer-792"><span class="linenos"> 792</span></a> <span class="s2">&quot;</span><span class="se">\t</span><span class="s2">&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">SPACE</span><span class="p">,</span>
-</span><span id="Tokenizer-793"><a href="#Tokenizer-793"><span class="linenos"> 793</span></a> <span class="s2">&quot;</span><span class="se">\n</span><span class="s2">&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BREAK</span><span class="p">,</span>
-</span><span id="Tokenizer-794"><a href="#Tokenizer-794"><span class="linenos"> 794</span></a> <span class="s2">&quot;</span><span class="se">\r</span><span class="s2">&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BREAK</span><span class="p">,</span>
-</span><span id="Tokenizer-795"><a href="#Tokenizer-795"><span class="linenos"> 795</span></a> <span class="p">}</span>
-</span><span id="Tokenizer-796"><a href="#Tokenizer-796"><span class="linenos"> 796</span></a>
-</span><span id="Tokenizer-797"><a href="#Tokenizer-797"><span class="linenos"> 797</span></a> <span class="n">COMMANDS</span> <span class="o">=</span> <span class="p">{</span>
-</span><span id="Tokenizer-798"><a href="#Tokenizer-798"><span class="linenos"> 798</span></a> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMAND</span><span class="p">,</span>
-</span><span id="Tokenizer-799"><a href="#Tokenizer-799"><span class="linenos"> 799</span></a> <span class="n">TokenType</span><span class="o">.</span><span class="n">EXECUTE</span><span class="p">,</span>
-</span><span id="Tokenizer-800"><a href="#Tokenizer-800"><span class="linenos"> 800</span></a> <span class="n">TokenType</span><span class="o">.</span><span class="n">FETCH</span><span class="p">,</span>
-</span><span id="Tokenizer-801"><a href="#Tokenizer-801"><span class="linenos"> 801</span></a> <span class="n">TokenType</span><span class="o">.</span><span class="n">SHOW</span><span class="p">,</span>
-</span><span id="Tokenizer-802"><a href="#Tokenizer-802"><span class="linenos"> 802</span></a> <span class="p">}</span>
-</span><span id="Tokenizer-803"><a href="#Tokenizer-803"><span class="linenos"> 803</span></a>
-</span><span id="Tokenizer-804"><a href="#Tokenizer-804"><span class="linenos"> 804</span></a> <span class="n">COMMAND_PREFIX_TOKENS</span> <span class="o">=</span> <span class="p">{</span><span class="n">TokenType</span><span class="o">.</span><span class="n">SEMICOLON</span><span class="p">,</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BEGIN</span><span class="p">}</span>
-</span><span id="Tokenizer-805"><a href="#Tokenizer-805"><span class="linenos"> 805</span></a>
-</span><span id="Tokenizer-806"><a href="#Tokenizer-806"><span class="linenos"> 806</span></a> <span class="c1"># handle numeric literals like in hive (3L = BIGINT)</span>
-</span><span id="Tokenizer-807"><a href="#Tokenizer-807"><span class="linenos"> 807</span></a> <span class="n">NUMERIC_LITERALS</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="p">{}</span>
-</span><span id="Tokenizer-808"><a href="#Tokenizer-808"><span class="linenos"> 808</span></a> <span class="n">ENCODE</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span>
-</span><span id="Tokenizer-809"><a href="#Tokenizer-809"><span class="linenos"> 809</span></a>
-</span><span id="Tokenizer-810"><a href="#Tokenizer-810"><span class="linenos"> 810</span></a> <span class="n">COMMENTS</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;--&quot;</span><span class="p">,</span> <span class="p">(</span><span class="s2">&quot;/*&quot;</span><span class="p">,</span> <span class="s2">&quot;*/&quot;</span><span class="p">)]</span>
-</span><span id="Tokenizer-811"><a href="#Tokenizer-811"><span class="linenos"> 811</span></a>
-</span><span id="Tokenizer-812"><a href="#Tokenizer-812"><span class="linenos"> 812</span></a> <span class="vm">__slots__</span> <span class="o">=</span> <span class="p">(</span>
-</span><span id="Tokenizer-813"><a href="#Tokenizer-813"><span class="linenos"> 813</span></a> <span class="s2">&quot;sql&quot;</span><span class="p">,</span>
-</span><span id="Tokenizer-814"><a href="#Tokenizer-814"><span class="linenos"> 814</span></a> <span class="s2">&quot;size&quot;</span><span class="p">,</span>
-</span><span id="Tokenizer-815"><a href="#Tokenizer-815"><span class="linenos"> 815</span></a> <span class="s2">&quot;tokens&quot;</span><span class="p">,</span>
-</span><span id="Tokenizer-816"><a href="#Tokenizer-816"><span class="linenos"> 816</span></a> <span class="s2">&quot;dialect&quot;</span><span class="p">,</span>
-</span><span id="Tokenizer-817"><a href="#Tokenizer-817"><span class="linenos"> 817</span></a> <span class="s2">&quot;_start&quot;</span><span class="p">,</span>
-</span><span id="Tokenizer-818"><a href="#Tokenizer-818"><span class="linenos"> 818</span></a> <span class="s2">&quot;_current&quot;</span><span class="p">,</span>
-</span><span id="Tokenizer-819"><a href="#Tokenizer-819"><span class="linenos"> 819</span></a> <span class="s2">&quot;_line&quot;</span><span class="p">,</span>
-</span><span id="Tokenizer-820"><a href="#Tokenizer-820"><span class="linenos"> 820</span></a> <span class="s2">&quot;_col&quot;</span><span class="p">,</span>
-</span><span id="Tokenizer-821"><a href="#Tokenizer-821"><span class="linenos"> 821</span></a> <span class="s2">&quot;_comments&quot;</span><span class="p">,</span>
-</span><span id="Tokenizer-822"><a href="#Tokenizer-822"><span class="linenos"> 822</span></a> <span class="s2">&quot;_char&quot;</span><span class="p">,</span>
-</span><span id="Tokenizer-823"><a href="#Tokenizer-823"><span class="linenos"> 823</span></a> <span class="s2">&quot;_end&quot;</span><span class="p">,</span>
-</span><span id="Tokenizer-824"><a href="#Tokenizer-824"><span class="linenos"> 824</span></a> <span class="s2">&quot;_peek&quot;</span><span class="p">,</span>
-</span><span id="Tokenizer-825"><a href="#Tokenizer-825"><span class="linenos"> 825</span></a> <span class="s2">&quot;_prev_token_line&quot;</span><span class="p">,</span>
-</span><span id="Tokenizer-826"><a href="#Tokenizer-826"><span class="linenos"> 826</span></a> <span class="p">)</span>
-</span><span id="Tokenizer-827"><a href="#Tokenizer-827"><span class="linenos"> 827</span></a>
-</span><span id="Tokenizer-828"><a href="#Tokenizer-828"><span class="linenos"> 828</span></a> <span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">dialect</span><span class="p">:</span> <span class="n">DialectType</span> <span class="o">=</span> <span class="kc">None</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
-</span><span id="Tokenizer-829"><a href="#Tokenizer-829"><span class="linenos"> 829</span></a> <span class="kn">from</span> <span class="nn">sqlglot.dialects</span> <span class="kn">import</span> <span class="n">Dialect</span>
-</span><span id="Tokenizer-830"><a href="#Tokenizer-830"><span class="linenos"> 830</span></a>
-</span><span id="Tokenizer-831"><a href="#Tokenizer-831"><span class="linenos"> 831</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">dialect</span> <span class="o">=</span> <span class="n">Dialect</span><span class="o">.</span><span class="n">get_or_raise</span><span class="p">(</span><span class="n">dialect</span><span class="p">)</span>
-</span><span id="Tokenizer-832"><a href="#Tokenizer-832"><span class="linenos"> 832</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">reset</span><span class="p">()</span>
-</span><span id="Tokenizer-833"><a href="#Tokenizer-833"><span class="linenos"> 833</span></a>
-</span><span id="Tokenizer-834"><a href="#Tokenizer-834"><span class="linenos"> 834</span></a> <span class="k">def</span> <span class="nf">reset</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
-</span><span id="Tokenizer-835"><a href="#Tokenizer-835"><span class="linenos"> 835</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">sql</span> <span class="o">=</span> <span class="s2">&quot;&quot;</span>
-</span><span id="Tokenizer-836"><a href="#Tokenizer-836"><span class="linenos"> 836</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">size</span> <span class="o">=</span> <span class="mi">0</span>
-</span><span id="Tokenizer-837"><a href="#Tokenizer-837"><span class="linenos"> 837</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">tokens</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">List</span><span class="p">[</span><span class="n">Token</span><span class="p">]</span> <span class="o">=</span> <span class="p">[]</span>
-</span><span id="Tokenizer-838"><a href="#Tokenizer-838"><span class="linenos"> 838</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_start</span> <span class="o">=</span> <span class="mi">0</span>
-</span><span id="Tokenizer-839"><a href="#Tokenizer-839"><span class="linenos"> 839</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_current</span> <span class="o">=</span> <span class="mi">0</span>
-</span><span id="Tokenizer-840"><a href="#Tokenizer-840"><span class="linenos"> 840</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_line</span> <span class="o">=</span> <span class="mi">1</span>
-</span><span id="Tokenizer-841"><a href="#Tokenizer-841"><span class="linenos"> 841</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_col</span> <span class="o">=</span> <span class="mi">0</span>
-</span><span id="Tokenizer-842"><a href="#Tokenizer-842"><span class="linenos"> 842</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_comments</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">List</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="p">[]</span>
-</span><span id="Tokenizer-843"><a href="#Tokenizer-843"><span class="linenos"> 843</span></a>
-</span><span id="Tokenizer-844"><a href="#Tokenizer-844"><span class="linenos"> 844</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_char</span> <span class="o">=</span> <span class="s2">&quot;&quot;</span>
-</span><span id="Tokenizer-845"><a href="#Tokenizer-845"><span class="linenos"> 845</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_end</span> <span class="o">=</span> <span class="kc">False</span>
-</span><span id="Tokenizer-846"><a href="#Tokenizer-846"><span class="linenos"> 846</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span> <span class="o">=</span> <span class="s2">&quot;&quot;</span>
-</span><span id="Tokenizer-847"><a href="#Tokenizer-847"><span class="linenos"> 847</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_prev_token_line</span> <span class="o">=</span> <span class="o">-</span><span class="mi">1</span>
-</span><span id="Tokenizer-848"><a href="#Tokenizer-848"><span class="linenos"> 848</span></a>
-</span><span id="Tokenizer-849"><a href="#Tokenizer-849"><span class="linenos"> 849</span></a> <span class="k">def</span> <span class="nf">tokenize</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">sql</span><span class="p">:</span> <span class="nb">str</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">t</span><span class="o">.</span><span class="n">List</span><span class="p">[</span><span class="n">Token</span><span class="p">]:</span>
-</span><span id="Tokenizer-850"><a href="#Tokenizer-850"><span class="linenos"> 850</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Returns a list of tokens corresponding to the SQL string `sql`.&quot;&quot;&quot;</span>
-</span><span id="Tokenizer-851"><a href="#Tokenizer-851"><span class="linenos"> 851</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">reset</span><span class="p">()</span>
-</span><span id="Tokenizer-852"><a href="#Tokenizer-852"><span class="linenos"> 852</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">sql</span> <span class="o">=</span> <span class="n">sql</span>
-</span><span id="Tokenizer-853"><a href="#Tokenizer-853"><span class="linenos"> 853</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">size</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">sql</span><span class="p">)</span>
-</span><span id="Tokenizer-854"><a href="#Tokenizer-854"><span class="linenos"> 854</span></a>
-</span><span id="Tokenizer-855"><a href="#Tokenizer-855"><span class="linenos"> 855</span></a> <span class="k">try</span><span class="p">:</span>
-</span><span id="Tokenizer-856"><a href="#Tokenizer-856"><span class="linenos"> 856</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_scan</span><span class="p">()</span>
-</span><span id="Tokenizer-857"><a href="#Tokenizer-857"><span class="linenos"> 857</span></a> <span class="k">except</span> <span class="ne">Exception</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
-</span><span id="Tokenizer-858"><a href="#Tokenizer-858"><span class="linenos"> 858</span></a> <span class="n">start</span> <span class="o">=</span> <span class="nb">max</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_current</span> <span class="o">-</span> <span class="mi">50</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span>
-</span><span id="Tokenizer-859"><a href="#Tokenizer-859"><span class="linenos"> 859</span></a> <span class="n">end</span> <span class="o">=</span> <span class="nb">min</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_current</span> <span class="o">+</span> <span class="mi">50</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">size</span> <span class="o">-</span> <span class="mi">1</span><span class="p">)</span>
-</span><span id="Tokenizer-860"><a href="#Tokenizer-860"><span class="linenos"> 860</span></a> <span class="n">context</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">sql</span><span class="p">[</span><span class="n">start</span><span class="p">:</span><span class="n">end</span><span class="p">]</span>
-</span><span id="Tokenizer-861"><a href="#Tokenizer-861"><span class="linenos"> 861</span></a> <span class="k">raise</span> <span class="n">TokenError</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;Error tokenizing &#39;</span><span class="si">{</span><span class="n">context</span><span class="si">}</span><span class="s2">&#39;&quot;</span><span class="p">)</span> <span class="kn">from</span> <span class="nn">e</span>
-</span><span id="Tokenizer-862"><a href="#Tokenizer-862"><span class="linenos"> 862</span></a>
-</span><span id="Tokenizer-863"><a href="#Tokenizer-863"><span class="linenos"> 863</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">tokens</span>
-</span><span id="Tokenizer-864"><a href="#Tokenizer-864"><span class="linenos"> 864</span></a>
-</span><span id="Tokenizer-865"><a href="#Tokenizer-865"><span class="linenos"> 865</span></a> <span class="k">def</span> <span class="nf">_scan</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">until</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="n">t</span><span class="o">.</span><span class="n">Callable</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
-</span><span id="Tokenizer-866"><a href="#Tokenizer-866"><span class="linenos"> 866</span></a> <span class="k">while</span> <span class="bp">self</span><span class="o">.</span><span class="n">size</span> <span class="ow">and</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">_end</span><span class="p">:</span>
-</span><span id="Tokenizer-867"><a href="#Tokenizer-867"><span class="linenos"> 867</span></a> <span class="n">current</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_current</span>
-</span><span id="Tokenizer-868"><a href="#Tokenizer-868"><span class="linenos"> 868</span></a>
-</span><span id="Tokenizer-869"><a href="#Tokenizer-869"><span class="linenos"> 869</span></a> <span class="c1"># skip spaces inline rather than iteratively call advance()</span>
-</span><span id="Tokenizer-870"><a href="#Tokenizer-870"><span class="linenos"> 870</span></a> <span class="c1"># for performance reasons</span>
-</span><span id="Tokenizer-871"><a href="#Tokenizer-871"><span class="linenos"> 871</span></a> <span class="k">while</span> <span class="n">current</span> <span class="o">&lt;</span> <span class="bp">self</span><span class="o">.</span><span class="n">size</span><span class="p">:</span>
-</span><span id="Tokenizer-872"><a href="#Tokenizer-872"><span class="linenos"> 872</span></a> <span class="n">char</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">sql</span><span class="p">[</span><span class="n">current</span><span class="p">]</span>
-</span><span id="Tokenizer-873"><a href="#Tokenizer-873"><span class="linenos"> 873</span></a>
-</span><span id="Tokenizer-874"><a href="#Tokenizer-874"><span class="linenos"> 874</span></a> <span class="k">if</span> <span class="n">char</span><span class="o">.</span><span class="n">isspace</span><span class="p">()</span> <span class="ow">and</span> <span class="p">(</span><span class="n">char</span> <span class="o">==</span> <span class="s2">&quot; &quot;</span> <span class="ow">or</span> <span class="n">char</span> <span class="o">==</span> <span class="s2">&quot;</span><span class="se">\t</span><span class="s2">&quot;</span><span class="p">):</span>
-</span><span id="Tokenizer-875"><a href="#Tokenizer-875"><span class="linenos"> 875</span></a> <span class="n">current</span> <span class="o">+=</span> <span class="mi">1</span>
-</span><span id="Tokenizer-876"><a href="#Tokenizer-876"><span class="linenos"> 876</span></a> <span class="k">else</span><span class="p">:</span>
-</span><span id="Tokenizer-877"><a href="#Tokenizer-877"><span class="linenos"> 877</span></a> <span class="k">break</span>
-</span><span id="Tokenizer-878"><a href="#Tokenizer-878"><span class="linenos"> 878</span></a>
-</span><span id="Tokenizer-879"><a href="#Tokenizer-879"><span class="linenos"> 879</span></a> <span class="n">n</span> <span class="o">=</span> <span class="n">current</span> <span class="o">-</span> <span class="bp">self</span><span class="o">.</span><span class="n">_current</span>
-</span><span id="Tokenizer-880"><a href="#Tokenizer-880"><span class="linenos"> 880</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_start</span> <span class="o">=</span> <span class="n">current</span>
-</span><span id="Tokenizer-881"><a href="#Tokenizer-881"><span class="linenos"> 881</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">(</span><span class="n">n</span> <span class="k">if</span> <span class="n">n</span> <span class="o">&gt;</span> <span class="mi">1</span> <span class="k">else</span> <span class="mi">1</span><span class="p">)</span>
-</span><span id="Tokenizer-882"><a href="#Tokenizer-882"><span class="linenos"> 882</span></a>
-</span><span id="Tokenizer-883"><a href="#Tokenizer-883"><span class="linenos"> 883</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_char</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
-</span><span id="Tokenizer-884"><a href="#Tokenizer-884"><span class="linenos"> 884</span></a> <span class="k">break</span>
-</span><span id="Tokenizer-885"><a href="#Tokenizer-885"><span class="linenos"> 885</span></a>
-</span><span id="Tokenizer-886"><a href="#Tokenizer-886"><span class="linenos"> 886</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">_char</span><span class="o">.</span><span class="n">isspace</span><span class="p">():</span>
-</span><span id="Tokenizer-887"><a href="#Tokenizer-887"><span class="linenos"> 887</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_char</span><span class="o">.</span><span class="n">isdigit</span><span class="p">():</span>
-</span><span id="Tokenizer-888"><a href="#Tokenizer-888"><span class="linenos"> 888</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_scan_number</span><span class="p">()</span>
-</span><span id="Tokenizer-889"><a href="#Tokenizer-889"><span class="linenos"> 889</span></a> <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">_char</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">_IDENTIFIERS</span><span class="p">:</span>
-</span><span id="Tokenizer-890"><a href="#Tokenizer-890"><span class="linenos"> 890</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_scan_identifier</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_IDENTIFIERS</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">_char</span><span class="p">])</span>
-</span><span id="Tokenizer-891"><a href="#Tokenizer-891"><span class="linenos"> 891</span></a> <span class="k">else</span><span class="p">:</span>
-</span><span id="Tokenizer-892"><a href="#Tokenizer-892"><span class="linenos"> 892</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_scan_keywords</span><span class="p">()</span>
-</span><span id="Tokenizer-893"><a href="#Tokenizer-893"><span class="linenos"> 893</span></a>
-</span><span id="Tokenizer-894"><a href="#Tokenizer-894"><span class="linenos"> 894</span></a> <span class="k">if</span> <span class="n">until</span> <span class="ow">and</span> <span class="n">until</span><span class="p">():</span>
-</span><span id="Tokenizer-895"><a href="#Tokenizer-895"><span class="linenos"> 895</span></a> <span class="k">break</span>
-</span><span id="Tokenizer-896"><a href="#Tokenizer-896"><span class="linenos"> 896</span></a>
-</span><span id="Tokenizer-897"><a href="#Tokenizer-897"><span class="linenos"> 897</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">tokens</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">_comments</span><span class="p">:</span>
-</span><span id="Tokenizer-898"><a href="#Tokenizer-898"><span class="linenos"> 898</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">tokens</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">comments</span><span class="o">.</span><span class="n">extend</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_comments</span><span class="p">)</span>
-</span><span id="Tokenizer-899"><a href="#Tokenizer-899"><span class="linenos"> 899</span></a>
-</span><span id="Tokenizer-900"><a href="#Tokenizer-900"><span class="linenos"> 900</span></a> <span class="k">def</span> <span class="nf">_chars</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">size</span><span class="p">:</span> <span class="nb">int</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
-</span><span id="Tokenizer-901"><a href="#Tokenizer-901"><span class="linenos"> 901</span></a> <span class="k">if</span> <span class="n">size</span> <span class="o">==</span> <span class="mi">1</span><span class="p">:</span>
-</span><span id="Tokenizer-902"><a href="#Tokenizer-902"><span class="linenos"> 902</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_char</span>
-</span><span id="Tokenizer-903"><a href="#Tokenizer-903"><span class="linenos"> 903</span></a>
-</span><span id="Tokenizer-904"><a href="#Tokenizer-904"><span class="linenos"> 904</span></a> <span class="n">start</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_current</span> <span class="o">-</span> <span class="mi">1</span>
-</span><span id="Tokenizer-905"><a href="#Tokenizer-905"><span class="linenos"> 905</span></a> <span class="n">end</span> <span class="o">=</span> <span class="n">start</span> <span class="o">+</span> <span class="n">size</span>
-</span><span id="Tokenizer-906"><a href="#Tokenizer-906"><span class="linenos"> 906</span></a>
-</span><span id="Tokenizer-907"><a href="#Tokenizer-907"><span class="linenos"> 907</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">sql</span><span class="p">[</span><span class="n">start</span><span class="p">:</span><span class="n">end</span><span class="p">]</span> <span class="k">if</span> <span class="n">end</span> <span class="o">&lt;=</span> <span class="bp">self</span><span class="o">.</span><span class="n">size</span> <span class="k">else</span> <span class="s2">&quot;&quot;</span>
-</span><span id="Tokenizer-908"><a href="#Tokenizer-908"><span class="linenos"> 908</span></a>
-</span><span id="Tokenizer-909"><a href="#Tokenizer-909"><span class="linenos"> 909</span></a> <span class="k">def</span> <span class="nf">_advance</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">i</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">1</span><span class="p">,</span> <span class="n">alnum</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">False</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
-</span><span id="Tokenizer-910"><a href="#Tokenizer-910"><span class="linenos"> 910</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">WHITE_SPACE</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_char</span><span class="p">)</span> <span class="ow">is</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BREAK</span><span class="p">:</span>
-</span><span id="Tokenizer-911"><a href="#Tokenizer-911"><span class="linenos"> 911</span></a> <span class="c1"># Ensures we don&#39;t count an extra line if we get a \r\n line break sequence</span>
-</span><span id="Tokenizer-912"><a href="#Tokenizer-912"><span class="linenos"> 912</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_char</span> <span class="o">==</span> <span class="s2">&quot;</span><span class="se">\r</span><span class="s2">&quot;</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span> <span class="o">==</span> <span class="s2">&quot;</span><span class="se">\n</span><span class="s2">&quot;</span><span class="p">:</span>
-</span><span id="Tokenizer-913"><a href="#Tokenizer-913"><span class="linenos"> 913</span></a> <span class="n">i</span> <span class="o">=</span> <span class="mi">2</span>
-</span><span id="Tokenizer-914"><a href="#Tokenizer-914"><span class="linenos"> 914</span></a>
-</span><span id="Tokenizer-915"><a href="#Tokenizer-915"><span class="linenos"> 915</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_col</span> <span class="o">=</span> <span class="mi">1</span>
-</span><span id="Tokenizer-916"><a href="#Tokenizer-916"><span class="linenos"> 916</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_line</span> <span class="o">+=</span> <span class="mi">1</span>
-</span><span id="Tokenizer-917"><a href="#Tokenizer-917"><span class="linenos"> 917</span></a> <span class="k">else</span><span class="p">:</span>
-</span><span id="Tokenizer-918"><a href="#Tokenizer-918"><span class="linenos"> 918</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_col</span> <span class="o">+=</span> <span class="n">i</span>
-</span><span id="Tokenizer-919"><a href="#Tokenizer-919"><span class="linenos"> 919</span></a>
-</span><span id="Tokenizer-920"><a href="#Tokenizer-920"><span class="linenos"> 920</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_current</span> <span class="o">+=</span> <span class="n">i</span>
-</span><span id="Tokenizer-921"><a href="#Tokenizer-921"><span class="linenos"> 921</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_end</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_current</span> <span class="o">&gt;=</span> <span class="bp">self</span><span class="o">.</span><span class="n">size</span>
-</span><span id="Tokenizer-922"><a href="#Tokenizer-922"><span class="linenos"> 922</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_char</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">sql</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">_current</span> <span class="o">-</span> <span class="mi">1</span><span class="p">]</span>
-</span><span id="Tokenizer-923"><a href="#Tokenizer-923"><span class="linenos"> 923</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span> <span class="o">=</span> <span class="s2">&quot;&quot;</span> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_end</span> <span class="k">else</span> <span class="bp">self</span><span class="o">.</span><span class="n">sql</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">_current</span><span class="p">]</span>
-</span><span id="Tokenizer-924"><a href="#Tokenizer-924"><span class="linenos"> 924</span></a>
-</span><span id="Tokenizer-925"><a href="#Tokenizer-925"><span class="linenos"> 925</span></a> <span class="k">if</span> <span class="n">alnum</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">_char</span><span class="o">.</span><span class="n">isalnum</span><span class="p">():</span>
-</span><span id="Tokenizer-926"><a href="#Tokenizer-926"><span class="linenos"> 926</span></a> <span class="c1"># Here we use local variables instead of attributes for better performance</span>
-</span><span id="Tokenizer-927"><a href="#Tokenizer-927"><span class="linenos"> 927</span></a> <span class="n">_col</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_col</span>
-</span><span id="Tokenizer-928"><a href="#Tokenizer-928"><span class="linenos"> 928</span></a> <span class="n">_current</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_current</span>
-</span><span id="Tokenizer-929"><a href="#Tokenizer-929"><span class="linenos"> 929</span></a> <span class="n">_end</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_end</span>
-</span><span id="Tokenizer-930"><a href="#Tokenizer-930"><span class="linenos"> 930</span></a> <span class="n">_peek</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span>
-</span><span id="Tokenizer-931"><a href="#Tokenizer-931"><span class="linenos"> 931</span></a>
-</span><span id="Tokenizer-932"><a href="#Tokenizer-932"><span class="linenos"> 932</span></a> <span class="k">while</span> <span class="n">_peek</span><span class="o">.</span><span class="n">isalnum</span><span class="p">():</span>
-</span><span id="Tokenizer-933"><a href="#Tokenizer-933"><span class="linenos"> 933</span></a> <span class="n">_col</span> <span class="o">+=</span> <span class="mi">1</span>
-</span><span id="Tokenizer-934"><a href="#Tokenizer-934"><span class="linenos"> 934</span></a> <span class="n">_current</span> <span class="o">+=</span> <span class="mi">1</span>
-</span><span id="Tokenizer-935"><a href="#Tokenizer-935"><span class="linenos"> 935</span></a> <span class="n">_end</span> <span class="o">=</span> <span class="n">_current</span> <span class="o">&gt;=</span> <span class="bp">self</span><span class="o">.</span><span class="n">size</span>
-</span><span id="Tokenizer-936"><a href="#Tokenizer-936"><span class="linenos"> 936</span></a> <span class="n">_peek</span> <span class="o">=</span> <span class="s2">&quot;&quot;</span> <span class="k">if</span> <span class="n">_end</span> <span class="k">else</span> <span class="bp">self</span><span class="o">.</span><span class="n">sql</span><span class="p">[</span><span class="n">_current</span><span class="p">]</span>
-</span><span id="Tokenizer-937"><a href="#Tokenizer-937"><span class="linenos"> 937</span></a>
-</span><span id="Tokenizer-938"><a href="#Tokenizer-938"><span class="linenos"> 938</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_col</span> <span class="o">=</span> <span class="n">_col</span>
-</span><span id="Tokenizer-939"><a href="#Tokenizer-939"><span class="linenos"> 939</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_current</span> <span class="o">=</span> <span class="n">_current</span>
-</span><span id="Tokenizer-940"><a href="#Tokenizer-940"><span class="linenos"> 940</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_end</span> <span class="o">=</span> <span class="n">_end</span>
-</span><span id="Tokenizer-941"><a href="#Tokenizer-941"><span class="linenos"> 941</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span> <span class="o">=</span> <span class="n">_peek</span>
-</span><span id="Tokenizer-942"><a href="#Tokenizer-942"><span class="linenos"> 942</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_char</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">sql</span><span class="p">[</span><span class="n">_current</span> <span class="o">-</span> <span class="mi">1</span><span class="p">]</span>
-</span><span id="Tokenizer-943"><a href="#Tokenizer-943"><span class="linenos"> 943</span></a>
-</span><span id="Tokenizer-944"><a href="#Tokenizer-944"><span class="linenos"> 944</span></a> <span class="nd">@property</span>
-</span><span id="Tokenizer-945"><a href="#Tokenizer-945"><span class="linenos"> 945</span></a> <span class="k">def</span> <span class="nf">_text</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
-</span><span id="Tokenizer-946"><a href="#Tokenizer-946"><span class="linenos"> 946</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">sql</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">_start</span> <span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">_current</span><span class="p">]</span>
-</span><span id="Tokenizer-947"><a href="#Tokenizer-947"><span class="linenos"> 947</span></a>
-</span><span id="Tokenizer-948"><a href="#Tokenizer-948"><span class="linenos"> 948</span></a> <span class="k">def</span> <span class="nf">peek</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">i</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">0</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
-</span><span id="Tokenizer-949"><a href="#Tokenizer-949"><span class="linenos"> 949</span></a> <span class="n">i</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_current</span> <span class="o">+</span> <span class="n">i</span>
-</span><span id="Tokenizer-950"><a href="#Tokenizer-950"><span class="linenos"> 950</span></a> <span class="k">if</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="bp">self</span><span class="o">.</span><span class="n">size</span><span class="p">:</span>
-</span><span id="Tokenizer-951"><a href="#Tokenizer-951"><span class="linenos"> 951</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">sql</span><span class="p">[</span><span class="n">i</span><span class="p">]</span>
-</span><span id="Tokenizer-952"><a href="#Tokenizer-952"><span class="linenos"> 952</span></a> <span class="k">return</span> <span class="s2">&quot;&quot;</span>
-</span><span id="Tokenizer-953"><a href="#Tokenizer-953"><span class="linenos"> 953</span></a>
-</span><span id="Tokenizer-954"><a href="#Tokenizer-954"><span class="linenos"> 954</span></a> <span class="k">def</span> <span class="nf">_add</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">token_type</span><span class="p">:</span> <span class="n">TokenType</span><span class="p">,</span> <span class="n">text</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
-</span><span id="Tokenizer-955"><a href="#Tokenizer-955"><span class="linenos"> 955</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_prev_token_line</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_line</span>
-</span><span id="Tokenizer-956"><a href="#Tokenizer-956"><span class="linenos"> 956</span></a>
-</span><span id="Tokenizer-957"><a href="#Tokenizer-957"><span class="linenos"> 957</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_comments</span> <span class="ow">and</span> <span class="n">token_type</span> <span class="o">==</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">SEMICOLON</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">tokens</span><span class="p">:</span>
-</span><span id="Tokenizer-958"><a href="#Tokenizer-958"><span class="linenos"> 958</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">tokens</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">comments</span><span class="o">.</span><span class="n">extend</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_comments</span><span class="p">)</span>
-</span><span id="Tokenizer-959"><a href="#Tokenizer-959"><span class="linenos"> 959</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_comments</span> <span class="o">=</span> <span class="p">[]</span>
-</span><span id="Tokenizer-960"><a href="#Tokenizer-960"><span class="linenos"> 960</span></a>
-</span><span id="Tokenizer-961"><a href="#Tokenizer-961"><span class="linenos"> 961</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">tokens</span><span class="o">.</span><span class="n">append</span><span class="p">(</span>
-</span><span id="Tokenizer-962"><a href="#Tokenizer-962"><span class="linenos"> 962</span></a> <span class="n">Token</span><span class="p">(</span>
-</span><span id="Tokenizer-963"><a href="#Tokenizer-963"><span class="linenos"> 963</span></a> <span class="n">token_type</span><span class="p">,</span>
-</span><span id="Tokenizer-964"><a href="#Tokenizer-964"><span class="linenos"> 964</span></a> <span class="n">text</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_text</span> <span class="k">if</span> <span class="n">text</span> <span class="ow">is</span> <span class="kc">None</span> <span class="k">else</span> <span class="n">text</span><span class="p">,</span>
-</span><span id="Tokenizer-965"><a href="#Tokenizer-965"><span class="linenos"> 965</span></a> <span class="n">line</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_line</span><span class="p">,</span>
-</span><span id="Tokenizer-966"><a href="#Tokenizer-966"><span class="linenos"> 966</span></a> <span class="n">col</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_col</span><span class="p">,</span>
-</span><span id="Tokenizer-967"><a href="#Tokenizer-967"><span class="linenos"> 967</span></a> <span class="n">start</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_start</span><span class="p">,</span>
-</span><span id="Tokenizer-968"><a href="#Tokenizer-968"><span class="linenos"> 968</span></a> <span class="n">end</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_current</span> <span class="o">-</span> <span class="mi">1</span><span class="p">,</span>
-</span><span id="Tokenizer-969"><a href="#Tokenizer-969"><span class="linenos"> 969</span></a> <span class="n">comments</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_comments</span><span class="p">,</span>
-</span><span id="Tokenizer-970"><a href="#Tokenizer-970"><span class="linenos"> 970</span></a> <span class="p">)</span>
-</span><span id="Tokenizer-971"><a href="#Tokenizer-971"><span class="linenos"> 971</span></a> <span class="p">)</span>
-</span><span id="Tokenizer-972"><a href="#Tokenizer-972"><span class="linenos"> 972</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_comments</span> <span class="o">=</span> <span class="p">[]</span>
-</span><span id="Tokenizer-973"><a href="#Tokenizer-973"><span class="linenos"> 973</span></a>
-</span><span id="Tokenizer-974"><a href="#Tokenizer-974"><span class="linenos"> 974</span></a> <span class="c1"># If we have either a semicolon or a begin token before the command&#39;s token, we&#39;ll parse</span>
-</span><span id="Tokenizer-975"><a href="#Tokenizer-975"><span class="linenos"> 975</span></a> <span class="c1"># whatever follows the command&#39;s token as a string</span>
-</span><span id="Tokenizer-976"><a href="#Tokenizer-976"><span class="linenos"> 976</span></a> <span class="k">if</span> <span class="p">(</span>
-</span><span id="Tokenizer-977"><a href="#Tokenizer-977"><span class="linenos"> 977</span></a> <span class="n">token_type</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">COMMANDS</span>
-</span><span id="Tokenizer-978"><a href="#Tokenizer-978"><span class="linenos"> 978</span></a> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span> <span class="o">!=</span> <span class="s2">&quot;;&quot;</span>
-</span><span id="Tokenizer-979"><a href="#Tokenizer-979"><span class="linenos"> 979</span></a> <span class="ow">and</span> <span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">tokens</span><span class="p">)</span> <span class="o">==</span> <span class="mi">1</span> <span class="ow">or</span> <span class="bp">self</span><span class="o">.</span><span class="n">tokens</span><span class="p">[</span><span class="o">-</span><span class="mi">2</span><span class="p">]</span><span class="o">.</span><span class="n">token_type</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">COMMAND_PREFIX_TOKENS</span><span class="p">)</span>
-</span><span id="Tokenizer-980"><a href="#Tokenizer-980"><span class="linenos"> 980</span></a> <span class="p">):</span>
-</span><span id="Tokenizer-981"><a href="#Tokenizer-981"><span class="linenos"> 981</span></a> <span class="n">start</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_current</span>
-</span><span id="Tokenizer-982"><a href="#Tokenizer-982"><span class="linenos"> 982</span></a> <span class="n">tokens</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">tokens</span><span class="p">)</span>
-</span><span id="Tokenizer-983"><a href="#Tokenizer-983"><span class="linenos"> 983</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_scan</span><span class="p">(</span><span class="k">lambda</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span> <span class="o">==</span> <span class="s2">&quot;;&quot;</span><span class="p">)</span>
-</span><span id="Tokenizer-984"><a href="#Tokenizer-984"><span class="linenos"> 984</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">tokens</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">tokens</span><span class="p">[:</span><span class="n">tokens</span><span class="p">]</span>
-</span><span id="Tokenizer-985"><a href="#Tokenizer-985"><span class="linenos"> 985</span></a> <span class="n">text</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">sql</span><span class="p">[</span><span class="n">start</span> <span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">_current</span><span class="p">]</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span>
-</span><span id="Tokenizer-986"><a href="#Tokenizer-986"><span class="linenos"> 986</span></a> <span class="k">if</span> <span class="n">text</span><span class="p">:</span>
-</span><span id="Tokenizer-987"><a href="#Tokenizer-987"><span class="linenos"> 987</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_add</span><span class="p">(</span><span class="n">TokenType</span><span class="o">.</span><span class="n">STRING</span><span class="p">,</span> <span class="n">text</span><span class="p">)</span>
-</span><span id="Tokenizer-988"><a href="#Tokenizer-988"><span class="linenos"> 988</span></a>
-</span><span id="Tokenizer-989"><a href="#Tokenizer-989"><span class="linenos"> 989</span></a> <span class="k">def</span> <span class="nf">_scan_keywords</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
-</span><span id="Tokenizer-990"><a href="#Tokenizer-990"><span class="linenos"> 990</span></a> <span class="n">size</span> <span class="o">=</span> <span class="mi">0</span>
-</span><span id="Tokenizer-991"><a href="#Tokenizer-991"><span class="linenos"> 991</span></a> <span class="n">word</span> <span class="o">=</span> <span class="kc">None</span>
-</span><span id="Tokenizer-992"><a href="#Tokenizer-992"><span class="linenos"> 992</span></a> <span class="n">chars</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_text</span>
-</span><span id="Tokenizer-993"><a href="#Tokenizer-993"><span class="linenos"> 993</span></a> <span class="n">char</span> <span class="o">=</span> <span class="n">chars</span>
-</span><span id="Tokenizer-994"><a href="#Tokenizer-994"><span class="linenos"> 994</span></a> <span class="n">prev_space</span> <span class="o">=</span> <span class="kc">False</span>
-</span><span id="Tokenizer-995"><a href="#Tokenizer-995"><span class="linenos"> 995</span></a> <span class="n">skip</span> <span class="o">=</span> <span class="kc">False</span>
-</span><span id="Tokenizer-996"><a href="#Tokenizer-996"><span class="linenos"> 996</span></a> <span class="n">trie</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_KEYWORD_TRIE</span>
-</span><span id="Tokenizer-997"><a href="#Tokenizer-997"><span class="linenos"> 997</span></a> <span class="n">single_token</span> <span class="o">=</span> <span class="n">char</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">SINGLE_TOKENS</span>
-</span><span id="Tokenizer-998"><a href="#Tokenizer-998"><span class="linenos"> 998</span></a>
-</span><span id="Tokenizer-999"><a href="#Tokenizer-999"><span class="linenos"> 999</span></a> <span class="k">while</span> <span class="n">chars</span><span class="p">:</span>
-</span><span id="Tokenizer-1000"><a href="#Tokenizer-1000"><span class="linenos">1000</span></a> <span class="k">if</span> <span class="n">skip</span><span class="p">:</span>
-</span><span id="Tokenizer-1001"><a href="#Tokenizer-1001"><span class="linenos">1001</span></a> <span class="n">result</span> <span class="o">=</span> <span class="n">TrieResult</span><span class="o">.</span><span class="n">PREFIX</span>
-</span><span id="Tokenizer-1002"><a href="#Tokenizer-1002"><span class="linenos">1002</span></a> <span class="k">else</span><span class="p">:</span>
-</span><span id="Tokenizer-1003"><a href="#Tokenizer-1003"><span class="linenos">1003</span></a> <span class="n">result</span><span class="p">,</span> <span class="n">trie</span> <span class="o">=</span> <span class="n">in_trie</span><span class="p">(</span><span class="n">trie</span><span class="p">,</span> <span class="n">char</span><span class="o">.</span><span class="n">upper</span><span class="p">())</span>
-</span><span id="Tokenizer-1004"><a href="#Tokenizer-1004"><span class="linenos">1004</span></a>
-</span><span id="Tokenizer-1005"><a href="#Tokenizer-1005"><span class="linenos">1005</span></a> <span class="k">if</span> <span class="n">result</span> <span class="o">==</span> <span class="n">TrieResult</span><span class="o">.</span><span class="n">FAILED</span><span class="p">:</span>
-</span><span id="Tokenizer-1006"><a href="#Tokenizer-1006"><span class="linenos">1006</span></a> <span class="k">break</span>
-</span><span id="Tokenizer-1007"><a href="#Tokenizer-1007"><span class="linenos">1007</span></a> <span class="k">if</span> <span class="n">result</span> <span class="o">==</span> <span class="n">TrieResult</span><span class="o">.</span><span class="n">EXISTS</span><span class="p">:</span>
-</span><span id="Tokenizer-1008"><a href="#Tokenizer-1008"><span class="linenos">1008</span></a> <span class="n">word</span> <span class="o">=</span> <span class="n">chars</span>
-</span><span id="Tokenizer-1009"><a href="#Tokenizer-1009"><span class="linenos">1009</span></a>
-</span><span id="Tokenizer-1010"><a href="#Tokenizer-1010"><span class="linenos">1010</span></a> <span class="n">end</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_current</span> <span class="o">+</span> <span class="n">size</span>
-</span><span id="Tokenizer-1011"><a href="#Tokenizer-1011"><span class="linenos">1011</span></a> <span class="n">size</span> <span class="o">+=</span> <span class="mi">1</span>
-</span><span id="Tokenizer-1012"><a href="#Tokenizer-1012"><span class="linenos">1012</span></a>
-</span><span id="Tokenizer-1013"><a href="#Tokenizer-1013"><span class="linenos">1013</span></a> <span class="k">if</span> <span class="n">end</span> <span class="o">&lt;</span> <span class="bp">self</span><span class="o">.</span><span class="n">size</span><span class="p">:</span>
-</span><span id="Tokenizer-1014"><a href="#Tokenizer-1014"><span class="linenos">1014</span></a> <span class="n">char</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">sql</span><span class="p">[</span><span class="n">end</span><span class="p">]</span>
-</span><span id="Tokenizer-1015"><a href="#Tokenizer-1015"><span class="linenos">1015</span></a> <span class="n">single_token</span> <span class="o">=</span> <span class="n">single_token</span> <span class="ow">or</span> <span class="n">char</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">SINGLE_TOKENS</span>
-</span><span id="Tokenizer-1016"><a href="#Tokenizer-1016"><span class="linenos">1016</span></a> <span class="n">is_space</span> <span class="o">=</span> <span class="n">char</span><span class="o">.</span><span class="n">isspace</span><span class="p">()</span>
-</span><span id="Tokenizer-1017"><a href="#Tokenizer-1017"><span class="linenos">1017</span></a>
-</span><span id="Tokenizer-1018"><a href="#Tokenizer-1018"><span class="linenos">1018</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">is_space</span> <span class="ow">or</span> <span class="ow">not</span> <span class="n">prev_space</span><span class="p">:</span>
-</span><span id="Tokenizer-1019"><a href="#Tokenizer-1019"><span class="linenos">1019</span></a> <span class="k">if</span> <span class="n">is_space</span><span class="p">:</span>
-</span><span id="Tokenizer-1020"><a href="#Tokenizer-1020"><span class="linenos">1020</span></a> <span class="n">char</span> <span class="o">=</span> <span class="s2">&quot; &quot;</span>
-</span><span id="Tokenizer-1021"><a href="#Tokenizer-1021"><span class="linenos">1021</span></a> <span class="n">chars</span> <span class="o">+=</span> <span class="n">char</span>
-</span><span id="Tokenizer-1022"><a href="#Tokenizer-1022"><span class="linenos">1022</span></a> <span class="n">prev_space</span> <span class="o">=</span> <span class="n">is_space</span>
-</span><span id="Tokenizer-1023"><a href="#Tokenizer-1023"><span class="linenos">1023</span></a> <span class="n">skip</span> <span class="o">=</span> <span class="kc">False</span>
-</span><span id="Tokenizer-1024"><a href="#Tokenizer-1024"><span class="linenos">1024</span></a> <span class="k">else</span><span class="p">:</span>
-</span><span id="Tokenizer-1025"><a href="#Tokenizer-1025"><span class="linenos">1025</span></a> <span class="n">skip</span> <span class="o">=</span> <span class="kc">True</span>
-</span><span id="Tokenizer-1026"><a href="#Tokenizer-1026"><span class="linenos">1026</span></a> <span class="k">else</span><span class="p">:</span>
-</span><span id="Tokenizer-1027"><a href="#Tokenizer-1027"><span class="linenos">1027</span></a> <span class="n">char</span> <span class="o">=</span> <span class="s2">&quot;&quot;</span>
-</span><span id="Tokenizer-1028"><a href="#Tokenizer-1028"><span class="linenos">1028</span></a> <span class="k">break</span>
-</span><span id="Tokenizer-1029"><a href="#Tokenizer-1029"><span class="linenos">1029</span></a>
-</span><span id="Tokenizer-1030"><a href="#Tokenizer-1030"><span class="linenos">1030</span></a> <span class="k">if</span> <span class="n">word</span><span class="p">:</span>
-</span><span id="Tokenizer-1031"><a href="#Tokenizer-1031"><span class="linenos">1031</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_scan_string</span><span class="p">(</span><span class="n">word</span><span class="p">):</span>
-</span><span id="Tokenizer-1032"><a href="#Tokenizer-1032"><span class="linenos">1032</span></a> <span class="k">return</span>
-</span><span id="Tokenizer-1033"><a href="#Tokenizer-1033"><span class="linenos">1033</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_scan_comment</span><span class="p">(</span><span class="n">word</span><span class="p">):</span>
-</span><span id="Tokenizer-1034"><a href="#Tokenizer-1034"><span class="linenos">1034</span></a> <span class="k">return</span>
-</span><span id="Tokenizer-1035"><a href="#Tokenizer-1035"><span class="linenos">1035</span></a> <span class="k">if</span> <span class="n">prev_space</span> <span class="ow">or</span> <span class="n">single_token</span> <span class="ow">or</span> <span class="ow">not</span> <span class="n">char</span><span class="p">:</span>
-</span><span id="Tokenizer-1036"><a href="#Tokenizer-1036"><span class="linenos">1036</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">(</span><span class="n">size</span> <span class="o">-</span> <span class="mi">1</span><span class="p">)</span>
-</span><span id="Tokenizer-1037"><a href="#Tokenizer-1037"><span class="linenos">1037</span></a> <span class="n">word</span> <span class="o">=</span> <span class="n">word</span><span class="o">.</span><span class="n">upper</span><span class="p">()</span>
-</span><span id="Tokenizer-1038"><a href="#Tokenizer-1038"><span class="linenos">1038</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_add</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">KEYWORDS</span><span class="p">[</span><span class="n">word</span><span class="p">],</span> <span class="n">text</span><span class="o">=</span><span class="n">word</span><span class="p">)</span>
-</span><span id="Tokenizer-1039"><a href="#Tokenizer-1039"><span class="linenos">1039</span></a> <span class="k">return</span>
-</span><span id="Tokenizer-1040"><a href="#Tokenizer-1040"><span class="linenos">1040</span></a>
-</span><span id="Tokenizer-1041"><a href="#Tokenizer-1041"><span class="linenos">1041</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_char</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">SINGLE_TOKENS</span><span class="p">:</span>
-</span><span id="Tokenizer-1042"><a href="#Tokenizer-1042"><span class="linenos">1042</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_add</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">SINGLE_TOKENS</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">_char</span><span class="p">],</span> <span class="n">text</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_char</span><span class="p">)</span>
-</span><span id="Tokenizer-1043"><a href="#Tokenizer-1043"><span class="linenos">1043</span></a> <span class="k">return</span>
-</span><span id="Tokenizer-1044"><a href="#Tokenizer-1044"><span class="linenos">1044</span></a>
-</span><span id="Tokenizer-1045"><a href="#Tokenizer-1045"><span class="linenos">1045</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_scan_var</span><span class="p">()</span>
-</span><span id="Tokenizer-1046"><a href="#Tokenizer-1046"><span class="linenos">1046</span></a>
-</span><span id="Tokenizer-1047"><a href="#Tokenizer-1047"><span class="linenos">1047</span></a> <span class="k">def</span> <span class="nf">_scan_comment</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">comment_start</span><span class="p">:</span> <span class="nb">str</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">bool</span><span class="p">:</span>
-</span><span id="Tokenizer-1048"><a href="#Tokenizer-1048"><span class="linenos">1048</span></a> <span class="k">if</span> <span class="n">comment_start</span> <span class="ow">not</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">_COMMENTS</span><span class="p">:</span>
-</span><span id="Tokenizer-1049"><a href="#Tokenizer-1049"><span class="linenos">1049</span></a> <span class="k">return</span> <span class="kc">False</span>
-</span><span id="Tokenizer-1050"><a href="#Tokenizer-1050"><span class="linenos">1050</span></a>
-</span><span id="Tokenizer-1051"><a href="#Tokenizer-1051"><span class="linenos">1051</span></a> <span class="n">comment_start_line</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_line</span>
-</span><span id="Tokenizer-1052"><a href="#Tokenizer-1052"><span class="linenos">1052</span></a> <span class="n">comment_start_size</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">comment_start</span><span class="p">)</span>
-</span><span id="Tokenizer-1053"><a href="#Tokenizer-1053"><span class="linenos">1053</span></a> <span class="n">comment_end</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_COMMENTS</span><span class="p">[</span><span class="n">comment_start</span><span class="p">]</span>
-</span><span id="Tokenizer-1054"><a href="#Tokenizer-1054"><span class="linenos">1054</span></a>
-</span><span id="Tokenizer-1055"><a href="#Tokenizer-1055"><span class="linenos">1055</span></a> <span class="k">if</span> <span class="n">comment_end</span><span class="p">:</span>
-</span><span id="Tokenizer-1056"><a href="#Tokenizer-1056"><span class="linenos">1056</span></a> <span class="c1"># Skip the comment&#39;s start delimiter</span>
-</span><span id="Tokenizer-1057"><a href="#Tokenizer-1057"><span class="linenos">1057</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">(</span><span class="n">comment_start_size</span><span class="p">)</span>
-</span><span id="Tokenizer-1058"><a href="#Tokenizer-1058"><span class="linenos">1058</span></a>
-</span><span id="Tokenizer-1059"><a href="#Tokenizer-1059"><span class="linenos">1059</span></a> <span class="n">comment_end_size</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">comment_end</span><span class="p">)</span>
-</span><span id="Tokenizer-1060"><a href="#Tokenizer-1060"><span class="linenos">1060</span></a> <span class="k">while</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">_end</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">_chars</span><span class="p">(</span><span class="n">comment_end_size</span><span class="p">)</span> <span class="o">!=</span> <span class="n">comment_end</span><span class="p">:</span>
-</span><span id="Tokenizer-1061"><a href="#Tokenizer-1061"><span class="linenos">1061</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">(</span><span class="n">alnum</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-</span><span id="Tokenizer-1062"><a href="#Tokenizer-1062"><span class="linenos">1062</span></a>
-</span><span id="Tokenizer-1063"><a href="#Tokenizer-1063"><span class="linenos">1063</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_comments</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_text</span><span class="p">[</span><span class="n">comment_start_size</span> <span class="p">:</span> <span class="o">-</span><span class="n">comment_end_size</span> <span class="o">+</span> <span class="mi">1</span><span class="p">])</span>
-</span><span id="Tokenizer-1064"><a href="#Tokenizer-1064"><span class="linenos">1064</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">(</span><span class="n">comment_end_size</span> <span class="o">-</span> <span class="mi">1</span><span class="p">)</span>
-</span><span id="Tokenizer-1065"><a href="#Tokenizer-1065"><span class="linenos">1065</span></a> <span class="k">else</span><span class="p">:</span>
-</span><span id="Tokenizer-1066"><a href="#Tokenizer-1066"><span class="linenos">1066</span></a> <span class="k">while</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">_end</span> <span class="ow">and</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">WHITE_SPACE</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_peek</span><span class="p">)</span> <span class="ow">is</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BREAK</span><span class="p">:</span>
-</span><span id="Tokenizer-1067"><a href="#Tokenizer-1067"><span class="linenos">1067</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">(</span><span class="n">alnum</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-</span><span id="Tokenizer-1068"><a href="#Tokenizer-1068"><span class="linenos">1068</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_comments</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_text</span><span class="p">[</span><span class="n">comment_start_size</span><span class="p">:])</span>
-</span><span id="Tokenizer-1069"><a href="#Tokenizer-1069"><span class="linenos">1069</span></a>
-</span><span id="Tokenizer-1070"><a href="#Tokenizer-1070"><span class="linenos">1070</span></a> <span class="c1"># Leading comment is attached to the succeeding token, whilst trailing comment to the preceding.</span>
-</span><span id="Tokenizer-1071"><a href="#Tokenizer-1071"><span class="linenos">1071</span></a> <span class="c1"># Multiple consecutive comments are preserved by appending them to the current comments list.</span>
-</span><span id="Tokenizer-1072"><a href="#Tokenizer-1072"><span class="linenos">1072</span></a> <span class="k">if</span> <span class="n">comment_start_line</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">_prev_token_line</span><span class="p">:</span>
-</span><span id="Tokenizer-1073"><a href="#Tokenizer-1073"><span class="linenos">1073</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">tokens</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">comments</span><span class="o">.</span><span class="n">extend</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_comments</span><span class="p">)</span>
-</span><span id="Tokenizer-1074"><a href="#Tokenizer-1074"><span class="linenos">1074</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_comments</span> <span class="o">=</span> <span class="p">[]</span>
-</span><span id="Tokenizer-1075"><a href="#Tokenizer-1075"><span class="linenos">1075</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_prev_token_line</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_line</span>
-</span><span id="Tokenizer-1076"><a href="#Tokenizer-1076"><span class="linenos">1076</span></a>
-</span><span id="Tokenizer-1077"><a href="#Tokenizer-1077"><span class="linenos">1077</span></a> <span class="k">return</span> <span class="kc">True</span>
-</span><span id="Tokenizer-1078"><a href="#Tokenizer-1078"><span class="linenos">1078</span></a>
-</span><span id="Tokenizer-1079"><a href="#Tokenizer-1079"><span class="linenos">1079</span></a> <span class="k">def</span> <span class="nf">_scan_number</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
-</span><span id="Tokenizer-1080"><a href="#Tokenizer-1080"><span class="linenos">1080</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_char</span> <span class="o">==</span> <span class="s2">&quot;0&quot;</span><span class="p">:</span>
-</span><span id="Tokenizer-1081"><a href="#Tokenizer-1081"><span class="linenos">1081</span></a> <span class="n">peek</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span><span class="o">.</span><span class="n">upper</span><span class="p">()</span>
-</span><span id="Tokenizer-1082"><a href="#Tokenizer-1082"><span class="linenos">1082</span></a> <span class="k">if</span> <span class="n">peek</span> <span class="o">==</span> <span class="s2">&quot;B&quot;</span><span class="p">:</span>
-</span><span id="Tokenizer-1083"><a href="#Tokenizer-1083"><span class="linenos">1083</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_scan_bits</span><span class="p">()</span> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">BIT_STRINGS</span> <span class="k">else</span> <span class="bp">self</span><span class="o">.</span><span class="n">_add</span><span class="p">(</span><span class="n">TokenType</span><span class="o">.</span><span class="n">NUMBER</span><span class="p">)</span>
-</span><span id="Tokenizer-1084"><a href="#Tokenizer-1084"><span class="linenos">1084</span></a> <span class="k">elif</span> <span class="n">peek</span> <span class="o">==</span> <span class="s2">&quot;X&quot;</span><span class="p">:</span>
-</span><span id="Tokenizer-1085"><a href="#Tokenizer-1085"><span class="linenos">1085</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_scan_hex</span><span class="p">()</span> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">HEX_STRINGS</span> <span class="k">else</span> <span class="bp">self</span><span class="o">.</span><span class="n">_add</span><span class="p">(</span><span class="n">TokenType</span><span class="o">.</span><span class="n">NUMBER</span><span class="p">)</span>
-</span><span id="Tokenizer-1086"><a href="#Tokenizer-1086"><span class="linenos">1086</span></a>
-</span><span id="Tokenizer-1087"><a href="#Tokenizer-1087"><span class="linenos">1087</span></a> <span class="n">decimal</span> <span class="o">=</span> <span class="kc">False</span>
-</span><span id="Tokenizer-1088"><a href="#Tokenizer-1088"><span class="linenos">1088</span></a> <span class="n">scientific</span> <span class="o">=</span> <span class="mi">0</span>
-</span><span id="Tokenizer-1089"><a href="#Tokenizer-1089"><span class="linenos">1089</span></a>
-</span><span id="Tokenizer-1090"><a href="#Tokenizer-1090"><span class="linenos">1090</span></a> <span class="k">while</span> <span class="kc">True</span><span class="p">:</span>
-</span><span id="Tokenizer-1091"><a href="#Tokenizer-1091"><span class="linenos">1091</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span><span class="o">.</span><span class="n">isdigit</span><span class="p">():</span>
-</span><span id="Tokenizer-1092"><a href="#Tokenizer-1092"><span class="linenos">1092</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">()</span>
-</span><span id="Tokenizer-1093"><a href="#Tokenizer-1093"><span class="linenos">1093</span></a> <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span> <span class="o">==</span> <span class="s2">&quot;.&quot;</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">decimal</span><span class="p">:</span>
-</span><span id="Tokenizer-1094"><a href="#Tokenizer-1094"><span class="linenos">1094</span></a> <span class="n">after</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">peek</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
-</span><span id="Tokenizer-1095"><a href="#Tokenizer-1095"><span class="linenos">1095</span></a> <span class="k">if</span> <span class="n">after</span><span class="o">.</span><span class="n">isdigit</span><span class="p">()</span> <span class="ow">or</span> <span class="ow">not</span> <span class="n">after</span><span class="o">.</span><span class="n">isalpha</span><span class="p">():</span>
-</span><span id="Tokenizer-1096"><a href="#Tokenizer-1096"><span class="linenos">1096</span></a> <span class="n">decimal</span> <span class="o">=</span> <span class="kc">True</span>
-</span><span id="Tokenizer-1097"><a href="#Tokenizer-1097"><span class="linenos">1097</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">()</span>
-</span><span id="Tokenizer-1098"><a href="#Tokenizer-1098"><span class="linenos">1098</span></a> <span class="k">else</span><span class="p">:</span>
-</span><span id="Tokenizer-1099"><a href="#Tokenizer-1099"><span class="linenos">1099</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_add</span><span class="p">(</span><span class="n">TokenType</span><span class="o">.</span><span class="n">VAR</span><span class="p">)</span>
-</span><span id="Tokenizer-1100"><a href="#Tokenizer-1100"><span class="linenos">1100</span></a> <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span> <span class="ow">in</span> <span class="p">(</span><span class="s2">&quot;-&quot;</span><span class="p">,</span> <span class="s2">&quot;+&quot;</span><span class="p">)</span> <span class="ow">and</span> <span class="n">scientific</span> <span class="o">==</span> <span class="mi">1</span><span class="p">:</span>
-</span><span id="Tokenizer-1101"><a href="#Tokenizer-1101"><span class="linenos">1101</span></a> <span class="n">scientific</span> <span class="o">+=</span> <span class="mi">1</span>
-</span><span id="Tokenizer-1102"><a href="#Tokenizer-1102"><span class="linenos">1102</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">()</span>
-</span><span id="Tokenizer-1103"><a href="#Tokenizer-1103"><span class="linenos">1103</span></a> <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span><span class="o">.</span><span class="n">upper</span><span class="p">()</span> <span class="o">==</span> <span class="s2">&quot;E&quot;</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">scientific</span><span class="p">:</span>
-</span><span id="Tokenizer-1104"><a href="#Tokenizer-1104"><span class="linenos">1104</span></a> <span class="n">scientific</span> <span class="o">+=</span> <span class="mi">1</span>
-</span><span id="Tokenizer-1105"><a href="#Tokenizer-1105"><span class="linenos">1105</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">()</span>
-</span><span id="Tokenizer-1106"><a href="#Tokenizer-1106"><span class="linenos">1106</span></a> <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span><span class="o">.</span><span class="n">isidentifier</span><span class="p">():</span>
-</span><span id="Tokenizer-1107"><a href="#Tokenizer-1107"><span class="linenos">1107</span></a> <span class="n">number_text</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_text</span>
-</span><span id="Tokenizer-1108"><a href="#Tokenizer-1108"><span class="linenos">1108</span></a> <span class="n">literal</span> <span class="o">=</span> <span class="s2">&quot;&quot;</span>
-</span><span id="Tokenizer-1109"><a href="#Tokenizer-1109"><span class="linenos">1109</span></a>
-</span><span id="Tokenizer-1110"><a href="#Tokenizer-1110"><span class="linenos">1110</span></a> <span class="k">while</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span> <span class="ow">not</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">SINGLE_TOKENS</span><span class="p">:</span>
-</span><span id="Tokenizer-1111"><a href="#Tokenizer-1111"><span class="linenos">1111</span></a> <span class="n">literal</span> <span class="o">+=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span>
-</span><span id="Tokenizer-1112"><a href="#Tokenizer-1112"><span class="linenos">1112</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">()</span>
-</span><span id="Tokenizer-1113"><a href="#Tokenizer-1113"><span class="linenos">1113</span></a>
-</span><span id="Tokenizer-1114"><a href="#Tokenizer-1114"><span class="linenos">1114</span></a> <span class="n">token_type</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">KEYWORDS</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">NUMERIC_LITERALS</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">literal</span><span class="o">.</span><span class="n">upper</span><span class="p">(),</span> <span class="s2">&quot;&quot;</span><span class="p">))</span>
-</span><span id="Tokenizer-1115"><a href="#Tokenizer-1115"><span class="linenos">1115</span></a>
-</span><span id="Tokenizer-1116"><a href="#Tokenizer-1116"><span class="linenos">1116</span></a> <span class="k">if</span> <span class="n">token_type</span><span class="p">:</span>
-</span><span id="Tokenizer-1117"><a href="#Tokenizer-1117"><span class="linenos">1117</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_add</span><span class="p">(</span><span class="n">TokenType</span><span class="o">.</span><span class="n">NUMBER</span><span class="p">,</span> <span class="n">number_text</span><span class="p">)</span>
-</span><span id="Tokenizer-1118"><a href="#Tokenizer-1118"><span class="linenos">1118</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_add</span><span class="p">(</span><span class="n">TokenType</span><span class="o">.</span><span class="n">DCOLON</span><span class="p">,</span> <span class="s2">&quot;::&quot;</span><span class="p">)</span>
-</span><span id="Tokenizer-1119"><a href="#Tokenizer-1119"><span class="linenos">1119</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_add</span><span class="p">(</span><span class="n">token_type</span><span class="p">,</span> <span class="n">literal</span><span class="p">)</span>
-</span><span id="Tokenizer-1120"><a href="#Tokenizer-1120"><span class="linenos">1120</span></a> <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">dialect</span><span class="o">.</span><span class="n">IDENTIFIERS_CAN_START_WITH_DIGIT</span><span class="p">:</span>
-</span><span id="Tokenizer-1121"><a href="#Tokenizer-1121"><span class="linenos">1121</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_add</span><span class="p">(</span><span class="n">TokenType</span><span class="o">.</span><span class="n">VAR</span><span class="p">)</span>
-</span><span id="Tokenizer-1122"><a href="#Tokenizer-1122"><span class="linenos">1122</span></a>
-</span><span id="Tokenizer-1123"><a href="#Tokenizer-1123"><span class="linenos">1123</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">(</span><span class="o">-</span><span class="nb">len</span><span class="p">(</span><span class="n">literal</span><span class="p">))</span>
-</span><span id="Tokenizer-1124"><a href="#Tokenizer-1124"><span class="linenos">1124</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_add</span><span class="p">(</span><span class="n">TokenType</span><span class="o">.</span><span class="n">NUMBER</span><span class="p">,</span> <span class="n">number_text</span><span class="p">)</span>
-</span><span id="Tokenizer-1125"><a href="#Tokenizer-1125"><span class="linenos">1125</span></a> <span class="k">else</span><span class="p">:</span>
-</span><span id="Tokenizer-1126"><a href="#Tokenizer-1126"><span class="linenos">1126</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_add</span><span class="p">(</span><span class="n">TokenType</span><span class="o">.</span><span class="n">NUMBER</span><span class="p">)</span>
-</span><span id="Tokenizer-1127"><a href="#Tokenizer-1127"><span class="linenos">1127</span></a>
-</span><span id="Tokenizer-1128"><a href="#Tokenizer-1128"><span class="linenos">1128</span></a> <span class="k">def</span> <span class="nf">_scan_bits</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
-</span><span id="Tokenizer-1129"><a href="#Tokenizer-1129"><span class="linenos">1129</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">()</span>
-</span><span id="Tokenizer-1130"><a href="#Tokenizer-1130"><span class="linenos">1130</span></a> <span class="n">value</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_extract_value</span><span class="p">()</span>
-</span><span id="Tokenizer-1131"><a href="#Tokenizer-1131"><span class="linenos">1131</span></a> <span class="k">try</span><span class="p">:</span>
-</span><span id="Tokenizer-1132"><a href="#Tokenizer-1132"><span class="linenos">1132</span></a> <span class="c1"># If `value` can&#39;t be converted to a binary, fallback to tokenizing it as an identifier</span>
-</span><span id="Tokenizer-1133"><a href="#Tokenizer-1133"><span class="linenos">1133</span></a> <span class="nb">int</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="mi">2</span><span class="p">)</span>
-</span><span id="Tokenizer-1134"><a href="#Tokenizer-1134"><span class="linenos">1134</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_add</span><span class="p">(</span><span class="n">TokenType</span><span class="o">.</span><span class="n">BIT_STRING</span><span class="p">,</span> <span class="n">value</span><span class="p">[</span><span class="mi">2</span><span class="p">:])</span> <span class="c1"># Drop the 0b</span>
-</span><span id="Tokenizer-1135"><a href="#Tokenizer-1135"><span class="linenos">1135</span></a> <span class="k">except</span> <span class="ne">ValueError</span><span class="p">:</span>
-</span><span id="Tokenizer-1136"><a href="#Tokenizer-1136"><span class="linenos">1136</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_add</span><span class="p">(</span><span class="n">TokenType</span><span class="o">.</span><span class="n">IDENTIFIER</span><span class="p">)</span>
-</span><span id="Tokenizer-1137"><a href="#Tokenizer-1137"><span class="linenos">1137</span></a>
-</span><span id="Tokenizer-1138"><a href="#Tokenizer-1138"><span class="linenos">1138</span></a> <span class="k">def</span> <span class="nf">_scan_hex</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
-</span><span id="Tokenizer-1139"><a href="#Tokenizer-1139"><span class="linenos">1139</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">()</span>
-</span><span id="Tokenizer-1140"><a href="#Tokenizer-1140"><span class="linenos">1140</span></a> <span class="n">value</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_extract_value</span><span class="p">()</span>
-</span><span id="Tokenizer-1141"><a href="#Tokenizer-1141"><span class="linenos">1141</span></a> <span class="k">try</span><span class="p">:</span>
-</span><span id="Tokenizer-1142"><a href="#Tokenizer-1142"><span class="linenos">1142</span></a> <span class="c1"># If `value` can&#39;t be converted to a hex, fallback to tokenizing it as an identifier</span>
-</span><span id="Tokenizer-1143"><a href="#Tokenizer-1143"><span class="linenos">1143</span></a> <span class="nb">int</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="mi">16</span><span class="p">)</span>
-</span><span id="Tokenizer-1144"><a href="#Tokenizer-1144"><span class="linenos">1144</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_add</span><span class="p">(</span><span class="n">TokenType</span><span class="o">.</span><span class="n">HEX_STRING</span><span class="p">,</span> <span class="n">value</span><span class="p">[</span><span class="mi">2</span><span class="p">:])</span> <span class="c1"># Drop the 0x</span>
-</span><span id="Tokenizer-1145"><a href="#Tokenizer-1145"><span class="linenos">1145</span></a> <span class="k">except</span> <span class="ne">ValueError</span><span class="p">:</span>
-</span><span id="Tokenizer-1146"><a href="#Tokenizer-1146"><span class="linenos">1146</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_add</span><span class="p">(</span><span class="n">TokenType</span><span class="o">.</span><span class="n">IDENTIFIER</span><span class="p">)</span>
-</span><span id="Tokenizer-1147"><a href="#Tokenizer-1147"><span class="linenos">1147</span></a>
-</span><span id="Tokenizer-1148"><a href="#Tokenizer-1148"><span class="linenos">1148</span></a> <span class="k">def</span> <span class="nf">_extract_value</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
-</span><span id="Tokenizer-1149"><a href="#Tokenizer-1149"><span class="linenos">1149</span></a> <span class="k">while</span> <span class="kc">True</span><span class="p">:</span>
-</span><span id="Tokenizer-1150"><a href="#Tokenizer-1150"><span class="linenos">1150</span></a> <span class="n">char</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span>
-</span><span id="Tokenizer-1151"><a href="#Tokenizer-1151"><span class="linenos">1151</span></a> <span class="k">if</span> <span class="n">char</span> <span class="ow">and</span> <span class="n">char</span> <span class="ow">not</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">SINGLE_TOKENS</span><span class="p">:</span>
-</span><span id="Tokenizer-1152"><a href="#Tokenizer-1152"><span class="linenos">1152</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">(</span><span class="n">alnum</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-</span><span id="Tokenizer-1153"><a href="#Tokenizer-1153"><span class="linenos">1153</span></a> <span class="k">else</span><span class="p">:</span>
-</span><span id="Tokenizer-1154"><a href="#Tokenizer-1154"><span class="linenos">1154</span></a> <span class="k">break</span>
-</span><span id="Tokenizer-1155"><a href="#Tokenizer-1155"><span class="linenos">1155</span></a>
-</span><span id="Tokenizer-1156"><a href="#Tokenizer-1156"><span class="linenos">1156</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_text</span>
-</span><span id="Tokenizer-1157"><a href="#Tokenizer-1157"><span class="linenos">1157</span></a>
-</span><span id="Tokenizer-1158"><a href="#Tokenizer-1158"><span class="linenos">1158</span></a> <span class="k">def</span> <span class="nf">_scan_string</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">start</span><span class="p">:</span> <span class="nb">str</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">bool</span><span class="p">:</span>
-</span><span id="Tokenizer-1159"><a href="#Tokenizer-1159"><span class="linenos">1159</span></a> <span class="n">base</span> <span class="o">=</span> <span class="kc">None</span>
-</span><span id="Tokenizer-1160"><a href="#Tokenizer-1160"><span class="linenos">1160</span></a> <span class="n">token_type</span> <span class="o">=</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">STRING</span>
-</span><span id="Tokenizer-1161"><a href="#Tokenizer-1161"><span class="linenos">1161</span></a>
-</span><span id="Tokenizer-1162"><a href="#Tokenizer-1162"><span class="linenos">1162</span></a> <span class="k">if</span> <span class="n">start</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">_QUOTES</span><span class="p">:</span>
-</span><span id="Tokenizer-1163"><a href="#Tokenizer-1163"><span class="linenos">1163</span></a> <span class="n">end</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_QUOTES</span><span class="p">[</span><span class="n">start</span><span class="p">]</span>
-</span><span id="Tokenizer-1164"><a href="#Tokenizer-1164"><span class="linenos">1164</span></a> <span class="k">elif</span> <span class="n">start</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">_FORMAT_STRINGS</span><span class="p">:</span>
-</span><span id="Tokenizer-1165"><a href="#Tokenizer-1165"><span class="linenos">1165</span></a> <span class="n">end</span><span class="p">,</span> <span class="n">token_type</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_FORMAT_STRINGS</span><span class="p">[</span><span class="n">start</span><span class="p">]</span>
-</span><span id="Tokenizer-1166"><a href="#Tokenizer-1166"><span class="linenos">1166</span></a>
-</span><span id="Tokenizer-1167"><a href="#Tokenizer-1167"><span class="linenos">1167</span></a> <span class="k">if</span> <span class="n">token_type</span> <span class="o">==</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">HEX_STRING</span><span class="p">:</span>
-</span><span id="Tokenizer-1168"><a href="#Tokenizer-1168"><span class="linenos">1168</span></a> <span class="n">base</span> <span class="o">=</span> <span class="mi">16</span>
-</span><span id="Tokenizer-1169"><a href="#Tokenizer-1169"><span class="linenos">1169</span></a> <span class="k">elif</span> <span class="n">token_type</span> <span class="o">==</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BIT_STRING</span><span class="p">:</span>
-</span><span id="Tokenizer-1170"><a href="#Tokenizer-1170"><span class="linenos">1170</span></a> <span class="n">base</span> <span class="o">=</span> <span class="mi">2</span>
-</span><span id="Tokenizer-1171"><a href="#Tokenizer-1171"><span class="linenos">1171</span></a> <span class="k">elif</span> <span class="n">token_type</span> <span class="o">==</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">HEREDOC_STRING</span><span class="p">:</span>
-</span><span id="Tokenizer-1172"><a href="#Tokenizer-1172"><span class="linenos">1172</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">()</span>
-</span><span id="Tokenizer-1173"><a href="#Tokenizer-1173"><span class="linenos">1173</span></a> <span class="n">tag</span> <span class="o">=</span> <span class="s2">&quot;&quot;</span> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_char</span> <span class="o">==</span> <span class="n">end</span> <span class="k">else</span> <span class="bp">self</span><span class="o">.</span><span class="n">_extract_string</span><span class="p">(</span><span class="n">end</span><span class="p">)</span>
-</span><span id="Tokenizer-1174"><a href="#Tokenizer-1174"><span class="linenos">1174</span></a> <span class="n">end</span> <span class="o">=</span> <span class="sa">f</span><span class="s2">&quot;</span><span class="si">{</span><span class="n">start</span><span class="si">}{</span><span class="n">tag</span><span class="si">}{</span><span class="n">end</span><span class="si">}</span><span class="s2">&quot;</span>
-</span><span id="Tokenizer-1175"><a href="#Tokenizer-1175"><span class="linenos">1175</span></a> <span class="k">else</span><span class="p">:</span>
-</span><span id="Tokenizer-1176"><a href="#Tokenizer-1176"><span class="linenos">1176</span></a> <span class="k">return</span> <span class="kc">False</span>
-</span><span id="Tokenizer-1177"><a href="#Tokenizer-1177"><span class="linenos">1177</span></a>
-</span><span id="Tokenizer-1178"><a href="#Tokenizer-1178"><span class="linenos">1178</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">start</span><span class="p">))</span>
-</span><span id="Tokenizer-1179"><a href="#Tokenizer-1179"><span class="linenos">1179</span></a> <span class="n">text</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_extract_string</span><span class="p">(</span><span class="n">end</span><span class="p">)</span>
-</span><span id="Tokenizer-1180"><a href="#Tokenizer-1180"><span class="linenos">1180</span></a>
-</span><span id="Tokenizer-1181"><a href="#Tokenizer-1181"><span class="linenos">1181</span></a> <span class="k">if</span> <span class="n">base</span><span class="p">:</span>
-</span><span id="Tokenizer-1182"><a href="#Tokenizer-1182"><span class="linenos">1182</span></a> <span class="k">try</span><span class="p">:</span>
-</span><span id="Tokenizer-1183"><a href="#Tokenizer-1183"><span class="linenos">1183</span></a> <span class="nb">int</span><span class="p">(</span><span class="n">text</span><span class="p">,</span> <span class="n">base</span><span class="p">)</span>
-</span><span id="Tokenizer-1184"><a href="#Tokenizer-1184"><span class="linenos">1184</span></a> <span class="k">except</span><span class="p">:</span>
-</span><span id="Tokenizer-1185"><a href="#Tokenizer-1185"><span class="linenos">1185</span></a> <span class="k">raise</span> <span class="n">TokenError</span><span class="p">(</span>
-</span><span id="Tokenizer-1186"><a href="#Tokenizer-1186"><span class="linenos">1186</span></a> <span class="sa">f</span><span class="s2">&quot;Numeric string contains invalid characters from </span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">_line</span><span class="si">}</span><span class="s2">:</span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">_start</span><span class="si">}</span><span class="s2">&quot;</span>
-</span><span id="Tokenizer-1187"><a href="#Tokenizer-1187"><span class="linenos">1187</span></a> <span class="p">)</span>
-</span><span id="Tokenizer-1188"><a href="#Tokenizer-1188"><span class="linenos">1188</span></a> <span class="k">else</span><span class="p">:</span>
-</span><span id="Tokenizer-1189"><a href="#Tokenizer-1189"><span class="linenos">1189</span></a> <span class="n">text</span> <span class="o">=</span> <span class="n">text</span><span class="o">.</span><span class="n">encode</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">ENCODE</span><span class="p">)</span><span class="o">.</span><span class="n">decode</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">ENCODE</span><span class="p">)</span> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">ENCODE</span> <span class="k">else</span> <span class="n">text</span>
-</span><span id="Tokenizer-1190"><a href="#Tokenizer-1190"><span class="linenos">1190</span></a>
-</span><span id="Tokenizer-1191"><a href="#Tokenizer-1191"><span class="linenos">1191</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_add</span><span class="p">(</span><span class="n">token_type</span><span class="p">,</span> <span class="n">text</span><span class="p">)</span>
-</span><span id="Tokenizer-1192"><a href="#Tokenizer-1192"><span class="linenos">1192</span></a> <span class="k">return</span> <span class="kc">True</span>
-</span><span id="Tokenizer-1193"><a href="#Tokenizer-1193"><span class="linenos">1193</span></a>
-</span><span id="Tokenizer-1194"><a href="#Tokenizer-1194"><span class="linenos">1194</span></a> <span class="k">def</span> <span class="nf">_scan_identifier</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">identifier_end</span><span class="p">:</span> <span class="nb">str</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
-</span><span id="Tokenizer-1195"><a href="#Tokenizer-1195"><span class="linenos">1195</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">()</span>
-</span><span id="Tokenizer-1196"><a href="#Tokenizer-1196"><span class="linenos">1196</span></a> <span class="n">text</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_extract_string</span><span class="p">(</span><span class="n">identifier_end</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_IDENTIFIER_ESCAPES</span><span class="p">)</span>
-</span><span id="Tokenizer-1197"><a href="#Tokenizer-1197"><span class="linenos">1197</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_add</span><span class="p">(</span><span class="n">TokenType</span><span class="o">.</span><span class="n">IDENTIFIER</span><span class="p">,</span> <span class="n">text</span><span class="p">)</span>
-</span><span id="Tokenizer-1198"><a href="#Tokenizer-1198"><span class="linenos">1198</span></a>
-</span><span id="Tokenizer-1199"><a href="#Tokenizer-1199"><span class="linenos">1199</span></a> <span class="k">def</span> <span class="nf">_scan_var</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
-</span><span id="Tokenizer-1200"><a href="#Tokenizer-1200"><span class="linenos">1200</span></a> <span class="k">while</span> <span class="kc">True</span><span class="p">:</span>
-</span><span id="Tokenizer-1201"><a href="#Tokenizer-1201"><span class="linenos">1201</span></a> <span class="n">char</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span>
-</span><span id="Tokenizer-1202"><a href="#Tokenizer-1202"><span class="linenos">1202</span></a> <span class="k">if</span> <span class="n">char</span> <span class="ow">and</span> <span class="p">(</span><span class="n">char</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">VAR_SINGLE_TOKENS</span> <span class="ow">or</span> <span class="n">char</span> <span class="ow">not</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">SINGLE_TOKENS</span><span class="p">):</span>
-</span><span id="Tokenizer-1203"><a href="#Tokenizer-1203"><span class="linenos">1203</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">(</span><span class="n">alnum</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-</span><span id="Tokenizer-1204"><a href="#Tokenizer-1204"><span class="linenos">1204</span></a> <span class="k">else</span><span class="p">:</span>
-</span><span id="Tokenizer-1205"><a href="#Tokenizer-1205"><span class="linenos">1205</span></a> <span class="k">break</span>
-</span><span id="Tokenizer-1206"><a href="#Tokenizer-1206"><span class="linenos">1206</span></a>
-</span><span id="Tokenizer-1207"><a href="#Tokenizer-1207"><span class="linenos">1207</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_add</span><span class="p">(</span>
-</span><span id="Tokenizer-1208"><a href="#Tokenizer-1208"><span class="linenos">1208</span></a> <span class="n">TokenType</span><span class="o">.</span><span class="n">VAR</span>
-</span><span id="Tokenizer-1209"><a href="#Tokenizer-1209"><span class="linenos">1209</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">tokens</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">tokens</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">token_type</span> <span class="o">==</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">PARAMETER</span>
-</span><span id="Tokenizer-1210"><a href="#Tokenizer-1210"><span class="linenos">1210</span></a> <span class="k">else</span> <span class="bp">self</span><span class="o">.</span><span class="n">KEYWORDS</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_text</span><span class="o">.</span><span class="n">upper</span><span class="p">(),</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">VAR</span><span class="p">)</span>
-</span><span id="Tokenizer-1211"><a href="#Tokenizer-1211"><span class="linenos">1211</span></a> <span class="p">)</span>
-</span><span id="Tokenizer-1212"><a href="#Tokenizer-1212"><span class="linenos">1212</span></a>
-</span><span id="Tokenizer-1213"><a href="#Tokenizer-1213"><span class="linenos">1213</span></a> <span class="k">def</span> <span class="nf">_extract_string</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">delimiter</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="n">escapes</span><span class="o">=</span><span class="kc">None</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
-</span><span id="Tokenizer-1214"><a href="#Tokenizer-1214"><span class="linenos">1214</span></a> <span class="n">text</span> <span class="o">=</span> <span class="s2">&quot;&quot;</span>
-</span><span id="Tokenizer-1215"><a href="#Tokenizer-1215"><span class="linenos">1215</span></a> <span class="n">delim_size</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">delimiter</span><span class="p">)</span>
-</span><span id="Tokenizer-1216"><a href="#Tokenizer-1216"><span class="linenos">1216</span></a> <span class="n">escapes</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_STRING_ESCAPES</span> <span class="k">if</span> <span class="n">escapes</span> <span class="ow">is</span> <span class="kc">None</span> <span class="k">else</span> <span class="n">escapes</span>
-</span><span id="Tokenizer-1217"><a href="#Tokenizer-1217"><span class="linenos">1217</span></a>
-</span><span id="Tokenizer-1218"><a href="#Tokenizer-1218"><span class="linenos">1218</span></a> <span class="k">while</span> <span class="kc">True</span><span class="p">:</span>
-</span><span id="Tokenizer-1219"><a href="#Tokenizer-1219"><span class="linenos">1219</span></a> <span class="k">if</span> <span class="p">(</span>
-</span><span id="Tokenizer-1220"><a href="#Tokenizer-1220"><span class="linenos">1220</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_char</span> <span class="ow">in</span> <span class="n">escapes</span>
-</span><span id="Tokenizer-1221"><a href="#Tokenizer-1221"><span class="linenos">1221</span></a> <span class="ow">and</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_peek</span> <span class="o">==</span> <span class="n">delimiter</span> <span class="ow">or</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span> <span class="ow">in</span> <span class="n">escapes</span><span class="p">)</span>
-</span><span id="Tokenizer-1222"><a href="#Tokenizer-1222"><span class="linenos">1222</span></a> <span class="ow">and</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_char</span> <span class="ow">not</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">_QUOTES</span> <span class="ow">or</span> <span class="bp">self</span><span class="o">.</span><span class="n">_char</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span><span class="p">)</span>
-</span><span id="Tokenizer-1223"><a href="#Tokenizer-1223"><span class="linenos">1223</span></a> <span class="p">):</span>
-</span><span id="Tokenizer-1224"><a href="#Tokenizer-1224"><span class="linenos">1224</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span> <span class="o">==</span> <span class="n">delimiter</span><span class="p">:</span>
-</span><span id="Tokenizer-1225"><a href="#Tokenizer-1225"><span class="linenos">1225</span></a> <span class="n">text</span> <span class="o">+=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span>
-</span><span id="Tokenizer-1226"><a href="#Tokenizer-1226"><span class="linenos">1226</span></a> <span class="k">else</span><span class="p">:</span>
-</span><span id="Tokenizer-1227"><a href="#Tokenizer-1227"><span class="linenos">1227</span></a> <span class="n">text</span> <span class="o">+=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_char</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span>
-</span><span id="Tokenizer-1228"><a href="#Tokenizer-1228"><span class="linenos">1228</span></a>
-</span><span id="Tokenizer-1229"><a href="#Tokenizer-1229"><span class="linenos">1229</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_current</span> <span class="o">+</span> <span class="mi">1</span> <span class="o">&lt;</span> <span class="bp">self</span><span class="o">.</span><span class="n">size</span><span class="p">:</span>
-</span><span id="Tokenizer-1230"><a href="#Tokenizer-1230"><span class="linenos">1230</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">(</span><span class="mi">2</span><span class="p">)</span>
-</span><span id="Tokenizer-1231"><a href="#Tokenizer-1231"><span class="linenos">1231</span></a> <span class="k">else</span><span class="p">:</span>
-</span><span id="Tokenizer-1232"><a href="#Tokenizer-1232"><span class="linenos">1232</span></a> <span class="k">raise</span> <span class="n">TokenError</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;Missing </span><span class="si">{</span><span class="n">delimiter</span><span class="si">}</span><span class="s2"> from </span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">_line</span><span class="si">}</span><span class="s2">:</span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">_current</span><span class="si">}</span><span class="s2">&quot;</span><span class="p">)</span>
-</span><span id="Tokenizer-1233"><a href="#Tokenizer-1233"><span class="linenos">1233</span></a> <span class="k">else</span><span class="p">:</span>
-</span><span id="Tokenizer-1234"><a href="#Tokenizer-1234"><span class="linenos">1234</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_chars</span><span class="p">(</span><span class="n">delim_size</span><span class="p">)</span> <span class="o">==</span> <span class="n">delimiter</span><span class="p">:</span>
-</span><span id="Tokenizer-1235"><a href="#Tokenizer-1235"><span class="linenos">1235</span></a> <span class="k">if</span> <span class="n">delim_size</span> <span class="o">&gt;</span> <span class="mi">1</span><span class="p">:</span>
-</span><span id="Tokenizer-1236"><a href="#Tokenizer-1236"><span class="linenos">1236</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">(</span><span class="n">delim_size</span> <span class="o">-</span> <span class="mi">1</span><span class="p">)</span>
-</span><span id="Tokenizer-1237"><a href="#Tokenizer-1237"><span class="linenos">1237</span></a> <span class="k">break</span>
-</span><span id="Tokenizer-1238"><a href="#Tokenizer-1238"><span class="linenos">1238</span></a>
-</span><span id="Tokenizer-1239"><a href="#Tokenizer-1239"><span class="linenos">1239</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_end</span><span class="p">:</span>
-</span><span id="Tokenizer-1240"><a href="#Tokenizer-1240"><span class="linenos">1240</span></a> <span class="k">raise</span> <span class="n">TokenError</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;Missing </span><span class="si">{</span><span class="n">delimiter</span><span class="si">}</span><span class="s2"> from </span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">_line</span><span class="si">}</span><span class="s2">:</span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">_start</span><span class="si">}</span><span class="s2">&quot;</span><span class="p">)</span>
-</span><span id="Tokenizer-1241"><a href="#Tokenizer-1241"><span class="linenos">1241</span></a>
-</span><span id="Tokenizer-1242"><a href="#Tokenizer-1242"><span class="linenos">1242</span></a> <span class="k">if</span> <span class="p">(</span>
-</span><span id="Tokenizer-1243"><a href="#Tokenizer-1243"><span class="linenos">1243</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">dialect</span><span class="o">.</span><span class="n">ESCAPE_SEQUENCES</span>
-</span><span id="Tokenizer-1244"><a href="#Tokenizer-1244"><span class="linenos">1244</span></a> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span>
-</span><span id="Tokenizer-1245"><a href="#Tokenizer-1245"><span class="linenos">1245</span></a> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">_char</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">STRING_ESCAPES</span>
-</span><span id="Tokenizer-1246"><a href="#Tokenizer-1246"><span class="linenos">1246</span></a> <span class="p">):</span>
-</span><span id="Tokenizer-1247"><a href="#Tokenizer-1247"><span class="linenos">1247</span></a> <span class="n">escaped_sequence</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">dialect</span><span class="o">.</span><span class="n">ESCAPE_SEQUENCES</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_char</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span><span class="p">)</span>
-</span><span id="Tokenizer-1248"><a href="#Tokenizer-1248"><span class="linenos">1248</span></a> <span class="k">if</span> <span class="n">escaped_sequence</span><span class="p">:</span>
-</span><span id="Tokenizer-1249"><a href="#Tokenizer-1249"><span class="linenos">1249</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">(</span><span class="mi">2</span><span class="p">)</span>
-</span><span id="Tokenizer-1250"><a href="#Tokenizer-1250"><span class="linenos">1250</span></a> <span class="n">text</span> <span class="o">+=</span> <span class="n">escaped_sequence</span>
-</span><span id="Tokenizer-1251"><a href="#Tokenizer-1251"><span class="linenos">1251</span></a> <span class="k">continue</span>
-</span><span id="Tokenizer-1252"><a href="#Tokenizer-1252"><span class="linenos">1252</span></a>
-</span><span id="Tokenizer-1253"><a href="#Tokenizer-1253"><span class="linenos">1253</span></a> <span class="n">current</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_current</span> <span class="o">-</span> <span class="mi">1</span>
-</span><span id="Tokenizer-1254"><a href="#Tokenizer-1254"><span class="linenos">1254</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">(</span><span class="n">alnum</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-</span><span id="Tokenizer-1255"><a href="#Tokenizer-1255"><span class="linenos">1255</span></a> <span class="n">text</span> <span class="o">+=</span> <span class="bp">self</span><span class="o">.</span><span class="n">sql</span><span class="p">[</span><span class="n">current</span> <span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">_current</span> <span class="o">-</span> <span class="mi">1</span><span class="p">]</span>
-</span><span id="Tokenizer-1256"><a href="#Tokenizer-1256"><span class="linenos">1256</span></a>
-</span><span id="Tokenizer-1257"><a href="#Tokenizer-1257"><span class="linenos">1257</span></a> <span class="k">return</span> <span class="n">text</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Tokenizer-160"><a href="#Tokenizer-160"><span class="linenos">160</span></a><span class="k">class</span> <span class="nc">Tokenizer</span><span class="p">(</span><span class="n">metaclass</span><span class="o">=</span><span class="n">_Tokenizer</span><span class="p">):</span>
+</span><span id="Tokenizer-161"><a href="#Tokenizer-161"><span class="linenos">161</span></a> <span class="n">SINGLE_TOKENS</span> <span class="o">=</span> <span class="p">{</span>
+</span><span id="Tokenizer-162"><a href="#Tokenizer-162"><span class="linenos">162</span></a> <span class="s2">&quot;(&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">L_PAREN</span><span class="p">,</span>
+</span><span id="Tokenizer-163"><a href="#Tokenizer-163"><span class="linenos">163</span></a> <span class="s2">&quot;)&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">R_PAREN</span><span class="p">,</span>
+</span><span id="Tokenizer-164"><a href="#Tokenizer-164"><span class="linenos">164</span></a> <span class="s2">&quot;[&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">L_BRACKET</span><span class="p">,</span>
+</span><span id="Tokenizer-165"><a href="#Tokenizer-165"><span class="linenos">165</span></a> <span class="s2">&quot;]&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">R_BRACKET</span><span class="p">,</span>
+</span><span id="Tokenizer-166"><a href="#Tokenizer-166"><span class="linenos">166</span></a> <span class="s2">&quot;{&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">L_BRACE</span><span class="p">,</span>
+</span><span id="Tokenizer-167"><a href="#Tokenizer-167"><span class="linenos">167</span></a> <span class="s2">&quot;}&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">R_BRACE</span><span class="p">,</span>
+</span><span id="Tokenizer-168"><a href="#Tokenizer-168"><span class="linenos">168</span></a> <span class="s2">&quot;&amp;&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">AMP</span><span class="p">,</span>
+</span><span id="Tokenizer-169"><a href="#Tokenizer-169"><span class="linenos">169</span></a> <span class="s2">&quot;^&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">CARET</span><span class="p">,</span>
+</span><span id="Tokenizer-170"><a href="#Tokenizer-170"><span class="linenos">170</span></a> <span class="s2">&quot;:&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COLON</span><span class="p">,</span>
+</span><span id="Tokenizer-171"><a href="#Tokenizer-171"><span class="linenos">171</span></a> <span class="s2">&quot;,&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMA</span><span class="p">,</span>
+</span><span id="Tokenizer-172"><a href="#Tokenizer-172"><span class="linenos">172</span></a> <span class="s2">&quot;.&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DOT</span><span class="p">,</span>
+</span><span id="Tokenizer-173"><a href="#Tokenizer-173"><span class="linenos">173</span></a> <span class="s2">&quot;-&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DASH</span><span class="p">,</span>
+</span><span id="Tokenizer-174"><a href="#Tokenizer-174"><span class="linenos">174</span></a> <span class="s2">&quot;=&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">EQ</span><span class="p">,</span>
+</span><span id="Tokenizer-175"><a href="#Tokenizer-175"><span class="linenos">175</span></a> <span class="s2">&quot;&gt;&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">GT</span><span class="p">,</span>
+</span><span id="Tokenizer-176"><a href="#Tokenizer-176"><span class="linenos">176</span></a> <span class="s2">&quot;&lt;&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">LT</span><span class="p">,</span>
+</span><span id="Tokenizer-177"><a href="#Tokenizer-177"><span class="linenos">177</span></a> <span class="s2">&quot;%&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">MOD</span><span class="p">,</span>
+</span><span id="Tokenizer-178"><a href="#Tokenizer-178"><span class="linenos">178</span></a> <span class="s2">&quot;!&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">NOT</span><span class="p">,</span>
+</span><span id="Tokenizer-179"><a href="#Tokenizer-179"><span class="linenos">179</span></a> <span class="s2">&quot;|&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">PIPE</span><span class="p">,</span>
+</span><span id="Tokenizer-180"><a href="#Tokenizer-180"><span class="linenos">180</span></a> <span class="s2">&quot;+&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">PLUS</span><span class="p">,</span>
+</span><span id="Tokenizer-181"><a href="#Tokenizer-181"><span class="linenos">181</span></a> <span class="s2">&quot;;&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">SEMICOLON</span><span class="p">,</span>
+</span><span id="Tokenizer-182"><a href="#Tokenizer-182"><span class="linenos">182</span></a> <span class="s2">&quot;/&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">SLASH</span><span class="p">,</span>
+</span><span id="Tokenizer-183"><a href="#Tokenizer-183"><span class="linenos">183</span></a> <span class="s2">&quot;</span><span class="se">\\</span><span class="s2">&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BACKSLASH</span><span class="p">,</span>
+</span><span id="Tokenizer-184"><a href="#Tokenizer-184"><span class="linenos">184</span></a> <span class="s2">&quot;*&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">STAR</span><span class="p">,</span>
+</span><span id="Tokenizer-185"><a href="#Tokenizer-185"><span class="linenos">185</span></a> <span class="s2">&quot;~&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TILDA</span><span class="p">,</span>
+</span><span id="Tokenizer-186"><a href="#Tokenizer-186"><span class="linenos">186</span></a> <span class="s2">&quot;?&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">PLACEHOLDER</span><span class="p">,</span>
+</span><span id="Tokenizer-187"><a href="#Tokenizer-187"><span class="linenos">187</span></a> <span class="s2">&quot;@&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">PARAMETER</span><span class="p">,</span>
+</span><span id="Tokenizer-188"><a href="#Tokenizer-188"><span class="linenos">188</span></a> <span class="c1"># used for breaking a var like x&#39;y&#39; but nothing else</span>
+</span><span id="Tokenizer-189"><a href="#Tokenizer-189"><span class="linenos">189</span></a> <span class="c1"># the token type doesn&#39;t matter</span>
+</span><span id="Tokenizer-190"><a href="#Tokenizer-190"><span class="linenos">190</span></a> <span class="s2">&quot;&#39;&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">QUOTE</span><span class="p">,</span>
+</span><span id="Tokenizer-191"><a href="#Tokenizer-191"><span class="linenos">191</span></a> <span class="s2">&quot;`&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">IDENTIFIER</span><span class="p">,</span>
+</span><span id="Tokenizer-192"><a href="#Tokenizer-192"><span class="linenos">192</span></a> <span class="s1">&#39;&quot;&#39;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">IDENTIFIER</span><span class="p">,</span>
+</span><span id="Tokenizer-193"><a href="#Tokenizer-193"><span class="linenos">193</span></a> <span class="s2">&quot;#&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">HASH</span><span class="p">,</span>
+</span><span id="Tokenizer-194"><a href="#Tokenizer-194"><span class="linenos">194</span></a> <span class="p">}</span>
+</span><span id="Tokenizer-195"><a href="#Tokenizer-195"><span class="linenos">195</span></a>
+</span><span id="Tokenizer-196"><a href="#Tokenizer-196"><span class="linenos">196</span></a> <span class="n">BIT_STRINGS</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">List</span><span class="p">[</span><span class="nb">str</span> <span class="o">|</span> <span class="n">t</span><span class="o">.</span><span class="n">Tuple</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="nb">str</span><span class="p">]]</span> <span class="o">=</span> <span class="p">[]</span>
+</span><span id="Tokenizer-197"><a href="#Tokenizer-197"><span class="linenos">197</span></a> <span class="n">BYTE_STRINGS</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">List</span><span class="p">[</span><span class="nb">str</span> <span class="o">|</span> <span class="n">t</span><span class="o">.</span><span class="n">Tuple</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="nb">str</span><span class="p">]]</span> <span class="o">=</span> <span class="p">[]</span>
+</span><span id="Tokenizer-198"><a href="#Tokenizer-198"><span class="linenos">198</span></a> <span class="n">HEX_STRINGS</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">List</span><span class="p">[</span><span class="nb">str</span> <span class="o">|</span> <span class="n">t</span><span class="o">.</span><span class="n">Tuple</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="nb">str</span><span class="p">]]</span> <span class="o">=</span> <span class="p">[]</span>
+</span><span id="Tokenizer-199"><a href="#Tokenizer-199"><span class="linenos">199</span></a> <span class="n">RAW_STRINGS</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">List</span><span class="p">[</span><span class="nb">str</span> <span class="o">|</span> <span class="n">t</span><span class="o">.</span><span class="n">Tuple</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="nb">str</span><span class="p">]]</span> <span class="o">=</span> <span class="p">[]</span>
+</span><span id="Tokenizer-200"><a href="#Tokenizer-200"><span class="linenos">200</span></a> <span class="n">HEREDOC_STRINGS</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">List</span><span class="p">[</span><span class="nb">str</span> <span class="o">|</span> <span class="n">t</span><span class="o">.</span><span class="n">Tuple</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="nb">str</span><span class="p">]]</span> <span class="o">=</span> <span class="p">[]</span>
+</span><span id="Tokenizer-201"><a href="#Tokenizer-201"><span class="linenos">201</span></a> <span class="n">IDENTIFIERS</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">List</span><span class="p">[</span><span class="nb">str</span> <span class="o">|</span> <span class="n">t</span><span class="o">.</span><span class="n">Tuple</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="nb">str</span><span class="p">]]</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;&quot;&#39;</span><span class="p">]</span>
+</span><span id="Tokenizer-202"><a href="#Tokenizer-202"><span class="linenos">202</span></a> <span class="n">IDENTIFIER_ESCAPES</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;&quot;&#39;</span><span class="p">]</span>
+</span><span id="Tokenizer-203"><a href="#Tokenizer-203"><span class="linenos">203</span></a> <span class="n">QUOTES</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">List</span><span class="p">[</span><span class="n">t</span><span class="o">.</span><span class="n">Tuple</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="nb">str</span><span class="p">]</span> <span class="o">|</span> <span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;&#39;&quot;</span><span class="p">]</span>
+</span><span id="Tokenizer-204"><a href="#Tokenizer-204"><span class="linenos">204</span></a> <span class="n">STRING_ESCAPES</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;&#39;&quot;</span><span class="p">]</span>
+</span><span id="Tokenizer-205"><a href="#Tokenizer-205"><span class="linenos">205</span></a> <span class="n">VAR_SINGLE_TOKENS</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Set</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="nb">set</span><span class="p">()</span>
+</span><span id="Tokenizer-206"><a href="#Tokenizer-206"><span class="linenos">206</span></a>
+</span><span id="Tokenizer-207"><a href="#Tokenizer-207"><span class="linenos">207</span></a> <span class="c1"># Autofilled</span>
+</span><span id="Tokenizer-208"><a href="#Tokenizer-208"><span class="linenos">208</span></a> <span class="n">_COMMENTS</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="p">{}</span>
+</span><span id="Tokenizer-209"><a href="#Tokenizer-209"><span class="linenos">209</span></a> <span class="n">_FORMAT_STRINGS</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="n">t</span><span class="o">.</span><span class="n">Tuple</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="n">TokenType</span><span class="p">]]</span> <span class="o">=</span> <span class="p">{}</span>
+</span><span id="Tokenizer-210"><a href="#Tokenizer-210"><span class="linenos">210</span></a> <span class="n">_IDENTIFIERS</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="p">{}</span>
+</span><span id="Tokenizer-211"><a href="#Tokenizer-211"><span class="linenos">211</span></a> <span class="n">_IDENTIFIER_ESCAPES</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Set</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="nb">set</span><span class="p">()</span>
+</span><span id="Tokenizer-212"><a href="#Tokenizer-212"><span class="linenos">212</span></a> <span class="n">_QUOTES</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="p">{}</span>
+</span><span id="Tokenizer-213"><a href="#Tokenizer-213"><span class="linenos">213</span></a> <span class="n">_STRING_ESCAPES</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Set</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="nb">set</span><span class="p">()</span>
+</span><span id="Tokenizer-214"><a href="#Tokenizer-214"><span class="linenos">214</span></a> <span class="n">_KEYWORD_TRIE</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Dict</span> <span class="o">=</span> <span class="p">{}</span>
+</span><span id="Tokenizer-215"><a href="#Tokenizer-215"><span class="linenos">215</span></a> <span class="n">_RS_TOKENIZER</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="n">t</span><span class="o">.</span><span class="n">Any</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span>
+</span><span id="Tokenizer-216"><a href="#Tokenizer-216"><span class="linenos">216</span></a>
+</span><span id="Tokenizer-217"><a href="#Tokenizer-217"><span class="linenos">217</span></a> <span class="n">KEYWORDS</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="n">TokenType</span><span class="p">]</span> <span class="o">=</span> <span class="p">{</span>
+</span><span id="Tokenizer-218"><a href="#Tokenizer-218"><span class="linenos">218</span></a> <span class="o">**</span><span class="p">{</span><span class="sa">f</span><span class="s2">&quot;</span><span class="se">{{</span><span class="s2">%</span><span class="si">{</span><span class="n">postfix</span><span class="si">}</span><span class="s2">&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BLOCK_START</span> <span class="k">for</span> <span class="n">postfix</span> <span class="ow">in</span> <span class="p">(</span><span class="s2">&quot;&quot;</span><span class="p">,</span> <span class="s2">&quot;+&quot;</span><span class="p">,</span> <span class="s2">&quot;-&quot;</span><span class="p">)},</span>
+</span><span id="Tokenizer-219"><a href="#Tokenizer-219"><span class="linenos">219</span></a> <span class="o">**</span><span class="p">{</span><span class="sa">f</span><span class="s2">&quot;</span><span class="si">{</span><span class="n">prefix</span><span class="si">}</span><span class="s2">%</span><span class="se">}}</span><span class="s2">&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BLOCK_END</span> <span class="k">for</span> <span class="n">prefix</span> <span class="ow">in</span> <span class="p">(</span><span class="s2">&quot;&quot;</span><span class="p">,</span> <span class="s2">&quot;+&quot;</span><span class="p">,</span> <span class="s2">&quot;-&quot;</span><span class="p">)},</span>
+</span><span id="Tokenizer-220"><a href="#Tokenizer-220"><span class="linenos">220</span></a> <span class="o">**</span><span class="p">{</span><span class="sa">f</span><span class="s2">&quot;</span><span class="se">{{{{</span><span class="si">{</span><span class="n">postfix</span><span class="si">}</span><span class="s2">&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BLOCK_START</span> <span class="k">for</span> <span class="n">postfix</span> <span class="ow">in</span> <span class="p">(</span><span class="s2">&quot;+&quot;</span><span class="p">,</span> <span class="s2">&quot;-&quot;</span><span class="p">)},</span>
+</span><span id="Tokenizer-221"><a href="#Tokenizer-221"><span class="linenos">221</span></a> <span class="o">**</span><span class="p">{</span><span class="sa">f</span><span class="s2">&quot;</span><span class="si">{</span><span class="n">prefix</span><span class="si">}</span><span class="se">}}}}</span><span class="s2">&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BLOCK_END</span> <span class="k">for</span> <span class="n">prefix</span> <span class="ow">in</span> <span class="p">(</span><span class="s2">&quot;+&quot;</span><span class="p">,</span> <span class="s2">&quot;-&quot;</span><span class="p">)},</span>
+</span><span id="Tokenizer-222"><a href="#Tokenizer-222"><span class="linenos">222</span></a> <span class="s2">&quot;/*+&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">HINT</span><span class="p">,</span>
+</span><span id="Tokenizer-223"><a href="#Tokenizer-223"><span class="linenos">223</span></a> <span class="s2">&quot;==&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">EQ</span><span class="p">,</span>
+</span><span id="Tokenizer-224"><a href="#Tokenizer-224"><span class="linenos">224</span></a> <span class="s2">&quot;::&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DCOLON</span><span class="p">,</span>
+</span><span id="Tokenizer-225"><a href="#Tokenizer-225"><span class="linenos">225</span></a> <span class="s2">&quot;||&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DPIPE</span><span class="p">,</span>
+</span><span id="Tokenizer-226"><a href="#Tokenizer-226"><span class="linenos">226</span></a> <span class="s2">&quot;&gt;=&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">GTE</span><span class="p">,</span>
+</span><span id="Tokenizer-227"><a href="#Tokenizer-227"><span class="linenos">227</span></a> <span class="s2">&quot;&lt;=&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">LTE</span><span class="p">,</span>
+</span><span id="Tokenizer-228"><a href="#Tokenizer-228"><span class="linenos">228</span></a> <span class="s2">&quot;&lt;&gt;&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">NEQ</span><span class="p">,</span>
+</span><span id="Tokenizer-229"><a href="#Tokenizer-229"><span class="linenos">229</span></a> <span class="s2">&quot;!=&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">NEQ</span><span class="p">,</span>
+</span><span id="Tokenizer-230"><a href="#Tokenizer-230"><span class="linenos">230</span></a> <span class="s2">&quot;:=&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COLON_EQ</span><span class="p">,</span>
+</span><span id="Tokenizer-231"><a href="#Tokenizer-231"><span class="linenos">231</span></a> <span class="s2">&quot;&lt;=&gt;&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">NULLSAFE_EQ</span><span class="p">,</span>
+</span><span id="Tokenizer-232"><a href="#Tokenizer-232"><span class="linenos">232</span></a> <span class="s2">&quot;-&gt;&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">ARROW</span><span class="p">,</span>
+</span><span id="Tokenizer-233"><a href="#Tokenizer-233"><span class="linenos">233</span></a> <span class="s2">&quot;-&gt;&gt;&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DARROW</span><span class="p">,</span>
+</span><span id="Tokenizer-234"><a href="#Tokenizer-234"><span class="linenos">234</span></a> <span class="s2">&quot;=&gt;&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">FARROW</span><span class="p">,</span>
+</span><span id="Tokenizer-235"><a href="#Tokenizer-235"><span class="linenos">235</span></a> <span class="s2">&quot;#&gt;&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">HASH_ARROW</span><span class="p">,</span>
+</span><span id="Tokenizer-236"><a href="#Tokenizer-236"><span class="linenos">236</span></a> <span class="s2">&quot;#&gt;&gt;&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DHASH_ARROW</span><span class="p">,</span>
+</span><span id="Tokenizer-237"><a href="#Tokenizer-237"><span class="linenos">237</span></a> <span class="s2">&quot;&lt;-&gt;&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">LR_ARROW</span><span class="p">,</span>
+</span><span id="Tokenizer-238"><a href="#Tokenizer-238"><span class="linenos">238</span></a> <span class="s2">&quot;&amp;&amp;&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DAMP</span><span class="p">,</span>
+</span><span id="Tokenizer-239"><a href="#Tokenizer-239"><span class="linenos">239</span></a> <span class="s2">&quot;??&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DQMARK</span><span class="p">,</span>
+</span><span id="Tokenizer-240"><a href="#Tokenizer-240"><span class="linenos">240</span></a> <span class="s2">&quot;ALL&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">ALL</span><span class="p">,</span>
+</span><span id="Tokenizer-241"><a href="#Tokenizer-241"><span class="linenos">241</span></a> <span class="s2">&quot;ALWAYS&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">ALWAYS</span><span class="p">,</span>
+</span><span id="Tokenizer-242"><a href="#Tokenizer-242"><span class="linenos">242</span></a> <span class="s2">&quot;AND&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">AND</span><span class="p">,</span>
+</span><span id="Tokenizer-243"><a href="#Tokenizer-243"><span class="linenos">243</span></a> <span class="s2">&quot;ANTI&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">ANTI</span><span class="p">,</span>
+</span><span id="Tokenizer-244"><a href="#Tokenizer-244"><span class="linenos">244</span></a> <span class="s2">&quot;ANY&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">ANY</span><span class="p">,</span>
+</span><span id="Tokenizer-245"><a href="#Tokenizer-245"><span class="linenos">245</span></a> <span class="s2">&quot;ASC&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">ASC</span><span class="p">,</span>
+</span><span id="Tokenizer-246"><a href="#Tokenizer-246"><span class="linenos">246</span></a> <span class="s2">&quot;AS&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">ALIAS</span><span class="p">,</span>
+</span><span id="Tokenizer-247"><a href="#Tokenizer-247"><span class="linenos">247</span></a> <span class="s2">&quot;ASOF&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">ASOF</span><span class="p">,</span>
+</span><span id="Tokenizer-248"><a href="#Tokenizer-248"><span class="linenos">248</span></a> <span class="s2">&quot;AUTOINCREMENT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">AUTO_INCREMENT</span><span class="p">,</span>
+</span><span id="Tokenizer-249"><a href="#Tokenizer-249"><span class="linenos">249</span></a> <span class="s2">&quot;AUTO_INCREMENT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">AUTO_INCREMENT</span><span class="p">,</span>
+</span><span id="Tokenizer-250"><a href="#Tokenizer-250"><span class="linenos">250</span></a> <span class="s2">&quot;BEGIN&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BEGIN</span><span class="p">,</span>
+</span><span id="Tokenizer-251"><a href="#Tokenizer-251"><span class="linenos">251</span></a> <span class="s2">&quot;BETWEEN&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BETWEEN</span><span class="p">,</span>
+</span><span id="Tokenizer-252"><a href="#Tokenizer-252"><span class="linenos">252</span></a> <span class="s2">&quot;CACHE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">CACHE</span><span class="p">,</span>
+</span><span id="Tokenizer-253"><a href="#Tokenizer-253"><span class="linenos">253</span></a> <span class="s2">&quot;UNCACHE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">UNCACHE</span><span class="p">,</span>
+</span><span id="Tokenizer-254"><a href="#Tokenizer-254"><span class="linenos">254</span></a> <span class="s2">&quot;CASE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">CASE</span><span class="p">,</span>
+</span><span id="Tokenizer-255"><a href="#Tokenizer-255"><span class="linenos">255</span></a> <span class="s2">&quot;CHARACTER SET&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">CHARACTER_SET</span><span class="p">,</span>
+</span><span id="Tokenizer-256"><a href="#Tokenizer-256"><span class="linenos">256</span></a> <span class="s2">&quot;CLUSTER BY&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">CLUSTER_BY</span><span class="p">,</span>
+</span><span id="Tokenizer-257"><a href="#Tokenizer-257"><span class="linenos">257</span></a> <span class="s2">&quot;COLLATE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COLLATE</span><span class="p">,</span>
+</span><span id="Tokenizer-258"><a href="#Tokenizer-258"><span class="linenos">258</span></a> <span class="s2">&quot;COLUMN&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COLUMN</span><span class="p">,</span>
+</span><span id="Tokenizer-259"><a href="#Tokenizer-259"><span class="linenos">259</span></a> <span class="s2">&quot;COMMIT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMIT</span><span class="p">,</span>
+</span><span id="Tokenizer-260"><a href="#Tokenizer-260"><span class="linenos">260</span></a> <span class="s2">&quot;CONNECT BY&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">CONNECT_BY</span><span class="p">,</span>
+</span><span id="Tokenizer-261"><a href="#Tokenizer-261"><span class="linenos">261</span></a> <span class="s2">&quot;CONSTRAINT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">CONSTRAINT</span><span class="p">,</span>
+</span><span id="Tokenizer-262"><a href="#Tokenizer-262"><span class="linenos">262</span></a> <span class="s2">&quot;CREATE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">CREATE</span><span class="p">,</span>
+</span><span id="Tokenizer-263"><a href="#Tokenizer-263"><span class="linenos">263</span></a> <span class="s2">&quot;CROSS&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">CROSS</span><span class="p">,</span>
+</span><span id="Tokenizer-264"><a href="#Tokenizer-264"><span class="linenos">264</span></a> <span class="s2">&quot;CUBE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">CUBE</span><span class="p">,</span>
+</span><span id="Tokenizer-265"><a href="#Tokenizer-265"><span class="linenos">265</span></a> <span class="s2">&quot;CURRENT_DATE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">CURRENT_DATE</span><span class="p">,</span>
+</span><span id="Tokenizer-266"><a href="#Tokenizer-266"><span class="linenos">266</span></a> <span class="s2">&quot;CURRENT_TIME&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">CURRENT_TIME</span><span class="p">,</span>
+</span><span id="Tokenizer-267"><a href="#Tokenizer-267"><span class="linenos">267</span></a> <span class="s2">&quot;CURRENT_TIMESTAMP&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">CURRENT_TIMESTAMP</span><span class="p">,</span>
+</span><span id="Tokenizer-268"><a href="#Tokenizer-268"><span class="linenos">268</span></a> <span class="s2">&quot;CURRENT_USER&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">CURRENT_USER</span><span class="p">,</span>
+</span><span id="Tokenizer-269"><a href="#Tokenizer-269"><span class="linenos">269</span></a> <span class="s2">&quot;DATABASE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DATABASE</span><span class="p">,</span>
+</span><span id="Tokenizer-270"><a href="#Tokenizer-270"><span class="linenos">270</span></a> <span class="s2">&quot;DEFAULT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DEFAULT</span><span class="p">,</span>
+</span><span id="Tokenizer-271"><a href="#Tokenizer-271"><span class="linenos">271</span></a> <span class="s2">&quot;DELETE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DELETE</span><span class="p">,</span>
+</span><span id="Tokenizer-272"><a href="#Tokenizer-272"><span class="linenos">272</span></a> <span class="s2">&quot;DESC&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DESC</span><span class="p">,</span>
+</span><span id="Tokenizer-273"><a href="#Tokenizer-273"><span class="linenos">273</span></a> <span class="s2">&quot;DESCRIBE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DESCRIBE</span><span class="p">,</span>
+</span><span id="Tokenizer-274"><a href="#Tokenizer-274"><span class="linenos">274</span></a> <span class="s2">&quot;DISTINCT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DISTINCT</span><span class="p">,</span>
+</span><span id="Tokenizer-275"><a href="#Tokenizer-275"><span class="linenos">275</span></a> <span class="s2">&quot;DISTRIBUTE BY&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DISTRIBUTE_BY</span><span class="p">,</span>
+</span><span id="Tokenizer-276"><a href="#Tokenizer-276"><span class="linenos">276</span></a> <span class="s2">&quot;DIV&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DIV</span><span class="p">,</span>
+</span><span id="Tokenizer-277"><a href="#Tokenizer-277"><span class="linenos">277</span></a> <span class="s2">&quot;DROP&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DROP</span><span class="p">,</span>
+</span><span id="Tokenizer-278"><a href="#Tokenizer-278"><span class="linenos">278</span></a> <span class="s2">&quot;ELSE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">ELSE</span><span class="p">,</span>
+</span><span id="Tokenizer-279"><a href="#Tokenizer-279"><span class="linenos">279</span></a> <span class="s2">&quot;END&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">END</span><span class="p">,</span>
+</span><span id="Tokenizer-280"><a href="#Tokenizer-280"><span class="linenos">280</span></a> <span class="s2">&quot;ESCAPE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">ESCAPE</span><span class="p">,</span>
+</span><span id="Tokenizer-281"><a href="#Tokenizer-281"><span class="linenos">281</span></a> <span class="s2">&quot;EXCEPT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">EXCEPT</span><span class="p">,</span>
+</span><span id="Tokenizer-282"><a href="#Tokenizer-282"><span class="linenos">282</span></a> <span class="s2">&quot;EXECUTE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">EXECUTE</span><span class="p">,</span>
+</span><span id="Tokenizer-283"><a href="#Tokenizer-283"><span class="linenos">283</span></a> <span class="s2">&quot;EXISTS&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">EXISTS</span><span class="p">,</span>
+</span><span id="Tokenizer-284"><a href="#Tokenizer-284"><span class="linenos">284</span></a> <span class="s2">&quot;FALSE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">FALSE</span><span class="p">,</span>
+</span><span id="Tokenizer-285"><a href="#Tokenizer-285"><span class="linenos">285</span></a> <span class="s2">&quot;FETCH&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">FETCH</span><span class="p">,</span>
+</span><span id="Tokenizer-286"><a href="#Tokenizer-286"><span class="linenos">286</span></a> <span class="s2">&quot;FILTER&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">FILTER</span><span class="p">,</span>
+</span><span id="Tokenizer-287"><a href="#Tokenizer-287"><span class="linenos">287</span></a> <span class="s2">&quot;FIRST&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">FIRST</span><span class="p">,</span>
+</span><span id="Tokenizer-288"><a href="#Tokenizer-288"><span class="linenos">288</span></a> <span class="s2">&quot;FULL&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">FULL</span><span class="p">,</span>
+</span><span id="Tokenizer-289"><a href="#Tokenizer-289"><span class="linenos">289</span></a> <span class="s2">&quot;FUNCTION&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">FUNCTION</span><span class="p">,</span>
+</span><span id="Tokenizer-290"><a href="#Tokenizer-290"><span class="linenos">290</span></a> <span class="s2">&quot;FOR&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">FOR</span><span class="p">,</span>
+</span><span id="Tokenizer-291"><a href="#Tokenizer-291"><span class="linenos">291</span></a> <span class="s2">&quot;FOREIGN KEY&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">FOREIGN_KEY</span><span class="p">,</span>
+</span><span id="Tokenizer-292"><a href="#Tokenizer-292"><span class="linenos">292</span></a> <span class="s2">&quot;FORMAT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">FORMAT</span><span class="p">,</span>
+</span><span id="Tokenizer-293"><a href="#Tokenizer-293"><span class="linenos">293</span></a> <span class="s2">&quot;FROM&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">FROM</span><span class="p">,</span>
+</span><span id="Tokenizer-294"><a href="#Tokenizer-294"><span class="linenos">294</span></a> <span class="s2">&quot;GEOGRAPHY&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">GEOGRAPHY</span><span class="p">,</span>
+</span><span id="Tokenizer-295"><a href="#Tokenizer-295"><span class="linenos">295</span></a> <span class="s2">&quot;GEOMETRY&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">GEOMETRY</span><span class="p">,</span>
+</span><span id="Tokenizer-296"><a href="#Tokenizer-296"><span class="linenos">296</span></a> <span class="s2">&quot;GLOB&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">GLOB</span><span class="p">,</span>
+</span><span id="Tokenizer-297"><a href="#Tokenizer-297"><span class="linenos">297</span></a> <span class="s2">&quot;GROUP BY&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">GROUP_BY</span><span class="p">,</span>
+</span><span id="Tokenizer-298"><a href="#Tokenizer-298"><span class="linenos">298</span></a> <span class="s2">&quot;GROUPING SETS&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">GROUPING_SETS</span><span class="p">,</span>
+</span><span id="Tokenizer-299"><a href="#Tokenizer-299"><span class="linenos">299</span></a> <span class="s2">&quot;HAVING&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">HAVING</span><span class="p">,</span>
+</span><span id="Tokenizer-300"><a href="#Tokenizer-300"><span class="linenos">300</span></a> <span class="s2">&quot;ILIKE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">ILIKE</span><span class="p">,</span>
+</span><span id="Tokenizer-301"><a href="#Tokenizer-301"><span class="linenos">301</span></a> <span class="s2">&quot;IN&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">IN</span><span class="p">,</span>
+</span><span id="Tokenizer-302"><a href="#Tokenizer-302"><span class="linenos">302</span></a> <span class="s2">&quot;INDEX&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">INDEX</span><span class="p">,</span>
+</span><span id="Tokenizer-303"><a href="#Tokenizer-303"><span class="linenos">303</span></a> <span class="s2">&quot;INET&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">INET</span><span class="p">,</span>
+</span><span id="Tokenizer-304"><a href="#Tokenizer-304"><span class="linenos">304</span></a> <span class="s2">&quot;INNER&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">INNER</span><span class="p">,</span>
+</span><span id="Tokenizer-305"><a href="#Tokenizer-305"><span class="linenos">305</span></a> <span class="s2">&quot;INSERT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">INSERT</span><span class="p">,</span>
+</span><span id="Tokenizer-306"><a href="#Tokenizer-306"><span class="linenos">306</span></a> <span class="s2">&quot;INTERVAL&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">INTERVAL</span><span class="p">,</span>
+</span><span id="Tokenizer-307"><a href="#Tokenizer-307"><span class="linenos">307</span></a> <span class="s2">&quot;INTERSECT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">INTERSECT</span><span class="p">,</span>
+</span><span id="Tokenizer-308"><a href="#Tokenizer-308"><span class="linenos">308</span></a> <span class="s2">&quot;INTO&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">INTO</span><span class="p">,</span>
+</span><span id="Tokenizer-309"><a href="#Tokenizer-309"><span class="linenos">309</span></a> <span class="s2">&quot;IS&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">IS</span><span class="p">,</span>
+</span><span id="Tokenizer-310"><a href="#Tokenizer-310"><span class="linenos">310</span></a> <span class="s2">&quot;ISNULL&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">ISNULL</span><span class="p">,</span>
+</span><span id="Tokenizer-311"><a href="#Tokenizer-311"><span class="linenos">311</span></a> <span class="s2">&quot;JOIN&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">JOIN</span><span class="p">,</span>
+</span><span id="Tokenizer-312"><a href="#Tokenizer-312"><span class="linenos">312</span></a> <span class="s2">&quot;KEEP&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">KEEP</span><span class="p">,</span>
+</span><span id="Tokenizer-313"><a href="#Tokenizer-313"><span class="linenos">313</span></a> <span class="s2">&quot;KILL&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">KILL</span><span class="p">,</span>
+</span><span id="Tokenizer-314"><a href="#Tokenizer-314"><span class="linenos">314</span></a> <span class="s2">&quot;LATERAL&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">LATERAL</span><span class="p">,</span>
+</span><span id="Tokenizer-315"><a href="#Tokenizer-315"><span class="linenos">315</span></a> <span class="s2">&quot;LEFT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">LEFT</span><span class="p">,</span>
+</span><span id="Tokenizer-316"><a href="#Tokenizer-316"><span class="linenos">316</span></a> <span class="s2">&quot;LIKE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">LIKE</span><span class="p">,</span>
+</span><span id="Tokenizer-317"><a href="#Tokenizer-317"><span class="linenos">317</span></a> <span class="s2">&quot;LIMIT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">LIMIT</span><span class="p">,</span>
+</span><span id="Tokenizer-318"><a href="#Tokenizer-318"><span class="linenos">318</span></a> <span class="s2">&quot;LOAD&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">LOAD</span><span class="p">,</span>
+</span><span id="Tokenizer-319"><a href="#Tokenizer-319"><span class="linenos">319</span></a> <span class="s2">&quot;LOCK&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">LOCK</span><span class="p">,</span>
+</span><span id="Tokenizer-320"><a href="#Tokenizer-320"><span class="linenos">320</span></a> <span class="s2">&quot;MERGE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">MERGE</span><span class="p">,</span>
+</span><span id="Tokenizer-321"><a href="#Tokenizer-321"><span class="linenos">321</span></a> <span class="s2">&quot;NATURAL&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">NATURAL</span><span class="p">,</span>
+</span><span id="Tokenizer-322"><a href="#Tokenizer-322"><span class="linenos">322</span></a> <span class="s2">&quot;NEXT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">NEXT</span><span class="p">,</span>
+</span><span id="Tokenizer-323"><a href="#Tokenizer-323"><span class="linenos">323</span></a> <span class="s2">&quot;NOT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">NOT</span><span class="p">,</span>
+</span><span id="Tokenizer-324"><a href="#Tokenizer-324"><span class="linenos">324</span></a> <span class="s2">&quot;NOTNULL&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">NOTNULL</span><span class="p">,</span>
+</span><span id="Tokenizer-325"><a href="#Tokenizer-325"><span class="linenos">325</span></a> <span class="s2">&quot;NULL&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">NULL</span><span class="p">,</span>
+</span><span id="Tokenizer-326"><a href="#Tokenizer-326"><span class="linenos">326</span></a> <span class="s2">&quot;OBJECT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">OBJECT</span><span class="p">,</span>
+</span><span id="Tokenizer-327"><a href="#Tokenizer-327"><span class="linenos">327</span></a> <span class="s2">&quot;OFFSET&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">OFFSET</span><span class="p">,</span>
+</span><span id="Tokenizer-328"><a href="#Tokenizer-328"><span class="linenos">328</span></a> <span class="s2">&quot;ON&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">ON</span><span class="p">,</span>
+</span><span id="Tokenizer-329"><a href="#Tokenizer-329"><span class="linenos">329</span></a> <span class="s2">&quot;OR&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">OR</span><span class="p">,</span>
+</span><span id="Tokenizer-330"><a href="#Tokenizer-330"><span class="linenos">330</span></a> <span class="s2">&quot;XOR&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">XOR</span><span class="p">,</span>
+</span><span id="Tokenizer-331"><a href="#Tokenizer-331"><span class="linenos">331</span></a> <span class="s2">&quot;ORDER BY&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">ORDER_BY</span><span class="p">,</span>
+</span><span id="Tokenizer-332"><a href="#Tokenizer-332"><span class="linenos">332</span></a> <span class="s2">&quot;ORDINALITY&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">ORDINALITY</span><span class="p">,</span>
+</span><span id="Tokenizer-333"><a href="#Tokenizer-333"><span class="linenos">333</span></a> <span class="s2">&quot;OUTER&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">OUTER</span><span class="p">,</span>
+</span><span id="Tokenizer-334"><a href="#Tokenizer-334"><span class="linenos">334</span></a> <span class="s2">&quot;OVER&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">OVER</span><span class="p">,</span>
+</span><span id="Tokenizer-335"><a href="#Tokenizer-335"><span class="linenos">335</span></a> <span class="s2">&quot;OVERLAPS&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">OVERLAPS</span><span class="p">,</span>
+</span><span id="Tokenizer-336"><a href="#Tokenizer-336"><span class="linenos">336</span></a> <span class="s2">&quot;OVERWRITE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">OVERWRITE</span><span class="p">,</span>
+</span><span id="Tokenizer-337"><a href="#Tokenizer-337"><span class="linenos">337</span></a> <span class="s2">&quot;PARTITION&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">PARTITION</span><span class="p">,</span>
+</span><span id="Tokenizer-338"><a href="#Tokenizer-338"><span class="linenos">338</span></a> <span class="s2">&quot;PARTITION BY&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">PARTITION_BY</span><span class="p">,</span>
+</span><span id="Tokenizer-339"><a href="#Tokenizer-339"><span class="linenos">339</span></a> <span class="s2">&quot;PARTITIONED BY&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">PARTITION_BY</span><span class="p">,</span>
+</span><span id="Tokenizer-340"><a href="#Tokenizer-340"><span class="linenos">340</span></a> <span class="s2">&quot;PARTITIONED_BY&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">PARTITION_BY</span><span class="p">,</span>
+</span><span id="Tokenizer-341"><a href="#Tokenizer-341"><span class="linenos">341</span></a> <span class="s2">&quot;PERCENT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">PERCENT</span><span class="p">,</span>
+</span><span id="Tokenizer-342"><a href="#Tokenizer-342"><span class="linenos">342</span></a> <span class="s2">&quot;PIVOT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">PIVOT</span><span class="p">,</span>
+</span><span id="Tokenizer-343"><a href="#Tokenizer-343"><span class="linenos">343</span></a> <span class="s2">&quot;PRAGMA&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">PRAGMA</span><span class="p">,</span>
+</span><span id="Tokenizer-344"><a href="#Tokenizer-344"><span class="linenos">344</span></a> <span class="s2">&quot;PRIMARY KEY&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">PRIMARY_KEY</span><span class="p">,</span>
+</span><span id="Tokenizer-345"><a href="#Tokenizer-345"><span class="linenos">345</span></a> <span class="s2">&quot;PROCEDURE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">PROCEDURE</span><span class="p">,</span>
+</span><span id="Tokenizer-346"><a href="#Tokenizer-346"><span class="linenos">346</span></a> <span class="s2">&quot;QUALIFY&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">QUALIFY</span><span class="p">,</span>
+</span><span id="Tokenizer-347"><a href="#Tokenizer-347"><span class="linenos">347</span></a> <span class="s2">&quot;RANGE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">RANGE</span><span class="p">,</span>
+</span><span id="Tokenizer-348"><a href="#Tokenizer-348"><span class="linenos">348</span></a> <span class="s2">&quot;RECURSIVE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">RECURSIVE</span><span class="p">,</span>
+</span><span id="Tokenizer-349"><a href="#Tokenizer-349"><span class="linenos">349</span></a> <span class="s2">&quot;REGEXP&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">RLIKE</span><span class="p">,</span>
+</span><span id="Tokenizer-350"><a href="#Tokenizer-350"><span class="linenos">350</span></a> <span class="s2">&quot;REPLACE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">REPLACE</span><span class="p">,</span>
+</span><span id="Tokenizer-351"><a href="#Tokenizer-351"><span class="linenos">351</span></a> <span class="s2">&quot;RETURNING&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">RETURNING</span><span class="p">,</span>
+</span><span id="Tokenizer-352"><a href="#Tokenizer-352"><span class="linenos">352</span></a> <span class="s2">&quot;REFERENCES&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">REFERENCES</span><span class="p">,</span>
+</span><span id="Tokenizer-353"><a href="#Tokenizer-353"><span class="linenos">353</span></a> <span class="s2">&quot;RIGHT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">RIGHT</span><span class="p">,</span>
+</span><span id="Tokenizer-354"><a href="#Tokenizer-354"><span class="linenos">354</span></a> <span class="s2">&quot;RLIKE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">RLIKE</span><span class="p">,</span>
+</span><span id="Tokenizer-355"><a href="#Tokenizer-355"><span class="linenos">355</span></a> <span class="s2">&quot;ROLLBACK&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">ROLLBACK</span><span class="p">,</span>
+</span><span id="Tokenizer-356"><a href="#Tokenizer-356"><span class="linenos">356</span></a> <span class="s2">&quot;ROLLUP&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">ROLLUP</span><span class="p">,</span>
+</span><span id="Tokenizer-357"><a href="#Tokenizer-357"><span class="linenos">357</span></a> <span class="s2">&quot;ROW&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">ROW</span><span class="p">,</span>
+</span><span id="Tokenizer-358"><a href="#Tokenizer-358"><span class="linenos">358</span></a> <span class="s2">&quot;ROWS&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">ROWS</span><span class="p">,</span>
+</span><span id="Tokenizer-359"><a href="#Tokenizer-359"><span class="linenos">359</span></a> <span class="s2">&quot;SCHEMA&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">SCHEMA</span><span class="p">,</span>
+</span><span id="Tokenizer-360"><a href="#Tokenizer-360"><span class="linenos">360</span></a> <span class="s2">&quot;SELECT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">SELECT</span><span class="p">,</span>
+</span><span id="Tokenizer-361"><a href="#Tokenizer-361"><span class="linenos">361</span></a> <span class="s2">&quot;SEMI&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">SEMI</span><span class="p">,</span>
+</span><span id="Tokenizer-362"><a href="#Tokenizer-362"><span class="linenos">362</span></a> <span class="s2">&quot;SET&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">SET</span><span class="p">,</span>
+</span><span id="Tokenizer-363"><a href="#Tokenizer-363"><span class="linenos">363</span></a> <span class="s2">&quot;SETTINGS&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">SETTINGS</span><span class="p">,</span>
+</span><span id="Tokenizer-364"><a href="#Tokenizer-364"><span class="linenos">364</span></a> <span class="s2">&quot;SHOW&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">SHOW</span><span class="p">,</span>
+</span><span id="Tokenizer-365"><a href="#Tokenizer-365"><span class="linenos">365</span></a> <span class="s2">&quot;SIMILAR TO&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">SIMILAR_TO</span><span class="p">,</span>
+</span><span id="Tokenizer-366"><a href="#Tokenizer-366"><span class="linenos">366</span></a> <span class="s2">&quot;SOME&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">SOME</span><span class="p">,</span>
+</span><span id="Tokenizer-367"><a href="#Tokenizer-367"><span class="linenos">367</span></a> <span class="s2">&quot;SORT BY&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">SORT_BY</span><span class="p">,</span>
+</span><span id="Tokenizer-368"><a href="#Tokenizer-368"><span class="linenos">368</span></a> <span class="s2">&quot;START WITH&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">START_WITH</span><span class="p">,</span>
+</span><span id="Tokenizer-369"><a href="#Tokenizer-369"><span class="linenos">369</span></a> <span class="s2">&quot;TABLE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TABLE</span><span class="p">,</span>
+</span><span id="Tokenizer-370"><a href="#Tokenizer-370"><span class="linenos">370</span></a> <span class="s2">&quot;TABLESAMPLE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TABLE_SAMPLE</span><span class="p">,</span>
+</span><span id="Tokenizer-371"><a href="#Tokenizer-371"><span class="linenos">371</span></a> <span class="s2">&quot;TEMP&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TEMPORARY</span><span class="p">,</span>
+</span><span id="Tokenizer-372"><a href="#Tokenizer-372"><span class="linenos">372</span></a> <span class="s2">&quot;TEMPORARY&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TEMPORARY</span><span class="p">,</span>
+</span><span id="Tokenizer-373"><a href="#Tokenizer-373"><span class="linenos">373</span></a> <span class="s2">&quot;THEN&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">THEN</span><span class="p">,</span>
+</span><span id="Tokenizer-374"><a href="#Tokenizer-374"><span class="linenos">374</span></a> <span class="s2">&quot;TRUE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TRUE</span><span class="p">,</span>
+</span><span id="Tokenizer-375"><a href="#Tokenizer-375"><span class="linenos">375</span></a> <span class="s2">&quot;UNION&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">UNION</span><span class="p">,</span>
+</span><span id="Tokenizer-376"><a href="#Tokenizer-376"><span class="linenos">376</span></a> <span class="s2">&quot;UNKNOWN&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">UNKNOWN</span><span class="p">,</span>
+</span><span id="Tokenizer-377"><a href="#Tokenizer-377"><span class="linenos">377</span></a> <span class="s2">&quot;UNNEST&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">UNNEST</span><span class="p">,</span>
+</span><span id="Tokenizer-378"><a href="#Tokenizer-378"><span class="linenos">378</span></a> <span class="s2">&quot;UNPIVOT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">UNPIVOT</span><span class="p">,</span>
+</span><span id="Tokenizer-379"><a href="#Tokenizer-379"><span class="linenos">379</span></a> <span class="s2">&quot;UPDATE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">UPDATE</span><span class="p">,</span>
+</span><span id="Tokenizer-380"><a href="#Tokenizer-380"><span class="linenos">380</span></a> <span class="s2">&quot;USE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">USE</span><span class="p">,</span>
+</span><span id="Tokenizer-381"><a href="#Tokenizer-381"><span class="linenos">381</span></a> <span class="s2">&quot;USING&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">USING</span><span class="p">,</span>
+</span><span id="Tokenizer-382"><a href="#Tokenizer-382"><span class="linenos">382</span></a> <span class="s2">&quot;UUID&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">UUID</span><span class="p">,</span>
+</span><span id="Tokenizer-383"><a href="#Tokenizer-383"><span class="linenos">383</span></a> <span class="s2">&quot;VALUES&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">VALUES</span><span class="p">,</span>
+</span><span id="Tokenizer-384"><a href="#Tokenizer-384"><span class="linenos">384</span></a> <span class="s2">&quot;VIEW&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">VIEW</span><span class="p">,</span>
+</span><span id="Tokenizer-385"><a href="#Tokenizer-385"><span class="linenos">385</span></a> <span class="s2">&quot;VOLATILE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">VOLATILE</span><span class="p">,</span>
+</span><span id="Tokenizer-386"><a href="#Tokenizer-386"><span class="linenos">386</span></a> <span class="s2">&quot;WHEN&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">WHEN</span><span class="p">,</span>
+</span><span id="Tokenizer-387"><a href="#Tokenizer-387"><span class="linenos">387</span></a> <span class="s2">&quot;WHERE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">WHERE</span><span class="p">,</span>
+</span><span id="Tokenizer-388"><a href="#Tokenizer-388"><span class="linenos">388</span></a> <span class="s2">&quot;WINDOW&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">WINDOW</span><span class="p">,</span>
+</span><span id="Tokenizer-389"><a href="#Tokenizer-389"><span class="linenos">389</span></a> <span class="s2">&quot;WITH&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">WITH</span><span class="p">,</span>
+</span><span id="Tokenizer-390"><a href="#Tokenizer-390"><span class="linenos">390</span></a> <span class="s2">&quot;APPLY&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">APPLY</span><span class="p">,</span>
+</span><span id="Tokenizer-391"><a href="#Tokenizer-391"><span class="linenos">391</span></a> <span class="s2">&quot;ARRAY&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">ARRAY</span><span class="p">,</span>
+</span><span id="Tokenizer-392"><a href="#Tokenizer-392"><span class="linenos">392</span></a> <span class="s2">&quot;BIT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BIT</span><span class="p">,</span>
+</span><span id="Tokenizer-393"><a href="#Tokenizer-393"><span class="linenos">393</span></a> <span class="s2">&quot;BOOL&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BOOLEAN</span><span class="p">,</span>
+</span><span id="Tokenizer-394"><a href="#Tokenizer-394"><span class="linenos">394</span></a> <span class="s2">&quot;BOOLEAN&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BOOLEAN</span><span class="p">,</span>
+</span><span id="Tokenizer-395"><a href="#Tokenizer-395"><span class="linenos">395</span></a> <span class="s2">&quot;BYTE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TINYINT</span><span class="p">,</span>
+</span><span id="Tokenizer-396"><a href="#Tokenizer-396"><span class="linenos">396</span></a> <span class="s2">&quot;MEDIUMINT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">MEDIUMINT</span><span class="p">,</span>
+</span><span id="Tokenizer-397"><a href="#Tokenizer-397"><span class="linenos">397</span></a> <span class="s2">&quot;INT1&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TINYINT</span><span class="p">,</span>
+</span><span id="Tokenizer-398"><a href="#Tokenizer-398"><span class="linenos">398</span></a> <span class="s2">&quot;TINYINT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TINYINT</span><span class="p">,</span>
+</span><span id="Tokenizer-399"><a href="#Tokenizer-399"><span class="linenos">399</span></a> <span class="s2">&quot;INT16&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">SMALLINT</span><span class="p">,</span>
+</span><span id="Tokenizer-400"><a href="#Tokenizer-400"><span class="linenos">400</span></a> <span class="s2">&quot;SHORT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">SMALLINT</span><span class="p">,</span>
+</span><span id="Tokenizer-401"><a href="#Tokenizer-401"><span class="linenos">401</span></a> <span class="s2">&quot;SMALLINT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">SMALLINT</span><span class="p">,</span>
+</span><span id="Tokenizer-402"><a href="#Tokenizer-402"><span class="linenos">402</span></a> <span class="s2">&quot;INT128&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">INT128</span><span class="p">,</span>
+</span><span id="Tokenizer-403"><a href="#Tokenizer-403"><span class="linenos">403</span></a> <span class="s2">&quot;HUGEINT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">INT128</span><span class="p">,</span>
+</span><span id="Tokenizer-404"><a href="#Tokenizer-404"><span class="linenos">404</span></a> <span class="s2">&quot;INT2&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">SMALLINT</span><span class="p">,</span>
+</span><span id="Tokenizer-405"><a href="#Tokenizer-405"><span class="linenos">405</span></a> <span class="s2">&quot;INTEGER&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">INT</span><span class="p">,</span>
+</span><span id="Tokenizer-406"><a href="#Tokenizer-406"><span class="linenos">406</span></a> <span class="s2">&quot;INT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">INT</span><span class="p">,</span>
+</span><span id="Tokenizer-407"><a href="#Tokenizer-407"><span class="linenos">407</span></a> <span class="s2">&quot;INT4&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">INT</span><span class="p">,</span>
+</span><span id="Tokenizer-408"><a href="#Tokenizer-408"><span class="linenos">408</span></a> <span class="s2">&quot;INT32&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">INT</span><span class="p">,</span>
+</span><span id="Tokenizer-409"><a href="#Tokenizer-409"><span class="linenos">409</span></a> <span class="s2">&quot;INT64&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BIGINT</span><span class="p">,</span>
+</span><span id="Tokenizer-410"><a href="#Tokenizer-410"><span class="linenos">410</span></a> <span class="s2">&quot;LONG&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BIGINT</span><span class="p">,</span>
+</span><span id="Tokenizer-411"><a href="#Tokenizer-411"><span class="linenos">411</span></a> <span class="s2">&quot;BIGINT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BIGINT</span><span class="p">,</span>
+</span><span id="Tokenizer-412"><a href="#Tokenizer-412"><span class="linenos">412</span></a> <span class="s2">&quot;INT8&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TINYINT</span><span class="p">,</span>
+</span><span id="Tokenizer-413"><a href="#Tokenizer-413"><span class="linenos">413</span></a> <span class="s2">&quot;DEC&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DECIMAL</span><span class="p">,</span>
+</span><span id="Tokenizer-414"><a href="#Tokenizer-414"><span class="linenos">414</span></a> <span class="s2">&quot;DECIMAL&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DECIMAL</span><span class="p">,</span>
+</span><span id="Tokenizer-415"><a href="#Tokenizer-415"><span class="linenos">415</span></a> <span class="s2">&quot;BIGDECIMAL&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BIGDECIMAL</span><span class="p">,</span>
+</span><span id="Tokenizer-416"><a href="#Tokenizer-416"><span class="linenos">416</span></a> <span class="s2">&quot;BIGNUMERIC&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BIGDECIMAL</span><span class="p">,</span>
+</span><span id="Tokenizer-417"><a href="#Tokenizer-417"><span class="linenos">417</span></a> <span class="s2">&quot;MAP&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">MAP</span><span class="p">,</span>
+</span><span id="Tokenizer-418"><a href="#Tokenizer-418"><span class="linenos">418</span></a> <span class="s2">&quot;NULLABLE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">NULLABLE</span><span class="p">,</span>
+</span><span id="Tokenizer-419"><a href="#Tokenizer-419"><span class="linenos">419</span></a> <span class="s2">&quot;NUMBER&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DECIMAL</span><span class="p">,</span>
+</span><span id="Tokenizer-420"><a href="#Tokenizer-420"><span class="linenos">420</span></a> <span class="s2">&quot;NUMERIC&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DECIMAL</span><span class="p">,</span>
+</span><span id="Tokenizer-421"><a href="#Tokenizer-421"><span class="linenos">421</span></a> <span class="s2">&quot;FIXED&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DECIMAL</span><span class="p">,</span>
+</span><span id="Tokenizer-422"><a href="#Tokenizer-422"><span class="linenos">422</span></a> <span class="s2">&quot;REAL&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">FLOAT</span><span class="p">,</span>
+</span><span id="Tokenizer-423"><a href="#Tokenizer-423"><span class="linenos">423</span></a> <span class="s2">&quot;FLOAT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">FLOAT</span><span class="p">,</span>
+</span><span id="Tokenizer-424"><a href="#Tokenizer-424"><span class="linenos">424</span></a> <span class="s2">&quot;FLOAT4&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">FLOAT</span><span class="p">,</span>
+</span><span id="Tokenizer-425"><a href="#Tokenizer-425"><span class="linenos">425</span></a> <span class="s2">&quot;FLOAT8&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DOUBLE</span><span class="p">,</span>
+</span><span id="Tokenizer-426"><a href="#Tokenizer-426"><span class="linenos">426</span></a> <span class="s2">&quot;DOUBLE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DOUBLE</span><span class="p">,</span>
+</span><span id="Tokenizer-427"><a href="#Tokenizer-427"><span class="linenos">427</span></a> <span class="s2">&quot;DOUBLE PRECISION&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DOUBLE</span><span class="p">,</span>
+</span><span id="Tokenizer-428"><a href="#Tokenizer-428"><span class="linenos">428</span></a> <span class="s2">&quot;JSON&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">JSON</span><span class="p">,</span>
+</span><span id="Tokenizer-429"><a href="#Tokenizer-429"><span class="linenos">429</span></a> <span class="s2">&quot;CHAR&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">CHAR</span><span class="p">,</span>
+</span><span id="Tokenizer-430"><a href="#Tokenizer-430"><span class="linenos">430</span></a> <span class="s2">&quot;CHARACTER&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">CHAR</span><span class="p">,</span>
+</span><span id="Tokenizer-431"><a href="#Tokenizer-431"><span class="linenos">431</span></a> <span class="s2">&quot;NCHAR&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">NCHAR</span><span class="p">,</span>
+</span><span id="Tokenizer-432"><a href="#Tokenizer-432"><span class="linenos">432</span></a> <span class="s2">&quot;VARCHAR&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">VARCHAR</span><span class="p">,</span>
+</span><span id="Tokenizer-433"><a href="#Tokenizer-433"><span class="linenos">433</span></a> <span class="s2">&quot;VARCHAR2&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">VARCHAR</span><span class="p">,</span>
+</span><span id="Tokenizer-434"><a href="#Tokenizer-434"><span class="linenos">434</span></a> <span class="s2">&quot;NVARCHAR&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">NVARCHAR</span><span class="p">,</span>
+</span><span id="Tokenizer-435"><a href="#Tokenizer-435"><span class="linenos">435</span></a> <span class="s2">&quot;NVARCHAR2&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">NVARCHAR</span><span class="p">,</span>
+</span><span id="Tokenizer-436"><a href="#Tokenizer-436"><span class="linenos">436</span></a> <span class="s2">&quot;STR&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TEXT</span><span class="p">,</span>
+</span><span id="Tokenizer-437"><a href="#Tokenizer-437"><span class="linenos">437</span></a> <span class="s2">&quot;STRING&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TEXT</span><span class="p">,</span>
+</span><span id="Tokenizer-438"><a href="#Tokenizer-438"><span class="linenos">438</span></a> <span class="s2">&quot;TEXT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TEXT</span><span class="p">,</span>
+</span><span id="Tokenizer-439"><a href="#Tokenizer-439"><span class="linenos">439</span></a> <span class="s2">&quot;LONGTEXT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">LONGTEXT</span><span class="p">,</span>
+</span><span id="Tokenizer-440"><a href="#Tokenizer-440"><span class="linenos">440</span></a> <span class="s2">&quot;MEDIUMTEXT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">MEDIUMTEXT</span><span class="p">,</span>
+</span><span id="Tokenizer-441"><a href="#Tokenizer-441"><span class="linenos">441</span></a> <span class="s2">&quot;TINYTEXT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TINYTEXT</span><span class="p">,</span>
+</span><span id="Tokenizer-442"><a href="#Tokenizer-442"><span class="linenos">442</span></a> <span class="s2">&quot;CLOB&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TEXT</span><span class="p">,</span>
+</span><span id="Tokenizer-443"><a href="#Tokenizer-443"><span class="linenos">443</span></a> <span class="s2">&quot;LONGVARCHAR&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TEXT</span><span class="p">,</span>
+</span><span id="Tokenizer-444"><a href="#Tokenizer-444"><span class="linenos">444</span></a> <span class="s2">&quot;BINARY&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BINARY</span><span class="p">,</span>
+</span><span id="Tokenizer-445"><a href="#Tokenizer-445"><span class="linenos">445</span></a> <span class="s2">&quot;BLOB&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">VARBINARY</span><span class="p">,</span>
+</span><span id="Tokenizer-446"><a href="#Tokenizer-446"><span class="linenos">446</span></a> <span class="s2">&quot;LONGBLOB&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">LONGBLOB</span><span class="p">,</span>
+</span><span id="Tokenizer-447"><a href="#Tokenizer-447"><span class="linenos">447</span></a> <span class="s2">&quot;MEDIUMBLOB&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">MEDIUMBLOB</span><span class="p">,</span>
+</span><span id="Tokenizer-448"><a href="#Tokenizer-448"><span class="linenos">448</span></a> <span class="s2">&quot;TINYBLOB&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TINYBLOB</span><span class="p">,</span>
+</span><span id="Tokenizer-449"><a href="#Tokenizer-449"><span class="linenos">449</span></a> <span class="s2">&quot;BYTEA&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">VARBINARY</span><span class="p">,</span>
+</span><span id="Tokenizer-450"><a href="#Tokenizer-450"><span class="linenos">450</span></a> <span class="s2">&quot;VARBINARY&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">VARBINARY</span><span class="p">,</span>
+</span><span id="Tokenizer-451"><a href="#Tokenizer-451"><span class="linenos">451</span></a> <span class="s2">&quot;TIME&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TIME</span><span class="p">,</span>
+</span><span id="Tokenizer-452"><a href="#Tokenizer-452"><span class="linenos">452</span></a> <span class="s2">&quot;TIMETZ&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TIMETZ</span><span class="p">,</span>
+</span><span id="Tokenizer-453"><a href="#Tokenizer-453"><span class="linenos">453</span></a> <span class="s2">&quot;TIMESTAMP&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TIMESTAMP</span><span class="p">,</span>
+</span><span id="Tokenizer-454"><a href="#Tokenizer-454"><span class="linenos">454</span></a> <span class="s2">&quot;TIMESTAMPTZ&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TIMESTAMPTZ</span><span class="p">,</span>
+</span><span id="Tokenizer-455"><a href="#Tokenizer-455"><span class="linenos">455</span></a> <span class="s2">&quot;TIMESTAMPLTZ&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TIMESTAMPLTZ</span><span class="p">,</span>
+</span><span id="Tokenizer-456"><a href="#Tokenizer-456"><span class="linenos">456</span></a> <span class="s2">&quot;DATE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DATE</span><span class="p">,</span>
+</span><span id="Tokenizer-457"><a href="#Tokenizer-457"><span class="linenos">457</span></a> <span class="s2">&quot;DATETIME&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DATETIME</span><span class="p">,</span>
+</span><span id="Tokenizer-458"><a href="#Tokenizer-458"><span class="linenos">458</span></a> <span class="s2">&quot;INT4RANGE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">INT4RANGE</span><span class="p">,</span>
+</span><span id="Tokenizer-459"><a href="#Tokenizer-459"><span class="linenos">459</span></a> <span class="s2">&quot;INT4MULTIRANGE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">INT4MULTIRANGE</span><span class="p">,</span>
+</span><span id="Tokenizer-460"><a href="#Tokenizer-460"><span class="linenos">460</span></a> <span class="s2">&quot;INT8RANGE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">INT8RANGE</span><span class="p">,</span>
+</span><span id="Tokenizer-461"><a href="#Tokenizer-461"><span class="linenos">461</span></a> <span class="s2">&quot;INT8MULTIRANGE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">INT8MULTIRANGE</span><span class="p">,</span>
+</span><span id="Tokenizer-462"><a href="#Tokenizer-462"><span class="linenos">462</span></a> <span class="s2">&quot;NUMRANGE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">NUMRANGE</span><span class="p">,</span>
+</span><span id="Tokenizer-463"><a href="#Tokenizer-463"><span class="linenos">463</span></a> <span class="s2">&quot;NUMMULTIRANGE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">NUMMULTIRANGE</span><span class="p">,</span>
+</span><span id="Tokenizer-464"><a href="#Tokenizer-464"><span class="linenos">464</span></a> <span class="s2">&quot;TSRANGE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TSRANGE</span><span class="p">,</span>
+</span><span id="Tokenizer-465"><a href="#Tokenizer-465"><span class="linenos">465</span></a> <span class="s2">&quot;TSMULTIRANGE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TSMULTIRANGE</span><span class="p">,</span>
+</span><span id="Tokenizer-466"><a href="#Tokenizer-466"><span class="linenos">466</span></a> <span class="s2">&quot;TSTZRANGE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TSTZRANGE</span><span class="p">,</span>
+</span><span id="Tokenizer-467"><a href="#Tokenizer-467"><span class="linenos">467</span></a> <span class="s2">&quot;TSTZMULTIRANGE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TSTZMULTIRANGE</span><span class="p">,</span>
+</span><span id="Tokenizer-468"><a href="#Tokenizer-468"><span class="linenos">468</span></a> <span class="s2">&quot;DATERANGE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DATERANGE</span><span class="p">,</span>
+</span><span id="Tokenizer-469"><a href="#Tokenizer-469"><span class="linenos">469</span></a> <span class="s2">&quot;DATEMULTIRANGE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DATEMULTIRANGE</span><span class="p">,</span>
+</span><span id="Tokenizer-470"><a href="#Tokenizer-470"><span class="linenos">470</span></a> <span class="s2">&quot;UNIQUE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">UNIQUE</span><span class="p">,</span>
+</span><span id="Tokenizer-471"><a href="#Tokenizer-471"><span class="linenos">471</span></a> <span class="s2">&quot;STRUCT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">STRUCT</span><span class="p">,</span>
+</span><span id="Tokenizer-472"><a href="#Tokenizer-472"><span class="linenos">472</span></a> <span class="s2">&quot;VARIANT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">VARIANT</span><span class="p">,</span>
+</span><span id="Tokenizer-473"><a href="#Tokenizer-473"><span class="linenos">473</span></a> <span class="s2">&quot;ALTER&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">ALTER</span><span class="p">,</span>
+</span><span id="Tokenizer-474"><a href="#Tokenizer-474"><span class="linenos">474</span></a> <span class="s2">&quot;ANALYZE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMAND</span><span class="p">,</span>
+</span><span id="Tokenizer-475"><a href="#Tokenizer-475"><span class="linenos">475</span></a> <span class="s2">&quot;CALL&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMAND</span><span class="p">,</span>
+</span><span id="Tokenizer-476"><a href="#Tokenizer-476"><span class="linenos">476</span></a> <span class="s2">&quot;COMMENT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMENT</span><span class="p">,</span>
+</span><span id="Tokenizer-477"><a href="#Tokenizer-477"><span class="linenos">477</span></a> <span class="s2">&quot;COPY&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMAND</span><span class="p">,</span>
+</span><span id="Tokenizer-478"><a href="#Tokenizer-478"><span class="linenos">478</span></a> <span class="s2">&quot;EXPLAIN&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMAND</span><span class="p">,</span>
+</span><span id="Tokenizer-479"><a href="#Tokenizer-479"><span class="linenos">479</span></a> <span class="s2">&quot;GRANT&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMAND</span><span class="p">,</span>
+</span><span id="Tokenizer-480"><a href="#Tokenizer-480"><span class="linenos">480</span></a> <span class="s2">&quot;OPTIMIZE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMAND</span><span class="p">,</span>
+</span><span id="Tokenizer-481"><a href="#Tokenizer-481"><span class="linenos">481</span></a> <span class="s2">&quot;PREPARE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMAND</span><span class="p">,</span>
+</span><span id="Tokenizer-482"><a href="#Tokenizer-482"><span class="linenos">482</span></a> <span class="s2">&quot;TRUNCATE&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMAND</span><span class="p">,</span>
+</span><span id="Tokenizer-483"><a href="#Tokenizer-483"><span class="linenos">483</span></a> <span class="s2">&quot;VACUUM&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMAND</span><span class="p">,</span>
+</span><span id="Tokenizer-484"><a href="#Tokenizer-484"><span class="linenos">484</span></a> <span class="s2">&quot;USER-DEFINED&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">USERDEFINED</span><span class="p">,</span>
+</span><span id="Tokenizer-485"><a href="#Tokenizer-485"><span class="linenos">485</span></a> <span class="s2">&quot;FOR VERSION&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">VERSION_SNAPSHOT</span><span class="p">,</span>
+</span><span id="Tokenizer-486"><a href="#Tokenizer-486"><span class="linenos">486</span></a> <span class="s2">&quot;FOR TIMESTAMP&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TIMESTAMP_SNAPSHOT</span><span class="p">,</span>
+</span><span id="Tokenizer-487"><a href="#Tokenizer-487"><span class="linenos">487</span></a> <span class="p">}</span>
+</span><span id="Tokenizer-488"><a href="#Tokenizer-488"><span class="linenos">488</span></a>
+</span><span id="Tokenizer-489"><a href="#Tokenizer-489"><span class="linenos">489</span></a> <span class="n">WHITE_SPACE</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">[</span><span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">],</span> <span class="n">TokenType</span><span class="p">]</span> <span class="o">=</span> <span class="p">{</span>
+</span><span id="Tokenizer-490"><a href="#Tokenizer-490"><span class="linenos">490</span></a> <span class="s2">&quot; &quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">SPACE</span><span class="p">,</span>
+</span><span id="Tokenizer-491"><a href="#Tokenizer-491"><span class="linenos">491</span></a> <span class="s2">&quot;</span><span class="se">\t</span><span class="s2">&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">SPACE</span><span class="p">,</span>
+</span><span id="Tokenizer-492"><a href="#Tokenizer-492"><span class="linenos">492</span></a> <span class="s2">&quot;</span><span class="se">\n</span><span class="s2">&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BREAK</span><span class="p">,</span>
+</span><span id="Tokenizer-493"><a href="#Tokenizer-493"><span class="linenos">493</span></a> <span class="s2">&quot;</span><span class="se">\r</span><span class="s2">&quot;</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BREAK</span><span class="p">,</span>
+</span><span id="Tokenizer-494"><a href="#Tokenizer-494"><span class="linenos">494</span></a> <span class="p">}</span>
+</span><span id="Tokenizer-495"><a href="#Tokenizer-495"><span class="linenos">495</span></a>
+</span><span id="Tokenizer-496"><a href="#Tokenizer-496"><span class="linenos">496</span></a> <span class="n">COMMANDS</span> <span class="o">=</span> <span class="p">{</span>
+</span><span id="Tokenizer-497"><a href="#Tokenizer-497"><span class="linenos">497</span></a> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMAND</span><span class="p">,</span>
+</span><span id="Tokenizer-498"><a href="#Tokenizer-498"><span class="linenos">498</span></a> <span class="n">TokenType</span><span class="o">.</span><span class="n">EXECUTE</span><span class="p">,</span>
+</span><span id="Tokenizer-499"><a href="#Tokenizer-499"><span class="linenos">499</span></a> <span class="n">TokenType</span><span class="o">.</span><span class="n">FETCH</span><span class="p">,</span>
+</span><span id="Tokenizer-500"><a href="#Tokenizer-500"><span class="linenos">500</span></a> <span class="n">TokenType</span><span class="o">.</span><span class="n">SHOW</span><span class="p">,</span>
+</span><span id="Tokenizer-501"><a href="#Tokenizer-501"><span class="linenos">501</span></a> <span class="p">}</span>
+</span><span id="Tokenizer-502"><a href="#Tokenizer-502"><span class="linenos">502</span></a>
+</span><span id="Tokenizer-503"><a href="#Tokenizer-503"><span class="linenos">503</span></a> <span class="n">COMMAND_PREFIX_TOKENS</span> <span class="o">=</span> <span class="p">{</span><span class="n">TokenType</span><span class="o">.</span><span class="n">SEMICOLON</span><span class="p">,</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BEGIN</span><span class="p">}</span>
+</span><span id="Tokenizer-504"><a href="#Tokenizer-504"><span class="linenos">504</span></a>
+</span><span id="Tokenizer-505"><a href="#Tokenizer-505"><span class="linenos">505</span></a> <span class="c1"># handle numeric literals like in hive (3L = BIGINT)</span>
+</span><span id="Tokenizer-506"><a href="#Tokenizer-506"><span class="linenos">506</span></a> <span class="n">NUMERIC_LITERALS</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="p">{}</span>
+</span><span id="Tokenizer-507"><a href="#Tokenizer-507"><span class="linenos">507</span></a>
+</span><span id="Tokenizer-508"><a href="#Tokenizer-508"><span class="linenos">508</span></a> <span class="n">COMMENTS</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;--&quot;</span><span class="p">,</span> <span class="p">(</span><span class="s2">&quot;/*&quot;</span><span class="p">,</span> <span class="s2">&quot;*/&quot;</span><span class="p">)]</span>
+</span><span id="Tokenizer-509"><a href="#Tokenizer-509"><span class="linenos">509</span></a>
+</span><span id="Tokenizer-510"><a href="#Tokenizer-510"><span class="linenos">510</span></a> <span class="vm">__slots__</span> <span class="o">=</span> <span class="p">(</span>
+</span><span id="Tokenizer-511"><a href="#Tokenizer-511"><span class="linenos">511</span></a> <span class="s2">&quot;sql&quot;</span><span class="p">,</span>
+</span><span id="Tokenizer-512"><a href="#Tokenizer-512"><span class="linenos">512</span></a> <span class="s2">&quot;size&quot;</span><span class="p">,</span>
+</span><span id="Tokenizer-513"><a href="#Tokenizer-513"><span class="linenos">513</span></a> <span class="s2">&quot;tokens&quot;</span><span class="p">,</span>
+</span><span id="Tokenizer-514"><a href="#Tokenizer-514"><span class="linenos">514</span></a> <span class="s2">&quot;dialect&quot;</span><span class="p">,</span>
+</span><span id="Tokenizer-515"><a href="#Tokenizer-515"><span class="linenos">515</span></a> <span class="s2">&quot;_start&quot;</span><span class="p">,</span>
+</span><span id="Tokenizer-516"><a href="#Tokenizer-516"><span class="linenos">516</span></a> <span class="s2">&quot;_current&quot;</span><span class="p">,</span>
+</span><span id="Tokenizer-517"><a href="#Tokenizer-517"><span class="linenos">517</span></a> <span class="s2">&quot;_line&quot;</span><span class="p">,</span>
+</span><span id="Tokenizer-518"><a href="#Tokenizer-518"><span class="linenos">518</span></a> <span class="s2">&quot;_col&quot;</span><span class="p">,</span>
+</span><span id="Tokenizer-519"><a href="#Tokenizer-519"><span class="linenos">519</span></a> <span class="s2">&quot;_comments&quot;</span><span class="p">,</span>
+</span><span id="Tokenizer-520"><a href="#Tokenizer-520"><span class="linenos">520</span></a> <span class="s2">&quot;_char&quot;</span><span class="p">,</span>
+</span><span id="Tokenizer-521"><a href="#Tokenizer-521"><span class="linenos">521</span></a> <span class="s2">&quot;_end&quot;</span><span class="p">,</span>
+</span><span id="Tokenizer-522"><a href="#Tokenizer-522"><span class="linenos">522</span></a> <span class="s2">&quot;_peek&quot;</span><span class="p">,</span>
+</span><span id="Tokenizer-523"><a href="#Tokenizer-523"><span class="linenos">523</span></a> <span class="s2">&quot;_prev_token_line&quot;</span><span class="p">,</span>
+</span><span id="Tokenizer-524"><a href="#Tokenizer-524"><span class="linenos">524</span></a> <span class="s2">&quot;_rs_dialect_settings&quot;</span><span class="p">,</span>
+</span><span id="Tokenizer-525"><a href="#Tokenizer-525"><span class="linenos">525</span></a> <span class="p">)</span>
+</span><span id="Tokenizer-526"><a href="#Tokenizer-526"><span class="linenos">526</span></a>
+</span><span id="Tokenizer-527"><a href="#Tokenizer-527"><span class="linenos">527</span></a> <span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">dialect</span><span class="p">:</span> <span class="n">DialectType</span> <span class="o">=</span> <span class="kc">None</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
+</span><span id="Tokenizer-528"><a href="#Tokenizer-528"><span class="linenos">528</span></a> <span class="kn">from</span> <span class="nn">sqlglot.dialects</span> <span class="kn">import</span> <span class="n">Dialect</span>
+</span><span id="Tokenizer-529"><a href="#Tokenizer-529"><span class="linenos">529</span></a>
+</span><span id="Tokenizer-530"><a href="#Tokenizer-530"><span class="linenos">530</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">dialect</span> <span class="o">=</span> <span class="n">Dialect</span><span class="o">.</span><span class="n">get_or_raise</span><span class="p">(</span><span class="n">dialect</span><span class="p">)</span>
+</span><span id="Tokenizer-531"><a href="#Tokenizer-531"><span class="linenos">531</span></a>
+</span><span id="Tokenizer-532"><a href="#Tokenizer-532"><span class="linenos">532</span></a> <span class="k">if</span> <span class="n">USE_RS_TOKENIZER</span><span class="p">:</span>
+</span><span id="Tokenizer-533"><a href="#Tokenizer-533"><span class="linenos">533</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_rs_dialect_settings</span> <span class="o">=</span> <span class="n">RsTokenizerDialectSettings</span><span class="p">(</span>
+</span><span id="Tokenizer-534"><a href="#Tokenizer-534"><span class="linenos">534</span></a> <span class="n">escape_sequences</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">dialect</span><span class="o">.</span><span class="n">ESCAPE_SEQUENCES</span><span class="p">,</span>
+</span><span id="Tokenizer-535"><a href="#Tokenizer-535"><span class="linenos">535</span></a> <span class="n">identifiers_can_start_with_digit</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">dialect</span><span class="o">.</span><span class="n">IDENTIFIERS_CAN_START_WITH_DIGIT</span><span class="p">,</span>
+</span><span id="Tokenizer-536"><a href="#Tokenizer-536"><span class="linenos">536</span></a> <span class="p">)</span>
+</span><span id="Tokenizer-537"><a href="#Tokenizer-537"><span class="linenos">537</span></a>
+</span><span id="Tokenizer-538"><a href="#Tokenizer-538"><span class="linenos">538</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">reset</span><span class="p">()</span>
+</span><span id="Tokenizer-539"><a href="#Tokenizer-539"><span class="linenos">539</span></a>
+</span><span id="Tokenizer-540"><a href="#Tokenizer-540"><span class="linenos">540</span></a> <span class="k">def</span> <span class="nf">reset</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
+</span><span id="Tokenizer-541"><a href="#Tokenizer-541"><span class="linenos">541</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">sql</span> <span class="o">=</span> <span class="s2">&quot;&quot;</span>
+</span><span id="Tokenizer-542"><a href="#Tokenizer-542"><span class="linenos">542</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">size</span> <span class="o">=</span> <span class="mi">0</span>
+</span><span id="Tokenizer-543"><a href="#Tokenizer-543"><span class="linenos">543</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">tokens</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">List</span><span class="p">[</span><span class="n">Token</span><span class="p">]</span> <span class="o">=</span> <span class="p">[]</span>
+</span><span id="Tokenizer-544"><a href="#Tokenizer-544"><span class="linenos">544</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_start</span> <span class="o">=</span> <span class="mi">0</span>
+</span><span id="Tokenizer-545"><a href="#Tokenizer-545"><span class="linenos">545</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_current</span> <span class="o">=</span> <span class="mi">0</span>
+</span><span id="Tokenizer-546"><a href="#Tokenizer-546"><span class="linenos">546</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_line</span> <span class="o">=</span> <span class="mi">1</span>
+</span><span id="Tokenizer-547"><a href="#Tokenizer-547"><span class="linenos">547</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_col</span> <span class="o">=</span> <span class="mi">0</span>
+</span><span id="Tokenizer-548"><a href="#Tokenizer-548"><span class="linenos">548</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_comments</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">List</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="p">[]</span>
+</span><span id="Tokenizer-549"><a href="#Tokenizer-549"><span class="linenos">549</span></a>
+</span><span id="Tokenizer-550"><a href="#Tokenizer-550"><span class="linenos">550</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_char</span> <span class="o">=</span> <span class="s2">&quot;&quot;</span>
+</span><span id="Tokenizer-551"><a href="#Tokenizer-551"><span class="linenos">551</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_end</span> <span class="o">=</span> <span class="kc">False</span>
+</span><span id="Tokenizer-552"><a href="#Tokenizer-552"><span class="linenos">552</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span> <span class="o">=</span> <span class="s2">&quot;&quot;</span>
+</span><span id="Tokenizer-553"><a href="#Tokenizer-553"><span class="linenos">553</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_prev_token_line</span> <span class="o">=</span> <span class="o">-</span><span class="mi">1</span>
+</span><span id="Tokenizer-554"><a href="#Tokenizer-554"><span class="linenos">554</span></a>
+</span><span id="Tokenizer-555"><a href="#Tokenizer-555"><span class="linenos">555</span></a> <span class="k">def</span> <span class="nf">tokenize</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">sql</span><span class="p">:</span> <span class="nb">str</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">t</span><span class="o">.</span><span class="n">List</span><span class="p">[</span><span class="n">Token</span><span class="p">]:</span>
+</span><span id="Tokenizer-556"><a href="#Tokenizer-556"><span class="linenos">556</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Returns a list of tokens corresponding to the SQL string `sql`.&quot;&quot;&quot;</span>
+</span><span id="Tokenizer-557"><a href="#Tokenizer-557"><span class="linenos">557</span></a> <span class="k">if</span> <span class="n">USE_RS_TOKENIZER</span><span class="p">:</span>
+</span><span id="Tokenizer-558"><a href="#Tokenizer-558"><span class="linenos">558</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">tokenize_rs</span><span class="p">(</span><span class="n">sql</span><span class="p">)</span>
+</span><span id="Tokenizer-559"><a href="#Tokenizer-559"><span class="linenos">559</span></a>
+</span><span id="Tokenizer-560"><a href="#Tokenizer-560"><span class="linenos">560</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">reset</span><span class="p">()</span>
+</span><span id="Tokenizer-561"><a href="#Tokenizer-561"><span class="linenos">561</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">sql</span> <span class="o">=</span> <span class="n">sql</span>
+</span><span id="Tokenizer-562"><a href="#Tokenizer-562"><span class="linenos">562</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">size</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">sql</span><span class="p">)</span>
+</span><span id="Tokenizer-563"><a href="#Tokenizer-563"><span class="linenos">563</span></a>
+</span><span id="Tokenizer-564"><a href="#Tokenizer-564"><span class="linenos">564</span></a> <span class="k">try</span><span class="p">:</span>
+</span><span id="Tokenizer-565"><a href="#Tokenizer-565"><span class="linenos">565</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_scan</span><span class="p">()</span>
+</span><span id="Tokenizer-566"><a href="#Tokenizer-566"><span class="linenos">566</span></a> <span class="k">except</span> <span class="ne">Exception</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
+</span><span id="Tokenizer-567"><a href="#Tokenizer-567"><span class="linenos">567</span></a> <span class="n">start</span> <span class="o">=</span> <span class="nb">max</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_current</span> <span class="o">-</span> <span class="mi">50</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span>
+</span><span id="Tokenizer-568"><a href="#Tokenizer-568"><span class="linenos">568</span></a> <span class="n">end</span> <span class="o">=</span> <span class="nb">min</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_current</span> <span class="o">+</span> <span class="mi">50</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">size</span> <span class="o">-</span> <span class="mi">1</span><span class="p">)</span>
+</span><span id="Tokenizer-569"><a href="#Tokenizer-569"><span class="linenos">569</span></a> <span class="n">context</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">sql</span><span class="p">[</span><span class="n">start</span><span class="p">:</span><span class="n">end</span><span class="p">]</span>
+</span><span id="Tokenizer-570"><a href="#Tokenizer-570"><span class="linenos">570</span></a> <span class="k">raise</span> <span class="n">TokenError</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;Error tokenizing &#39;</span><span class="si">{</span><span class="n">context</span><span class="si">}</span><span class="s2">&#39;&quot;</span><span class="p">)</span> <span class="kn">from</span> <span class="nn">e</span>
+</span><span id="Tokenizer-571"><a href="#Tokenizer-571"><span class="linenos">571</span></a>
+</span><span id="Tokenizer-572"><a href="#Tokenizer-572"><span class="linenos">572</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">tokens</span>
+</span><span id="Tokenizer-573"><a href="#Tokenizer-573"><span class="linenos">573</span></a>
+</span><span id="Tokenizer-574"><a href="#Tokenizer-574"><span class="linenos">574</span></a> <span class="k">def</span> <span class="nf">_scan</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">until</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="n">t</span><span class="o">.</span><span class="n">Callable</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
+</span><span id="Tokenizer-575"><a href="#Tokenizer-575"><span class="linenos">575</span></a> <span class="k">while</span> <span class="bp">self</span><span class="o">.</span><span class="n">size</span> <span class="ow">and</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">_end</span><span class="p">:</span>
+</span><span id="Tokenizer-576"><a href="#Tokenizer-576"><span class="linenos">576</span></a> <span class="n">current</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_current</span>
+</span><span id="Tokenizer-577"><a href="#Tokenizer-577"><span class="linenos">577</span></a>
+</span><span id="Tokenizer-578"><a href="#Tokenizer-578"><span class="linenos">578</span></a> <span class="c1"># skip spaces inline rather than iteratively call advance()</span>
+</span><span id="Tokenizer-579"><a href="#Tokenizer-579"><span class="linenos">579</span></a> <span class="c1"># for performance reasons</span>
+</span><span id="Tokenizer-580"><a href="#Tokenizer-580"><span class="linenos">580</span></a> <span class="k">while</span> <span class="n">current</span> <span class="o">&lt;</span> <span class="bp">self</span><span class="o">.</span><span class="n">size</span><span class="p">:</span>
+</span><span id="Tokenizer-581"><a href="#Tokenizer-581"><span class="linenos">581</span></a> <span class="n">char</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">sql</span><span class="p">[</span><span class="n">current</span><span class="p">]</span>
+</span><span id="Tokenizer-582"><a href="#Tokenizer-582"><span class="linenos">582</span></a>
+</span><span id="Tokenizer-583"><a href="#Tokenizer-583"><span class="linenos">583</span></a> <span class="k">if</span> <span class="n">char</span><span class="o">.</span><span class="n">isspace</span><span class="p">()</span> <span class="ow">and</span> <span class="p">(</span><span class="n">char</span> <span class="o">==</span> <span class="s2">&quot; &quot;</span> <span class="ow">or</span> <span class="n">char</span> <span class="o">==</span> <span class="s2">&quot;</span><span class="se">\t</span><span class="s2">&quot;</span><span class="p">):</span>
+</span><span id="Tokenizer-584"><a href="#Tokenizer-584"><span class="linenos">584</span></a> <span class="n">current</span> <span class="o">+=</span> <span class="mi">1</span>
+</span><span id="Tokenizer-585"><a href="#Tokenizer-585"><span class="linenos">585</span></a> <span class="k">else</span><span class="p">:</span>
+</span><span id="Tokenizer-586"><a href="#Tokenizer-586"><span class="linenos">586</span></a> <span class="k">break</span>
+</span><span id="Tokenizer-587"><a href="#Tokenizer-587"><span class="linenos">587</span></a>
+</span><span id="Tokenizer-588"><a href="#Tokenizer-588"><span class="linenos">588</span></a> <span class="n">n</span> <span class="o">=</span> <span class="n">current</span> <span class="o">-</span> <span class="bp">self</span><span class="o">.</span><span class="n">_current</span>
+</span><span id="Tokenizer-589"><a href="#Tokenizer-589"><span class="linenos">589</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_start</span> <span class="o">=</span> <span class="n">current</span>
+</span><span id="Tokenizer-590"><a href="#Tokenizer-590"><span class="linenos">590</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">(</span><span class="n">n</span> <span class="k">if</span> <span class="n">n</span> <span class="o">&gt;</span> <span class="mi">1</span> <span class="k">else</span> <span class="mi">1</span><span class="p">)</span>
+</span><span id="Tokenizer-591"><a href="#Tokenizer-591"><span class="linenos">591</span></a>
+</span><span id="Tokenizer-592"><a href="#Tokenizer-592"><span class="linenos">592</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_char</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+</span><span id="Tokenizer-593"><a href="#Tokenizer-593"><span class="linenos">593</span></a> <span class="k">break</span>
+</span><span id="Tokenizer-594"><a href="#Tokenizer-594"><span class="linenos">594</span></a>
+</span><span id="Tokenizer-595"><a href="#Tokenizer-595"><span class="linenos">595</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">_char</span><span class="o">.</span><span class="n">isspace</span><span class="p">():</span>
+</span><span id="Tokenizer-596"><a href="#Tokenizer-596"><span class="linenos">596</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_char</span><span class="o">.</span><span class="n">isdigit</span><span class="p">():</span>
+</span><span id="Tokenizer-597"><a href="#Tokenizer-597"><span class="linenos">597</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_scan_number</span><span class="p">()</span>
+</span><span id="Tokenizer-598"><a href="#Tokenizer-598"><span class="linenos">598</span></a> <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">_char</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">_IDENTIFIERS</span><span class="p">:</span>
+</span><span id="Tokenizer-599"><a href="#Tokenizer-599"><span class="linenos">599</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_scan_identifier</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_IDENTIFIERS</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">_char</span><span class="p">])</span>
+</span><span id="Tokenizer-600"><a href="#Tokenizer-600"><span class="linenos">600</span></a> <span class="k">else</span><span class="p">:</span>
+</span><span id="Tokenizer-601"><a href="#Tokenizer-601"><span class="linenos">601</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_scan_keywords</span><span class="p">()</span>
+</span><span id="Tokenizer-602"><a href="#Tokenizer-602"><span class="linenos">602</span></a>
+</span><span id="Tokenizer-603"><a href="#Tokenizer-603"><span class="linenos">603</span></a> <span class="k">if</span> <span class="n">until</span> <span class="ow">and</span> <span class="n">until</span><span class="p">():</span>
+</span><span id="Tokenizer-604"><a href="#Tokenizer-604"><span class="linenos">604</span></a> <span class="k">break</span>
+</span><span id="Tokenizer-605"><a href="#Tokenizer-605"><span class="linenos">605</span></a>
+</span><span id="Tokenizer-606"><a href="#Tokenizer-606"><span class="linenos">606</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">tokens</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">_comments</span><span class="p">:</span>
+</span><span id="Tokenizer-607"><a href="#Tokenizer-607"><span class="linenos">607</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">tokens</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">comments</span><span class="o">.</span><span class="n">extend</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_comments</span><span class="p">)</span>
+</span><span id="Tokenizer-608"><a href="#Tokenizer-608"><span class="linenos">608</span></a>
+</span><span id="Tokenizer-609"><a href="#Tokenizer-609"><span class="linenos">609</span></a> <span class="k">def</span> <span class="nf">_chars</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">size</span><span class="p">:</span> <span class="nb">int</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
+</span><span id="Tokenizer-610"><a href="#Tokenizer-610"><span class="linenos">610</span></a> <span class="k">if</span> <span class="n">size</span> <span class="o">==</span> <span class="mi">1</span><span class="p">:</span>
+</span><span id="Tokenizer-611"><a href="#Tokenizer-611"><span class="linenos">611</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_char</span>
+</span><span id="Tokenizer-612"><a href="#Tokenizer-612"><span class="linenos">612</span></a>
+</span><span id="Tokenizer-613"><a href="#Tokenizer-613"><span class="linenos">613</span></a> <span class="n">start</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_current</span> <span class="o">-</span> <span class="mi">1</span>
+</span><span id="Tokenizer-614"><a href="#Tokenizer-614"><span class="linenos">614</span></a> <span class="n">end</span> <span class="o">=</span> <span class="n">start</span> <span class="o">+</span> <span class="n">size</span>
+</span><span id="Tokenizer-615"><a href="#Tokenizer-615"><span class="linenos">615</span></a>
+</span><span id="Tokenizer-616"><a href="#Tokenizer-616"><span class="linenos">616</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">sql</span><span class="p">[</span><span class="n">start</span><span class="p">:</span><span class="n">end</span><span class="p">]</span> <span class="k">if</span> <span class="n">end</span> <span class="o">&lt;=</span> <span class="bp">self</span><span class="o">.</span><span class="n">size</span> <span class="k">else</span> <span class="s2">&quot;&quot;</span>
+</span><span id="Tokenizer-617"><a href="#Tokenizer-617"><span class="linenos">617</span></a>
+</span><span id="Tokenizer-618"><a href="#Tokenizer-618"><span class="linenos">618</span></a> <span class="k">def</span> <span class="nf">_advance</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">i</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">1</span><span class="p">,</span> <span class="n">alnum</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">False</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
+</span><span id="Tokenizer-619"><a href="#Tokenizer-619"><span class="linenos">619</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">WHITE_SPACE</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_char</span><span class="p">)</span> <span class="ow">is</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BREAK</span><span class="p">:</span>
+</span><span id="Tokenizer-620"><a href="#Tokenizer-620"><span class="linenos">620</span></a> <span class="c1"># Ensures we don&#39;t count an extra line if we get a \r\n line break sequence</span>
+</span><span id="Tokenizer-621"><a href="#Tokenizer-621"><span class="linenos">621</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_char</span> <span class="o">==</span> <span class="s2">&quot;</span><span class="se">\r</span><span class="s2">&quot;</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span> <span class="o">==</span> <span class="s2">&quot;</span><span class="se">\n</span><span class="s2">&quot;</span><span class="p">:</span>
+</span><span id="Tokenizer-622"><a href="#Tokenizer-622"><span class="linenos">622</span></a> <span class="n">i</span> <span class="o">=</span> <span class="mi">2</span>
+</span><span id="Tokenizer-623"><a href="#Tokenizer-623"><span class="linenos">623</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_start</span> <span class="o">+=</span> <span class="mi">1</span>
+</span><span id="Tokenizer-624"><a href="#Tokenizer-624"><span class="linenos">624</span></a>
+</span><span id="Tokenizer-625"><a href="#Tokenizer-625"><span class="linenos">625</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_col</span> <span class="o">=</span> <span class="mi">1</span>
+</span><span id="Tokenizer-626"><a href="#Tokenizer-626"><span class="linenos">626</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_line</span> <span class="o">+=</span> <span class="mi">1</span>
+</span><span id="Tokenizer-627"><a href="#Tokenizer-627"><span class="linenos">627</span></a> <span class="k">else</span><span class="p">:</span>
+</span><span id="Tokenizer-628"><a href="#Tokenizer-628"><span class="linenos">628</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_col</span> <span class="o">+=</span> <span class="n">i</span>
+</span><span id="Tokenizer-629"><a href="#Tokenizer-629"><span class="linenos">629</span></a>
+</span><span id="Tokenizer-630"><a href="#Tokenizer-630"><span class="linenos">630</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_current</span> <span class="o">+=</span> <span class="n">i</span>
+</span><span id="Tokenizer-631"><a href="#Tokenizer-631"><span class="linenos">631</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_end</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_current</span> <span class="o">&gt;=</span> <span class="bp">self</span><span class="o">.</span><span class="n">size</span>
+</span><span id="Tokenizer-632"><a href="#Tokenizer-632"><span class="linenos">632</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_char</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">sql</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">_current</span> <span class="o">-</span> <span class="mi">1</span><span class="p">]</span>
+</span><span id="Tokenizer-633"><a href="#Tokenizer-633"><span class="linenos">633</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span> <span class="o">=</span> <span class="s2">&quot;&quot;</span> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_end</span> <span class="k">else</span> <span class="bp">self</span><span class="o">.</span><span class="n">sql</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">_current</span><span class="p">]</span>
+</span><span id="Tokenizer-634"><a href="#Tokenizer-634"><span class="linenos">634</span></a>
+</span><span id="Tokenizer-635"><a href="#Tokenizer-635"><span class="linenos">635</span></a> <span class="k">if</span> <span class="n">alnum</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">_char</span><span class="o">.</span><span class="n">isalnum</span><span class="p">():</span>
+</span><span id="Tokenizer-636"><a href="#Tokenizer-636"><span class="linenos">636</span></a> <span class="c1"># Here we use local variables instead of attributes for better performance</span>
+</span><span id="Tokenizer-637"><a href="#Tokenizer-637"><span class="linenos">637</span></a> <span class="n">_col</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_col</span>
+</span><span id="Tokenizer-638"><a href="#Tokenizer-638"><span class="linenos">638</span></a> <span class="n">_current</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_current</span>
+</span><span id="Tokenizer-639"><a href="#Tokenizer-639"><span class="linenos">639</span></a> <span class="n">_end</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_end</span>
+</span><span id="Tokenizer-640"><a href="#Tokenizer-640"><span class="linenos">640</span></a> <span class="n">_peek</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span>
+</span><span id="Tokenizer-641"><a href="#Tokenizer-641"><span class="linenos">641</span></a>
+</span><span id="Tokenizer-642"><a href="#Tokenizer-642"><span class="linenos">642</span></a> <span class="k">while</span> <span class="n">_peek</span><span class="o">.</span><span class="n">isalnum</span><span class="p">():</span>
+</span><span id="Tokenizer-643"><a href="#Tokenizer-643"><span class="linenos">643</span></a> <span class="n">_col</span> <span class="o">+=</span> <span class="mi">1</span>
+</span><span id="Tokenizer-644"><a href="#Tokenizer-644"><span class="linenos">644</span></a> <span class="n">_current</span> <span class="o">+=</span> <span class="mi">1</span>
+</span><span id="Tokenizer-645"><a href="#Tokenizer-645"><span class="linenos">645</span></a> <span class="n">_end</span> <span class="o">=</span> <span class="n">_current</span> <span class="o">&gt;=</span> <span class="bp">self</span><span class="o">.</span><span class="n">size</span>
+</span><span id="Tokenizer-646"><a href="#Tokenizer-646"><span class="linenos">646</span></a> <span class="n">_peek</span> <span class="o">=</span> <span class="s2">&quot;&quot;</span> <span class="k">if</span> <span class="n">_end</span> <span class="k">else</span> <span class="bp">self</span><span class="o">.</span><span class="n">sql</span><span class="p">[</span><span class="n">_current</span><span class="p">]</span>
+</span><span id="Tokenizer-647"><a href="#Tokenizer-647"><span class="linenos">647</span></a>
+</span><span id="Tokenizer-648"><a href="#Tokenizer-648"><span class="linenos">648</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_col</span> <span class="o">=</span> <span class="n">_col</span>
+</span><span id="Tokenizer-649"><a href="#Tokenizer-649"><span class="linenos">649</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_current</span> <span class="o">=</span> <span class="n">_current</span>
+</span><span id="Tokenizer-650"><a href="#Tokenizer-650"><span class="linenos">650</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_end</span> <span class="o">=</span> <span class="n">_end</span>
+</span><span id="Tokenizer-651"><a href="#Tokenizer-651"><span class="linenos">651</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span> <span class="o">=</span> <span class="n">_peek</span>
+</span><span id="Tokenizer-652"><a href="#Tokenizer-652"><span class="linenos">652</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_char</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">sql</span><span class="p">[</span><span class="n">_current</span> <span class="o">-</span> <span class="mi">1</span><span class="p">]</span>
+</span><span id="Tokenizer-653"><a href="#Tokenizer-653"><span class="linenos">653</span></a>
+</span><span id="Tokenizer-654"><a href="#Tokenizer-654"><span class="linenos">654</span></a> <span class="nd">@property</span>
+</span><span id="Tokenizer-655"><a href="#Tokenizer-655"><span class="linenos">655</span></a> <span class="k">def</span> <span class="nf">_text</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
+</span><span id="Tokenizer-656"><a href="#Tokenizer-656"><span class="linenos">656</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">sql</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">_start</span> <span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">_current</span><span class="p">]</span>
+</span><span id="Tokenizer-657"><a href="#Tokenizer-657"><span class="linenos">657</span></a>
+</span><span id="Tokenizer-658"><a href="#Tokenizer-658"><span class="linenos">658</span></a> <span class="k">def</span> <span class="nf">peek</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">i</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">0</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
+</span><span id="Tokenizer-659"><a href="#Tokenizer-659"><span class="linenos">659</span></a> <span class="n">i</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_current</span> <span class="o">+</span> <span class="n">i</span>
+</span><span id="Tokenizer-660"><a href="#Tokenizer-660"><span class="linenos">660</span></a> <span class="k">if</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="bp">self</span><span class="o">.</span><span class="n">size</span><span class="p">:</span>
+</span><span id="Tokenizer-661"><a href="#Tokenizer-661"><span class="linenos">661</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">sql</span><span class="p">[</span><span class="n">i</span><span class="p">]</span>
+</span><span id="Tokenizer-662"><a href="#Tokenizer-662"><span class="linenos">662</span></a> <span class="k">return</span> <span class="s2">&quot;&quot;</span>
+</span><span id="Tokenizer-663"><a href="#Tokenizer-663"><span class="linenos">663</span></a>
+</span><span id="Tokenizer-664"><a href="#Tokenizer-664"><span class="linenos">664</span></a> <span class="k">def</span> <span class="nf">_add</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">token_type</span><span class="p">:</span> <span class="n">TokenType</span><span class="p">,</span> <span class="n">text</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
+</span><span id="Tokenizer-665"><a href="#Tokenizer-665"><span class="linenos">665</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_prev_token_line</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_line</span>
+</span><span id="Tokenizer-666"><a href="#Tokenizer-666"><span class="linenos">666</span></a>
+</span><span id="Tokenizer-667"><a href="#Tokenizer-667"><span class="linenos">667</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_comments</span> <span class="ow">and</span> <span class="n">token_type</span> <span class="o">==</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">SEMICOLON</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">tokens</span><span class="p">:</span>
+</span><span id="Tokenizer-668"><a href="#Tokenizer-668"><span class="linenos">668</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">tokens</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">comments</span><span class="o">.</span><span class="n">extend</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_comments</span><span class="p">)</span>
+</span><span id="Tokenizer-669"><a href="#Tokenizer-669"><span class="linenos">669</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_comments</span> <span class="o">=</span> <span class="p">[]</span>
+</span><span id="Tokenizer-670"><a href="#Tokenizer-670"><span class="linenos">670</span></a>
+</span><span id="Tokenizer-671"><a href="#Tokenizer-671"><span class="linenos">671</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">tokens</span><span class="o">.</span><span class="n">append</span><span class="p">(</span>
+</span><span id="Tokenizer-672"><a href="#Tokenizer-672"><span class="linenos">672</span></a> <span class="n">Token</span><span class="p">(</span>
+</span><span id="Tokenizer-673"><a href="#Tokenizer-673"><span class="linenos">673</span></a> <span class="n">token_type</span><span class="p">,</span>
+</span><span id="Tokenizer-674"><a href="#Tokenizer-674"><span class="linenos">674</span></a> <span class="n">text</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_text</span> <span class="k">if</span> <span class="n">text</span> <span class="ow">is</span> <span class="kc">None</span> <span class="k">else</span> <span class="n">text</span><span class="p">,</span>
+</span><span id="Tokenizer-675"><a href="#Tokenizer-675"><span class="linenos">675</span></a> <span class="n">line</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_line</span><span class="p">,</span>
+</span><span id="Tokenizer-676"><a href="#Tokenizer-676"><span class="linenos">676</span></a> <span class="n">col</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_col</span><span class="p">,</span>
+</span><span id="Tokenizer-677"><a href="#Tokenizer-677"><span class="linenos">677</span></a> <span class="n">start</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_start</span><span class="p">,</span>
+</span><span id="Tokenizer-678"><a href="#Tokenizer-678"><span class="linenos">678</span></a> <span class="n">end</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_current</span> <span class="o">-</span> <span class="mi">1</span><span class="p">,</span>
+</span><span id="Tokenizer-679"><a href="#Tokenizer-679"><span class="linenos">679</span></a> <span class="n">comments</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_comments</span><span class="p">,</span>
+</span><span id="Tokenizer-680"><a href="#Tokenizer-680"><span class="linenos">680</span></a> <span class="p">)</span>
+</span><span id="Tokenizer-681"><a href="#Tokenizer-681"><span class="linenos">681</span></a> <span class="p">)</span>
+</span><span id="Tokenizer-682"><a href="#Tokenizer-682"><span class="linenos">682</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_comments</span> <span class="o">=</span> <span class="p">[]</span>
+</span><span id="Tokenizer-683"><a href="#Tokenizer-683"><span class="linenos">683</span></a>
+</span><span id="Tokenizer-684"><a href="#Tokenizer-684"><span class="linenos">684</span></a> <span class="c1"># If we have either a semicolon or a begin token before the command&#39;s token, we&#39;ll parse</span>
+</span><span id="Tokenizer-685"><a href="#Tokenizer-685"><span class="linenos">685</span></a> <span class="c1"># whatever follows the command&#39;s token as a string</span>
+</span><span id="Tokenizer-686"><a href="#Tokenizer-686"><span class="linenos">686</span></a> <span class="k">if</span> <span class="p">(</span>
+</span><span id="Tokenizer-687"><a href="#Tokenizer-687"><span class="linenos">687</span></a> <span class="n">token_type</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">COMMANDS</span>
+</span><span id="Tokenizer-688"><a href="#Tokenizer-688"><span class="linenos">688</span></a> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span> <span class="o">!=</span> <span class="s2">&quot;;&quot;</span>
+</span><span id="Tokenizer-689"><a href="#Tokenizer-689"><span class="linenos">689</span></a> <span class="ow">and</span> <span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">tokens</span><span class="p">)</span> <span class="o">==</span> <span class="mi">1</span> <span class="ow">or</span> <span class="bp">self</span><span class="o">.</span><span class="n">tokens</span><span class="p">[</span><span class="o">-</span><span class="mi">2</span><span class="p">]</span><span class="o">.</span><span class="n">token_type</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">COMMAND_PREFIX_TOKENS</span><span class="p">)</span>
+</span><span id="Tokenizer-690"><a href="#Tokenizer-690"><span class="linenos">690</span></a> <span class="p">):</span>
+</span><span id="Tokenizer-691"><a href="#Tokenizer-691"><span class="linenos">691</span></a> <span class="n">start</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_current</span>
+</span><span id="Tokenizer-692"><a href="#Tokenizer-692"><span class="linenos">692</span></a> <span class="n">tokens</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">tokens</span><span class="p">)</span>
+</span><span id="Tokenizer-693"><a href="#Tokenizer-693"><span class="linenos">693</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_scan</span><span class="p">(</span><span class="k">lambda</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span> <span class="o">==</span> <span class="s2">&quot;;&quot;</span><span class="p">)</span>
+</span><span id="Tokenizer-694"><a href="#Tokenizer-694"><span class="linenos">694</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">tokens</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">tokens</span><span class="p">[:</span><span class="n">tokens</span><span class="p">]</span>
+</span><span id="Tokenizer-695"><a href="#Tokenizer-695"><span class="linenos">695</span></a> <span class="n">text</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">sql</span><span class="p">[</span><span class="n">start</span> <span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">_current</span><span class="p">]</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span>
+</span><span id="Tokenizer-696"><a href="#Tokenizer-696"><span class="linenos">696</span></a> <span class="k">if</span> <span class="n">text</span><span class="p">:</span>
+</span><span id="Tokenizer-697"><a href="#Tokenizer-697"><span class="linenos">697</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_add</span><span class="p">(</span><span class="n">TokenType</span><span class="o">.</span><span class="n">STRING</span><span class="p">,</span> <span class="n">text</span><span class="p">)</span>
+</span><span id="Tokenizer-698"><a href="#Tokenizer-698"><span class="linenos">698</span></a>
+</span><span id="Tokenizer-699"><a href="#Tokenizer-699"><span class="linenos">699</span></a> <span class="k">def</span> <span class="nf">_scan_keywords</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
+</span><span id="Tokenizer-700"><a href="#Tokenizer-700"><span class="linenos">700</span></a> <span class="n">size</span> <span class="o">=</span> <span class="mi">0</span>
+</span><span id="Tokenizer-701"><a href="#Tokenizer-701"><span class="linenos">701</span></a> <span class="n">word</span> <span class="o">=</span> <span class="kc">None</span>
+</span><span id="Tokenizer-702"><a href="#Tokenizer-702"><span class="linenos">702</span></a> <span class="n">chars</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_text</span>
+</span><span id="Tokenizer-703"><a href="#Tokenizer-703"><span class="linenos">703</span></a> <span class="n">char</span> <span class="o">=</span> <span class="n">chars</span>
+</span><span id="Tokenizer-704"><a href="#Tokenizer-704"><span class="linenos">704</span></a> <span class="n">prev_space</span> <span class="o">=</span> <span class="kc">False</span>
+</span><span id="Tokenizer-705"><a href="#Tokenizer-705"><span class="linenos">705</span></a> <span class="n">skip</span> <span class="o">=</span> <span class="kc">False</span>
+</span><span id="Tokenizer-706"><a href="#Tokenizer-706"><span class="linenos">706</span></a> <span class="n">trie</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_KEYWORD_TRIE</span>
+</span><span id="Tokenizer-707"><a href="#Tokenizer-707"><span class="linenos">707</span></a> <span class="n">single_token</span> <span class="o">=</span> <span class="n">char</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">SINGLE_TOKENS</span>
+</span><span id="Tokenizer-708"><a href="#Tokenizer-708"><span class="linenos">708</span></a>
+</span><span id="Tokenizer-709"><a href="#Tokenizer-709"><span class="linenos">709</span></a> <span class="k">while</span> <span class="n">chars</span><span class="p">:</span>
+</span><span id="Tokenizer-710"><a href="#Tokenizer-710"><span class="linenos">710</span></a> <span class="k">if</span> <span class="n">skip</span><span class="p">:</span>
+</span><span id="Tokenizer-711"><a href="#Tokenizer-711"><span class="linenos">711</span></a> <span class="n">result</span> <span class="o">=</span> <span class="n">TrieResult</span><span class="o">.</span><span class="n">PREFIX</span>
+</span><span id="Tokenizer-712"><a href="#Tokenizer-712"><span class="linenos">712</span></a> <span class="k">else</span><span class="p">:</span>
+</span><span id="Tokenizer-713"><a href="#Tokenizer-713"><span class="linenos">713</span></a> <span class="n">result</span><span class="p">,</span> <span class="n">trie</span> <span class="o">=</span> <span class="n">in_trie</span><span class="p">(</span><span class="n">trie</span><span class="p">,</span> <span class="n">char</span><span class="o">.</span><span class="n">upper</span><span class="p">())</span>
+</span><span id="Tokenizer-714"><a href="#Tokenizer-714"><span class="linenos">714</span></a>
+</span><span id="Tokenizer-715"><a href="#Tokenizer-715"><span class="linenos">715</span></a> <span class="k">if</span> <span class="n">result</span> <span class="o">==</span> <span class="n">TrieResult</span><span class="o">.</span><span class="n">FAILED</span><span class="p">:</span>
+</span><span id="Tokenizer-716"><a href="#Tokenizer-716"><span class="linenos">716</span></a> <span class="k">break</span>
+</span><span id="Tokenizer-717"><a href="#Tokenizer-717"><span class="linenos">717</span></a> <span class="k">if</span> <span class="n">result</span> <span class="o">==</span> <span class="n">TrieResult</span><span class="o">.</span><span class="n">EXISTS</span><span class="p">:</span>
+</span><span id="Tokenizer-718"><a href="#Tokenizer-718"><span class="linenos">718</span></a> <span class="n">word</span> <span class="o">=</span> <span class="n">chars</span>
+</span><span id="Tokenizer-719"><a href="#Tokenizer-719"><span class="linenos">719</span></a>
+</span><span id="Tokenizer-720"><a href="#Tokenizer-720"><span class="linenos">720</span></a> <span class="n">end</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_current</span> <span class="o">+</span> <span class="n">size</span>
+</span><span id="Tokenizer-721"><a href="#Tokenizer-721"><span class="linenos">721</span></a> <span class="n">size</span> <span class="o">+=</span> <span class="mi">1</span>
+</span><span id="Tokenizer-722"><a href="#Tokenizer-722"><span class="linenos">722</span></a>
+</span><span id="Tokenizer-723"><a href="#Tokenizer-723"><span class="linenos">723</span></a> <span class="k">if</span> <span class="n">end</span> <span class="o">&lt;</span> <span class="bp">self</span><span class="o">.</span><span class="n">size</span><span class="p">:</span>
+</span><span id="Tokenizer-724"><a href="#Tokenizer-724"><span class="linenos">724</span></a> <span class="n">char</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">sql</span><span class="p">[</span><span class="n">end</span><span class="p">]</span>
+</span><span id="Tokenizer-725"><a href="#Tokenizer-725"><span class="linenos">725</span></a> <span class="n">single_token</span> <span class="o">=</span> <span class="n">single_token</span> <span class="ow">or</span> <span class="n">char</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">SINGLE_TOKENS</span>
+</span><span id="Tokenizer-726"><a href="#Tokenizer-726"><span class="linenos">726</span></a> <span class="n">is_space</span> <span class="o">=</span> <span class="n">char</span><span class="o">.</span><span class="n">isspace</span><span class="p">()</span>
+</span><span id="Tokenizer-727"><a href="#Tokenizer-727"><span class="linenos">727</span></a>
+</span><span id="Tokenizer-728"><a href="#Tokenizer-728"><span class="linenos">728</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">is_space</span> <span class="ow">or</span> <span class="ow">not</span> <span class="n">prev_space</span><span class="p">:</span>
+</span><span id="Tokenizer-729"><a href="#Tokenizer-729"><span class="linenos">729</span></a> <span class="k">if</span> <span class="n">is_space</span><span class="p">:</span>
+</span><span id="Tokenizer-730"><a href="#Tokenizer-730"><span class="linenos">730</span></a> <span class="n">char</span> <span class="o">=</span> <span class="s2">&quot; &quot;</span>
+</span><span id="Tokenizer-731"><a href="#Tokenizer-731"><span class="linenos">731</span></a> <span class="n">chars</span> <span class="o">+=</span> <span class="n">char</span>
+</span><span id="Tokenizer-732"><a href="#Tokenizer-732"><span class="linenos">732</span></a> <span class="n">prev_space</span> <span class="o">=</span> <span class="n">is_space</span>
+</span><span id="Tokenizer-733"><a href="#Tokenizer-733"><span class="linenos">733</span></a> <span class="n">skip</span> <span class="o">=</span> <span class="kc">False</span>
+</span><span id="Tokenizer-734"><a href="#Tokenizer-734"><span class="linenos">734</span></a> <span class="k">else</span><span class="p">:</span>
+</span><span id="Tokenizer-735"><a href="#Tokenizer-735"><span class="linenos">735</span></a> <span class="n">skip</span> <span class="o">=</span> <span class="kc">True</span>
+</span><span id="Tokenizer-736"><a href="#Tokenizer-736"><span class="linenos">736</span></a> <span class="k">else</span><span class="p">:</span>
+</span><span id="Tokenizer-737"><a href="#Tokenizer-737"><span class="linenos">737</span></a> <span class="n">char</span> <span class="o">=</span> <span class="s2">&quot;&quot;</span>
+</span><span id="Tokenizer-738"><a href="#Tokenizer-738"><span class="linenos">738</span></a> <span class="k">break</span>
+</span><span id="Tokenizer-739"><a href="#Tokenizer-739"><span class="linenos">739</span></a>
+</span><span id="Tokenizer-740"><a href="#Tokenizer-740"><span class="linenos">740</span></a> <span class="k">if</span> <span class="n">word</span><span class="p">:</span>
+</span><span id="Tokenizer-741"><a href="#Tokenizer-741"><span class="linenos">741</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_scan_string</span><span class="p">(</span><span class="n">word</span><span class="p">):</span>
+</span><span id="Tokenizer-742"><a href="#Tokenizer-742"><span class="linenos">742</span></a> <span class="k">return</span>
+</span><span id="Tokenizer-743"><a href="#Tokenizer-743"><span class="linenos">743</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_scan_comment</span><span class="p">(</span><span class="n">word</span><span class="p">):</span>
+</span><span id="Tokenizer-744"><a href="#Tokenizer-744"><span class="linenos">744</span></a> <span class="k">return</span>
+</span><span id="Tokenizer-745"><a href="#Tokenizer-745"><span class="linenos">745</span></a> <span class="k">if</span> <span class="n">prev_space</span> <span class="ow">or</span> <span class="n">single_token</span> <span class="ow">or</span> <span class="ow">not</span> <span class="n">char</span><span class="p">:</span>
+</span><span id="Tokenizer-746"><a href="#Tokenizer-746"><span class="linenos">746</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">(</span><span class="n">size</span> <span class="o">-</span> <span class="mi">1</span><span class="p">)</span>
+</span><span id="Tokenizer-747"><a href="#Tokenizer-747"><span class="linenos">747</span></a> <span class="n">word</span> <span class="o">=</span> <span class="n">word</span><span class="o">.</span><span class="n">upper</span><span class="p">()</span>
+</span><span id="Tokenizer-748"><a href="#Tokenizer-748"><span class="linenos">748</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_add</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">KEYWORDS</span><span class="p">[</span><span class="n">word</span><span class="p">],</span> <span class="n">text</span><span class="o">=</span><span class="n">word</span><span class="p">)</span>
+</span><span id="Tokenizer-749"><a href="#Tokenizer-749"><span class="linenos">749</span></a> <span class="k">return</span>
+</span><span id="Tokenizer-750"><a href="#Tokenizer-750"><span class="linenos">750</span></a>
+</span><span id="Tokenizer-751"><a href="#Tokenizer-751"><span class="linenos">751</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_char</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">SINGLE_TOKENS</span><span class="p">:</span>
+</span><span id="Tokenizer-752"><a href="#Tokenizer-752"><span class="linenos">752</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_add</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">SINGLE_TOKENS</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">_char</span><span class="p">],</span> <span class="n">text</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_char</span><span class="p">)</span>
+</span><span id="Tokenizer-753"><a href="#Tokenizer-753"><span class="linenos">753</span></a> <span class="k">return</span>
+</span><span id="Tokenizer-754"><a href="#Tokenizer-754"><span class="linenos">754</span></a>
+</span><span id="Tokenizer-755"><a href="#Tokenizer-755"><span class="linenos">755</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_scan_var</span><span class="p">()</span>
+</span><span id="Tokenizer-756"><a href="#Tokenizer-756"><span class="linenos">756</span></a>
+</span><span id="Tokenizer-757"><a href="#Tokenizer-757"><span class="linenos">757</span></a> <span class="k">def</span> <span class="nf">_scan_comment</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">comment_start</span><span class="p">:</span> <span class="nb">str</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">bool</span><span class="p">:</span>
+</span><span id="Tokenizer-758"><a href="#Tokenizer-758"><span class="linenos">758</span></a> <span class="k">if</span> <span class="n">comment_start</span> <span class="ow">not</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">_COMMENTS</span><span class="p">:</span>
+</span><span id="Tokenizer-759"><a href="#Tokenizer-759"><span class="linenos">759</span></a> <span class="k">return</span> <span class="kc">False</span>
+</span><span id="Tokenizer-760"><a href="#Tokenizer-760"><span class="linenos">760</span></a>
+</span><span id="Tokenizer-761"><a href="#Tokenizer-761"><span class="linenos">761</span></a> <span class="n">comment_start_line</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_line</span>
+</span><span id="Tokenizer-762"><a href="#Tokenizer-762"><span class="linenos">762</span></a> <span class="n">comment_start_size</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">comment_start</span><span class="p">)</span>
+</span><span id="Tokenizer-763"><a href="#Tokenizer-763"><span class="linenos">763</span></a> <span class="n">comment_end</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_COMMENTS</span><span class="p">[</span><span class="n">comment_start</span><span class="p">]</span>
+</span><span id="Tokenizer-764"><a href="#Tokenizer-764"><span class="linenos">764</span></a>
+</span><span id="Tokenizer-765"><a href="#Tokenizer-765"><span class="linenos">765</span></a> <span class="k">if</span> <span class="n">comment_end</span><span class="p">:</span>
+</span><span id="Tokenizer-766"><a href="#Tokenizer-766"><span class="linenos">766</span></a> <span class="c1"># Skip the comment&#39;s start delimiter</span>
+</span><span id="Tokenizer-767"><a href="#Tokenizer-767"><span class="linenos">767</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">(</span><span class="n">comment_start_size</span><span class="p">)</span>
+</span><span id="Tokenizer-768"><a href="#Tokenizer-768"><span class="linenos">768</span></a>
+</span><span id="Tokenizer-769"><a href="#Tokenizer-769"><span class="linenos">769</span></a> <span class="n">comment_end_size</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">comment_end</span><span class="p">)</span>
+</span><span id="Tokenizer-770"><a href="#Tokenizer-770"><span class="linenos">770</span></a> <span class="k">while</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">_end</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">_chars</span><span class="p">(</span><span class="n">comment_end_size</span><span class="p">)</span> <span class="o">!=</span> <span class="n">comment_end</span><span class="p">:</span>
+</span><span id="Tokenizer-771"><a href="#Tokenizer-771"><span class="linenos">771</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">(</span><span class="n">alnum</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
+</span><span id="Tokenizer-772"><a href="#Tokenizer-772"><span class="linenos">772</span></a>
+</span><span id="Tokenizer-773"><a href="#Tokenizer-773"><span class="linenos">773</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_comments</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_text</span><span class="p">[</span><span class="n">comment_start_size</span> <span class="p">:</span> <span class="o">-</span><span class="n">comment_end_size</span> <span class="o">+</span> <span class="mi">1</span><span class="p">])</span>
+</span><span id="Tokenizer-774"><a href="#Tokenizer-774"><span class="linenos">774</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">(</span><span class="n">comment_end_size</span> <span class="o">-</span> <span class="mi">1</span><span class="p">)</span>
+</span><span id="Tokenizer-775"><a href="#Tokenizer-775"><span class="linenos">775</span></a> <span class="k">else</span><span class="p">:</span>
+</span><span id="Tokenizer-776"><a href="#Tokenizer-776"><span class="linenos">776</span></a> <span class="k">while</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">_end</span> <span class="ow">and</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">WHITE_SPACE</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_peek</span><span class="p">)</span> <span class="ow">is</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BREAK</span><span class="p">:</span>
+</span><span id="Tokenizer-777"><a href="#Tokenizer-777"><span class="linenos">777</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">(</span><span class="n">alnum</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
+</span><span id="Tokenizer-778"><a href="#Tokenizer-778"><span class="linenos">778</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_comments</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_text</span><span class="p">[</span><span class="n">comment_start_size</span><span class="p">:])</span>
+</span><span id="Tokenizer-779"><a href="#Tokenizer-779"><span class="linenos">779</span></a>
+</span><span id="Tokenizer-780"><a href="#Tokenizer-780"><span class="linenos">780</span></a> <span class="c1"># Leading comment is attached to the succeeding token, whilst trailing comment to the preceding.</span>
+</span><span id="Tokenizer-781"><a href="#Tokenizer-781"><span class="linenos">781</span></a> <span class="c1"># Multiple consecutive comments are preserved by appending them to the current comments list.</span>
+</span><span id="Tokenizer-782"><a href="#Tokenizer-782"><span class="linenos">782</span></a> <span class="k">if</span> <span class="n">comment_start_line</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">_prev_token_line</span><span class="p">:</span>
+</span><span id="Tokenizer-783"><a href="#Tokenizer-783"><span class="linenos">783</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">tokens</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">comments</span><span class="o">.</span><span class="n">extend</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_comments</span><span class="p">)</span>
+</span><span id="Tokenizer-784"><a href="#Tokenizer-784"><span class="linenos">784</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_comments</span> <span class="o">=</span> <span class="p">[]</span>
+</span><span id="Tokenizer-785"><a href="#Tokenizer-785"><span class="linenos">785</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_prev_token_line</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_line</span>
+</span><span id="Tokenizer-786"><a href="#Tokenizer-786"><span class="linenos">786</span></a>
+</span><span id="Tokenizer-787"><a href="#Tokenizer-787"><span class="linenos">787</span></a> <span class="k">return</span> <span class="kc">True</span>
+</span><span id="Tokenizer-788"><a href="#Tokenizer-788"><span class="linenos">788</span></a>
+</span><span id="Tokenizer-789"><a href="#Tokenizer-789"><span class="linenos">789</span></a> <span class="k">def</span> <span class="nf">_scan_number</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
+</span><span id="Tokenizer-790"><a href="#Tokenizer-790"><span class="linenos">790</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_char</span> <span class="o">==</span> <span class="s2">&quot;0&quot;</span><span class="p">:</span>
+</span><span id="Tokenizer-791"><a href="#Tokenizer-791"><span class="linenos">791</span></a> <span class="n">peek</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span><span class="o">.</span><span class="n">upper</span><span class="p">()</span>
+</span><span id="Tokenizer-792"><a href="#Tokenizer-792"><span class="linenos">792</span></a> <span class="k">if</span> <span class="n">peek</span> <span class="o">==</span> <span class="s2">&quot;B&quot;</span><span class="p">:</span>
+</span><span id="Tokenizer-793"><a href="#Tokenizer-793"><span class="linenos">793</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_scan_bits</span><span class="p">()</span> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">BIT_STRINGS</span> <span class="k">else</span> <span class="bp">self</span><span class="o">.</span><span class="n">_add</span><span class="p">(</span><span class="n">TokenType</span><span class="o">.</span><span class="n">NUMBER</span><span class="p">)</span>
+</span><span id="Tokenizer-794"><a href="#Tokenizer-794"><span class="linenos">794</span></a> <span class="k">elif</span> <span class="n">peek</span> <span class="o">==</span> <span class="s2">&quot;X&quot;</span><span class="p">:</span>
+</span><span id="Tokenizer-795"><a href="#Tokenizer-795"><span class="linenos">795</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_scan_hex</span><span class="p">()</span> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">HEX_STRINGS</span> <span class="k">else</span> <span class="bp">self</span><span class="o">.</span><span class="n">_add</span><span class="p">(</span><span class="n">TokenType</span><span class="o">.</span><span class="n">NUMBER</span><span class="p">)</span>
+</span><span id="Tokenizer-796"><a href="#Tokenizer-796"><span class="linenos">796</span></a>
+</span><span id="Tokenizer-797"><a href="#Tokenizer-797"><span class="linenos">797</span></a> <span class="n">decimal</span> <span class="o">=</span> <span class="kc">False</span>
+</span><span id="Tokenizer-798"><a href="#Tokenizer-798"><span class="linenos">798</span></a> <span class="n">scientific</span> <span class="o">=</span> <span class="mi">0</span>
+</span><span id="Tokenizer-799"><a href="#Tokenizer-799"><span class="linenos">799</span></a>
+</span><span id="Tokenizer-800"><a href="#Tokenizer-800"><span class="linenos">800</span></a> <span class="k">while</span> <span class="kc">True</span><span class="p">:</span>
+</span><span id="Tokenizer-801"><a href="#Tokenizer-801"><span class="linenos">801</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span><span class="o">.</span><span class="n">isdigit</span><span class="p">():</span>
+</span><span id="Tokenizer-802"><a href="#Tokenizer-802"><span class="linenos">802</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">()</span>
+</span><span id="Tokenizer-803"><a href="#Tokenizer-803"><span class="linenos">803</span></a> <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span> <span class="o">==</span> <span class="s2">&quot;.&quot;</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">decimal</span><span class="p">:</span>
+</span><span id="Tokenizer-804"><a href="#Tokenizer-804"><span class="linenos">804</span></a> <span class="n">after</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">peek</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
+</span><span id="Tokenizer-805"><a href="#Tokenizer-805"><span class="linenos">805</span></a> <span class="k">if</span> <span class="n">after</span><span class="o">.</span><span class="n">isdigit</span><span class="p">()</span> <span class="ow">or</span> <span class="ow">not</span> <span class="n">after</span><span class="o">.</span><span class="n">isalpha</span><span class="p">():</span>
+</span><span id="Tokenizer-806"><a href="#Tokenizer-806"><span class="linenos">806</span></a> <span class="n">decimal</span> <span class="o">=</span> <span class="kc">True</span>
+</span><span id="Tokenizer-807"><a href="#Tokenizer-807"><span class="linenos">807</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">()</span>
+</span><span id="Tokenizer-808"><a href="#Tokenizer-808"><span class="linenos">808</span></a> <span class="k">else</span><span class="p">:</span>
+</span><span id="Tokenizer-809"><a href="#Tokenizer-809"><span class="linenos">809</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_add</span><span class="p">(</span><span class="n">TokenType</span><span class="o">.</span><span class="n">VAR</span><span class="p">)</span>
+</span><span id="Tokenizer-810"><a href="#Tokenizer-810"><span class="linenos">810</span></a> <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span> <span class="ow">in</span> <span class="p">(</span><span class="s2">&quot;-&quot;</span><span class="p">,</span> <span class="s2">&quot;+&quot;</span><span class="p">)</span> <span class="ow">and</span> <span class="n">scientific</span> <span class="o">==</span> <span class="mi">1</span><span class="p">:</span>
+</span><span id="Tokenizer-811"><a href="#Tokenizer-811"><span class="linenos">811</span></a> <span class="n">scientific</span> <span class="o">+=</span> <span class="mi">1</span>
+</span><span id="Tokenizer-812"><a href="#Tokenizer-812"><span class="linenos">812</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">()</span>
+</span><span id="Tokenizer-813"><a href="#Tokenizer-813"><span class="linenos">813</span></a> <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span><span class="o">.</span><span class="n">upper</span><span class="p">()</span> <span class="o">==</span> <span class="s2">&quot;E&quot;</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">scientific</span><span class="p">:</span>
+</span><span id="Tokenizer-814"><a href="#Tokenizer-814"><span class="linenos">814</span></a> <span class="n">scientific</span> <span class="o">+=</span> <span class="mi">1</span>
+</span><span id="Tokenizer-815"><a href="#Tokenizer-815"><span class="linenos">815</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">()</span>
+</span><span id="Tokenizer-816"><a href="#Tokenizer-816"><span class="linenos">816</span></a> <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span><span class="o">.</span><span class="n">isidentifier</span><span class="p">():</span>
+</span><span id="Tokenizer-817"><a href="#Tokenizer-817"><span class="linenos">817</span></a> <span class="n">number_text</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_text</span>
+</span><span id="Tokenizer-818"><a href="#Tokenizer-818"><span class="linenos">818</span></a> <span class="n">literal</span> <span class="o">=</span> <span class="s2">&quot;&quot;</span>
+</span><span id="Tokenizer-819"><a href="#Tokenizer-819"><span class="linenos">819</span></a>
+</span><span id="Tokenizer-820"><a href="#Tokenizer-820"><span class="linenos">820</span></a> <span class="k">while</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span> <span class="ow">not</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">SINGLE_TOKENS</span><span class="p">:</span>
+</span><span id="Tokenizer-821"><a href="#Tokenizer-821"><span class="linenos">821</span></a> <span class="n">literal</span> <span class="o">+=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span>
+</span><span id="Tokenizer-822"><a href="#Tokenizer-822"><span class="linenos">822</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">()</span>
+</span><span id="Tokenizer-823"><a href="#Tokenizer-823"><span class="linenos">823</span></a>
+</span><span id="Tokenizer-824"><a href="#Tokenizer-824"><span class="linenos">824</span></a> <span class="n">token_type</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">KEYWORDS</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">NUMERIC_LITERALS</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">literal</span><span class="o">.</span><span class="n">upper</span><span class="p">(),</span> <span class="s2">&quot;&quot;</span><span class="p">))</span>
+</span><span id="Tokenizer-825"><a href="#Tokenizer-825"><span class="linenos">825</span></a>
+</span><span id="Tokenizer-826"><a href="#Tokenizer-826"><span class="linenos">826</span></a> <span class="k">if</span> <span class="n">token_type</span><span class="p">:</span>
+</span><span id="Tokenizer-827"><a href="#Tokenizer-827"><span class="linenos">827</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_add</span><span class="p">(</span><span class="n">TokenType</span><span class="o">.</span><span class="n">NUMBER</span><span class="p">,</span> <span class="n">number_text</span><span class="p">)</span>
+</span><span id="Tokenizer-828"><a href="#Tokenizer-828"><span class="linenos">828</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_add</span><span class="p">(</span><span class="n">TokenType</span><span class="o">.</span><span class="n">DCOLON</span><span class="p">,</span> <span class="s2">&quot;::&quot;</span><span class="p">)</span>
+</span><span id="Tokenizer-829"><a href="#Tokenizer-829"><span class="linenos">829</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_add</span><span class="p">(</span><span class="n">token_type</span><span class="p">,</span> <span class="n">literal</span><span class="p">)</span>
+</span><span id="Tokenizer-830"><a href="#Tokenizer-830"><span class="linenos">830</span></a> <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">dialect</span><span class="o">.</span><span class="n">IDENTIFIERS_CAN_START_WITH_DIGIT</span><span class="p">:</span>
+</span><span id="Tokenizer-831"><a href="#Tokenizer-831"><span class="linenos">831</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_add</span><span class="p">(</span><span class="n">TokenType</span><span class="o">.</span><span class="n">VAR</span><span class="p">)</span>
+</span><span id="Tokenizer-832"><a href="#Tokenizer-832"><span class="linenos">832</span></a>
+</span><span id="Tokenizer-833"><a href="#Tokenizer-833"><span class="linenos">833</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">(</span><span class="o">-</span><span class="nb">len</span><span class="p">(</span><span class="n">literal</span><span class="p">))</span>
+</span><span id="Tokenizer-834"><a href="#Tokenizer-834"><span class="linenos">834</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_add</span><span class="p">(</span><span class="n">TokenType</span><span class="o">.</span><span class="n">NUMBER</span><span class="p">,</span> <span class="n">number_text</span><span class="p">)</span>
+</span><span id="Tokenizer-835"><a href="#Tokenizer-835"><span class="linenos">835</span></a> <span class="k">else</span><span class="p">:</span>
+</span><span id="Tokenizer-836"><a href="#Tokenizer-836"><span class="linenos">836</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_add</span><span class="p">(</span><span class="n">TokenType</span><span class="o">.</span><span class="n">NUMBER</span><span class="p">)</span>
+</span><span id="Tokenizer-837"><a href="#Tokenizer-837"><span class="linenos">837</span></a>
+</span><span id="Tokenizer-838"><a href="#Tokenizer-838"><span class="linenos">838</span></a> <span class="k">def</span> <span class="nf">_scan_bits</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
+</span><span id="Tokenizer-839"><a href="#Tokenizer-839"><span class="linenos">839</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">()</span>
+</span><span id="Tokenizer-840"><a href="#Tokenizer-840"><span class="linenos">840</span></a> <span class="n">value</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_extract_value</span><span class="p">()</span>
+</span><span id="Tokenizer-841"><a href="#Tokenizer-841"><span class="linenos">841</span></a> <span class="k">try</span><span class="p">:</span>
+</span><span id="Tokenizer-842"><a href="#Tokenizer-842"><span class="linenos">842</span></a> <span class="c1"># If `value` can&#39;t be converted to a binary, fallback to tokenizing it as an identifier</span>
+</span><span id="Tokenizer-843"><a href="#Tokenizer-843"><span class="linenos">843</span></a> <span class="nb">int</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="mi">2</span><span class="p">)</span>
+</span><span id="Tokenizer-844"><a href="#Tokenizer-844"><span class="linenos">844</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_add</span><span class="p">(</span><span class="n">TokenType</span><span class="o">.</span><span class="n">BIT_STRING</span><span class="p">,</span> <span class="n">value</span><span class="p">[</span><span class="mi">2</span><span class="p">:])</span> <span class="c1"># Drop the 0b</span>
+</span><span id="Tokenizer-845"><a href="#Tokenizer-845"><span class="linenos">845</span></a> <span class="k">except</span> <span class="ne">ValueError</span><span class="p">:</span>
+</span><span id="Tokenizer-846"><a href="#Tokenizer-846"><span class="linenos">846</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_add</span><span class="p">(</span><span class="n">TokenType</span><span class="o">.</span><span class="n">IDENTIFIER</span><span class="p">)</span>
+</span><span id="Tokenizer-847"><a href="#Tokenizer-847"><span class="linenos">847</span></a>
+</span><span id="Tokenizer-848"><a href="#Tokenizer-848"><span class="linenos">848</span></a> <span class="k">def</span> <span class="nf">_scan_hex</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
+</span><span id="Tokenizer-849"><a href="#Tokenizer-849"><span class="linenos">849</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">()</span>
+</span><span id="Tokenizer-850"><a href="#Tokenizer-850"><span class="linenos">850</span></a> <span class="n">value</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_extract_value</span><span class="p">()</span>
+</span><span id="Tokenizer-851"><a href="#Tokenizer-851"><span class="linenos">851</span></a> <span class="k">try</span><span class="p">:</span>
+</span><span id="Tokenizer-852"><a href="#Tokenizer-852"><span class="linenos">852</span></a> <span class="c1"># If `value` can&#39;t be converted to a hex, fallback to tokenizing it as an identifier</span>
+</span><span id="Tokenizer-853"><a href="#Tokenizer-853"><span class="linenos">853</span></a> <span class="nb">int</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="mi">16</span><span class="p">)</span>
+</span><span id="Tokenizer-854"><a href="#Tokenizer-854"><span class="linenos">854</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_add</span><span class="p">(</span><span class="n">TokenType</span><span class="o">.</span><span class="n">HEX_STRING</span><span class="p">,</span> <span class="n">value</span><span class="p">[</span><span class="mi">2</span><span class="p">:])</span> <span class="c1"># Drop the 0x</span>
+</span><span id="Tokenizer-855"><a href="#Tokenizer-855"><span class="linenos">855</span></a> <span class="k">except</span> <span class="ne">ValueError</span><span class="p">:</span>
+</span><span id="Tokenizer-856"><a href="#Tokenizer-856"><span class="linenos">856</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_add</span><span class="p">(</span><span class="n">TokenType</span><span class="o">.</span><span class="n">IDENTIFIER</span><span class="p">)</span>
+</span><span id="Tokenizer-857"><a href="#Tokenizer-857"><span class="linenos">857</span></a>
+</span><span id="Tokenizer-858"><a href="#Tokenizer-858"><span class="linenos">858</span></a> <span class="k">def</span> <span class="nf">_extract_value</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
+</span><span id="Tokenizer-859"><a href="#Tokenizer-859"><span class="linenos">859</span></a> <span class="k">while</span> <span class="kc">True</span><span class="p">:</span>
+</span><span id="Tokenizer-860"><a href="#Tokenizer-860"><span class="linenos">860</span></a> <span class="n">char</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span>
+</span><span id="Tokenizer-861"><a href="#Tokenizer-861"><span class="linenos">861</span></a> <span class="k">if</span> <span class="n">char</span> <span class="ow">and</span> <span class="n">char</span> <span class="ow">not</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">SINGLE_TOKENS</span><span class="p">:</span>
+</span><span id="Tokenizer-862"><a href="#Tokenizer-862"><span class="linenos">862</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">(</span><span class="n">alnum</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
+</span><span id="Tokenizer-863"><a href="#Tokenizer-863"><span class="linenos">863</span></a> <span class="k">else</span><span class="p">:</span>
+</span><span id="Tokenizer-864"><a href="#Tokenizer-864"><span class="linenos">864</span></a> <span class="k">break</span>
+</span><span id="Tokenizer-865"><a href="#Tokenizer-865"><span class="linenos">865</span></a>
+</span><span id="Tokenizer-866"><a href="#Tokenizer-866"><span class="linenos">866</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_text</span>
+</span><span id="Tokenizer-867"><a href="#Tokenizer-867"><span class="linenos">867</span></a>
+</span><span id="Tokenizer-868"><a href="#Tokenizer-868"><span class="linenos">868</span></a> <span class="k">def</span> <span class="nf">_scan_string</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">start</span><span class="p">:</span> <span class="nb">str</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">bool</span><span class="p">:</span>
+</span><span id="Tokenizer-869"><a href="#Tokenizer-869"><span class="linenos">869</span></a> <span class="n">base</span> <span class="o">=</span> <span class="kc">None</span>
+</span><span id="Tokenizer-870"><a href="#Tokenizer-870"><span class="linenos">870</span></a> <span class="n">token_type</span> <span class="o">=</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">STRING</span>
+</span><span id="Tokenizer-871"><a href="#Tokenizer-871"><span class="linenos">871</span></a>
+</span><span id="Tokenizer-872"><a href="#Tokenizer-872"><span class="linenos">872</span></a> <span class="k">if</span> <span class="n">start</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">_QUOTES</span><span class="p">:</span>
+</span><span id="Tokenizer-873"><a href="#Tokenizer-873"><span class="linenos">873</span></a> <span class="n">end</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_QUOTES</span><span class="p">[</span><span class="n">start</span><span class="p">]</span>
+</span><span id="Tokenizer-874"><a href="#Tokenizer-874"><span class="linenos">874</span></a> <span class="k">elif</span> <span class="n">start</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">_FORMAT_STRINGS</span><span class="p">:</span>
+</span><span id="Tokenizer-875"><a href="#Tokenizer-875"><span class="linenos">875</span></a> <span class="n">end</span><span class="p">,</span> <span class="n">token_type</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_FORMAT_STRINGS</span><span class="p">[</span><span class="n">start</span><span class="p">]</span>
+</span><span id="Tokenizer-876"><a href="#Tokenizer-876"><span class="linenos">876</span></a>
+</span><span id="Tokenizer-877"><a href="#Tokenizer-877"><span class="linenos">877</span></a> <span class="k">if</span> <span class="n">token_type</span> <span class="o">==</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">HEX_STRING</span><span class="p">:</span>
+</span><span id="Tokenizer-878"><a href="#Tokenizer-878"><span class="linenos">878</span></a> <span class="n">base</span> <span class="o">=</span> <span class="mi">16</span>
+</span><span id="Tokenizer-879"><a href="#Tokenizer-879"><span class="linenos">879</span></a> <span class="k">elif</span> <span class="n">token_type</span> <span class="o">==</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BIT_STRING</span><span class="p">:</span>
+</span><span id="Tokenizer-880"><a href="#Tokenizer-880"><span class="linenos">880</span></a> <span class="n">base</span> <span class="o">=</span> <span class="mi">2</span>
+</span><span id="Tokenizer-881"><a href="#Tokenizer-881"><span class="linenos">881</span></a> <span class="k">elif</span> <span class="n">token_type</span> <span class="o">==</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">HEREDOC_STRING</span><span class="p">:</span>
+</span><span id="Tokenizer-882"><a href="#Tokenizer-882"><span class="linenos">882</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">()</span>
+</span><span id="Tokenizer-883"><a href="#Tokenizer-883"><span class="linenos">883</span></a> <span class="n">tag</span> <span class="o">=</span> <span class="s2">&quot;&quot;</span> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_char</span> <span class="o">==</span> <span class="n">end</span> <span class="k">else</span> <span class="bp">self</span><span class="o">.</span><span class="n">_extract_string</span><span class="p">(</span><span class="n">end</span><span class="p">)</span>
+</span><span id="Tokenizer-884"><a href="#Tokenizer-884"><span class="linenos">884</span></a> <span class="n">end</span> <span class="o">=</span> <span class="sa">f</span><span class="s2">&quot;</span><span class="si">{</span><span class="n">start</span><span class="si">}{</span><span class="n">tag</span><span class="si">}{</span><span class="n">end</span><span class="si">}</span><span class="s2">&quot;</span>
+</span><span id="Tokenizer-885"><a href="#Tokenizer-885"><span class="linenos">885</span></a> <span class="k">else</span><span class="p">:</span>
+</span><span id="Tokenizer-886"><a href="#Tokenizer-886"><span class="linenos">886</span></a> <span class="k">return</span> <span class="kc">False</span>
+</span><span id="Tokenizer-887"><a href="#Tokenizer-887"><span class="linenos">887</span></a>
+</span><span id="Tokenizer-888"><a href="#Tokenizer-888"><span class="linenos">888</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">start</span><span class="p">))</span>
+</span><span id="Tokenizer-889"><a href="#Tokenizer-889"><span class="linenos">889</span></a> <span class="n">text</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_extract_string</span><span class="p">(</span><span class="n">end</span><span class="p">)</span>
+</span><span id="Tokenizer-890"><a href="#Tokenizer-890"><span class="linenos">890</span></a>
+</span><span id="Tokenizer-891"><a href="#Tokenizer-891"><span class="linenos">891</span></a> <span class="k">if</span> <span class="n">base</span><span class="p">:</span>
+</span><span id="Tokenizer-892"><a href="#Tokenizer-892"><span class="linenos">892</span></a> <span class="k">try</span><span class="p">:</span>
+</span><span id="Tokenizer-893"><a href="#Tokenizer-893"><span class="linenos">893</span></a> <span class="nb">int</span><span class="p">(</span><span class="n">text</span><span class="p">,</span> <span class="n">base</span><span class="p">)</span>
+</span><span id="Tokenizer-894"><a href="#Tokenizer-894"><span class="linenos">894</span></a> <span class="k">except</span><span class="p">:</span>
+</span><span id="Tokenizer-895"><a href="#Tokenizer-895"><span class="linenos">895</span></a> <span class="k">raise</span> <span class="n">TokenError</span><span class="p">(</span>
+</span><span id="Tokenizer-896"><a href="#Tokenizer-896"><span class="linenos">896</span></a> <span class="sa">f</span><span class="s2">&quot;Numeric string contains invalid characters from </span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">_line</span><span class="si">}</span><span class="s2">:</span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">_start</span><span class="si">}</span><span class="s2">&quot;</span>
+</span><span id="Tokenizer-897"><a href="#Tokenizer-897"><span class="linenos">897</span></a> <span class="p">)</span>
+</span><span id="Tokenizer-898"><a href="#Tokenizer-898"><span class="linenos">898</span></a>
+</span><span id="Tokenizer-899"><a href="#Tokenizer-899"><span class="linenos">899</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_add</span><span class="p">(</span><span class="n">token_type</span><span class="p">,</span> <span class="n">text</span><span class="p">)</span>
+</span><span id="Tokenizer-900"><a href="#Tokenizer-900"><span class="linenos">900</span></a> <span class="k">return</span> <span class="kc">True</span>
+</span><span id="Tokenizer-901"><a href="#Tokenizer-901"><span class="linenos">901</span></a>
+</span><span id="Tokenizer-902"><a href="#Tokenizer-902"><span class="linenos">902</span></a> <span class="k">def</span> <span class="nf">_scan_identifier</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">identifier_end</span><span class="p">:</span> <span class="nb">str</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
+</span><span id="Tokenizer-903"><a href="#Tokenizer-903"><span class="linenos">903</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">()</span>
+</span><span id="Tokenizer-904"><a href="#Tokenizer-904"><span class="linenos">904</span></a> <span class="n">text</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_extract_string</span><span class="p">(</span><span class="n">identifier_end</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_IDENTIFIER_ESCAPES</span><span class="p">)</span>
+</span><span id="Tokenizer-905"><a href="#Tokenizer-905"><span class="linenos">905</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_add</span><span class="p">(</span><span class="n">TokenType</span><span class="o">.</span><span class="n">IDENTIFIER</span><span class="p">,</span> <span class="n">text</span><span class="p">)</span>
+</span><span id="Tokenizer-906"><a href="#Tokenizer-906"><span class="linenos">906</span></a>
+</span><span id="Tokenizer-907"><a href="#Tokenizer-907"><span class="linenos">907</span></a> <span class="k">def</span> <span class="nf">_scan_var</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
+</span><span id="Tokenizer-908"><a href="#Tokenizer-908"><span class="linenos">908</span></a> <span class="k">while</span> <span class="kc">True</span><span class="p">:</span>
+</span><span id="Tokenizer-909"><a href="#Tokenizer-909"><span class="linenos">909</span></a> <span class="n">char</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span>
+</span><span id="Tokenizer-910"><a href="#Tokenizer-910"><span class="linenos">910</span></a> <span class="k">if</span> <span class="n">char</span> <span class="ow">and</span> <span class="p">(</span><span class="n">char</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">VAR_SINGLE_TOKENS</span> <span class="ow">or</span> <span class="n">char</span> <span class="ow">not</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">SINGLE_TOKENS</span><span class="p">):</span>
+</span><span id="Tokenizer-911"><a href="#Tokenizer-911"><span class="linenos">911</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">(</span><span class="n">alnum</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
+</span><span id="Tokenizer-912"><a href="#Tokenizer-912"><span class="linenos">912</span></a> <span class="k">else</span><span class="p">:</span>
+</span><span id="Tokenizer-913"><a href="#Tokenizer-913"><span class="linenos">913</span></a> <span class="k">break</span>
+</span><span id="Tokenizer-914"><a href="#Tokenizer-914"><span class="linenos">914</span></a>
+</span><span id="Tokenizer-915"><a href="#Tokenizer-915"><span class="linenos">915</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_add</span><span class="p">(</span>
+</span><span id="Tokenizer-916"><a href="#Tokenizer-916"><span class="linenos">916</span></a> <span class="n">TokenType</span><span class="o">.</span><span class="n">VAR</span>
+</span><span id="Tokenizer-917"><a href="#Tokenizer-917"><span class="linenos">917</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">tokens</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">tokens</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">token_type</span> <span class="o">==</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">PARAMETER</span>
+</span><span id="Tokenizer-918"><a href="#Tokenizer-918"><span class="linenos">918</span></a> <span class="k">else</span> <span class="bp">self</span><span class="o">.</span><span class="n">KEYWORDS</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_text</span><span class="o">.</span><span class="n">upper</span><span class="p">(),</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">VAR</span><span class="p">)</span>
+</span><span id="Tokenizer-919"><a href="#Tokenizer-919"><span class="linenos">919</span></a> <span class="p">)</span>
+</span><span id="Tokenizer-920"><a href="#Tokenizer-920"><span class="linenos">920</span></a>
+</span><span id="Tokenizer-921"><a href="#Tokenizer-921"><span class="linenos">921</span></a> <span class="k">def</span> <span class="nf">_extract_string</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">delimiter</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="n">escapes</span><span class="o">=</span><span class="kc">None</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
+</span><span id="Tokenizer-922"><a href="#Tokenizer-922"><span class="linenos">922</span></a> <span class="n">text</span> <span class="o">=</span> <span class="s2">&quot;&quot;</span>
+</span><span id="Tokenizer-923"><a href="#Tokenizer-923"><span class="linenos">923</span></a> <span class="n">delim_size</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">delimiter</span><span class="p">)</span>
+</span><span id="Tokenizer-924"><a href="#Tokenizer-924"><span class="linenos">924</span></a> <span class="n">escapes</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_STRING_ESCAPES</span> <span class="k">if</span> <span class="n">escapes</span> <span class="ow">is</span> <span class="kc">None</span> <span class="k">else</span> <span class="n">escapes</span>
+</span><span id="Tokenizer-925"><a href="#Tokenizer-925"><span class="linenos">925</span></a>
+</span><span id="Tokenizer-926"><a href="#Tokenizer-926"><span class="linenos">926</span></a> <span class="k">while</span> <span class="kc">True</span><span class="p">:</span>
+</span><span id="Tokenizer-927"><a href="#Tokenizer-927"><span class="linenos">927</span></a> <span class="k">if</span> <span class="p">(</span>
+</span><span id="Tokenizer-928"><a href="#Tokenizer-928"><span class="linenos">928</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_char</span> <span class="ow">in</span> <span class="n">escapes</span>
+</span><span id="Tokenizer-929"><a href="#Tokenizer-929"><span class="linenos">929</span></a> <span class="ow">and</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_peek</span> <span class="o">==</span> <span class="n">delimiter</span> <span class="ow">or</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span> <span class="ow">in</span> <span class="n">escapes</span><span class="p">)</span>
+</span><span id="Tokenizer-930"><a href="#Tokenizer-930"><span class="linenos">930</span></a> <span class="ow">and</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_char</span> <span class="ow">not</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">_QUOTES</span> <span class="ow">or</span> <span class="bp">self</span><span class="o">.</span><span class="n">_char</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span><span class="p">)</span>
+</span><span id="Tokenizer-931"><a href="#Tokenizer-931"><span class="linenos">931</span></a> <span class="p">):</span>
+</span><span id="Tokenizer-932"><a href="#Tokenizer-932"><span class="linenos">932</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span> <span class="o">==</span> <span class="n">delimiter</span><span class="p">:</span>
+</span><span id="Tokenizer-933"><a href="#Tokenizer-933"><span class="linenos">933</span></a> <span class="n">text</span> <span class="o">+=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span>
+</span><span id="Tokenizer-934"><a href="#Tokenizer-934"><span class="linenos">934</span></a> <span class="k">else</span><span class="p">:</span>
+</span><span id="Tokenizer-935"><a href="#Tokenizer-935"><span class="linenos">935</span></a> <span class="n">text</span> <span class="o">+=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_char</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span>
+</span><span id="Tokenizer-936"><a href="#Tokenizer-936"><span class="linenos">936</span></a>
+</span><span id="Tokenizer-937"><a href="#Tokenizer-937"><span class="linenos">937</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_current</span> <span class="o">+</span> <span class="mi">1</span> <span class="o">&lt;</span> <span class="bp">self</span><span class="o">.</span><span class="n">size</span><span class="p">:</span>
+</span><span id="Tokenizer-938"><a href="#Tokenizer-938"><span class="linenos">938</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">(</span><span class="mi">2</span><span class="p">)</span>
+</span><span id="Tokenizer-939"><a href="#Tokenizer-939"><span class="linenos">939</span></a> <span class="k">else</span><span class="p">:</span>
+</span><span id="Tokenizer-940"><a href="#Tokenizer-940"><span class="linenos">940</span></a> <span class="k">raise</span> <span class="n">TokenError</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;Missing </span><span class="si">{</span><span class="n">delimiter</span><span class="si">}</span><span class="s2"> from </span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">_line</span><span class="si">}</span><span class="s2">:</span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">_current</span><span class="si">}</span><span class="s2">&quot;</span><span class="p">)</span>
+</span><span id="Tokenizer-941"><a href="#Tokenizer-941"><span class="linenos">941</span></a> <span class="k">else</span><span class="p">:</span>
+</span><span id="Tokenizer-942"><a href="#Tokenizer-942"><span class="linenos">942</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_chars</span><span class="p">(</span><span class="n">delim_size</span><span class="p">)</span> <span class="o">==</span> <span class="n">delimiter</span><span class="p">:</span>
+</span><span id="Tokenizer-943"><a href="#Tokenizer-943"><span class="linenos">943</span></a> <span class="k">if</span> <span class="n">delim_size</span> <span class="o">&gt;</span> <span class="mi">1</span><span class="p">:</span>
+</span><span id="Tokenizer-944"><a href="#Tokenizer-944"><span class="linenos">944</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">(</span><span class="n">delim_size</span> <span class="o">-</span> <span class="mi">1</span><span class="p">)</span>
+</span><span id="Tokenizer-945"><a href="#Tokenizer-945"><span class="linenos">945</span></a> <span class="k">break</span>
+</span><span id="Tokenizer-946"><a href="#Tokenizer-946"><span class="linenos">946</span></a>
+</span><span id="Tokenizer-947"><a href="#Tokenizer-947"><span class="linenos">947</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_end</span><span class="p">:</span>
+</span><span id="Tokenizer-948"><a href="#Tokenizer-948"><span class="linenos">948</span></a> <span class="k">raise</span> <span class="n">TokenError</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;Missing </span><span class="si">{</span><span class="n">delimiter</span><span class="si">}</span><span class="s2"> from </span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">_line</span><span class="si">}</span><span class="s2">:</span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">_start</span><span class="si">}</span><span class="s2">&quot;</span><span class="p">)</span>
+</span><span id="Tokenizer-949"><a href="#Tokenizer-949"><span class="linenos">949</span></a>
+</span><span id="Tokenizer-950"><a href="#Tokenizer-950"><span class="linenos">950</span></a> <span class="k">if</span> <span class="p">(</span>
+</span><span id="Tokenizer-951"><a href="#Tokenizer-951"><span class="linenos">951</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">dialect</span><span class="o">.</span><span class="n">ESCAPE_SEQUENCES</span>
+</span><span id="Tokenizer-952"><a href="#Tokenizer-952"><span class="linenos">952</span></a> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span>
+</span><span id="Tokenizer-953"><a href="#Tokenizer-953"><span class="linenos">953</span></a> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">_char</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">STRING_ESCAPES</span>
+</span><span id="Tokenizer-954"><a href="#Tokenizer-954"><span class="linenos">954</span></a> <span class="p">):</span>
+</span><span id="Tokenizer-955"><a href="#Tokenizer-955"><span class="linenos">955</span></a> <span class="n">escaped_sequence</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">dialect</span><span class="o">.</span><span class="n">ESCAPE_SEQUENCES</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_char</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span><span class="p">)</span>
+</span><span id="Tokenizer-956"><a href="#Tokenizer-956"><span class="linenos">956</span></a> <span class="k">if</span> <span class="n">escaped_sequence</span><span class="p">:</span>
+</span><span id="Tokenizer-957"><a href="#Tokenizer-957"><span class="linenos">957</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">(</span><span class="mi">2</span><span class="p">)</span>
+</span><span id="Tokenizer-958"><a href="#Tokenizer-958"><span class="linenos">958</span></a> <span class="n">text</span> <span class="o">+=</span> <span class="n">escaped_sequence</span>
+</span><span id="Tokenizer-959"><a href="#Tokenizer-959"><span class="linenos">959</span></a> <span class="k">continue</span>
+</span><span id="Tokenizer-960"><a href="#Tokenizer-960"><span class="linenos">960</span></a>
+</span><span id="Tokenizer-961"><a href="#Tokenizer-961"><span class="linenos">961</span></a> <span class="n">current</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_current</span> <span class="o">-</span> <span class="mi">1</span>
+</span><span id="Tokenizer-962"><a href="#Tokenizer-962"><span class="linenos">962</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">(</span><span class="n">alnum</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
+</span><span id="Tokenizer-963"><a href="#Tokenizer-963"><span class="linenos">963</span></a> <span class="n">text</span> <span class="o">+=</span> <span class="bp">self</span><span class="o">.</span><span class="n">sql</span><span class="p">[</span><span class="n">current</span> <span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">_current</span> <span class="o">-</span> <span class="mi">1</span><span class="p">]</span>
+</span><span id="Tokenizer-964"><a href="#Tokenizer-964"><span class="linenos">964</span></a>
+</span><span id="Tokenizer-965"><a href="#Tokenizer-965"><span class="linenos">965</span></a> <span class="k">return</span> <span class="n">text</span>
+</span><span id="Tokenizer-966"><a href="#Tokenizer-966"><span class="linenos">966</span></a>
+</span><span id="Tokenizer-967"><a href="#Tokenizer-967"><span class="linenos">967</span></a> <span class="k">def</span> <span class="nf">tokenize_rs</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">sql</span><span class="p">:</span> <span class="nb">str</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">t</span><span class="o">.</span><span class="n">List</span><span class="p">[</span><span class="n">Token</span><span class="p">]:</span>
+</span><span id="Tokenizer-968"><a href="#Tokenizer-968"><span class="linenos">968</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">_RS_TOKENIZER</span><span class="p">:</span>
+</span><span id="Tokenizer-969"><a href="#Tokenizer-969"><span class="linenos">969</span></a> <span class="k">raise</span> <span class="n">SqlglotError</span><span class="p">(</span><span class="s2">&quot;Rust tokenizer is not available&quot;</span><span class="p">)</span>
+</span><span id="Tokenizer-970"><a href="#Tokenizer-970"><span class="linenos">970</span></a>
+</span><span id="Tokenizer-971"><a href="#Tokenizer-971"><span class="linenos">971</span></a> <span class="k">try</span><span class="p">:</span>
+</span><span id="Tokenizer-972"><a href="#Tokenizer-972"><span class="linenos">972</span></a> <span class="k">return</span> <span class="p">[</span>
+</span><span id="Tokenizer-973"><a href="#Tokenizer-973"><span class="linenos">973</span></a> <span class="n">Token</span><span class="p">(</span>
+</span><span id="Tokenizer-974"><a href="#Tokenizer-974"><span class="linenos">974</span></a> <span class="n">token_type</span><span class="o">=</span><span class="n">_ALL_TOKEN_TYPES</span><span class="p">[</span><span class="n">token</span><span class="o">.</span><span class="n">token_type</span><span class="o">.</span><span class="n">index</span><span class="p">],</span>
+</span><span id="Tokenizer-975"><a href="#Tokenizer-975"><span class="linenos">975</span></a> <span class="n">text</span><span class="o">=</span><span class="n">token</span><span class="o">.</span><span class="n">text</span><span class="p">,</span>
+</span><span id="Tokenizer-976"><a href="#Tokenizer-976"><span class="linenos">976</span></a> <span class="n">line</span><span class="o">=</span><span class="n">token</span><span class="o">.</span><span class="n">line</span><span class="p">,</span>
+</span><span id="Tokenizer-977"><a href="#Tokenizer-977"><span class="linenos">977</span></a> <span class="n">col</span><span class="o">=</span><span class="n">token</span><span class="o">.</span><span class="n">col</span><span class="p">,</span>
+</span><span id="Tokenizer-978"><a href="#Tokenizer-978"><span class="linenos">978</span></a> <span class="n">start</span><span class="o">=</span><span class="n">token</span><span class="o">.</span><span class="n">start</span><span class="p">,</span>
+</span><span id="Tokenizer-979"><a href="#Tokenizer-979"><span class="linenos">979</span></a> <span class="n">end</span><span class="o">=</span><span class="n">token</span><span class="o">.</span><span class="n">end</span><span class="p">,</span>
+</span><span id="Tokenizer-980"><a href="#Tokenizer-980"><span class="linenos">980</span></a> <span class="n">comments</span><span class="o">=</span><span class="n">token</span><span class="o">.</span><span class="n">comments</span><span class="p">,</span>
+</span><span id="Tokenizer-981"><a href="#Tokenizer-981"><span class="linenos">981</span></a> <span class="p">)</span>
+</span><span id="Tokenizer-982"><a href="#Tokenizer-982"><span class="linenos">982</span></a> <span class="k">for</span> <span class="n">token</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">_RS_TOKENIZER</span><span class="o">.</span><span class="n">tokenize</span><span class="p">(</span><span class="n">sql</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_rs_dialect_settings</span><span class="p">)</span>
+</span><span id="Tokenizer-983"><a href="#Tokenizer-983"><span class="linenos">983</span></a> <span class="p">]</span>
+</span><span id="Tokenizer-984"><a href="#Tokenizer-984"><span class="linenos">984</span></a> <span class="k">except</span> <span class="ne">Exception</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
+</span><span id="Tokenizer-985"><a href="#Tokenizer-985"><span class="linenos">985</span></a> <span class="k">raise</span> <span class="n">TokenError</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="p">))</span>
</span></pre></div>
@@ -7823,11 +2325,18 @@
</div>
<a class="headerlink" href="#Tokenizer.__init__"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Tokenizer.__init__-828"><a href="#Tokenizer.__init__-828"><span class="linenos">828</span></a> <span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">dialect</span><span class="p">:</span> <span class="n">DialectType</span> <span class="o">=</span> <span class="kc">None</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
-</span><span id="Tokenizer.__init__-829"><a href="#Tokenizer.__init__-829"><span class="linenos">829</span></a> <span class="kn">from</span> <span class="nn">sqlglot.dialects</span> <span class="kn">import</span> <span class="n">Dialect</span>
-</span><span id="Tokenizer.__init__-830"><a href="#Tokenizer.__init__-830"><span class="linenos">830</span></a>
-</span><span id="Tokenizer.__init__-831"><a href="#Tokenizer.__init__-831"><span class="linenos">831</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">dialect</span> <span class="o">=</span> <span class="n">Dialect</span><span class="o">.</span><span class="n">get_or_raise</span><span class="p">(</span><span class="n">dialect</span><span class="p">)</span>
-</span><span id="Tokenizer.__init__-832"><a href="#Tokenizer.__init__-832"><span class="linenos">832</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">reset</span><span class="p">()</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Tokenizer.__init__-527"><a href="#Tokenizer.__init__-527"><span class="linenos">527</span></a> <span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">dialect</span><span class="p">:</span> <span class="n">DialectType</span> <span class="o">=</span> <span class="kc">None</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
+</span><span id="Tokenizer.__init__-528"><a href="#Tokenizer.__init__-528"><span class="linenos">528</span></a> <span class="kn">from</span> <span class="nn">sqlglot.dialects</span> <span class="kn">import</span> <span class="n">Dialect</span>
+</span><span id="Tokenizer.__init__-529"><a href="#Tokenizer.__init__-529"><span class="linenos">529</span></a>
+</span><span id="Tokenizer.__init__-530"><a href="#Tokenizer.__init__-530"><span class="linenos">530</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">dialect</span> <span class="o">=</span> <span class="n">Dialect</span><span class="o">.</span><span class="n">get_or_raise</span><span class="p">(</span><span class="n">dialect</span><span class="p">)</span>
+</span><span id="Tokenizer.__init__-531"><a href="#Tokenizer.__init__-531"><span class="linenos">531</span></a>
+</span><span id="Tokenizer.__init__-532"><a href="#Tokenizer.__init__-532"><span class="linenos">532</span></a> <span class="k">if</span> <span class="n">USE_RS_TOKENIZER</span><span class="p">:</span>
+</span><span id="Tokenizer.__init__-533"><a href="#Tokenizer.__init__-533"><span class="linenos">533</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_rs_dialect_settings</span> <span class="o">=</span> <span class="n">RsTokenizerDialectSettings</span><span class="p">(</span>
+</span><span id="Tokenizer.__init__-534"><a href="#Tokenizer.__init__-534"><span class="linenos">534</span></a> <span class="n">escape_sequences</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">dialect</span><span class="o">.</span><span class="n">ESCAPE_SEQUENCES</span><span class="p">,</span>
+</span><span id="Tokenizer.__init__-535"><a href="#Tokenizer.__init__-535"><span class="linenos">535</span></a> <span class="n">identifiers_can_start_with_digit</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">dialect</span><span class="o">.</span><span class="n">IDENTIFIERS_CAN_START_WITH_DIGIT</span><span class="p">,</span>
+</span><span id="Tokenizer.__init__-536"><a href="#Tokenizer.__init__-536"><span class="linenos">536</span></a> <span class="p">)</span>
+</span><span id="Tokenizer.__init__-537"><a href="#Tokenizer.__init__-537"><span class="linenos">537</span></a>
+</span><span id="Tokenizer.__init__-538"><a href="#Tokenizer.__init__-538"><span class="linenos">538</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">reset</span><span class="p">()</span>
</span></pre></div>
@@ -7838,7 +2347,7 @@
<div class="attr variable">
<span class="name">SINGLE_TOKENS</span> =
<input id="Tokenizer.SINGLE_TOKENS-view-value" class="view-value-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
- <label class="view-value-button pdoc-button" for="Tokenizer.SINGLE_TOKENS-view-value"></label><span class="default_value">{&#39;(&#39;: &lt;<a href="#TokenType.L_PAREN">TokenType.L_PAREN</a>: &#39;L_PAREN&#39;&gt;, &#39;)&#39;: &lt;<a href="#TokenType.R_PAREN">TokenType.R_PAREN</a>: &#39;R_PAREN&#39;&gt;, &#39;[&#39;: &lt;<a href="#TokenType.L_BRACKET">TokenType.L_BRACKET</a>: &#39;L_BRACKET&#39;&gt;, &#39;]&#39;: &lt;<a href="#TokenType.R_BRACKET">TokenType.R_BRACKET</a>: &#39;R_BRACKET&#39;&gt;, &#39;{&#39;: &lt;<a href="#TokenType.L_BRACE">TokenType.L_BRACE</a>: &#39;L_BRACE&#39;&gt;, &#39;}&#39;: &lt;<a href="#TokenType.R_BRACE">TokenType.R_BRACE</a>: &#39;R_BRACE&#39;&gt;, &#39;&amp;&#39;: &lt;<a href="#TokenType.AMP">TokenType.AMP</a>: &#39;AMP&#39;&gt;, &#39;^&#39;: &lt;<a href="#TokenType.CARET">TokenType.CARET</a>: &#39;CARET&#39;&gt;, &#39;:&#39;: &lt;<a href="#TokenType.COLON">TokenType.COLON</a>: &#39;COLON&#39;&gt;, &#39;,&#39;: &lt;<a href="#TokenType.COMMA">TokenType.COMMA</a>: &#39;COMMA&#39;&gt;, &#39;.&#39;: &lt;<a href="#TokenType.DOT">TokenType.DOT</a>: &#39;DOT&#39;&gt;, &#39;-&#39;: &lt;<a href="#TokenType.DASH">TokenType.DASH</a>: &#39;DASH&#39;&gt;, &#39;=&#39;: &lt;<a href="#TokenType.EQ">TokenType.EQ</a>: &#39;EQ&#39;&gt;, &#39;&gt;&#39;: &lt;<a href="#TokenType.GT">TokenType.GT</a>: &#39;GT&#39;&gt;, &#39;&lt;&#39;: &lt;<a href="#TokenType.LT">TokenType.LT</a>: &#39;LT&#39;&gt;, &#39;%&#39;: &lt;<a href="#TokenType.MOD">TokenType.MOD</a>: &#39;MOD&#39;&gt;, &#39;!&#39;: &lt;<a href="#TokenType.NOT">TokenType.NOT</a>: &#39;NOT&#39;&gt;, &#39;|&#39;: &lt;<a href="#TokenType.PIPE">TokenType.PIPE</a>: &#39;PIPE&#39;&gt;, &#39;+&#39;: &lt;<a href="#TokenType.PLUS">TokenType.PLUS</a>: &#39;PLUS&#39;&gt;, &#39;;&#39;: &lt;<a href="#TokenType.SEMICOLON">TokenType.SEMICOLON</a>: &#39;SEMICOLON&#39;&gt;, &#39;/&#39;: &lt;<a href="#TokenType.SLASH">TokenType.SLASH</a>: &#39;SLASH&#39;&gt;, &#39;\\&#39;: &lt;<a href="#TokenType.BACKSLASH">TokenType.BACKSLASH</a>: &#39;BACKSLASH&#39;&gt;, &#39;*&#39;: &lt;<a href="#TokenType.STAR">TokenType.STAR</a>: &#39;STAR&#39;&gt;, &#39;~&#39;: &lt;<a href="#TokenType.TILDA">TokenType.TILDA</a>: &#39;TILDA&#39;&gt;, &#39;?&#39;: &lt;<a href="#TokenType.PLACEHOLDER">TokenType.PLACEHOLDER</a>: &#39;PLACEHOLDER&#39;&gt;, &#39;@&#39;: &lt;<a href="#TokenType.PARAMETER">TokenType.PARAMETER</a>: &#39;PARAMETER&#39;&gt;, &#34;&#39;&#34;: &lt;<a href="#TokenType.QUOTE">TokenType.QUOTE</a>: &#39;QUOTE&#39;&gt;, &#39;`&#39;: &lt;<a href="#TokenType.IDENTIFIER">TokenType.IDENTIFIER</a>: &#39;IDENTIFIER&#39;&gt;, &#39;&#34;&#39;: &lt;<a href="#TokenType.IDENTIFIER">TokenType.IDENTIFIER</a>: &#39;IDENTIFIER&#39;&gt;, &#39;#&#39;: &lt;<a href="#TokenType.HASH">TokenType.HASH</a>: &#39;HASH&#39;&gt;}</span>
+ <label class="view-value-button pdoc-button" for="Tokenizer.SINGLE_TOKENS-view-value"></label><span class="default_value">{&#39;(&#39;: &lt;TokenType.L_PAREN: &#39;L_PAREN&#39;&gt;, &#39;)&#39;: &lt;TokenType.R_PAREN: &#39;R_PAREN&#39;&gt;, &#39;[&#39;: &lt;TokenType.L_BRACKET: &#39;L_BRACKET&#39;&gt;, &#39;]&#39;: &lt;TokenType.R_BRACKET: &#39;R_BRACKET&#39;&gt;, &#39;{&#39;: &lt;TokenType.L_BRACE: &#39;L_BRACE&#39;&gt;, &#39;}&#39;: &lt;TokenType.R_BRACE: &#39;R_BRACE&#39;&gt;, &#39;&amp;&#39;: &lt;TokenType.AMP: &#39;AMP&#39;&gt;, &#39;^&#39;: &lt;TokenType.CARET: &#39;CARET&#39;&gt;, &#39;:&#39;: &lt;TokenType.COLON: &#39;COLON&#39;&gt;, &#39;,&#39;: &lt;TokenType.COMMA: &#39;COMMA&#39;&gt;, &#39;.&#39;: &lt;TokenType.DOT: &#39;DOT&#39;&gt;, &#39;-&#39;: &lt;TokenType.DASH: &#39;DASH&#39;&gt;, &#39;=&#39;: &lt;TokenType.EQ: &#39;EQ&#39;&gt;, &#39;&gt;&#39;: &lt;TokenType.GT: &#39;GT&#39;&gt;, &#39;&lt;&#39;: &lt;TokenType.LT: &#39;LT&#39;&gt;, &#39;%&#39;: &lt;TokenType.MOD: &#39;MOD&#39;&gt;, &#39;!&#39;: &lt;TokenType.NOT: &#39;NOT&#39;&gt;, &#39;|&#39;: &lt;TokenType.PIPE: &#39;PIPE&#39;&gt;, &#39;+&#39;: &lt;TokenType.PLUS: &#39;PLUS&#39;&gt;, &#39;;&#39;: &lt;TokenType.SEMICOLON: &#39;SEMICOLON&#39;&gt;, &#39;/&#39;: &lt;TokenType.SLASH: &#39;SLASH&#39;&gt;, &#39;\\&#39;: &lt;TokenType.BACKSLASH: &#39;BACKSLASH&#39;&gt;, &#39;*&#39;: &lt;TokenType.STAR: &#39;STAR&#39;&gt;, &#39;~&#39;: &lt;TokenType.TILDA: &#39;TILDA&#39;&gt;, &#39;?&#39;: &lt;TokenType.PLACEHOLDER: &#39;PLACEHOLDER&#39;&gt;, &#39;@&#39;: &lt;TokenType.PARAMETER: &#39;PARAMETER&#39;&gt;, &#34;&#39;&#34;: &lt;TokenType.QUOTE: &#39;QUOTE&#39;&gt;, &#39;`&#39;: &lt;TokenType.IDENTIFIER: &#39;IDENTIFIER&#39;&gt;, &#39;&#34;&#39;: &lt;TokenType.IDENTIFIER: &#39;IDENTIFIER&#39;&gt;, &#39;#&#39;: &lt;TokenType.HASH: &#39;HASH&#39;&gt;}</span>
</div>
@@ -7969,9 +2478,9 @@
</div>
<div id="Tokenizer.KEYWORDS" class="classattr">
<div class="attr variable">
- <span class="name">KEYWORDS</span><span class="annotation">: Dict[str, <a href="#TokenType">TokenType</a>]</span> =
+ <span class="name">KEYWORDS</span><span class="annotation">: Dict[str, <a href="token_type.html#TokenType">sqlglot.token_type.TokenType</a>]</span> =
<input id="Tokenizer.KEYWORDS-view-value" class="view-value-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
- <label class="view-value-button pdoc-button" for="Tokenizer.KEYWORDS-view-value"></label><span class="default_value">{&#39;{%&#39;: &lt;<a href="#TokenType.BLOCK_START">TokenType.BLOCK_START</a>: &#39;BLOCK_START&#39;&gt;, &#39;{%+&#39;: &lt;<a href="#TokenType.BLOCK_START">TokenType.BLOCK_START</a>: &#39;BLOCK_START&#39;&gt;, &#39;{%-&#39;: &lt;<a href="#TokenType.BLOCK_START">TokenType.BLOCK_START</a>: &#39;BLOCK_START&#39;&gt;, &#39;%}&#39;: &lt;<a href="#TokenType.BLOCK_END">TokenType.BLOCK_END</a>: &#39;BLOCK_END&#39;&gt;, &#39;+%}&#39;: &lt;<a href="#TokenType.BLOCK_END">TokenType.BLOCK_END</a>: &#39;BLOCK_END&#39;&gt;, &#39;-%}&#39;: &lt;<a href="#TokenType.BLOCK_END">TokenType.BLOCK_END</a>: &#39;BLOCK_END&#39;&gt;, &#39;{{+&#39;: &lt;<a href="#TokenType.BLOCK_START">TokenType.BLOCK_START</a>: &#39;BLOCK_START&#39;&gt;, &#39;{{-&#39;: &lt;<a href="#TokenType.BLOCK_START">TokenType.BLOCK_START</a>: &#39;BLOCK_START&#39;&gt;, &#39;+}}&#39;: &lt;<a href="#TokenType.BLOCK_END">TokenType.BLOCK_END</a>: &#39;BLOCK_END&#39;&gt;, &#39;-}}&#39;: &lt;<a href="#TokenType.BLOCK_END">TokenType.BLOCK_END</a>: &#39;BLOCK_END&#39;&gt;, &#39;/*+&#39;: &lt;<a href="#TokenType.HINT">TokenType.HINT</a>: &#39;HINT&#39;&gt;, &#39;==&#39;: &lt;<a href="#TokenType.EQ">TokenType.EQ</a>: &#39;EQ&#39;&gt;, &#39;::&#39;: &lt;<a href="#TokenType.DCOLON">TokenType.DCOLON</a>: &#39;DCOLON&#39;&gt;, &#39;||&#39;: &lt;<a href="#TokenType.DPIPE">TokenType.DPIPE</a>: &#39;DPIPE&#39;&gt;, &#39;&gt;=&#39;: &lt;<a href="#TokenType.GTE">TokenType.GTE</a>: &#39;GTE&#39;&gt;, &#39;&lt;=&#39;: &lt;<a href="#TokenType.LTE">TokenType.LTE</a>: &#39;LTE&#39;&gt;, &#39;&lt;&gt;&#39;: &lt;<a href="#TokenType.NEQ">TokenType.NEQ</a>: &#39;NEQ&#39;&gt;, &#39;!=&#39;: &lt;<a href="#TokenType.NEQ">TokenType.NEQ</a>: &#39;NEQ&#39;&gt;, &#39;:=&#39;: &lt;<a href="#TokenType.COLON_EQ">TokenType.COLON_EQ</a>: &#39;COLON_EQ&#39;&gt;, &#39;&lt;=&gt;&#39;: &lt;<a href="#TokenType.NULLSAFE_EQ">TokenType.NULLSAFE_EQ</a>: &#39;NULLSAFE_EQ&#39;&gt;, &#39;-&gt;&#39;: &lt;<a href="#TokenType.ARROW">TokenType.ARROW</a>: &#39;ARROW&#39;&gt;, &#39;-&gt;&gt;&#39;: &lt;<a href="#TokenType.DARROW">TokenType.DARROW</a>: &#39;DARROW&#39;&gt;, &#39;=&gt;&#39;: &lt;<a href="#TokenType.FARROW">TokenType.FARROW</a>: &#39;FARROW&#39;&gt;, &#39;#&gt;&#39;: &lt;<a href="#TokenType.HASH_ARROW">TokenType.HASH_ARROW</a>: &#39;HASH_ARROW&#39;&gt;, &#39;#&gt;&gt;&#39;: &lt;<a href="#TokenType.DHASH_ARROW">TokenType.DHASH_ARROW</a>: &#39;DHASH_ARROW&#39;&gt;, &#39;&lt;-&gt;&#39;: &lt;<a href="#TokenType.LR_ARROW">TokenType.LR_ARROW</a>: &#39;LR_ARROW&#39;&gt;, &#39;&amp;&amp;&#39;: &lt;<a href="#TokenType.DAMP">TokenType.DAMP</a>: &#39;DAMP&#39;&gt;, &#39;??&#39;: &lt;<a href="#TokenType.DQMARK">TokenType.DQMARK</a>: &#39;DQMARK&#39;&gt;, &#39;ALL&#39;: &lt;<a href="#TokenType.ALL">TokenType.ALL</a>: &#39;ALL&#39;&gt;, &#39;ALWAYS&#39;: &lt;<a href="#TokenType.ALWAYS">TokenType.ALWAYS</a>: &#39;ALWAYS&#39;&gt;, &#39;AND&#39;: &lt;<a href="#TokenType.AND">TokenType.AND</a>: &#39;AND&#39;&gt;, &#39;ANTI&#39;: &lt;<a href="#TokenType.ANTI">TokenType.ANTI</a>: &#39;ANTI&#39;&gt;, &#39;ANY&#39;: &lt;<a href="#TokenType.ANY">TokenType.ANY</a>: &#39;ANY&#39;&gt;, &#39;ASC&#39;: &lt;<a href="#TokenType.ASC">TokenType.ASC</a>: &#39;ASC&#39;&gt;, &#39;AS&#39;: &lt;<a href="#TokenType.ALIAS">TokenType.ALIAS</a>: &#39;ALIAS&#39;&gt;, &#39;ASOF&#39;: &lt;<a href="#TokenType.ASOF">TokenType.ASOF</a>: &#39;ASOF&#39;&gt;, &#39;AUTOINCREMENT&#39;: &lt;<a href="#TokenType.AUTO_INCREMENT">TokenType.AUTO_INCREMENT</a>: &#39;AUTO_INCREMENT&#39;&gt;, &#39;AUTO_INCREMENT&#39;: &lt;<a href="#TokenType.AUTO_INCREMENT">TokenType.AUTO_INCREMENT</a>: &#39;AUTO_INCREMENT&#39;&gt;, &#39;BEGIN&#39;: &lt;<a href="#TokenType.BEGIN">TokenType.BEGIN</a>: &#39;BEGIN&#39;&gt;, &#39;BETWEEN&#39;: &lt;<a href="#TokenType.BETWEEN">TokenType.BETWEEN</a>: &#39;BETWEEN&#39;&gt;, &#39;CACHE&#39;: &lt;<a href="#TokenType.CACHE">TokenType.CACHE</a>: &#39;CACHE&#39;&gt;, &#39;UNCACHE&#39;: &lt;<a href="#TokenType.UNCACHE">TokenType.UNCACHE</a>: &#39;UNCACHE&#39;&gt;, &#39;CASE&#39;: &lt;<a href="#TokenType.CASE">TokenType.CASE</a>: &#39;CASE&#39;&gt;, &#39;CHARACTER SET&#39;: &lt;<a href="#TokenType.CHARACTER_SET">TokenType.CHARACTER_SET</a>: &#39;CHARACTER_SET&#39;&gt;, &#39;CLUSTER BY&#39;: &lt;<a href="#TokenType.CLUSTER_BY">TokenType.CLUSTER_BY</a>: &#39;CLUSTER_BY&#39;&gt;, &#39;COLLATE&#39;: &lt;<a href="#TokenType.COLLATE">TokenType.COLLATE</a>: &#39;COLLATE&#39;&gt;, &#39;COLUMN&#39;: &lt;<a href="#TokenType.COLUMN">TokenType.COLUMN</a>: &#39;COLUMN&#39;&gt;, &#39;COMMIT&#39;: &lt;<a href="#TokenType.COMMIT">TokenType.COMMIT</a>: &#39;COMMIT&#39;&gt;, &#39;CONNECT BY&#39;: &lt;<a href="#TokenType.CONNECT_BY">TokenType.CONNECT_BY</a>: &#39;CONNECT_BY&#39;&gt;, &#39;CONSTRAINT&#39;: &lt;<a href="#TokenType.CONSTRAINT">TokenType.CONSTRAINT</a>: &#39;CONSTRAINT&#39;&gt;, &#39;CREATE&#39;: &lt;<a href="#TokenType.CREATE">TokenType.CREATE</a>: &#39;CREATE&#39;&gt;, &#39;CROSS&#39;: &lt;<a href="#TokenType.CROSS">TokenType.CROSS</a>: &#39;CROSS&#39;&gt;, &#39;CUBE&#39;: &lt;<a href="#TokenType.CUBE">TokenType.CUBE</a>: &#39;CUBE&#39;&gt;, &#39;CURRENT_DATE&#39;: &lt;<a href="#TokenType.CURRENT_DATE">TokenType.CURRENT_DATE</a>: &#39;CURRENT_DATE&#39;&gt;, &#39;CURRENT_TIME&#39;: &lt;<a href="#TokenType.CURRENT_TIME">TokenType.CURRENT_TIME</a>: &#39;CURRENT_TIME&#39;&gt;, &#39;CURRENT_TIMESTAMP&#39;: &lt;<a href="#TokenType.CURRENT_TIMESTAMP">TokenType.CURRENT_TIMESTAMP</a>: &#39;CURRENT_TIMESTAMP&#39;&gt;, &#39;CURRENT_USER&#39;: &lt;<a href="#TokenType.CURRENT_USER">TokenType.CURRENT_USER</a>: &#39;CURRENT_USER&#39;&gt;, &#39;DATABASE&#39;: &lt;<a href="#TokenType.DATABASE">TokenType.DATABASE</a>: &#39;DATABASE&#39;&gt;, &#39;DEFAULT&#39;: &lt;<a href="#TokenType.DEFAULT">TokenType.DEFAULT</a>: &#39;DEFAULT&#39;&gt;, &#39;DELETE&#39;: &lt;<a href="#TokenType.DELETE">TokenType.DELETE</a>: &#39;DELETE&#39;&gt;, &#39;DESC&#39;: &lt;<a href="#TokenType.DESC">TokenType.DESC</a>: &#39;DESC&#39;&gt;, &#39;DESCRIBE&#39;: &lt;<a href="#TokenType.DESCRIBE">TokenType.DESCRIBE</a>: &#39;DESCRIBE&#39;&gt;, &#39;DISTINCT&#39;: &lt;<a href="#TokenType.DISTINCT">TokenType.DISTINCT</a>: &#39;DISTINCT&#39;&gt;, &#39;DISTRIBUTE BY&#39;: &lt;<a href="#TokenType.DISTRIBUTE_BY">TokenType.DISTRIBUTE_BY</a>: &#39;DISTRIBUTE_BY&#39;&gt;, &#39;DIV&#39;: &lt;<a href="#TokenType.DIV">TokenType.DIV</a>: &#39;DIV&#39;&gt;, &#39;DROP&#39;: &lt;<a href="#TokenType.DROP">TokenType.DROP</a>: &#39;DROP&#39;&gt;, &#39;ELSE&#39;: &lt;<a href="#TokenType.ELSE">TokenType.ELSE</a>: &#39;ELSE&#39;&gt;, &#39;END&#39;: &lt;<a href="#TokenType.END">TokenType.END</a>: &#39;END&#39;&gt;, &#39;ESCAPE&#39;: &lt;<a href="#TokenType.ESCAPE">TokenType.ESCAPE</a>: &#39;ESCAPE&#39;&gt;, &#39;EXCEPT&#39;: &lt;<a href="#TokenType.EXCEPT">TokenType.EXCEPT</a>: &#39;EXCEPT&#39;&gt;, &#39;EXECUTE&#39;: &lt;<a href="#TokenType.EXECUTE">TokenType.EXECUTE</a>: &#39;EXECUTE&#39;&gt;, &#39;EXISTS&#39;: &lt;<a href="#TokenType.EXISTS">TokenType.EXISTS</a>: &#39;EXISTS&#39;&gt;, &#39;FALSE&#39;: &lt;<a href="#TokenType.FALSE">TokenType.FALSE</a>: &#39;FALSE&#39;&gt;, &#39;FETCH&#39;: &lt;<a href="#TokenType.FETCH">TokenType.FETCH</a>: &#39;FETCH&#39;&gt;, &#39;FILTER&#39;: &lt;<a href="#TokenType.FILTER">TokenType.FILTER</a>: &#39;FILTER&#39;&gt;, &#39;FIRST&#39;: &lt;<a href="#TokenType.FIRST">TokenType.FIRST</a>: &#39;FIRST&#39;&gt;, &#39;FULL&#39;: &lt;<a href="#TokenType.FULL">TokenType.FULL</a>: &#39;FULL&#39;&gt;, &#39;FUNCTION&#39;: &lt;<a href="#TokenType.FUNCTION">TokenType.FUNCTION</a>: &#39;FUNCTION&#39;&gt;, &#39;FOR&#39;: &lt;<a href="#TokenType.FOR">TokenType.FOR</a>: &#39;FOR&#39;&gt;, &#39;FOREIGN KEY&#39;: &lt;<a href="#TokenType.FOREIGN_KEY">TokenType.FOREIGN_KEY</a>: &#39;FOREIGN_KEY&#39;&gt;, &#39;FORMAT&#39;: &lt;<a href="#TokenType.FORMAT">TokenType.FORMAT</a>: &#39;FORMAT&#39;&gt;, &#39;FROM&#39;: &lt;<a href="#TokenType.FROM">TokenType.FROM</a>: &#39;FROM&#39;&gt;, &#39;GEOGRAPHY&#39;: &lt;<a href="#TokenType.GEOGRAPHY">TokenType.GEOGRAPHY</a>: &#39;GEOGRAPHY&#39;&gt;, &#39;GEOMETRY&#39;: &lt;<a href="#TokenType.GEOMETRY">TokenType.GEOMETRY</a>: &#39;GEOMETRY&#39;&gt;, &#39;GLOB&#39;: &lt;<a href="#TokenType.GLOB">TokenType.GLOB</a>: &#39;GLOB&#39;&gt;, &#39;GROUP BY&#39;: &lt;<a href="#TokenType.GROUP_BY">TokenType.GROUP_BY</a>: &#39;GROUP_BY&#39;&gt;, &#39;GROUPING SETS&#39;: &lt;<a href="#TokenType.GROUPING_SETS">TokenType.GROUPING_SETS</a>: &#39;GROUPING_SETS&#39;&gt;, &#39;HAVING&#39;: &lt;<a href="#TokenType.HAVING">TokenType.HAVING</a>: &#39;HAVING&#39;&gt;, &#39;ILIKE&#39;: &lt;<a href="#TokenType.ILIKE">TokenType.ILIKE</a>: &#39;ILIKE&#39;&gt;, &#39;IN&#39;: &lt;<a href="#TokenType.IN">TokenType.IN</a>: &#39;IN&#39;&gt;, &#39;INDEX&#39;: &lt;<a href="#TokenType.INDEX">TokenType.INDEX</a>: &#39;INDEX&#39;&gt;, &#39;INET&#39;: &lt;<a href="#TokenType.INET">TokenType.INET</a>: &#39;INET&#39;&gt;, &#39;INNER&#39;: &lt;<a href="#TokenType.INNER">TokenType.INNER</a>: &#39;INNER&#39;&gt;, &#39;INSERT&#39;: &lt;<a href="#TokenType.INSERT">TokenType.INSERT</a>: &#39;INSERT&#39;&gt;, &#39;INTERVAL&#39;: &lt;<a href="#TokenType.INTERVAL">TokenType.INTERVAL</a>: &#39;INTERVAL&#39;&gt;, &#39;INTERSECT&#39;: &lt;<a href="#TokenType.INTERSECT">TokenType.INTERSECT</a>: &#39;INTERSECT&#39;&gt;, &#39;INTO&#39;: &lt;<a href="#TokenType.INTO">TokenType.INTO</a>: &#39;INTO&#39;&gt;, &#39;IS&#39;: &lt;<a href="#TokenType.IS">TokenType.IS</a>: &#39;IS&#39;&gt;, &#39;ISNULL&#39;: &lt;<a href="#TokenType.ISNULL">TokenType.ISNULL</a>: &#39;ISNULL&#39;&gt;, &#39;JOIN&#39;: &lt;<a href="#TokenType.JOIN">TokenType.JOIN</a>: &#39;JOIN&#39;&gt;, &#39;KEEP&#39;: &lt;<a href="#TokenType.KEEP">TokenType.KEEP</a>: &#39;KEEP&#39;&gt;, &#39;KILL&#39;: &lt;<a href="#TokenType.KILL">TokenType.KILL</a>: &#39;KILL&#39;&gt;, &#39;LATERAL&#39;: &lt;<a href="#TokenType.LATERAL">TokenType.LATERAL</a>: &#39;LATERAL&#39;&gt;, &#39;LEFT&#39;: &lt;<a href="#TokenType.LEFT">TokenType.LEFT</a>: &#39;LEFT&#39;&gt;, &#39;LIKE&#39;: &lt;<a href="#TokenType.LIKE">TokenType.LIKE</a>: &#39;LIKE&#39;&gt;, &#39;LIMIT&#39;: &lt;<a href="#TokenType.LIMIT">TokenType.LIMIT</a>: &#39;LIMIT&#39;&gt;, &#39;LOAD&#39;: &lt;<a href="#TokenType.LOAD">TokenType.LOAD</a>: &#39;LOAD&#39;&gt;, &#39;LOCK&#39;: &lt;<a href="#TokenType.LOCK">TokenType.LOCK</a>: &#39;LOCK&#39;&gt;, &#39;MERGE&#39;: &lt;<a href="#TokenType.MERGE">TokenType.MERGE</a>: &#39;MERGE&#39;&gt;, &#39;NATURAL&#39;: &lt;<a href="#TokenType.NATURAL">TokenType.NATURAL</a>: &#39;NATURAL&#39;&gt;, &#39;NEXT&#39;: &lt;<a href="#TokenType.NEXT">TokenType.NEXT</a>: &#39;NEXT&#39;&gt;, &#39;NOT&#39;: &lt;<a href="#TokenType.NOT">TokenType.NOT</a>: &#39;NOT&#39;&gt;, &#39;NOTNULL&#39;: &lt;<a href="#TokenType.NOTNULL">TokenType.NOTNULL</a>: &#39;NOTNULL&#39;&gt;, &#39;NULL&#39;: &lt;<a href="#TokenType.NULL">TokenType.NULL</a>: &#39;NULL&#39;&gt;, &#39;OBJECT&#39;: &lt;<a href="#TokenType.OBJECT">TokenType.OBJECT</a>: &#39;OBJECT&#39;&gt;, &#39;OFFSET&#39;: &lt;<a href="#TokenType.OFFSET">TokenType.OFFSET</a>: &#39;OFFSET&#39;&gt;, &#39;ON&#39;: &lt;<a href="#TokenType.ON">TokenType.ON</a>: &#39;ON&#39;&gt;, &#39;OR&#39;: &lt;<a href="#TokenType.OR">TokenType.OR</a>: &#39;OR&#39;&gt;, &#39;XOR&#39;: &lt;<a href="#TokenType.XOR">TokenType.XOR</a>: &#39;XOR&#39;&gt;, &#39;ORDER BY&#39;: &lt;<a href="#TokenType.ORDER_BY">TokenType.ORDER_BY</a>: &#39;ORDER_BY&#39;&gt;, &#39;ORDINALITY&#39;: &lt;<a href="#TokenType.ORDINALITY">TokenType.ORDINALITY</a>: &#39;ORDINALITY&#39;&gt;, &#39;OUTER&#39;: &lt;<a href="#TokenType.OUTER">TokenType.OUTER</a>: &#39;OUTER&#39;&gt;, &#39;OVER&#39;: &lt;<a href="#TokenType.OVER">TokenType.OVER</a>: &#39;OVER&#39;&gt;, &#39;OVERLAPS&#39;: &lt;<a href="#TokenType.OVERLAPS">TokenType.OVERLAPS</a>: &#39;OVERLAPS&#39;&gt;, &#39;OVERWRITE&#39;: &lt;<a href="#TokenType.OVERWRITE">TokenType.OVERWRITE</a>: &#39;OVERWRITE&#39;&gt;, &#39;PARTITION&#39;: &lt;<a href="#TokenType.PARTITION">TokenType.PARTITION</a>: &#39;PARTITION&#39;&gt;, &#39;PARTITION BY&#39;: &lt;<a href="#TokenType.PARTITION_BY">TokenType.PARTITION_BY</a>: &#39;PARTITION_BY&#39;&gt;, &#39;PARTITIONED BY&#39;: &lt;<a href="#TokenType.PARTITION_BY">TokenType.PARTITION_BY</a>: &#39;PARTITION_BY&#39;&gt;, &#39;PARTITIONED_BY&#39;: &lt;<a href="#TokenType.PARTITION_BY">TokenType.PARTITION_BY</a>: &#39;PARTITION_BY&#39;&gt;, &#39;PERCENT&#39;: &lt;<a href="#TokenType.PERCENT">TokenType.PERCENT</a>: &#39;PERCENT&#39;&gt;, &#39;PIVOT&#39;: &lt;<a href="#TokenType.PIVOT">TokenType.PIVOT</a>: &#39;PIVOT&#39;&gt;, &#39;PRAGMA&#39;: &lt;<a href="#TokenType.PRAGMA">TokenType.PRAGMA</a>: &#39;PRAGMA&#39;&gt;, &#39;PRIMARY KEY&#39;: &lt;<a href="#TokenType.PRIMARY_KEY">TokenType.PRIMARY_KEY</a>: &#39;PRIMARY_KEY&#39;&gt;, &#39;PROCEDURE&#39;: &lt;<a href="#TokenType.PROCEDURE">TokenType.PROCEDURE</a>: &#39;PROCEDURE&#39;&gt;, &#39;QUALIFY&#39;: &lt;<a href="#TokenType.QUALIFY">TokenType.QUALIFY</a>: &#39;QUALIFY&#39;&gt;, &#39;RANGE&#39;: &lt;<a href="#TokenType.RANGE">TokenType.RANGE</a>: &#39;RANGE&#39;&gt;, &#39;RECURSIVE&#39;: &lt;<a href="#TokenType.RECURSIVE">TokenType.RECURSIVE</a>: &#39;RECURSIVE&#39;&gt;, &#39;REGEXP&#39;: &lt;<a href="#TokenType.RLIKE">TokenType.RLIKE</a>: &#39;RLIKE&#39;&gt;, &#39;REPLACE&#39;: &lt;<a href="#TokenType.REPLACE">TokenType.REPLACE</a>: &#39;REPLACE&#39;&gt;, &#39;RETURNING&#39;: &lt;<a href="#TokenType.RETURNING">TokenType.RETURNING</a>: &#39;RETURNING&#39;&gt;, &#39;REFERENCES&#39;: &lt;<a href="#TokenType.REFERENCES">TokenType.REFERENCES</a>: &#39;REFERENCES&#39;&gt;, &#39;RIGHT&#39;: &lt;<a href="#TokenType.RIGHT">TokenType.RIGHT</a>: &#39;RIGHT&#39;&gt;, &#39;RLIKE&#39;: &lt;<a href="#TokenType.RLIKE">TokenType.RLIKE</a>: &#39;RLIKE&#39;&gt;, &#39;ROLLBACK&#39;: &lt;<a href="#TokenType.ROLLBACK">TokenType.ROLLBACK</a>: &#39;ROLLBACK&#39;&gt;, &#39;ROLLUP&#39;: &lt;<a href="#TokenType.ROLLUP">TokenType.ROLLUP</a>: &#39;ROLLUP&#39;&gt;, &#39;ROW&#39;: &lt;<a href="#TokenType.ROW">TokenType.ROW</a>: &#39;ROW&#39;&gt;, &#39;ROWS&#39;: &lt;<a href="#TokenType.ROWS">TokenType.ROWS</a>: &#39;ROWS&#39;&gt;, &#39;SCHEMA&#39;: &lt;<a href="#TokenType.SCHEMA">TokenType.SCHEMA</a>: &#39;SCHEMA&#39;&gt;, &#39;SELECT&#39;: &lt;<a href="#TokenType.SELECT">TokenType.SELECT</a>: &#39;SELECT&#39;&gt;, &#39;SEMI&#39;: &lt;<a href="#TokenType.SEMI">TokenType.SEMI</a>: &#39;SEMI&#39;&gt;, &#39;SET&#39;: &lt;<a href="#TokenType.SET">TokenType.SET</a>: &#39;SET&#39;&gt;, &#39;SETTINGS&#39;: &lt;<a href="#TokenType.SETTINGS">TokenType.SETTINGS</a>: &#39;SETTINGS&#39;&gt;, &#39;SHOW&#39;: &lt;<a href="#TokenType.SHOW">TokenType.SHOW</a>: &#39;SHOW&#39;&gt;, &#39;SIMILAR TO&#39;: &lt;<a href="#TokenType.SIMILAR_TO">TokenType.SIMILAR_TO</a>: &#39;SIMILAR_TO&#39;&gt;, &#39;SOME&#39;: &lt;<a href="#TokenType.SOME">TokenType.SOME</a>: &#39;SOME&#39;&gt;, &#39;SORT BY&#39;: &lt;<a href="#TokenType.SORT_BY">TokenType.SORT_BY</a>: &#39;SORT_BY&#39;&gt;, &#39;START WITH&#39;: &lt;<a href="#TokenType.START_WITH">TokenType.START_WITH</a>: &#39;START_WITH&#39;&gt;, &#39;TABLE&#39;: &lt;<a href="#TokenType.TABLE">TokenType.TABLE</a>: &#39;TABLE&#39;&gt;, &#39;TABLESAMPLE&#39;: &lt;<a href="#TokenType.TABLE_SAMPLE">TokenType.TABLE_SAMPLE</a>: &#39;TABLE_SAMPLE&#39;&gt;, &#39;TEMP&#39;: &lt;<a href="#TokenType.TEMPORARY">TokenType.TEMPORARY</a>: &#39;TEMPORARY&#39;&gt;, &#39;TEMPORARY&#39;: &lt;<a href="#TokenType.TEMPORARY">TokenType.TEMPORARY</a>: &#39;TEMPORARY&#39;&gt;, &#39;THEN&#39;: &lt;<a href="#TokenType.THEN">TokenType.THEN</a>: &#39;THEN&#39;&gt;, &#39;TRUE&#39;: &lt;<a href="#TokenType.TRUE">TokenType.TRUE</a>: &#39;TRUE&#39;&gt;, &#39;UNION&#39;: &lt;<a href="#TokenType.UNION">TokenType.UNION</a>: &#39;UNION&#39;&gt;, &#39;UNKNOWN&#39;: &lt;<a href="#TokenType.UNKNOWN">TokenType.UNKNOWN</a>: &#39;UNKNOWN&#39;&gt;, &#39;UNNEST&#39;: &lt;<a href="#TokenType.UNNEST">TokenType.UNNEST</a>: &#39;UNNEST&#39;&gt;, &#39;UNPIVOT&#39;: &lt;<a href="#TokenType.UNPIVOT">TokenType.UNPIVOT</a>: &#39;UNPIVOT&#39;&gt;, &#39;UPDATE&#39;: &lt;<a href="#TokenType.UPDATE">TokenType.UPDATE</a>: &#39;UPDATE&#39;&gt;, &#39;USE&#39;: &lt;<a href="#TokenType.USE">TokenType.USE</a>: &#39;USE&#39;&gt;, &#39;USING&#39;: &lt;<a href="#TokenType.USING">TokenType.USING</a>: &#39;USING&#39;&gt;, &#39;UUID&#39;: &lt;<a href="#TokenType.UUID">TokenType.UUID</a>: &#39;UUID&#39;&gt;, &#39;VALUES&#39;: &lt;<a href="#TokenType.VALUES">TokenType.VALUES</a>: &#39;VALUES&#39;&gt;, &#39;VIEW&#39;: &lt;<a href="#TokenType.VIEW">TokenType.VIEW</a>: &#39;VIEW&#39;&gt;, &#39;VOLATILE&#39;: &lt;<a href="#TokenType.VOLATILE">TokenType.VOLATILE</a>: &#39;VOLATILE&#39;&gt;, &#39;WHEN&#39;: &lt;<a href="#TokenType.WHEN">TokenType.WHEN</a>: &#39;WHEN&#39;&gt;, &#39;WHERE&#39;: &lt;<a href="#TokenType.WHERE">TokenType.WHERE</a>: &#39;WHERE&#39;&gt;, &#39;WINDOW&#39;: &lt;<a href="#TokenType.WINDOW">TokenType.WINDOW</a>: &#39;WINDOW&#39;&gt;, &#39;WITH&#39;: &lt;<a href="#TokenType.WITH">TokenType.WITH</a>: &#39;WITH&#39;&gt;, &#39;APPLY&#39;: &lt;<a href="#TokenType.APPLY">TokenType.APPLY</a>: &#39;APPLY&#39;&gt;, &#39;ARRAY&#39;: &lt;<a href="#TokenType.ARRAY">TokenType.ARRAY</a>: &#39;ARRAY&#39;&gt;, &#39;BIT&#39;: &lt;<a href="#TokenType.BIT">TokenType.BIT</a>: &#39;BIT&#39;&gt;, &#39;BOOL&#39;: &lt;<a href="#TokenType.BOOLEAN">TokenType.BOOLEAN</a>: &#39;BOOLEAN&#39;&gt;, &#39;BOOLEAN&#39;: &lt;<a href="#TokenType.BOOLEAN">TokenType.BOOLEAN</a>: &#39;BOOLEAN&#39;&gt;, &#39;BYTE&#39;: &lt;<a href="#TokenType.TINYINT">TokenType.TINYINT</a>: &#39;TINYINT&#39;&gt;, &#39;MEDIUMINT&#39;: &lt;<a href="#TokenType.MEDIUMINT">TokenType.MEDIUMINT</a>: &#39;MEDIUMINT&#39;&gt;, &#39;INT1&#39;: &lt;<a href="#TokenType.TINYINT">TokenType.TINYINT</a>: &#39;TINYINT&#39;&gt;, &#39;TINYINT&#39;: &lt;<a href="#TokenType.TINYINT">TokenType.TINYINT</a>: &#39;TINYINT&#39;&gt;, &#39;INT16&#39;: &lt;<a href="#TokenType.SMALLINT">TokenType.SMALLINT</a>: &#39;SMALLINT&#39;&gt;, &#39;SHORT&#39;: &lt;<a href="#TokenType.SMALLINT">TokenType.SMALLINT</a>: &#39;SMALLINT&#39;&gt;, &#39;SMALLINT&#39;: &lt;<a href="#TokenType.SMALLINT">TokenType.SMALLINT</a>: &#39;SMALLINT&#39;&gt;, &#39;INT128&#39;: &lt;<a href="#TokenType.INT128">TokenType.INT128</a>: &#39;INT128&#39;&gt;, &#39;HUGEINT&#39;: &lt;<a href="#TokenType.INT128">TokenType.INT128</a>: &#39;INT128&#39;&gt;, &#39;INT2&#39;: &lt;<a href="#TokenType.SMALLINT">TokenType.SMALLINT</a>: &#39;SMALLINT&#39;&gt;, &#39;INTEGER&#39;: &lt;<a href="#TokenType.INT">TokenType.INT</a>: &#39;INT&#39;&gt;, &#39;INT&#39;: &lt;<a href="#TokenType.INT">TokenType.INT</a>: &#39;INT&#39;&gt;, &#39;INT4&#39;: &lt;<a href="#TokenType.INT">TokenType.INT</a>: &#39;INT&#39;&gt;, &#39;INT32&#39;: &lt;<a href="#TokenType.INT">TokenType.INT</a>: &#39;INT&#39;&gt;, &#39;INT64&#39;: &lt;<a href="#TokenType.BIGINT">TokenType.BIGINT</a>: &#39;BIGINT&#39;&gt;, &#39;LONG&#39;: &lt;<a href="#TokenType.BIGINT">TokenType.BIGINT</a>: &#39;BIGINT&#39;&gt;, &#39;BIGINT&#39;: &lt;<a href="#TokenType.BIGINT">TokenType.BIGINT</a>: &#39;BIGINT&#39;&gt;, &#39;INT8&#39;: &lt;<a href="#TokenType.TINYINT">TokenType.TINYINT</a>: &#39;TINYINT&#39;&gt;, &#39;DEC&#39;: &lt;<a href="#TokenType.DECIMAL">TokenType.DECIMAL</a>: &#39;DECIMAL&#39;&gt;, &#39;DECIMAL&#39;: &lt;<a href="#TokenType.DECIMAL">TokenType.DECIMAL</a>: &#39;DECIMAL&#39;&gt;, &#39;BIGDECIMAL&#39;: &lt;<a href="#TokenType.BIGDECIMAL">TokenType.BIGDECIMAL</a>: &#39;BIGDECIMAL&#39;&gt;, &#39;BIGNUMERIC&#39;: &lt;<a href="#TokenType.BIGDECIMAL">TokenType.BIGDECIMAL</a>: &#39;BIGDECIMAL&#39;&gt;, &#39;MAP&#39;: &lt;<a href="#TokenType.MAP">TokenType.MAP</a>: &#39;MAP&#39;&gt;, &#39;NULLABLE&#39;: &lt;<a href="#TokenType.NULLABLE">TokenType.NULLABLE</a>: &#39;NULLABLE&#39;&gt;, &#39;NUMBER&#39;: &lt;<a href="#TokenType.DECIMAL">TokenType.DECIMAL</a>: &#39;DECIMAL&#39;&gt;, &#39;NUMERIC&#39;: &lt;<a href="#TokenType.DECIMAL">TokenType.DECIMAL</a>: &#39;DECIMAL&#39;&gt;, &#39;FIXED&#39;: &lt;<a href="#TokenType.DECIMAL">TokenType.DECIMAL</a>: &#39;DECIMAL&#39;&gt;, &#39;REAL&#39;: &lt;<a href="#TokenType.FLOAT">TokenType.FLOAT</a>: &#39;FLOAT&#39;&gt;, &#39;FLOAT&#39;: &lt;<a href="#TokenType.FLOAT">TokenType.FLOAT</a>: &#39;FLOAT&#39;&gt;, &#39;FLOAT4&#39;: &lt;<a href="#TokenType.FLOAT">TokenType.FLOAT</a>: &#39;FLOAT&#39;&gt;, &#39;FLOAT8&#39;: &lt;<a href="#TokenType.DOUBLE">TokenType.DOUBLE</a>: &#39;DOUBLE&#39;&gt;, &#39;DOUBLE&#39;: &lt;<a href="#TokenType.DOUBLE">TokenType.DOUBLE</a>: &#39;DOUBLE&#39;&gt;, &#39;DOUBLE PRECISION&#39;: &lt;<a href="#TokenType.DOUBLE">TokenType.DOUBLE</a>: &#39;DOUBLE&#39;&gt;, &#39;JSON&#39;: &lt;<a href="#TokenType.JSON">TokenType.JSON</a>: &#39;JSON&#39;&gt;, &#39;CHAR&#39;: &lt;<a href="#TokenType.CHAR">TokenType.CHAR</a>: &#39;CHAR&#39;&gt;, &#39;CHARACTER&#39;: &lt;<a href="#TokenType.CHAR">TokenType.CHAR</a>: &#39;CHAR&#39;&gt;, &#39;NCHAR&#39;: &lt;<a href="#TokenType.NCHAR">TokenType.NCHAR</a>: &#39;NCHAR&#39;&gt;, &#39;VARCHAR&#39;: &lt;<a href="#TokenType.VARCHAR">TokenType.VARCHAR</a>: &#39;VARCHAR&#39;&gt;, &#39;VARCHAR2&#39;: &lt;<a href="#TokenType.VARCHAR">TokenType.VARCHAR</a>: &#39;VARCHAR&#39;&gt;, &#39;NVARCHAR&#39;: &lt;<a href="#TokenType.NVARCHAR">TokenType.NVARCHAR</a>: &#39;NVARCHAR&#39;&gt;, &#39;NVARCHAR2&#39;: &lt;<a href="#TokenType.NVARCHAR">TokenType.NVARCHAR</a>: &#39;NVARCHAR&#39;&gt;, &#39;STR&#39;: &lt;<a href="#TokenType.TEXT">TokenType.TEXT</a>: &#39;TEXT&#39;&gt;, &#39;STRING&#39;: &lt;<a href="#TokenType.TEXT">TokenType.TEXT</a>: &#39;TEXT&#39;&gt;, &#39;TEXT&#39;: &lt;<a href="#TokenType.TEXT">TokenType.TEXT</a>: &#39;TEXT&#39;&gt;, &#39;LONGTEXT&#39;: &lt;<a href="#TokenType.LONGTEXT">TokenType.LONGTEXT</a>: &#39;LONGTEXT&#39;&gt;, &#39;MEDIUMTEXT&#39;: &lt;<a href="#TokenType.MEDIUMTEXT">TokenType.MEDIUMTEXT</a>: &#39;MEDIUMTEXT&#39;&gt;, &#39;TINYTEXT&#39;: &lt;<a href="#TokenType.TINYTEXT">TokenType.TINYTEXT</a>: &#39;TINYTEXT&#39;&gt;, &#39;CLOB&#39;: &lt;<a href="#TokenType.TEXT">TokenType.TEXT</a>: &#39;TEXT&#39;&gt;, &#39;LONGVARCHAR&#39;: &lt;<a href="#TokenType.TEXT">TokenType.TEXT</a>: &#39;TEXT&#39;&gt;, &#39;BINARY&#39;: &lt;<a href="#TokenType.BINARY">TokenType.BINARY</a>: &#39;BINARY&#39;&gt;, &#39;BLOB&#39;: &lt;<a href="#TokenType.VARBINARY">TokenType.VARBINARY</a>: &#39;VARBINARY&#39;&gt;, &#39;LONGBLOB&#39;: &lt;<a href="#TokenType.LONGBLOB">TokenType.LONGBLOB</a>: &#39;LONGBLOB&#39;&gt;, &#39;MEDIUMBLOB&#39;: &lt;<a href="#TokenType.MEDIUMBLOB">TokenType.MEDIUMBLOB</a>: &#39;MEDIUMBLOB&#39;&gt;, &#39;TINYBLOB&#39;: &lt;<a href="#TokenType.TINYBLOB">TokenType.TINYBLOB</a>: &#39;TINYBLOB&#39;&gt;, &#39;BYTEA&#39;: &lt;<a href="#TokenType.VARBINARY">TokenType.VARBINARY</a>: &#39;VARBINARY&#39;&gt;, &#39;VARBINARY&#39;: &lt;<a href="#TokenType.VARBINARY">TokenType.VARBINARY</a>: &#39;VARBINARY&#39;&gt;, &#39;TIME&#39;: &lt;<a href="#TokenType.TIME">TokenType.TIME</a>: &#39;TIME&#39;&gt;, &#39;TIMETZ&#39;: &lt;<a href="#TokenType.TIMETZ">TokenType.TIMETZ</a>: &#39;TIMETZ&#39;&gt;, &#39;TIMESTAMP&#39;: &lt;<a href="#TokenType.TIMESTAMP">TokenType.TIMESTAMP</a>: &#39;TIMESTAMP&#39;&gt;, &#39;TIMESTAMPTZ&#39;: &lt;<a href="#TokenType.TIMESTAMPTZ">TokenType.TIMESTAMPTZ</a>: &#39;TIMESTAMPTZ&#39;&gt;, &#39;TIMESTAMPLTZ&#39;: &lt;<a href="#TokenType.TIMESTAMPLTZ">TokenType.TIMESTAMPLTZ</a>: &#39;TIMESTAMPLTZ&#39;&gt;, &#39;DATE&#39;: &lt;<a href="#TokenType.DATE">TokenType.DATE</a>: &#39;DATE&#39;&gt;, &#39;DATETIME&#39;: &lt;<a href="#TokenType.DATETIME">TokenType.DATETIME</a>: &#39;DATETIME&#39;&gt;, &#39;INT4RANGE&#39;: &lt;<a href="#TokenType.INT4RANGE">TokenType.INT4RANGE</a>: &#39;INT4RANGE&#39;&gt;, &#39;INT4MULTIRANGE&#39;: &lt;<a href="#TokenType.INT4MULTIRANGE">TokenType.INT4MULTIRANGE</a>: &#39;INT4MULTIRANGE&#39;&gt;, &#39;INT8RANGE&#39;: &lt;<a href="#TokenType.INT8RANGE">TokenType.INT8RANGE</a>: &#39;INT8RANGE&#39;&gt;, &#39;INT8MULTIRANGE&#39;: &lt;<a href="#TokenType.INT8MULTIRANGE">TokenType.INT8MULTIRANGE</a>: &#39;INT8MULTIRANGE&#39;&gt;, &#39;NUMRANGE&#39;: &lt;<a href="#TokenType.NUMRANGE">TokenType.NUMRANGE</a>: &#39;NUMRANGE&#39;&gt;, &#39;NUMMULTIRANGE&#39;: &lt;<a href="#TokenType.NUMMULTIRANGE">TokenType.NUMMULTIRANGE</a>: &#39;NUMMULTIRANGE&#39;&gt;, &#39;TSRANGE&#39;: &lt;<a href="#TokenType.TSRANGE">TokenType.TSRANGE</a>: &#39;TSRANGE&#39;&gt;, &#39;TSMULTIRANGE&#39;: &lt;<a href="#TokenType.TSMULTIRANGE">TokenType.TSMULTIRANGE</a>: &#39;TSMULTIRANGE&#39;&gt;, &#39;TSTZRANGE&#39;: &lt;<a href="#TokenType.TSTZRANGE">TokenType.TSTZRANGE</a>: &#39;TSTZRANGE&#39;&gt;, &#39;TSTZMULTIRANGE&#39;: &lt;<a href="#TokenType.TSTZMULTIRANGE">TokenType.TSTZMULTIRANGE</a>: &#39;TSTZMULTIRANGE&#39;&gt;, &#39;DATERANGE&#39;: &lt;<a href="#TokenType.DATERANGE">TokenType.DATERANGE</a>: &#39;DATERANGE&#39;&gt;, &#39;DATEMULTIRANGE&#39;: &lt;<a href="#TokenType.DATEMULTIRANGE">TokenType.DATEMULTIRANGE</a>: &#39;DATEMULTIRANGE&#39;&gt;, &#39;UNIQUE&#39;: &lt;<a href="#TokenType.UNIQUE">TokenType.UNIQUE</a>: &#39;UNIQUE&#39;&gt;, &#39;STRUCT&#39;: &lt;<a href="#TokenType.STRUCT">TokenType.STRUCT</a>: &#39;STRUCT&#39;&gt;, &#39;VARIANT&#39;: &lt;<a href="#TokenType.VARIANT">TokenType.VARIANT</a>: &#39;VARIANT&#39;&gt;, &#39;ALTER&#39;: &lt;<a href="#TokenType.ALTER">TokenType.ALTER</a>: &#39;ALTER&#39;&gt;, &#39;ANALYZE&#39;: &lt;<a href="#TokenType.COMMAND">TokenType.COMMAND</a>: &#39;COMMAND&#39;&gt;, &#39;CALL&#39;: &lt;<a href="#TokenType.COMMAND">TokenType.COMMAND</a>: &#39;COMMAND&#39;&gt;, &#39;COMMENT&#39;: &lt;<a href="#TokenType.COMMENT">TokenType.COMMENT</a>: &#39;COMMENT&#39;&gt;, &#39;COPY&#39;: &lt;<a href="#TokenType.COMMAND">TokenType.COMMAND</a>: &#39;COMMAND&#39;&gt;, &#39;EXPLAIN&#39;: &lt;<a href="#TokenType.COMMAND">TokenType.COMMAND</a>: &#39;COMMAND&#39;&gt;, &#39;GRANT&#39;: &lt;<a href="#TokenType.COMMAND">TokenType.COMMAND</a>: &#39;COMMAND&#39;&gt;, &#39;OPTIMIZE&#39;: &lt;<a href="#TokenType.COMMAND">TokenType.COMMAND</a>: &#39;COMMAND&#39;&gt;, &#39;PREPARE&#39;: &lt;<a href="#TokenType.COMMAND">TokenType.COMMAND</a>: &#39;COMMAND&#39;&gt;, &#39;TRUNCATE&#39;: &lt;<a href="#TokenType.COMMAND">TokenType.COMMAND</a>: &#39;COMMAND&#39;&gt;, &#39;VACUUM&#39;: &lt;<a href="#TokenType.COMMAND">TokenType.COMMAND</a>: &#39;COMMAND&#39;&gt;, &#39;USER-DEFINED&#39;: &lt;<a href="#TokenType.USERDEFINED">TokenType.USERDEFINED</a>: &#39;USERDEFINED&#39;&gt;, &#39;FOR VERSION&#39;: &lt;<a href="#TokenType.VERSION_SNAPSHOT">TokenType.VERSION_SNAPSHOT</a>: &#39;VERSION_SNAPSHOT&#39;&gt;, &#39;FOR TIMESTAMP&#39;: &lt;<a href="#TokenType.TIMESTAMP_SNAPSHOT">TokenType.TIMESTAMP_SNAPSHOT</a>: &#39;TIMESTAMP_SNAPSHOT&#39;&gt;}</span>
+ <label class="view-value-button pdoc-button" for="Tokenizer.KEYWORDS-view-value"></label><span class="default_value">{&#39;{%&#39;: &lt;TokenType.BLOCK_START: &#39;BLOCK_START&#39;&gt;, &#39;{%+&#39;: &lt;TokenType.BLOCK_START: &#39;BLOCK_START&#39;&gt;, &#39;{%-&#39;: &lt;TokenType.BLOCK_START: &#39;BLOCK_START&#39;&gt;, &#39;%}&#39;: &lt;TokenType.BLOCK_END: &#39;BLOCK_END&#39;&gt;, &#39;+%}&#39;: &lt;TokenType.BLOCK_END: &#39;BLOCK_END&#39;&gt;, &#39;-%}&#39;: &lt;TokenType.BLOCK_END: &#39;BLOCK_END&#39;&gt;, &#39;{{+&#39;: &lt;TokenType.BLOCK_START: &#39;BLOCK_START&#39;&gt;, &#39;{{-&#39;: &lt;TokenType.BLOCK_START: &#39;BLOCK_START&#39;&gt;, &#39;+}}&#39;: &lt;TokenType.BLOCK_END: &#39;BLOCK_END&#39;&gt;, &#39;-}}&#39;: &lt;TokenType.BLOCK_END: &#39;BLOCK_END&#39;&gt;, &#39;/*+&#39;: &lt;TokenType.HINT: &#39;HINT&#39;&gt;, &#39;==&#39;: &lt;TokenType.EQ: &#39;EQ&#39;&gt;, &#39;::&#39;: &lt;TokenType.DCOLON: &#39;DCOLON&#39;&gt;, &#39;||&#39;: &lt;TokenType.DPIPE: &#39;DPIPE&#39;&gt;, &#39;&gt;=&#39;: &lt;TokenType.GTE: &#39;GTE&#39;&gt;, &#39;&lt;=&#39;: &lt;TokenType.LTE: &#39;LTE&#39;&gt;, &#39;&lt;&gt;&#39;: &lt;TokenType.NEQ: &#39;NEQ&#39;&gt;, &#39;!=&#39;: &lt;TokenType.NEQ: &#39;NEQ&#39;&gt;, &#39;:=&#39;: &lt;TokenType.COLON_EQ: &#39;COLON_EQ&#39;&gt;, &#39;&lt;=&gt;&#39;: &lt;TokenType.NULLSAFE_EQ: &#39;NULLSAFE_EQ&#39;&gt;, &#39;-&gt;&#39;: &lt;TokenType.ARROW: &#39;ARROW&#39;&gt;, &#39;-&gt;&gt;&#39;: &lt;TokenType.DARROW: &#39;DARROW&#39;&gt;, &#39;=&gt;&#39;: &lt;TokenType.FARROW: &#39;FARROW&#39;&gt;, &#39;#&gt;&#39;: &lt;TokenType.HASH_ARROW: &#39;HASH_ARROW&#39;&gt;, &#39;#&gt;&gt;&#39;: &lt;TokenType.DHASH_ARROW: &#39;DHASH_ARROW&#39;&gt;, &#39;&lt;-&gt;&#39;: &lt;TokenType.LR_ARROW: &#39;LR_ARROW&#39;&gt;, &#39;&amp;&amp;&#39;: &lt;TokenType.DAMP: &#39;DAMP&#39;&gt;, &#39;??&#39;: &lt;TokenType.DQMARK: &#39;DQMARK&#39;&gt;, &#39;ALL&#39;: &lt;TokenType.ALL: &#39;ALL&#39;&gt;, &#39;ALWAYS&#39;: &lt;TokenType.ALWAYS: &#39;ALWAYS&#39;&gt;, &#39;AND&#39;: &lt;TokenType.AND: &#39;AND&#39;&gt;, &#39;ANTI&#39;: &lt;TokenType.ANTI: &#39;ANTI&#39;&gt;, &#39;ANY&#39;: &lt;TokenType.ANY: &#39;ANY&#39;&gt;, &#39;ASC&#39;: &lt;TokenType.ASC: &#39;ASC&#39;&gt;, &#39;AS&#39;: &lt;TokenType.ALIAS: &#39;ALIAS&#39;&gt;, &#39;ASOF&#39;: &lt;TokenType.ASOF: &#39;ASOF&#39;&gt;, &#39;AUTOINCREMENT&#39;: &lt;TokenType.AUTO_INCREMENT: &#39;AUTO_INCREMENT&#39;&gt;, &#39;AUTO_INCREMENT&#39;: &lt;TokenType.AUTO_INCREMENT: &#39;AUTO_INCREMENT&#39;&gt;, &#39;BEGIN&#39;: &lt;TokenType.BEGIN: &#39;BEGIN&#39;&gt;, &#39;BETWEEN&#39;: &lt;TokenType.BETWEEN: &#39;BETWEEN&#39;&gt;, &#39;CACHE&#39;: &lt;TokenType.CACHE: &#39;CACHE&#39;&gt;, &#39;UNCACHE&#39;: &lt;TokenType.UNCACHE: &#39;UNCACHE&#39;&gt;, &#39;CASE&#39;: &lt;TokenType.CASE: &#39;CASE&#39;&gt;, &#39;CHARACTER SET&#39;: &lt;TokenType.CHARACTER_SET: &#39;CHARACTER_SET&#39;&gt;, &#39;CLUSTER BY&#39;: &lt;TokenType.CLUSTER_BY: &#39;CLUSTER_BY&#39;&gt;, &#39;COLLATE&#39;: &lt;TokenType.COLLATE: &#39;COLLATE&#39;&gt;, &#39;COLUMN&#39;: &lt;TokenType.COLUMN: &#39;COLUMN&#39;&gt;, &#39;COMMIT&#39;: &lt;TokenType.COMMIT: &#39;COMMIT&#39;&gt;, &#39;CONNECT BY&#39;: &lt;TokenType.CONNECT_BY: &#39;CONNECT_BY&#39;&gt;, &#39;CONSTRAINT&#39;: &lt;TokenType.CONSTRAINT: &#39;CONSTRAINT&#39;&gt;, &#39;CREATE&#39;: &lt;TokenType.CREATE: &#39;CREATE&#39;&gt;, &#39;CROSS&#39;: &lt;TokenType.CROSS: &#39;CROSS&#39;&gt;, &#39;CUBE&#39;: &lt;TokenType.CUBE: &#39;CUBE&#39;&gt;, &#39;CURRENT_DATE&#39;: &lt;TokenType.CURRENT_DATE: &#39;CURRENT_DATE&#39;&gt;, &#39;CURRENT_TIME&#39;: &lt;TokenType.CURRENT_TIME: &#39;CURRENT_TIME&#39;&gt;, &#39;CURRENT_TIMESTAMP&#39;: &lt;TokenType.CURRENT_TIMESTAMP: &#39;CURRENT_TIMESTAMP&#39;&gt;, &#39;CURRENT_USER&#39;: &lt;TokenType.CURRENT_USER: &#39;CURRENT_USER&#39;&gt;, &#39;DATABASE&#39;: &lt;TokenType.DATABASE: &#39;DATABASE&#39;&gt;, &#39;DEFAULT&#39;: &lt;TokenType.DEFAULT: &#39;DEFAULT&#39;&gt;, &#39;DELETE&#39;: &lt;TokenType.DELETE: &#39;DELETE&#39;&gt;, &#39;DESC&#39;: &lt;TokenType.DESC: &#39;DESC&#39;&gt;, &#39;DESCRIBE&#39;: &lt;TokenType.DESCRIBE: &#39;DESCRIBE&#39;&gt;, &#39;DISTINCT&#39;: &lt;TokenType.DISTINCT: &#39;DISTINCT&#39;&gt;, &#39;DISTRIBUTE BY&#39;: &lt;TokenType.DISTRIBUTE_BY: &#39;DISTRIBUTE_BY&#39;&gt;, &#39;DIV&#39;: &lt;TokenType.DIV: &#39;DIV&#39;&gt;, &#39;DROP&#39;: &lt;TokenType.DROP: &#39;DROP&#39;&gt;, &#39;ELSE&#39;: &lt;TokenType.ELSE: &#39;ELSE&#39;&gt;, &#39;END&#39;: &lt;TokenType.END: &#39;END&#39;&gt;, &#39;ESCAPE&#39;: &lt;TokenType.ESCAPE: &#39;ESCAPE&#39;&gt;, &#39;EXCEPT&#39;: &lt;TokenType.EXCEPT: &#39;EXCEPT&#39;&gt;, &#39;EXECUTE&#39;: &lt;TokenType.EXECUTE: &#39;EXECUTE&#39;&gt;, &#39;EXISTS&#39;: &lt;TokenType.EXISTS: &#39;EXISTS&#39;&gt;, &#39;FALSE&#39;: &lt;TokenType.FALSE: &#39;FALSE&#39;&gt;, &#39;FETCH&#39;: &lt;TokenType.FETCH: &#39;FETCH&#39;&gt;, &#39;FILTER&#39;: &lt;TokenType.FILTER: &#39;FILTER&#39;&gt;, &#39;FIRST&#39;: &lt;TokenType.FIRST: &#39;FIRST&#39;&gt;, &#39;FULL&#39;: &lt;TokenType.FULL: &#39;FULL&#39;&gt;, &#39;FUNCTION&#39;: &lt;TokenType.FUNCTION: &#39;FUNCTION&#39;&gt;, &#39;FOR&#39;: &lt;TokenType.FOR: &#39;FOR&#39;&gt;, &#39;FOREIGN KEY&#39;: &lt;TokenType.FOREIGN_KEY: &#39;FOREIGN_KEY&#39;&gt;, &#39;FORMAT&#39;: &lt;TokenType.FORMAT: &#39;FORMAT&#39;&gt;, &#39;FROM&#39;: &lt;TokenType.FROM: &#39;FROM&#39;&gt;, &#39;GEOGRAPHY&#39;: &lt;TokenType.GEOGRAPHY: &#39;GEOGRAPHY&#39;&gt;, &#39;GEOMETRY&#39;: &lt;TokenType.GEOMETRY: &#39;GEOMETRY&#39;&gt;, &#39;GLOB&#39;: &lt;TokenType.GLOB: &#39;GLOB&#39;&gt;, &#39;GROUP BY&#39;: &lt;TokenType.GROUP_BY: &#39;GROUP_BY&#39;&gt;, &#39;GROUPING SETS&#39;: &lt;TokenType.GROUPING_SETS: &#39;GROUPING_SETS&#39;&gt;, &#39;HAVING&#39;: &lt;TokenType.HAVING: &#39;HAVING&#39;&gt;, &#39;ILIKE&#39;: &lt;TokenType.ILIKE: &#39;ILIKE&#39;&gt;, &#39;IN&#39;: &lt;TokenType.IN: &#39;IN&#39;&gt;, &#39;INDEX&#39;: &lt;TokenType.INDEX: &#39;INDEX&#39;&gt;, &#39;INET&#39;: &lt;TokenType.INET: &#39;INET&#39;&gt;, &#39;INNER&#39;: &lt;TokenType.INNER: &#39;INNER&#39;&gt;, &#39;INSERT&#39;: &lt;TokenType.INSERT: &#39;INSERT&#39;&gt;, &#39;INTERVAL&#39;: &lt;TokenType.INTERVAL: &#39;INTERVAL&#39;&gt;, &#39;INTERSECT&#39;: &lt;TokenType.INTERSECT: &#39;INTERSECT&#39;&gt;, &#39;INTO&#39;: &lt;TokenType.INTO: &#39;INTO&#39;&gt;, &#39;IS&#39;: &lt;TokenType.IS: &#39;IS&#39;&gt;, &#39;ISNULL&#39;: &lt;TokenType.ISNULL: &#39;ISNULL&#39;&gt;, &#39;JOIN&#39;: &lt;TokenType.JOIN: &#39;JOIN&#39;&gt;, &#39;KEEP&#39;: &lt;TokenType.KEEP: &#39;KEEP&#39;&gt;, &#39;KILL&#39;: &lt;TokenType.KILL: &#39;KILL&#39;&gt;, &#39;LATERAL&#39;: &lt;TokenType.LATERAL: &#39;LATERAL&#39;&gt;, &#39;LEFT&#39;: &lt;TokenType.LEFT: &#39;LEFT&#39;&gt;, &#39;LIKE&#39;: &lt;TokenType.LIKE: &#39;LIKE&#39;&gt;, &#39;LIMIT&#39;: &lt;TokenType.LIMIT: &#39;LIMIT&#39;&gt;, &#39;LOAD&#39;: &lt;TokenType.LOAD: &#39;LOAD&#39;&gt;, &#39;LOCK&#39;: &lt;TokenType.LOCK: &#39;LOCK&#39;&gt;, &#39;MERGE&#39;: &lt;TokenType.MERGE: &#39;MERGE&#39;&gt;, &#39;NATURAL&#39;: &lt;TokenType.NATURAL: &#39;NATURAL&#39;&gt;, &#39;NEXT&#39;: &lt;TokenType.NEXT: &#39;NEXT&#39;&gt;, &#39;NOT&#39;: &lt;TokenType.NOT: &#39;NOT&#39;&gt;, &#39;NOTNULL&#39;: &lt;TokenType.NOTNULL: &#39;NOTNULL&#39;&gt;, &#39;NULL&#39;: &lt;TokenType.NULL: &#39;NULL&#39;&gt;, &#39;OBJECT&#39;: &lt;TokenType.OBJECT: &#39;OBJECT&#39;&gt;, &#39;OFFSET&#39;: &lt;TokenType.OFFSET: &#39;OFFSET&#39;&gt;, &#39;ON&#39;: &lt;TokenType.ON: &#39;ON&#39;&gt;, &#39;OR&#39;: &lt;TokenType.OR: &#39;OR&#39;&gt;, &#39;XOR&#39;: &lt;TokenType.XOR: &#39;XOR&#39;&gt;, &#39;ORDER BY&#39;: &lt;TokenType.ORDER_BY: &#39;ORDER_BY&#39;&gt;, &#39;ORDINALITY&#39;: &lt;TokenType.ORDINALITY: &#39;ORDINALITY&#39;&gt;, &#39;OUTER&#39;: &lt;TokenType.OUTER: &#39;OUTER&#39;&gt;, &#39;OVER&#39;: &lt;TokenType.OVER: &#39;OVER&#39;&gt;, &#39;OVERLAPS&#39;: &lt;TokenType.OVERLAPS: &#39;OVERLAPS&#39;&gt;, &#39;OVERWRITE&#39;: &lt;TokenType.OVERWRITE: &#39;OVERWRITE&#39;&gt;, &#39;PARTITION&#39;: &lt;TokenType.PARTITION: &#39;PARTITION&#39;&gt;, &#39;PARTITION BY&#39;: &lt;TokenType.PARTITION_BY: &#39;PARTITION_BY&#39;&gt;, &#39;PARTITIONED BY&#39;: &lt;TokenType.PARTITION_BY: &#39;PARTITION_BY&#39;&gt;, &#39;PARTITIONED_BY&#39;: &lt;TokenType.PARTITION_BY: &#39;PARTITION_BY&#39;&gt;, &#39;PERCENT&#39;: &lt;TokenType.PERCENT: &#39;PERCENT&#39;&gt;, &#39;PIVOT&#39;: &lt;TokenType.PIVOT: &#39;PIVOT&#39;&gt;, &#39;PRAGMA&#39;: &lt;TokenType.PRAGMA: &#39;PRAGMA&#39;&gt;, &#39;PRIMARY KEY&#39;: &lt;TokenType.PRIMARY_KEY: &#39;PRIMARY_KEY&#39;&gt;, &#39;PROCEDURE&#39;: &lt;TokenType.PROCEDURE: &#39;PROCEDURE&#39;&gt;, &#39;QUALIFY&#39;: &lt;TokenType.QUALIFY: &#39;QUALIFY&#39;&gt;, &#39;RANGE&#39;: &lt;TokenType.RANGE: &#39;RANGE&#39;&gt;, &#39;RECURSIVE&#39;: &lt;TokenType.RECURSIVE: &#39;RECURSIVE&#39;&gt;, &#39;REGEXP&#39;: &lt;TokenType.RLIKE: &#39;RLIKE&#39;&gt;, &#39;REPLACE&#39;: &lt;TokenType.REPLACE: &#39;REPLACE&#39;&gt;, &#39;RETURNING&#39;: &lt;TokenType.RETURNING: &#39;RETURNING&#39;&gt;, &#39;REFERENCES&#39;: &lt;TokenType.REFERENCES: &#39;REFERENCES&#39;&gt;, &#39;RIGHT&#39;: &lt;TokenType.RIGHT: &#39;RIGHT&#39;&gt;, &#39;RLIKE&#39;: &lt;TokenType.RLIKE: &#39;RLIKE&#39;&gt;, &#39;ROLLBACK&#39;: &lt;TokenType.ROLLBACK: &#39;ROLLBACK&#39;&gt;, &#39;ROLLUP&#39;: &lt;TokenType.ROLLUP: &#39;ROLLUP&#39;&gt;, &#39;ROW&#39;: &lt;TokenType.ROW: &#39;ROW&#39;&gt;, &#39;ROWS&#39;: &lt;TokenType.ROWS: &#39;ROWS&#39;&gt;, &#39;SCHEMA&#39;: &lt;TokenType.SCHEMA: &#39;SCHEMA&#39;&gt;, &#39;SELECT&#39;: &lt;TokenType.SELECT: &#39;SELECT&#39;&gt;, &#39;SEMI&#39;: &lt;TokenType.SEMI: &#39;SEMI&#39;&gt;, &#39;SET&#39;: &lt;TokenType.SET: &#39;SET&#39;&gt;, &#39;SETTINGS&#39;: &lt;TokenType.SETTINGS: &#39;SETTINGS&#39;&gt;, &#39;SHOW&#39;: &lt;TokenType.SHOW: &#39;SHOW&#39;&gt;, &#39;SIMILAR TO&#39;: &lt;TokenType.SIMILAR_TO: &#39;SIMILAR_TO&#39;&gt;, &#39;SOME&#39;: &lt;TokenType.SOME: &#39;SOME&#39;&gt;, &#39;SORT BY&#39;: &lt;TokenType.SORT_BY: &#39;SORT_BY&#39;&gt;, &#39;START WITH&#39;: &lt;TokenType.START_WITH: &#39;START_WITH&#39;&gt;, &#39;TABLE&#39;: &lt;TokenType.TABLE: &#39;TABLE&#39;&gt;, &#39;TABLESAMPLE&#39;: &lt;TokenType.TABLE_SAMPLE: &#39;TABLE_SAMPLE&#39;&gt;, &#39;TEMP&#39;: &lt;TokenType.TEMPORARY: &#39;TEMPORARY&#39;&gt;, &#39;TEMPORARY&#39;: &lt;TokenType.TEMPORARY: &#39;TEMPORARY&#39;&gt;, &#39;THEN&#39;: &lt;TokenType.THEN: &#39;THEN&#39;&gt;, &#39;TRUE&#39;: &lt;TokenType.TRUE: &#39;TRUE&#39;&gt;, &#39;UNION&#39;: &lt;TokenType.UNION: &#39;UNION&#39;&gt;, &#39;UNKNOWN&#39;: &lt;TokenType.UNKNOWN: &#39;UNKNOWN&#39;&gt;, &#39;UNNEST&#39;: &lt;TokenType.UNNEST: &#39;UNNEST&#39;&gt;, &#39;UNPIVOT&#39;: &lt;TokenType.UNPIVOT: &#39;UNPIVOT&#39;&gt;, &#39;UPDATE&#39;: &lt;TokenType.UPDATE: &#39;UPDATE&#39;&gt;, &#39;USE&#39;: &lt;TokenType.USE: &#39;USE&#39;&gt;, &#39;USING&#39;: &lt;TokenType.USING: &#39;USING&#39;&gt;, &#39;UUID&#39;: &lt;TokenType.UUID: &#39;UUID&#39;&gt;, &#39;VALUES&#39;: &lt;TokenType.VALUES: &#39;VALUES&#39;&gt;, &#39;VIEW&#39;: &lt;TokenType.VIEW: &#39;VIEW&#39;&gt;, &#39;VOLATILE&#39;: &lt;TokenType.VOLATILE: &#39;VOLATILE&#39;&gt;, &#39;WHEN&#39;: &lt;TokenType.WHEN: &#39;WHEN&#39;&gt;, &#39;WHERE&#39;: &lt;TokenType.WHERE: &#39;WHERE&#39;&gt;, &#39;WINDOW&#39;: &lt;TokenType.WINDOW: &#39;WINDOW&#39;&gt;, &#39;WITH&#39;: &lt;TokenType.WITH: &#39;WITH&#39;&gt;, &#39;APPLY&#39;: &lt;TokenType.APPLY: &#39;APPLY&#39;&gt;, &#39;ARRAY&#39;: &lt;TokenType.ARRAY: &#39;ARRAY&#39;&gt;, &#39;BIT&#39;: &lt;TokenType.BIT: &#39;BIT&#39;&gt;, &#39;BOOL&#39;: &lt;TokenType.BOOLEAN: &#39;BOOLEAN&#39;&gt;, &#39;BOOLEAN&#39;: &lt;TokenType.BOOLEAN: &#39;BOOLEAN&#39;&gt;, &#39;BYTE&#39;: &lt;TokenType.TINYINT: &#39;TINYINT&#39;&gt;, &#39;MEDIUMINT&#39;: &lt;TokenType.MEDIUMINT: &#39;MEDIUMINT&#39;&gt;, &#39;INT1&#39;: &lt;TokenType.TINYINT: &#39;TINYINT&#39;&gt;, &#39;TINYINT&#39;: &lt;TokenType.TINYINT: &#39;TINYINT&#39;&gt;, &#39;INT16&#39;: &lt;TokenType.SMALLINT: &#39;SMALLINT&#39;&gt;, &#39;SHORT&#39;: &lt;TokenType.SMALLINT: &#39;SMALLINT&#39;&gt;, &#39;SMALLINT&#39;: &lt;TokenType.SMALLINT: &#39;SMALLINT&#39;&gt;, &#39;INT128&#39;: &lt;TokenType.INT128: &#39;INT128&#39;&gt;, &#39;HUGEINT&#39;: &lt;TokenType.INT128: &#39;INT128&#39;&gt;, &#39;INT2&#39;: &lt;TokenType.SMALLINT: &#39;SMALLINT&#39;&gt;, &#39;INTEGER&#39;: &lt;TokenType.INT: &#39;INT&#39;&gt;, &#39;INT&#39;: &lt;TokenType.INT: &#39;INT&#39;&gt;, &#39;INT4&#39;: &lt;TokenType.INT: &#39;INT&#39;&gt;, &#39;INT32&#39;: &lt;TokenType.INT: &#39;INT&#39;&gt;, &#39;INT64&#39;: &lt;TokenType.BIGINT: &#39;BIGINT&#39;&gt;, &#39;LONG&#39;: &lt;TokenType.BIGINT: &#39;BIGINT&#39;&gt;, &#39;BIGINT&#39;: &lt;TokenType.BIGINT: &#39;BIGINT&#39;&gt;, &#39;INT8&#39;: &lt;TokenType.TINYINT: &#39;TINYINT&#39;&gt;, &#39;DEC&#39;: &lt;TokenType.DECIMAL: &#39;DECIMAL&#39;&gt;, &#39;DECIMAL&#39;: &lt;TokenType.DECIMAL: &#39;DECIMAL&#39;&gt;, &#39;BIGDECIMAL&#39;: &lt;TokenType.BIGDECIMAL: &#39;BIGDECIMAL&#39;&gt;, &#39;BIGNUMERIC&#39;: &lt;TokenType.BIGDECIMAL: &#39;BIGDECIMAL&#39;&gt;, &#39;MAP&#39;: &lt;TokenType.MAP: &#39;MAP&#39;&gt;, &#39;NULLABLE&#39;: &lt;TokenType.NULLABLE: &#39;NULLABLE&#39;&gt;, &#39;NUMBER&#39;: &lt;TokenType.DECIMAL: &#39;DECIMAL&#39;&gt;, &#39;NUMERIC&#39;: &lt;TokenType.DECIMAL: &#39;DECIMAL&#39;&gt;, &#39;FIXED&#39;: &lt;TokenType.DECIMAL: &#39;DECIMAL&#39;&gt;, &#39;REAL&#39;: &lt;TokenType.FLOAT: &#39;FLOAT&#39;&gt;, &#39;FLOAT&#39;: &lt;TokenType.FLOAT: &#39;FLOAT&#39;&gt;, &#39;FLOAT4&#39;: &lt;TokenType.FLOAT: &#39;FLOAT&#39;&gt;, &#39;FLOAT8&#39;: &lt;TokenType.DOUBLE: &#39;DOUBLE&#39;&gt;, &#39;DOUBLE&#39;: &lt;TokenType.DOUBLE: &#39;DOUBLE&#39;&gt;, &#39;DOUBLE PRECISION&#39;: &lt;TokenType.DOUBLE: &#39;DOUBLE&#39;&gt;, &#39;JSON&#39;: &lt;TokenType.JSON: &#39;JSON&#39;&gt;, &#39;CHAR&#39;: &lt;TokenType.CHAR: &#39;CHAR&#39;&gt;, &#39;CHARACTER&#39;: &lt;TokenType.CHAR: &#39;CHAR&#39;&gt;, &#39;NCHAR&#39;: &lt;TokenType.NCHAR: &#39;NCHAR&#39;&gt;, &#39;VARCHAR&#39;: &lt;TokenType.VARCHAR: &#39;VARCHAR&#39;&gt;, &#39;VARCHAR2&#39;: &lt;TokenType.VARCHAR: &#39;VARCHAR&#39;&gt;, &#39;NVARCHAR&#39;: &lt;TokenType.NVARCHAR: &#39;NVARCHAR&#39;&gt;, &#39;NVARCHAR2&#39;: &lt;TokenType.NVARCHAR: &#39;NVARCHAR&#39;&gt;, &#39;STR&#39;: &lt;TokenType.TEXT: &#39;TEXT&#39;&gt;, &#39;STRING&#39;: &lt;TokenType.TEXT: &#39;TEXT&#39;&gt;, &#39;TEXT&#39;: &lt;TokenType.TEXT: &#39;TEXT&#39;&gt;, &#39;LONGTEXT&#39;: &lt;TokenType.LONGTEXT: &#39;LONGTEXT&#39;&gt;, &#39;MEDIUMTEXT&#39;: &lt;TokenType.MEDIUMTEXT: &#39;MEDIUMTEXT&#39;&gt;, &#39;TINYTEXT&#39;: &lt;TokenType.TINYTEXT: &#39;TINYTEXT&#39;&gt;, &#39;CLOB&#39;: &lt;TokenType.TEXT: &#39;TEXT&#39;&gt;, &#39;LONGVARCHAR&#39;: &lt;TokenType.TEXT: &#39;TEXT&#39;&gt;, &#39;BINARY&#39;: &lt;TokenType.BINARY: &#39;BINARY&#39;&gt;, &#39;BLOB&#39;: &lt;TokenType.VARBINARY: &#39;VARBINARY&#39;&gt;, &#39;LONGBLOB&#39;: &lt;TokenType.LONGBLOB: &#39;LONGBLOB&#39;&gt;, &#39;MEDIUMBLOB&#39;: &lt;TokenType.MEDIUMBLOB: &#39;MEDIUMBLOB&#39;&gt;, &#39;TINYBLOB&#39;: &lt;TokenType.TINYBLOB: &#39;TINYBLOB&#39;&gt;, &#39;BYTEA&#39;: &lt;TokenType.VARBINARY: &#39;VARBINARY&#39;&gt;, &#39;VARBINARY&#39;: &lt;TokenType.VARBINARY: &#39;VARBINARY&#39;&gt;, &#39;TIME&#39;: &lt;TokenType.TIME: &#39;TIME&#39;&gt;, &#39;TIMETZ&#39;: &lt;TokenType.TIMETZ: &#39;TIMETZ&#39;&gt;, &#39;TIMESTAMP&#39;: &lt;TokenType.TIMESTAMP: &#39;TIMESTAMP&#39;&gt;, &#39;TIMESTAMPTZ&#39;: &lt;TokenType.TIMESTAMPTZ: &#39;TIMESTAMPTZ&#39;&gt;, &#39;TIMESTAMPLTZ&#39;: &lt;TokenType.TIMESTAMPLTZ: &#39;TIMESTAMPLTZ&#39;&gt;, &#39;DATE&#39;: &lt;TokenType.DATE: &#39;DATE&#39;&gt;, &#39;DATETIME&#39;: &lt;TokenType.DATETIME: &#39;DATETIME&#39;&gt;, &#39;INT4RANGE&#39;: &lt;TokenType.INT4RANGE: &#39;INT4RANGE&#39;&gt;, &#39;INT4MULTIRANGE&#39;: &lt;TokenType.INT4MULTIRANGE: &#39;INT4MULTIRANGE&#39;&gt;, &#39;INT8RANGE&#39;: &lt;TokenType.INT8RANGE: &#39;INT8RANGE&#39;&gt;, &#39;INT8MULTIRANGE&#39;: &lt;TokenType.INT8MULTIRANGE: &#39;INT8MULTIRANGE&#39;&gt;, &#39;NUMRANGE&#39;: &lt;TokenType.NUMRANGE: &#39;NUMRANGE&#39;&gt;, &#39;NUMMULTIRANGE&#39;: &lt;TokenType.NUMMULTIRANGE: &#39;NUMMULTIRANGE&#39;&gt;, &#39;TSRANGE&#39;: &lt;TokenType.TSRANGE: &#39;TSRANGE&#39;&gt;, &#39;TSMULTIRANGE&#39;: &lt;TokenType.TSMULTIRANGE: &#39;TSMULTIRANGE&#39;&gt;, &#39;TSTZRANGE&#39;: &lt;TokenType.TSTZRANGE: &#39;TSTZRANGE&#39;&gt;, &#39;TSTZMULTIRANGE&#39;: &lt;TokenType.TSTZMULTIRANGE: &#39;TSTZMULTIRANGE&#39;&gt;, &#39;DATERANGE&#39;: &lt;TokenType.DATERANGE: &#39;DATERANGE&#39;&gt;, &#39;DATEMULTIRANGE&#39;: &lt;TokenType.DATEMULTIRANGE: &#39;DATEMULTIRANGE&#39;&gt;, &#39;UNIQUE&#39;: &lt;TokenType.UNIQUE: &#39;UNIQUE&#39;&gt;, &#39;STRUCT&#39;: &lt;TokenType.STRUCT: &#39;STRUCT&#39;&gt;, &#39;VARIANT&#39;: &lt;TokenType.VARIANT: &#39;VARIANT&#39;&gt;, &#39;ALTER&#39;: &lt;TokenType.ALTER: &#39;ALTER&#39;&gt;, &#39;ANALYZE&#39;: &lt;TokenType.COMMAND: &#39;COMMAND&#39;&gt;, &#39;CALL&#39;: &lt;TokenType.COMMAND: &#39;COMMAND&#39;&gt;, &#39;COMMENT&#39;: &lt;TokenType.COMMENT: &#39;COMMENT&#39;&gt;, &#39;COPY&#39;: &lt;TokenType.COMMAND: &#39;COMMAND&#39;&gt;, &#39;EXPLAIN&#39;: &lt;TokenType.COMMAND: &#39;COMMAND&#39;&gt;, &#39;GRANT&#39;: &lt;TokenType.COMMAND: &#39;COMMAND&#39;&gt;, &#39;OPTIMIZE&#39;: &lt;TokenType.COMMAND: &#39;COMMAND&#39;&gt;, &#39;PREPARE&#39;: &lt;TokenType.COMMAND: &#39;COMMAND&#39;&gt;, &#39;TRUNCATE&#39;: &lt;TokenType.COMMAND: &#39;COMMAND&#39;&gt;, &#39;VACUUM&#39;: &lt;TokenType.COMMAND: &#39;COMMAND&#39;&gt;, &#39;USER-DEFINED&#39;: &lt;TokenType.USERDEFINED: &#39;USERDEFINED&#39;&gt;, &#39;FOR VERSION&#39;: &lt;TokenType.VERSION_SNAPSHOT: &#39;VERSION_SNAPSHOT&#39;&gt;, &#39;FOR TIMESTAMP&#39;: &lt;TokenType.TIMESTAMP_SNAPSHOT: &#39;TIMESTAMP_SNAPSHOT&#39;&gt;}</span>
</div>
@@ -7982,9 +2491,9 @@
</div>
<div id="Tokenizer.WHITE_SPACE" class="classattr">
<div class="attr variable">
- <span class="name">WHITE_SPACE</span><span class="annotation">: Dict[Optional[str], <a href="#TokenType">TokenType</a>]</span> =
+ <span class="name">WHITE_SPACE</span><span class="annotation">: Dict[Optional[str], <a href="token_type.html#TokenType">sqlglot.token_type.TokenType</a>]</span> =
<input id="Tokenizer.WHITE_SPACE-view-value" class="view-value-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
- <label class="view-value-button pdoc-button" for="Tokenizer.WHITE_SPACE-view-value"></label><span class="default_value">{&#39; &#39;: &lt;<a href="#TokenType.SPACE">TokenType.SPACE</a>: &#39;SPACE&#39;&gt;, &#39;\t&#39;: &lt;<a href="#TokenType.SPACE">TokenType.SPACE</a>: &#39;SPACE&#39;&gt;, &#39;\n&#39;: &lt;<a href="#TokenType.BREAK">TokenType.BREAK</a>: &#39;BREAK&#39;&gt;, &#39;\r&#39;: &lt;<a href="#TokenType.BREAK">TokenType.BREAK</a>: &#39;BREAK&#39;&gt;}</span>
+ <label class="view-value-button pdoc-button" for="Tokenizer.WHITE_SPACE-view-value"></label><span class="default_value">{&#39; &#39;: &lt;TokenType.SPACE: &#39;SPACE&#39;&gt;, &#39;\t&#39;: &lt;TokenType.SPACE: &#39;SPACE&#39;&gt;, &#39;\n&#39;: &lt;TokenType.BREAK: &#39;BREAK&#39;&gt;, &#39;\r&#39;: &lt;TokenType.BREAK: &#39;BREAK&#39;&gt;}</span>
</div>
@@ -7997,7 +2506,7 @@
<div class="attr variable">
<span class="name">COMMANDS</span> =
<input id="Tokenizer.COMMANDS-view-value" class="view-value-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
- <label class="view-value-button pdoc-button" for="Tokenizer.COMMANDS-view-value"></label><span class="default_value">{&lt;<a href="#TokenType.SHOW">TokenType.SHOW</a>: &#39;SHOW&#39;&gt;, &lt;<a href="#TokenType.FETCH">TokenType.FETCH</a>: &#39;FETCH&#39;&gt;, &lt;<a href="#TokenType.EXECUTE">TokenType.EXECUTE</a>: &#39;EXECUTE&#39;&gt;, &lt;<a href="#TokenType.COMMAND">TokenType.COMMAND</a>: &#39;COMMAND&#39;&gt;}</span>
+ <label class="view-value-button pdoc-button" for="Tokenizer.COMMANDS-view-value"></label><span class="default_value">{&lt;TokenType.EXECUTE: &#39;EXECUTE&#39;&gt;, &lt;TokenType.SHOW: &#39;SHOW&#39;&gt;, &lt;TokenType.FETCH: &#39;FETCH&#39;&gt;, &lt;TokenType.COMMAND: &#39;COMMAND&#39;&gt;}</span>
</div>
@@ -8009,7 +2518,7 @@
<div id="Tokenizer.COMMAND_PREFIX_TOKENS" class="classattr">
<div class="attr variable">
<span class="name">COMMAND_PREFIX_TOKENS</span> =
-<span class="default_value">{&lt;<a href="#TokenType.BEGIN">TokenType.BEGIN</a>: &#39;BEGIN&#39;&gt;, &lt;<a href="#TokenType.SEMICOLON">TokenType.SEMICOLON</a>: &#39;SEMICOLON&#39;&gt;}</span>
+<span class="default_value">{&lt;TokenType.BEGIN: &#39;BEGIN&#39;&gt;, &lt;TokenType.SEMICOLON: &#39;SEMICOLON&#39;&gt;}</span>
</div>
@@ -8030,18 +2539,6 @@
</div>
- <div id="Tokenizer.ENCODE" class="classattr">
- <div class="attr variable">
- <span class="name">ENCODE</span><span class="annotation">: Optional[str]</span> =
-<span class="default_value">None</span>
-
-
- </div>
- <a class="headerlink" href="#Tokenizer.ENCODE"></a>
-
-
-
- </div>
<div id="Tokenizer.COMMENTS" class="classattr">
<div class="attr variable">
<span class="name">COMMENTS</span> =
@@ -8076,20 +2573,20 @@
</div>
<a class="headerlink" href="#Tokenizer.reset"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Tokenizer.reset-834"><a href="#Tokenizer.reset-834"><span class="linenos">834</span></a> <span class="k">def</span> <span class="nf">reset</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
-</span><span id="Tokenizer.reset-835"><a href="#Tokenizer.reset-835"><span class="linenos">835</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">sql</span> <span class="o">=</span> <span class="s2">&quot;&quot;</span>
-</span><span id="Tokenizer.reset-836"><a href="#Tokenizer.reset-836"><span class="linenos">836</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">size</span> <span class="o">=</span> <span class="mi">0</span>
-</span><span id="Tokenizer.reset-837"><a href="#Tokenizer.reset-837"><span class="linenos">837</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">tokens</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">List</span><span class="p">[</span><span class="n">Token</span><span class="p">]</span> <span class="o">=</span> <span class="p">[]</span>
-</span><span id="Tokenizer.reset-838"><a href="#Tokenizer.reset-838"><span class="linenos">838</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_start</span> <span class="o">=</span> <span class="mi">0</span>
-</span><span id="Tokenizer.reset-839"><a href="#Tokenizer.reset-839"><span class="linenos">839</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_current</span> <span class="o">=</span> <span class="mi">0</span>
-</span><span id="Tokenizer.reset-840"><a href="#Tokenizer.reset-840"><span class="linenos">840</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_line</span> <span class="o">=</span> <span class="mi">1</span>
-</span><span id="Tokenizer.reset-841"><a href="#Tokenizer.reset-841"><span class="linenos">841</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_col</span> <span class="o">=</span> <span class="mi">0</span>
-</span><span id="Tokenizer.reset-842"><a href="#Tokenizer.reset-842"><span class="linenos">842</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_comments</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">List</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="p">[]</span>
-</span><span id="Tokenizer.reset-843"><a href="#Tokenizer.reset-843"><span class="linenos">843</span></a>
-</span><span id="Tokenizer.reset-844"><a href="#Tokenizer.reset-844"><span class="linenos">844</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_char</span> <span class="o">=</span> <span class="s2">&quot;&quot;</span>
-</span><span id="Tokenizer.reset-845"><a href="#Tokenizer.reset-845"><span class="linenos">845</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_end</span> <span class="o">=</span> <span class="kc">False</span>
-</span><span id="Tokenizer.reset-846"><a href="#Tokenizer.reset-846"><span class="linenos">846</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span> <span class="o">=</span> <span class="s2">&quot;&quot;</span>
-</span><span id="Tokenizer.reset-847"><a href="#Tokenizer.reset-847"><span class="linenos">847</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_prev_token_line</span> <span class="o">=</span> <span class="o">-</span><span class="mi">1</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Tokenizer.reset-540"><a href="#Tokenizer.reset-540"><span class="linenos">540</span></a> <span class="k">def</span> <span class="nf">reset</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
+</span><span id="Tokenizer.reset-541"><a href="#Tokenizer.reset-541"><span class="linenos">541</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">sql</span> <span class="o">=</span> <span class="s2">&quot;&quot;</span>
+</span><span id="Tokenizer.reset-542"><a href="#Tokenizer.reset-542"><span class="linenos">542</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">size</span> <span class="o">=</span> <span class="mi">0</span>
+</span><span id="Tokenizer.reset-543"><a href="#Tokenizer.reset-543"><span class="linenos">543</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">tokens</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">List</span><span class="p">[</span><span class="n">Token</span><span class="p">]</span> <span class="o">=</span> <span class="p">[]</span>
+</span><span id="Tokenizer.reset-544"><a href="#Tokenizer.reset-544"><span class="linenos">544</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_start</span> <span class="o">=</span> <span class="mi">0</span>
+</span><span id="Tokenizer.reset-545"><a href="#Tokenizer.reset-545"><span class="linenos">545</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_current</span> <span class="o">=</span> <span class="mi">0</span>
+</span><span id="Tokenizer.reset-546"><a href="#Tokenizer.reset-546"><span class="linenos">546</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_line</span> <span class="o">=</span> <span class="mi">1</span>
+</span><span id="Tokenizer.reset-547"><a href="#Tokenizer.reset-547"><span class="linenos">547</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_col</span> <span class="o">=</span> <span class="mi">0</span>
+</span><span id="Tokenizer.reset-548"><a href="#Tokenizer.reset-548"><span class="linenos">548</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_comments</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">List</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="p">[]</span>
+</span><span id="Tokenizer.reset-549"><a href="#Tokenizer.reset-549"><span class="linenos">549</span></a>
+</span><span id="Tokenizer.reset-550"><a href="#Tokenizer.reset-550"><span class="linenos">550</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_char</span> <span class="o">=</span> <span class="s2">&quot;&quot;</span>
+</span><span id="Tokenizer.reset-551"><a href="#Tokenizer.reset-551"><span class="linenos">551</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_end</span> <span class="o">=</span> <span class="kc">False</span>
+</span><span id="Tokenizer.reset-552"><a href="#Tokenizer.reset-552"><span class="linenos">552</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span> <span class="o">=</span> <span class="s2">&quot;&quot;</span>
+</span><span id="Tokenizer.reset-553"><a href="#Tokenizer.reset-553"><span class="linenos">553</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_prev_token_line</span> <span class="o">=</span> <span class="o">-</span><span class="mi">1</span>
</span></pre></div>
@@ -8107,21 +2604,24 @@
</div>
<a class="headerlink" href="#Tokenizer.tokenize"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Tokenizer.tokenize-849"><a href="#Tokenizer.tokenize-849"><span class="linenos">849</span></a> <span class="k">def</span> <span class="nf">tokenize</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">sql</span><span class="p">:</span> <span class="nb">str</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">t</span><span class="o">.</span><span class="n">List</span><span class="p">[</span><span class="n">Token</span><span class="p">]:</span>
-</span><span id="Tokenizer.tokenize-850"><a href="#Tokenizer.tokenize-850"><span class="linenos">850</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Returns a list of tokens corresponding to the SQL string `sql`.&quot;&quot;&quot;</span>
-</span><span id="Tokenizer.tokenize-851"><a href="#Tokenizer.tokenize-851"><span class="linenos">851</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">reset</span><span class="p">()</span>
-</span><span id="Tokenizer.tokenize-852"><a href="#Tokenizer.tokenize-852"><span class="linenos">852</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">sql</span> <span class="o">=</span> <span class="n">sql</span>
-</span><span id="Tokenizer.tokenize-853"><a href="#Tokenizer.tokenize-853"><span class="linenos">853</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">size</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">sql</span><span class="p">)</span>
-</span><span id="Tokenizer.tokenize-854"><a href="#Tokenizer.tokenize-854"><span class="linenos">854</span></a>
-</span><span id="Tokenizer.tokenize-855"><a href="#Tokenizer.tokenize-855"><span class="linenos">855</span></a> <span class="k">try</span><span class="p">:</span>
-</span><span id="Tokenizer.tokenize-856"><a href="#Tokenizer.tokenize-856"><span class="linenos">856</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_scan</span><span class="p">()</span>
-</span><span id="Tokenizer.tokenize-857"><a href="#Tokenizer.tokenize-857"><span class="linenos">857</span></a> <span class="k">except</span> <span class="ne">Exception</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
-</span><span id="Tokenizer.tokenize-858"><a href="#Tokenizer.tokenize-858"><span class="linenos">858</span></a> <span class="n">start</span> <span class="o">=</span> <span class="nb">max</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_current</span> <span class="o">-</span> <span class="mi">50</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span>
-</span><span id="Tokenizer.tokenize-859"><a href="#Tokenizer.tokenize-859"><span class="linenos">859</span></a> <span class="n">end</span> <span class="o">=</span> <span class="nb">min</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_current</span> <span class="o">+</span> <span class="mi">50</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">size</span> <span class="o">-</span> <span class="mi">1</span><span class="p">)</span>
-</span><span id="Tokenizer.tokenize-860"><a href="#Tokenizer.tokenize-860"><span class="linenos">860</span></a> <span class="n">context</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">sql</span><span class="p">[</span><span class="n">start</span><span class="p">:</span><span class="n">end</span><span class="p">]</span>
-</span><span id="Tokenizer.tokenize-861"><a href="#Tokenizer.tokenize-861"><span class="linenos">861</span></a> <span class="k">raise</span> <span class="n">TokenError</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;Error tokenizing &#39;</span><span class="si">{</span><span class="n">context</span><span class="si">}</span><span class="s2">&#39;&quot;</span><span class="p">)</span> <span class="kn">from</span> <span class="nn">e</span>
-</span><span id="Tokenizer.tokenize-862"><a href="#Tokenizer.tokenize-862"><span class="linenos">862</span></a>
-</span><span id="Tokenizer.tokenize-863"><a href="#Tokenizer.tokenize-863"><span class="linenos">863</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">tokens</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Tokenizer.tokenize-555"><a href="#Tokenizer.tokenize-555"><span class="linenos">555</span></a> <span class="k">def</span> <span class="nf">tokenize</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">sql</span><span class="p">:</span> <span class="nb">str</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">t</span><span class="o">.</span><span class="n">List</span><span class="p">[</span><span class="n">Token</span><span class="p">]:</span>
+</span><span id="Tokenizer.tokenize-556"><a href="#Tokenizer.tokenize-556"><span class="linenos">556</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Returns a list of tokens corresponding to the SQL string `sql`.&quot;&quot;&quot;</span>
+</span><span id="Tokenizer.tokenize-557"><a href="#Tokenizer.tokenize-557"><span class="linenos">557</span></a> <span class="k">if</span> <span class="n">USE_RS_TOKENIZER</span><span class="p">:</span>
+</span><span id="Tokenizer.tokenize-558"><a href="#Tokenizer.tokenize-558"><span class="linenos">558</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">tokenize_rs</span><span class="p">(</span><span class="n">sql</span><span class="p">)</span>
+</span><span id="Tokenizer.tokenize-559"><a href="#Tokenizer.tokenize-559"><span class="linenos">559</span></a>
+</span><span id="Tokenizer.tokenize-560"><a href="#Tokenizer.tokenize-560"><span class="linenos">560</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">reset</span><span class="p">()</span>
+</span><span id="Tokenizer.tokenize-561"><a href="#Tokenizer.tokenize-561"><span class="linenos">561</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">sql</span> <span class="o">=</span> <span class="n">sql</span>
+</span><span id="Tokenizer.tokenize-562"><a href="#Tokenizer.tokenize-562"><span class="linenos">562</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">size</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">sql</span><span class="p">)</span>
+</span><span id="Tokenizer.tokenize-563"><a href="#Tokenizer.tokenize-563"><span class="linenos">563</span></a>
+</span><span id="Tokenizer.tokenize-564"><a href="#Tokenizer.tokenize-564"><span class="linenos">564</span></a> <span class="k">try</span><span class="p">:</span>
+</span><span id="Tokenizer.tokenize-565"><a href="#Tokenizer.tokenize-565"><span class="linenos">565</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_scan</span><span class="p">()</span>
+</span><span id="Tokenizer.tokenize-566"><a href="#Tokenizer.tokenize-566"><span class="linenos">566</span></a> <span class="k">except</span> <span class="ne">Exception</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
+</span><span id="Tokenizer.tokenize-567"><a href="#Tokenizer.tokenize-567"><span class="linenos">567</span></a> <span class="n">start</span> <span class="o">=</span> <span class="nb">max</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_current</span> <span class="o">-</span> <span class="mi">50</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span>
+</span><span id="Tokenizer.tokenize-568"><a href="#Tokenizer.tokenize-568"><span class="linenos">568</span></a> <span class="n">end</span> <span class="o">=</span> <span class="nb">min</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_current</span> <span class="o">+</span> <span class="mi">50</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">size</span> <span class="o">-</span> <span class="mi">1</span><span class="p">)</span>
+</span><span id="Tokenizer.tokenize-569"><a href="#Tokenizer.tokenize-569"><span class="linenos">569</span></a> <span class="n">context</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">sql</span><span class="p">[</span><span class="n">start</span><span class="p">:</span><span class="n">end</span><span class="p">]</span>
+</span><span id="Tokenizer.tokenize-570"><a href="#Tokenizer.tokenize-570"><span class="linenos">570</span></a> <span class="k">raise</span> <span class="n">TokenError</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;Error tokenizing &#39;</span><span class="si">{</span><span class="n">context</span><span class="si">}</span><span class="s2">&#39;&quot;</span><span class="p">)</span> <span class="kn">from</span> <span class="nn">e</span>
+</span><span id="Tokenizer.tokenize-571"><a href="#Tokenizer.tokenize-571"><span class="linenos">571</span></a>
+</span><span id="Tokenizer.tokenize-572"><a href="#Tokenizer.tokenize-572"><span class="linenos">572</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">tokens</span>
</span></pre></div>
@@ -8141,11 +2641,47 @@
</div>
<a class="headerlink" href="#Tokenizer.peek"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Tokenizer.peek-948"><a href="#Tokenizer.peek-948"><span class="linenos">948</span></a> <span class="k">def</span> <span class="nf">peek</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">i</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">0</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
-</span><span id="Tokenizer.peek-949"><a href="#Tokenizer.peek-949"><span class="linenos">949</span></a> <span class="n">i</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_current</span> <span class="o">+</span> <span class="n">i</span>
-</span><span id="Tokenizer.peek-950"><a href="#Tokenizer.peek-950"><span class="linenos">950</span></a> <span class="k">if</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="bp">self</span><span class="o">.</span><span class="n">size</span><span class="p">:</span>
-</span><span id="Tokenizer.peek-951"><a href="#Tokenizer.peek-951"><span class="linenos">951</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">sql</span><span class="p">[</span><span class="n">i</span><span class="p">]</span>
-</span><span id="Tokenizer.peek-952"><a href="#Tokenizer.peek-952"><span class="linenos">952</span></a> <span class="k">return</span> <span class="s2">&quot;&quot;</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Tokenizer.peek-658"><a href="#Tokenizer.peek-658"><span class="linenos">658</span></a> <span class="k">def</span> <span class="nf">peek</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">i</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">0</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
+</span><span id="Tokenizer.peek-659"><a href="#Tokenizer.peek-659"><span class="linenos">659</span></a> <span class="n">i</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_current</span> <span class="o">+</span> <span class="n">i</span>
+</span><span id="Tokenizer.peek-660"><a href="#Tokenizer.peek-660"><span class="linenos">660</span></a> <span class="k">if</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="bp">self</span><span class="o">.</span><span class="n">size</span><span class="p">:</span>
+</span><span id="Tokenizer.peek-661"><a href="#Tokenizer.peek-661"><span class="linenos">661</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">sql</span><span class="p">[</span><span class="n">i</span><span class="p">]</span>
+</span><span id="Tokenizer.peek-662"><a href="#Tokenizer.peek-662"><span class="linenos">662</span></a> <span class="k">return</span> <span class="s2">&quot;&quot;</span>
+</span></pre></div>
+
+
+
+
+ </div>
+ <div id="Tokenizer.tokenize_rs" class="classattr">
+ <input id="Tokenizer.tokenize_rs-view-source" class="view-source-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
+<div class="attr function">
+
+ <span class="def">def</span>
+ <span class="name">tokenize_rs</span><span class="signature pdoc-code condensed">(<span class="param"><span class="bp">self</span>, </span><span class="param"><span class="n">sql</span><span class="p">:</span> <span class="nb">str</span></span><span class="return-annotation">) -> <span class="n">List</span><span class="p">[</span><span class="n"><a href="#Token">Token</a></span><span class="p">]</span>:</span></span>
+
+ <label class="view-source-button" for="Tokenizer.tokenize_rs-view-source"><span>View Source</span></label>
+
+ </div>
+ <a class="headerlink" href="#Tokenizer.tokenize_rs"></a>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Tokenizer.tokenize_rs-967"><a href="#Tokenizer.tokenize_rs-967"><span class="linenos">967</span></a> <span class="k">def</span> <span class="nf">tokenize_rs</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">sql</span><span class="p">:</span> <span class="nb">str</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">t</span><span class="o">.</span><span class="n">List</span><span class="p">[</span><span class="n">Token</span><span class="p">]:</span>
+</span><span id="Tokenizer.tokenize_rs-968"><a href="#Tokenizer.tokenize_rs-968"><span class="linenos">968</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">_RS_TOKENIZER</span><span class="p">:</span>
+</span><span id="Tokenizer.tokenize_rs-969"><a href="#Tokenizer.tokenize_rs-969"><span class="linenos">969</span></a> <span class="k">raise</span> <span class="n">SqlglotError</span><span class="p">(</span><span class="s2">&quot;Rust tokenizer is not available&quot;</span><span class="p">)</span>
+</span><span id="Tokenizer.tokenize_rs-970"><a href="#Tokenizer.tokenize_rs-970"><span class="linenos">970</span></a>
+</span><span id="Tokenizer.tokenize_rs-971"><a href="#Tokenizer.tokenize_rs-971"><span class="linenos">971</span></a> <span class="k">try</span><span class="p">:</span>
+</span><span id="Tokenizer.tokenize_rs-972"><a href="#Tokenizer.tokenize_rs-972"><span class="linenos">972</span></a> <span class="k">return</span> <span class="p">[</span>
+</span><span id="Tokenizer.tokenize_rs-973"><a href="#Tokenizer.tokenize_rs-973"><span class="linenos">973</span></a> <span class="n">Token</span><span class="p">(</span>
+</span><span id="Tokenizer.tokenize_rs-974"><a href="#Tokenizer.tokenize_rs-974"><span class="linenos">974</span></a> <span class="n">token_type</span><span class="o">=</span><span class="n">_ALL_TOKEN_TYPES</span><span class="p">[</span><span class="n">token</span><span class="o">.</span><span class="n">token_type</span><span class="o">.</span><span class="n">index</span><span class="p">],</span>
+</span><span id="Tokenizer.tokenize_rs-975"><a href="#Tokenizer.tokenize_rs-975"><span class="linenos">975</span></a> <span class="n">text</span><span class="o">=</span><span class="n">token</span><span class="o">.</span><span class="n">text</span><span class="p">,</span>
+</span><span id="Tokenizer.tokenize_rs-976"><a href="#Tokenizer.tokenize_rs-976"><span class="linenos">976</span></a> <span class="n">line</span><span class="o">=</span><span class="n">token</span><span class="o">.</span><span class="n">line</span><span class="p">,</span>
+</span><span id="Tokenizer.tokenize_rs-977"><a href="#Tokenizer.tokenize_rs-977"><span class="linenos">977</span></a> <span class="n">col</span><span class="o">=</span><span class="n">token</span><span class="o">.</span><span class="n">col</span><span class="p">,</span>
+</span><span id="Tokenizer.tokenize_rs-978"><a href="#Tokenizer.tokenize_rs-978"><span class="linenos">978</span></a> <span class="n">start</span><span class="o">=</span><span class="n">token</span><span class="o">.</span><span class="n">start</span><span class="p">,</span>
+</span><span id="Tokenizer.tokenize_rs-979"><a href="#Tokenizer.tokenize_rs-979"><span class="linenos">979</span></a> <span class="n">end</span><span class="o">=</span><span class="n">token</span><span class="o">.</span><span class="n">end</span><span class="p">,</span>
+</span><span id="Tokenizer.tokenize_rs-980"><a href="#Tokenizer.tokenize_rs-980"><span class="linenos">980</span></a> <span class="n">comments</span><span class="o">=</span><span class="n">token</span><span class="o">.</span><span class="n">comments</span><span class="p">,</span>
+</span><span id="Tokenizer.tokenize_rs-981"><a href="#Tokenizer.tokenize_rs-981"><span class="linenos">981</span></a> <span class="p">)</span>
+</span><span id="Tokenizer.tokenize_rs-982"><a href="#Tokenizer.tokenize_rs-982"><span class="linenos">982</span></a> <span class="k">for</span> <span class="n">token</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">_RS_TOKENIZER</span><span class="o">.</span><span class="n">tokenize</span><span class="p">(</span><span class="n">sql</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_rs_dialect_settings</span><span class="p">)</span>
+</span><span id="Tokenizer.tokenize_rs-983"><a href="#Tokenizer.tokenize_rs-983"><span class="linenos">983</span></a> <span class="p">]</span>
+</span><span id="Tokenizer.tokenize_rs-984"><a href="#Tokenizer.tokenize_rs-984"><span class="linenos">984</span></a> <span class="k">except</span> <span class="ne">Exception</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
+</span><span id="Tokenizer.tokenize_rs-985"><a href="#Tokenizer.tokenize_rs-985"><span class="linenos">985</span></a> <span class="k">raise</span> <span class="n">TokenError</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="p">))</span>
</span></pre></div>