ó
    öÞ jÛ(  ã                   ó`   • S r SSKrSSKJr  SSKJrJrJrJrJ	r	J
r
JrJr  S/r " S S\5      rg)z¾
pygments.lexers.tnt
~~~~~~~~~~~~~~~~~~~

Lexer for Typographic Number Theory.

:copyright: Copyright 2006-present by the Pygments team, see AUTHORS.
:license: BSD, see LICENSE for details.
é    N)ÚLexer)ÚTextÚCommentÚOperatorÚKeywordÚNameÚNumberÚPunctuationÚErrorÚTNTLexerc                   óZ  • \ rS rSrSrSrSrS/rS/rSr	/ r
\" S5      r\" S	5      r\" S
5      r\" S5      r\" S5      r\" S5      r\" S5      r\" S5      r\R*                  " S5      r\R*                  " S5      r\R*                  " S5      rS rSS jrS rS rS rS rS rS r S r!Sr"g)r   é   un   
Lexer for Typographic Number Theory, as described in the book
GÃ¶del, Escher, Bach, by Douglas R. Hofstadter
zTypographic Number Theoryz,https://github.com/Kenny2github/language-tntÚtntz*.tntz2.7u   âŠƒâ†’]&âˆ§^|âˆ¨Vvu   +.â‹…*Úabcdeu   'â€²z~!u   AEâˆ€âˆƒÚ
0123456789z	 
ax  (?xi)
        joining | separation | double-tilde | fantasy\ rule
        | carry[- ]over(?:\ of)?(?:\ line)?\ ([0-9]+) | detachment
        | contrapositive | De\ Morgan | switcheroo
        | specification | generalization | interchange
        | existence | symmetry | transitivity
        | add\ S | drop\ S | induction
        | axiom\ ([1-5]) | premise | push | pop
    z((?:[0-9]+)(?:(?:, ?|,? and )(?:[0-9]+))*z\[[^\n\]]+\]c                 óF   • [         R                  " U /UQ70 UD6  / U l        g )N)r   Ú__init__Úcur)ÚselfÚargsÚkwargss      ÚM/var/www/html/gaurav/venv/lib/python3.13/site-packages/pygments/lexers/tnt.pyr   ÚTNTLexer.__init__7   s   € Ü�Š�tÐ-˜dÒ- fÒ-Øˆ�ó    c                 ó  • Un X$   U R                   ;   a  US-  nX$   U R                   ;   a  M  U(       a  XA:X  a  [        eXA:w  a$  U R                  R                  U[        X!U 45        U$ ! [         a    [        U5      n NTf = f)zTokenize whitespace.é   )Ú
WHITESPACEÚ
IndexErrorÚlenÚAssertionErrorr   Úappendr   )r   ÚstartÚtextÚrequiredÚends        r   Ú
whitespaceÚTNTLexer.whitespace;   s�   € àˆð	Ø‘)˜tŸ™Ó.Ø�q‘�ð ‘)˜tŸ™Õ.ö ˜›Ü Ð Ø‹<Ø�H‰H�O‰O˜U¤D¨$°S¨/Ð:Ô;Øˆ
øô ó 	Ü�d“)ŠCð	ús   „)A, Á,BÂBc                 óò   • X!   U R                   ;  a  [        eUS-   nX#   U R                  ;   a  US-  nX#   U R                  ;   a  M  U R                  R	                  U[
        R                  X!U 45        U$ )zTokenize a variable.r   )Ú	VARIABLESr    ÚPRIMESr   r!   r   ÚVariable©r   r"   r#   r%   s       r   ÚvariableÚTNTLexer.variableI   sj   € à‰;˜dŸn™nÓ,Ü Ð Ø�A‰gˆØ‰i˜4Ÿ;™;Ó&Ø�1‰HˆCð ‰i˜4Ÿ;™;Õ&à�‰�‰˜¤§¡¨t¸#¨Ð?Ô@Øˆ
r   c                 ó"  • X!   S:X  a[  US-   nX#   S:X  a  US-  nX#   S:X  a  M  U R                   R                  U[        R                  X!U 45        U R	                  X25      $ X!   S:X  a3  U R                   R                  U[        R                  X!   45        US-   $ X!   U R
                  ;   a  U R                  X5      $ X!   S:X  aÁ  U R                   R                  U[        X!   45        U R	                  US-   U5      nX!   U R                  ;  a  [        eU R                   R                  U[        X!   45        U R	                  US-   U5      nX!   S:w  a  [        eU R                   R                  U[        X!   45        US-   $ [        e)zTokenize a term.ÚSr   Ú0Ú(Ú))r   r!   r	   ÚIntegerÚtermr)   r-   r
   Ú	OPERATORSr    r   r,   s       r   r5   ÚTNTLexer.termS   s_  € à‰;˜#ÓØ˜‘'ˆCØ‘)˜sÓ"Ø�q‘�ð ‘)˜sÕ"à�H‰H�O‰O˜U¤F§N¡N°D¸s°OÐDÔEØ—9‘9˜SÓ'Ð'Ø‰;˜#ÓØ�H‰H�O‰O˜U¤F§N¡N°D±KÐ@ÔAØ˜‘7ˆNØ‰;˜$Ÿ.™.Ó(Ø—=‘= Ó-Ð-Ø‰;˜#ÓØ�H‰H�O‰O˜U¤K°±Ð=Ô>Ø—I‘I˜e A™g tÓ,ˆEØ‰{ $§.¡.Ó0Ü$Ð$Ø�H‰H�O‰O˜U¤H¨d©kÐ:Ô;Ø—I‘I˜e A™g tÓ,ˆEØ‰{˜cÓ!Ü$Ð$Ø�H‰H�O‰O˜U¤K°±Ð=Ô>Ø˜‘7ˆNÜÐr   c                 ón  • X!   U R                   ;   ae  US-   nX#   U R                   ;   a  US-  nX#   U R                   ;   a  M  U R                  R                  U[        X!U 45        U R	                  X25      $ X!   U R
                  ;   aŠ  U R                  R                  U[        R                  X!   45        U R                  US-   U5      nX!   S:w  a  [        eU R                  R                  U[        X!   45        U R	                  US-   U5      $ X!   S:X  aÁ  U R                  R                  U[        X!   45        U R	                  US-   U5      nX!   U R                  ;  a  [        eU R                  R                  U[        X!   45        U R	                  US-   U5      nX!   S:w  a  [        eU R                  R                  U[        X!   45        US-   $ U R                  X5      nX!   S:w  a  [        eU R                  R                  U[        X!   45        U R                  US-   U5      nU$ )zTokenize a formula.r   Ú:Ú<Ú>Ú=)ÚNEGATORSr   r!   r   ÚformulaÚQUANTIFIERSr   ÚDeclarationr-   r    r
   ÚLOGICr5   r,   s       r   r>   ÚTNTLexer.formulam   så  € à‰;˜$Ÿ-™-Ó'Ø˜‘'ˆCØ‘)˜tŸ}™}Ó,Ø�q‘�ð ‘)˜tŸ}™}Õ,à�H‰H�O‰O˜U¤H¨d¸¨oÐ>Ô?Ø—<‘< Ó*Ð*Ø‰;˜$×*Ñ*Ó*Ø�H‰H�O‰O˜U¤G×$7Ñ$7¸¹ÐEÔFØ—M‘M %¨¡'¨4Ó0ˆEØ‰{˜cÓ!Ü$Ð$Ø�H‰H�O‰O˜U¤K°±Ð=Ô>Ø—<‘<  a¡¨Ó.Ð.Ø‰;˜#ÓØ�H‰H�O‰O˜U¤K°±Ð=Ô>Ø—L‘L  q¡¨$Ó/ˆEØ‰{ $§*¡*Ó,Ü$Ð$Ø�H‰H�O‰O˜U¤H¨d©kÐ:Ô;Ø—L‘L  q¡¨$Ó/ˆEØ‰{˜cÓ!Ü$Ð$Ø�H‰H�O‰O˜U¤K°±Ð=Ô>Ø˜‘7ˆNà—	‘	˜%Ó&ˆØ‰;˜#ÓÜ Ð Ø�‰�‰˜¤¨$©+Ð6Ô7Ø—	‘	˜% ™' 4Ó(ˆØˆr   c           	      óž  • U R                   R                  X!5      nUc  [        e[        UR                  SS 5      nU HÊ  nUS   S:¼  d  M  U R
                  R                  U[        X!US    45        U R
                  R                  US   [        R                  X%S   US    45        US   UR                  5       :w  a8  U R
                  R                  US   [        X%S   UR                  5        45          UR                  5       $    U R
                  R                  U[        X!UR                  5        45        UR                  5       $ )zTokenize a rule.Nr   r   )ÚRULESÚmatchr    ÚsortedÚregsr   r!   r   r	   r4   r%   )r   r"   r#   rE   ÚgroupsÚgroups         r   ÚruleÚTNTLexer.rule�   s  € à—
‘
× Ñ  Ó-ˆØ‰=Ü Ð Ü˜Ÿ
™
 1 2˜Ó'ˆÛˆEØ�Q‰x˜1�}Ø—‘—‘ ¬°¸EÀ!¹HÐ1EÐ FÔGØ—‘—‘  q¡¬6¯>©>Ø!%¨A¡h¨u°Q©xÐ!8ð!:ô ;à˜‘8˜uŸy™y›{Ó*Ø—H‘H—O‘O U¨1¡X¬wØ%)°©(°5·9±9³;Ð%?ð%Aô Bàð �y‰y‹{Ðñ ð �H‰H�O‰O˜U¤G¨T¸¿	¹	»Ð-DÐEÔFØ�y‰y‹{Ðr   c                 ó´  • UnX#   U R                   ;  a  US-  nX#   U R                   ;  a  M  U R                  R                  U[        X!   45        U R                  R                  US-   [        X!S-   U 45        UnU R
                  R                  X!5      nUc  [        eX$R                  5          S:w  a  [        eU R                  R                  UR                  5       [        R                  UR                  S5      45        U R                  R                  UR                  5       [        X$R                  5          45        UR                  5       S-   $ )zTokenize a line referral.r   r3   r   )ÚNUMBERSr   r!   r
   r   ÚLINENOSrE   r    r%   r"   r	   r4   rI   )r   r"   r#   r%   rE   s        r   ÚlinenoÚTNTLexer.lineno¢   s  € àˆØ‰i˜tŸ|™|Ó+Ø�1‰HˆCð ‰i˜tŸ|™|Õ+à�‰�‰˜¤¨T©[Ð9Ô:Ø�‰�‰˜˜q™¤$¨°1©W°SÐ(9Ð:Ô;ØˆØ—‘×"Ñ" 4Ó/ˆØ‰=Ü Ð Ø—	‘	“Ñ Ó#Ü Ð Ø�‰�‰˜Ÿ™›¬¯©¸¿¹ÀA»ÐGÔHØ�‰�‰˜Ÿ™›¤k°4¿	¹	»Ñ3DÐEÔFØ�y‰y‹{˜Q‰Ðr   c                 óä   • Un X#   S:w  a  US-  nX#   S:w  a  M  X1:w  a$  U R                  R                  U[        X!U 45        U R                  X25      nU$ ! [          a    [        U5      n NSf = f)z?Mark everything from ``start`` to the end of the line as Error.Ú
r   )r   r   r   r!   r   r&   r,   s       r   Úerror_till_line_endÚTNTLexer.error_till_line_end³   sz   € àˆð	Ø‘)˜tÓ#Ø�q‘�ð ‘)˜tÕ#ð ‹<Ø�H‰H�O‰O˜U¤E¨4°c¨?Ð;Ô<Ø�o‰o˜cÓ(ˆØˆ
øô ó 	Ü�d“)ŠCð	ús   „A ÁA/Á.A/c                 óô  • / U l         U R                  SU5      =p#X#s=::  a  [        U5      :  Ga7  O  U R                   $  X   U R                  ;   a  US-  nX   U R                  ;   a  M  X2:w  aW  U R                   R	                  U[
        R                  XU 45        [        U R                   5      n U R                  X1S5      =p#U R                  R                  X5      nUbX  U R                   R	                  U[        XUR                  5        45        UR                  5       =p#U R                  X!5      =p#GM"  AX   S;   a/  U R                   R	                  U[        X   45        US-  nUS-  nO([        U R                   5      n U R                  X!5      =p#[        U R                   5      n U R                  X1S5      =p#[        U R                   5      n U R%                  X!5      =p#U R                  X15      =p#X   S:X  a:  [        U R                   5      n U R'                  X!5      =p#U R                  X!5      =p#X#s=::  a  [        U5      :  a  GM   U R                   $   U R                   $ ! [         a&    U R                   US2	 U R                  X15      =p# GMˆ  f = f! [        [        4 ad    U R                   US2	 X   U R                   ;  a  US-  nX   U R                   ;  a  M  U R                   R	                  U["        XU 45        Un GN}f = f! [         a&    U R                   US2	 U R                  X!5      =p# GM2  f = f! [         a&    U R                   US2	 U R                  X!5      =p# GMe  f = f! [         a&    U R                   US2	 U R                  X!5      =p# GM˜  f = f! [(         a6     U R                   WS2	 O! [*         a     Of = fU R                  X!5         GN´f = f)zReturns a list of TNT tokens.r   r   TNz[]r2   )r   r&   r   rM   r!   r	   r4   r    rS   ÚCOMMENTrE   r   r%   r   r>   ÚRecursionErrorr   r   rJ   rO   r   Ú	NameError)r   r#   r"   r%   ÚorigrE   s         r   Úget_tokens_unprocessedÚTNTLexer.get_tokens_unprocessedÀ   sµ  € àˆŒØ—o‘o a¨Ó.Ð.ˆØÕ&œS ›YÖ&ðT �x‰xˆðSH6à‘i 4§<¡<Ó/Ø˜1‘H�Cð ‘i 4§<¡<Õ/à“<Ø—H‘H—O‘O U¬F¯N©N¸DÀs¸OÐ$LÔMä˜tŸx™x›=�Dð!Ø&*§o¡o°cÀÓ&FÐF˜ð Ÿ™×*Ñ*¨4Ó7�ØÑ$Ø—H‘H—O‘O U¬G°TÀÇ	Á	ÃÐ5LÐ$MÔNØ"'§)¡)£+Ð-�Eà"&×":Ñ":¸5Ó"GÐG�EâØØ‘; $Ó&Ø—H‘H—O‘O U¬G°T±[Ð$AÔBØ˜Q‘J�EØ˜1‘H‘Cô ˜tŸx™x›=�Dð$Ø&*§l¡l°5Ó&?Ð?˜ô ˜4Ÿ8™8“}�ðØ"&§/¡/°#¸TÓ"BÐB�Eô ˜4Ÿ8™8“}�ðØ"&§)¡)¨EÓ"8Ð8�Eð #Ÿo™o¨cÓ8Ð8�à‘; #Ó%Ü˜tŸx™x›=�Dð!Ø&*§k¡k°%Ó&>Ð>˜ð
 #'§/¡/°%Ó">Ð>�EðG Õ&œS ›Y×&ðT �x‰xˆðU 'ðT �x‰xˆøô *ó !Ø ŸH™H T¡U˜OØ&*×&>Ñ&>¸sÓ&IÐI˜Û ð!ûô. +¬NÐ;ó $Ø ŸH™H T¡U˜OØ"™i¨t¯©Ó>Ø 1™H˜Cð #™i¨t¯©Õ>àŸ™Ÿ™¨´°tÀ#°Ð(GÔHØ #›ð$ûô &ó ØŸ™ ¡˜Ø"&×":Ñ":¸5Ó"GÐG�EÛðûô &ó ØŸ™ ¡˜Ø"&×":Ñ":¸5Ó"GÐG�EÛðûô *ó !Ø ŸH™H T¡U˜OØ&*×&>Ñ&>¸uÓ&KÐK˜Û ð!ûô
 ó 6ðØŸ™ ¡™øÜ ó Ùðúà×(Ñ(¨×5ð6ús   Á )N7 Á+AN7 Â4I4 ÃA3N7 Ä=AN7 ÆJ' ÆN7 Æ3L ÇN7 ÇM Ç./N7 ÈN È0N7 É4+J$ÊN7 Ê#J$Ê$N7 Ê'ALË1&LÌN7 ÌLÌN7 Ì+MÍ	N7 ÍMÍN7 Í+NÍ<N7 Î NÎN7 Î+N4Î/N7 Î3N4Î4N7 Î7
O7ÏOÏO7Ï
OÏO7ÏOÏO7Ï6O7)r   N)F)#Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__ÚnameÚurlÚaliasesÚ	filenamesÚversion_addedr   ÚsetrA   r6   r)   r*   r=   r?   rM   r   ÚreÚcompilerD   rN   rV   r   r&   r-   r5   r>   rJ   rO   rS   rZ   Ú__static_attributes__© r   r   r   r      s×   † ñð
 '€DØ
8€CØˆg€GØ�	€IØ€Mà
€CáÐ$Ó%€EÙ�H“€IÙ�G“€IÙ�‹[€FÙ�4‹y€HÙ�j“/€KÙ�,Ó€GÙ�Y“€Jà�JŠJð ó 	€Eð �jŠjÐDÓE€GØ�jŠj˜Ó)€Gòôòòò4 òDò&ò"õNr   )r`   rg   Úpygments.lexerr   Úpygments.tokenr   r   r   r   r   r	   r
   r   Ú__all__r   rj   r   r   Ú<module>rn      s8   ðñó 
å  ÷÷ ó ð ˆ,€ôzˆuõ zr   