§
    £E±cbB  ã                   ó8  — d Z ddlZddlmZmZmZmZmZmZ ddl	m
Z
mZmZmZmZmZmZmZmZmZ ddlmZmZmZ ddlmZ ddlmZ ddlmZ g d	¢Zd
 ee
j        e¦  «        fZ  G d„ de¦  «        Z! G d„ de!¦  «        Z" G d„ de!¦  «        Z# G d„ de¦  «        Z$dS )zÍ
    pygments.lexers.csound
    ~~~~~~~~~~~~~~~~~~~~~~

    Lexers for Csound languages.

    :copyright: Copyright 2006-2022 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            
       óä  — e Zd ZdZi ddefdej        fdej        fd ee	e¦  «        fg“ddej
        fd	ej
        d
fdej
        dfdej
        dfdej
        dfg“d ed¦  «        dedfg“d
 ed¦  «        dedfg“ddef ed¦  «        d eej
        e¦  «        dfdej
        dfg“d ed¦  «        dej
        fdefdedfg“ddef ed¦  «        dedfg“d d!ej
        fd"ej
        fd#edfg“d ed¦  «        dej
        dfg“d$d% eej
        e¦  «        d&fd'ej
        fg“d&d(ej
        fdefded)fd*ed+fd,ej
        d-fdedfg“d)d.ej
        fd/ef ed0¦  «        g“d+d.ej
        fd/ef ed1¦  «        g“d-d2ej
        fd,ej
        d3fdej
        dfg“d4 ed¦  «         ed$¦  «        g“d5d6ej        fd7 eej        ej        ¦  «        fd8ej        fg“d0dedfd9ef ed$¦  «        d:efg“d1g i¥Zd;S )<ÚCsoundLexerzhttps://csound.com/Ú
