o
    Ñ­ja  ã                   @   sl   d 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dgZG dd„ deƒZG dd„ deƒZdS )	zõ
    pygments.lexers.verification
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Lexer for Intermediate Verification Languages (IVLs).

    :copyright: Copyright 2006-present by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
é    )Ú
RegexLexerÚincludeÚwords)ÚCommentÚOperatorÚKeywordÚNameÚNumberÚPunctuationÚTextÚGenericÚBoogieLexerÚSilverLexerc                   @   sÚ   e Zd ZdZdZdZdgZdgZdZde	fde	fd	e	fd
e
jfde
jfde
jdfeddd�efeddd�ejfeddd�ejfedƒdefdejfdefdefgde
jfde
jdfde
jdfde
jfgdejfgdœZdS ) r   z!
    For Boogie source code.
    ÚBoogiez-https://boogie-docs.readthedocs.io/en/latest/Úboogiez*.bplz2.1ú\nú\s+ú\\\nú//[/!](.*?)\nú	//(.*?)\nú/\*Úcomment)ÚaxiomÚbreakÚcallÚensuresÚelseÚexistsÚfunctionÚforallÚifÚ	invariantÚmodifiesÚ	procedureÚrequiresÚthenÚvarÚwhileú\b©Úsuffix)Úconst)ÚboolÚintÚrefÚnumbersz((>=|<=|:=|!=|==>|&&|\|\||[+/\-=>*<\[\]])ú\{.*?\}ú([{}():;,.])z[a-zA-Z_]\w*ú[^*/]+ú#pushú\*/ú#popú[*/]ú[0-9]+©Úrootr   r/   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚurlÚaliasesÚ	filenamesÚversion_addedr   r   ÚDocÚSingleÚ	Multiliner   r   ÚReservedÚTyper   r   r   ÚEmphr
   r   r	   ÚIntegerÚtokens© rK   rK   úY/var/www/html/CropPilot/venv/lib/python3.10/site-packages/pygments/lexers/verification.pyr      sD    
üüê

üÿ
ác                   @   sÜ   e Zd ZdZdZdgZddgZdZdZde	fd	e	fd
e	fde
jfde
jfde
jdfeddd�efeddd�ejfeddd�ejfedƒdefdejfdefdefgde
jfde
jdfde
jdfde
jfgdejfgdœZd S )!r   z!
    For Silver source code.
    ÚSilverÚsilverz*.silz*.vprz&https://github.com/viperproject/silverz2.2r   r   r   r   r   r   r   )4ÚresultÚtrueÚfalseÚnullÚmethodr   Ú	predicateÚprogramÚdomainr   r&   ÚreturnsÚfieldÚdefineÚfoldÚunfoldÚinhaleÚexhaleÚnewÚassertÚassumeÚgotor'   r    Úelseifr   ÚfreshÚconstrainingÚSeqÚSetÚMultisetÚunionÚintersectionÚsetminusÚsubsetÚ	unfoldingÚinÚoldr   r   ÚaccÚwildcardÚwriteÚnoneÚepsilonÚpermÚuniqueÚapplyÚpackageÚfoldingÚlabelÚforpermr(   r)   )r$   r   r!   )ÚIntÚPermÚBoolÚRefÚRationalr/   z[!%&*+=|?:<>/\-\[\]]r0   r1   z[\w$]\w*r2   r3   r4   r5   r6   r7   r8   N)r:   r;   r<   r=   r>   r@   rA   r?   rB   r   r   rC   rD   rE   r   r   r   Ú	DecoratorrG   r   r   r   rH   r
   r	   rI   rJ   rK   rK   rK   rL   r   A   sD    
	÷	÷
æ

üÿ
ÝN)r=   Úpygments.lexerr   r   r   Úpygments.tokenr   r   r   r   r	   r
   r   r   Ú__all__r   r   rK   rK   rK   rL   Ú<module>   s    
(/