§
    £E±c)  ã                   óÖ   — d Z ddlZddl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 ej        d¦  «        Z G d„ de¦  «        Z G d	„ d
e¦  «        Z G d„ de¦  «        ZdS )zÄ
    pygments.lexers.r
    ~~~~~~~~~~~~~~~~~

    Lexers for the R/S languages.

    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
é    N)ÚLexerÚ
RegexLexerÚincludeÚdo_insertions)
ÚTextÚCommentÚOperatorÚKeywordÚNameÚStringÚNumberÚPunctuationÚGenericÚ
Whitespace)ÚRConsoleLexerÚSLexerÚRdLexerz.*?
c                   ó*   — e Zd ZdZdZddgZdgZd„ ZdS )r   z@
    For R console transcripts or R CMD BATCH output files.
    ÚRConsoleÚrconsoleÚroutz*.Routc           	   #   óx  K  — t          di | j        ¤Ž}d}g }t                               |¦  «        D ]Ú}|                     ¦   «         }|                     d¦  «        s|                     d¦  «        rH|                     t          |¦  «        dt          j	        |d d…         fgf¦  «         ||dd …         z  }Œˆ|r-t          ||                     |¦  «        ¦  «        E d {V —† d}g }|                     ¦   «         t          j        |fV — ŒÛ|r+t          ||                     |¦  «        ¦  «        E d {V —† d S d S )NÚ ú>ú+r   é   © )r   ÚoptionsÚline_reÚfinditerÚgroupÚ
startswithÚappendÚlenr   ÚPromptr   Úget_tokens_unprocessedÚstartÚOutput)ÚselfÚtextÚslexerÚcurrent_code_blockÚ
insertionsÚmatchÚlines          ú3/usr/lib/python3/dist-packages/pygments/lexers/r.pyr&   z$RConsoleLexer.get_tokens_unprocessed    sÆ  è è € ÝÐ'Ð'˜$œ,Ð'Ð'ˆàÐØˆ
å×%Ò% dÑ+Ô+ð 	:ð 	:ˆEØ—;’;‘=”=ˆDØ�Š˜sÑ#Ô#ð : t§¢°sÑ';Ô';ð :ð ×!Ò!¥3Ð'9Ñ#:Ô#:Ø%&­¬¸¸R¸a¸R¼Ð$AÐ#Bð#Dñ Eô Eð Eà" d¨1¨2¨2¤hÑ.Ð"Ð"ð &ð $å,Ø" F×$AÒ$AÐBTÑ$UÔ$Uñ Wô  Wð Wð Wð Wð Wð Wð Wð Wð *,Ð&Ø!#�Jà—k’k‘m”m¥W¤^°TÐ9Ð9Ð9Ð9Ð9ð
 ð 	OÝ$Ø˜F×9Ò9Ð:LÑMÔMñOô Oð Oð Oð Oð Oð Oð Oð Oð Oð Oð	Oð 	Oó    N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚaliasesÚ	filenamesr&   r   r1   r0   r   r      sJ   € € € € € ðð ð €DØ˜6Ð"€GØ�
€Ið Oð  Oð  Oð  Oð  Or1   r   c                   ó´  — e Zd ZdZdZg d¢Zg d¢Zg d¢ZdZde	j
        fgeefgdefgd	ej        fgd
