File: //usr/lib/python3/dist-packages/pygments/lexers/__pycache__/rdf.cpython-310.pyc
o
���a�= � @ s� d Z ddlZddlmZmZmZ ddlmZmZm Z m
Z
mZmZm
Z
mZmZmZmZ g d�ZG dd� de�ZG dd � d e�ZG d
d� de�ZdS )z�
pygments.lexers.rdf
~~~~~~~~~~~~~~~~~~~
Lexers for semantic web and RDF query languages and markup.
:copyright: Copyright 2006-2021 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 Zd ZdZdZdgZddgZdgZdZed Z e d d
d d d
Z
dZdZde d Z
de d Zde
d Zde d Zde d ZdZde d e
d e d Ze
d e
d e d Zde d e d Zde e Zde Zde d e d Zde d d! e d d" e
d# e d$ e
d% e d& Zd'Zd(efd)efd*efd+e d ejfd+e d ejfd,e ejfd+e d- e d e ej!e"ej#�fd.ej$fd/ej%fd0e d1 e d e&j'fd2e&j'fd3e&j(fd4e)fd5e"fd6e*fd7e+d8fd9e+d:fd;e+d<fd=e+d>fgd7e+d?fd@e+fde+dAfgd9e+d?fdBe+fde+dAfgd;e+d?fd@e+fde+j,dAfgd=e+d?fdCe+fde+dAfgdDe dE e+j,dFfdGe dH e+j,dFfdIe+j,dFfgdJe e)ej$�dKfdLe)dKfe-dK�gdM�Z.dNS )Or zp
Lexer for `SPARQL <https://www.w3.org/TR/sparql11-query/>`_ query language.
.. versionadded:: 2.0
�SPARQL�sparqlz*.rqz*.sparqlzapplication/sparql-query�J 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>