1""" 
    2    pygments.lexers._googlesql_builtins 
    3    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4 
    5    Autogenerated data files for the GoogleSQL lexer. 
    6 
    7    :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS. 
    8    :license: BSD, see LICENSE for details. 
    9""" 
    10 
    11constants = [ 
    12    'FALSE', 
    13    'NULL', 
    14    'TRUE', 
    15    'UNKNOWN', 
    16] 
    17 
    18# Everything below this line is auto-generated from the GoogleSQL source code. 
    19# ---------------------------------------------------------------------------- 
    20 
    21functionnames = [ 
    22    'ABS', 
    23    'ACOS', 
    24    'ACOSH', 
    25    'AEAD.DECRYPT_BYTES', 
    26    'AEAD.DECRYPT_STRING', 
    27    'AEAD.ENCRYPT', 
    28    'AEAD.ENVELOPE_DECRYPT_BYTES', 
    29    'AEAD.ENVELOPE_DECRYPT_STRING', 
    30    'AEAD.ENVELOPE_ENCRYPT', 
    31    'ALL_DIFFERENT', 
    32    'ANON_AVG', 
    33    'ANON_COUNT', 
    34    'ANON_COUNT', 
    35    'ANON_PERCENTILE_CONT', 
    36    'ANON_QUANTILES', 
    37    'ANON_STDDEV_POP', 
    38    'ANON_SUM', 
    39    'ANON_VAR_POP', 
    40    'ANY_VALUE', 
    41    'APPROX_COSINE_DISTANCE', 
    42    'APPROX_COUNT_DISTINCT', 
    43    'APPROX_DOT_PRODUCT', 
    44    'APPROX_EUCLIDEAN_DISTANCE', 
    45    'APPROX_QUANTILES', 
    46    'APPROX_TOP_COUNT', 
    47    'APPROX_TOP_SUM', 
    48    'ARRAY[KEY()]', 
    49    'ARRAY[SAFE_KEY()]', 
    50    'ARRAY_AGG', 
    51    'ARRAY_AVG', 
    52    'ARRAY_CONCAT', 
    53    'ARRAY_CONCAT_AGG', 
    54    'ARRAY_FILTER', 
    55    'ARRAY_FIND', 
    56    'ARRAY_FIND_ALL', 
    57    'ARRAY_FIRST', 
    58    'ARRAY_FIRST_N', 
    59    'ARRAY_INCLUDES', 
    60    'ARRAY_INCLUDES_ALL', 
    61    'ARRAY_INCLUDES_ANY', 
    62    'ARRAY_IS_DISTINCT', 
    63    'ARRAY_LAST', 
    64    'ARRAY_LAST_N', 
    65    'ARRAY_LENGTH', 
    66    'ARRAY_MAX', 
    67    'ARRAY_MIN', 
    68    'ARRAY_OFFSET', 
    69    'ARRAY_OFFSETS', 
    70    'ARRAY_REMOVE_FIRST_N', 
    71    'ARRAY_REMOVE_LAST_N', 
    72    'ARRAY_REVERSE', 
    73    'ARRAY_SLICE', 
    74    'ARRAY_SUM', 
    75    'ARRAY_TO_STRING', 
    76    'ARRAY_TRANSFORM', 
    77    'ARRAY_ZIP', 
    78    'ASCII', 
    79    'ASIN', 
    80    'ASINH', 
    81    'ATAN', 
    82    'ATAN2', 
    83    'ATANH', 
    84    'AVG', 
    85    'BIT_AND', 
    86    'BIT_COUNT', 
    87    'BIT_OR', 
    88    'BIT_XOR', 
    89    'BOOL', 
    90    'BOOL_ARRAY', 
    91    'BYTE_LENGTH', 
    92    'CASE', 
    93    'CAST', 
    94    'CBRT', 
    95    'CEIL', 
    96    'CEILING', 
    97    'CHARACTER_LENGTH', 
    98    'CHAR_LENGTH', 
    99    'CHR', 
    100    'COALESCE', 
    101    'CODE_POINTS_TO_BYTES', 
    102    'CODE_POINTS_TO_STRING', 
    103    'COLLATE', 
    104    'CONCAT', 
    105    'CORR', 
    106    'COS', 
    107    'COSH', 
    108    'COSINE_DISTANCE', 
    109    'COT', 
    110    'COTH', 
    111    'COUNT', 
    112    'COUNT(*)', 
    113    'COUNTIF', 
    114    'COVAR_POP', 
    115    'COVAR_SAMP', 
    116    'CSC', 
    117    'CSCH', 
    118    'CUME_DIST', 
    119    'CURRENT_DATE', 
    120    'CURRENT_DATETIME', 
    121    'CURRENT_TIME', 
    122    'CURRENT_TIMESTAMP', 
    123    'D3A_COUNT.EXTRACT', 
    124    'D3A_COUNT.INIT', 
    125    'D3A_COUNT.MERGE', 
    126    'D3A_COUNT.MERGE_PARTIAL', 
    127    'D3A_COUNT.TO_HLL', 
    128    'DATE', 
    129    'DATETIME', 
    130    'DATETIME_ADD', 
    131    'DATETIME_BUCKET', 
    132    'DATETIME_DIFF', 
    133    'DATETIME_SUB', 
    134    'DATETIME_TRUNC', 
    135    'DATE_ADD', 
    136    'DATE_BUCKET', 
    137    'DATE_DIFF', 
    138    'DATE_FROM_UNIX_DATE', 
    139    'DATE_SUB', 
    140    'DATE_TRUNC', 
    141    'DENSE_RANK', 
    142    'DESTINATION_NODE_ID', 
    143    'DETERMINISTIC_DECRYPT_BYTES', 
    144    'DETERMINISTIC_DECRYPT_STRING', 
    145    'DETERMINISTIC_ENCRYPT', 
    146    'DIV', 
    147    'DOT_PRODUCT', 
    148    'EDGES', 
    149    'EDIT_DISTANCE', 
    150    'ELEMENTWISE_AVG', 
    151    'ELEMENTWISE_SUM', 
    152    'ELEMENT_DEFINITION_NAME', 
    153    'ELEMENT_ID', 
    154    'ENDS_WITH', 
    155    'ENUM_VALUE_DESCRIPTOR_PROTO', 
    156    'ERROR', 
    157    'EUCLIDEAN_DISTANCE', 
    158    'EXP', 
    159    'EXTRACT', 
    160    'EXTRACT_FOR_DP_APPROX_COUNT_DISTINCT', 
    161    'FARM_FINGERPRINT', 
    162    'FILTER_FIELDS', 
    163    'FIRST_VALUE', 
    164    'FLATTEN', 
    165    'FLOAT32', 
    166    'FLOAT32_ARRAY', 
    167    'FLOAT64', 
    168    'FLOAT64_ARRAY', 
    169    'FLOOR', 
    170    'FORMAT', 
    171    'FORMAT_DATE', 
    172    'FORMAT_DATETIME', 
    173    'FORMAT_TIME', 
    174    'FORMAT_TIMESTAMP', 
    175    'FROM_BASE32', 
    176    'FROM_BASE64', 
    177    'FROM_HEX', 
    178    'GENERATE_ARRAY', 
    179    'GENERATE_DATE_ARRAY', 
    180    'GENERATE_RANGE_ARRAY', 
    181    'GENERATE_TIMESTAMP_ARRAY', 
    182    'GENERATE_UUID', 
    183    'GREATEST', 
    184    'GROUPING', 
    185    'HLL_COUNT.EXTRACT', 
    186    'HLL_COUNT.INIT', 
    187    'HLL_COUNT.MERGE', 
    188    'HLL_COUNT.MERGE_PARTIAL', 
    189    'IEEE_DIVIDE', 
    190    'IF', 
    191    'IFERROR', 
    192    'IFNULL', 
    193    'IN UNNEST', 
    194    'INITCAP', 
    195    'INIT_FOR_DP_APPROX_COUNT_DISTINCT', 
    196    'INSTR', 
    197    'INT64', 
    198    'INT64_ARRAY', 
    199    'IS DESTINATION OF', 
    200    'IS DISTINCT FROM', 
    201    'IS NOT DISTINCT FROM', 
    202    'IS SOURCE OF', 
    203    'ISERROR', 
    204    'IS_ACYCLIC', 
    205    'IS_INF', 
    206    'IS_NAN', 
    207    'IS_SIMPLE', 
    208    'IS_TRAIL', 
    209    'JSON_ARRAY', 
    210    'JSON_ARRAY_APPEND', 
    211    'JSON_ARRAY_INSERT', 
    212    'JSON_CONTAINS', 
    213    'JSON_EXTRACT', 
    214    'JSON_EXTRACT_ARRAY', 
    215    'JSON_EXTRACT_SCALAR', 
    216    'JSON_EXTRACT_STRING_ARRAY', 
    217    'JSON_KEYS', 
    218    'JSON_OBJECT', 
    219    'JSON_QUERY', 
    220    'JSON_QUERY_ARRAY', 
    221    'JSON_REMOVE', 
    222    'JSON_SET', 
    223    'JSON_STRIP_NULLS', 
    224    'JSON_TYPE', 
    225    'JSON_VALUE', 
    226    'JSON_VALUE_ARRAY', 
    227    'JUSTIFY_DAYS', 
    228    'JUSTIFY_HOURS', 
    229    'JUSTIFY_INTERVAL', 
    230    'KEYS.ADD_KEY_FROM_RAW_BYTES', 
    231    'KEYS.KEYSET_CHAIN', 
    232    'KEYS.KEYSET_FROM_JSON', 
    233    'KEYS.KEYSET_LENGTH', 
    234    'KEYS.KEYSET_TO_JSON', 
    235    'KEYS.NEW_KEYSET', 
    236    'KEYS.NEW_WRAPPED_KEYSET', 
    237    'KEYS.REWRAP_KEYSET', 
    238    'KEYS.ROTATE_KEYSET', 
    239    'KEYS.ROTATE_WRAPPED_KEYSET', 
    240    'KLL_QUANTILES.EXTRACT_FLOAT64', 
    241    'KLL_QUANTILES.EXTRACT_INT64', 
    242    'KLL_QUANTILES.EXTRACT_POINT_FLOAT64', 
    243    'KLL_QUANTILES.EXTRACT_POINT_INT64', 
    244    'KLL_QUANTILES.INIT_FLOAT64', 
    245    'KLL_QUANTILES.INIT_INT64', 
    246    'KLL_QUANTILES.MERGE_FLOAT64', 
    247    'KLL_QUANTILES.MERGE_INT64', 
    248    'KLL_QUANTILES.MERGE_PARTIAL', 
    249    'KLL_QUANTILES.MERGE_POINT_FLOAT64', 
    250    'KLL_QUANTILES.MERGE_POINT_INT64', 
    251    'L1_NORM', 
    252    'L2_NORM', 
    253    'LABELS', 
    254    'LAG', 
    255    'LAST_DAY', 
    256    'LAST_VALUE', 
    257    'LAX_BOOL', 
    258    'LAX_BOOL_ARRAY', 
    259    'LAX_FLOAT32', 
    260    'LAX_FLOAT32_ARRAY', 
    261    'LAX_FLOAT64', 
    262    'LAX_FLOAT64_ARRAY', 
    263    'LAX_INT64', 
    264    'LAX_INT64_ARRAY', 
    265    'LAX_STRING', 
    266    'LAX_STRING_ARRAY', 
    267    'LEAD', 
    268    'LEAST', 
    269    'LEFT', 
    270    'LENGTH', 
    271    'LIKE ALL', 
    272    'LIKE ALL UNNEST', 
    273    'LIKE ANY', 
    274    'LIKE ANY UNNEST', 
    275    'LN', 
    276    'LOG', 
    277    'LOG10', 
    278    'LOGICAL_AND', 
    279    'LOGICAL_OR', 
    280    'LOWER', 
    281    'LPAD', 
    282    'LTRIM', 
    283    'MAKE_INTERVAL', 
    284    'MANHATTAN_DISTANCE', 
    285    'MAP_CARDINALITY', 
    286    'MAP_CONTAINS_KEY', 
    287    'MAP_DELETE', 
    288    'MAP_EMPTY', 
    289    'MAP_ENTRIES_SORTED', 
    290    'MAP_ENTRIES_UNSORTED', 
    291    'MAP_FILTER', 
    292    'MAP_FROM_ARRAY', 
    293    'MAP_GET', 
    294    'MAP_INSERT', 
    295    'MAP_INSERT_OR_REPLACE', 
    296    'MAP_KEYS_SORTED', 
    297    'MAP_KEYS_UNSORTED', 
    298    'MAP_REPLACE', 
    299    'MAP_VALUES_SORTED', 
    300    'MAP_VALUES_SORTED_BY_KEY', 
    301    'MAP_VALUES_UNSORTED', 
    302    'MAX', 
    303    'MD5', 
    304    'MERGE_PARTIAL_FOR_DP_APPROX_COUNT_DISTINCT', 
    305    'MIN', 
    306    'MOD', 
    307    'NET.HOST', 
    308    'NET.IPV4_FROM_INT64', 
    309    'NET.IPV4_TO_INT64', 
    310    'NET.IP_FROM_STRING', 
    311    'NET.IP_NET_MASK', 
    312    'NET.IP_TO_STRING', 
    313    'NET.IP_TRUNC', 
    314    'NET.PUBLIC_SUFFIX', 
    315    'NET.REG_DOMAIN', 
    316    'NET.SAFE_IP_FROM_STRING', 
    317    'NEW_UUID', 
    318    'NODES', 
    319    'NORMALIZE', 
    320    'NORMALIZE_AND_CASEFOLD', 
    321    'NOT LIKE ALL', 
    322    'NOT LIKE ALL UNNEST', 
    323    'NOT LIKE ANY', 
    324    'NOT LIKE ANY UNNEST', 
    325    'NTH_VALUE', 
    326    'NTILE', 
    327    'NULLIF', 
    328    'NULLIFERROR', 
    329    'NULLIFZERO', 
    330    'OCTET_LENGTH', 
    331    'OFFSET', 
    332    'ORDINAL', 
    333    'PARSE_BIGNUMERIC', 
    334    'PARSE_DATE', 
    335    'PARSE_DATETIME', 
    336    'PARSE_JSON', 
    337    'PARSE_NUMERIC', 
    338    'PARSE_TIME', 
    339    'PARSE_TIMESTAMP', 
    340    'PATH', 
    341    'PATH_FIRST', 
    342    'PATH_LAST', 
    343    'PATH_LENGTH', 
    344    'PERCENTILE_CONT', 
    345    'PERCENTILE_DISC', 
    346    'PERCENT_RANK', 
    347    'PI', 
    348    'PIVOT', 
    349    'PI_BIGNUMERIC', 
    350    'PI_NUMERIC', 
    351    'POW', 
    352    'POWER', 
    353    'PROPERTY_EXISTS', 
    354    'PROPERTY_NAMES', 
    355    'PROTO_MAP_CONTAINS_KEY', 
    356    'PROTO_MODIFY_MAP', 
    357    'RAND', 
    358    'RANGE', 
    359    'RANGE_BUCKET', 
    360    'RANGE_CONTAINS', 
    361    'RANGE_END', 
    362    'RANGE_INTERSECT', 
    363    'RANGE_IS_END_UNBOUNDED', 
    364    'RANGE_IS_START_UNBOUNDED', 
    365    'RANGE_OVERLAPS', 
    366    'RANGE_START', 
    367    'RANK', 
    368    'REGEXP_CONTAINS', 
    369    'REGEXP_EXTRACT', 
    370    'REGEXP_EXTRACT_ALL', 
    371    'REGEXP_INSTR', 
    372    'REGEXP_REPLACE', 
    373    'REGEXP_SUBSTR', 
    374    'REPEAT', 
    375    'REPLACE', 
    376    'REVERSE', 
    377    'RIGHT', 
    378    'ROUND', 
    379    'ROW_NUMBER', 
    380    'RPAD', 
    381    'RTRIM', 
    382    'S2_CELLIDFROMPOINT', 
    383    'S2_COVERINGCELLIDS', 
    384    'SAFE_ADD', 
    385    'SAFE_CONVERT_BYTES_TO_STRING', 
    386    'SAFE_DIVIDE', 
    387    'SAFE_MULTIPLY', 
    388    'SAFE_NEGATE', 
    389    'SAFE_OFFSET', 
    390    'SAFE_ORDINAL', 
    391    'SAFE_SUBTRACT', 
    392    'SAFE_TO_JSON', 
    393    'SAME', 
    394    'SEC', 
    395    'SECH', 
    396    'SESSION_USER', 
    397    'SHA1', 
    398    'SHA256', 
    399    'SHA512', 
    400    'SIGN', 
    401    'SIN', 
    402    'SINH', 
    403    'SOUNDEX', 
    404    'SOURCE_NODE_ID', 
    405    'SPLIT', 
    406    'SPLIT_SUBSTR', 
    407    'SQRT', 
    408    'STARTS_WITH', 
    409    'STDDEV', 
    410    'STDDEV_POP', 
    411    'STDDEV_SAMP', 
    412    'STRING', 
    413    'STRING_AGG', 
    414    'STRING_ARRAY', 
    415    'STRPOS', 
    416    'ST_ANGLE', 
    417    'ST_AREA', 
    418    'ST_ASBINARY', 
    419    'ST_ASGEOJSON', 
    420    'ST_ASKML', 
    421    'ST_ASTEXT', 
    422    'ST_AZIMUTH', 
    423    'ST_BOUNDARY', 
    424    'ST_BOUNDINGBOX', 
    425    'ST_BUFFER', 
    426    'ST_BUFFERWITHTOLERANCE', 
    427    'ST_CENTROID', 
    428    'ST_CENTROID_AGG', 
    429    'ST_CLOSESTPOINT', 
    430    'ST_CLUSTERDBSCAN', 
    431    'ST_CONTAINS', 
    432    'ST_CONVEXHULL', 
    433    'ST_COVEREDBY', 
    434    'ST_COVERS', 
    435    'ST_DIFFERENCE', 
    436    'ST_DIMENSION', 
    437    'ST_DISJOINT', 
    438    'ST_DISTANCE', 
    439    'ST_DUMP', 
    440    'ST_DUMPPOINTS', 
    441    'ST_DWITHIN', 
    442    'ST_ENDPOINT', 
    443    'ST_EQUALS', 
    444    'ST_EXTENT', 
    445    'ST_EXTERIORRING', 
    446    'ST_GEOGFROM', 
    447    'ST_GEOGFROMGEOJSON', 
    448    'ST_GEOGFROMKML', 
    449    'ST_GEOGFROMTEXT', 
    450    'ST_GEOGFROMWKB', 
    451    'ST_GEOGPOINT', 
    452    'ST_GEOGPOINTFROMGEOHASH', 
    453    'ST_GEOHASH', 
    454    'ST_GEOMETRYTYPE', 
    455    'ST_HAUSDORFFDISTANCE', 
    456    'ST_HAUSDORFFDWITHIN', 
    457    'ST_INTERIORRINGS', 
    458    'ST_INTERSECTION', 
    459    'ST_INTERSECTS', 
    460    'ST_INTERSECTSBOX', 
    461    'ST_ISCLOSED', 
    462    'ST_ISCOLLECTION', 
    463    'ST_ISEMPTY', 
    464    'ST_ISRING', 
    465    'ST_LENGTH', 
    466    'ST_LINEINTERPOLATEPOINT', 
    467    'ST_LINELOCATEPOINT', 
    468    'ST_LINESUBSTRING', 
    469    'ST_MAKELINE', 
    470    'ST_MAKEPOLYGON', 
    471    'ST_MAKEPOLYGONORIENTED', 
    472    'ST_MAXDISTANCE', 
    473    'ST_NEAREST_NEIGHBORS', 
    474    'ST_NPOINTS', 
    475    'ST_NUMGEOMETRIES', 
    476    'ST_NUMPOINTS', 
    477    'ST_PERIMETER', 
    478    'ST_POINTN', 
    479    'ST_SIMPLIFY', 
    480    'ST_SNAPTOGRID', 
    481    'ST_STARTPOINT', 
    482    'ST_TOUCHES', 
    483    'ST_UNARYUNION', 
    484    'ST_UNION', 
    485    'ST_UNION_AGG', 
    486    'ST_WITHIN', 
    487    'ST_X', 
    488    'ST_Y', 
    489    'SUBSTR', 
    490    'SUBSTRING', 
    491    'SUM', 
    492    'TAN', 
    493    'TANH', 
    494    'TIME', 
    495    'TIMESTAMP', 
    496    'TIMESTAMP_ADD', 
    497    'TIMESTAMP_BUCKET', 
    498    'TIMESTAMP_DIFF', 
    499    'TIMESTAMP_FROM_UNIX_MICROS', 
    500    'TIMESTAMP_FROM_UNIX_MILLIS', 
    501    'TIMESTAMP_FROM_UNIX_SECONDS', 
    502    'TIMESTAMP_MICROS', 
    503    'TIMESTAMP_MILLIS', 
    504    'TIMESTAMP_SECONDS', 
    505    'TIMESTAMP_SUB', 
    506    'TIMESTAMP_TRUNC', 
    507    'TIME_ADD', 
    508    'TIME_DIFF', 
    509    'TIME_SUB', 
    510    'TIME_TRUNC', 
    511    'TO_BASE32', 
    512    'TO_BASE64', 
    513    'TO_CODE_POINTS', 
    514    'TO_HEX', 
    515    'TO_JSON', 
    516    'TO_JSON_STRING', 
    517    'TRANSLATE', 
    518    'TRIM', 
    519    'TRUNC', 
    520    'TYPEOF', 
    521    'UNICODE', 
    522    'UNIX_DATE', 
    523    'UNIX_MICROS', 
    524    'UNIX_MILLIS', 
    525    'UNIX_SECONDS', 
    526    'UNNEST', 
    527    'UNPIVOT', 
    528    'UPPER', 
    529    'VARIANCE', 
    530    'VAR_POP', 
    531    'VAR_SAMP', 
    532    'ZEROIFNULL', 
    533] 
    534 
    535keywords = [ 
    536    'ABORT', 
    537    'ACCESS', 
    538    'ACTION', 
    539    'ACYCLIC', 
    540    'ADD', 
    541    'AFTER', 
    542    'AGGREGATE', 
    543    'ALL', 
    544    'ALTER', 
    545    'ALWAYS', 
    546    'ANALYZE', 
    547    'AND', 
    548    'ANY', 
    549    'APPROX', 
    550    'ARE', 
    551    'AS', 
    552    'ASC', 
    553    'ASCENDING', 
    554    'ASSERT', 
    555    'ASSERT_ROWS_MODIFIED', 
    556    'AT', 
    557    'BATCH', 
    558    'BEGIN', 
    559    'BETWEEN', 
    560    'BIGDECIMAL', 
    561    'BREAK', 
    562    'BY', 
    563    'CALL', 
    564    'CASCADE', 
    565    'CASE', 
    566    'CAST', 
    567    'CHECK', 
    568    'CLAMPED', 
    569    'CLONE', 
    570    'CLUSTER', 
    571    'COLLATE', 
    572    'COLUMN', 
    573    'COLUMNS', 
    574    'COMMIT', 
    575    'CONFLICT', 
    576    'CONNECTION', 
    577    'CONSTANT', 
    578    'CONSTRAINT', 
    579    'CONTAINS', 
    580    'CONTINUE', 
    581    'COPY', 
    582    'CORRESPONDING', 
    583    'CREATE', 
    584    'CROSS', 
    585    'CUBE', 
    586    'CURRENT', 
    587    'CYCLE', 
    588    'DATA', 
    589    'DATABASE', 
    590    'DAY', 
    591    'DAYOFWEEK', 
    592    'DAYOFYEAR', 
    593    'DECIMAL', 
    594    'DECLARE', 
    595    'DEFAULT', 
    596    'DEFINE', 
    597    'DEFINER', 
    598    'DELETE', 
    599    'DELETION', 
    600    'DEPTH', 
    601    'DESC', 
    602    'DESCENDING', 
    603    'DESCRIBE', 
    604    'DESCRIPTOR', 
    605    'DESTINATION', 
    606    'DETERMINISTIC', 
    607    'DISTINCT', 
    608    'DO', 
    609    'DROP', 
    610    'EDGE', 
    611    'ELSE', 
    612    'ELSEIF', 
    613    'END', 
    614    'ENFORCED', 
    615    'ERROR', 
    616    'ESCAPE', 
    617    'EXCEPT', 
    618    'EXCEPTION', 
    619    'EXCLUDE', 
    620    'EXECUTE', 
    621    'EXISTS', 
    622    'EXPLAIN', 
    623    'EXPORT', 
    624    'EXTEND', 
    625    'EXTERNAL', 
    626    'EXTRACT', 
    627    'FALSE', 
    628    'FETCH', 
    629    'FIELD', 
    630    'FILES', 
    631    'FILL', 
    632    'FILTER', 
    633    'FIRST', 
    634    'FOLLOWING', 
    635    'FOR', 
    636    'FOREIGN', 
    637    'FORK', 
    638    'FORMAT', 
    639    'FRIDAY', 
    640    'FROM', 
    641    'FULL', 
    642    'FUNCTION', 
    643    'GENERATED', 
    644    'GRANT', 
    645    'GRAPH', 
    646    'GRAPH_TABLE', 
    647    'GROUP', 
    648    'GROUPING', 
    649    'GROUPS', 
    650    'GROUP_ROWS', 
    651    'HAS', 
    652    'HASH', 
    653    'HAVING', 
    654    'HIDDEN', 
    655    'HOUR', 
    656    'IDENTITY', 
    657    'IF', 
    658    'IGNORE', 
    659    'IMMEDIATE', 
    660    'IMMUTABLE', 
    661    'IMPORT', 
    662    'IN', 
    663    'INCLUDE', 
    664    'INCREMENT', 
    665    'INDEX', 
    666    'INNER', 
    667    'INOUT', 
    668    'INPUT', 
    669    'INSERT', 
    670    'INTERLEAVE', 
    671    'INTERSECT', 
    672    'INTO', 
    673    'INVOKER', 
    674    'IS', 
    675    'ISOLATION', 
    676    'ISOWEEK ', 
    677    'ISOYEAR', 
    678    'ITERATE', 
    679    'JOIN', 
    680    'KEY', 
    681    'LABEL', 
    682    'LABELED', 
    683    'LANGUAGE', 
    684    'LAST', 
    685    'LATERAL', 
    686    'LEAVE', 
    687    'LEFT', 
    688    'LET', 
    689    'LEVEL', 
    690    'LIKE', 
    691    'LIMIT', 
    692    'LOAD', 
    693    'LOG', 
    694    'LOOKUP', 
    695    'LOOP', 
    696    'MACRO', 
    697    'MATCH', 
    698    'MATCHED', 
    699    'MATCH_RECOGNIZE', 
    700    'MATERIALIZED', 
    701    'MAX', 
    702    'MAXVALUE', 
    703    'MEASURES', 
    704    'MERGE', 
    705    'MESSAGE', 
    706    'METADATA', 
    707    'MICROSECOND', 
    708    'MILLISECOND', 
    709    'MIN', 
    710    'MINUTE', 
    711    'MINVALUE', 
    712    'MODEL', 
    713    'MODULE', 
    714    'MONDAY', 
    715    'MONTH', 
    716    'NAME', 
    717    'NANOSECOND', 
    718    'NATURAL', 
    719    'NEW', 
    720    'NEXT', 
    721    'NO', 
    722    'NODE', 
    723    'NOT', 
    724    'NOTHING', 
    725    'NULL', 
    726    'NULLS', 
    727    'NULL_FILTERED', 
    728    'OF', 
    729    'OFFSET', 
    730    'ON', 
    731    'ONEOF_CASE', 
    732    'ONLY', 
    733    'OPTIONAL', 
    734    'OPTIONS', 
    735    'OR', 
    736    'ORDER', 
    737    'OUT', 
    738    'OUTER', 
    739    'OUTPUT', 
    740    'OVER', 
    741    'OVERWRITE', 
    742    'PARENT', 
    743    'PARTITION', 
    744    'PARTITIONS', 
    745    'PAST', 
    746    'PATH', 
    747    'PATHS', 
    748    'PATTERN', 
    749    'PERCENT', 
    750    'PIVOT', 
    751    'POLICIES', 
    752    'POLICY', 
    753    'PRECEDING', 
    754    'PRIMARY', 
    755    'PRIVATE', 
    756    'PRIVILEGE', 
    757    'PRIVILEGES', 
    758    'PROCEDURE', 
    759    'PROJECT', 
    760    'PROPERTIES', 
    761    'PROPERTY', 
    762    'PUBLIC', 
    763    'QUALIFY', 
    764    'QUARTER', 
    765    'RAISE', 
    766    'RAW', 
    767    'READ', 
    768    'RECURSIVE', 
    769    'REFERENCES', 
    770    'REMOTE', 
    771    'REMOVE', 
    772    'RENAME', 
    773    'REPEAT', 
    774    'REPEATABLE', 
    775    'REPLACE', 
    776    'REPLACE_FIELDS', 
    777    'REPLICA', 
    778    'REPORT', 
    779    'RESPECT', 
    780    'RESTRICT', 
    781    'RESTRICTION', 
    782    'RETURN', 
    783    'RETURNS', 
    784    'REVOKE', 
    785    'RIGHT', 
    786    'ROLLBACK', 
    787    'ROLLUP', 
    788    'ROW', 
    789    'ROWS', 
    790    'RUN', 
    791    'SAFE_CAST', 
    792    'SATURDAY', 
    793    'SCHEMA', 
    794    'SEARCH', 
    795    'SECOND ', 
    796    'SECURITY', 
    797    'SELECT', 
    798    'SEQUENCE', 
    799    'SET', 
    800    'SETS', 
    801    'SHORTEST', 
    802    'SHOW', 
    803    'SIMPLE', 
    804    'SKIP', 
    805    'SNAPSHOT', 
    806    'SOME', 
    807    'SOURCE', 
    808    'SQL', 
    809    'STABLE', 
    810    'START', 
    811    'STATIC_DESCRIBE', 
    812    'STORED', 
    813    'STORING', 
    814    'STRICT', 
    815    'SUNDAY', 
    816    'SYSTEM', 
    817    'SYSTEM_TIME', 
    818    'TABLE', 
    819    'TABLES', 
    820    'TABLESAMPLE', 
    821    'TARGET', 
    822    'TEMP', 
    823    'TEMPORARY', 
    824    'THEN', 
    825    'THURSDAY', 
    826    'TO', 
    827    'TRAIL', 
    828    'TRANSACTION', 
    829    'TRANSFORM', 
    830    'TREAT', 
    831    'TRUE', 
    832    'TRUNCATE', 
    833    'TUESDAY', 
    834    'TYPE', 
    835    'UNBOUNDED', 
    836    'UNDROP', 
    837    'UNION', 
    838    'UNIQUE', 
    839    'UNKNOWN', 
    840    'UNNEST', 
    841    'UNPIVOT', 
    842    'UNTIL', 
    843    'UPDATE', 
    844    'USING', 
    845    'VALUE', 
    846    'VALUES', 
    847    'VECTOR', 
    848    'VIEW', 
    849    'VIEWS', 
    850    'VOLATILE', 
    851    'WALK', 
    852    'WEDNESDAY', 
    853    'WEEK', 
    854    'WEIGHT', 
    855    'WHEN', 
    856    'WHERE', 
    857    'WHILE', 
    858    'WINDOW', 
    859    'WITH', 
    860    'WITHIN', 
    861    'WRITE', 
    862    'YEAR', 
    863    'ZONE', 
    864] 
    865 
    866operators = [ 
    867    '!=', 
    868    '&', 
    869    '*', 
    870    '+', 
    871    '-', 
    872    '/', 
    873    '<', 
    874    '<<', 
    875    '<=', 
    876    '=', 
    877    '>', 
    878    '>=', 
    879    '>>', 
    880    '^', 
    881    '|', 
    882    '||', 
    883    '~', 
    884] 
    885 
    886types = [ 
    887    'ARRAY', 
    888    'BIGNUMERIC', 
    889    'BOOL', 
    890    'BYTES', 
    891    'DATE', 
    892    'DATETIME', 
    893    'DOUBLE', 
    894    'ENUM', 
    895    'EXTENDED', 
    896    'FLOAT', 
    897    'GEOGRAPHY', 
    898    'GRAPH_ELEMENT', 
    899    'GRAPH_PATH', 
    900    'INT32', 
    901    'INT64', 
    902    'INTERVAL', 
    903    'JSON', 
    904    'MAP', 
    905    'MEASURE', 
    906    'NUMERIC', 
    907    'PROTO', 
    908    'RANGE', 
    909    'STRING', 
    910    'STRUCT', 
    911    'TIME', 
    912    'TIMESTAMP', 
    913    'TIMESTAMP_PICOS', 
    914    'TOKENLIST', 
    915    'UINT32', 
    916    'UINT64', 
    917    'UUID', 
    918]