File: //opt/alt/python311/lib/python3.11/site-packages/pygments/lexers/__pycache__/csound.cpython-311.pyc
�
Y�ZgfB � �8 � d Z ddlZddlmZmZmZmZmZmZ ddl m
Z
mZmZm
Z
mZmZmZmZmZmZ ddlmZmZmZ ddlmZ ddlmZ ddlmZ g d �Zd
ee
j e� � fZ G d� de� � Z! G d
� de!� � Z" G d� de!� � Z# G d� de� � Z$dS )z�
pygments.lexers.csound
~~~~~~~~~~~~~~~~~~~~~~
Lexers for Csound languages.
:copyright: Copyright 2006-2024 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 Zd ZdZi ddefdej fdej fd ee e� � fg�ddej
fd ej
d
fdej
dfd
ej
dfdej
dfg�d ed� � dedfg�d
ed� � dedfg�ddef ed� � d eej
e
� � dfdej
dfg�d ed� � dej
fde
fde
dfg�ddef ed� � de
dfg�d d!ej
fd"ej
fd#e
dfg�d ed� � dej
dfg�d$d% eej
e
� � d&fd'ej
fg�d&d(ej
fde
fded)fd*ed+fd,ej
d-fde
dfg�d)d.ej
fd/ef ed0� � g�d+d.ej
fd/ef ed1� � g�d-d2ej
fd,ej
d3fdej
dfg�d4 ed� � ed$� � g�d5d6ej fd7 eej ej � � fd8ej fg�d0dedfd9ef ed$� � d:efg�d1g i�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'