HEX
Server: Apache
System: Linux srv1.prosuiteplus.com 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User: prosuiteplus (1001)
PHP: 8.3.20
Disabled: NONE
Upload Files
File: //usr/lib/python3/dist-packages/pygments/lexers/__pycache__/csound.cpython-38.pyc
U

G�
\�@�@s�dZddlZddlmZmZmZmZmZmZddl	m
Z
mZmZm
Z
mZmZmZmZmZmZddlmZmZddlmZddlmZddlmZd	d
dgZdee
je�fZGd
d�de�Z Gdd	�d	e �Z!Gdd
�d
e �Z"Gdd�de�Z#dS)z�
    pygments.lexers.csound
    ~~~~~~~~~~~~~~~~~~~~~~

    Lexers for Csound languages.

    :copyright: Copyright 2006-2017 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)�	HtmlLexer)�PythonLexer)�LuaLexer�CsoundScoreLexer�CsoundOrchestraLexer�CsoundDocumentLexerz((?:(?:;|//).*)*)(\n)c@s�eZdZdefdejfdejfdeee�fgdej	fdej	dfdej	d	fd
ej	dfge
d�d
edfgdefe
d�deej	e�dfdej	dfge
d�dej	fdefdedfgdefe
d�dedfgdej	fdej	fdedfge
d�dej	dfgdeej	e�dfdej	fgdej	fdefded fd!ed"fd#ej	d$fdedfgd%ej	fd&e
fe
d'�gd%ej	fd&e
fe
d(�gd)ej	fd#ej	d*fdej	dfge
d�e
d+�gd,ejfd-eejej�fd.ejfggd/�Zd0S)1�CsoundLexerz[ \t]+z/[*](?:.|\n)*?[*]/�(?:;|//).*$z(\\)(\n)z)#(?:e(?:nd(?:if)?|lse)\b|##)|@@?[ \t]*\d+z#include�include directivez
#[ \t]*define�define directivez#(?:ifn?def|undef)\b�macro directive�
whitespacez
([^ \t]).*?\1�#pop�\nz([A-Z_a-z]\w*)(\())r �macro parameter name list�[A-Z_a-z]\w*)r �before macro bodyz['#]z\)�#)r �
macro bodyz(?:\\(?!#)|[^#\\]|\n)+z\\#z(?<!\\)#z(\$[A-Z_a-z]\w*\.?)(\()�macro parameter value listz\$[A-Z_a-z]\w*(?:\.|\b)z(?:[^\'#"{()]|\{(?!\{))+�"�#macro parameter value quoted string�\{\{�#macro parameter value braced stringz\(�#macro parameter value parentheticalz\\[#'()]z[#'()]�
quoted string�
braced stringz(?:[^\\()]|\\\))+z#push�
macro usesz2\d+[Ee][+-]?\d+|(\d+\.\d*|\d*\.\d+)([Ee][+-]?\d+)?z(0[Xx])([0-9A-Fa-f]+)�\d+)r�preprocessor directivesrrr"r$r&rr/r'r)r+r,�whitespace and macro uses�numbersr.N)�__name__�
__module__�__qualname__rr�	Multiline�Singlerr�Preprocrrrr	rZFloatr
�TypeZHex�Integer�tokens�r=r=�8/usr/lib/python3/dist-packages/pygments/lexers/csound.pyrs��


���
����
���
�	��

����rc@s�eZdZdZdZddgZdgZdefed�ed�d	e	fd
e	j
fdee	ej
�fde	d
fed�defdefdedfdejdfged�dejfdedfgdedfdefed�defged�dej
dfged�dejdfgdejdfed�gdedfd efgd!�Zd"S)#rzU
    For `Csound <https://csound.github.io>`_ scores.

    .. versionadded:: 2.1
    zCsound Scorezcsound-scorez
csound-scoz*.scor!r2r1z[abCdefiqstvxy]�zz([nNpP][pP])(\d+)z[mn]�mark statementr3z[!+\-*/^%&|<>#~.]z[()\[\]]r(r-z\{�loop after left bracer#r z[^"$]+r/z[$]r0)r �loop after repeat count)r �loopz\}�root�\}\}z
[^}]|\}(?!\}))rDr@r-rArBrCr.N)r4r5r6�__doc__�name�aliases�	filenamesrrr
ZConstantrrr;r
rrrr9r�Labelr<r=r=r=r>r{sN
���
�
�
���c@s�eZdZdZdZddgZddgZe�Zdd�Z	d	d
�Z
defdeee
je�fed
�ed�dejdfdejdfdejfed�gde
jjfed�defdefdedfdedfedddd�efed ddd�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/fd0e
jd1fd2e
jjfd3e
fged
�d4e
jfd5efded6fged
�d7e	d8fded6fged
�d9ejfd:efded6fgded6fd;efed<�ed=�ed>�d?efgd@ed6fdAefed=�ed>�dBefgdCejfgdDejfdEejfged
�d:ed6fed�ged
�dFe
jd6fed6�ged
�dedGfed6�gdHejfdIejfed�ged
�dedJfded6fgd@ed6fdKe e!�fged
�dedLfded6fgd@ed6fdKe e"�fged
�dedMfded6fgd@ed6fdKe e#�fgdN�Z$dOS)PrzY
    For `Csound <https://csound.github.io>`_ orchestras.

    .. versionadded:: 2.1
    zCsound OrchestraZcsoundz
csound-orcz*.orcz*.udoccs,|�d�}|j�|�|��tj|fVdS)Nr)�group�user_defined_opcodes�add�startr�Function)�lexer�matchZopcoder=r=r>�opcode_name_callback�s
z)CsoundOrchestraLexer.opcode_name_callbackccs|�d�}|tks|tkrj|��tj|fV|�d�rh|�d�t|�d�fV|�d�tj|�d�fVn�||j	kr�|��tj
|fVn�t�d|�}|r�|�d�tj|�d�fV|�d�t|�d�fVnL|��t|fV|�d��r|�d�t|�d�fV|�d�t|�d�fVdS)N���z^(g?[afikSw])(\w+))
rKrrrNr�Builtinrr
r:rLrO�re�search)rPrQrGZ	nameMatchr=r=r>�
name_callback�s 


