
­­­­­­­­­­­­­­­­­­
<!DOCTYPE html>
<html>
U
    b`c                     @   sN   d dgZ ddlmZ ddlT ddlT ddlT G dd deZG dd  d ZdS )ParserParserError   )MarkedYAMLError)*c                   @   s   e Zd ZdS )r   N)__name__
__module____qualname__ r	   r	   >/opt/alt/python38/lib64/python3.8/site-packages/yaml/parser.pyr   E   s   c                   @   s  e Zd ZdddZdd Zdd Zdd	 Zd
d Zdd Zdd Z	dd Z
dd Zdd Zdd Zdd Zdd Zdd Zdd ZdDd!d"Zd#d$ Zd%d& Zd'd( Zd)d* Zd+d, Zd-d. Zd/d0 ZdEd1d2Zd3d4 Zd5d6 Zd7d8 Zd9d: ZdFd;d<Zd=d> Z d?d@ Z!dAdB Z"dCS )Gr   !ztag:yaml.org,2002:)r   z!!c                 C   s*   d | _ d | _i | _g | _g | _| j| _d S N)current_eventyaml_versiontag_handlesstatesmarksparse_stream_startstateselfr	   r	   r
   __init__Q   s    zParser.__init__c                 C   s   g | _ d | _d S r   )r   r   r   r	   r	   r
   disposeY   s    zParser.disposec                 G   sL   | j d kr| jr|  | _ | j d k	rH|s,dS |D ]}t| j |r0 dS q0dS )NTF)r   r   
isinstance)r   choicesZchoicer	   r	   r
   check_event^   s    


zParser.check_eventc                 C   s    | j d kr| jr|  | _ | j S r   r   r   r   r	   r	   r
   
peek_eventk   s    

zParser.peek_eventc                 C   s*   | j d kr| jr|  | _ | j }d | _ |S r   r   )r   valuer	   r	   r
   	get_eventr   s    

zParser.get_eventc                 C   s(   |   }t|j|j|jd}| j| _|S )N)encoding)	get_tokenZStreamStartEvent
start_markend_markr   parse_implicit_document_startr   r   tokeneventr	   r	   r
   r      s    
zParser.parse_stream_startc                 C   s\   |  tttsP| j| _|  }|j }}t||dd}| j	
| j | j| _|S |  S d S )NFexplicit)check_tokenDirectiveTokenDocumentStartTokenStreamEndTokenDEFAULT_TAGSr   
peek_tokenr!   DocumentStartEventr   appendparse_document_endparse_block_noder   parse_document_start)r   r%   r!   r"   r&   r	   r	   r
   r#      s    
z$Parser.parse_implicit_document_startc                 C   s   |  tr|   q |  ts|  }|j}|  \}}|  ts`td d d|  j	 |  j|  }|j
}t||d||d}| j| j | j| _n0|  }t|j|j
}| jrt| jrtd | _|S )Nz)expected '<document start>', but found %rT)r(   versiontags)r)   DocumentEndTokenr    r,   r.   r!   process_directivesr+   r   idr"   r/   r   r0   r1   parse_document_contentr   ZStreamEndEventAssertionErrorr   )r   r%   r!   r4   r5   r"   r&   r	   r	   r
   r3      s8    



  


zParser.parse_document_startc                 C   sL   |   }|j }}d}| tr2|  }|j}d}t|||d}| j| _|S )NFTr'   )	r.   r!   r)   r6   r    r"   ZDocumentEndEventr3   r   )r   r%   r!   r"   r(   r&   r	   r	   r
   r1      s    

zParser.parse_document_endc                 C   s<   |  ttttr0| |  j}| j	 | _
|S |  S d S r   )r)   r*   r+   r6   r,   process_empty_scalarr.   r!   r   popr   r2   )r   r&   r	   r	   r
   r9      s      zParser.parse_document_contentc                 C   s   d | _ i | _| tr|  }|jdkrn| j d k	rBtd d d|j|j\}}|dkrdtd d d|j|j| _ q|jdkr|j\}}|| jkrtd d d| |j|| j|< q| jr| j | j	 f}n
