
    |e>                     h    d Z ddlmZ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mZ dgZ G d de      Zy)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                      e Zd ZdZdZdZdgZdgZdgZg dZ	g dZ
d	Zd
Zdez   Zdefdej                   fg ed      dj%                  e      ej(                  fdj%                  e       eeee      fdefdefdef ee
d      ej2                  fdj%                  e      efdj%                  e      efdefdefdefd eej8                  ej                         dfd eej8                  ej                         d fd!ej                   d"fd#j%                  e$       eeee      f ee	d%d&'      ej<                  feej>                  fd(ej@                  fd)ejB                  fd*ejD                  fd+ejD                  fd,j%                  e-      ejF                  feejH                  fd.ejJ                  fgd!ej                   d/f ed      d0ejL                  fd1ej                   fd2e'fgd!ej                   d/f ed      d0ejL                  fd3ej                   fd2e'fgd!ej                   d/fd0ejL                  fd4ej                   fgd5Z(y6)7r   z@
    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})?)r3   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(?![\-_$@]))prefixr8   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[^'\\]+)r7   rootr:   r;   r   N))__name__
__module____qualname____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     6/usr/lib/python3/dist-packages/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Fr_   N)rD   pygments.lexerr   r   r   r   pygments.tokenr   r   r	   r
   r   r   r   r   r   __all__r   r^   r_   r`   <module>rd      s9    @ ?$ $ $ -W
 Wr_   