%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /usr/lib/python3/dist-packages/pygments/lexers/__pycache__/
Upload File :
Create Path :
Current File : //usr/lib/python3/dist-packages/pygments/lexers/__pycache__/grammar_notation.cpython-312.pyc

�

|�e,���dZddlmZmZmZmZmZmZddlm	Z	m
Z
mZmZm
Z
mZmZmZmZmZgd�ZGd�de�ZGd�de�ZGd	�d
e�ZGd�de�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�eZdZdZdZdgZdgZdgZddee	e
je	�fdefd	e
fd
e
fgiZy)ra>
    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�	mimetypesrrr�Classrr�tokens���B/usr/lib/python3/dist-packages/pygments/lexers/grammar_notation.pyrrsg���6�D��g�G��	�I���I�	�
"�
�k�4�:�:�{�
;�
=��X�����
�4�L�

��Fr'rc���eZdZdZdZdZdgZdgZdgZdZ	dd	e
jfd
efdefdefd
efdefdefdefde
fde
fde
fde
fee	d��efdej"fde
fdefdefdefgiZy)rz�
    Lexer for IETF 7405 ABNF.

    (Updates `5234 <http://www.ietf.org/rfc/rfc5234.txt>`_) grammars.

    .. versionadded:: 2.1
    �ABNFz#http://www.ietf.org/rfc/rfc7405.txt�abnfz*.abnfztext/x-abnf)�ALPHA�BIT�CHAR�CR�CRLF�CTL�DIGIT�DQUOTE�HEXDIG�HTAB�LF�LWSP�OCTET�SP�VCHAR�WSPrz;.*$z(%[si])?"[^"]*"z%b[01]+\-[01]+\bz%b[01]+(\.[01]+)*\bz%d[0-9]+\-[0-9]+\bz%d[0-9]+(\.[0-9]+)*\bz%x[0-9a-fA-F]+\-[0-9a-fA-F]+\bz!%x[0-9a-fA-F]+(\.[0-9a-fA-F]+)*\bz\b[0-9]+\*[0-9]+z
