a
    ñ»j."  ã                   @   sj   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„ deƒZdS )zÒ
    pygments.lexers.prql
    ~~~~~~~~~~~~~~~~~~~~

    Lexer for the PRQL query language.

    :copyright: Copyright 2006-present 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                   @   s$  e Zd ZdZdZdZdgZdgZddgZdZ	e
d	d
d�Zdd„ Zdd„ Z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eejejƒeddƒfdeejejƒeddƒfdeejejƒedd ƒfd!eejejƒedd"ƒfd#eejejƒed$dƒfd%eejejƒed$dƒfd&eejejƒed$d ƒfd'eejejƒed$d"ƒfd(eejejƒd)fd*eejejƒd+fd,eejejƒd-fd.eejejƒd/fd0ejed$d)ƒfd1ejed$d+ƒfd2ejed$d-ƒfd3ejed$d/ƒfd4ejfd5ejfd6ejfd7efed8ƒd9e fd:e fd;e!fed<ƒd=e"j#fgd>e$j%fd?e$j%fd@e$j&fdAe$j'fdBe$j(fdCe$j)fged$ƒgdDej*fgdEej*fedFƒgeejƒeejƒeejƒeejƒd2ejdGfdHej*fedIƒgd3ejdGfdJej*fedKƒgd2ejdGfdHej*fedLƒgd3ejdGfdJej*fedMƒgd0ejdGfedIƒdNejfgd1ejdGfedKƒdNejfgd0ejdGfedLƒdNejfgd1ejdGfedMƒdNejfgdOe!dPfdQej+dGfdRej+dGfdefedƒgdOe!dPfdSe!dGfdefedƒge
dTd
d�efe
dUd
d�ej,fge
dVd
d�e"j-fgdWej.fdXej.dYfdZej.fd[ej.dGfgd\e"j/dGfgd]œZ0d^S )_r   z]
    For PRQL source code.

    grammar: https://github.com/PRQL/prql/tree/main/grammars
    ÚPRQLzhttps://prql-lang.org/Úprqlz*.prqlzapplication/prqlzapplication/x-prqlz2.17)
ÚboolÚintZint8Zint16Zint32Zint64Zint128ÚfloatÚtextÚsetz\b)Úsuffixc                 C   s   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©Úttype© r   ú:E:\soccer\ml_env\Lib\site-packages\pygments/lexers/prql.pyÚinnerstring_rules(   s    ý÷zPrqlLexer.innerstring_rulesc                 C   s"   dt jfdt jdfd| fd| fgS )Nz\}z\{úexpr-inside-fstringz[^\\\'"{}\n]+r   r   r   r   r   r    Úfstring_rules5   s
    
üzPrqlLexer.fstring_rulesz#!.*z#.*z\s+z^(\s*)(module)(\s*)Úimportsz^prql Z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)*z.\\([\\bfnrt"\']|\n|x[a-fA-F0-9]{2}|[0-7]{1,3})z"\\(N\{.*?\}|u\{[a-fA-F0-9]{1,6}\})Úbytesescapez#popz\\\\|\\"|\\\núfstrings-doublez\\\\|\\'|\\\núfstrings-singleústrings-doubleústrings-singlez\nz[{([]úexpr-inside-fstring-innerz	(=\s*)?\}z(=\s*)?:z[])}])ZintoÚcaseÚtypeÚmoduleZinternal)ÚtrueÚfalseÚnull)ÚminÚmaxÚsumZaverageZstddevZeveryÚanyZconcat_arrayÚcountZlagZleadÚfirstÚlastZrankZ
rank_denseZ
row_numberÚroundÚasÚinZtuple_everyZ	tuple_mapZ	tuple_zipÚ_eqZ_is_nullZ	from_textÚlowerÚupperZread_parquetZread_csvz-(?!\})z\{-Úcommentz[^-}]z-\}z\w+(\.\w+)*)Úrootr&   r3   r'   r5   r,   r7   r6   r9   r8   r*   r+   r/   r0   r(   r)   r-   r.   r"   r:   r%   r4   rN   r$   N)1Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚurlÚaliasesÚ	filenamesÚ	mimetypesÚversion_addedr   Z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Útokensr   r   r   r    r      sL  úþçÿÿÿÿÿÿÿÿÿÿÿÿÎ5ÿù
ÿÿþ
ý
ý
ý
ý
ý
ý
ý
ýÿÿöüþýûúùÿ

ü
ÿ€ ÅN)rS   Zpygments.lexerr   r   r   r   r   Zpygments.tokenr   r   r	   r
   r   r   r   r   r   r   Ú__all__r   r   r   r   r    Ú<module>   s   
0