-=[ Mr. Bumblebee ]=-
_Indonesia_
ó
Ì\,Tc @ s6 d d l Z d d l m Z d e f d „ ƒ YZ d S( iÿÿÿÿN( t _t parserc B sP e Z d d „ Z d „ Z d „ Z d d „ Z d d „ Z d „ Z d „ Z RS( c C s( | | _ | | _ | | _ d | _ d S( N( t
_tokenizert _elementst _methodst Nonet current( t selft tokenizert elementst methods( ( s4 /usr/lib/python2.7/dist-packages/mercurial/parser.pyt __init__ s c C s7 | j } y | j j ƒ | _ Wn t k
r2 n X| S( s advance the tokenizer( R t _itert nextt
StopIteration( R t t( ( s4 /usr/lib/python2.7/dist-packages/mercurial/parser.pyt _advance s
c C sN | j d | k r@ t j t d ƒ | j d | j d ƒ ‚ n | j ƒ d S( s0 make sure the tokenizer matches an end conditioni s unexpected token: %si N( R t errort
ParseErrorR R ( R t mt pos( ( s4 /usr/lib/python2.7/dist-packages/mercurial/parser.pyt _match# s i c
C s{ | j ƒ \ } } } | j | d } | sK t j t d ƒ | | ƒ ‚ n t | ƒ d k rp | d | f } n– t | ƒ d k rÀ | d | j d k rÀ | j | d | ƒ | d d f } nF | d | j | d ƒ f } t | ƒ d k r| j | d | ƒ n xn| | j | j d d k rv| j ƒ \ } } } | j | } t | ƒ d k r‘| j | j d d r‘| d } | d | f } q t | ƒ d k s®| d rÍt j t d ƒ | | ƒ ‚ n | d } t | ƒ d k r*| d | j d k r*| j | d | ƒ | d | d f } q | d | | j | d ƒ f } t | ƒ d k r | j | d | ƒ q q W| S( Ni s not a prefix: %si i i i s not an infix: %s(
R R R R R t lenR R R t _parse(
R t bindt tokent valueR t prefixt exprt et suffixt infix( ( s4 /usr/lib/python2.7/dist-packages/mercurial/parser.pyR ) s8 )!
+
) c C sb | r | j | | ƒ | _ n | j | ƒ | _ | j ƒ | j ƒ } | j \ } } } | | f S( s$ generate a parse tree from a message( R R R R R ( R t messaget lookupt resR R R ( ( s4 /usr/lib/python2.7/dist-packages/mercurial/parser.pyt parseN s
c C sH t | t ƒ s | S| j | d g | d D] } | j | ƒ ^ q, Œ S( s4 recursively evaluate a parse tree using node methodsi i ( t
isinstancet tupleR t eval( R t treeR ( ( s4 /usr/lib/python2.7/dist-packages/mercurial/parser.pyR&