whitespacez[ \t]+z/[*](?:.|\n)*?[*]/ú(?:;|//).*$z(\\)(\n)úpreprocessor directivesz)#(?:e(?:nd(?:if)?|lse)\b|##)|@@?[ \t]*\d+z#includestrzincludestr directivez#includezinclude directivez#[ \t]*definezdefine directivez#(?:ifn?def|undef)\bzmacro 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(?<!\\)#ú
macro usesz(\$[A-Z_a-z]\w*\.?)(\()zmacro parameter value listz\$[A-Z_a-z]\w*(?:\.|\b)z(?:[^\'#"{()]|\{(?!\{))+z#macro parameter value quoted stringú\{\{z#macro parameter value braced stringz\(z#macro parameter value parentheticalz\\[#'()]z[#'()]r#   úbraced stringz(?:[^\\()]|\\\))+z#pushúwhitespace and macro usesÚnumbersz2\d+[Ee][+-]?\d+|(\d+\.\d*|\d*\.\d+)([Ee][+-]?\d+)?z(0[Xx])([0-9A-Fa-f]+)ú\d+z[^"$]+z[$]N)Ú__name__Ú
__module__Ú__qualname__Úurlr   r	   Ú	MultilineÚSingler   r   ÚPreprocr   r   r   r
   r   ÚFloatr   ÚTypeÚHexÚIntegerÚtokens© ó    ú8/usr/lib/python3/dist-packages/pygments/lexers/csound.pyr   r      sæ  € € € € € Ø
€CðhØØ˜
Ð#Ø" GÔ$5Ð6Ø˜Wœ^Ð,Ø˜(˜( 4¨Ñ4Ô4Ð5ð	
ðhð 	"Ø9¸7¼?ÐKØ˜Wœ_Ð.DÐEØ˜'œ/Ð+>Ð?Ø˜wœÐ0BÐCØ$ g¤oÐ7HÐIð$
ðhð  	ØˆG�LÑ!Ô!Ø˜v vÐ.ð
ð!hð( 	ØˆG�LÑ!Ô!Ø�6Ð4Ð5ð!
ð)hð2 	Ø�JÐØˆG�LÑ!Ô!Ø" H H¨W¬_¸kÑ$JÔ$JØ2ð4à˜gœoÐ/LÐMð
ð3hð@ 	$ØˆG�LÑ!Ô!Ø˜gœoÐ.Ø�kÐ"Ø�KÐ!>Ð?ð	&
ðAhðL 	Ø�JÐØˆG�LÑ!Ô!Ø�;Ð 6Ð7ð
ðMhðV 	Ø&¨¬Ð8Ø�W”_Ð%Ø˜+ vÐ.ð
ðWhðb 	ØˆG�LÑ!Ô!Ø˜gœo¨vÐ6ð
ðchðl 	Ø'¨¨°'´/À;Ñ)OÔ)OØ)ð+à'¨¬Ð9ð
ðmhðv 	%Ø(¨'¬/Ð:Ø�kÐ"Ø�6Ð@ÐAØ�fÐCÐDØ�G”OÐ%JÐKØ�K Ð(ð'
ðwhðF 	.Ø˜'œ/Ð*Ø˜ÐØˆG�OÑ$Ô$ð0
ðGhðP 	.Ø˜'œ/Ð*Ø˜ÐØˆG�OÑ$Ô$ð0
ðQhðZ 	.Ø! 7¤?Ð3Ø�G”O WÐ-Ø�G”O VÐ,ð0
ð[hðf 	$ØˆG�LÑ!Ô!ØˆG�LÑ!Ô!ð&
ðghðp 	ØBÀFÄLÐQØ% x x°´¸f¼jÑ'IÔ'IÐJØ�V”^Ð$ð
ðqhð| 	Ø�6˜6Ð"Ø˜ÐØˆG�LÑ!Ô!Ø�VÐð	
ð}hðJ 	ð 
ðKhð h€F€F€Fr=   r   c                   óŒ  — e Zd ZdZdZddgZdgZdef ed¦  «         ed¦  «        d	e	fd
e	j
        fd ee	ej        ¦  «        fde	df ed¦  «        defdefdedfdej        dfg ed¦  «        dej        fdedfg ed¦  «        dej        dfg ed¦  «        dej        dfgdej        df ed¦  «        gdedfdefgdœZdS ) r   zO
    For `Csound <https://csound.com>`_ 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[^}]|\}(?!\}))rE   rA   rB   rC   rD   r,   N)r0   r1   r2   Ú__doc__ÚnameÚaliasesÚ	filenamesr   r   r   ÚConstantr   r   r:   r   r   r   r	   r6   r   ÚLabelr;   r<   r=   r>   r   r   ˆ   sx  € € € € € ðð ð €DØ˜|Ð,€GØ�	€Ið �JÐØˆGÐ/Ñ0Ô0ØˆGÐ-Ñ.Ô.à  'Ð*ð �7Ô#Ð$ð " 8 8¨G°V´^Ñ#DÔ#DÐEà�gÐ/Ð0àˆG�IÑÔØ! 8Ð,Ø˜+Ð&Ø�6˜?Ð+Ø�G”OÐ%<Ð=ð/
ð6 ˆGÐ/Ñ0Ô0Ø˜dœjÐ)Ø�J Ð'ð
ð ˆGÐ/Ñ0Ô0Ø�V”^Ð%HÐIð"
ð
 ˆGÐ/Ñ0Ô0Ø˜gœoÐ/?Ð@ð$
ð
 �G”O VÐ,ØˆG�F‰OŒOð
