o
    ‡ÎÖa"!  ã                   @   sn   d Z ddl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mZ dgZG dd„ deƒZG dd„ deƒZdS )	a  
    pygments.lexers.slash
    ~~~~~~~~~~~~~~~~~~~~~

    Lexer for the `Slash <https://github.com/arturadib/Slash-A>`_ programming
    language.

    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
é    )ÚExtendedRegexLexerÚbygroupsÚDelegatingLexer)	ÚNameÚNumberÚStringÚCommentÚPunctuationÚOtherÚKeywordÚOperatorÚ
WhitespaceÚ
SlashLexerc                   @   s$  e Zd ZdZdd„ Zdd„ Zdejedƒfdejedƒfd	ejfd
ejedƒfde	fgde
jedƒfde
edƒfde
jdfde
fgde
jedƒfde
jedƒfde
jedƒfde
jedƒfde
jedƒfde
jedƒfgde
jedƒfde
jfde
jdfde
jfgde
jdfde
jfde
jdfgg dejedƒf‘de
edƒf‘de
f‘de
jed ƒf‘d!ejf‘d"ejf‘d#ejf‘d$ejf‘d%ejf‘d&e ejf‘d'e ejf‘d(e ejf‘d)e ejf‘d*eeeejƒf‘d+e ef‘d,e ef‘d-eeeejeeeejƒf‘d.eeeejƒf‘d/e ef‘d0e ef‘d1e ef‘d2e ef‘d3e ef‘d4e ef‘d5e ef‘d6e ef‘d7e ef‘d8e ef‘d9e ef‘d:e ef‘d;e ef‘d<e ef‘d=e ef‘d>e ef‘d?e ef‘d@e ef‘dAe ef‘dBe ef‘dCe ef‘def‘dDef‘dEe ejjf‘dFe ejjf‘dGe ejf‘dHe ef‘dIe ejjf‘dJe ejjf‘dKef‘dLef‘dMef‘dNef‘dOef‘dPef‘dQef‘dRef‘dSef‘dTef‘dUef‘dVef‘dWef‘dXef‘dYef‘dZef‘d[ef‘d\ef‘d]ef‘d^ef‘d_ef‘d`ef‘daef‘dbef‘dcef‘ddef‘deef‘dfef‘dgef‘dhef‘dief‘djef‘dkef‘dlef‘dmef‘dnef‘doef‘dpef‘dqef‘dref‘dsef‘dtef‘duef‘dvef‘dwef‘dxef‘dyef‘dzef‘d{ef‘d|ef‘dHejf‘d}œZd~S )ÚSlashLanguageLexerz(?=[^a-zA-Z_0-9])c                 C   s   d| fS )Nú#pop© )Ú	new_stater   r   ú7/usr/lib/python3/dist-packages/pygments/lexers/slash.pyÚ
move_state   s   zSlashLanguageLexer.move_statec                 c   sH   � t |jƒdkr|jd dkr|j ¡  | ¡ tjdfV  | ¡ |_d S )Né   éþÿÿÿÚstringú})ÚlenÚstackÚpopÚstartr   ÚInterpolÚendÚpos)ÚlexerÚmatchÚctxr   r   r   Úright_angle_bracket   s   €

z&SlashLanguageLexer.right_angle_bracketz<%=Úslashz<%!!z<%#.*?%>z<%z.|\nz\\Ústring_ez\"z#\{Únr   ÚtÚrÚezx[a-fA-F0-9]{2}Ú.z}[a-z]*z\\(.|\n)ú{Úregexp_rr   z%>Úrootz'[a-zA-Z0-9_]+z%r{Úregexpz	/\*.*?\*/z(#|//).*?\nz-?[0-9]+e[+-]?[0-9]+z-?[0-9]+\.[0-9]+(e[+-]?[0-9]+)?z-?[0-9]+ÚnilÚtrueÚfalseÚselfz"(class)(\s+)([A-Z][a-zA-Z0-9_\']*)ÚclassÚextendsz{(def)(\s+)(self)(\s*)(\.)(\s*)([a-z_][a-zA-Z0-9_\']*=?|<<|>>|==|<=>|<=|<|>=|>|\+|-(self)?|~(self)?|\*|/|%|^|&&|&|\||\[\]=?)zg(def)(\s+)([a-z_][a-zA-Z0-9_\']*=?|<<|>>|==|<=>|<=|<|>=|>|\+|-(self)?|~(self)?|\*|/|%|^|&&|&|\||\[\]=?)ÚdefÚifÚelsifÚelseÚunlessÚforÚinÚwhileÚuntilÚandÚorÚnotÚlambdaÚtryÚcatchÚreturnÚnextÚlastÚthrowÚuseÚswitchu   Î»Ú__FILE__Ú__LINE__z[A-Z][a-zA-Z0-9_\']*z[a-z_][a-zA-Z0-9_\']*z@[a-z_][a-zA-Z0-9_\']*z@@[a-z_][a-zA-Z0-9_\']*z\(z\)z\[z\]z\{z\}ú;ú,z<<=z>>=z<<z>>z==z!=z=>ú=z<=>z<=z>=ú<ú>z\+\+z\+=z-=z\*\*=z\*=z\*\*z\*z/=z\+ú-ú/z%=ú%z^=z&&=z&=z&&ú&z\|\|=z\|=z\|\|z\|ú!z\.\.\.z\.\.z\.z::ú:z(\s|\n)+)r-   r   r%   r.   r,   r$   N) Ú__name__Ú
__module__Ú__qualname__Ú_nkwr   r#   r   ÚPreprocÚ	Multiliner
   r   ÚEscaper   ÚRegexÚSingler   ÚFloatÚIntegerr   ÚBuiltinr   r   r   ÚClassr	   ÚFunctionÚPseudoÚConstantÚVariableÚInstancer   Útokensr   r   r   r   r      sÖ   	û
üú	
ü

ýÿþýüûúùø	÷
öõôóÿò
ð
ïÿîÿì
ê
é
è
ç
æ
å
ä
ã
â
á
 à
!ß
"Þ
#Ý
$Ü
%Û
&Ú
'Ù
(Ø
)×
*Ö+Õ,Ô-Ó.Ò/Ñ
0Ð1Ï2Î3Í4Ì5Ë6Ê7É8È9Ç:Æ;Å<Ä=Ã>Â?Á@ÀA¿B¾C½D¼E»FºG¹H¸I·J¶KµL´M³N²O±P°Q¯R®S­T¬U«VªW©X¨Y§Z¦[¥\¤]£^¢_¡` aŸbžc�dœe›
ßr   c                       s0   e Zd ZdZdZdgZdgZ‡ fdd„Z‡  ZS )r   zN
    Lexer for the Slash programming language.

    .. versionadded:: 2.4
    ÚSlashr$   z*.slac                    s&   ddl m} tƒ j|tfi |¤Ž d S )Nr   )Ú	HtmlLexer)Úpygments.lexers.webrk   ÚsuperÚ__init__r   )r2   Úoptionsrk   ©Ú	__class__r   r   rn   ¶   s   zSlashLexer.__init__)	rW   rX   rY   Ú__doc__ÚnameÚaliasesÚ	filenamesrn   Ú__classcell__r   r   rp   r   r   «   s    N)rr   Úpygments.lexerr   r   r   Úpygments.tokenr   r   r   r   r	   r
   r   r   r   Ú__all__r   r   r   r   r   r   Ú<module>   s    , 