
l2RTc           @   s   d  Z  d d l Z d d l m Z m Z d d l m Z m Z m Z m	 Z	 m
 Z
 m Z m Z m Z d g Z d e f d     YZ d S(   s   
    pygments.lexers.urbi
    ~~~~~~~~~~~~~~~~~~~~

    Lexers for UrbiScript language.

    :copyright: Copyright 2006-2014 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
iN(   t   ExtendedRegexLexert   words(   t   Textt   Commentt   Operatort   Keywordt   Namet   Stringt   Numbert   Punctuationt   UrbiscriptLexerc        Q   B   s  e  Z d  Z d Z d g Z d g Z d g Z e j Z	 d   Z
 i d e f d e f d e j d	 f d
 e f e d d( d) e f e d d( d) e j f dN e f dO e f dP e j f dQ e j f e d d( d) e j f d e j j f d e f d e j f d e f d e f d e j f d e j f d e j f d e j d f d e j d f g d 6d e
 f d e j d f g d 6d e
 f d e j d f g d 6d e j f d e j d f d e j d f d e j f g d	 6Z  RS(   s@   
    For UrbiScript source code.

    .. versionadded:: 1.5
    t
   UrbiScriptt
   urbiscripts   *.us   application/x-urbiscriptc   	      c   s  | j  d  } | j  d  } | j  d  } t |  } | j   t | f V| j t |  7_ | j | j   | d k r d | d } | j   t | f V| j t |  7_ d  S| | j | j   | j   | !d } | j   t j | f V| j   | d | _ d  S(   Ni   i   i   t   )s   \B(s   )((	   t   groupt   intt   startR   t   post   lent   textt   endt   Escape(	   t   lexert   matcht   ctxt   text_before_blobt
   blob_startt   blob_size_strt	   blob_sizet   resultt	   blob_text(    (    s8   /usr/lib/python2.7/dist-packages/pygments/lexers/urbi.pyt   blob_callback'   s    (s   \s+s   //.*?\ns   /\*t   comments"   (every|for|loop|while)(?:;|&|\||,)t   assertt   att   breakt   caset   catcht   closuret   complt   continuet   defaultt   elset   enumt   everyt   externalt   finallyt   fort   freezeift   ift   newt   onleavet   returnt   stopift   switcht   thist   throwt   timeoutt   tryt	   waituntilt   whenevert   whilet   suffixs   \bt   asmt   autot   boolt   chart
   const_castt   deletet   doublet   dynamic_castt   explicitt   exportt   externt   floatt   friendt   gotot   inlineR   t   longt   mutablet	   namespacet   registert   reinterpret_castt   shortt   signedt   sizeoft   static_castt   structt   templatet   typedeft   typeidt   typenamet   uniont   unsignedt   usingt   virtualt   volatilet   wchar_ts&   (emit|foreach|internal|loopn|static)\bs   (private|protected|public)\bs   (var|do|const|function|class)\bs   (true|false|nil|void)\bt   Barriert   Binaryt   Booleant   CallMessaget   Channelt   Codet
   Comparablet	   Containert   Controlt   Datet
   Dictionaryt	   Directoryt   Durationt   Enumerationt   Eventt	   Exceptiont
   Executablet   Filet   Finalizablet   Floatt
   FormatInfot	   Formattert   Globalt   Groupt   Hasht   InputStreamt	   IoServicet   Jobt   Kernelt   Lazyt   Listt   Loadablet   Lobbyt   Locationt   Loggert   Matht   Mutext   nilt   Objectt	   Orderablet   OutputStreamt   Pairt   Patht   Patternt   Positiont	   Primitivet   Processt   Profilet
   PseudoLazyt   PubSubt   RangeIterablet   Regexpt	   Semaphoret   Servert	   Singletont   Sockett
   StackFramet   StreamR   t   Systemt   Tagt   Timeoutt	   Traceablet   TrajectoryGeneratort   Triplett   Tuplet   UObjectt   UValuet   UVars
   (?:this)\bs   (?:[-=+*%/<>~^:]+|\.&?|\|\||&&)s?   (?:and_eq|and|bitand|bitor|in|not|not_eq|or_eq|or|xor_eq|xor)\bs   [{}\[\]()]+s   (?:;|\||,|&|\?|!)+s   [$a-zA-Z_]\w*s   0x[0-9a-fA-F]+sV   (?:[0-9]+(?:(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?)?((?:rad|deg|grad)|(?:ms|s|min|h|d))?)\bt   "s   string.doublet   's   string.singlet   roots%   ((?:\\\\|\\"|[^"])*?)(\\B\((\d+)\)\()s   (\\\\|\\"|[^"])*?"s   #pops%   ((?:\\\\|\\'|[^'])*?)(\\B\((\d+)\)\()s   (\\\\|\\'|[^'])*?'s   [^*/]s   #pushs   \*/s   [*/](   s   asserts   atR#   R$   R%   R&   R'   R(   s   defaults   elseR+   R,   R-   R.   R/   R0   R1   s   newR3   R4   R5   R6   s   thiss   throwR9   R:   R;   R<   R=   ($   R?   R@   s   bools   charRC   RD   RE   RF   RG   RH   RI   s   floatRK   RL   RM   s   ints   longRO   s	   namespaces   registerRR   RS   RT   RU   RV   RW   s   templateRY   RZ   R[   s   unionR]   R^   R_   R`   Ra   (E   Rb   Rc   Rd   Re   Rf   Rg   Rh   s	   ContainerRj   Rk   Rl   Rm   Rn   Ro   Rp   s	   ExceptionRr   Rs   Rt   s   FloatRv   Rw   Rx   Ry   Rz   R{   R|   R}   R~   R   R   R   R   R   R   R   R   R   R   R   R   R   R   s   PatternR   R   R   R   R   R   R   R   R   R   R   R   R   R   s   StringR   R   R   R   R   R   R   R   R   R   (!   t   __name__t
   __module__t   __doc__t   namet   aliasest	   filenamest	   mimetypest   ret   DOTALLt   flagsR   R   R   t	   MultilineR   R   t   Reservedt   Declarationt   ConstantR   t   Builtint   PseudoR   t   WordR	   t   OtherR   t   HexRu   R   t   Doublet   Singlet   tokens(    (    (    s8   /usr/lib/python2.7/dist-packages/pygments/lexers/urbi.pyR
      s   								         			           								(   R   R   t   pygments.lexerR    R   t   pygments.tokenR   R   R   R   R   R   R   R	   t   __all__R
   (    (    (    s8   /usr/lib/python2.7/dist-packages/pygments/lexers/urbi.pyt   <module>
   s
   :	