o
    Zh                     @   s   d Z ddlZddlmZmZmZ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dlmZmZ dgZG dd deZdS )z
    pygments.lexers.ada
    ~~~~~~~~~~~~~~~~~~~

    Lexers for Ada family languages.

    :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
    N)
RegexLexerincludebygroupswordsusingthisdefault)TextCommentOperatorKeywordNameStringNumberPunctuation)KEYWORD_LISTBUILTIN_LISTAdaLexerc                   @   s  e Zd ZdZdZg dZg dZdgZej	ej
B Zdefdejfdefdejd	fd
eejeejdfdejfdeejefdeejedfdeejeejfdejfeeddejfdejfdejfdejdfdejdfdeejedfdeejeeeejfdejfdeejeeeejfeedddejfdefe d e d!d"ej!fd#eee"e#fd$efd%efd&efgd'e$j%fd(e$j&fd)e$j'fgd*eeej(fgd+ed,fd-ed.fd/ejd.fd0ej)fe d1gd2ejfd3ej)fd4efd-ed.fgd-ed.fd+ed5fd6ed5fd7ejfdejd8fd9ejd:fd;eejed.fe d1gd-ed.fd<eejeejfe d1gd=ejd.fe d1gd>ed.fe*d.gd?ed.fd@ed.fdAej+fdBefdCejfe d1gdDejfdEejfdFejd.fd-ed.fd+edGfdHej,fe d1gdIeej+eefdJefd?ed.fe d1gdKZ-dLS )Mr   z9
    For Ada source code.

    .. versionadded:: 1.3
    Ada)adaada95ada2005)z*.adbz*.adsz*.adaz
text/x-adaz[^\S\n]+z--.*?\nzfunction|procedure|entry
subprogramz(subtype|type)(\s+)(\w+)type_defztask|protectedz(subtype)(\s+)z
(end)(\s+)endz(pragma)(\s+)(\w+)z(true|false|null)\bz\b)suffixz,(and(\s+then)?|in|mod|not|or(\s+else)|rem)\bzgeneric|privatepackagezarray\b	array_defz(with|use)(\s+)importz(\w+)(\s*)(:)(\s*)(constant)z<<\w+>>z0(\w+)(\s*)(:)(\s*)(declare|begin|loop|for|while))prefixr   z"[^"]*"	attributenumbersz'[^']'z(\w+)(\s*|[(,])z(<>|=>|:=|@|[\[\]]|[()|:;,.'])z
[*<>+=/&-]z\n+z[0-9_]+#[0-9a-f_\.]+#z[0-9_]+\.[0-9_]*z[0-9_]+z(')(\w+)z\()#popformal_part;r"   zis\bz"[^"]+"|\w+rootz(if|case|record|loop|select)z"[^"]+"|[\w.]+z\s+r#   z\[zwith|and|use)r"   r   zrecord\b
record_defz(null record)(;)z(\w+)(\s+)(range)z
end recordz[\w.]+z\)z\]z\w+z,|:[^=]z(in|not|null|out|access)\bbodyzis\s+new|renamesispackage_instantiationz([\w.]+)z("[^"]+"|\w+)(\s+)(=>)z[\w.\'"])r%   r!   r    r   r   r   r   r&   r   r#   r   r)   N).__name__
__module____qualname____doc__namealiases	filenames	mimetypesre	MULTILINE
IGNORECASEflagsr	   r
   Singler   Declarationr   TypeReservedPreprocConstantr   r   r   Word	Namespacer   r   Labelr   r   r   Z	Characterr   r   r   HexFloatInteger	AttributeFunctionr   VariableClasstokens rG   rG   J/var/www/html/lang_env/lib/python3.10/site-packages/pygments/lexers/ada.pyr      s    



'



	


)r-   r2   Zpygments.lexerr   r   r   r   r   r   r   Zpygments.tokenr	   r
   r   r   r   r   r   r   Zpygments.lexers._ada_builtinsr   r   __all__r   rG   rG   rG   rH   <module>   s    
$(