U
    YSh                     @   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-2025 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dddgZdddgZd	gZd
Zd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d0eeej*fgd1ed2fd3ed4fd5ejd4fd6ej+fe"d7gd8ejfd9ej+fd:efd3ed4fgd3ed4fd1ed;fd<ed;fd=ejfdejd>fd?ejd@fdAeejed4fe"d7gd3ed4fdBeejeejfe"d7gdCejd4fe"d7gdDed4fe,d4gdEed4fdFed4fdGej-fdHefdIejfe"d7gdJejfdKejfdLejd4fd3ed4fd1edMfdNej.fe"d7gdOeej-eefdPefdEed4fe"d7gdQZ/dRS )Sr   z
    For Ada source code.
    Adaadaada95ada2005z*.adbz*.adsz*.adaz
text/x-adazhttps://www.adaic.orgz1.3z[^\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)0__name__
__module____qualname____doc__namealiases	filenames	mimetypesurlversion_added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 rI   rI   F/root/rtd-docs/venv/lib/python3.8/site-packages/pygments/lexers/ada.pyr      s   


 


'



	

)r-   r4   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   rI   rI   rI   rJ   <module>   s   
$(