| j d f}| j
D ]}|| jkr| j
| | j|< q|S )NZYAMLzfound duplicate YAML directiver   z:found incompatible YAML document (version 1.* is required)ZTAGzduplicate tag handle %r)r   r   r)   r*   r    namer   r!   r   copyr-   )r   r%   majorminorhandleprefixr   keyr	   r	   r
   r7      s@    


 







zParser.process_directivesc                 C   s   | j ddS )NT)block
parse_noder   r	   r	   r
   r2     s    zParser.parse_block_nodec                 C   s   |   S r   rE   r   r	   r	   r
   parse_flow_node  s    zParser.parse_flow_nodec                 C   s   | j dddS )NT)rD   indentless_sequencerE   r   r	   r	   r
   'parse_block_node_or_indentless_sequence  s    z.Parser.parse_block_node_or_indentless_sequenceFc              	   C   sR  |  tr4|  }t|j|j|j}| j | _	nd }d }d  } }}	|  t
r|  }|j}|j}|j}|  tr|  }|j}	|j}|j}nF|  tr|  }|j }}	|j}|j}|  t
r|  }|j}|j}|d k	r&|\}
}|
d k	r"|
| jkrtd|d|
 |	| j|
 | }n|}|d kr>|  j }}d }|d kpR|dk}|r|  tr|  j}t|||||}| j| _	n|  tr|  }|j}|jr|d ks|dkrd}n|d krd}nd}t||||j|||jd}| j | _	nH|  tr<|  j}t|||||dd	}| j| _	n|  trp|  j}t|||||dd	}| j| _	n|r|  tr|  j}t|||||d
d	}| j| _	n|r|  tr|  j}t|||||d
d	}| j| _	nj|d k	s|d k	rt|||d
fd||}| j | _	n2|r(d}nd}|  }td| |d|j |j|S )Nzwhile parsing a nodezfound undefined tag handle %rr   TF)FT)FF)styleTZ
flow_styleF rD   Zflowzwhile parsing a %s nodez'expected the node content, but found %r) r)   Z
AliasTokenr    Z
AliasEventr   r!   r"   r   r<   r   ZAnchorTokenZTagTokenr   r   r.   BlockEntryTokenZSequenceStartEventparse_indentless_sequence_entryZScalarTokenZplainScalarEventrK   ZFlowSequenceStartTokenparse_flow_sequence_first_entryZFlowMappingStartTokenMappingStartEventparse_flow_mapping_first_keyZBlockSequenceStartToken parse_block_sequence_first_entryZBlockMappingStartTokenparse_block_mapping_first_keyr8   )r   rD   rH   r%   r&   Zanchortagr!   r"   Ztag_markrA   suffixZimplicitZnoder	   r	   r
   rF     s    









 
  
  
  

  

  
 
zParser.parse_nodec                 C   s   |   }| j|j |  S r   )r    r   r0   r!   parse_block_sequence_entryr   r%   r	   r	   r
   rT   x  s    z'Parser.parse_block_sequence_first_entryc                 C   s   |  trH|  }|  tts4| j| j |  S | j| _| 	|j
S |  tsv|  }td| jd d|j |j|  }t|j|j
}| j | _| j  |S )Nz while parsing a block collection"expected <block end>, but found %r)r)   rN   r    BlockEndTokenr   r0   rX   r2   r   r;   r"   r.   r   r   r8   r!   SequenceEndEventr<   r$   r	   r	   r
   rX   }  s$    

 
z!Parser.parse_block_sequence_entryc                 C   sr   |  trL|  }|  tttts8| j| j | 	 S | j| _
| |jS |  }t|j|j}| j | _
|S r   )r)   rN   r    KeyToken
ValueTokenr\   r   r0   rO   r2   r   r;   r"   r.   r]   r!   r<   r$   r	   r	   r
   rO     s    
  z&Parser.parse_indentless_sequence_entryc                 C   s   |   }| j|j |  S r   )r    r   r0   r!   parse_block_mapping_keyrY   r	   r	   r
   rU     s    z$Parser.parse_block_mapping_first_keyc                 C   s   |  trJ|  }|  ttts6| j| j |  S | j| _	| 
