Ë X›)_í áðãó"—dZddlZddlmZmZmZmZmZmZddl m Z m Z m Z m Z mZmZmZmZmZmZddlmZmZmZddlmZddlmZddlmZgd ¢Zd ee j>e«fZ Gd „d e«Z!Gd „de!«Z"Gd„de!«Z#Gd„de«Z$y)zÍ pygments.lexers.csound ~~~~~~~~~~~~~~~~~~~~~~ Lexers for Csound languages. :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. éN)Ú RegexLexerÚbygroupsÚdefaultÚincludeÚusingÚwords) ÚCommentÚErrorÚKeywordÚNameÚNumberÚOperatorÚ PunctuationÚStringÚTextÚ Whitespace)ÚOPCODESÚDEPRECATED_OPCODESÚREMOVED_OPCODES)Ú HtmlLexer)Ú PythonLexer)ÚLuaLexer)ÚCsoundScoreLexerÚCsoundOrchestraLexerÚCsoundDocumentLexerz((?:(?:;|//).*)*)(\n)c óŒ—eZdZdZiddefdej fdejfdee e«fg“ddejfd ejd fd ejd fd ejdfdejdfg“d e d«de dfg“d e d«de dfg“ddefe d«deeje «dfdejdfg“de d«dejfde fde dfg“ddefe d«de dfg“d d!ejfd"ejfd#e dfg“de d«dejdfg“d$d%eeje «d&fd'ejfg“d&d(ejfde fde d)fd*e d+fd,ejd-fde dfg“d)d.ejfd/efe d0«g“d+d.ejfd/efe d1«g“d-d2ejfd,ejd3fdejdfg“d4e d«e d$«g“d5d6ej fd7eej$ej&«fd8ej(fg“d0de dfd9e fe d$«d:e fg“d1gi¥Zy;)<Ú CsoundLexerzhttps://csound.com/Ú whitespacez[ \t]+z/[*](?:.|\n)*?[*]/ú (?:;|//).*$z(\\)(\n)úpreprocessor directivesz)#(?:e(?:nd(?:if)?|lse)\b|##)|@@?[ \t]*\d+z #includestrzincludestr directivez#includezinclude directivez #[ \t]*definezdefine directivez#(?:ifn?def|undef)\bzmacro directivez ([^ \t]).*?\1ú#popÚ")r!ú quoted stringú\nz([A-Z_a-z]\w*)(\())r!úmacro parameter name listú [A-Z_a-z]\w*)r!úbefore macro bodyr%z['#]z\)r'Ú#)r!ú macro bodyr)z(?:\\(?!#)|[^#\\]|\n)+z\\#z(?Ð ?Ø ˜wŸ™Ð0BÐ CØ $ g§o¡oÐ7HÐ Ið $ ðhð Ù �LÓ !Ø ˜v vÐ .ð ð!hð( Ù �LÓ !Ø �6Ð4Ð 5ð! ð)hð2 Ø �JÐ Ù �LÓ !Ø "¡H¨W¯_©_¸kÓ$JØ 2ð 4à ˜gŸo™oÐ/LÐ Mð  ð3hð@ $Ù �LÓ !Ø ˜gŸo™oÐ .Ø �kÐ "Ø �KÐ!>Ð ?ð & ðAhðL Ø �JÐ Ù �LÓ !Ø �;Ð 6Ð 7ð ðMhðV Ø &¨¯©Ð 8Ø �W—_‘_Ð %Ø ˜+ vÐ .ð ðWhðb Ù �LÓ !Ø ˜gŸo™o¨vÐ 6ð ðchðl Ø '©°'·/±/À;Ó)OØ )ð +à '¨¯©Ð 9ð ðmhðv %Ø (¨'¯/©/Ð :Ø �kÐ "Ø �6Ð@Ð AØ �fÐCÐ DØ �G—O‘OÐ%JÐ KØ �K Ð (ð ' ðwhðF .Ø ˜'Ÿ/™/Ð *Ø ˜Ð Ù �OÓ $ð0 ðGhðP .Ø ˜'Ÿ/™/Ð *Ø ˜Ð Ù �OÓ $ð0 ðQhðZ .Ø ! 7§?¡?Ð 3Ø �G—O‘O WÐ -Ø �G—O‘O VÐ ,ð0 ð[hðf $Ù �LÓ !Ù �LÓ !ð& ðghðp Ø BÀFÇLÁLÐ QØ %¡x°· ± ¸f¿j¹jÓ'IÐ JØ �V—^‘^Ð $ð ðqhð| Ø �6˜6Ð "Ø ˜Ð Ù �LÓ !Ø �VÐ ð  ð}hðJ ð ñKh�Fr=rcó —eZdZdZdZddgZdgZdefed«ed«d e fd e jfd e e e j«fd e d fed«defdefdedfdej$dfg ed«dej(fdedfged«de jdfged«dej$dfgdej$dfed«gdedfdefgdœZy) rzO For `Csound `_ scores. .. versionadded:: 2.1 z Csound Scorez csound-scorez csound-scoz*.scor$r-r z[aBbCdefiqstvxy]Úzz([nNpP][pP])(\d+)z[mn]úmark statementr.z[!+\-*/^%&|<>#~.]z[()\[\]]r"r#z\{úloop after left bracer&r!r/)r!úloop after repeat count)r!Úloopz\}Úrootú\}\}z [^}]|\}(?!\}))rErArBrCrDr,N)r0r1r2Ú__doc__ÚnameÚaliasesÚ filenamesrrr ÚConstantrr r:rrrr r6r ÚLabelr;r<r=r>rrˆsJ„ñð €Dؘ|Ð,€GØ� €Ið�JÐ Ù Ð/Ó 0Ù Ð-Ó .à  'Ð *ð�7×#Ñ#Ð $ð "¡8¨G°V·^±^Ó#DÐ Eà �gÐ/Ð 0á �IÓ Ø ! 8Ð ,Ø ˜+Ð &Ø �6˜?Ð +Ø �G—O‘OÐ%<Ð =ð/ ñ6 Ð/Ó 0Ø ˜dŸj™jÐ )Ø �J Ð 'ð ñ Ð/Ó 0Ø �V—^‘^Ð%HÐ Ið" ñ Ð/Ó 0Ø ˜gŸo™oÐ/?Ð @ð$ ð �G—O‘O VÐ ,Ù �F‹Oð ð�f˜fÐ %Ø ˜vÐ &ð ña4�Fr=rcó—eZdZdZdZddgZddgZe«Zd„Z d„Z id d e fd e e e jee «fed «ed «dej$dfdej$dfdej$fed«g“dde j&j(fed«defdefdedfdedfeddd¬«efeddd¬«ej0fd ed!fd"e ej0e«d!fd#e ej0e«d$fd%e ej0e«d&fd'e ej0e«d(fd)e j2d*fd+e j2d,fd-e j2d.fd/e j2d0fd1e j&j4fd2e fg“ded «d3e j6fd4efd e d5fg“ded «d6e d7fd e d5fg“d8ed «d9ej8fd:efd e d5fg“dded5fd;efed<«ed=«ed>«d?efg“dd@ed5fdAefed=«ed>«dBefg“d=dCej:fg“d>dDej<fdEej:fg“dFed «d:ed5fed«g“d!ed «dGe jd5fed5«g“d*ed «dedHfed5«g“dHdIej:fdJej:fed«g“d,ed «dedfdedKfd e d5fg“dKd@ed5fdLe e!«fg“d.ed «dedfdedMfd e d5fg“dMd@ed5fdLe e"«fg“ed «dedfdedNfd e d5fgd@ed5fdLe e#«fgdOœ¥Z$yP)QrzS For `Csound `_ orchestras. .. versionadded:: 2.1 zCsound OrchestraÚcsoundz csound-orcz*.orcz*.udoc#óªK—|jd«}|jj|«|j«tj |f–—y­w)Nr)ÚgroupÚuser_defined_opcodesÚaddÚstartr ÚFunction)ÚlexerÚmatchÚopcodes r>Úopcode_name_callbackz)CsoundOrchestraLexer.opcode_name_callback×s>èø€Ø—‘˜Q“ˆØ ×"Ñ"×&Ñ& vÔ.Ø�k‰k‹mœTŸ]™]¨FÐ2Ó2ùs‚AAc#óK—tj}|jd«}|tvs|tvs|t vr$|j «tj|f–—nÆ||jvr$|j «tj|f–—n”t}tjd|«}|r]|j d«tj|jd«f–—|j d«t|jd«f–—n|j «t|f–—|jd«rO|j d«t|jd«f–—|j d«||jd«f–—yy­w)Néz^(g?[afikSw])(\w+)éé)r r8rPrrrrSr ÚBuiltinrQrTÚreÚsearchr)rUrVÚtype_annotation_tokenrHÚ name_matchs r>Ú name_callbackz"CsoundOrchestraLexer.name_callbackÜs1èø€Ü '§ ¡ Ðà�{‰{˜1‹~ˆØ ”7‰?˜dÔ&8Ñ8¸DÄOÑØ—+‘+˜a“.¤+¨u¯{©{¸1«~Ð=Ò =Ø—+‘+˜a“.Ð"7¸¿¹ÀQ»ÐGÓ Gð ùs‚FFrEr$z^([ \t]*)(\w+)(:)([ \t]+|$)r-r z \binstr\bz"instrument numbers and identifiersz \bopcode\bzafter opcode keywordz\b(?:end(?:in|op))\bzpartial statementsz-\b(?:0dbfs|A4|k(?:r|smps)|nchnls(?:_i)?|sr)\br.u@\+=|-=|\*=|/=|<<|>>|<=|>=|==|!=|&&|\|\||[~¬]|[=!+\-*/^%&|<>#?:]z [(),\[\]]r"r#r+r,) ÚdoÚelseÚelseifÚendifÚenduntilÚfiÚifÚithenÚkthenÚodÚthenÚuntilÚwhilez\b)ÚprefixÚsuffix)ÚreturnÚrireturnz \b[ik]?goto\bú goto labelz"\b(r(?:einit|igoto)|tigoto)(\(|\b)z\b(c(?:g|in?|k|nk?)goto)(\(|\b))rtú goto argumentz\b(timout)(\(|\b))rtruruz\b(loop_[gl][et])(\(|\b))rtrururuz \bprintk?s\bz prints opcodez"\b(?:readscore|scoreline(?:_i)?)\bzCsound score opcodez\bpyl?run[it]?\bz Python opcodez\blua_(?:exec|opdef)\bú Lua opcodez\bp\d+\bz$\b([A-Z_a-z]\w*)(?:(:)([A-Za-z]))?\bz\d+|[A-Z_a-z]\w*z[+,]r!r&)r!úopcode type signaturesrwz0|[afijkKoOpPStV\[\]]+Ú,z [^\\"$%)]+r*zescape sequenceszformat specifiersz[\\$%)]rFz(?:[^\\%)}]|\}(?!\}))+z[\\%)]z\\(?:[\\abnrt"]|[0-7]{1,3})z'%[#0\- +]*\d*(?:\.\d+)?[AE-GXac-giosux]z%%ruz\w+zprints quoted stringz\\\\[aAbBnNrRtT]z%[!nNrRtT]|[~^]{1,2}z Csound scorez([^}]+)|\}(?!\})ÚPythonÚLua)rvrzN)%r0r1r2rGrHrIrJÚsetrQrXrbrrr rLrrr Ú DeclarationÚVariableÚGlobalrrrÚPseudor]ÚInstancerTr8ÚEscapeÚInterpolrrrrrr;r<r=r>rrÊsB„ñð €DؘÐ&€Gؘ'Ð"€Iá›5Ðò3ò Hð*hØØ �JÐ à +©X°jÀ$Ç*Á*ÈkÐ[eÓ-fÐ gá Ð/Ó 0Ù Ð-Ó .à ˜7×.Ñ.Ð0TÐ UØ ˜G×/Ñ/Ð1GÐ HØ $ g×&9Ñ&9Ð :á Ð(Ó )ð  ðhð Ø =¸t¿}¹}×?SÑ?SÐ Tá �IÓ à PÐRZÐ [Ø ˜;Ð 'à �6˜?Ð +Ø �f˜oÐ .á ðð ¨ô/ð18ð 9ñÐ)°%ÀÔ FÈÏÉÐ Wà ˜w¨ Ð 5Ø 2±H¸W¿^¹^È[Ó4YØ ð à /±¸'¿.¹.È+Ó1VØ ,ð .à !¡8¨G¯N©N¸KÓ#HØ =ð ?à (©(°7·>±>À;Ó*OØ Nð Pð˜dŸl™l¨OÐ <Ø 2°D·L±LÐBWÐ XØ  $§,¡,°Ð @Ø &¨¯ © °lÐ CØ ˜$Ÿ-™-×0Ñ0Ð 1Ø 4°mÐ DðA! ð!hðf -Ù Ð/Ó 0Ø  $§-¡-Ð 0Ø �kÐ "Ø �J Ð 'ð / ðghðt Ù Ð/Ó 0Ø Ð2Ð4VÐ WØ �J Ð 'ð! ðuhð~ !Ù Ð/Ó 0ð'¨¯ © Ð 5à �;Ð Ø �J Ð 'ð# ðhðR Ø �6˜6Ð "Ø ˜FÐ #Ù �LÓ !Ù Ð&Ó 'Ù Ð'Ó (Ø ˜Ð ð  ðShðb Ø �f˜fÐ %Ø &¨Ð /Ù Ð&Ó 'Ù Ð'Ó (Ø ˜Ð ð  ðchðp à +¨V¯]©]Ð ;ð ðqhðZ Ø 7¸¿¹Ð IØ �F—M‘MÐ "ð ð[hðd Ù Ð/Ó 0Ø �; Ð 'Ù Ð(Ó )ð ðehðn Ù Ð/Ó 0Ø �T—Z‘Z Ð (Ù �F‹Oð ðohðz Ù Ð/Ó 0Ø �6Ð1Ð 2Ù �F‹Oð ð{hðD Ø  &§-¡-Ð 0Ø $ f§m¡mÐ 4Ù �OÓ $ð! ðEhðP Ù Ð/Ó 0Ø �6˜?Ð +Ø �f˜nÐ -Ø �J Ð 'ð  ðQhð\ Ø �f˜fÐ %Ø ¡%Ð(8Ó"9Ð :ð ð]hðf Ù Ð/Ó 0Ø �6˜?Ð +Ø �f˜hÐ 'Ø �J Ð 'ð  ðghðr Ø �f˜fÐ %Ø ¡%¨ Ó"4Ð 5ð ðshñ~ Ð/Ó 0Ø �6˜?Ð +Ø �f˜eÐ $Ø �J Ð 'ð  ð�f˜fÐ %Ø ¡%¨£/Ð 2ð òIh�Fr=rc óÞ—eZdZdZdZddgZdgZdejfdejfde fd e jd fd e jd fd e jdfde jdfde jfgde jdfde e«fgde jdfde e«fgde jdfde e«fgdefde j$dfde jdfgdefdedfdedfdedfgd œZy!)"rzR For `Csound `_ documents. .. versionadded:: 2.1 zCsound Documentzcsound-documentz csound-csdz*.csdz/[*](.|\n)*?[*]/rz[^/;<]+|/(?!/)z<\s*CsInstruments)Ú orchestraÚtagz <\s*CsScore)Úscorer…z<\s*[Hh][Tt][Mm][Ll])ÚHTMLr…z <\s*[\w:.-]+r…z<\s*/\s*[\w:.-]+\s*>z<\s*/\s*CsInstruments\s*>r!z%(.|\n)+?(?=<\s*/\s*CsInstruments\s*>)z<\s*/\s*CsScore\s*>z(.|\n)+?(?=<\s*/\s*CsScore\s*>)z<\s*/\s*[Hh][Tt][Mm][Ll]\s*>z((.|\n)+?(?=<\s*/\s*[Hh][Tt][Mm][Ll]\s*>)z\s+z [\w.:-]+\s*=Úattrz/?\s*>z".*?"z'.*?'z[^\s>]+)rEr„r†r‡r…rˆN)r0r1r2rGrHrIrJr r4r5rr ÚTagrrrrrÚ Attributerr;r<r=r>rrœsV„ñð €DØ  ,Ð/€GØ� €Ið! '×"3Ñ"3Ð 4Ø ˜WŸ^™^Ð ,Ø  Ð %à ! 4§8¡8Ð-AÐ BØ ˜TŸX™XÐ'7Ð 8Ø $ d§h¡h°Ð @à ˜dŸh™h¨Ð .Ø $ d§h¡hÐ /ð  ð*¨4¯8©8°VÐ <Ø 5±uÐ=QÓ7RÐ Sð ð $ T§X¡X¨vÐ 6Ø /±Ð7GÓ1HÐ Ið ð -¨d¯h©h¸Ð ?Ø 8¹%À Ó:JÐ Kð ð �ZÐ Ø ˜dŸn™n¨fÐ 5Ø ˜Ÿ™ &Ð )ð ð �ZÐ Ø �v˜vÐ &Ø �v˜vÐ &Ø ˜ Ð (ð  ñA&�Fr=r)%rGr^Úpygments.lexerrrrrrrÚpygments.tokenr r r r r rrrrrÚ pygments.lexers._csound_builtinsrrrÚpygments.lexers.htmlrÚpygments.lexers.pythonrÚpygments.lexers.scriptingrÚ__all__r5Únewlinerrrrr<r=r>Úr“s„ðñó çO×O÷÷÷çYÑYÝ*Ý.Ý.â M€à #¡X¨g¯n©n¸dÓ%CÐ D€ôk�*ôkô\?�{ô?ôDO˜;ôOôd8˜*õ8r=