o
    ‡ÎÖa«  ã                   @   sR   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 dgZG dd„ deƒZdS )zç
    pygments.lexers.yang
    ~~~~~~~~~~~~~~~~~~~~

    Lexer for the YANG 1.1 modeling language. See :rfc:`7950`.

    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
é    )Ú
RegexLexerÚbygroupsÚwords)ÚTextÚTokenÚNameÚStringÚCommentÚNumberÚ	YangLexerc                   @   s‚  e Zd ZdZdZdgZdgZdgZdZdZ	dZ
d	Zd
ZdZdZdZdZdZdZdefdedfdedfdefgdejfdejfdejfdejfdejfdedfdefdeejejejƒfdej fd e!j"fd!e!j#fe$eed"�ej%fe$e	ed"�ej%fe$e
ed"�ej%fe$eed"�ej%fe$eed"�ej%fe$eed"�ej%fe$eed"�ej%fe$eed"�ej%fe$eed"�ej&fe$eed"�ej&fd#ejfgd$œZ'd%S )&r   zo
    Lexer for `YANG <https://tools.ietf.org/html/rfc7950/>`_, based on RFC7950

    .. versionadded:: 2.7
    ÚYANGÚyangz*.yangzapplication/yang)ÚmoduleÚ	submodule)z
belongs-toÚ	namespaceÚprefixzyang-version)ÚcontactÚdescriptionÚorganizationÚ	referenceÚrevision)ÚimportÚincludezrevision-date)ÚactionÚargumentÚaugmentÚ	deviationÚ	extensionÚfeatureÚgroupingÚidentityz
if-featureÚinputÚnotificationÚoutputÚrpcÚtypedef)ÚanydataÚanyxmlÚcaseÚchoiceÚconfigÚ	containerÚdeviateÚleafz	leaf-listÚlistÚmustÚpresenceÚrefineÚusesÚwhen)ÚbaseÚbitÚdefaultÚenumzerror-app-tagzerror-messagezfraction-digitsÚlengthzmax-elementszmin-elementsÚmodifierz
ordered-byÚpathÚpatternÚpositionÚrangezrequire-instanceÚstatusÚtypeÚunitsÚvaluezyin-element)ÚkeyÚ	mandatoryÚunique)ÚaddÚcurrentÚdeleteÚ
deprecatedÚfalsezinvert-matchÚmaxÚminznot-supportedÚobsoleteÚreplaceÚtrueÚ	unboundedÚuser)ÚbinaryÚbitsÚbooleanÚ	decimal64ÚemptyÚenumerationÚidentityrefzinstance-identifierÚint16Úint32Úint64Úint8ÚleafrefÚstringÚuint16Úuint32Úuint64Úuint8Úunionz(?=[^\w\-:])z[^*/]z/\*z#pushz\*/z#popz[*/]z\s+z[{};]+z'(?<![\-\w])(and|or|not|\+|\.)(?![\-\w])z"(?:\\"|[^"])*?"z'(?:\\'|[^'])*?'Úcommentsz//.*?$z2(?:^|(?<=[\s{};]))([\w.-]+)(:)([\w.-]+)(?=[\s{};])z)([0-9]{4}\-[0-9]{2}\-[0-9]{2})(?=[\s{};])z([0-9]+\.[0-9]+)(?=[\s{};])z([0-9]+)(?=[\s{};]))Úsuffixz[^;{}\s\'"]+)rc   ÚrootN)(Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚaliasesÚ	filenamesÚ	mimetypesÚTOP_STMTS_KEYWORDSÚMODULE_HEADER_STMT_KEYWORDSÚMETA_STMT_KEYWORDSÚLINKAGE_STMTS_KEYWORDSÚBODY_STMT_KEYWORDSÚDATA_DEF_STMT_KEYWORDSÚTYPE_STMT_KEYWORDSÚLIST_STMT_KEYWORDSÚCONSTANTS_KEYWORDSÚTYPESÚsuffix_re_patternr	   r   Ú
Whitespacer   ÚPunctuationÚOperatorr   ÚDoubleÚSingler   r   Ú	NamespaceÚVariableÚLabelr
   ÚFloatÚIntegerr   ÚKeywordÚClassÚtokens© r†   r†   ú6/usr/lib/python3/dist-packages/pygments/lexers/yang.pyr      s`    üÿá
ùN)ri   Úpygments.lexerr   r   r   Úpygments.tokenr   r   r   r   r	   r
   Ú__all__r   r†   r†   r†   r‡   Ú<module>   s
    
 