\b[0-9]+\*z\b[0-9]+�\*�\b��suffixz[a-zA-Z][a-zA-Z0-9-]*\bz(=/|=|/)z[\[\]()]�\s+rN)rrrrr �urlr!r"r#�_core_rulesr	�Singlerrrr
rr$rrrr%r&r'r(rrBs�����D�
/�C��h�G��
�I���I��K�	�
�g�n�n�%� ��)�!�'�*�
#�W�-�#�G�,�
%�w�/�/��8�
1�7�;�!�(�+�
�H�%�
�(�#�
�H���;�u�
-�w�7�(����4��(�#��+�&��Z� �
�4�L�S*
�,�Fr'rc���eZdZdZdZdZdgZdgZgd�Ze	d�e	d�gd	e
jd
fde
jfde
jfgd
e
jfdefdefdefdej$fdej(dfdej*dfedd��ej0fdej0dfdeeej6e�fdedfdefgdej(dfd ej:fd!ej(fgd"ej*dfd ej:fd#ej*fgdedfdefd$efd%ej<fgd&edfd'efdefd(eej<ee�fd)ej>fgd*e
jdfd+eee
jee
j@ee!e"d,�-��fd.ee
je
j@�fd/e
jfgd0eee
j�fe	d�d1e
jfgd2�	Z#y3)4rzI
    For JSpeech Grammar Format grammars.

    .. versionadded:: 2.2
    �JSGFzhttps://www.w3.org/TR/jsgf/�jsgfz*.jsgf)zapplication/jsgfzapplication/x-jsgfz	text/jsgf�comments�non-commentsz
/\*\*(?!/)�documentation commentz/\*[\w\W]*?\*/z//.*$z\A#JSGF[^;]*r@�;z[=|()\[\]*+]z/[^/]+/�"�stringz\{�tag)�import�publicr=r>z	grammar\b�grammar namez(<)(NULL|VOID)(>)�<�rulenamez\w+|[^\s;=|()\[\]*+/"{<\w]+z#popz\\.z[^\\"]+z\}z[^\\}]+�\.z[^;\s.]+�>r<z([^.>]+)(\s*)(\.)z[^.>]+z\*/zH^(\s*)(\*?)(\s*)(@(?:example|see))(\s+)([\w\W]*?(?=(?:^\s*\*?\s*@|\*/)))�example)�statez(^\s*\*?\s*)(@\S*)z[^*\n@]+|\w|\Wz(\n\s*)(\*)r)	rrGrHrLrMrPrRrIrUN)$rrrrr rAr!r"r#rr	�	MultilinerC�Preprocrrrr
�Floatr�Double�Otherrr
�Reservedrr�Builtinr�Escape�	Namespace�Constant�Specialrrr%r&r'r(rr�s����
�D�
'�C��h�G��
�I�G�I�
�J���N�#�
�
�G�-�-�/F�G�
�� 1� 1�2�
�w�~�~�&�
��g�o�o�.�
�Z� �
�;��
�h�'�
����&�
�6�=�=�(�+�
�F�L�L�%�(�
�'��
6��8H�8H�I�
�7�+�+�^�<�
!�
�k�4�<�<��
=�
?�
�;�
�+�
+�T�2�
� �6�=�=�&�)�
�V�]�]�#�
����'�
��F�L�L�&�)�
�V�]�]�#�
����&�
��;��'�
�Z� �
�K� �
�$�.�.�)�	
��;��'�
�K� �
�Z� �
!�8�D�N�N�D�+�#N�O�
��
�
�&�
��W�&�&��/�2�
�j�'�"3�"3�Z���� �%��I�">�@�
A�#�
�g�'�'����
9�
;�
�� 1� 1�2�	"
��X�j�'�2C�2C�D�E��N�#�
�7�$�$�%�
�u?�Fr'rc���eZdZdZdZdZdgZdgZdgZdde	jfd	efd
efde
fdeeee�fd
ej fdejfdej$fdefg	iZy)ru-
    This lexer is for Parsing Expression Grammars (PEG).

    Various implementations of PEG have made different decisions
    regarding the syntax, so let's try to be accommodating:

    * `<-`, `←`, `:`, and `=` are all accepted as rule operators.

    * Both `|` and `/` are choice operators.

    * `^`, `↑`, and `~` are cut operators.

    * A single `a-z` character immediately before a string, or
      multiple `a-z` characters following a string, are part of the
      string (e.g., `r"..."` or `"..."ilmsuxa`).

    .. versionadded:: 2.6
    �PEGz#https://bford.info/pub/lang/peg.pdf�pegz*.pegz
text/x-pegrz#.*$u<-|[←:=/|&!?*+^↑~]z[()]rSz (\[)([^\]]*(?:\\.[^\]\\]*)*)(\])z$[a-z]?"[^"\\]*(?:\\.[^"\\]*)*"[a-z]*z$[a-z]?'[^'\\]*(?:\\.[^'\\]*)*'[a-z]*u#[^\s<←:=/|&!?*+\^↑~()\[\]"\'#]+rN)rrrrr rAr!r"r#r	rCrrr
rrrZrr$rr%r&r'r(rr�s����&�D�
/�C��g�G��	�I���I�	�
�g�n�n�%�'��1��k�"��G��1�
�k�6�;�
7�
9�5�f�m�m�D�
4�f�m�m�D�4�T�Z�Z�@��4�L�3
��Fr'rN)r�pygments.lexerrrrrrr�pygments.tokenr	r
rrr
rrrrr�__all__rrrrr&r'r(�<module>rhs`���M�L�4�4�4�=��-�z�-�`@�
�@�FK�
�K�\6�z�6r'

Zerion Mini Shell 1.0