
    |e,"                     p    d Z ddlmZmZmZmZmZ ddlmZm	Z	m
Z
mZmZmZmZmZmZmZ dgZ G d de      Zy)z
    pygments.lexers.prql
    ~~~~~~~~~~~~~~~~~~~~

    Lexer for the PRQL query language.

    :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
    )
RegexLexercombinedwordsincludebygroups)
CommentLiteralKeywordNameNumberOperatorPunctuationStringText
Whitespace	PrqlLexerc                   2   e Zd ZdZdZdZdgZdgZddgZ e	dd	
      Z
d Zd Zi ddej                  fdej                   fdefd eeej(                  e      dfe
ej*                  fdej,                  fdej.                  f ed       ed      defg
dd eej2                  ej4                         edd      fd eej2                  ej                          edd      fd eej2                  ej4                         edd      fd eej2                  ej                          edd       fd! eej2                  ej4                         ed"d      fd# eej2                  ej                          ed"d      fd$ eej2                  ej4                         ed"d      fd% eej2                  ej                          ed"d       fd& eej2                  ej4                        d'fd( eej2                  ej                         d)fd* eej2                  ej4                        d+fd, eej2                  ej                         d-fd.ej4                   ed"d'      fd/ej                    ed"d)      fd0ej4                   ed"d+      fd1ej                    ed"d-      fd2ej:                  fd3ej:                  fd4ej:                  fd5ef ed6      d7efd8efd9e f ed:      d;e!jD                  fgd6d<e#jH                  fd=e#jH                  fd>e#jJ                  fd?e#jL                  fd@e#jN                  fdAe#jP                  fgd ed"      gdBdCejR                  fgd"dDejR                  f edB      gdE eej                         dF eej4                        dG eej                         dH eej4                        dd0ej4                  dIfdJejR                  f edF      gd d1ej                   dIfdKejR                  f edE      gd+d0ej4                  dIfdJejR                  f edH      gd-d1ej                   dIfdKejR                  f edG      gdd.ej4                  dIf edF      dLej4                  fgdd/ej                   dIf edE      dLej                   fgd'd.ej4                  dIf edH      dLej4                  fgd/ej                   dIf edG      dLej                   fgdMe dNfdOejT                  dIfdPejT                  dIfdef ed      gdMe dNfdQe dIfdef ed      g e	dRd	
      ef e	dSd	
      ejV                  fg e	dTd	
      e!jX                  fgdUejZ                  fdVejZ                  dWfdXejZ                  fdYejZ                  dIfgdZe!j\                  dIfgd[Z/y\)]r   zy
    For PRQL source code.

    .. versionadded:: 2.17

    grammar: https://github.com/PRQL/prql/tree/main/grammars
    PRQLzhttps://prql-lang.org/prqlz*.prqlzapplication/prqlzapplication/x-prql)
