Ë
    !täiE2  ã                   ó|   — 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e«      Z G d„ de«      Zy)	zà
    pygments.lexers.prolog
    ~~~~~~~~~~~~~~~~~~~~~~

    Lexers for Prolog and Prolog-like languages.

    :copyright: Copyright 2006-present 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                   óÀ  — e Zd ZdZdZdgZg d¢ZdgZdZdZ	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j8                  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'„ Z!y())r   z!
    Lexer for Prolog files.
    ÚPrologÚprolog)z*.eclz*.prologz*.proz*.plztext/x-prologz$https://en.wikipedia.org/wiki/PrologÚ 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]+\\|\\["\\abcefnrstv]|[^\\"])*"z'(?:''|[^'])*'zis\bz5(<|>|=<|>=|==|=:=|=|/|//|\*|\+|-)(?=\s|[a-zA-Z0-9\[])z(mod|div|not)\bÚ_z([a-z]+)(:)zh([a-z\u00c0-\u1fff\u3040-\ud7ff\ue000-\uffef][\w$\u00c0-\u1fff\u3040-\ud7ff\ue000-\uffef]*)(\s*)(:-|-->)zd([a-z\u00c0-\u1fff\u3040-\ud7ff\ue000-\uffef][\w$\u00c0-\u1fff\u3040-\ud7ff\ue000-\uffef]*)(\s*)(\()zY[a-z\u00c0-\u1fff\u3040-\ud7ff\ue000-\uffef][\w$\u00c0-\u1fff\u3040-\ud7ff\ue000-\uffef]*z/[#&*+\-./:<=>?@\\^~\u00a1-\u00bf\u2010-\u303f]+z	[A-Z_]\w*z&\s+|[\u2000-\u200f\ufff0-\ufffe\uffef]z\*/ú#popz#pushz[^*/]+z[*/])Úrootr   c                 ó   — d| v ryy)z,Competes with IDL and Visual Prolog on *.proz:-g      à?r   © ©Útexts    úe/Volumes/fast/ai/experiments/MLX_z-image/.venv/lib/python3.12/site-packages/pygments/lexers/prolog.pyÚanalyse_textzPrologLexer.analyse_textR   s   € à�4‰<ààó    N)"Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚaliasesÚ	filenamesÚ	mimetypesÚurlÚversion_addedr   Ú	MultilineÚSingler
   ÚCharr   ÚBinÚOctÚHexÚIntegerÚFloatr   ÚDoubleÚAtomr   r   r   r	   Ú	NamespaceÚFunctionr   ÚVariableÚtokensr   r   r    r   r   r      sË  „ ñð €DØˆj€GÚ6€IØ Ð!€IØ
