3

V'íc-ã@sldZddlmZmZmZddlmZmZmZm	Z	m
Z
mZmZm
Z
ddgZGdd„deƒZGdd„deƒZdS)	zò
    pygments.lexers.verification
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Lexer for Intermediate Verification Languages (IVLs).

    :copyright: Copyright 2006-2022 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ÖeZdZdZdZdZdgZdgZdefdefdefd	e	j
fd
e	jfde	jdfe
d0ddefe
d1ddejfe
d2ddejfed#ƒd$efd%ejfd&efd'efgd(e	jfde	jd)fd*e	jd+fd,e	jfgd-ejfgd.œZd/S)3r
z<
    For Boogie source code.

    .. versionadded:: 2.1
    ZBoogiez-https://boogie-docs.readthedocs.io/en/latest/Zboogiez*.bplz\nz\s+z\\\nz
//[/!](.*?)\nz	//(.*?)\nz/\*ÚcommentÚaxiomÚbreakÚcallÚensuresÚelseÚexistsÚfunctionÚforallÚifÚ	invariantÚmodifiesÚ	procedureÚrequiresÚthenÚvarÚwhilez\b)ÚsuffixÚconstÚboolÚintÚrefÚnumbersz((>=|<=|:=|!=|==>|&&|\|\||[+/\-=>*<\[\]])z\{.*?\}z([{}():;,.])z[a-zA-Z_]\w*z[^*/]+z#pushz\*/z#popz[*/]z[0-9]+)Úrootrr%N)rrrrrrrrrrrrrrrr)r!)r"r#r$)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚurlÚaliasesÚ	filenamesrrÚDocÚSingleÚ	MultilinerrZReservedÚTyperrrÚEmphr
rr	ÚIntegerÚtokens©r6r6ú@/tmp/pip-build-gk9425m9/Pygments/pygments/lexers/verification.pyr
s8




c;@sÔeZdZdZdZdgZddgZdefdefdefd	ej	fd
ej
fdejdfedXdAdBe
fedYdAdBejfedZdAdBe
jfedKƒdLefdMejfdNefdOefgdPejfdejdQfdRejdSfdTejfgdUejfgdVœZdWS)[rz<
    For Silver source code.

    .. versionadded:: 2.2
    ZSilverZsilverz*.silz*.vprz\nz\s+z\\\nz
//[/!](.*?)\nz	//(.*?)\nz/\*rÚresultÚtrueÚfalseÚnullÚmethodrÚ	predicateÚprogramÚdomainrrÚreturnsÚfieldÚdefineÚfoldÚunfoldÚinhaleÚexhaleÚnewÚassertÚassumeÚgotorrÚelseifrÚfreshÚconstrainingÚSeqÚSetÚMultisetÚunionÚintersectionÚsetminusÚsubsetÚ	unfoldingÚinÚoldrrÚaccÚwildcardÚwriteÚnoneÚepsilonÚpermÚuniqueÚapplyÚpackageÚfoldingÚlabelÚforpermz\b)r rrrÚIntÚPermÚBoolÚRefÚRationalr%z[!%&*+=|?:<>/\-\[\]]z\{.*?\}z([{}():;,.])z[\w$]\w*z[^*/]+z#pushz\*/z#popz[*/]z[0-9]+)r&rr%N)4r8r9r:r;r<rr=r>r?rrr@rArBrCrDrErFrGrHrIrJrrrKrrLrMrNrOrPrQrRrSrTrUrVrWrrrXrYrZr[r\r]r^r_r`rarbrc)rrr)rdrerfrgrh)r'r(r)r*r+r-r.rrr/r0r1rrrZ	Decoratorr2rrrr3r
r	r4r5r6r6r6r7rBs@




N)r*Zpygments.lexerrrrZpygments.tokenrrrrr	r
rrÚ__all__r
rr6r6r6r7Ú<module>	s
(0