
    L&i>                     p    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dS )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-2022 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                    e          ej        fd                    e           eeee          fdefdefdef ee
d          ej        fd                    e          efd                    e          efdefdefdefd eej        ej                  dfd eej        ej                  d fd!ej        d"fd#                    e$           eeee          f ee	d%d&'          ej        feej        fd(ej         fd)ej!        fd*ej"        fd+ej"        fd,                    e-          ej#        feej$        fd.ej%        fgd!ej        d/f ed          d0ej&        fd1ej        fd2e'fgd!ej        d/f ed          d0ej&        fd3ej        fd2e'fgd!ej        d/fd0ej&        fd4ej        fgd5Z(d6S )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     a/home/geonatureadmin/si_en_reseau/tutos/venv/lib/python3.11/site-packages/pygments/lexers/cddl.pyr   r      s        
 D
5ChG
II) ) )NV  I$	9  >HhG $*:"6'.8Q!RG+,,%%8%44glC *00h0??622 x Hx(U9U+++X];(//&/AA8L!!&))848$X& +.((6<??Nv}==wG6=&) %++V+<<Xfj+668 U>*:CSTTT\ TZ $&*%8&*E
+@GGGGTT\ fn%"FM2W,
\ 6=&)G+,,V]# &-05M
 6=&)G+,,V]#fm,5M
 6=&)V]#'
}C CFFFr_   N)rD   pygments.lexerr   r   r   r   pygments.tokenr   r   r	   r
   r   r   r   r   r   __all__r   r^   r_   r`   <module>rd      s     @ ? ? ? ? ? ? ? ? ? ? ?$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ -W W W W W
 W W W W Wr_   