U
    ]g
                     @   s^   d 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.eiffel
    ~~~~~~~~~~~~~~~~~~~~~~

    Lexer for the Eiffel language.

    :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
    )
RegexLexerincludewordsbygroups)CommentOperatorKeywordNameStringNumberPunctuation
WhitespaceEiffelLexerc                   @   s   e Zd ZdZdZdZdgZdgZdgZdZ	de
fd	ejfde
fd
ejfdejfdeeje
ejfdeeje
ejfeddddejfdefdefeddejfdefdefdefdejfde
fgdejfdejfdejfdejfdejfgd Z d!S )"r   z!
    For Eiffel source code.
    ZEiffelzhttps://www.eiffel.comZeiffelz*.eztext/x-eiffelz2.0z[^\S\n]+z--.*?$z0(?i)(true|false|void|current|result|precursor)\bz(?i)(not|xor|implies|or)\bz(?i)(and)(?:(\s+)(then))?\bz(?i)(or)(?:(\s+)(else))?\b)3ZacrossZagentaliasallasZassignZattached	attributecheckclassconvertcreatedebugdeferredZ
detachableZdoelseZelseifendZensureexpandedexportZexternalZfeaturefromfrozenifZinheritinspectZ	invariantlikelocalZloopnoneZnoteZobsoleteoldonceonlyZredefinerenamerequireZrescueretryselectZseparateZthenZundefineZuntilvariantwhenz(?i)\bz\b)prefixsuffixz"\[([^\]%]|%(.|\n)|\][^"])*?\]"z"([^"%\n]|%.)*?"numbersz'([^'%]|%'|%%)'z4(//|\\\\|>=|<=|:=|/=|~|/~|[\\?!#%&@|+/\-=>*$<^\[\]])z([{}():;,.])z$([a-z]\w*)|([A-Z][A-Z0-9_]*[a-z]\w*)z([A-Z][A-Z0-9_]*)z\n+z0[xX][a-fA-F0-9]+z
0[bB][01]+z0[cC][0-7]+z!([0-9]+\.[0-9]*)|([0-9]*\.[0-9]+)z[0-9]+)rootr/   N)!__name__
__module____qualname____doc__nameurlaliases	filenames	mimetypesZversion_addedr   r   Singler   Constantr   Wordr   r   ZReservedr
   r   Charr   r	   ZClassr   ZHexZBinOctZFloatZIntegertokens r@   r@   :/tmp/pip-unpacked-wheel-zak7uw41/pygments/lexers/eiffel.pyr      sR    	
 N)r4   Zpygments.lexerr   r   r   r   Zpygments.tokenr   r   r   r	   r
   r   r   r   __all__r   r@   r@   r@   rA   <module>   s   
(