3
V'ícÈ ã @ s d Z ddlZddlmZmZmZmZmZmZm Z ddl
mZmZm
Z
mZmZmZmZmZ ddlmZmZ dgZG dd deZdS )zË
pygments.lexers.ada
~~~~~~~~~~~~~~~~~~~
Lexers for Ada family languages.
:copyright: Copyright 2006-2022 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 Zd ZdZdZdddgZdddgZd gZej ej
B Zd
efde
jfd
efdejd
fdeejeejdfdejfdeejefdeejedfdeejee
jfdejfeeddejfdejfdejfdejdfdejdfdeejedfdeejeeeejfd ejfd!eejeeeejfeeddd"ejfd#efe d$e d%d&ej!fd'eee"e#fd(efd)efd*efgd+e$j%fd,e$j&fd-e$j'fgd.eeej(fgd/edOfd2ed0fd3ejd0fd4ej)fe d5gd6ejfd7ej)fd8efd2ed0fgd2ed0fd/ed1fd9ed1fd:ejfdejdPfd;ejd<fd=eejed0fe d5gd2ed0fd>eejeejfe d5gd?ejd0fe d5gd@ed0fe*d0gdAed0fdBed0fdCej+fdDefdEejfe d5gdFejfdGejfdHejd0fd2ed0fd/edIfdJej,fe d5gdKeej+eefdLefdAed0fe d5gdMZ-dNS )Qr z9
For Ada source code.
.. versionadded:: 1.3
ZAdaZadaZada95Zada2005z*.adbz*.adsz*.adaz
text/x-adaz[^\S\n]+z--.*?\nzfunction|procedure|entryÚ
subprogramz(subtype|type)(\s+)(\w+)Útype_defztask|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)\bzgeneric|privateÚpackagezarray\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ú;zis\bz"[^"]+"|\w+Úrootz(if|case|record|loop|select)z"[^"]+"|[\w.]+z\s+z\[zwith|and|usezrecord\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Úbodyzis\s+new|renamesÚisÚpackage_instantiationz([\w.]+)z("[^"]+"|\w+)(\s+)(=>)z[\w.\'"])r! r r r r r r r"