efdefgdej        fdej        j        fgdej        fdefg ed¦  «        defdedfdedf ed¦  «         ed¦  «         ed¦  «         ed¦  «         ed¦  «         ed¦  «        g
dez  ej        f ed¦  «        defdefgd ed!fgd"ed!fgd#œZd$„ Zd%S )&r   zG
    For S, S-plus, and R source code.

    .. versionadded:: 0.10
    ÚS)ÚsplusÚsÚr)z*.Sz*.Rz	.Rhistoryz	.Rprofilez	.Renviron)ztext/S-plusztext/Sztext/x-r-sourceztext/x-rztext/x-Rztext/x-r-historyztext/x-r-profilez;`[^`\\]*(?:\\.[^`\\]*)*`|(?:[a-zA-Z]|\.[A-Za-z_.])[\w.]*|\.z#.*$z\[{1,2}|\]{1,2}|\(|\)|;|,zH(if|else|for|while|repeat|in|next|break|return|switch|function)(?![\w.])z(<<?-|->>?|-|==|<=|>=|<|>|&&?|!=|\|\|?|\?z$\*|\+|\^|/|!|%[^%]*%|=|~|\$|@|:{1,3}zm(NULL|NA(_(integer|real|complex|character)_)?|letters|LETTERS|Inf|TRUE|FALSE|NaN|pi|\.\.(\.|[0-9]+))(?![\w.])z(T|F)\bz#0[xX][a-fA-F0-9]+([pP][0-9]+)?[Li]?z;[+-]?([0-9]+(\.[0-9]+)?|\.[0-9]+|\.)([eE][+-]?[0-9]+)?[Li]?Úcommentsz\s+z\'Ústring_squotez\"Ústring_dquoteÚbuiltin_symbolsÚ
valid_nameÚnumbersÚkeywordsÚpunctuationÚ	operatorsz(%s)\s*(?=\()Ú
statementsz\{|\}ú.z([^\'\\]|\\.)*\'z#popz([^"\\]|\\.)*")r>   rB   rE   rD   rF   rA   rC   rG   Úrootr?   r@   c                 ó4   — t          j        d| ¦  «        rdS d S )Nz[a-z0-9_\])\s]<-(?!-)g)\�Âõ(¼?)ÚreÚsearch)r*   s    r0   Úanalyse_textzSLexer.analyse_text•   s&   € ÝŒ9Ð-¨tÑ4Ô4ð 	Ø�4ð	ð 	r1   N)r2   r3   r4   r5   r6   r7   r8   Ú	mimetypesrB   r   ÚSingler   r   r
   ÚReservedr	   ÚConstantÚBuiltinÚPseudor   ÚHexr   r   r   ÚFunctionr   ÚtokensrM   r   r1   r0   r   r   C   sæ  € € € € € ðð ð €DØ!Ð!Ð!€GØEÐEÐE€IðEð Eð E€Ið P€Jð �g”nÐ%ð
ð ˜Ðð
ð *¨;Ð7ð
ðàÔðð
ð 9¸(ÐCØ4°hÐ?ð
ð
ð Ôðð ˜œÔ,Ð-ð
ð 4°V´ZÐ@àKØðð	
ð ˆG�JÑÔà�ZÐ Ø�F˜OÐ,Ø�F˜OÐ,ØˆGÐ%Ñ&Ô&ØˆG�LÑ!Ô!ØˆG�IÑÔØˆG�JÑÔØˆG�MÑ"Ô"ØˆG�KÑ Ô ð
ð  
Ñ*¨D¬MÐ:ØˆG�LÑ!Ô!à�{Ð#à�4ˆLð
ð ! &¨&Ð1ð
ð  ¨Ð/ð
ðBð B€FðHð ð ð ð r1   r   c            
       óˆ   — e Zd ZdZdZdgZdgZdgZddej	        fde
fd	ej        fd
efde
j        fdej        fdefdefgiZdS )r   am  
    Pygments Lexer for R documentation (Rd) files

    This is a very minimal implementation, highlighting little more
    than the macros. A description of Rd syntax is found in `Writing R
    Extensions <http://cran.r-project.org/doc/manuals/R-exts.html>`_
    and `Parsing Rd files <http://developer.r-project.org/parseRd.pdf>`_.

    .. versionadded:: 1.6
    ÚRdÚrdz*.Rdztext/x-r-docrI   z	\\[\\{}%]z%.*$z\\(?:cr|l?dots|R|tab)\bz\\[a-zA-Z]+\bz^\s*#(?:ifn?def|endif).*\bz[{}]z[^\\%\n{}]+rH   N)r2   r3   r4   r5   r6   r7   r8   rN   r   ÚEscaper   r
   rQ   ÚPreprocr   rR   r   rV   r   r1   r0   r   r   š   sŽ   € € € € € ð	ð 	ð €DØˆf€GØ�€IØÐ €Ið
 	à˜6œ=Ð)à�gÐà'¨Ô)9Ð:à˜wÐ'à*¨G¬OÐ<à�d”lÐ#à˜TÐ"Ø�4ˆLð
ð€F€F€Fr1   r   )r5   rK   Úpygments.lexerr   r   r   r   Úpygments.tokenr   r   r	   r
   r   r   r   r   r   r   Ú__all__Úcompiler   r   r   r   r   r1   r0   ú<module>r`      sp  ððð ð 
€	€	€	à DÐ DÐ DÐ DÐ DÐ DÐ DÐ DÐ DÐ DÐ DÐ Dð-ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð 1Ð
0Ð
0€ð ˆ2Œ:�gÑÔ€ð)Oð )Oð )Oð )Oð )O�Eñ )Oô )Oð )OðXTð Tð Tð Tð TˆZñ Tô Tð Tðn$ð $ð $ð $ð $ˆjñ $ô $ð $ð $ð $r1   