Ë ¾®‘N“™_ãó`—dZddlZddlmZddlmZmZmZmZm Z m Z m Z m Z dgZ Gd„de«Zy)zÏ pygments.lexers.tnt ~~~~~~~~~~~~~~~~~~~ Lexer for Typographic Number Theory. :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. éN)ÚLexer)ÚTextÚCommentÚOperatorÚKeywordÚNameÚNumberÚ PunctuationÚErrorÚTNTLexercóL—eZdZdZdZdZdgZdgZgZe d«Z e d«Z e d«Z e d «Z e d «Ze d «Ze d «Ze d «Zej&d«Zej&d«Zej&d«Zd„Zdd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zy)r u• Lexer for Typographic Number Theory, as described in the book Gödel, Escher, Bach, by Douglas R. Hofstadter .. versionadded:: 2.7 zTypographic Number Theoryz,https://github.com/Kenny2github/language-tntÚtntz*.tntu⊃→]&∧^|∨Vvu+.â‹…*Úabcdeu'′z~!uAEâˆ€âˆƒÚ 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óD—tj|g|¢­i|¤Žg|_y)N)rÚ__init__Úcur)ÚselfÚargsÚkwargss ú8/usr/lib/python3.12/site-packages/pygments/lexers/tnt.pyrzTNTLexer.__init__8s€Ü �‰�tÐ-˜dÒ- fÒ-؈�ócóþ—|} |||jvr|dz }|||jvrŒ|r ||k(rt‚||k7r%|jj |t |||f«|S#t$rt|«}YŒOwxYw)zTokenize whitespace.é)Ú WHITESPACEÚ IndexErrorÚlenÚAssertionErrorrÚappendr)rÚstartÚtextÚrequiredÚends rÚ whitespacezTNTLexer.whitespace<s‹€àˆð Ø�s‘)˜tŸ™Ñ.Ø�q‘�ð�s‘)˜tŸ™Ò.ñ ˜˜uš Ü Ð Ø �%Š<Ø �H‰H�O‰O˜U¤D¨$¨u°S¨/Ð:Ô ;؈ øô ò Ü�d“)ŠCð ús„'A%Á%A<Á;A<cóì—|||jvrt‚|dz}|||jvr|dz }|||jvrŒ|jj |t j |||f«|S)zTokenize a variable.r)Ú VARIABLESrÚPRIMESrrrÚVariable©rr r!r#s rÚvariablezTNTLexer.variableJsr€à �‰;˜dŸn™nÑ ,Ü Ð Ø�A‰gˆØ�3‰i˜4Ÿ;™;Ñ&Ø �1‰HˆCð�3‰i˜4Ÿ;™;Ò&à �‰�‰˜¤§ ¡ ¨t°E¸#¨Ð?Ô@؈ rcó*—||dk(r\|dz}||dk(r|dz }||dk(rŒ|jj|tj|||f«|j ||«S||dk(r4|jj|tj||f«|dzS|||j vr|j ||«S||dk(rÃ|jj|t||f«|j |dz|«}|||jvrt‚|jj|t||f«|j |dz|«}||dk7rt‚|jj|t||f«|dzSt‚)zTokenize a term.ÚSrÚ0Ú(Ú)) rrr ÚIntegerÚtermr&r*r Ú OPERATORSrrr)s rr1z TNTLexer.termTs}€à �‰;˜#Ò Ø˜‘'ˆCØ�s‘)˜sÒ"Ø�q‘�ð�s‘)˜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°°e±Ð=Ô >Ø—I‘I˜e A™g tÓ,ˆEØ�E‰{ $§.¡.Ñ0Ü$Ð$Ø �H‰H�O‰O˜U¤H¨d°5©kÐ:Ô ;Ø—I‘I˜e A™g tÓ,ˆEØ�E‰{˜cÒ!Ü$Ð$Ø �H‰H�O‰O˜U¤K°°e±Ð=Ô >ؘ‘7ˆNÜÐrcót—|||jvrd|dz}|||jvr|dz }|||jvrŒ|jj|t|||f«|j ||«S|||j vrŒ|jj|t j||f«|j|dz|«}||dk7rt‚|jj|t||f«|j |dz|«S||dk(rÃ|jj|t||f«|j |dz|«}|||jvrt‚|jj|t||f«|j |dz|«}||dk7rt‚|jj|t||f«|dzS|j||«}||dk7rt‚|jj|t||f«|j|dz|«}|S)zTokenize a formula.rÚ:Ú<Ú>Ú=) ÚNEGATORSrrrÚformulaÚ QUANTIFIERSrÚ Declarationr*rr ÚLOGICr1r)s rr9zTNTLexer.formulans €à �‰;˜$Ÿ-™-Ñ 'ؘ‘'ˆCØ�s‘)˜tŸ}™}Ñ,Ø�q‘�ð�s‘)˜tŸ}™}Ò,à �H‰H�O‰O˜U¤H¨d°5¸¨oÐ>Ô ?Ø—<‘<  TÓ*Ð *Ø �‰;˜$×*Ñ*Ñ *Ø �H‰H�O‰O˜U¤G×$7Ñ$7¸¸e¹ÐEÔ FØ—M‘M %¨¡'¨4Ó0ˆEØ�E‰{˜cÒ!Ü$Ð$Ø �H‰H�O‰O˜U¤K°°e±Ð=Ô >Ø—<‘<  a¡¨Ó.Ð .Ø �‰;˜#Ò Ø �H‰H�O‰O˜U¤K°°e±Ð=Ô >Ø—L‘L  q¡¨$Ó/ˆEØ�E‰{ $§*¡*Ñ,Ü$Ð$Ø �H‰H�O‰O˜U¤H¨d°5©kÐ:Ô ;Ø—L‘L  q¡¨$Ó/ˆEØ�E‰{˜cÒ!Ü$Ð$Ø �H‰H�O‰O˜U¤K°°e±Ð=Ô >ؘ‘7ˆNà— ‘ ˜% Ó&ˆØ �‰;˜#Ò Ü Ð Ø �‰�‰˜¤¨$¨u©+Ð6Ô7Ø— ‘ ˜% ™' 4Ó(ˆØˆ rc óž—|jj||«}|€t‚t|jdd«}|D]Ê}|ddk\sŒ |j j |t|||df«|j j |dtj||d|df«|d|j«k7r9|j j |dt||d|j«f«|j«S|j j |t|||j«f«|j«S)zTokenize a rule.Nrr) ÚRULESÚmatchrÚsortedÚregsrrrr r0r#)rr r!r?ÚgroupsÚgroups rÚrulez TNTLexer.rule�s)€à— ‘ × Ñ   uÓ-ˆØ ˆ=Ü Ð Ü˜Ÿ ™  1 2˜Ó'ˆÛˆEØ�Q‰x˜1‹}Ø—‘—‘ ¬°°e¸EÀ!¹HÐ1EÐ FÔGØ—‘—‘  q¡¬6¯>©>Ø!% e¨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‹{Ðrcó´—|}|||jvr|dz }|||jvrŒ|jj|t||f«|jj|dzt||dz|f«|}|j j ||«}|€t‚||j«dk7rt‚|jj|j«tj|jd«f«|jj|j«t||j«f«|j«dzS)zTokenize a line referral.rr/r) ÚNUMBERSrrr rÚLINENOSr?rr#r r r0rC)rr r!r#r?s rÚlinenozTNTLexer.lineno£s€àˆØ�3‰i˜tŸ|™|Ñ+Ø �1‰HˆCð�3‰i˜tŸ|™|Ò+à �‰�‰˜¤ ¨T°%©[Ð9Ô:Ø �‰�‰˜˜q™¤$¨¨U°1©W°SÐ(9Ð:Ô;؈ؗ ‘ ×"Ñ" 4¨Ó/ˆØ ˆ=Ü Ð Ø �— ‘ “ Ñ  Ò #Ü Ð Ø �‰�‰˜Ÿ™›¬¯©¸¿ ¹ ÀA»ÐGÔHØ �‰�‰˜Ÿ™›¤k°4¸¿ ¹ » Ñ3DÐEÔFØ�y‰y‹{˜Q‰Ðrcóä—|} ||dk7r|dz }||dk7rŒ||k7r%|jj|t|||f«|j ||«}|S#t$rt|«}YŒTwxYw)z?Mark everything from ``start`` to the end of the line as Error.Ú r)rrrrr r$r)s rÚerror_till_line_endzTNTLexer.error_till_line_end´s„€àˆð Ø�s‘)˜tÒ#Ø�q‘�ð�s‘)˜tÓ#ð �%Š<Ø �H‰H�O‰O˜U¤E¨4°°c¨?Ð;Ô <Ø�o‰o˜c 4Ó(ˆØˆ øô ò Ü�d“)ŠCð ús„AÁA/Á.A/có—g|_|jd|«x}}||cxkrt|«k�rCn |jS |||jvr|dz }|||jvrŒ||k7rZ|jj |t j |||f«t|j«} |j||d«x}}|jj||«}|�[|jj |t|||j«f«|j«x}}|j||«x}}�Œ$~||dvr0|jj |t||f«|dz }|dz }n*t|j«} |j||«x}}t|j«} |j||d«x}}t|j«} |j%||«x}}|j||«x}}||dk(r>t|j«} |j'||«x}}|j||«x}}||cxkrt|«kr�Œ(|jS|jS#t$r'|j|d…=|j||«x}}Y�Œ“wxYw#ttf$rb|j|d…=|||j vr|dz }|||j vrŒ|jj |t"|||f«|}Y�Œ�wxYw#t$r'|j|d…=|j||«x}}Y�Œ:wxYw#t$r'|j|d…=|j||«x}}Y�ŒmwxYw#t$r'|j|d…=|j||«x}}Y�Œ wxYw#t($r6 |jd…=n#t*$rYnwxYw|j||«Y�Œ­wxYw)zReturns a list of TNT tokens.rrTNz[]r.)rr$rrFrr r0rrKÚCOMMENTr?rr#rr9ÚRecursionErrorrr rDrHrÚ NameError)rr!r r#Úorigr?s rÚget_tokens_unprocessedzTNTLexer.get_tokens_unprocessedÁs€àˆŒØ—o‘o a¨Ó.Ð.ˆ�Ø�sÔ&œS ›YÕ&ðT�x‰xˆðSH 6à˜3‘i 4§<¡<Ñ/ؘ1‘H�Cð˜3‘i 4§<¡<Ò/à˜%’<Ø—H‘H—O‘O U¬F¯N©N¸DÀÀs¸OÐ$LÔMä˜tŸx™x›=�Dð!Ø&*§o¡o°c¸4ÀÓ&FÐF˜ ð Ÿ ™ ×*Ñ*¨4°Ó7�ØÐ$Ø—H‘H—O‘O U¬G°T¸%ÀÇ Á à Ð5LÐ$MÔNØ"'§)¡)£+Ð-�E˜Cà"&×":Ñ":¸5À$Ó"GÐG�E˜CáØØ˜‘; $Ñ&Ø—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¸TÓ"BÐB�E˜Cô ˜4Ÿ8™8“}�ðØ"&§)¡)¨E°4Ó"8Ð8�E˜Cð #Ÿo™o¨c°4Ó8Ð8�˜à˜‘; #Ò%ܘtŸx™x›=�Dð!Ø&*§k¡k°%¸Ó&>Ð>˜ ð #'§/¡/°%¸Ó">Ð>�E˜CðG�sÔ&œS ›YÔ&ðT�x‰xˆðU'ðT�x‰xˆøô*ò!Ø ŸH™H T¡U˜OØ&*×&>Ñ&>¸sÀDÓ&IÐI˜ Ú ð!ûô.+¬NÐ;ò$Ø ŸH™H T¡U˜OØ" 3™i¨t¯©Ñ>Ø 1™H˜Cð# 3™i¨t¯©Ò>àŸ™Ÿ™¨´°t¸EÀ#°Ð(GÔHØ #›ð $ûô&òØŸ™ ¡˜Ø"&×":Ñ":¸5À$Ó"GÐG�E˜CÚðûô&òØŸ™ ¡˜Ø"&×":Ñ":¸5À$Ó"GÐG�E˜CÚðûô*ò!Ø ŸH™H T¡U˜OØ&*×&>Ñ&>¸uÀdÓ&KÐK˜ Ú ð!ûô ò 6ðØŸ™ ¡™øÜ òÙðúà×(Ñ(¨°×5ð  6úsÁ'OÁ(A OÂ2JÃA7OÅA OÆJ3Æ"OÆ8L'Ç OÇ#MÇ71OÈ)N È=OÊ,J0Ê,OÊ/J0Ê0OÊ3AL$Ë9'L$Ì OÌ#L$Ì$OÌ',MÍOÍMÍOÍ,N ÎOÎ N Î OÎ ,N=Î9OÎ<N=Î=OÏ O?Ï OÏO?Ï O&Ï#O?Ï%O&Ï&O?Ï>O?N)F) Ú__name__Ú __module__Ú __qualname__Ú__doc__ÚnameÚurlÚaliasesÚ filenamesrÚsetr<r2r&r'r8r:rFrÚreÚcompiler>rGrMrr$r*r1r9rDrHrKrQ©rrr r sØ„ñð '€DØ 8€C؈g€GØ� €Ià €Cá Ð$Ó %€EÙ�H“ €IÙ�G“ €IÙ �‹[€FÙ�4‹y€HÙ�j“/€KÙ�,Ó€GÙ�Y“€Jà ˆB�J‰Jðó €Eðˆb�j‰jÐDÓE€G؈b�j‰j˜Ó)€Gòó òòò4 òDò&ò" óNr)rUr[Úpygments.lexerrÚpygments.tokenrrrrrr r r Ú__all__r r]rrÚras8ðñó å ÷÷óð ˆ,€ô{ˆuõ{r