File: //usr/lib/python3/dist-packages/pygments/lexers/__pycache__/csound.cpython-310.pyc
o
���aAB � @ s� d Z ddlZddlmZmZmZmZmZmZ ddl m
Z
mZmZm
Z
mZmZmZmZmZmZ ddlmZmZmZ ddlmZ ddlmZ ddlmZ g d �Zd
ee
je�fZ G dd� de�Z!G d
d� de!�Z"G dd� de!�Z#G dd� de�Z$dS )z�
pygments.lexers.csound
~~~~~~~~~~~~~~~~~~~~~~
Lexers for Csound languages.
:copyright: Copyright 2006-2021 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
@ s< e Zd Zi ddefdejfdejfdeee�fg�ddej fdej d fd
ej dfdej d
fdej dfg�de
d�dedfg�d e
d�dedfg�d
defe
d�deej e�dfdej dfg�de
d�dej fdefdedfg�ddefe
d�dedfg�dd ej fd!ej fd"edfg�de
d�dej dfg�d#d$eej e�d%fd&ej fg�d%d'ej fdefded(fd)ed*fd+ej d,fdedfg�d(d-ej fd.e
fe
d/�g�d*d-ej fd.e
fe
d0�g�d,d1ej fd+ej d2fdej dfg�d3e
d�e
d#�g�d4d5ejfd6eejej�fd7ejfg�d/dedfd8efe
d#�d9efg�d0g i�Zd:S );�CsoundLexer�
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'