o
    \h                     @   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g dZg d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d,eeej*fgd-ed.fd/ed0fd1ejd0fd2ej+fe"d3gd4ejfd5ej+fd6efd/ed0fgd/ed0fd-ed7fd8ed7fd9ejfdejd:fd;ejd<fd=eejed0fe"d3gd/ed0fd>eejeejfe"d3gd?ejd0fe"d3gd@ed0fe,d0gdAed0fdBed0fdCej-fdDefdEejfe"d3gdFejfdGejfdHejd0fd/ed0fd-edIfdJej.fe"d3gdKeej-eefdLefdAed0fe"d3gdMZ/dNS )Or   z
    For Ada source code.
    Ada)adaada95ada2005)z*.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   	Characterr   r   r   HexFloatInteger	AttributeFunctionr   VariableClasstokens rJ   rJ   V/home/air/segue/gemini/backup/venv/lib/python3.10/site-packages/pygments/lexers/ada.pyr      s    



'



	


)r-   r4   pygments.lexerr   r   r   r   r   r   r   pygments.tokenr	   r
   r   r   r   r   r   r   pygments.lexers._ada_builtinsr   r   __all__r   rJ   rJ   rJ   rK   <module>   s    
$(