U
    luf                     @   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dddgZdddg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d0fd1ed2fd3ejd2fd4ej)fe d5gd6ejfd7ej)fd8efd1ed2fgd1ed2fd/ed9fd:ed9fd;ejfdejd<fd=ejd>fd?eejed2fe d5gd1ed2fd@eejeejfe d5gdAejd2fe d5gdBed2fe*d2gdCed2fdDed2fdEej+fdFefdGejfe d5gdHejfdIejfdJejd2fd1ed2fd/edKfdLej,fe d5gdMeej+eefdNefdCed2fe d5gdOZ-dPS )Qr   z9
    For Ada source code.

    .. versionadded:: 1.3
    ZAdaZadaZada95Zada2005z*.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   ZDeclarationr   TypeZReservedZPreprocConstantr   r   r   Word	Namespacer   r   ZLabelr   r   r   Z	Characterr   r   r   ZHexZFloatZInteger	AttributeZFunctionr   VariableZClasstokens r:   r:   7/tmp/pip-unpacked-wheel-7eq1ciah/pygments/lexers/ada.pyr      s   


 


'



	

)r)   r.   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   r:   r:   r:   r;   <module>   s   
$(