o
    -wi"/                     @   sp   d Z ddlZddlmZmZ ddl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.prolog
    ~~~~~~~~~~~~~~~~~~~~~~

    Lexers for Prolog and Prolog-like languages.

    :copyright: Copyright 2006-2017 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
    N)
RegexLexerbygroups)TextCommentOperatorKeywordNameStringNumberPunctuationPrologLexerLogtalkLexerc                   @   s<  e Zd ZdZdZdgZg dZdgZej	ej
B Zdejfdejdfd	ejfd
ejfdejfdejfdejfdejfdejfdejfdefdefdejfdejfdefdefdefdefdeejefdeeje efdeeje efdejfdejfdej!fde fgd ejd!fdejd"fd#ejfd$ejfgd%Z"d&d' Z#d(S ))r   z!
    Lexer for Prolog files.
    Prologprolog)z*.eclz*.prologz*.proz*.plztext/x-prologz^#.*z/\*nested-commentz%.*z0\'.0b[01]+0o[0-7]+0x[0-9a-fA-F]+z\d\d?\'[a-zA-Z0-9]+z%(\d+\.\d*|\d*\.\d+)([eE][+-]?[0-9]+)?z\d+z[\[\](){}|.,;!]z:-|-->z`"(?:\\x[0-9a-fA-F]+\\|\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}|\\[0-7]+\\|\\["\nabcefnrstv]|[^\\"])*"z'(?:''|[^'])*'zis\bz5(<|>|=<|>=|==|=:=|=|/|//|\*|\+|-)(?=\s|[a-zA-Z0-9\[])z(mod|div|not)\b_z([a-z]+)(:)uB   ([a-zÀ-῿぀-퟿-￯][\w$À-῿぀-퟿-￯]*)(\s*)(:-|-->)u>   ([a-zÀ-῿぀-퟿-￯][\w$À-῿぀-퟿-￯]*)(\s*)(\()u3   [a-zÀ-῿぀-퟿-￯][\w$À-῿぀-퟿-￯]*u!   [#&*+\-./:<=>?@\\^~¡-¿‐-〿]+z	[A-Z_]\w*u   \s+|[ -‏￰-￾￯]z\*/#popz#pushz[^*/]+z[*/])rootr   c                 C   s   d| v S )Nz:- textr   r   `/home/ubuntu/sommelier/.venv/lib/python3.10/site-packages/wandb/vendor/pygments/lexers/prolog.pyanalyse_textT   s   zPrologLexer.analyse_textN)$__name__
__module____qualname____doc__namealiases	filenames	mimetypesreUNICODE	MULTILINEflagsr   Single	Multiliner	   Charr
   BinOctHexIntegerFloatr   DoubleAtomr   r   r   r   	NamespaceFunctionr   Variabletokensr   r   r   r   r   r      sh    

