a
    ==ich                     @   s   d dl Z G dd deZdS )    Nc                
   @   sx   e Zd Zddd fddd fddd fdd	d fd
dd fddd fddd fddd fgZdd Zdd Zdd ZdS )Parserz````(.+?)````c                 C   s   | | dS N   ZaddCodegroupmf r
   j/home/droni/.local/share/virtualenvs/DPS-5Je3_V2c/lib/python3.9/site-packages/caffe2/python/docs/parser.py<lambda>       zParser.<lambda>z```(.+?)```c                 C   s   | | dS r   r   r   r
   r
   r   r      r   z((( {2})+)(\S.*)(\n\s*\n|\n))+c                 C   s   | | dS Nr   r   r   r
   r
   r   r      r   z	([^\.])\nc                 C   s   | dj| ddpdS )Nz{c} r   )cT)ZaddRawformatr   r   r
   r
   r   r      r   z`(.+?)`c                 C   s   | | ddS )Nr   Tr   r   r
   r
   r   r      r   zNhttp[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\(\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+c                 C   s   | | d| dS r   )ZaddLinkr   r   r
   r
   r   r   "   r   z\*\*(.+?)\*\*c                 C   s   | | ddS )Nr      ZaddEmphasisr   r   r
   r
   r   r   %   r   z	\*(.+?)\*c                 C   s   | | ddS r   r   r   r
   r
   r   r   (   r   c                 C   s   || _ g | _|| _d S N)textlines	formatter)selfr   r   r
   r
   r   __init__,   s    zParser.__init__c                 C   sr  d}d}|| j fg}| jD ]*\}}d}|t|k r|| \}}||krR|d7 }q(t||}	|	r<|| |	d}
|	d}| j	 }||	|}|r|d |
 |
  ||d   }||||f nn|d |
 r||||d |
 f |d7 }||||
 f |d7 }||d  rD|||||d  f q(|d7 }q(q|  jdd |D 7  _d| j| _ d S )Nr   r   c                 S   s   g | ]\}}|qS r
   r
   ).0_ir
   r
   r   
<listcomp>[   r   z$Parser.parseText.<locals>.<listcomp> )r   regexeslenresearchpopstartendr   clonedumpinsertr   join)r   ZUNPARSEDZPARSEDZparsed_blockregexfuncindexlabelr   matchr#   r$   r	   mergemergedr
   r
   r   	parseText1   sD    




 zParser.parseTextc                 C   s   |    | jS r   )r0   r   )r   r
   r
   r   parse^   s    zParser.parseN)__name__
__module____qualname__r   r   r0   r1   r
   r
   r
   r   r   
   s8   -r   )r    objectr   r
   r
   r
   r   <module>   s   