a
    ñ»jt  ã                   @   sf   d Z ddlZddlmZmZmZmZ ddlmZm	Z	m
Z
mZmZmZmZmZ dgZG dd„ deƒZdS )zÙ
    pygments.lexers.supercollider
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Lexer for SuperCollider

    :copyright: Copyright 2006-present by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
é    N)Ú
RegexLexerÚincludeÚwordsÚdefault)ÚTextÚCommentÚOperatorÚKeywordÚNameÚStringÚNumberÚPunctuationÚSuperColliderLexerc                   @   sF  e Zd ZdZdZdZddgZddgZdd	gZd
Z	e
je
jB Zdefdefdejfdejfgedƒdejdfdedfedƒgdedfgdedfedƒdedfdedfdefeddd�edfeddd�ejdfeddd�ejfeddd�ejfed dd�ejfd!ejfd"ej fd#e!j"fd$e!j#fd%e!j$fd&ej%fd'ejfgd(œZ&d)d*„ Z'd+S ),r   z(
    For SuperCollider source code.
    ÚSuperColliderzhttp://supercollider.github.io/ÚsupercolliderÚscz*.scz*.scdzapplication/supercolliderztext/supercolliderz2.1z\s+z<!--z//.*?\nz	/\*.*?\*/Úcommentsandwhitespacez3/(\\.|[^[/\\\n]|\[(\\.|[^\]\\\n])*])+/([gim]+\b|\B)ú#popz(?=/))r   Úbadregexz\nz^(?=\s|/|<!--)Úslashstartsregexz@\+\+|--|~|&&|\?|:|\|\||\\(?=\n)|(<<|>>>?|==?|!=?|[-<>+*%&|^/])=?z[{(\[;,]z[})\].])ÚforÚinÚwhileÚdoÚbreakÚreturnÚcontinueÚswitchÚcaser   ÚifÚelseÚthrowÚtryZcatchÚfinallyÚnewÚdeleteZtypeofZ
instanceofZvoidz\b)Úsuffix)ÚvarZletÚwithÚfunctionÚarg)z	(abstractÚbooleanÚbyteÚcharÚclassÚconstZdebuggerÚdoubleÚenumZexportZextendsÚfinalÚfloatZgotoZ
implementsÚimportÚintZ	interfaceÚlongÚnativeÚpackageÚprivateZ	protectedÚpublicÚshortZstaticÚsuperZsynchronizedZthrowsÚ	transientZvolatile)ÚtrueÚfalseÚnilÚinf)ÚArrayÚBooleanÚDateÚErrorÚFunctionr   ZObjectZPackagesZRegExpr   ZisFiniteZisNaNZ
parseFloatZparseIntr<   ÚthisFunctionDefZthisFunctionZ
thisMethodZthisProcessZ
thisThreadÚthisz[$a-zA-Z_]\w*z\\?[$a-zA-Z_]\w*z%[0-9][0-9]*\.[0-9]+([eE][0-9]+)?[fd]?z0x[0-9a-fA-F]+z[0-9]+z"(\\\\|\\[^\\]|[^"\\])*"z'(\\\\|\\[^\\]|[^'\\])*')r   r   r   Úrootc                 C   s   d| v sd| v rdS dS )z@We're searching for a common function and a unique keyword here.ZSinOscrG   gš™™™™™¹?N© )ÚtextrJ   rJ   úCE:\soccer\ml_env\Lib\site-packages\pygments/lexers/supercollider.pyÚanalyse_text[   s    zSuperColliderLexer.analyse_textN)(Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚurlÚaliasesÚ	filenamesÚ	mimetypesÚversion_addedÚreÚDOTALLÚ	MULTILINEÚflagsr   r   ÚSingleÚ	Multiliner   r   ÚRegexr   r   r   r   r	   ÚDeclarationÚReservedÚConstantr
   ÚBuiltinÚOtherÚSymbolr   ÚFloatÚHexÚIntegerÚDoubleÚtokensrM   rJ   rJ   rJ   rL   r      st   üÿûÿÿüû
ÿúùûúÛï:)rQ   rX   Zpygments.lexerr   r   r   r   Zpygments.tokenr   r   r   r	   r
   r   r   r   Ú__all__r   rJ   rJ   rJ   rL   Ú<module>   s
   
(