§
    XŠtjn  ã                   óÒ   — d Z ddlmZmZmZmZmZmZ ddlm	Z	m
Z
mZmZmZmZmZmZmZmZ g d¢Z G d„ de¦  «        Z G d„ de¦  «        Z G d	„ d
e¦  «        Z G d„ de¦  «        ZdS )zî
    pygments.lexers.grammar_notation
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Lexers for grammar notations like BNF.

    :copyright: Copyright 2006-present 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                   óp   — e Zd ZdZdZdgZdgZdgZdZdZ	dd	 e
eej        e¦  «        fd
efdefdefgiZdS )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.
    ÚBNFÚbnfz*.bnfz
text/x-bnfz6https://en.wikipedia.org/wiki/Backus%E2%80%93Naur_formú2.1Úrootz(<)([ -;=?-~]+)(>)z::=z[^<>:]+ú.N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚaliasesÚ	filenamesÚ	mimetypesÚurlÚversion_addedr   r   r   ÚClassr   r   Útokens© ó    ú^/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/pygments/lexers/grammar_notation.pyr   r      s…   € € € € € ðð ð2 €DØˆg€GØ�	€IØ�€IØ
B€CØ€Mð 	Ø"ØˆX�k 4¤:¨{Ñ;Ô;ð=ð �XÐð ˜ÐØ�4ˆLð

ð€F€F€Fr*   r   c                   óÒ   — e Zd ZdZdZdZdgZdgZdgZdZ	dZ
d	d
ej        fdefdefdefdefdefdefdefdefdefdefdef ee
d¬¦  «        efdej        fdefdefdefdefgiZdS )r   zj
    Lexer for IETF 7405 ABNF.

    (Updates `5234 <http://www.ietf.org/rfc/rfc5234.txt>`_) grammars.
    ÚABNFz#http://www.ietf.org/rfc/rfc7405.txtÚabnfz*.abnfztext/x-abnfr   )ÚALPHAÚBITÚCHARÚCRÚCRLFÚCTLÚDIGITÚDQUOTEÚHEXDIGÚHTABÚLFÚLWSPÚOCTETÚSPÚVCHARÚWSPr   z;.*$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+r   N)r   r   r   r    r!   r%   r"   r#   r$   r&   Ú_core_rulesr	   ÚSingler   r   r   r
   r   r'   r   r   r   r(   r)   r*   r+   r   r   B   s  € € € € € ðð ð €DØ
/€CØˆh€GØ�
€IØ�€IØ€Mð€Kð 	à�g”nÐ%ð   Ð)ð ! 'Ð*Ø# WÐ-ð # GÐ,Ø% wÐ/ð /°Ð8Ø1°7Ð;ð ! (Ð+Ø˜HÐ%Ø˜(Ð#Ø�HÐð ˆU�; uÐ-Ñ-Ô-¨wÐ7ð (¨¬Ð4ð ˜(Ð#ð ˜+Ð&ð �ZÐ Ø�4ˆLðS*
ð,€F€F€Fr*   r   c                   ó  — e Zd ZdZdZdZdgZdgZg d¢ZdZ	 e
d¦  «         e
d	¦  «        gd
ej        dfdej        fdej        fgdej        fdefdefdefdej        fdej        dfdej        df edd¬¦  «        ej        fdej        dfd eeej        e¦  «        fdedfdefgdej        d fd!ej        fd"ej        fgd#ej        d fd!ej        fd$ej        fgded fdefd%efd&ej        fgd'ed fd(efdefd) eej        ee¦  «        fd*ej         fgd+ej        d fd, eeej        eej!        e e"e#d-¬.¦  «        ¦  «        fd/ eej        ej!        ¦  «        fd0ej        fgd1 eeej        ¦  «        f e
d	¦  «        d2ej        fgd3œ	Z$d4S )5r   z.
    For JSpeech Grammar Format grammars.
    ÚJSGFzhttps://www.w3.org/TR/jsgf/Újsgfz*.jsgf)zapplication/jsgfzapplication/x-jsgfz	text/jsgfz2.2Úcommentsúnon-commentsz
/\*\*(?!/)údocumentation commentz/\*[\w\W]*?\*/z//.*$z\A#JSGF[^;]*rC   ú;z[=|()\[\]*+]z/[^/]+/ú"Ústringz\{Útag)ÚimportÚpublicr@   rA   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   )	r   rI   rJ   rN   rO   rR   rT   rK   rW   N)%r   r   r   r    r!   r%   r"   r#   r$   r&   r   r	   Ú	MultilinerE   ÚPreprocr   r   r   r   ÚFloatr   ÚDoubleÚOtherr   r
   ÚReservedr   r   ÚBuiltinr   ÚEscapeÚ	NamespaceÚConstantÚSpecialr   r   r(   r)   r*   r+   r   r   „   s¦  € € € € € ðð ð €DØ
'€CØˆh€GØ�
€IØGÐGÐG€IØ€Mð ˆ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*   r   c                   ó¬   — e Zd ZdZdZdZdgZdgZdgZdZ	dd	e
j        fd
efdefdefd eeee¦  «        fdej        fdej        fdej        fdefg	iZdS )r   u  
    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`).
    ÚPEGz#https://bford.info/pub/lang/peg.pdfÚpegz*.pegz
text/x-pegz2.6r   z#.*$u   <-|[â†�:=/|&!?*+^â†‘~]z[()]rU   z (\[)([^\]]*(?:\\.[^\]\\]*)*)(\])z$[a-z]?"[^"\\]*(?:\\.[^"\\]*)*"[a-z]*z$[a-z]?'[^'\\]*(?:\\.[^'\\]*)*'[a-z]*u#   [^\s<â†�:=/|&!?*+\^â†‘~()\[\]"\'#]+r   N)r   r   r   r    r!   r%   r"   r#   r$   r&   r	   rE   r   r   r
   r   r   r\   r   r'   r   r(   r)   r*   r+   r   r   Ñ   s½   € € € € € ðð ð" €DØ
/€CØˆg€GØ�	€IØ�€IØ€Mð 	à�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*   r   N)r    Úpygments.lexerr   r   r   r   r   r   Úpygments.tokenr	   r
   r   r   r   r   r   r   r   r   Ú__all__r   r   r   r   r)   r*   r+   ú<module>rj      s„  ððð ð 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ñ -ô -ð -ð`?ð ?ð ?ð ?ð ?�
ñ ?ô ?ð ?ðDJð Jð Jð Jð J�
ñ Jô Jð JðZ5ð 5ð 5ð 5ð 5ˆzñ 5ô 5ð 5ð 5ð 5r*   