File: //usr/lib/python3/dist-packages/pygments/lexers/__pycache__/cddl.cpython-310.pyc
o
���a� � @ sn d Z ddlZdgZddlmZmZmZmZ ddlm Z m
Z
mZmZm
Z
mZmZmZmZmZ G dd� de�ZdS )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 Zd ZdZdZdgZdgZdgZg d�Zg d�Z dZ
d Zd
e Ze
je
jB Zdefdejfged
�djed�ejfdjed�eeee�fdefdefdefee dd�ejfdje
d�efd�e
�efdefdefdefdeejej�dfdeejej�dfd ejd!fd"je
d#�eeee�feed$d%d&�e j!fe
e j"fd'ej#fd(ej$fd)ej%fd*ej%fd+jed,�ej&feej'fd-ej(fgd ejd.fed
�d/ej)fd0ejfd1e*fgd ejd.fed
�d/ej)fd2ejfd1e*fgd ejd.fd/ej)fd3ejfgd4�Z+d5S )6r z@
Lexer for CDDL definitions.
.. versionadded:: 2.8
�CDDL�cddlz*.cddlztext/x-cddl)(�any� b64legacy�b64url�bigfloat�bigint�bignint�biguint�bool�bstr�byteszcbor-any�decfrac�eb16�
eb64legacy�eb64urlzencoded-cbor�false�float�float16z
float16-32�float32z
float32-64�float64�int�integerzmime-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})?)r2 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(?![\-_$@]))�prefixr7 z0b[01]+z0o[0-7]+z(0x[0-9a-fA-F]+(\.[0-9a-fA-F]+)?p[+-]?\d+z0x[0-9a-fA-F]+z0{int}(?=(\.\d|e[+-]?\d))(?:\.\d+)?(?:e[+-]?\d+)?)r&