boolintint8int16int32int64int128floattextsetz\b)suffixc                 :    dt         j                  fd| fd| fd| fgS )Nz]\{((\w+)((\.\w+)|(\[[^\]]+\]))*)?(\:(.?[<>=\^])?[-+ ]?#?0?(\d+)?,?(\.\d+)?[E-GXb-gnosx%]?)?\}z[^\\\'"%{\n]+[\'"\\]z%|(\{{1,2})r   Interpolttypes    6/usr/lib/python3/dist-packages/pygments/lexers/prql.pyinnerstring_ruleszPrqlLexer.innerstring_rules)   s9     OO%
 u%U#

 
	
    c                 X    dt         j                  fdt         j                  dfd| fd| fgS )Nz\}z\{expr-inside-fstringz[^\\\'"{}\n]+r"   r#   r%   s    r'   fstring_ruleszPrqlLexer.fstring_rules6   s7    FOO$FOO%:;u%	
 	
r)   rootz#!.*z#.*z\s+z^(\s*)(module)(\s*)importsz^prql letkeywordsexprz^[A-Za-z_][a-zA-Z0-9_]*z(f)(""")fstringescapetdqfz(f)(''')tsqfz(f)(")dqfz(f)(')sqfz(s)(""")stringescapez(s)(''')z(s)(")z(s)(')z(?i)(r)(""")tdqsz(?i)(r)(''')tsqsz
(?i)(r)(")dqsz
(?i)(r)(')sqsz"""z'''"'zQ@\d{4}-\d{2}-\d{2}T\d{2}(:\d{2})?(:\d{2})?(\.\d{1,6})?(Z|[+-]\d{1,2}(:\d{1,2})?)?z@\d{4}-\d{2}-\d{2}z?@\d{2}(:\d{2})?(:\d{2})?(\.\d{1,6})?(Z|[+-]\d{1,2}(:\d{1,2})?)?z[^\S\n]+numbersz&->|=>|==|!=|>=|<=|~=|&&|\|\||\?\?|\/\/z[-~+/*%=<>&^|.@]z[]{}:(),;[]	functionsz[A-Za-z_][a-zA-Z0-9_]*zT(\d(?:_?\d)*\.(?:\d(?:_?\d)*)?|(?:\d(?:_?\d)*)?\.\d(?:_?\d)*)([eE][+-]?\d(?:_?\d)*)?z!\d(?:_?\d)*[eE][+-]?\d(?:_?\d)*j?z0[oO](?:_?[0-7])+z0[bB](?:_?[01])+z0[xX](?:_?[a-fA-F0-9])+z\d(?:_?\d)*bytesescapez.\\([\\bfnrt"\']|\n|x[a-fA-F0-9]{2}|[0-7]{1,3})z"\\(N\{.*?\}|u\{[a-fA-F0-9]{1,6}\})zfstrings-singlezfstrings-doublezstrings-singlezstrings-doublez#popz\\\\|\\"|\\\nz\\\\|\\'|\\\nz\nz[{([]expr-inside-fstring-innerz	(=\s*)?\}z(=\s*)?:z[])}])intocasetypemoduleinternal)truefalsenull)minmaxsumaveragestddeveveryanyconcat_arraycountlagleadfirstlastrank
rank_dense
row_numberroundasintuple_every	tuple_map	tuple_zip_eq_is_null	from_textlowerupperread_parquetread_csvz-(?!\})z\{-commentz[^-}]z-\}z\w+(\.\w+)*)r9   r+   rA   r0   r?   rg   r.   N)0__name__
__module____qualname____doc__nameurlaliases	filenames	mimetypesr   builtinTypesr(   r,   r   Docr   Singler   r   r
   	NamespaceTypeReservedDeclarationr   AffixDoubler   r	   Dater   r   r   r   Variabler   FloatOctBinHexIntegerEscaper$   ConstantFunction	MultilineClasstokens r)   r'   r   r      s5    D
"ChG
I#%9:I  L

~ fjj!W^^$ Z  $j'"3"3Z@ 7<<( (()G''(JFO (13
~8 	&,,>ov.0&,,>ov.0xfmm<ou-/xfmm<ou-/ &,,>nf-/&,,>nf-/xfmm<ne,.xfmm<ne,. fllFMM2F<fllFMM2F<fllFMM2E;fllFMM2E; FMM8NF#CDFMM8NF#CD&--.%!@A&--.%!@A bcjcocop"GLL1OQXQ]Q]^$I6A (+[)K  '6e3
9~` 	()/716<<@!6::. &**-'4V^^,
a~r 	N#
s~x 	>N
y~~ 	2FMMBM"
~F 	=7G~H 	=7I~J 	+FMM:K~L 	+FMM:M~N 	6==&)v}}-%&
O~X 	6==&)v}}-%&
Y~b 	6==&)v}}-$%
c~l 	6==&)v}}-$%
m~v 	V]]F+%&FMM"
w~@ 	V]]F+%&FMM"
A~J 	V]]F+$%FMM"
K~V V]]F+$%FMM"
 {$?@OOV-??F,Z FO 
 {$?@{F+Z FO	&
    ,U;W=M=MN
  K  ]]	
 **+W&&	2w(()W&&/	
 TZZ0
w~Fr)   N)rk   pygments.lexerr   r   r   r   r   pygments.tokenr   r	   r
   r   r   r   r   r   r   r   __all__r   r   r)   r'   <module>r      s9    J I* * * -j
 jr)   