HEX
Server: Apache/2.4.68 (Debian)
System: Linux as-cs-widget-demo-us-central1 6.1.0-44-cloud-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.164-1 (2026-03-09) x86_64
User: root (0)
PHP: 8.2.32
Disabled: NONE
Upload Files
File: //lib/python3/dist-packages/pygments/lexers/__pycache__/grammar_notation.cpython-311.pyc
�

�E�c,����dZddlmZmZmZmZmZmZddlm	Z	m
Z
mZmZm
Z
mZmZmZmZmZgd�ZGd�de��ZGd�de��ZGd	�d
e��ZGd�de��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�eZdZdZdZdgZdgZdgZddee	e
je	��fdefd	e
fd
e
fgiZdS)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.pyrrs{��������6�D��g�G��	�I���I�	�
"�
�X�k�4�:�{�
;�
;�
=��X�����
�4�L�

��F�F�Fr'rc���eZdZdZdZdZdgZdgZdgZdZ	dd	e
jfd
efdefdefd
efdefdefdefde
fde
fde
fde
fee	d���efdejfde
fdefdefdefgiZdS)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�%� ��)�!�'�*�
#�W�-�#�G�,�
%�w�/�/��8�
1�7�;�!�(�+�
�H�%�
�(�#�
�H���U�;�u�
-�
-�
-�w�7�(���4��(�#��+�&��Z� �
�4�L�S*
�,�F�F�Fr'rc��eZdZdZdZdZdgZdgZgd�Ze	d��e	d��gd	e
jd
fde
jfde
jfgd
e
j
fdefdefdefdejfdejdfdejdfedd���ejfdejdfdeeeje��fdedfdefgdejdfd ejfd!ejfgd"ejdfd ejfd#ejfgdedfdefd$efd%ejfgd&edfd'efdefd(eejee��fd)ejfgd*e
jdfd+eee
jee
j ee!e"d,�-����fd.ee
je
j ��fd/e
jfgd0eee
j��fe	d��d1e
jfgd2�	Z#d3S)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�G�G�I�
�G�J����G�N�#�#�
�
�G�-�/F�G�
�� 1�2�
�w�~�&�
��g�o�.�
�Z� �
�;��
�h�'�
���&�
�6�=�(�+�
�F�L�%�(�
�U�'��
6�
6�
6��8H�I�
�7�+�^�<�
!�
�X�k�4�<��
=�
=�
?�
�;�
�+�
+�T�2�
� �6�=�&�)�
�V�]�#�
���'�
��F�L�&�)�
�V�]�#�
���&�
��;��'�
�Z� �
�K� �
�$�.�)�	
��;��'�
�K� �
�Z� �
!�8�8�D�N�D�+�#N�#N�O�
��
�&�
��W�&��/�2�
�X�j�'�"3�Z��� �%�%��I�">�">�">�@�@�
A�#�
�X�g�'���
9�
9�
;�
�� 1�2�	"
��X�X�j�'�2C�D�D�E��G�N�#�#�
�7�$�%�
�u?�?�F�F�Fr'rc��eZdZdZdZdZdgZdgZdgZdde	j
fd	efd
efde
fdeeee��fd
ejfdej
fdejfdefg	iZdS)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�%�'��1��k�"��G��1�
�X�k�6�;�
7�
7�
9�5�f�m�D�
4�f�m�D�4�T�Z�@��4�L�3
��F�F�Fr'rN)r�pygments.lexerrrrrrr�pygments.tokenr	r
rrr
rrrrr�__all__rrrrr&r'r(�<module>rhs�����M�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�=�
<�
<��-�-�-�-�-�z�-�-�-�`@�@�@�@�@�
�@�@�@�FK�K�K�K�K�
�K�K�K�\6�6�6�6�6�z�6�6�6�6�6r'