§
    XŠtjx  ã                   óp   — 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dS )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                   ó&  — 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j        f ed*d(¬)¦  «        ej        fd+ej        fgd,œ	Zd-„ Z d.S )/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     úT/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/pygments/lexers/oberon.pyÚanalyse_textz!ComponentPascalLexer.analyse_textj   sZ   € ð ˆØ�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      s6  € € € € € ðð ð €DØ  $Ð'€GØ˜Ð!€IØ*Ð+€IØ
)€CØ€MàŒL˜2œ9Ñ$€Eð ˆG�LÑ!Ô!ØˆG�JÑÔØˆG�MÑ"Ô"ØˆG�MÑ"Ô"ØˆG�IÑÔØˆG�KÑ Ô ØˆG�JÑÔØˆG�MÑ"Ô"ð	
ð �TˆNØ�TˆNð
ð
 " 7Ô#4Ð5ð
ð
   Ð-ð
ð ˜fœjÐ)Ø ¤Ð,Ø)¨6¬<Ð8Ø ¤Ð-Ø˜œÐ'ð
ð ˜6Ð"Ø˜6Ð"ð
ð �hÐØ�hÐà˜Ð!à�HÐà�8Ðà�8Ðà�HÐà�hÐØ�HÐð!
ð& # DÐ)ð
ð ˆUð ð  ð!ñ !ô !ð #*¤,ð0ð ˆUð 	ð  ð	!ñ 	!ô 	!ð #*Ô"2ð	4ð '¨Ô(8Ð9ð
ðmGð 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Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð "Ð
"€ðdð dð dð dð d˜:ñ dô dð dð dð drl   