
    >                     h    S r SSKJrJrJrJr  SSKJrJrJ	r	J
r
JrJrJrJrJr  S/r " S S\5      rg)aN  
pygments.lexers.cddl
~~~~~~~~~~~~~~~~~~~~

Lexer for the Concise data definition language (CDDL), a notational
convention to express CBOR and JSON data structures.

More information:
https://datatracker.ietf.org/doc/rfc8610/

:copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
:license: BSD, see LICENSE for details.
    )
RegexLexerbygroupsincludewords)	CommentErrorKeywordNameNumberOperatorPunctuationString
Whitespace	CddlLexerc                   r   \ rS rSrSrSrSrS/rS/rS/r	/ SQr
/ S	QrS
rSrS\-   rS\4S\R"                  4/\" S5      SR'                  \S9\R*                  4SR'                  \S9\" \\\5      4S\4S\4S\4\" \SS9\R4                  4SR'                  \S9\4SR'                  \5      \4S\4S\4S\4S\" \R:                  \R"                  5      S4S \" \R:                  \R"                  5      S!4S"\R"                  S#4S$R'                  \S%9\" \\\5      4\" \
S&S'S(9\R>                  4\\R@                  4S)\RB                  4S*\RD                  4S+\RF                  4S,\RF                  4S-R'                  \S.9\RH                  4\\RJ                  4S/\RL                  4/S"\R"                  S04\" S5      S1\RN                  4S2\R"                  4S3\(4/S"\R"                  S04\" S5      S1\RN                  4S4\R"                  4S3\(4/S"\R"                  S04S1\RN                  4S5\R"                  4/S6.r)S7r*g8)9r      z4
Lexer for CDDL definitions.

.. versionadded:: 2.8
CDDLz)https://datatracker.ietf.org/doc/rfc8610/cddlz*.cddlztext/x-cddl)(any	b64legacyb64urlbigfloatbigintbignintbiguintboolbstrbyteszcbor-anydecfraceb16
eb64legacyeb64urlzencoded-cborfalsefloatfloat16z
float16-32float32z
float32-64float64intintegerzmime-messagenilnintnullnumberregexptdatetexttimetruetstruint	undefinedunsigneduri)z.andz.bitsz.cborz.cborseqz.defaultz.eqz.gez.gtz.lez.ltz.nez.regexpz.sizez.withinz8[$@A-Z_a-z](?:[\-\.]+(?=[$@0-9A-Z_a-z])|[$@0-9A-Z_a-z])*z+(?:0b[01]+|0x[0-9a-fA-F]+|[1-9]\d*|0(?!\d))z-?z\s+z;.+$commentsandwhitespacez#(\d\.{uint})?)r4   z({uint})?(\*)({uint})?z\?|\+z\^z(\.\.\.|\.\.)z\b)suffixz&(?=\s*({groupname}|\()))	groupnamez
~(?=\s*{})z	//|/(?!/)z=>|/==|/=|=z[\[\]{}\(\),<>:]z(b64)(')
bstrb64urlz(h)(')bstrh'r   z({bareword})(\s*)(:))barewordz(?![\-_$@])\bz\b(?![\-_$@]))prefixr9   z0b[01]+z0o[0-7]+z(0x[0-9a-fA-F]+(\.[0-9a-fA-F]+)?p[+-]?\d+z0x[0-9a-fA-F]+z0{int}(?=(\.\d|e[+-]?\d))(?:\.\d+)?(?:e[+-]?\d+)?)r(   z"(\\\\|\\"|[^"])*"z#popz\\.z[0-9a-zA-Z\-_=]+.z[0-9a-fA-F]+z[^'\\]+)r8   rootr;   r<   r    N)+__name__
__module____qualname____firstlineno____doc__nameurlaliases	filenames	mimetypes_prelude_types	_controls_re_id_re_uint_re_intr   r   Singler   formatr	   Typer   r   r   r   Wordr   r   Affixr
   BuiltinClassBinOctHexFloatIntegerDoubleEscaper   tokens__static_attributes__rB       'lib/third_party/pygments/lexers/cddl.pyr   r      s   
 D
5ChG
II)NVI$	9  >HhG $*:"6'..8Q!R+,%%8%4gllC *00h0?62 x Hx(9U+X]];(//&/A8L!!&)848$X& +.(6<<?Nv}}=wG6==&) %++V+<fj+68 >*:CST\\ TZZ $&**%8&**E

+@GGGGT\\ fnn%"FMM2W,
\ 6==&)+,V]]# &--05M
 6==&)+,V]]#fmm,5M
 6==&)V]]#'
}CFrb   N)rG   pygments.lexerr   r   r   r   pygments.tokenr   r   r	   r
   r   r   r   r   r   __all__r   rB   rb   rc   <module>rg      s9    @ ?$ $ $ -W
 Wrb   