Current File : //usr/lib/python3/dist-packages/pygments/lexers/__pycache__/grammar_notation.cpython-312.pyc |
�
|�e, � � � 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� Zy
)z�
pygments.lexers.grammar_notation
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lexers for grammar notations like BNF.
:copyright: Copyright 2006-2023 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 �j � e Zd ZdZdZdgZdgZdgZdd ee e
j e � fdefd e
fd
e
fgiZy)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 sg � ��6 �D��g�G�� �I���I� �
"�
�k�4�:�:�{�
;�
=� �X�� ���
�4�L�
��Fr'