HEX
Server: Apache/2.4.68 (Debian)
System: Linux as-cs-widget-demo-us-central1 6.1.0-44-cloud-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.164-1 (2026-03-09) x86_64
User: root (0)
PHP: 8.2.32
Disabled: NONE
Upload Files
File: //usr/lib/python3/dist-packages/pygments/lexers/__pycache__/csound.cpython-311.pyc
�

�E�cbB��8�dZddlZddlmZmZmZmZmZmZddl	m
Z
mZmZm
Z
mZmZmZmZmZmZddlmZmZmZddlmZddlmZddlmZgd	�Zd
ee
je��fZ Gd�de��Z!Gd
�de!��Z"Gd�de!��Z#Gd�de��Z$dS)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
���eZdZdZiddefdejfdejfdee	e��fg�ddej
fd	ej
d
fdej
dfd
ej
dfdej
dfg�ded��dedfg�d
ed��dedfg�ddefed��deej
e
��dfdej
dfg�ded��dej
fde
fde
dfg�ddefed��de
dfg�d d!ej
fd"ej
fd#e
dfg�ded��dej
dfg�d$d%eej
e
��d&fd'ej
fg�d&d(ej
fde
fded)fd*ed+fd,ej
d-fde
dfg�d)d.ej
fd/efed0��g�d+d.ej
fd/efed1��g�d-d2ej
fd,ej
d3fdej
dfg�d4ed��ed$��g�d5d6ejfd7eejej��fd8ejfg�d0dedfd9efed$��d:efg�d1gi�Zd;S)<�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(?<!\\)#�
macro usesz(\$[A-Z_a-z]\w*\.?)(\()zmacro 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__�urlrr	�	Multiline�Singlerr�Preprocrrrr
r
�Floatr�Type�Hex�Integer�tokens���8/usr/lib/python3/dist-packages/pygments/lexers/csound.pyrrs�������
�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�!>�?�	&
�Ah�L	�
�J���G�L�!�!�
�;� 6�7�
�Mh�V	�
&���8�
�W�_�%�
�+�v�.�
�Wh�b	��G�L�!�!�
�g�o�v�6�
�ch�l	�
'���'�/�;�)O�)O�
)�
+�
'���9�
�mh�v	%�
(�'�/�:�
�k�"�
�6�@�A�
�f�C�D�
�G�O�%J�K�
�K��(�
'
�wh�F	.�
�'�/�*�
����G�O�$�$�0
�Gh�P	.�
�'�/�*�
����G�O�$�$�0
�Qh�Z	.�
!�7�?�3�
�G�O�W�-�
�G�O�V�,�0
�[h�f	$��G�L�!�!��G�L�!�!�&
�gh�p	�
B�F�L�Q�
%�x�x���f�j�'I�'I�J�
�V�^�$�
�qh�|	�
�6�6�"�
����G�L�!�!�
�V��	
�}h�J	�
�Kh�h�F�F�Fr=rc��eZdZdZdZddgZdgZdefed��ed��d	e	fd
e	j
fdee	ej
��fde	d
fed��defdefdedfdejdfged��dejfdedfged��dej
dfged��dejdfgdejdfed��gdedfdefgd�ZdS) rzO
    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
[^}]|\}(?!\}))rErArBrCrDr,N)r0r1r2�__doc__�name�aliases�	filenamesrrr�Constantrr
r:rrrr	r6r�Labelr;r<r=r>rr�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�&�
�a4�4�F�F�Fr=rc���eZdZdZdZddgZddgZe��Zd�Z	d�Z
id	d
efdeee
jee��fed��ed
��dejdfdejdfdejfed��g�dde
jjfed��defdefdedfdedfeddd���efeddd���ejfd ed!fd"eeje��d!fd#eeje��d$fd%eeje��d&fd'eeje��d(fd)e
jd*fd+e
jd,fd-e
jd.fd/e
jd0fd1e
jjfd2e
fg�ded��d3e
jfd4efd
ed5fg�ded��d6e	d7fd
ed5fg�d8ed��d9ejfd:efd
ed5fg�dded5fd;efed<��ed=��ed>��d?efg�dd@ed5fdAefed=��ed>��dBefg�d=dCejfg�d>dDejfdEejfg�dFed��d:ed5fed��g�d!ed��dGe
jd5fed5��g�d*ed��dedHfed5��g�dHdIejfdJejfed��g�d,ed��dedfdedKfd
ed5fg�dKd@ed5fdLe e!��fg�d.ed��dedfdedMfd
ed5fg�dMd@ed5fdLe e"��fg�ed��dedfdedNfd
ed5fgd@ed5fdLe e#��fgdO��Z$dPS)QrzS
    For `Csound <https://csound.com>`_ orchestras.

    .. versionadded:: 2.1
    zCsound Orchestra�csoundz
csound-orcz*.orcz*.udoc#�K�|�d��}|j�|��|���tj|fV�dS)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�tj}|�d��}|tvs|tvs	|t
vr$|���tj|fV�n�||j	vr$|���tj
|fV�n�t}tjd|��}|rj|�d��tj|�d��fV�|�d��t|�d��fV�n|���t|fV�|�d��ra|�d��t|�d��fV�|�d��||�d��fV�dSdS)N�z^(g?[afikSw])(\w+)��)rr8rPrrrrSr�BuiltinrQrT�re�searchr)rUrV�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�	Hr=rEr$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�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��'�	/
�gh�t	��G�/�0�0�
�2�4V�W�
�J��'�!
�uh�~	!��G�/�0�0�'���5�
�;��
�J��'�#
�h�R	�
�6�6�"�
�F�#��G�L�!�!��G�&�'�'��G�'�(�(�
�� �

�Sh�b	�
�f�f�%�
&��/��G�&�'�'��G�'�(�(�
���
�ch�p	�
+�V�]�;�
�qh�Z	�
7���I�
�F�M�"�
�[h�d	��G�/�0�0�
�;��'��G�(�)�)�
�eh�n	��G�/�0�0�
�T�Z��(��G�F�O�O�
�oh�z	��G�/�0�0�
�6�1�2��G�F�O�O�
�{h�D	�
 �&�-�0�
$�f�m�4��G�O�$�$�!
�Eh�P	��G�/�0�0�
�6�?�+�
�f�n�-�
�J��'�	 
�Qh�\	�
�f�f�%�
 �%�%�(8�"9�"9�:�
�]h�f	��G�/�0�0�
�6�?�+�
�f�h�'�
�J��'�	
�gh�r	�
�f�f�%�
 �%�%��"4�"4�5�
�sh�~
�G�/�0�0�
�6�?�+�
�f�e�$�
�J��'�	
��f�f�%�
 �%�%��/�/�2�
�Ih�h�h�F�F�Fr=rc�z�eZdZdZdZddgZdgZdejfdej	fde
fd	ejd
fdejdfd
ejdfdejdfdejfgdejdfde
e��fgdejdfde
e��fgdejdfde
e��fgdefdejdfdejdfgdefdedfdedfdedfgd �Zd!S)"rzR
    For `Csound <https://csound.com>`_ 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�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)%rGr^�pygments.lexerrrrrrr�pygments.tokenr	r
rrr
rrrrr� pygments.lexers._csound_builtinsrrr�pygments.lexers.htmlr�pygments.lexers.pythonr�pygments.lexers.scriptingr�__all__r5�newlinerrrrr<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�\?�?�?�?�?�{�?�?�?�DO�O�O�O�O�;�O�O�O�d8�8�8�8�8�*�8�8�8�8�8r=