
    |e                         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e      Zy)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                       e Zd ZdZdZg dZg dZdgZej                  ej                  z  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      ej$                  fdej2                  fdej                   fdej                   dfdej&                  dfd eej4                  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      ej&                  fdef e d        e d!      d"ejB                  fd# ee e"e#            fd$efd%efd&efgd'e$jJ                  fd(e$jL                  fd)e$jN                  fgd* eeejP                        fgd+ed,fd-ed.fd/ej&                  d.fd0ejR                  f e d1      gd2ej&                  fd3ejR                  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jV                  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jX                  f e d1      gdI eejV                  ee      fdJefd?ed.f e d1      gdKZ-yL)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   	Characterr   r   r   HexFloatInteger	AttributeFunctionr	   VariableClasstokens     5/usr/lib/python3/dist-packages/pygments/lexers/ada.pyr   r      s    D)G+IILL2==(E $($('*=*=|L(g))4>
L 3 34)<)<d CDHW%5%5t<eD"HW-=-=t-4__%> ?#W%5%56<.=<hmmL!4!45,,i8));7'*;*;T!BHM,dmmT;&&() $@djj$T7;K;KLN <e< K I(()$d!<=.<H%TNI%
N &vzz2 &,,/(
 (;?@
 K!89;'g&&/T]]+FO
 ,W-=-=>.TN+v&	
 ;'K/K/g../))+@A'**\; (7+;+;["I6RFO	
 ;'!8GLL$@P@P#QRFO
 G,,f5FO
 f%FO	
 K(K(T]]#%*G,<,<=FO
 W(() '"2"237##V,+v&K!89$**%FO
 'k(RS$K(FO	"
MlFrK   )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   rK   rL   <module>rQ      sE    
     D,zz zrK   