a
    ;@b                     @   sn   d Z ddlZdg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m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-2021 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
    N	CddlLexer)
RegexLexerbygroupsincludewords)
CommentErrorKeywordNameNumberOperatorPunctuationStringText
Whitespacec                   @   s  e 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ejejB Zdefdejfgeddjedejfdjedeeeefdefdefdefee	ddejfdje
d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"je
d#eeeefeed$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+jed,ej&feej'fd-ej(fgd ejd.fedd/ej)fd0ejfd1e*fgd ejd.fedd/ej)fd2ejfd1e*fgd ejd.fd/ej)fd3ejfgd4Z+d5S )6r   z@
    Lexer for CDDL definitions.

    .. versionadded:: 2.8
    ZCDDLZcddlz*.cddlztext/x-cddl)(anyZ	b64legacyZb64urlZbigfloatZbigintZbignintZbiguintboolbstrbyteszcbor-anyZdecfracZeb16Z
eb64legacyZeb64urlzencoded-cborZfalsefloatZfloat16z
float16-32Zfloat32z
float32-64Zfloat64intZintegerzmime-messageZnilZnintZnullZnumberZregexpZtdatetexttimetrueZtstruintZ	undefinedZunsignedZ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})?)r   z({uint})?(\*)({uint})?z\?|\+z\^z(\.\.\.|\.\.)z\b)suffixz&(?=\s*({groupname}|\()))Z	groupnamez
~(?=\s*{})z	//|/(?!/)z=>|/==|/=|=z[\[\]{}\(\),<>:]z(b64)(')
bstrb64urlz(h)(')bstrh'r   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aliases	filenamesZ	mimetypesZ_prelude_typesZ	_controlsZ_re_idZ_re_uintZ_re_intreUNICODE	MULTILINEflagsr   r   Singler   formatr	   Typer   r   r   r   ZWordr   r   ZAffixr
   ZBuiltinZClassZBinZOctZHexZFloatZIntegerDoubleZEscaper   tokens r3   r3   3lib/python3.9/site-packages/pygments/lexers/cddl.pyr   "   s   +	





4
	

)r&   r*   __all__Zpygments.lexerr   r   r   r   Zpygments.tokenr   r   r	   r
   r   r   r   r   r   r   r   r3   r3   r3   r4   <module>   s
   0