|jS |  tsx|  }td| jd d|j |j|  }t|j|j}| j | _	| j  |S )Nzwhile parsing a block mappingrZ   r[   )r)   r^   r    r_   r\   r   r0   parse_block_mapping_valuerI   r   r;   r"   r.   r   r   r8   r!   MappingEndEventr<   r$   r	   r	   r
   r`     s$    

 
zParser.parse_block_mapping_keyc                 C   sl   |  trL|  }|  ttts6| j| j |  S | j| _	| 
|jS n| j| _	|  }| 
|jS d S r   )r)   r_   r    r^   r\   r   r0   r`   rI   r   r;   r"   r.   r!   rY   r	   r	   r
   ra     s    
z Parser.parse_block_mapping_valuec                 C   s"   |   }| j|j | jddS NT)first)r    r   r0   r!   parse_flow_sequence_entryrY   r	   r	   r
   rQ     s    z&Parser.parse_flow_sequence_first_entryc                 C   s   |  ts|sF|  tr"|   n$|  }td| jd d|j |j|  t	r||  }t
d d d|j|jdd}| j| _|S |  ts| j| j |  S |  }t|j|j}| j | _| j  |S )Nzwhile parsing a flow sequencerZ   zexpected ',' or ']', but got %rTrL   )r)   FlowSequenceEndTokenFlowEntryTokenr    r.   r   r   r8   r!   r^   rR   r"   %parse_flow_sequence_entry_mapping_keyr   r   r0   re   rG   r]   r<   r   rd   r%   r&   r	   r	   r
   re     s4    


 
 

z Parser.parse_flow_sequence_entryc                 C   sD   |   }| ttts,| j| j |  S | j| _	| 
|jS d S r   )r    r)   r_   rg   rf   r   r0   'parse_flow_sequence_entry_mapping_valuerG   r   r;   r"   rY   r	   r	   r
   rh     s     z,Parser.parse_flow_sequence_entry_mapping_keyc                 C   sj   |  trJ|  }|  tts4| j| j |  S | j| _	| 
|jS n| j| _	|  }| 
|jS d S r   )r)   r_   r    rg   rf   r   r0   %parse_flow_sequence_entry_mapping_endrG   r   r;   r"   r.   r!   rY   r	   r	   r
   rj      s    
z.Parser.parse_flow_sequence_entry_mapping_valuec                 C   s   | j | _|  }t|j|jS r   )re   r   r.   rb   r!   rY   r	   r	   r
   rk     s    z,Parser.parse_flow_sequence_entry_mapping_endc                 C   s"   |   }| j|j | jddS rc   )r    r   r0   r!   parse_flow_mapping_keyrY   r	   r	   r
   rS     s    z#Parser.parse_flow_mapping_first_keyc                 C   s   |  ts|sF|  tr"|   n$|  }td| jd d|j |j|  t	r|  }|  t
tts|| j| j |  S | j| _| |jS n |  ts| j| j |  S |  }t|j|j}| j | _| j  |S )Nzwhile parsing a flow mappingrZ   zexpected ',' or '}', but got %r)r)   FlowMappingEndTokenrg   r    r.   r   r   r8   r!   r^   r_   r   r0   parse_flow_mapping_valuerG   r   r;   r"   parse_flow_mapping_empty_valuerb   r<   ri   r	   r	   r
   rl     s6    


 
 

zParser.parse_flow_mapping_keyc                 C   sj   |  trJ|  }|  tts4| j| j |  S | j| _	| 
|jS n| j| _	|  }| 
|jS d S r   )r)   r_   r    rg   rm   r   r0   rl   rG   r   r;   r"   r.   r!   rY   r	   r	   r
   rn   9  s    
zParser.parse_flow_mapping_valuec                 C   s   | j | _| |  jS r   )rl   r   r;   r.   r!   r   r	   r	   r
   ro   G  s    z%Parser.parse_flow_mapping_empty_valuec                 C   s   t d d dd||S )NrJ   rM   )rP   )r   Zmarkr	   r	   r
   r;   K  s    zParser.process_empty_scalarN)FF)F)F)#r   r   r   r-   r   r   r   r   r   r   r#   r3   r1   r9   r7   r2   rG   rI   rF   rT   rX   rO   rU   r`   ra   rQ   re   rh   rj   rk   rS   rl   rn   ro   r;   r	   r	   r	   r
   r   H   sD   	/
g


N)__all__errorr   tokenseventsscannerr   r   r	   r	   r	   r
   <module>>   s   