Your IP : 216.73.216.213
B
̽�\KA � @ s� d Z ddlZddlmZmZmZmZmZmZ ddl m
Z
mZmZm
Z
mZmZmZmZmZmZ ddlmZmZ ddlmZ ddlmZ ddlmZ d d
dgZdee
je�fZG d
d� de�Z G dd � d e �Z!G dd
� d
e �Z"G dd� de�Z#dS )z�
pygments.lexers.csound
~~~~~~~~~~~~~~~~~~~~~~
Lexers for Csound languages.
:copyright: Copyright 2006-2019 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� e Zd Zdefdejfdejfdeee�fgdej fdej dfdej d fd
ej dfge
d�d
edfgdefe
d�deej e�dfdej dfge
d�dej fdefdedfgdefe
d�dedfgdej fdej fdedfge
d�dej dfgdeej e�dfdej fgdej fdefded fd!ed"fd#ej d$fdedfgd%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.ejfgg d/�Zd0S )1�CsoundLexerz[ \t]+z/[*](?:.|\n)*?[*]/z(?:;|//).*$z(\\)(\n)z)#(?:e(?:nd(?:if)?|lse)\b|##)|@@?[ \t]*\d+z#includezinclude directivez
#[ \t]*definezdefine directivez#(?:ifn?def|undef)\bzmacro directive�
whitespacez
([^ \t]).*?\1z#popz\nz([A-Z_a-z]\w*)(\())z#popzmacro parameter name listz[A-Z_a-z]\w*)z#popzbefore macro bodyz['#]z\)�#)z#popz
macro bodyz(?:\\(?!#)|[^#\\]|\n)+z\\#z(?<!\\)#z(\$[A-Z_a-z]\w*\.?)(\()zmacro parameter value listz\$[A-Z_a-z]\w*(?:\.|\b)z(?:[^\'#"{()]|\{(?!\{))+�"z#macro parameter value quoted stringz\{\{z#macro parameter value braced stringz\(z#macro parameter value parentheticalz\\[#'()]z[#'()]z
quoted stringz
braced stringz(?:[^\\()]|\\\))+z#pushz
macro usesz2\d+[Ee][+-]?\d+|(\d+\.\d*|\d*\.\d+)([Ee][+-]?\d+)?z(0[Xx])([0-9A-Fa-f]+)z\d+)r zpreprocessor directiveszinclude directivezdefine directivezmacro parameter name listzbefore macro bodyz
macro bodyzmacro directivez
macro useszmacro parameter value listz#macro parameter value quoted stringz#macro parameter value braced stringz#macro parameter value parentheticalzwhitespace and macro uses�numbersz
braced stringN)�__name__�
__module__�__qualname__r r � Multiline�Singler r �Preprocr r r r r ZFloatr
�TypeZHex�Integer�tokens� r( r( �G/opt/alt/python37/lib/python3.7/site-packages/pygments/lexers/csound.pyr sf
r c @ s� e Zd ZdZdZddgZdgZdefed�ed�d e fd
e j
fdee ej
�fde d
fed�defdefdedfdejdfged�dejfdedfgdedfdefed�defged�dej
dfged�dejdfgdejdfed�gdedfd efgd!�Zd"S )#r zU
For `Csound <https://csound.github.io>`_ scores.
.. versionadded:: 2.1
zCsound Scorezcsound-scorez
csound-scoz*.scoz\nzwhitespace and macro useszpreprocessor directivesz[abCdefiqstvxy]�zz([nNpP][pP])(\d+)z[mn]zmark statementr z[!+\-*/^%&|<>#~.]z[()\[\]]r z
quoted stringz\{zloop after left bracez[A-Z_a-z]\w*z#popz[^"$]+z
macro usesz[$]z\d+)z#popzloop after repeat count)z#pop�loopz\}�rootz\}\}z
[^}]|\}(?!\}))r, zmark statementz
quoted stringzloop after left bracezloop after repeat countr+ z
braced stringN)r r r! �__doc__�name�aliases� filenamesr r r
ZConstantr r r&