o
    \h>                     @   s   d Z ddlZddl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mZ g dZG dd deZG dd	 d	eZG d
d deZdS )z
    pygments.lexers.rdf
    ~~~~~~~~~~~~~~~~~~~

    Lexers for semantic web and RDF query languages and markup.

    :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
    N)
RegexLexerbygroupsdefault)KeywordPunctuationStringNumberOperatorGeneric
WhitespaceNameLiteralCommentText)SparqlLexerTurtleLexer
ShExCLexerc                   @   s  e Zd ZdZdZdgZddgZdgZdZdZ	d	Z
e
d
 Zed d d d d ZdZdZde
 d Zde d Zde d Zde d Zde d ZdZde d e d e d Zed e d e d Zde d e d Zde e Zde Zde d  e d! Zde d" d# e d! d$ e d% e d& e d' e d( Zd)Zd*efd+efd,efd-e d! ej fd-e d! ej fd.e ej!fd-e d/ e d e"ej#e$ej%fd0ej&fd1ej'fd2e d3 e d! e(j)fd4e(j)fd5e(j*fd6e+fd7e$fd8e,fd9e-d:fd;e-d<fd=e-d>fd?e-d@fgd9e-dAfdBe-fde-dCfgd;e-dAfdDe-fde-dCfgd=e-dAfdBe-fde-j.dCfgd?e-dAfdEe-fde-dCfgdFe dG e-j.dHfdIe dJ e-j.dHfdKe-j.dHfgdLe"e+ej&dMfdNe+dMfe/dMgdOZ0dPS )Qr   z*
    Lexer for SPARQL query language.
    SPARQLsparqlz*.rqz*.sparqlzapplication/sparql-queryz$https://www.w3.org/TR/sparql11-queryz2.0J   a-zA-ZÀ-ÖØ-öø-˿Ͱ-ͽͿ-῿‌-‍⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�_\-0-9   ·   ̀-ͯ   ‿-⁀	0-9A-Fa-f _~.\-!$&"()*+,;=/?#@%[]z<(?:[^<>"{}|^`\\\x00-\x20])*>_:[0-9](?:[.]*)?(?:[z[0-9z][u   0-9·̀-ͯ‿-⁀]*%\\(?:)|(?:):0-9]|(?:(?:[.:]|)*(?:[:]|))?[eE][+-]?\d+\s+ay  (?i)(select|construct|describe|ask|where|filter|group\s+by|minus|distinct|reduced|from\s+named|from|order\s+by|desc|asc|limit|offset|values|bindings|load|into|clear|drop|create|add|move|copy|insert\s+data|delete\s+data|delete\s+where|with|delete|insert|using\s+named|using|graph|default|named|all|optional|service|silent|bind|undef|union|not\s+in|in|as|having|to|prefix|base)\b(a)\b(z[?$])?(\:)(a  (?i)(str|lang|langmatches|datatype|bound|iri|uri|bnode|rand|abs|ceil|floor|round|concat|strlen|ucase|lcase|encode_for_uri|contains|strstarts|strends|strbefore|strafter|year|month|day|hours|minutes|seconds|timezone|tz|now|uuid|struuid|md5|sha1|sha256|sha384|sha512|coalesce|if|strlang|strdt|sameterm|isiri|isuri|isblank|isliteral|isnumeric|regex|substr|replace|exists|not\s+exists|count|sum|min|max|avg|sample|group_concat|separator)\b(true|false)[+\-]?(\d+\.\d*|\.?\d+[+\-]?(\d+\.\d*|\.\d+)	[+\-]?\d+z%(\|\||&&|=|\*|\-|\+|/|!=|<=|>=|!|<|>)[(){}.;,:^\[\]]#[^\n]*"""triple-double-quoted-string"single-double-quoted-string'''triple-single-quoted-string'single-single-quoted-stringend-of-string[^\\]+string-escape	[^"\\\n]+	[^'\\\n]+uz{4}#popUz{8}. (@)([a-zA-Z]+(?:-[a-zA-Z0-9]+)*)#pop:2\^\^rootr>   r@   rB   rD   rG   rE   N)1__name__
__module____qualname____doc__namealiases	filenames	mimetypesurlversion_addedPN_CHARS_BASE_GRPPN_CHARS_U_GRPPN_CHARS_GRPHEX_GRPPN_LOCAL_ESC_CHARS_GRPPN_CHARS_BASE
PN_CHARS_UPN_CHARSHEXPN_LOCAL_ESC_CHARSIRIREFBLANK_NODE_LABEL	PN_PREFIXVARNAMEPERCENTPN_LOCAL_ESCPLXPN_LOCALEXPONENTr   r   r   LabelVariabler   	Namespacer   TagFunctionConstantr   FloatIntegerr	   r   r   Escaper   tokens rz   rz   V/home/air/segue/gemini/backup/venv/lib/python3.10/site-packages/pygments/lexers/rdf.pyr      s    	1


