U
    ”0c:  ã                   @   sF   d dl Z dadd„ Zdd„ Zdd„ Zdd	d
„Zddd„Zddd„ZdS )é    Nc                 C   s:   g a |  ¡ D ](}|jrq|jtjjjkr*qt  |¡ qd S )N)	ÚpushbackÚflattenÚis_whitespaceÚttypeÚsqlparseÚtokensÚTokenÚCommentÚappend)ÚstmtÚtoken© r   ú^/home/gitlab-runner/builds/AH7KJJS4/0/bergerc/fluidmanager-web/art-framework/bin/rad/parser.pyÚinit_parser   s    r   c                   C   s   t tƒdkrt d¡S d S d S ©Nr   )Úlenr   Úpopr   r   r   r   Útake   s    
r   c                 C   s   t  d| ¡ d S r   )r   Úinsert)Útokr   r   r   Úuntake   s    r   Fc                 C   sF   | j |krdS |d k	r>| js |r2| j ¡ | ¡ kS | j|kS ndS d S )NFT)r   Ú
is_keywordÚvalueÚupper)r   r   r   Úicmpr   r   r   Úmatch_token   s    

r   c                 C   sL   t ƒ }|d krtdƒ‚| d kr"|S t|| ||ƒsHtd |j|j| |¡ƒ‚|S )NzUnexpected end of stream.z*Unexpected token {}"{}" (expected {}"{}").)r   Ú
ValueErrorr   Úformatr   r   ©r   r   r   r   r   r   r   Úconsume&   s       ÿr   c                 C   s(   t ƒ }|d krdS t|ƒ t|| ||ƒS )NF)r   r   r   r   r   r   r   Úpeek1   s
    r    )NF)NNF)NF)r   r   r   r   r   r   r   r    r   r   r   r   Ú<module>   s   