ð �f˜fÐ%Ø˜vÐ&ð
ða4ð 4€F€F€Fr=   r   c                   óæ  — e Zd ZdZdZddgZddgZ e¦   «         Zd„ Z	d„ Z
i d	d
efd eeej        ee¦  «        f ed¦  «         ed¦  «        dej        dfdej        dfdej        f ed¦  «        g“ddej        j        f ed¦  «        defdefdedfdedf eddd¬¦  «        ef eddd¬¦  «        ej        fd ed!fd" eej        e¦  «        d!fd# eej        e¦  «        d$fd% eej        e¦  «        d&fd' eej        e¦  «        d(fd)ej        d*fd+ej        d,fd-ej        d.fd/ej        d0fd1ej        j        fd2e
fg“d ed¦  «        d3ej        fd4efd
ed5fg“d ed¦  «        d6e	d7fd
ed5fg“d8 ed¦  «        d9ej        fd:efd
ed5fg“dded5fd;ef ed<¦  «         ed=¦  «         ed>¦  «        d?efg“dd@ed5fdAef ed=¦  «         ed>¦  «        dBefg“d=dCej        fg“d>dDej        fdEej        fg“dF ed¦  «        d:ed5f ed¦  «        g“d! ed¦  «        dGej        d5f ed5¦  «        g“d* ed¦  «        dedHf ed5¦  «        g“dHdIej        fdJej        f ed¦  «        g“d, ed¦  «        dedfdedKfd
ed5fg“dKd@ed5fdL e e!¦  «        fg“d. ed¦  «        dedfdedMfd
ed5fg“dMd@ed5fdL e e"¦  «        fg“ ed¦  «        dedfdedNfd
ed5fgd@ed5fdL e e#¦  «        fgdOœ¥Z$dPS )Qr   zS
    For `Csound <https://csound.com>`_ orchestras.

    .. versionadded:: 2.1
    zCsound OrchestraÚcsoundz
csound-orcz*.orcz*.udoc              #   ó®   K  — |                      d¦  «        }| j                             |¦  «         |                     ¦   «         t          j        |fV — d S )Nr   )ÚgroupÚuser_defined_opcodesÚaddÚstartr   ÚFunction)ÚlexerÚmatchÚopcodes      r>   Úopcode_name_callbackz)CsoundOrchestraLexer.opcode_name_callback×   sO   è è € Ø—’˜Q‘”ˆØÔ"×&Ò& vÑ.Ô.Ð.Ø�kŠk‰mŒm�Tœ]¨FÐ2Ð2Ð2Ð2Ð2Ð2r=   c              #   ó\  K  — t           j        }|                     d¦  «        }|t          v s|t          v s	|t
          v r$|                     ¦   «         t          j        |fV — nÓ|| j	        v r$|                     ¦   «         t          j
        |fV — n¦t          }t          j        d|¦  «        }|rj|                     d¦  «        t           j        |                     d¦  «        fV — |                     d¦  «        t          |                     d¦  «        fV — n|                     ¦   «         t          |fV — |                     d¦  «        ra|                     d¦  «        t          |                     d¦  «        fV — |                     d¦  «        ||                     d¦  «        fV — d S d S )Né   z^(g?[afikSw])(\w+)é   é   )r   r8   rP   r   r   r   rS   r   ÚBuiltinrQ   rT   ÚreÚsearchr   )rU   rV   Útype_annotation_tokenrH   Ú