0€CØ€Mð �W×&Ñ&Ð(8Ð9Ø�W—^‘^Ð$à�f—k‘kÐ"Ø˜Ÿ™Ð$Ø˜&Ÿ*™*Ð%Ø §
¡
Ð+à# V§^¡^Ð4Ø5°v·|±|ÐDØ�V—^‘^Ð$Ø Ð-Ø˜Ð$ð7Ø8>¿¹ðGà §¡Ð,ð �hÐØEØðà Ð*Ø�7ˆOØ™X d§n¡n°kÓBÐCðñ �d—m‘m T¨8Ó4ð6ðñ �d—m‘m T¨;Ó7ð9ð>à�[‰[ðð @Ø�[‰[ðà˜4Ÿ=™=Ð)Ø6¸Ð=ðQ)
ðV �W×&Ñ&¨Ð/Ø�W×&Ñ&¨Ð0Ø˜×)Ñ)Ð*Ø�g×'Ñ'Ð(ð	
ñW1€Fófr    c                   óÀ  — e Zd ZdZdZdZdgZddgZdgZd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‘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f‘dYef‘dZef‘d[ed\f‘d]ed^f‘d_efd[ed`fdaej,                  fdbefdcefgddefd]ed`fdaej,                  fdeefdcefgdfedgfdhedgfdiedjfdkedgfdledgfdmedgfdnedgfdoedgfdpedgfdqedgfdredgfdsedgfdtedgfgduefdefdej                  fdej                  fdej                   fdefdej$                  fdZefd[ed\fd]ed^fdvedgfdwefdYefdefdefdefdefgdxœZdy„ Zyz){r   z"
    For Logtalk source code.
    ÚLogtalkzhttp://logtalk.org/Úlogtalkz*.lgtz	*.logtalkztext/x-logtalkz0.10z^\s*:-\sÚ	directivez%.*?\nz/\*(.|\n)*?\*/z\nz\s+z0'[\\]?.r   r   r   z\d+\.?\d*((e|E)(\+|-)?\d+)?z([A-Z_][a-zA-Z0-9_]*)z(after|before)(?=[(])zforward(?=[(])z+(context|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((create|current|set)_logtalk_flag(?=[(])zMlogtalk_(compile|l(ibrary_path|oad|oad_context)|make(_target_action)?)(?=[(])z\blogtalk_make\bz(clause|retract(all)?)(?=[(])za(bolish|ssert(a|z))(?=[(])z(ca(ll|tch)|throw)(?=[(])z0(fa(il|lse)|true|(instantiation|system)_error)\bzi(uninstantiation|type|domain|existence|permission|representation|evaluation|resource|syntax)_error(?=[(])z!((bag|set)of|f(ind|or)all)(?=[(])zBthreaded(_(ca(ll|ncel)|once|ignore|exit|peek|wait|notify))?(?=[(])zRthreaded_engine(_(create|destroy|self|next|next_reified|yield|post|fetch))?(?=[(])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[a-z][a-zA-Z0-9_]*Ú'Úquoted_atomÚ"Údouble_quoted_termz''r   z+\\([\\abfnrtv"\']|(x[a-fA-F0-9]+|[0-7]+)\\)z	[^\\'\n]+z\\z""z	[^\\"\n]+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][a-zA-Z0-9_]*(?=[(])z[a-z][a-zA-Z0-9_]*(?=[.])zH(complements|extends|i(nstantiates|mp(lements|orts))|specializes)(?=[(])z([)]\.)z(::))r   r>   r@   r<   rA   c                 ón   — d| v ryd| v ryd| v ryt        j                  d| t         j                  «      ryy)Nz
:- object(g      ð?z:- protocol(z:- category(z
^:-\s[a-z]gÍÌÌÌÌÌì?g        )ÚreÚsearchÚMr   s    r   r   zLogtalkLexer.analyse_text4  s=   € Ø˜4ÑØØ˜tÑ#ØØ˜tÑ#ØÜ�Y‰Y�} d¬B¯D©DÔ1Øàr    N)r!   r"   r#   r$   r%   r)   r&   r'   r(   r*   r   r   r   r   r.   r/   r0   r	   r7   r   r   r
   ÚEscaper8   r   r   r    r   r   r   [   sÈ  „ ñð €DØ
€CØˆk€GØ˜+Ð&€IØ!Ð"€IØ€MðH
à˜+ {Ð3ðH
ð ˜Ð ð	H
ð
  Ð(ðH
ð �DˆMðH
ð �TˆNðH
ð ˜&Ð!ðH
ð ˜Ÿ™Ð$ðH
ð ˜&Ÿ*™*Ð%ðH
ð  §
¡
Ð+ðH
ð ,¨VÐ4ðH
ð  & t§}¡}Ð5ð!H
ð$ & wÐ/ð%H
ð(  Ð(ð)H
ð, <¸WÐEð-H
ð0 >¸wÐGð1H
ð4 IÈ'ÐRð5H
ð8 LÈWÐUð9H
ð: ;¸GÐDð;H
ð> ?ÀÐHð?H
ð@ :¸7ÐCðAH
ðB ;¸GÐDðCH
ðD 6°wÐ?ðEH
ðH ?ÀÐHðIH
ðL 9¸'ÐBðMH
ðP ^Ð_fÐgðQH
ðR ! 'Ð*ðSH
ðV .¨wÐ7ðWH
ðX ,¨WÐ5ðYH
ð\ *¨7Ð3ð]H
ð^ AÀ'ÐJð_H
ð` zð  |Cð  DðaH
ðd 2°7Ð;ðeH
ðh SÐT[Ð\ðiH
ðl cÐdkÐlðmH
ðp ?ÀÐHðqH
ðt IÈ'ÐRðuH
ðx 6°wÐ?ðyH
ðz :¸7ÐCð{H
ð| ;¸GÐDð}H
ð@ GÈÐPðAH
ðD kÐlsÐtðEH
ðH  Ð(ðIH
ðL 0°Ð9ðMH
ðN $ WÐ-ðOH
ðP $ WÐ-ðQH
ðR 2°7Ð;ðSH
ðT NÈwÐWðUH
ðX =¸gÐFðYH
ðZ ˜Ð ð[H
ð^ $ WÐ-ð_H
ð` 3°GÐ<ðaH
ðb % gÐ.ðcH
ðd 2°7Ð;ðeH
ðh 9¸'ÐBðiH
ðj ,¨WÐ5ðkH
ðl *¨7Ð3ðmH
ðp 0°Ð9ðqH
ðr ˜'Ð"ðsH
ðt ˜WÐ%ðuH
ðx ˜XÐ&ðyH
ð| �gÐð}H
ð@ % gÐ.ðAH
ðB ˜GÐ$ðCH
ðF " 7Ð+ðGH
ðJ $ XÐ.ðKH
ðN ˜Ð!ðOH
ðR ˜Ð ðSH
ðV % hÐ/ðWH
ðZ �xÐ ð[H
ð^ ˜Ð"ð_H
ðb (¨Ð2ðcH
ðf ˜XÐ&ðgH
ðh '¨Ð1ðiH
ðl ˜(Ð#ðmH
ðp �XÐðqH
ðt ˜8Ð$ðuH
ðx �XÐðyH
ð| �hÐð}H
ð@ �HÐðAH
ðD ˜TÐ"ðEH
ðH # DÐ)ðIH
ðJ �6˜=Ð)ðKH
ðN �6Ð/Ð0ðOH
ðV �FˆOØ�6˜6Ð"Ø;¸V¿]¹]ÐKØ˜6Ð"Ø�FˆOð
ð �FˆOØ�6˜6Ð"Ø;¸V¿]¹]ÐKØ˜6Ð"Ø�FˆOð
ð  ¨Ð0Ø$ g¨vÐ6à1°7Ð<MÐNØ7¸À&ÐIà1°7¸FÐCà5°wÀÐGØ0°'¸6ÐBØ?ÀÈ&ÐQð Kð  MTð  V\ð  ]Ø˜7 FÐ+ØJÈGÐU[Ð\Ø)¨4°Ð8Ø)¨4°Ð8ð#
ð* YÐZaÐbà˜&Ð!Ø˜Ÿ™Ð$Ø˜&Ÿ*™*Ð%Ø §
¡
Ð+Ø+¨VÐ4à% t§}¡}Ð5à" DÐ)Ø�6˜=Ð)à�6Ð/Ð0à˜˜vÐ&à�hÐà˜TÐ"à˜Ð Ø Ð(à�DˆMØ�TˆNð5
ñ_K€FóZ
r    )r$   rC   Úpygments.lexerr   r   Úpygments.tokenr   r   r   r   r	   r
   r   r   Ú__all__r   r   r   r    r   Ú<module>rJ      sJ   ðñó 
ç /÷÷ ó ð ˜.Ð
)€ôD�*ô DôNc�:õ cr    