Ë
    !täix  ã                   ó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-present 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                   óV  — e Zd ZdZdZddgZddgZdgZdZd	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j8                  f ed*d(¬)«      ej:                  fd+ej<                  fgd,œ	Zd-„ Z y.)/r   z+
    For Component Pascal source code.
    zComponent PascalÚcomponentpascalÚcpz*.cpz*.cpsztext/x-component-pascalzhttps://blackboxframework.orgz2.1Ú
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   rP   © )ÚtextÚresults     úe/Volumes/fast/ai/experiments/MLX_z-image/.venv/lib/python3.12/site-packages/pygments/lexers/oberon.pyÚanalyse_textz!ComponentPascalLexer.analyse_textj   sP   € ð ˆØ�d‰?Ø�d‰NˆFØ�D‰=Ø�d‰NˆFØ˜$ÑØ�d‰NˆFØ�tÑØ�d‰NˆFàˆó    N)!Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚaliasesÚ	filenamesÚ	mimetypesÚurlÚversion_addedÚ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Ø
)€CØ€Mà�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   rw   Ú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   