Ë
    |í¼eI  ã                   óh   — d Z ddlZddl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gZ G d„ de«      Zy)zÔ
    pygments.lexers.oberon
    ~~~~~~~~~~~~~~~~~~~~~~

    Lexers for Oberon family languages.

    :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
é    N)Ú
RegexLexerÚincludeÚwords)ÚTextÚCommentÚOperatorÚKeywordÚNameÚStringÚNumberÚPunctuationÚComponentPascalLexerc                   óN  — e Zd ZdZdZddgZddgZdgZej                  ej                  z  Z ed«       ed	«       ed
«       ed«       ed«       ed«       ed«       ed«      gdefdefgdej                  fgdefgdej$                  fdej$                  fdej&                  fdej&                  fdej(                  fgdefdefgdefdefdefdefdefd efd!efd"efd#efg	d$efg ed%d&¬'«      ej4                  f ed(d&¬'«      ej6                  fd)ej8                  fgd*œ	Zd+„ Zy,)-r   zF
    For Component Pascal source code.

    .. versionadded:: 2.1
    zComponent PascalÚcomponentpascalÚcpz*.cpz*.cpsztext/x-component-pascalÚ
whitespaceÚcommentsÚpunctuationÚnumliteralsÚstringsÚ	operatorsÚbuiltinsÚidentifiersz\n+z\s+z\(\*([^$].*?)\*\)z[()\[\]{},.:;|]z[0-9A-F]+X\bz[0-9A-F]+[HL]\bz[0-9]+\.[0-9]+E[+-][0-9]+z[0-9]+\.[0-9]+z[0-9]+z	'[^\n']*'z	"[^\n"]*"z[+-]z[*/]z[=#<>]z\^ú&ú~z:=z\.\.z\$z([a-zA-Z_$][\w$]*))ÚANYPTRÚANYRECÚBOOLEANÚBYTEÚCHARÚINTEGERÚLONGINTÚREALÚSETÚ	SHORTCHARÚSHORTINTÚ	SHORTREALz\b)Úsuffix)>ÚABSÚABSTRACTÚARRAYÚASHÚASSERTÚBEGINÚBITSÚBYÚCAPÚCASEÚCHRÚCLOSEÚCONSTÚDECÚDIVÚDOÚELSEÚELSIFÚEMPTYÚENDÚENTIERÚEXCLÚEXITÚ
EXTENSIBLEÚFORÚHALTÚIFÚIMPORTÚINÚINCÚINCLÚISÚLENÚLIMITEDÚLONGÚLOOPÚMAXÚMINÚMODÚMODULEÚNEWÚODDÚOFÚORÚORDÚOUTÚPOINTERÚ	PROCEDUREÚRECORDÚREPEATÚRETURNÚSHORTr%   r&   ÚSIZEÚTHENÚTYPEÚTOÚUNTILÚVARÚWHILEÚWITHz(TRUE|FALSE|NIL|INF)\b)	Úrootr   r   r   r   r   r   r   r   c                 óR   — d}d| v r|dz  }d| v r|dz  }d| v r|dz  }d| v r|dz  }|S )zÄThe only other lexer using .cp is the C++ one, so we check if for
        a few common Pascal keywords here. Those are unfortunately quite
        common across various business languages as well.r   r.   g{®Gáz„?r<   rX   © )ÚtextÚresults     ú8/usr/lib/python3/dist-packages/pygments/lexers/oberon.pyÚanalyse_textz!ComponentPascalLexer.analyse_textj   sO   € ð ˆØ�d‰?Ø�d‰NˆFØ�D‰=Ø�d‰NˆFØ˜$ÑØ�d‰NˆFØ�D‰=Ø�d‰NˆFàˆó    N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚaliasesÚ	filenamesÚ	mimetypesÚreÚ	MULTILINEÚDOTALLÚflagsr   r   r   Ú	Multiliner   r   ÚHexÚFloatÚIntegerr   r   r
   r   r	   ÚTypeÚReservedÚConstantÚtokensrk   rg   rl   rj   r   r      sÞ  „ ñð
 €DØ  $Ð'€GØ˜Ð!€IØ*Ð+€Ià�L‰L˜2Ÿ9™9Ñ$€Eñ �LÓ!Ù�JÓÙ�MÓ"Ù�MÓ"Ù�IÓÙ�KÓ Ù�JÓÙ�MÓ"ð	
ð �TˆNØ�TˆNð
ð
 " 7×#4Ñ#4Ð5ð
ð
   Ð-ð
ð ˜fŸj™jÐ)Ø §¡Ð,Ø)¨6¯<©<Ð8Ø §¡Ð-Ø˜Ÿ™Ð'ð
ð ˜6Ð"Ø˜6Ð"ð
ð �hÐØ�hÐà˜Ð!à�HÐà�8Ðà�8Ðà�HÐà�hÐØ�HÐð!
ð& # DÐ)ð
ñ ð ð  ô!ð #*§,¡,ð0ñ ð 	ð  ô	!ð #*×"2Ñ"2ð	4ð '¨×(8Ñ(8Ð9ð
ñmG€FóRrl   )rp   ru   Úpygments.lexerr   r   r   Úpygments.tokenr   r   r   r	   r
   r   r   r   Ú__all__r   rg   rl   rj   ú<module>r„      s<   ðñó 
ç 5Ñ 5÷÷ ó ð "Ð
"€ôd˜:õ drl   