r   c                   @   s  e Zd ZdZdZdgZdgZddgZdZdZ	d	Z
e
d
 Zed d d d d Zde d Zde
 d Zed e d e d ZdZde d Zde e ZdZde d Zde Zde d e d Zde d d e d d e d e d  e d! e d" Zd#d$d%Zd&efd'jdMi eeeeejee fd(jdMi eeeeej!eejee fd)ej"fd*jdMi eejfd+e d, e d eej!e ej#fd-e d. e d e d/ eej!e ej#fd0e$fd1e%fd2e&j'fd3e&j'fd4e&j(fd5e fd6e)d7fd8e)d9fd:e)d;fd<e)d=fgd6e)d>fd?e)fde)d@fgd8e)d>fdAe)fde)d@fgd:e)d>fdBe)fde)d@fgd<e)d>fdCe)fde)d@fgdDe)dEfgdFee*e+j,dGfdHjdMi eee*e+j,dGfe-dGgdIZ.dJdK Z/dLS )Nr   z)
    Lexer for Turtle data language.
    Turtleturtlez*.ttlztext/turtlezapplication/x-turtlezhttps://www.w3.org/TR/turtlez2.1r   r   r   r   r   r   r   r   r   r$   r"   r#   r   r%   r   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   z((?:[a-zA-Z][\w-]*)?\:)z(<[^<>"{}|^`\\\x00-\x20]*>))PNAME_NSrg   r2   z#(@base|BASE)(\s+){IRIREF}(\s*)(\.?)z6(@prefix|PREFIX)(\s+){PNAME_NS}(\s+){IRIREF}(\s*)(\.?)z(?<=\s)a(?=\s)z{IRIREF}r4   r5   z(_)(:)([z0-9]([z)?)z#[^\n]+z\b(true|false)\bz[+\-]?\d*\.\d+z[+\-]?\d*(:?\.\d+)?E[+\-]?\d+r:   z[\[\](){}.;,:^]r=   r>   r?   r@   rA   rB   rC   rD   rE   z[^\\]+(?=""")rG   rH   z[^\\]+(?=''')rI   rM   rK   rN   rO   z(\^\^){IRIREF}rQ   c                 C   s&   dD ]}t d| | r dS qd S )N)z@base zBASE z@prefix zPREFIX z^\s*g?)research)texttrz   rz   r{   analyse_text=  s
   zTurtleLexer.analyse_textNrz   )0rS   rT   rU   rV   rW   rX   rY   rZ   r[   r\   r]   r^   r_   rd   rb   ri   r`   re   rk   ra   rf   rl   rm   rn   patternsr   formatr   r   r   r   rq   r   rr   Typers   r   r   r   rv   rw   r   r	   r
   Emphr   ry   r   rz   rz   rz   r{   r      s    (Lr   c                   @   s  e Zd ZdZdZddgZdgZdgZdZdZ	d	Z
e
d
 Zed d d d d ZdZdZde
 d Zde d Zde d Zde d Zde d Zde d e d Zde Zde d Zde d e d e d Zed e d e d Zde e Zde Zd e d! e d" Zde d# d$ e d" d% e d& e d' e d( e d) Zd*Zd+efd,efd-efd.e d" e j!fd.e d" e j!fd.e d/ e d e"e j#e$e j%fd0ej&fd1e d2 e d" e'j(fd3e'j(fd4e'j)fd5e*fd6e*j+fd7e$fd8e,fd9e-d:fd;e-d<fd=e-d>fd?e-d@fgd9e-dAfdBe-fde-dCfgd;e-dAfdDe-fde-dCfgd=e-dAfdBe-fde-j.dCfgd?e-dAfdEe-fde-dCfgee-j.dFfdGe-j.dFfgdHe"e*e j/dIfdJe*dIfe0dIgdKZ1dLS )Mr   z<
    Lexer for ShExC shape expressions language syntax.
    ShExCshexcshexz*.shexz	text/shexz%https://shex.io/shex-semantics/#shexc r   r   r   r   r   r   r   r   z_~.\-!$&'()*+,;=/?#@%r   r   z(?:uz{4}|Uz{8})r&   z<(?:[^\x00-\x20<>"{}|^`\\]|z)*>r    r!   r"   r#   r$   r%   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   z(?i)(base|prefix|start|external|literal|iri|bnode|nonliteral|length|minlength|maxlength|mininclusive|minexclusive|maxinclusive|maxexclusive|totaldigits|fractiondigits|closed|extra)\br3   r4   r5   r6   r7   r8   r9   r:   z[@|$&=*+?^\-~]z(?i)(and|or|not)\br;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rK   rM   rN   rO   rP   rQ   N)2rS   rT   rU   rV   rW   rX   rY   rZ   r[   r\   r]   r^   r_   r`   ra   rb   rc   rd   re   rf   UCHAR_NO_BACKSLASHUCHARrg   rh   ri   rk   rl   rm   rn   ro   r   r   r   rp   r   rr   r   rs   ru   r   rv   rw   r	   Wordr   r   rx   rt   r   ry   rz   rz   rz   r{   r   C  s    '



r   )rV   r   pygments.lexerr   r   r   pygments.tokenr   r   r   r   r	   r
   r   r   r   r   r   __all__r   r   r   rz   rz   rz   r{   <module>   s    
4  