z"CsoundOrchestraLexer.name_callbackr!z^([ \t]*)(\w+)(:)(?:[ \t]+|$)r2r1z	\binstr\b�"instrument numbers and identifiersz
\bopcode\b�after opcode keywordz\b(?:end(?:in|op))\b�partial statementsz-\b(?:0dbfs|A4|k(?:r|smps)|nchnls(?:_i)?|sr)\br3u@\+=|-=|\*=|/=|<<|>>|<=|>=|==|!=|&&|\|\||[~¬]|[=!+\-*/^%&|<>#?:]z	[(),\[\]]r(r-r*r.)
Zdo�elseZelseifZendifZenduntilZfi�ifZithenZkthenZodZthenZuntil�whilez\b)�prefix�suffix)�returnZrireturnz
\b[ik]?goto\b�
goto labelz"\b(r(?:einit|igoto)|tigoto)(\(|\b)z\b(c(?:g|in?|k|nk?)goto)(\(|\b))rc�
goto argumentz\b(timout)(\(|\b))rcrdrdz\b(loop_[gl][et])(\(|\b))rcrdrdrdz\bprintk?s\b�
prints opcodez"\b(?:readscore|scoreline(?:_i)?)\b�Csound score opcodez\bpyl?run[it]?\b�
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 signaturesz0|[afijkKoOpPStV\[\]]+�,z
[^\\"$%)]+r/�escape sequences�format specifiersz[\\$%)]rEz(?:[^\\%)}]|\}(?!\}))+z[\\%)]z\\(?:[\\abnrt"]|[0-7]{1,3})z)%[#0\- +]*\d*(?:\.\d+)?[diuoxXfFeEgGaAcs]z%%z\w+�prints quoted stringz\\\\[aAbBnNrRtT]z%[!nNrRtT]|[~^]{1,2}�Csound scorez([^}]+)|\}(?!\})�Python�Lua)rDr\rZr[rir-r.rkrlrdrcrermrfrnrgrorhrpN)%r4r5r6rFrGrHrI�setrLrRrYrrrrJrrr
ZDeclarationZVariableZGlobalr
rrZPseudorVZInstancerOr:ZEscapeZInterpolrrrrrr<r=r=r=r>r�s�

�
������




�$����	�	���
����
��
��
���c@s�eZdZdZdZddgZdgZdejfdej	fde
fd	ejd
fdejdfd
ejdfdejdfdejfgdejdfde
e�fgdejdfde
e�fgdejdfde
e�fgde
fdejdfdejdfgde
fdedfdedfdedfgd �Zd!S)"rzX
    For `Csound <https://csound.github.io>`_ documents.

    .. versionadded:: 2.1
    zCsound Documentzcsound-documentz
csound-csdz*.csdz/[*](.|\n)*?[*]/rz[^/;<]+|/(?!/)z<\s*CsInstruments)�	orchestra�tagz<\s*CsScore)�scorersz<\s*[Hh][Tt][Mm][Ll])�HTMLrsz<\s*[\w:.-]+rsz<\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>]+)rDrrrtrursrvN)r4r5r6rFrGrHrIrr7r8rrZTagrrrrZ	Attributerr<r=r=r=r>r�s@



�

�

�

�

���)$rFrWZpygments.lexerrrrrrrZpygments.tokenrr	r
rrr
rrrrZ pygments.lexers._csound_builtinsrrZpygments.lexers.htmlrZpygments.lexers.pythonrZpygments.lexers.scriptingr�__all__r8�newlinerrrrr=r=r=r>�<module>s
 0
`IM