ó
    öÞ jn  ã                   ó¸   • S r SSKJrJrJrJrJrJr  SSKJ	r	J
r
JrJrJrJrJrJrJrJr  / SQr " S S\5      r " S S\5      r " S	 S
\5      r " S S\5      rg)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                   óz   • \ rS rSrSrSrS/rS/rS/rSr	Sr
S	S
\" \\R                  \5      4S\4S\4S\4/0rSrg)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__Ú__firstlineno__Ú__doc__ÚnameÚaliasesÚ	filenamesÚ	mimetypesÚurlÚversion_addedr   r   r   ÚClassr   r   ÚtokensÚ__static_attributes__r   ó    ÚZ/var/www/html/gaurav/venv/lib/python3.13/site-packages/pygments/lexers/grammar_notation.pyr   r      sq   † ñð2 €DØˆg€GØ�	€IØ�€IØ
B€CØ€Mð 	Ø"Ù�k 4§:¡:¨{Ó;ð=ð �XÐð ˜ÐØ�4ˆLð

ðƒFr-   r   c                   óà   • \ rS rSrSrSrSrS/rS/rS/r	Sr
S	rS
S\R                  4S\4S\4S\4S\4S\4S\4S\4S\4S\4S\4S\4\" \SS9\4S\R&                  4S\4S\4S\4S\4/0rSrg) r   éB   z^
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   r   N)r   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   r   B   sø   † ñð €DØ
/€CØˆh€GØ�
€IØ�€IØ€Mð€Kð 	à�g—n‘nÐ%ð   Ð)ð ! 'Ð*Ø# WÐ-ð # GÐ,Ø% wÐ/ð /°Ð8Ø1°7Ð;ð ! (Ð+Ø˜HÐ%Ø˜(Ð#Ø�HÐñ �; uÑ-¨wÐ7ð (¨¯©Ð4ð ˜(Ð#ð ˜+Ð&ð �ZÐ Ø�4ˆLðS*
ð,ƒFr-   r   c                   óè  • \ rS rSrSrSrSrS/rS/r/ SQr	Sr
\" S	5      \" S
5      /S\R                  S4S\R                  4S\R                  4/S\R                  4S\4S\4S\4S\R(                  4S\R,                  S4S\R.                  S4\" SSS9\R4                  4S\R4                  S4S\" \\R:                  \5      4S\S4S \4/S\R,                  S!4S"\R>                  4S#\R,                  4/S$\R.                  S!4S"\R>                  4S%\R.                  4/S\S!4S\4S&\4S'\R@                  4/S(\S!4S)\4S\4S*\" \R@                  \\5      4S+\RB                  4/S,\R                  S!4S-\" \\R                  \\RD                  \\#" \$S.S/95      4S0\" \R                  \RD                  5      4S1\R                  4/S2\" \\R                  5      4\" S
5      S3\R                  4/S4.	r%S5r&g6)7r   é„   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[^;]*rG   Ú;z[=|()\[\]*+]z/[^/]+/Ú"Ústringz\{Útag)ÚimportÚpublicrD   rE   z	grammar\búgrammar namez(<)(NULL|VOID)(>)Ú<Úrulenamez\w+|[^\s;=|()\[\]*+/"{<\w]+z#popz\\.z[^\\"]+z\}z[^\\}]+ú\.z[^;\s.]+Ú>rC   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   rN   rO   rS   rT   rW   rY   rP   r\   r   N)'r   r    r!   r"   r#   r$   r(   r%   r&   r'   r)   r   r	   Ú	MultilinerI   ÚPreprocr   r   r   r   ÚFloatr   ÚDoubleÚOtherr   r
   ÚReservedr   r   ÚBuiltinr   ÚEscapeÚ	NamespaceÚConstantÚSpecialr   r   r+   r,   r   r-   r.   r   r   „   s�  † ñð €DØ
'€CØˆh€GØ�
€IÚG€IØ€Mñ �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-   r   c                   óÔ   • \ rS rSrSrSrSrS/rS/rS/r	Sr
S	S
\R                  4S\4S\4S\4S\" \\\5      4S\R$                  4S\R                  4S\R(                  4S\4/	0rSrg)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[()]rZ   z (\[)([^\]]*(?:\\.[^\]\\]*)*)(\])z$[a-z]?"[^"\\]*(?:\\.[^"\\]*)*"[a-z]*z$[a-z]?'[^'\\]*(?:\\.[^'\\]*)*'[a-z]*u#   [^\s<â†�:=/|&!?*+\^â†‘~()\[\]"\'#]+r   r   N)r   r    r!   r"   r#   r$   r(   r%   r&   r'   r)   r	   rI   r   r   r
   r   r   ra   r   r*   r   r+   r,   r   r-   r.   r   r   Ñ   s¯   † ñð" €DØ
/€CØˆg€GØ�	€IØ�€IØ€Mð 	à�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-   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>rp      s^   ðñ÷ M× L÷4÷ 4÷ 4ò =€ô-ˆzô -ô`?�
ô ?ôDJ�
ô JôZ5ˆzõ 5r-   