name_matchs        r>   Úname_callbackz"CsoundOrchestraLexer.name_callbackÜ   s›  è è € Ý '¤Ðà�{Š{˜1‰~Œ~ˆØ•7ˆ?ˆ?˜dÕ&8Ð8Ð8¸DÅOÐ<SÐ<SØ—+’+‘-”-¥¤¨tÐ3Ð3Ð3Ð3Ð3Ø�UÔ/Ð/Ð/Ø—+’+‘-”-¥¤°Ð4Ð4Ð4Ð4Ð4å$(Ð!ÝœÐ#8¸$Ñ?Ô?ˆJØð 0Ø ×&Ò& qÑ)Ô)­7¬<¸×9IÒ9IÈ!Ñ9LÔ9LÐLÐLÐLÐLØ ×&Ò& qÑ)Ô)­4°×1AÒ1AÀ!Ñ1DÔ1DÐDÐDÐDÐDÐDà—k’k‘m”m¥T¨4Ð/Ð/Ð/Ð/à�;Š;�q‰>Œ>ð 	HØ—+’+˜a‘.”.¥+¨u¯{ª{¸1©~¬~Ð=Ð=Ð=Ð=Ø—+’+˜a‘.”.Ð"7¸¿ºÀQ¹¼ÐGÐGÐGÐGÐGÐGð	Hð 	Hr=   rE   r$   z^([ \t]*)(\w+)(:)([ \t]+|$)r-   r    z	\binstr\bz"instrument numbers and identifiersz
\bopcode\bzafter opcode keywordz\b(?:end(?:in|op))\bzpartial 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))rt   ru   ru   z\b(loop_[gl][et])(\(|\b))rt   ru   ru   ru   z\bprintk?s\bzprints opcodez"\b(?:readscore|scoreline(?:_i)?)\bzCsound 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 signaturesrw   z0|[afijkKoOpPStV\[\]]+ú,z
[^\\"$%)]+r*   zescape sequenceszformat specifiersz[\\$%)]rF   z(?:[^\\%)}]|\}(?!\}))+z[\\%)]z\\(?:[\\abnrt"]|[0-7]{1,3})z'%[#0\- +]*\d*(?:\.\d+)?[AE-GXac-giosux]z%%ru   z\w+zprints quoted stringz\\\\[aAbBnNrRtT]z%[!nNrRtT]|[~^]{1,2}zCsound scorez([^}]+)|\}(?!\})ÚPythonÚLua)rv   rz   N)%r0   r1   r2   rG   rH   rI   rJ   ÚsetrQ   rX   rb   r   r   r   rL   r   r   r   ÚDeclarationÚVariableÚGlobalr   r   r   ÚPseudor]   ÚInstancerT   r8   ÚEscapeÚInterpolr   r   r   r   r   r;   r<   r=   r>   r   r   Ê   sé  € € € € € ðð ð €DØ˜Ð&€GØ˜'Ð"€Ià˜3™5œ5Ðð3ð 3ð 3ð
Hð Hð Hð*hØØ�JÐà+¨X¨X°jÀ$Ä*ÈkÐ[eÑ-fÔ-fÐgàˆGÐ/Ñ0Ô0ØˆGÐ-Ñ.Ô.à˜7Ô.Ð0TÐUØ˜GÔ/Ð1GÐHØ$ gÔ&9Ð:àˆGÐ(Ñ)Ô)ð
ðhð  	Ø=¸t¼}Ô?SÐTàˆG�IÑÔàPÐRZÐ[Ø˜;Ð'à�6˜?Ð+Ø�f˜oÐ.àˆUð ð  ¨ð/ñ /ô /ð 18ð9ð ˆUÐ)°%ÀÐFÑFÔFÈÌÐWà˜w¨Ð5Ø2°H°H¸W¼^È[Ñ4YÔ4YØðà/°°¸'¼.È+Ñ1VÔ1VØ,ð.à! 8 8¨G¬N¸KÑ#HÔ#HØ=ð?à(¨(¨(°7´>À;Ñ*OÔ*OØNðPð ˜dœl¨OÐ<Ø2°D´LÐBWÐXØ  $¤,°Ð@Ø&¨¬°lÐCØ˜$œ-Ô0Ð1Ø4°mÐDðA!
ð!hðf 	-ØˆGÐ/Ñ0Ô0Ø  $¤-Ð0Ø�kÐ"Ø�J Ð'ð	/
ðghðt 	ØˆGÐ/Ñ0Ô0ØÐ2Ð4VÐWØ�J Ð'ð!
ðuhð~ 	!ØˆGÐ/Ñ0Ô0ð '¨¬Ð5à�;ÐØ�J Ð'ð#
ðhðR 	Ø�6˜6Ð"Ø˜FÐ#ØˆG�LÑ!Ô!ØˆGÐ&Ñ'Ô'ØˆGÐ'Ñ(Ô(Ø˜Ð ð
ðShðb 	Ø�f˜fÐ%Ø&¨Ð/ØˆGÐ&Ñ'Ô'ØˆGÐ'Ñ(Ô(Ø˜Ðð
ðchðp 	à+¨V¬]Ð;ð
ðqhðZ 	Ø7¸¼ÐIØ�F”MÐ"ð
ð[hðd 	ØˆGÐ/Ñ0Ô0Ø�; Ð'ØˆGÐ(Ñ)Ô)ð
ðehðn 	ØˆGÐ/Ñ0Ô0Ø�T”Z Ð(ØˆG�F‰OŒOð
ðohðz 	ØˆGÐ/Ñ0Ô0Ø�6Ð1Ð2ØˆG�F‰OŒOð
ð{hðD 	Ø  &¤-Ð0Ø$ f¤mÐ4ØˆG�OÑ$Ô$ð!
ðEhðP 	ØˆGÐ/Ñ0Ô0Ø�6˜?Ð+Ø�f˜nÐ-Ø�J Ð'ð	 
ðQhð\ 	Ø�f˜fÐ%Ø  % %Ð(8Ñ"9Ô"9Ð:ð
ð]hðf 	ØˆGÐ/Ñ0Ô0Ø�6˜?Ð+Ø�f˜hÐ'Ø�J Ð'ð	
ðghðr 	Ø�f˜fÐ%Ø  % %¨Ñ"4Ô"4Ð5ð
ðshð~ ˆGÐ/Ñ0Ô0Ø�6˜?Ð+Ø�f˜eÐ$Ø�J Ð'ð	
ð �f˜fÐ%Ø  % %¨¡/¤/Ð2ð
ðIhð hð h€F€F€Fr=   r   c                   óz  — e Zd ZdZdZddgZdgZdej        fdej	        fde
fd	ej        d
fdej        dfdej        dfdej        dfdej        fgdej        dfd ee¦  «        fgdej        dfd ee¦  «        fgdej        dfd ee¦  «        fgdefdej        dfdej        dfgdefdedfdedfdedfgd œZd!S )"r   zR
    For `Csound <https://csound.com>`_ documents.

    .. versionadded:: 2.1
    zCsound Documentzcsound-documentz
csound-csdz*.csdz/[*](.|\n)*?[*]/r   z[^/;<]+|/(?!/)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>]+)rE   r„   r†   r‡   r…   rˆ   N)r0   r1   r2   rG   rH   rI   rJ   r	   r4   r5   r   r   ÚTagr   r   r   r   r   Ú	Attributer   r;   r<   r=   r>   r   r   œ  sb  € € € € € ðð ð €DØ  ,Ð/€GØ�	€Ið ! 'Ô"3Ð4Ø˜Wœ^Ð,Ø Ð%à! 4¤8Ð-AÐBØ˜TœXÐ'7Ð8Ø$ d¤h°Ð@à˜dœh¨Ð.Ø$ d¤hÐ/ð
ð *¨4¬8°VÐ<Ø5°u°uÐ=QÑ7RÔ7RÐSð
ð
 $ T¤X¨vÐ6Ø/°°Ð7GÑ1HÔ1HÐIð
