File: //lib/python3/dist-packages/pygments/lexers/__pycache__/grammar_notation.cpython-311.pyc
�
�E�c, � �� � d Z ddlmZmZmZmZmZmZ ddlm Z m
Z
mZmZm
Z
mZmZmZmZmZ g d�Z G d� de� � Z G d� de� � Z G d � d
e� � Z G d� de� � Zd
S )z�
pygments.lexers.grammar_notation
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lexers for grammar notations like BNF.
:copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
:license: BSD, see LICENSE for details.
� )�
RegexLexer�bygroups�include�this�using�words)
�Comment�Keyword�Literal�Name�Number�Operator�Punctuation�String�Text�
Whitespace)�BnfLexer� AbnfLexer� JsgfLexer�PegLexerc �h � e Zd ZdZdZdgZdgZdgZdd ee e
j e � � fdefd e
fd
e
fgiZdS )r a>
This lexer is for grammar notations which are similar to
original BNF.
In order to maximize a number of targets of this lexer,
let's decide some designs:
* We don't distinguish `Terminal Symbol`.
* We do assume that `NonTerminal Symbol` are always enclosed
with arrow brackets.
* We do assume that `NonTerminal Symbol` may include
any printable characters except arrow brackets and ASCII 0x20.
This assumption is for `RBNF <http://www.rfc-base.org/txt/rfc-5511.txt>`_.
* We do assume that target notation doesn't support comment.
* We don't distinguish any operators and punctuation except
`::=`.
Though these decision making might cause too minimal highlighting
and you might be disappointed, but it is reasonable for us.
.. versionadded:: 2.1
�BNF�bnfz*.bnfz
text/x-bnf�rootz(<)([ -;=?-~]+)(>)z::=z[^<>:]+�.N)�__name__�
__module__�__qualname__�__doc__�name�aliases� filenames� mimetypesr r r �Classr r �tokens� � �B/usr/lib/python3/dist-packages/pygments/lexers/grammar_notation.pyr r s{ � � � � � �� �6 �D��g�G�� �I���I� �
"�
�X�k�4�:�{�
;�
;�
=� �X�� ���
�4�L�
��F�F�Fr'