o
    \h                     @   sx   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 ddgZG dd deZG dd deZdS )	z
    pygments.lexers.q
    ~~~~~~~~~~~~~~~~~

    Lexer for the Q programming language.

    :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
    )
RegexLexerwordsincludebygroupsinherit)	CommentNameNumberOperatorPunctuationString
WhitespaceLiteralGenericKLexerQLexerc                   @   s  e Zd ZdZdZdgZdgZdZdZde	j
fde	jd	fd
e	jfdefdejdfgedededgedddejfgde	jfdee	je	jfde	jfdejfdeejeeeedfdeejeefdedfdedfdedfd ejfd!ejfd"ejfed#d$efd%efd&efged'd(ed)fged'd*ed)fged'd+ed)fgd,ejfd-efd.e j!fd/e j!fd0e j!fd1ej"fd2ej"fd3ej#fd4ej#fd5ej#fd6efd7ej$fd8ej$j%fgd9e	jfd:e	jd)fd;e	jfgd<ejfd=ej&fd>ejd)fgd?
Z'd@S )Ar   z
    For K source code.
    Kkz*.kzhttps://code.kx.com2.12z^#!.*z^/\s*\ncommentsz
(?<!\S)/.*z\s+z\"strings
whitespacekeywordsdeclarations)-absacosasinatanavgbinbinrbycorcoscovdevdeletedivdoenlistexecexitexpfromgetenvhopenifininsertlastlikelogmaxminprdselectsetenvsinsqrtsssumtanupdatevarwavgwhilewithinwsumxexp\bsuffixz^\\ts?z^(\\\w\s+[^/\n]*?)(/.*)z^\\\w.*z^[a-zA-Z]\)z@([.]?[a-zA-Z][\w.]*)(\s*)([-.~=!@#$%^&*_+|,<>?/\\:']?:)(\s*)(\{)	functionsz7([.]?[a-zA-Z][\w.]*)(\s*)([-.~=!@#$%^&*_+|,<>?/\\:']?:)z\{z\(parenthesesz\[bracketsz'`([a-zA-Z][\w.]*)?z`:([a-zA-Z/][\w./]*)?z`([a-zA-Z][\w.]*)?numbersz[a-zA-Z][\w.]*z[-=+*#$%@!~^&:.,<>'\\|/?_];rootz\}z#popz\)z\]z[01]+bz0[nNwW][cefghijmndzuvtp]?zh(?:[0-9]{4}[.][0-9]{2}[.][0-9]{2}|[0-9]+)D(?:[0-9](?:[0-9](?::[0-9]{2}(?::[0-9]{2}(?:[.][0-9]*)?)?)?)?)?z\[0-9]{4}[.][0-9]{2}(?:m|[.][0-9]{2}(?:T(?:[0-9]{2}:[0-9]{2}(?::[0-9]{2}(?:[.][0-9]*)?)?)?)?)z1[0-9]{2}:[0-9]{2}(?::[0-9]{2}(?:[.][0-9]{1,3})?)?z<[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}z0x[0-9a-fA-F]+z7([0-9]*[.]?[0-9]+|[0-9]+[.]?[0-9]*)[eE][+-]?[0-9]+[ef]?z&([0-9]*[.][0-9]+|[0-9]+[.][0-9]*)[ef]?z
[0-9]+[ef]z[0-9]+cz[0-9]+[ihtuv]z[0-9]+[jnp]?z[^\\]+z^\\z\\z[^"\\]+z\\.")
r   rO   r   r   rJ   rK   rL   rM   r   r   N)(__name__
__module____qualname____doc__namealiases	filenamesurlversion_addedr   Hashbang	MultilineSingler   r   Doubler   r   r
   WordPreprocr   r   Promptr   Functionr   Variable	ExceptionSymbolr	   Binr   DateHexFloatIntegerLongEscapetokens rm   rm   T/home/air/segue/gemini/backup/venv/lib/python3.10/site-packages/pygments/lexers/q.pyr      s    

&
"


c                   @   s>   e Zd ZdZdZdgZdgZdZdeddd	e	j
fegiZd
S )r   z6
    For `Q <https://code.kx.com/>`_ source code.
    Qqz*.qr   rO   )ajaj0ajfajf0allandanyascasofattravgsceilingcolscountcrosscsvcutdeltasdescdifferdistinctdsaveeachejemaevalexceptfbyfillsfirstfkeysflipfloorgetgroupgtimehclosehcounthdelhsymiascidescijijfinterinvkeykeysljljfloadlowerlsqltimeltrimmavgmaxsmcountmd5mdevmedmetaminsmmaxmminmmumodmsumnegnextnotnulloroverparsepeachpjprdspriorprevrandrankratiosrazeread0read1
reciprocalrevalreverserloadrotatersavertrimsavescanscovsdevsetshowsignumssrstringsublistsumssvsvarsystemtablestiltrimtxftypeujujfungroupunionupperupsertvalueviewviewsvswherewjwj1wwxascxbarxcolxcolsxdescxgroupxkeyxlogxprevxrankrG   rH   N)rQ   rR   rS   rT   rU   rV   rW   rY   r   r   Builtinr   rl   rm   rm   rm   rn   r      s    N)rT   pygments.lexerr   r   r   r   r   pygments.tokenr   r   r	   r
   r   r   r   r   r   __all__r   r   rm   rm   rm   rn   <module>   s    
, 