3
V'ícbB ã @ sò d Z ddlZddlmZmZmZmZmZmZ ddl m
Z
mZmZm
Z
mZmZmZmZmZmZ ddlmZmZmZ ddlmZ ddlmZ ddlmZ d d
dgZdee
jefZ G d
d deZ!G dd d e!Z"G dd
d
e!Z#G dd deZ$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 @ sø e Zd ZdZdefdejfdejfdee efgdej
fdej
dfd ej
d
fdej
dfd
ej
dfgeddedfgedded6fgdefeddeej
e
d7fdej
d8fgeddej
fde
fde
d9fgdefedde
d:fgdej
fdej
fde
dfgeddej
dfgd eej
e
d!fd"ej
fgd#ej
fde
fded$fd%ed&fd'ej
d(fde
dfgd)ej
fd*efedgd)ej
fd*efed+gd,ej
fd'ej
d-fdej
dfgeded.gd/ejfd0eejejfd1ejfgdedfd2efed.d3efgg d4Zd5S );ÚCsoundLexerzhttps://csound.com/z[ \t]+z/[*](?:.|\n)*?[*]/z(?:;|//).*$z(\\)(\n)z)#(?:e(?:nd(?:if)?|lse)\b|##)|@@?[ \t]*\d+z#includestrzincludestr directivez#includezinclude directivez
#[ \t]*definezdefine directivez#(?:ifn?def|undef)\bzmacro directiveÚ
whitespacez
([^ \t]).*?\1ú#popú"ú
quoted stringz\nz([A-Z_a-z]\w*)(\()úmacro parameter name listz[A-Z_a-z]\w*úbefore macro bodyz['#]z\)ú#ú
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
braced stringz(?:[^\\()]|\\\))+z#pushz
macro usesz2\d+[Ee][+-]?\d+|(\d+\.\d*|\d*\.\d+)([Ee][+-]?\d+)?z(0[Xx])([0-9A-Fa-f]+)z\d+z[^"$]+z[$])r zpreprocessor directiveszinclude directivezincludestr 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
quoted stringz
braced stringN)r r )r r )r r! )r r! )r r# )Ú__name__Ú
__module__Ú__qualname__Úurlr r Ú MultilineÚSingler r ÚPreprocr r r r r ZFloatr