i7igdZddlZddlmZmZmZmZmZddlm Z m Z m Z m Z m Z mZmZmZmZmZddlmZddlmZmZddlmZddlmZdd lmZdd lmZdd l m!Z!dd l"m#Z#gd Z$GddeZ%GddeZ&GddeZ'GddeZ(GddeZ)GddeZ*GddeZ+GddeZ,GddeZ-Gd d!eZ.Gd"d#eZ/Gd$d%eZ0Gd&d'eZ1Gd(d)eZ2Gd*d+eZ3Gd,d-eZ4Gd.d/eZ5Gd0d1eZ6Gd2d3eZ7Gd4d5eZ8y)6z pygments.lexers.parsers ~~~~~~~~~~~~~~~~~~~~~~~ Lexers for parser generators. :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. N) RegexLexerDelegatingLexerincludebygroupsusing) PunctuationOtherTextCommentOperatorKeywordNameStringNumber Whitespace) JavaLexer)CLexerCppLexer)ObjectiveCLexer)DLexer) CSharpLexer) RubyLexer) PythonLexer) PerlLexer) RagelLexerRagelEmbeddedLexer RagelCLexer RagelDLexer RagelCppLexerRagelObjectiveCLexerRagelRubyLexerRagelJavaLexer AntlrLexerAntlrPythonLexerAntlrPerlLexerAntlrRubyLexer AntlrCppLexerAntlrCSharpLexerAntlrObjectiveCLexerAntlrJavaLexerAntlrActionScriptLexer TreetopLexer EbnfLexerceZdZdZdZdZdgZgZdZde fgde fgde fd e fd e fd e fgd e jfd e jfgdej fdej"fdefdej$fgdej(fgdefdefdefdefdefdefdefdefdefdefdefdefdefd efged!ed"ed#ed$ed%ed&ed'd(ed)fd*efd+efg d,d-j1d.zd/zefd(ed0fd1ed2fgd3 Zy4)5rzA pure `Ragel `_ lexer. Use this for fragments of Ragel. For ``.rl`` files, use :class:`RagelEmbeddedLexer` instead (or one of the language-specific subclasses). Ragel&http://www.colm.net/open-source/ragel/ragel1.1\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 whitespacecommentskeywordsnumbers identifiers operators\{host=;(|) z [^{}\'"/#]+ [^\\]\\[{}]r4r5//.*$\n?/\*(.|\n)*?\*/\#.*$\n?r6/)+#push\}#pop) r:r;r<r=r9r>r?rootrAN)__name__ __module__ __qualname____doc__nameurlaliases filenames version_addedrr r rHexIntegerrDoubleSingleRegexrVariabler rrjoinr tokens`/mnt/ssd/data/python-lab/ChefSystem/venv/lib/python3.12/site-packages/pygments/lexers/parsers.pyrr#s D 2CiGIMZ  w  +G 4 0' : BG L CW M   + V^^ , )&-- 8 (&-- 8 +V 4 . =  dmm , 8  ( # H % 8  H  (( 3 (( 3 *H 5 ' 2 *H 5 ( # *H 5 h  x  " J  L ! J  J  I  M " K K ( 8  ;   DII"#"# &K ) K (+ mMFrbrc eZdZdZdZdgZdgZdZdZddjd zd ze fd e e e ee efd e d fgddjddjdzd zddddddfzd ze efde dfgdZdZy)rz A lexer for Ragel embedded in a host language file. This will only highlight Ragel statements. If you want host language highlighting then call the language-specific Ragel lexer. zEmbedded Ragelzragel-em*.rlr0r2rDrE) z [^%\'"/#]+z %(?=[^%]|$)r4r5rHrGrIr6rJrKz(%%)(?![{%])(.*)($|;)(\n?)z (%%%%|%%)\{multi-line-fsm)z [^}\'"\[/#]z \}(?=[^%]|$)z \}%(?=[^%]|$)rFz(>|\$|%|<|@|<>)/z /(?!\*)(\\\\|\\[^\\]|[^/\\])*/\*z /(?=[^/*]|$)r4r5z\[(\\\\|\\[^\\]|[^\]\\])*\]rHrGrIz\}%%rN)rOrfc d|vS)Nz @LANG: indepratexts rc analyse_textzRagelEmbeddedLexer.analyse_texts %%rbN)rPrQrRrSrTrVrWrUrXr_r rrrrr r`rjrarbrcrrs DlGI 2CMDII &+H[5::5F5@$-H I [*: ;3 8DIItyy"().,+.!;<=<j)= +@k6 *C" 9?FB&rbrcBeZdZdZdZddgZdgZdZdZfdZ d Z xZ S) r!z0 A lexer for Ragel in a Ruby host file. zRagel in Ruby Hostz ragel-rubyzragel-rbrer0r2c 8t|ttfi|yN)super__init__rrselfoptions __class__s rcrozRagelRubyLexer.__init__ $6B'Brbc d|vS)Nz @LANG: rubyrarhs rcrjzRagelRubyLexer.analyse_text $$rb rPrQrRrSrTrVrWrUrXrorj __classcell__rss@rcr!r!s5 DZ(GI 2CMC%rbr!c@eZdZdZdZdgZdgZdZdZfdZ dZ xZ S) rz- A lexer for Ragel in a C host file. zRagel in C Hostzragel-crer0r2c 8t|ttfi|yrm)rnrorrrps rcrozRagelCLexer.__init__ !3?w?rbc d|vS)Nz@LANG: crarhs rcrjzRagelCLexer.analyse_text T!!rbrwrys@rcrr2 DkGI 2CM@"rbrc@eZdZdZdZdgZdgZdZdZfdZ dZ xZ S) rz- A lexer for Ragel in a D host file. zRagel in D Hostzragel-drer0r2c 8t|ttfi|yrm)rnrorrrps rcrozRagelDLexer.__init__r|rbc d|vS)Nz@LANG: drarhs rcrjzRagelDLexer.analyse_textr~rbrwrys@rcrrrrbrc@eZdZdZdZdgZdgZdZdZfdZ dZ xZ S) rz/ A lexer for Ragel in a C++ host file. zRagel in CPP Hostz ragel-cpprer0r2c 8t|ttfi|yrm)rnrorrrps rcrozRagelCppLexer.__init__s #5AArbc d|vS)Nz @LANG: c++rarhs rcrjzRagelCppLexer.analyse_texts t##rbrwrys@rcrr s2 DmGI 2CMB$rbrc@eZdZdZdZdgZdgZdZdZfdZ dZ xZ S) r z8 A lexer for Ragel in an Objective C host file. zRagel in Objective C Hostz ragel-objcrer0r2c 8t|ttfi|yrm)rnrorrrps rcrozRagelObjectiveCLexer.__init__'s *<HHrbc d|vS)Nz @LANG: objcrarhs rcrjz!RagelObjectiveCLexer.analyse_text*rvrbrwrys@rcr r s2 'DnGI 2CMI%rbr c@eZdZdZdZdgZdgZdZdZfdZ dZ xZ S) r"z0 A lexer for Ragel in a Java host file. zRagel in Java Hostz ragel-javarer0r2c 8t|ttfi|yrm)rnrorrrps rcrozRagelJavaLexer.__init__9rtrbc d|vS)Nz @LANG: javararhs rcrjzRagelJavaLexer.analyse_text<rvrbrwrys@rcr"r".s2 DnGI 2CMC%rbr"ceZdZdZdZdgZgZdZdZdZ dZ dZ d Z d Z d efgd efd efgededde zdzeeeeeej(efdedfdedfde zdzeeeej,eedfdedfde zdze zdzeej.eeeej.eedfde zdzeeeej.edfg d ed!fd"efedd#ed$fd%edfgededd&efd#ed$fd%edfd'e zd(zeeeej.fd)e zd(zeeeej.fdedfd*eeeedfd+e zd,zeeeej.eefde zdzeej.eedfd-ed!fg ededdedfd-efd.ej2fd/ej4fd0efd1ej6fd2ej,fd3efd4efd#ed$fd%edfd5ed!fgededd%efd6e zd7ze zd8zeej.eeeeeefd9ed!fgededd%efd6e zd:zd;j;e e e dzefd?eeefd@eej,eej@fd%edAfd9ed!fgd6d;j;dBzd>zefd#edAfdCed!fd@eej,eej@fdDefgdE Z!dFZ"yG)Hr#z{ Generic ANTLR Lexer. Should not be called directly, instead use DelegatingLexer for your target language. ANTLRantlrhttps://www.antlr.orgr2z [A-Za-z]\w*[A-Z]\w*z[a-z]\w*z\'(?:\\\\|\\\'|[^\']*)\'z[0-9]+r3z//.*$rHr:r;z*(lexer|parser|tree)?(\s*)(grammar\b)(\s*)(z)(;)z options\brrztokens\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\nrNz\sz\[nested-arg-actionr@z returns\bz(throws)(\s+)()z (,)(\s*)(z(scope)(\s+)(\{)z (scope)(\s+)(z )(\s*)(;)r8r4r5z<<([^>]|>[^>])>>z \$?[A-Z_]\w*z \$?[a-z_]\w*z-(\+|\||->|=>|=|\(|\)|\.\.|\.|\?|\*|\^|!|\#|~)r7rCrDz)(\s*)(=)?(\s*)(z )?(\s*)(;)rMz)(\s*)(=)(\s*)(rEz\*)z [^${}\'"/\\]+r4r5rGrHr6z\\(?!%)rJrKz(\\)(%)z(\$[a-zA-Z]+)(\.?)(text|value)?rL)z [^$\[\]\'"/]+r4r5rGrHr6rJz\]z(\\\\|\\\]|\\\[|[^\[\]])+) r:r;rOrrrr`rrrrcLtjd|tjS)Nz^\s*grammar\s+[a-zA-Z0-9]+\s*;)researchMrhs rcrjzAntlrLexer.analyse_textsyy:D"$$GGrbN)#rPrQrRrSrTrVrWrUrX_id _TOKEN_REF _RULE_REF_STRING_LITERAL_INTrr rrr rClassrr^Labelrr[r\Constantr r_r r Propertyr`rjrarbrcr#r#@s DiGI !CM CJI1O DZ  w   ( L ! J  :S @6 I gz7J !# $7I . '8 ,  #m 3 gz4==*!#$, ."7K 8 S[/ /# 5 E djj*k:jj*k; ?rbrwrys@rcr'r's3 #DmGI !CM:?rbr'cBeZdZdZdZdgZddgZdZdZfdZ d Z xZ S) r)z' ANTLR with Objective-C Target zANTLR With ObjectiveC Targetz antlr-objcrrrr2c 8t|ttfi|yrm)rnrorr#rps rcrozAntlrObjectiveCLexer.__init__s *@@rbc\tj|xrtjd|S)Nz^\s*language\s*=\s*ObjC\s*;)r#rjrrrhs rcrjz!AntlrObjectiveCLexer.analyse_text"s)&&t,< II4d ; `_ grammars. Not for direct use; use :class:`TreetopLexer` instead. .. versionadded:: 1.6 spacezrequire[ \t]+[^\n\r]+[\n\r]zmodule\bmodulez grammar\bgrammarendrLz[A-Z]\w*(?:::[A-Z]\w*)*zrule\brulez include\brrrNr4r5z([A-Za-z_]\w*)(:)z [A-Za-z_]\w*z[()]z [?+*/&!~]z$\[(?:\\.|\[:\^?[a-z]+:\]|[^\\\]])+\]z([0-9]*)(\.\.)([0-9]*)z (<)([^>]+)(>)r@ inline_module\.rubyrMz[^{}]+z [ \t\n\r]+z#[^\n]*zend\b) rOrrrrrrrrN)rPrQrRrSrr r Namespacerrrr[r\rrrr r]rrZrr r`rarbrcrrs G  +U 3 '++X 6 7I .   G  EN '7 + 7I . ' 8   G  EN  ( 7I . $    G  'V < G  EN (&-- 8 (&-- 8 !8DJJ #D E d # k " 8 $ 4fll C & fnnh ? A x TZZM N K 1 FLL ! "E6 " K (   E7 # E6 "   J '  ( w ' o:Frbrc<eZdZdZdZdgZddgZdZdZfdZ xZ S) r,z' A lexer for Treetop grammars. Treetoptreetopz *.treetopz*.ttz!https://cjheath.github.io/treetopz1.6c 8t|ttfi|yrm)rnrorrrps rcrozTreetopLexer.__init__s $4@@rb) rPrQrRrSrTrVrWrUrXrorxrys@rcr,r,s6 DkGf%I -CMAArbr,c eZdZdZdZdgZdgZdgZdZdZ e de d e d d e d fge de d e d d e jfde jfdej fdefde fdedfdedfg defgdej(dfgdej(fe d dej(dfdej(fgdefgdZy)r-z} Lexer for `ISO/IEC 14977 EBNF `_ grammars. EBNFebnfz*.ebnfz text/x-ebnfz?https://en.wikipedia.org/wiki/Extended_Backus%E2%80%93Naur_Formz2.0r: comment_start identifierrB productionz"[^"]*"z'[^']*'z (\?[^?]*\?)z [\[\]{}(),|]-rCrNrr3z\(\*commentz[^*)]z\*\)z[*)]z([a-zA-Z][\w \-]*))rOrr:rrrN)rPrQrRrSrTrVrW mimetypesrUrXrr rr[r\rEntityrr r Multiliner r`rarbrcr-r-s3 DhG II KCM L ! O $ L ! 8\ *   L ! O $ L !  '  ' T[[ ) k * 8  ; ' K (  TN g'' 3 w(( ) O $ g'' 0 g'' (  #G , ?"Frbr-)9rSrpygments.lexerrrrrrpygments.tokenrr r r r r rrrrpygments.lexers.jvmrpygments.lexers.c_cpprrpygments.lexers.objectiverpygments.lexers.drpygments.lexers.dotnetrpygments.lexers.rubyrpygments.lexers.pythonrpygments.lexers.perlr__all__rrr!rrrr r"r#r'r)r(r$r*r&r%r+rr,r-rarbrcrsQ ...)25$.*.* ([[|P&P&f%_%$"/"$"/"$$O$$%?%$%_%$|H|HB?O?&