Ë ¦¹.øžªãó€—dZddlZddlmZmZmZmZmZddlm Z m Z m Z m Z m Z mZmZmZmZmZddlmZddlmZmZddlmZddlmZdd lmZdd lmZdd l m!Z!dd l"m#Z#gd ¢Z$Gd„de«Z%Gd„de«Z&Gd„de«Z'Gd„de«Z(Gd„de«Z)Gd„de«Z*Gd„de«Z+Gd„de«Z,Gd„de«Z-Gd „d!e«Z.Gd"„d#e«Z/Gd$„d%e«Z0Gd&„d'e«Z1Gd(„d)e«Z2Gd*„d+e«Z3Gd,„d-e«Z4Gd.„d/e«Z5Gd0„d1e«Z6Gd2„d3e«Z7Gd4„d5e«Z8y)6zÐ pygments.lexers.parsers ~~~~~~~~~~~~~~~~~~~~~~~ Lexers for parser generators. :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. éN)Ú RegexLexerÚDelegatingLexerÚincludeÚbygroupsÚusing) Ú PunctuationÚOtherÚTextÚCommentÚOperatorÚKeywordÚNameÚStringÚNumberÚ Whitespace)Ú JavaLexer)ÚCLexerÚCppLexer)ÚObjectiveCLexer)ÚDLexer)Ú CSharpLexer)Ú RubyLexer)Ú PythonLexer)Ú PerlLexer)Ú RagelLexerÚRagelEmbeddedLexerÚ RagelCLexerÚ RagelDLexerÚ RagelCppLexerÚRagelObjectiveCLexerÚRagelRubyLexerÚRagelJavaLexerÚ AntlrLexerÚAntlrPythonLexerÚAntlrPerlLexerÚAntlrRubyLexerÚ AntlrCppLexerÚAntlrCSharpLexerÚAntlrObjectiveCLexerÚAntlrJavaLexerÚAntlrActionScriptLexerÚ TreetopLexerÚ EbnfLexercó —eZdZdZdZdZdgZgZdefgde fgde fde fd e fd e fgd e jfd e jfgd ejfdej fdefdej"fgdej&fgdefdefdefdefdefdefdefdefdefdefdefdefdefdefged «ed!«ed"«ed#«ed$«ed%«ed&«d'ed(fd)efd*efg d+d,j/d-«zd.zefd'ed/fd0ed1fgd2œ Zy3)4rzðA pure `Ragel `_ lexer. Use this for fragments of Ragel. For ``.rl`` files, use :class:`RagelEmbeddedLexer` instead (or one of the language-specific subclasses). .. versionadded:: 1.1 ÚRagelz&http://www.colm.net/open-source/ragel/Úragelú\s+z\#.*$z(access|action|alphtype)\bz (getkey|write|machine|include)\bz2(any|ascii|extend|alpha|digit|alnum|lower|upper)\bz3(xdigit|cntrl|graph|print|punct|space|zlen|empty)\bz0x[0-9A-Fa-f]+z [+-]?[0-9]+ú"(\\\\|\\[^\\]|[^"\\])*"ú'(\\\\|\\[^\\]|[^'\\])*'z\[(\\\\|\\[^\\]|[^\\\]])*\]ú/(?!\*)(\\\\|\\[^\\]|[^/\\])*/z [a-zA-Z_]\w*Ú,z\||&|--?z \.|<:|:>>?Ú:z->z(>|\$|%|<|@|<>)(/|eof\b)z(>|\$|%|<|@|<>)(!|err\b)z(>|\$|%|<|@|<>)(\^|lerr\b)z(>|\$|%|<|@|<>)(~|to\b)z(>|\$|%|<|@|<>)(\*|from\b)z>|@|\$|%z\*|\?|\+|\{[0-9]*,[0-9]*\}z!|\^z\(|\)ÚliteralsÚ whitespaceÚcommentsÚkeywordsÚnumbersÚ identifiersÚ operatorsú\{ÚhostÚ=Ú;Ú(Ú|) z [^{}\'"/#]+ú [^\\]\\[{}]r2r3ú//.*$\n?ú/\*(.|\n)*?\*/ú\#.*$\n?r4Ú/ú)+ú#pushú\}ú#pop) r8r9r:r;r7r<r=Úrootr?N)Ú__name__Ú __module__Ú __qualname__Ú__doc__ÚnameÚurlÚaliasesÚ filenamesrr r rÚHexÚIntegerrÚDoubleÚSingleÚRegexrÚVariabler rrÚjoinr Útokens©óú|\$|%|<|@|<>)/z /(?!\*)(\\\\|\\[^\\]|[^/\\])*/\*z /(?=[^/*]|$)r2r3z\[(\\\\|\\[^\\]|[^\]\\])*\]rFrErGz\}%%rL)rMrccó —d|vS)Nz @LANG: indepr^©Útexts r`Ú analyse_textzRagelEmbeddedLexer.analyse_textÑs €Ø Ð%Ð%r_N)rNrOrPrQrRrTrUr\r rrrrr r]rgr^r_r`rr‚s„ñð €D؈l€GØ�€Ið�D—I‘Iðóñðñðð ð&+©H°[Ù5:¸:Ó5FØ5@À$ó-Hð Ið ˜[Ð*:Ð ;ð3 ð8�D—I‘IØ�t—y‘yð"óñð(ñ)ð.,Ø+Ø.Ø!ØØð;óñð<ñ=ñ<˜jÓ)ð= +ð@�k 6Ð *ðC" ñ9?€FóB&r_rcó:‡—eZdZdZdZddgZdgZˆfd„Zd„ZˆxZ S)r!zK A lexer for Ragel in a Ruby host file. .. versionadded:: 1.1 zRagel in Ruby Hostz ragel-rubyzragel-rbrbc ó8•—t‰|�ttfi|¤Žy©N)ÚsuperÚ__init__rr©ÚselfÚoptionsÚ __class__s €r`rlzRagelRubyLexer.__init__àóø€Ü ‰ÑœÔ$6ÑB¸'ÓBr_có —d|vS)Nz @LANG: rubyr^res r`rgzRagelRubyLexer.analyse_textãó €Ø Ð$Ð$r_© rNrOrPrQrRrTrUrlrgÚ __classcell__©rps@r`r!r!Õs+ø„ñð €DؘZÐ(€GØ�€IôCö%r_r!có8‡—eZdZdZdZdgZdgZˆfd„Zd„ZˆxZ S)rzH A lexer for Ragel in a C host file. .. versionadded:: 1.1 zRagel in C Hostzragel-crbc ó8•—t‰|�ttfi|¤Žyrj)rkrlrrrms €r`rlzRagelCLexer.__init__òóø€Ü ‰ÑœÔ!3Ñ?°wÓ?r_có —d|vS)Nz@LANG: cr^res r`rgzRagelCLexer.analyse_textõó €Ø˜TÐ!Ð!r_rtrvs@r`rrçó(ø„ñð €D؈k€GØ�€Iô@ö"r_rcó8‡—eZdZdZdZdgZdgZˆfd„Zd„ZˆxZ S)rzH A lexer for Ragel in a D host file. .. versionadded:: 1.1 zRagel in D Hostzragel-drbc ó8•—t‰|�ttfi|¤Žyrj)rkrlrrrms €r`rlzRagelDLexer.__init__ryr_có —d|vS)Nz@LANG: dr^res r`rgzRagelDLexer.analyse_textr{r_rtrvs@r`rrùr|r_rcó8‡—eZdZdZdZdgZdgZˆfd„Zd„ZˆxZ S)rzJ A lexer for Ragel in a C++ host file. .. versionadded:: 1.1 zRagel in CPP Hostz ragel-cpprbc ó8•—t‰|�ttfi|¤Žyrj)rkrlrrrms €r`rlzRagelCppLexer.__init__sø€Ü ‰ÑœÔ#5ÑA¸ÓAr_có —d|vS)Nz @LANG: c++r^res r`rgzRagelCppLexer.analyse_texts €Ø˜tÐ#Ð#r_rtrvs@r`rr s(ø„ñð €D؈m€GØ�€IôBö$r_rcó8‡—eZdZdZdZdgZdgZˆfd„Zd„ZˆxZ S)r zS A lexer for Ragel in an Objective C host file. .. versionadded:: 1.1 zRagel in Objective C Hostz ragel-objcrbc ó8•—t‰|�ttfi|¤Žyrj)rkrlrrrms €r`rlzRagelObjectiveCLexer.__init__(sø€Ü ‰ÑœÔ*<ÑHÀÓHr_có —d|vS)Nz @LANG: objcr^res r`rgz!RagelObjectiveCLexer.analyse_text+rsr_rtrvs@r`r r s(ø„ñð '€D؈n€GØ�€IôIö%r_r có8‡—eZdZdZdZdgZdgZˆfd„Zd„ZˆxZ S)r"zK A lexer for Ragel in a Java host file. .. versionadded:: 1.1 zRagel in Java Hostz ragel-javarbc ó8•—t‰|�ttfi|¤Žyrj)rkrlrrrms €r`rlzRagelJavaLexer.__init__:rqr_có —d|vS)Nz @LANG: javar^res r`rgzRagelJavaLexer.analyse_text=rsr_rtrvs@r`r"r"/s(ø„ñð €D؈n€GØ�€IôCö%r_r"cóî—eZdZdZdZdgZgZdZdZdZ dZ dZ d e fgd e fd e fged «ed «dezdzeee ee ej$e«fdedfdedfdezdzeee ej(e e«dfdedfdezdzezdzeej*e ee ej*e e«dfdezdzeee ej*e«dfg de dfd e fed «d!ed"fd#edfged «ed «d$efd!ed"fd#edfd%ezd&zeee ej*«fd'ezd&zeee ej*«fdedfd(eee e«dfd)ezd*zeee ej*e e«fdezdzeej*e e«dfd+edfg ed «ed «dedfd+efd,ej.fd-ej0fd.efd/ej2fd0ej(fd1efd2efd!ed"fd#edfd3edfged «ed «d#efd4ezd5ze zd6zeej*e ee ee e«fd7edfged «ed «d#efd4ezd8zd9j7ee e d:f«zd*zeej(e ee ee e«fd7edfgd4d9j7d;«zdeej(eej<«fd#ed?fd7edfgd4d9j7d@«zdeej(eej<«fdBefgdCœ ZdD„Z yE)Fr#z¿ Generic `ANTLR`_ Lexer. Should not be called directly, instead use DelegatingLexer for your target language. .. versionadded:: 1.1 .. _ANTLR: http://www.antlr.org/ ÚANTLRÚantlrz [A-Za-z]\w*ú[A-Z]\w*z[a-z]\w*z\'(?:\\\\|\\\'|[^\']*)\'z[0-9]+r1z//.*$rFr8r9z*(lexer|parser|tree)?(\s*)(grammar\b)(\s*)(z)(;)z options\broztokens\br]z (scope)(\s*)(z )(\s*)(\{)Úactionz(catch|finally)\bÚ exceptionz(@z)(\s*)(::)?(\s*)(z0((?:protected|private|public|fragment)\b)?(\s*)(z)(!)?)ú rule-altsú rule-prelimsz\nrLz\sz\[únested-arg-actionr>z returns\bz(throws)(\s+)(Ú)z (,)(\s*)(z(scope)(\s+)(\{)z (scope)(\s+)(z )(\s*)(;)r6r2r3z<<([^>]|>[^>])>>z \$?[A-Z_]\w*z \$?[a-z_]\w*z-(\+|\||->|=>|=|\(|\)|\.\.|\.|\?|\*|\^|!|\#|~)r5rArBz)(\s*)(=)?(\s*)(z )?(\s*)(;)rKz)(\s*)(=)(\s*)(rCz\*)z [^${}\'"/\\]+r2r3rErFr4z\\(?!%)rHrIz(\\)(%)z(\$[a-zA-Z]+)(\.?)(text|value)?rJ)z [^$\[\]\'"/]+r2r3rErFr4rHz\]z(\\\\|\\\]|\\\[|[^\[\]])+) r8r9rMrŽr�r�r]ror�r‘cóL—tjd|tj«S)Nz^\s*grammar\s+[a-zA-Z0-9]+\s*;)ÚreÚsearchÚMres r`rgzAntlrLexer.analyse_textþs€Ü�y‰yÐ:¸DÄ"Ç$Á$ÓGÐGr_N)!rNrOrPrQrRrTrUÚ_idÚ _TOKEN_REFÚ _RULE_REFÚ_STRING_LITERALÚ_INTrr rrr rÚClassrr[ÚLabelrrXrYÚConstantr r\r r ÚPropertyr]rgr^r_r`r#r#Asç„ñð €D؈i€GØ€Ià €CØ€JØ€IØ1€OØ €Dð�ZÐ ð ð�wÐ Ø  Ð (ð ñ �LÓ !Ù �JÓ à :¸SÑ @À6Ñ IÙ �g˜z¨7°JÀÇ Á Ø!ó#ð $ð˜7 IÐ .à ˜' 8Ð ,à  Ñ # mÑ 3Ù �g˜z¨4¯=©=¸*Ø!ó#Ø$,ð .ð" 7¨KÐ 8à �S‰[Ð/Ñ /°#Ñ 5¸ Ñ EÙ �d—j‘j *¨k¸:Ø—j‘j *¨kó;Øð ?r_rtrvs@r`r'r's)ø„ñð #€D؈m€Gؘ�€Iô:ö?r_r'có:‡—eZdZdZdZdgZddgZˆfd„Zd„ZˆxZ S)r)zB ANTLR with Objective-C Target .. versionadded:: 1.1 zANTLR With ObjectiveC Targetz antlr-objcr¡r¢c ó8•—t‰|�ttfi|¤Žyrj)rkrlrr#rms €r`rlzAntlrObjectiveCLexer.__init__"sø€Ü ‰Ñœ¬*Ñ@¸Ó@r_có\—tj|«xrtjd|«S)Nz^\s*language\s*=\s*ObjC\s*;)r#rgr”r•res r`rgz!AntlrObjectiveCLexer.analyse_text%s)€Ü×&Ñ& tÓ,ò<Ü �I‰IÐ4°dÓ ;ð `_ grammars. Not for direct use; use :class:`TreetopLexer` instead. .. versionadded:: 1.6 Úspacezrequire[ \t]+[^\n\r]+[\n\r]zmodule\bÚmodulez grammar\bÚgrammarÚendrJz[A-Z]\w*(?:::[A-Z]\w*)*zrule\bÚrulez include\brrŒrLr2r3z([A-Za-z_]\w*)(:)z [A-Za-z_]\w*z[()]z [?+*/&!~]z$\[(?:\\.|\[:\^?[a-z]+:\]|[^\\\]])+\]z([0-9]*)(\.\.)([0-9]*)z (<)([^>]+)(>)r>Ú inline_moduleú\.ÚrubyrKz[^{}]+z [ \t\n\r]+z#[^\n]*zend\b) rMrÂrÃrrÅrÆrÈrÁrÄN)rNrOrPrQrr r Ú NamespacerrœrrXrYrr�rr rZrrWrr r]r^r_r`rÀrÀ�sä„ññ �GÓ Ø +¨UÐ 3Ø ˜'×+Ñ+¨XÐ 6Ø ˜7 IÐ .ð  ñ �GÓ Ù �E‹NØ ˜' 7Ð +Ø ˜7 IÐ .Ø '¨¯©Ð 8ð  ñ �GÓ Ù �E‹NØ ˜ Ð (Ø ˜7 IÐ .Ø ˜$Ð ð  ñ �GÓ Ø '¨¯©°VÐ <ð ñ �GÓ Ù �E‹NØ (¨&¯-©-Ð 8Ø (¨&¯-©-Ð 8Ø !¡8¨D¯J©J¸ Ó#DÐ EØ ˜dÐ #Ø �kÐ "Ø ˜8Ð $Ø 4°f·l±lÐ CØ &Ù �f—n‘n h°·±Ó ?ð Aà ™x¨ °T·Z±ZÀÓMÐ NØ �K Ð 1Ø �F—L‘LÐ !ð ð"�E˜6Ð "Ø �K Ð (Ø ˜Ð ð ð �E˜7Ð #Ø �E˜6Ð "Ø ˜Ð ð ð ˜JÐ 'Ø ˜Ÿ™Ð (ð ð �w Ð 'ð ño:�Fr_rÀcó4‡—eZdZdZdZdgZddgZˆfd„ZˆxZS)r,ze A lexer for `Treetop `_ grammars. .. versionadded:: 1.6 ÚTreetopÚtreetopz *.treetopz*.ttc ó8•—t‰|�ttfi|¤Žyrj)rkrlrrÀrms €r`rlzTreetopLexer.__init__ísø€Ü ‰ÑœÔ$4Ñ@¸Ó@r_) rNrOrPrQrRrTrUrlrurvs@r`r,r,âs,ø„ñð €D؈k€GؘfÐ%€I÷AðAr_r,c ó„—eZdZdZdZdgZdgZdgZed«ed«ed«d e d fged«ed«ed«d e jfd e jfd e jfdefde fdedfdedfg defgdej$dfgdej$fed«dej$dfdej$fgdefgdœZy)r-z— Lexer for `ISO/IEC 14977 EBNF `_ grammars. .. versionadded:: 2.0 ÚEBNFÚebnfz*.ebnfz text/x-ebnfr8Ú comment_startÚ identifierr@Ú productionz"[^"]*"z'[^']*'z (\?[^?]*\?)z [\[\]{}(),|]Ú-rArLrÇr1z\(\*Úcommentz[^*)]z\*\)z[*)]z([a-zA-Z][\w \-]*))rMrÓr8rÑrÕrÒN)rNrOrPrQrRrTrUÚ mimetypesrr rrXrYrÚEntityrr r Ú Multiliner r]r^r_r`r-r-ñs)„ñð €D؈h€GØ� €IØ�€Iñ �LÓ !Ù �OÓ $Ù �LÓ !Ø �8˜\Ð *ð  ñ �LÓ !Ù �OÓ $Ù �LÓ !Ø ˜Ÿ™Ð 'Ø ˜Ÿ™Ð 'Ø ˜TŸ[™[Ð )Ø ˜kÐ *Ø �8Ð Ø �; Ð 'Ø �K Ð (ð  ð�TˆNð ð�g×'Ñ'¨Ð 3ð ð�w×(Ñ(Ð )Ù �OÓ $Ø �g×'Ñ'¨Ð 0Ø �g×'Ñ'Ð (ð  ð# GÐ ,ð ñ?"�Fr_r-)9rQr”Úpygments.lexerrrrrrÚpygments.tokenrr r r r r rrrrÚpygments.lexers.jvmrÚpygments.lexers.c_cpprrÚpygments.lexers.objectiverÚpygments.lexers.drÚpygments.lexers.dotnetrÚpygments.lexers.rubyrÚpygments.lexers.pythonrÚpygments.lexers.perlrÚ__all__rrr!rrrr r"r#r'r)r(r$r*r&r%r+rÀr,r-r^r_r`ÚräsQðñó ÷õ÷.÷.÷.å)ß2Ý5Ý$Ý.Ý*Ý.Ý*ò (€ô\�ô\ô~P&˜ôP&ôf%�_ô%ô$"�/ô"ô$"�/ô"ô$$�Oô$ô$%˜?ô%ô$%�_ô%ô$~H�ô~HôF?�Oô?ô&<˜?ô<ô&E�ôEô&D�ôDô&5�_ô5ô&B�_ôBô&C�_ôCô&J˜_ôJô(B�zôBôJ A�?ô Aô0� õ0r_