a
    T_\                     @   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-2020 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gZdg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 <https://boogie.codeplex.com/>`_ source code.

    .. versionadded:: 2.1
    ZBoogieZboogiez*.bpl\n\s+\\\n//[/!](.*?)\n	//(.*?)\n/\*comment)axiombreakZcallensureselseexistsfunctionforallif	invariantZmodifiesZ	procedurerequiresZthenvarwhile\bsuffix)Zconst)boolintrefnumbersz((>=|<=|:=|!=|==>|&&|\|\||[+/\-=>*<\[\]])\{.*?\}([{}():;,.])z[a-zA-Z_]\w*[^*/]+#push\*/#pop[*/][0-9]+rootr   r(   N)__name__
__module____qualname____doc__namealiases	filenamesr   r   DocSingle	Multiliner   r   ZReservedTyper   r   r   Emphr
   r   r	   Integertokens rA   rA   >/usr/lib/python3/dist-packages/pygments/lexers/verification.pyr      s>   


c                   @   s   e Zd ZdZdZdgZddg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   zk
    For `Silver <https://bitbucket.org/viperproject/silver>`_ source code.

    .. versionadded:: 2.2
    ZSilverZsilverz*.silz*.vprr   r   r   r   r   r   r   )4resulttrueZfalseZnullmethodr   Z	predicateZprogramZdomainr   r    returnsZfieldZdefineZfoldZunfoldZinhaleZexhalenewassertZassumeZgotor!   r   Zelseifr   ZfreshZconstrainingZSeqSetZMultisetunionintersectionZsetminusZsubsetZ	unfoldinginoldr   r   ZaccZwildcardwriteZnoneepsilonZpermuniqueZapplypackageZfoldingZlabelZforpermr"   r#   )r   r   r   )ZIntZPermZBoolZRefZRationalr(   z[!%&*+=|?:<>/\-\[\]]r)   r*   z[\w$]\w*r+   r,   r-   r.   r/   r0   r1   N)r3   r4   r5   r6   r7   r8   r9   r   r   r:   r;   r<   r   r   r   Z	Decoratorr=   r   r   r   r>   r
   r	   r?   r@   rA   rA   rA   rB   r   B   s>   
		


N)r6   Zpygments.lexerr   r   r   Zpygments.tokenr   r   r   r   r	   r
   r   r   __all__r   r   rA   rA   rA   rB   <module>   s
   
(/