U
    luf>                     @   sb   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 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-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                (   @   sJ  e Zd ZdZdZdZdgZdgZdgZddd	d
dddddddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.g(Z	d/d0d1d2d3d4d5d6d7d8d9d:d;d<gZ
d=Zd>Zd?e Zd@efdAejfgedBdCjedDejfdEjedDeeeefdFefdGefdHefee
dIdJejfdKjedLefdMeefdNefdOefdPefdQeejejdRfdSeejejdTfdUejdfdVjedWeeeefee	dXdYdZejfeejfd[ej fd\ej!fd]ej"fd^ej"fd_jed`ej#feej$fdaej%fgdUejdbfedBdcej&fddejfdee'fgdUejdbfedBdcej&fdfejfdee'fgdUejdbfdcej&fdgejfgdhZ(diS )jr   z@
    Lexer for CDDL definitions.

    .. versionadded:: 2.8
    ZCDDLz)https://datatracker.ietf.org/doc/rfc8610/Zcddlz*.cddlztext/x-cddlanyZ	b64legacyZb64urlZbigfloatZbigintZbignintZbiguintboolbstrbyteszcbor-anyZdecfracZeb16Z
eb64legacyZeb64urlzencoded-cborfalsefloatZfloat16z
float16-32Zfloat32z
float32-64Zfloat64intintegerzmime-messagenilZnintnullnumberregexpZtdatetexttimetrueZtstruintZ	undefinedZunsigneduriz.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})?)r   z({uint})?(\*)({uint})?z\?|\+z\^z(\.\.\.|\.\.)z\b)suffixz&(?=\s*({groupname}|\()))Z	groupnamez
~(?=\s*{})z	//|/(?!/)z=>|/==|/=|=z[\[\]{}\(\),<>:]z(b64)(')
bstrb64urlz(h)(')bstrh'z({bareword})(\s*)(:))Zbarewordz(?![\-_$@])\bz\b(?![\-_$@]))prefixr"   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[^'\\]+)r!   rootr#   r$   r   N))__name__
__module____qualname____doc__nameurlaliases	filenames	mimetypesZ_prelude_typesZ	_controlsZ_re_idZ_re_uintZ_re_intr   r   Singler   formatr   Typer   r
   r   r   Wordr   r   ZAffixr	   ZBuiltinZClassZBinOctZHexZFloatZIntegerDoubleZEscaper   tokens r9   r9   8/tmp/pip-unpacked-wheel-7eq1ciah/pygments/lexers/cddl.pyr      s   ,	





.
	

N)r,   Zpygments.lexerr   r   r   r   Zpygments.tokenr   r   r   r	   r
   r   r   r   r   __all__r   r9   r9   r9   r:   <module>   s   ,