ó
xiù\c           @   s‘   d  Z  d d l 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 m Z m Z d g Z d e f d „  ƒ  YZ d S(   sÌ   
    pygments.lexers.clean
    ~~~~~~~~~~~~~~~~~~~~~

    Lexer for the Clean language.

    :copyright: Copyright 2006-2019 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
iÿÿÿÿ(   t   ExtendedRegexLexert   wordst   includet   bygroups(
   t   Commentt   Errort   Keywordt   Literalt   Namet   Numbert   Operatort   Punctuationt   Stringt
   Whitespacet
   CleanLexerc           B   s€  e  Z d  Z d Z d g Z d d g Z dm Z dn Z d Z d Z	 d  Z
 d! e	 Z d! e Z d" Z d# j e e	 e
 g ƒ Z i e d$ ƒ e d% ƒ e d& ƒ e d' ƒ e d( ƒ e d) ƒ e d* ƒ e d+ ƒ e d, ƒ g	 d- 6d. e f g d( 6d/ e j f d0 e j d1 f d2 e j d1 f g d$ 6d3 e j d4 f d0 e j d5 f d6 e j f d7 e j f d8 e j f g d1 6e e d9 d: d; d: ƒe f g d% 6e e d9 d: d; d: ƒe j f d< e j d= f g d& 6e d( ƒ e e j d4 f g d= 6d> e e e ƒ d? f d@ e dA e e e e j e e ƒ dB f g d' 6dC e e e ƒ f dD e e e ƒ do f e e j f dF e e e e ƒ f dG e d4 f g d? 6e d( ƒ e e j d4 f e	 e j d4 f g dE 6dH e dI e e e e j ƒ dJ f dK e dL e e e e j e ƒ dM f dN e	 dO e e e e j ƒ dP f dQ e d# e	 dO e e e e ƒ f e d, ƒ dR e e e ƒ f dS e d4 f e d( ƒ g dB 6dT e d4 f dU e dV f dS e dW f e d( ƒ g dJ 6dT e f dX e f dY e d4 f e d, ƒ g dV 6dZ e d4 f dU e dM f dS e dW f e d( ƒ e d, ƒ g dM 6dT e d4 f d[ e d\ f dS e dW f e d( ƒ g dP 6dT e f dX e f d] e d4 f e d, ƒ g d\ 6d^ e j f d_ e j  f d` e j! f da e j" f db e j# f dc e f dd e$ j% de f g d) 6df e$ j% f dd e$ j% d4 f dg e$ j% f dh e& d4 f g de 6di e' f dj e' f g d* 6dk e f dl e e e j e ƒ f g d+ 6e e f e e f e
 e j( f e	 e j f e e j f g d, 6Z) RS(p   s«   
    Lexer for the general purpose, state-of-the-art, pure and lazy functional
    programming language Clean (http://clean.cs.ru.nl/Clean).

    .. versionadded: 2.2
    t   Cleant   cleans   *.icls   *.dclt   caset   ccallt   classt   codes   code inlinet   derivet   exportt   foreignt   generict   ift   int   infixt   infixlt   infixrt   instancet   lett   oft	   otherwiset   specialt   stdcallt   wheret   witht   implementationt
   definitiont   systems   [a-z`][\w\d`]*s   [A-Z`][\w\d`]*s   [~@#\$%\^?!+\-*<>\\/|&=:]+t   _s   [a-zA-Z_][a-zA-Z0-9_.`]+t   |t   commentst   keywordst   modulet   importt
   whitespacet   literalst	   operatorst
   delimiterst   namest   roots   \s+s   //.*\ns   /\*s   comments.ins   /\*\*s   \*\/s   #pops   #pushs   [^*/]+s   \*(?!/)t   /t   prefixs   \bt   suffixs
   \bmodule\bs   module.names   \b(import)\b(\s*)s   import.modules   \b(from)\b(\s*)\b(s   )\b(\s*)\b(import)\bs   import.whats   \b(qualified)\b(\s*)s   (\s*)\b(as)\bs   import.module.ass   (\s*)(,)(\s*)s   \s*s   \b(class)\b(\s+)(t   )s   import.what.classs   \b(instance)(\s+)(s   )(\s+)s   import.what.instances   (::)(\s*)\b(s   )\bs   import.what.types   \b(generic)\b(\s+)\b(s   (,)(\s+)t   $t   ,s   \(s   import.what.class.memberss   #pop:2s   \.\.s   \)s   [,)]s   [({]s    import.what.type.consesandfieldss   [)}]s$   \'([^\'\\]|\\(x[\da-fA-F]+|\d+|.))\'s   [+~-]?0[0-7]+\bs   [+~-]?\d+\.\d+(E[+-]?\d+)?s   [+~-]?\d+\bs   [+~-]?0x[\da-fA-F]+\bs
   True|Falset   "s   literals.stringds	   [^\\"\n]+s   \\.s   [$\n]s   [-~@#\$%\^?!+*<>\\/|&=:\.]+s   \b_+\bs   [,;(){}\[\]]s   (\')([\w`.]+)(\')(   R   R   R   R   s   code inlineR   R   R   R   R   R   R   R   R   R   R   R    R!   R"   R#   R$   R%   (   R&   R'   R(   (   s   #pops   import.module.as(*   t   __name__t
   __module__t   __doc__t   namet   aliasest	   filenamesR,   t   modulewordst   lowerIdt   upperIdt   funnyIdt   scoreUpperIdt   scoreLowerIdt   moduleIdt   joint   classIdR   R   R   t   Singlet   Multit   SpecialR   R   t	   NamespaceR   t   ClassR   R   R   t   CharR	   t   Octt   Floatt   Integert   HexR   t   DoubleR   R
   t   Functiont   tokens(    (    (    s4   lib/python2.7/site-packages/pygments/lexers/clean.pyR      sÔ   	   

								"													N(   R>   t   pygments.lexerR    R   R   R   t   pygments.tokenR   R   R   R   R   R	   R
   R   R   R   t   __all__R   (    (    (    s4   lib/python2.7/site-packages/pygments/lexers/clean.pyt   <module>
   s   "F	