,
4c                   @   s  e Zd ZdZdZdgZddgZdgZg dedfd	e	fd
e	fde
fde
fdefdejfdejfdejfdefdejfdefdefdefdefdefdefdefdefdefdefdefdefdefd efd!efd"efd#efd$efd%efd&efd'efd(efd)efd*efd+efd,efd-efd.efd/efd0efd1efd2efd3efd4efd5efd6efd7efd8efd9efd:efd;efd<efd=efd>efd?efd@efdAefdBefdCefdDefdEefdFefdGefdHefdIefdJefdKefdLefdMefdNefdOefdPefdQefdRefdSefdTefdUefdVe
fdWe
fdXedYfdZefdXed[fd\ejfd]efd^efgd_ed`fdaed`fdbedcfdded`fdeed`fdfed`fdged`fdhed`fdied`fdjed`fdked`fdle
d`fdme
d`fgdnefdefdejfdejfdejfdefdejfdWe
fdXedYfdUefdoe
d`fdpefdVe
fd	e	fd
e	fde
fde
fgdqZdrds ZdtS )ur   zW
    For `Logtalk <http://logtalk.org/>`_ source code.

    .. versionadded:: 0.10
    Logtalklogtalkz*.lgtz	*.logtalkztext/x-logtalkz^\s*:-\s	directivez%.*?\nz/\*(.|\n)*?\*/z\nz\s+z0'.r   r   r   z\d+\.?\d*((e|E)(\+|-)?\d+)?z([A-Z_]\w*)z(after|before)(?=[(])zforward(?=[(])z#(parameter|this|se(lf|nder))(?=[(])z-(current_predicate|predicate_property)(?=[(])z8(expand_(goal|term)|(goal|term)_expansion|phrase)(?=[(])z;(abolish|c(reate|urrent))_(object|protocol|category)(?=[(])z*(object|protocol|category)_property(?=[(])z.co(mplements_object|nforms_to_protocol)(?=[(])z)extends_(object|protocol|category)(?=[(])z*imp(lements_protocol|orts_category)(?=[(])z%(instantiat|specializ)es_class(?=[(])z.(current_event|(abolish|define)_events)(?=[(])z!(current|set)_logtalk_flag(?=[(])z<logtalk_(compile|l(ibrary_path|oad|oad_context)|make)(?=[(])z\blogtalk_make\bz(clause|retract(all)?)(?=[(])za(bolish|ssert(a|z))(?=[(])z(ca(ll|tch)|throw)(?=[(])z(fa(il|lse)|true)\bz!((bag|set)of|f(ind|or)all)(?=[(])z;threaded(_(call|once|ignore|exit|peek|wait|notify))?(?=[(])z.(subsumes_term|unify_with_occurs_check)(?=[(])z8(functor|arg|copy_term|numbervars|term_variables)(?=[(])z%(div|rem|m(ax|in|od)|abs|sign)(?=[(])z)float(_(integer|fractional)_part)?(?=[(])z*(floor|t(an|runcate)|round|ceiling)(?=[(])z6(cos|a(cos|sin|tan|tan2)|exp|log|s(in|qrt)|xor)(?=[(])zZ(var|atom(ic)?|integer|float|c(allable|ompound)|n(onvar|umber)|ground|acyclic_term)(?=[(])zcompare(?=[(])z(curren|se)t_(in|out)put(?=[(])z(open|close)(?=[(])zflush_output(?=[(])z!(at_end_of_stream|flush_output)\bz=(stream_property|at_end_of_stream|set_stream_position)(?=[(])z,(nl|(get|peek|put)_(byte|c(har|ode)))(?=[(])z\bnl\bzread(_term)?(?=[(])z"write(q|_(canonical|term))?(?=[(])z(current_)?op(?=[(])z!(current_)?char_conversion(?=[(])z(atom_(length|c(hars|o(ncat|des)))(?=[(])z(char_code|sub_atom)(?=[(])znumber_c(har|ode)s(?=[(])z(se|curren)t_prolog_flag(?=[(])z\bhalt\bzhalt(?=[(])z(::|:|\^\^)z[{}]z(ignore|once)(?=[(])z
\brepeat\bz(key)?sort(?=[(])z(>>|<<|/\\|\\\\|\\)z\bas\bz\bis\bz(=:=|=\\=|<|=<|>=|>)z=\.\.z(=|\\=)z(==|\\==|@=<|@<|@>=|@>)z(//|[-+*/])z\b(e|pi|div|mod|rem)\bz\b\*\*\bz-->z	([!;]|->)z\\+z[?@]z\^z"(\\\\|\\"|[^"])*"z[()\[\],.|]z[a-z]\w*'quoted_atomz''r   z+\\([\\abfnrtv"\']|(x[a-fA-F0-9]+|[0-7]+)\\)z	[^\\'\n]+z\\z(el)?if(?=[(])r   z(e(lse|ndif))[.]z!(category|object|protocol)(?=[(])entityrelationsz#(end_(category|object|protocol))[.]z!(public|protected|private)(?=[(])z%e(n(coding|sure_loaded)|xport)(?=[(])z in(clude|itialization|fo)(?=[(])z+(built_in|dynamic|synchronized|threaded)[.]zz(alias|d(ynamic|iscontiguous)|m(eta_(non_terminal|predicate)|ode|ultifile)|s(et_(logtalk|prolog)_flag|ynchronized))(?=[(])z	op(?=[(])z:(c(alls|oinductive)|module|reexport|use(s|_module))(?=[(])z[a-z]\w*(?=[(])z[a-z]\w*[.]zH(complements|extends|i(nstantiates|mp(lements|orts))|specializes)(?=[(])z([)]\.)z(::))r   r:   r8   r;   c                 C   s<   d| v rdS d| v rdS d| v rdS t d| t jrdS dS )Nz
:- object(g      ?z:- protocol(z:- category(z
^:-\s[a-z]g?g        )r$   searchMr   r   r   r   r   (  s   zLogtalkLexer.analyse_textN)r   r   r   r   r    r!   r"   r#   r   r   r   r
   r+   r,   r-   r   r4   r   r   r	   Escaper5   r   r   r   r   r   r   X   s   
 !"$&()+,./13579:;=?BDEFGHJKMNOPRSTVWXZ\^_acegikmoqrtvxz|~         

  E)r   r$   pygments.lexerr   r   pygments.tokenr   r   r   r   r   r	   r
   r   __all__r   r   r   r   r   r   <module>   s   
(C