
    |e                     X    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e      Zy)z
    pygments.lexers.yang
    ~~~~~~~~~~~~~~~~~~~~

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

    :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
    )
RegexLexerbygroupswords)TextTokenNameStringCommentNumber	YangLexerc                   j   e Zd 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j0                  fdej2                  fdej6                  fdej8                  fdedfdefd eej>                  ej0                  ej@                        fd ejB                  fd!e"jF                  fd"e"jH                  f e%e	e#      ejL                  f e%e
e#      ejL                  f e%ee#      ejL                  f e%ee#      ejL                  f e%ee#      ejL                  f e%ee#      ejL                  f e%ee#      ejL                  f e%ee#      ejL                  f e%ee#      ejN                  f e%ee#      ejN                  fd$ej@                  fgd%Z(y&)'r   zF
    Lexer for YANG, based on RFC7950.

    .. versionadded:: 2.7
    YANGz$https://tools.ietf.org/html/rfc7950/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\'"]+)re   rootN))__name__
__module____qualname____doc__nameurl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     6/usr/lib/python3/dist-packages/pygments/lexers/yang.pyr   r      s/   
 D
0ChG
I#$I 1"W3C,8; 8N
E
 ( wWg&Wf%g	
 T__%))*7H &--0 &--0Wj)  Cdnne&7&7GI :4::F+V\\:#V^^4%.?@%--P.7HI5==Y%.?@%--P)2CDemmT%.?@%--P)2CDemmT%.?@%--P%.?@%--P5!23TZZ@%.?@$**Mdmm,? 
(Fr   N)rk   pygments.lexerr   r   r   pygments.tokenr   r   r   r	   r
   r   __all__r   r   r   r   <module>r      s-    7 6 E E-W
 Wr   