ð
 -¨d¬h¸Ð?Ø8¸%¸%À	Ñ:JÔ:JÐKð
ð �ZÐ Ø˜dœn¨fÐ5Ø˜œ &Ð)ð
ð �ZÐ Ø�v˜vÐ&Ø�v˜vÐ&Ø˜ Ð(ð	
ðA&ð &€F€F€Fr=   r   )%rG   r^   Úpygments.lexerr   r   r   r   r   r   Úpygments.tokenr	   r
   r   r   r   r   r   r   r   r   Ú pygments.lexers._csound_builtinsr   r   r   Úpygments.lexers.htmlr   Úpygments.lexers.pythonr   Úpygments.lexers.scriptingr   Ú__all__r5   Únewliner   r   r   r   r<   r=   r>   ú<module>r“      sþ  ððð ð 
€	€	€	à OÐ OÐ OÐ OÐ OÐ OÐ OÐ OÐ OÐ OÐ OÐ OÐ OÐ OÐ OÐ Oðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð à YÐ YÐ YÐ YÐ YÐ YÐ YÐ YÐ YÐ YØ *Ð *Ð *Ð *Ð *Ð *Ø .Ð .Ð .Ð .Ð .Ð .Ø .Ð .Ð .Ð .Ð .Ð .à
MÐ
MÐ
M€à# X X¨g¬n¸dÑ%CÔ%CÐ
D€ðkð kð kð kð k�*ñ kô kð kð\?ð ?ð ?ð ?ð ?�{ñ ?ô ?ð ?ðDOð Oð Oð Oð O˜;ñ Oô Oð Oðd8ð 8ð 8ð 8ð 8˜*ñ 8ô 8ð 8ð 8ð 8r=   