ó
|£*^c           @  sw   d  d l  m Z d  d l Z d a d a d „  Z d „  Z d „  Z d e	 d „ Z
 d d e	 d „ Z d e	 d „ Z d S(	   iÿÿÿÿ(   t   unicode_literalsNc         C  s   |  j  ƒ  a g  a d  S(   N(   t   flattent   tokenst   pushback(   t   stmt(    (    s^   /home/gitlab-runner/builds/8480fa44/0/bergerc/fluidmanager-web/art-framework/bin/rad/parser.pyt   init_parser	   s    c          C  sq   t  t ƒ d k r t j ƒ  SxN t rl t t d  ƒ }  |  d  k se |  j ƒ  r |  j t	 j j
 j k r |  Sq Wd  S(   Ni    (   t   lenR   t   popt   Truet   nextR   t   Nonet   is_whitespacet   ttypet   sqlparset   Tokent   Comment(   t   tok(    (    s^   /home/gitlab-runner/builds/8480fa44/0/bergerc/fluidmanager-web/art-framework/bin/rad/parser.pyt   take   s    
	c         C  s   t  j |  ƒ d  S(   N(   R   t   append(   t   token(    (    s^   /home/gitlab-runner/builds/8480fa44/0/bergerc/fluidmanager-web/art-framework/bin/rad/parser.pyt   untake   s    c         C  s_   |  j  | k r t S| d  k	 rW |  j s. | rG |  j j ƒ  | j ƒ  k S|  j | k Sn t Sd  S(   N(   R   t   FalseR
   t
   is_keywordt   valuet   upperR   (   R   R   R   t   icmp(    (    s^   /home/gitlab-runner/builds/8480fa44/0/bergerc/fluidmanager-web/art-framework/bin/rad/parser.pyt   match_token   s    c         C  st   t  ƒ  } | d  k r$ t d ƒ ‚ n  |  d  k r4 | St | |  | | ƒ sp t d j | j | j |  | ƒ ƒ ‚ n  | S(   Nu   Unexpected end of stream.u*   Unexpected token {}"{}" (expected {}"{}").(   R   R
   t
   ValueErrorR   t   formatR   R   (   R   R   R   R   (    (    s^   /home/gitlab-runner/builds/8480fa44/0/bergerc/fluidmanager-web/art-framework/bin/rad/parser.pyt   consume)   s    		c         C  s6   t  ƒ  } | d  k r t St | ƒ t | |  | | ƒ S(   N(   R   R
   R   R   R   (   R   R   R   R   (    (    s^   /home/gitlab-runner/builds/8480fa44/0/bergerc/fluidmanager-web/art-framework/bin/rad/parser.pyt   peek4   s
    	
(   t
   __future__R    R   R
   R   R   R   R   R   R   R   R   R   (    (    (    s^   /home/gitlab-runner/builds/8480fa44/0/bergerc/fluidmanager-web/art-framework/bin/rad/parser.pyt   <module>   s   			