
[j[Tc           @   s   d  Z  d d l m Z m Z m Z m Z 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.felix
    ~~~~~~~~~~~~~~~~~~~~~

    Lexer for the Felix language.

    :copyright: Copyright 2006-2014 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
i(   t
   RegexLexert   includet   bygroupst   defaultt   wordst   combined(   t   Textt   Commentt   Operatort   Keywordt   Namet   Stringt   Numbert   Punctuationt
   FelixLexerc        H   B   s  e  Z d  Z d Z d d g Z d d g Z d g Z dZ dZ dZ	 dZ
 dZ dZ dZ dZ dZ d Z i e d  e dd d e d f e dd d e d f d e d f e e d d e f e e	 d d e j f e e
 d d e j f e e d d e j f e e d d e j f e d  d e j f d e j f d e j f d e e j f d e e j f d e e j f d e e j f d e d f d e d f d e d f d e d f d e e  d d  f d e e  d d  f d e e  d d  f d e e  d d  f d e! f d e j" f d d j# e  e j$ f d d j# e  e j$ j% f d e f g d 6d e& f d e& f e dT  d e' j( d f d e' j( dZ f g d 6d d j# e  e) j* f d e) f g d 6d e' j+ f d e' j, d f g dT 6d e' j, f d e' j, d f d e' j, d f d e' j, f g d 6d e' d f d e' d f d e' f g d 6e dT  d e- e' j( e& e  d f d e- e' j( e& e  d f d e- e' j( e& e  d f d e' j( f d e' j( f d e' j( f d e' j( d f g dZ 6e d  d e j. d f d e& d f g d 6e d  d e j/ d f d e& d f g d 6e d  d e! df e0 d  g d 6e d  d e j1 d f g d 6e d  e d  d e! d f d e! d f d e! f d e f d e f g d 6d e j2 f g d 6d e j3 f d e f de f de f g d6d e f g d6de d f de j2 f e d g d 6de d f de j2 f e d g d 6d	e d f e d e d g d 6d
e d f e d e d g d 6Z4 RS(  sZ   
    For `Felix <http://www.felix-lang.org>`_ source code.

    .. versionadded:: 1.2
    t   Felixt   felixt   flxs   *.flxs   *.flxhs   text/x-felixt   elift   elset   endift   ift   ifdeft   ifndeft   _t   _dereft   allt   ast   assertt   attemptt   callt   callbackt   caset   casenot   cclasst   codet   compoundt   ctypest   dot   donet   downtot
   endattemptt   endcaset   endmatcht   enumt   exceptt
   exceptionst   expectt   finallyt   fort   forallt   forgett   forkt   functort   gotot   identt
   incompletet   inheritt   instancet	   interfacet   jumpt   lambdat   loopt   matcht   modulet	   namespacet   newt   noexpandt   nontermt   objt   oft   opent   parset   raiset   regexpt   reglext   regmatcht   renamet   returnt   thet   thent   tot   typet   typecaset   typedeft	   typematcht   typeoft   uptot   whent   whilstt   witht   yieldt   _gc_pointert   _gc_typet   bodyt   commentt   constt   exportt   headert   inlinet   lvalt   macrot   noinlinet   noreturnt   packaget   privatet   podt   propertyt   publict   publisht   requirest   todot   virtualt   uset   deft   lett   reft   valt   vart   unitt   voidt   anyt   boolt   bytet   offsett   addresst   caddresst	   cvaddresst   vaddresst   tinyt   shortt   intt   longt   vlongt   utinyt   ushortt   vshortt   uintt   ulongt   uvlongt   int8t   int16t   int32t   int64t   uint8t   uint16t   uint32t   uint64t   floatt   doublet   ldoublet   complext   dcomplext   lcomplext	   imaginaryt
   dimaginaryt
   limaginaryt   chart   wchart   uchart   charpt   charcpt   ucharpt   ucharcpt   stringt   wstringt   ustringt   contt   arrayt   varrayt   listt   lvaluet   optt   slicet   falset   truet   andt   nott   int   ist   isint   ort   xort   _svct   whilet   roott   selft   thiss*   ([tTsSiIlLvV]|ll|LL|([iIuU])(8|16|32|64))?t
   whitespacet   axiomt   ctort   funt   gent   proct   reducet   uniont   suffixs   \bt   funcnamet   classt   cstructt   structt	   classnames   (instance|module|typeclass)\bt
   modulenamet	   operatorssK   0[xX]([0-9a-fA-F_]*\.[0-9a-fA-F_]+|[0-9a-fA-F_]+)[pP][+\-]?[0-9_]+[lLfFdD]?sH   [0-9_]+(\.[0-9_]+[eE][+\-]?[0-9_]+|\.[0-9_]*|[eE][+\-]?[0-9_]+)[lLfFdD]?s/   \.(0|[1-9][0-9_]*)([eE][+\-]?[0-9_]+)?[lLfFdD]?s   0[Bb][01_]+%ss
   0[0-7_]+%ss   0[xX][0-9a-fA-F_]+%ss   (0|[1-9][0-9_]*)%ss   ([rR][cC]?|[cC][rR])"""t   tdqss   ([rR][cC]?|[cC][rR])'''t   tsqss   ([rR][cC]?|[cC][rR])"t   dqss   ([rR][cC]?|[cC][rR])'t   sqss   [cCfFqQwWuU]?"""t   stringescapes   [cCfFqQwWuU]?'''s   [cCfFqQwWuU]?"s   [cCfFqQwWuU]?'s   [\[\]{}:(),;?]s   [a-zA-Z_]\w*:>s   (%s)\bt   |s   [a-zA-Z_]\w*s   \ns   \s+s
   #\s*if\s+0t   if0t   #s$   !=|==|<<|>>|\|\||&&|[-~+/*%=<>&^|.$]s	   //(.*?)\ns   /[*]t   comment2s   [^/*]s   #pushs   [*]/s   #pops   [/*]s   ^\s*#if.*?(?<!\\)\ns   ^\s*#endif.*?(?<!\\)\ns   .*?\ns   (import|include)(\s+)(<[^>]*?>)s   (import|include)(\s+)("[^"]*?")s   (import|include)(\s+)('[^']*?')s   [^/\n]+t   /s	   (?<=\\)\ns   (?=\()s   (?=\{)s   \[t   modulename2t   tvarlists   ([a-zA-Z_]\w*)s   #pop:2s   \]t   ,s   (with|where)\bsY   \\([\\abfnrtv"\']|\n|N\{.*?\}|u[a-fA-F0-9]{4}|U[a-fA-F0-9]{8}|x[a-fA-F0-9]{2}|[0-7]{1,3})sR   %(\([a-zA-Z0-9]+\))?[-#0 +]*([0-9]+|[*])?(\.([0-9]+|[*]))?[hlL]?[diouxXeEfFgGcrs%]s   [^\\\'"%\n]+s   [\'"\\]t   %t   stringst   nlt   "s   \\\\|\\"|\\\nt   's   \\\\|\\'|\\\ns   """s   '''(   R   s   elseR   R   R   R   (H   R   R   s   allR   s   assertR   s   callR   R    R!   R"   s   codeR$   R%   R&   s   doneR(   R   s   elseR)   R*   R   R+   R,   R-   s
   exceptionsR/   R0   R1   R2   R3   s   forkR5   R6   R7   R   R8   R9   s   instanceR;   s   jumps   lambdaR>   s   matchs   modules	   namespaces   newRC   RD   s   objRF   s   opens   parseRI   RJ   RK   RL   s   renameRN   RO   RP   RQ   s   typeRS   RT   RU   RV   RW   RX   RY   RZ   R[   (   R\   R]   R^   R_   R`   Ra   Rb   Rc   Rd   Re   Rf   Rg   s   packageRi   Rj   s   propertyRl   Rm   Rn   Ro   Rp   Rq   (   Rr   Rs   s   refRu   s   var(7   Rw   s   voids   anys   boolR{   s   offsetR}   R~   R   R   R   R   s   ints   longR   R   R   R   R   R   R   R   R   R   R   R   R   R   R   s   floatR   R   s   complexR   R   R   R   R   s   charR   R   R   R   R   R   s   stringR   R   R   s   arrayR   s   listR   R   s   slice(   R   R   (   R   R   s   inR   R   s   orR   (   R   R   (   R   s   selfs   this(   R   R   R   R   R   s   reduces   union(   R   R"   R   s   objR   (   R   R   (5   t   __name__t
   __module__t   __doc__t   namet   aliasest	   filenamest	   mimetypest   preproct   keywordst   keyword_directivest   keyword_declarationst   keyword_typest   keyword_constantst   operator_wordst   name_builtinst   name_pseudot   decimal_suffixesR   R   R	   R
   t	   Decoratort   Declarationt   Typet   ConstantR   t   Floatt   Bint   Octt   Hext   IntegerR   R   R   t   Labelt   joint   Builtint   PseudoR   R   t   PreprocR   t   Wordt   Singlet	   MultilineR   t   Functiont   ClassR   t	   Namespacet   Escapet   Interpolt   tokens(    (    (    s9   /usr/lib/python2.7/dist-packages/pygments/lexers/felix.pyR      s"  	                            																									N(   R   t   pygments.lexerR    R   R   R   R   R   t   pygments.tokenR   R   R   R	   R
   R   R   R   t   __all__R   (    (    (    s9   /usr/lib/python2.7/dist-packages/pygments/lexers/felix.pyt   <module>
   s   .:	