ó
xiù\c           @   s­   d  Z  d d l m Z d d l m Z 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 m Z d g Z d e f d „  ƒ  YZ d S(   sÏ   
    pygments.lexers.fantom
    ~~~~~~~~~~~~~~~~~~~~~~

    Lexer for the Fantom language.

    :copyright: Copyright 2006-2019 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
iÿÿÿÿ(   t   Template(   t
   RegexLexert   includet   bygroupst   usingt   thist   defaultt   words(	   t   Textt   Commentt   Operatort   Keywordt   Namet   Stringt   Numbert   Punctuationt   Literalt   FantomLexerc           B   s  e  Z d  Z d Z d g Z d g Z d g Z d „  Z i d e j	 f d e j
 f d e j f d	 e j
 f g d
 6d e f d e f d e j f d e j f d e j f d e j f d e d f d e d f d e j f d e e j e e j e e e ƒ f d e e j e e j e e j ƒ f d e f e d ƒ e e e d d ƒe ƒ f d e f e d ƒ e e e d d ƒe ƒ f g d 6d e j f d  e j f d! e j f d" e j f d# e j f d e d$ f d% e f g d 6d e j f d  e j f d! e j f d" e j f d# e j f d e d$ f d% e j f g d 6d& e f g d' 6d( e f g d) 6d* e f g d+ 6d, e f g d- 6e  dq dB dC dD dC ƒe f dE e j! j" f g dF 6dG e# f g dH 6dI e f e dJ ƒ e j f e$ d$ ƒ g d 6e% d
 ƒ e% d' ƒ e% d) ƒ e% d+ ƒ e% d- ƒ e% d ƒ e% dF ƒ e% dH ƒ dK e j dL f dM e j& dN f dO e e e' e j ƒ dP f e dQ ƒ e e e d d ƒe' e j( e' e# ƒ f e dR ƒ e e j( e' e# ƒ f e dS ƒ e e# e j e' e ƒ dT f e dU ƒ e e# e j ƒ f dV e e e' e j e' e ƒ dW f e dX ƒ e e e d d ƒe' e j e' e ƒ dW f e dY ƒ e e e d d ƒe' e j( e' e ƒ f e dZ ƒ e e e d d ƒe' e j( e' e e' e e d d ƒe ƒ f e d[ ƒ e e e d d ƒe' e j( e' e ƒ f e d\ ƒ e e e d d ƒe' e j( ƒ f d] e dT f d^ e d_ f d% e' f g d` 6da e d$ f e% d` ƒ g dT 6da e d$ f e db ƒ e e e d d ƒe' e j( e' e ƒ d$ f e% d` ƒ g dW 6dc e d$ f e% d` ƒ g d_ 6dd e' f de e f df e e j e e j ƒ f d^ e d$ f g dP 6dg e' f dh e e e j e ƒ f di e e e j e ƒ f dj e dk f e$ d$ ƒ g dL 6dg e' f dl e e j) e' e j ƒ dm f dn e j f e$ dm ƒ g dk 6dd e' f d^ e do f e$ d$ ƒ g dN 6e% d
 ƒ e% d ƒ e% dH ƒ dd e' f dp e e' e e' e# ƒ f dc e d$ f d% e' f g do 6Z* RS(r   s<   
    For Fantom source code.

    .. versionadded:: 1.5
    t   Fantomt   fans   *.fans   application/x-fantomc      
   C   s.   t  |  ƒ j t d d d d d d d d ƒ ƒ S(	   Nt   pods	   [\"\w\.]+t   eoss   \n|;t   ids   [a-zA-Z_]\w*t   types#   (?:\[|[a-zA-Z_]|\|)[:\w\[\]|\->?]*?(   R    t
   substitutet   dict(   t   str(    (    s5   lib/python2.7/site-packages/pygments/lexers/fantom.pyt   s"   s    s   (?s)/\*.*?\*/s   //.*?\ns	   \*\*.*?\ns   #.*\nt   commentss    \b-?[\d_]+(ns|ms|sec|min|hr|day)s(   \b-?[\d_]*\.[\d_]+(ns|ms|sec|min|hr|day)s   \b-?(\d+)?\.\d+(f|F|d|D)?s   \b-?0x[0-9a-fA-F_]+s
   \b-?[\d_]+s   '\\.'|'[^\\]'|'\\u[0-9a-f]{4}'t   "t	   insideStrt   `t	   insideUris   \b(true|false|null)\bs"   (?:(\w+)(::))?(\w+)(<\|)(.*?)(\|>)s   (?:(\w+)(::))?(\w+)?(#)(\w+)?s   \[,\]s   ($type)(\[,\])t   statet   inTypes   \[:\]s   ($type)(\[:\])t   literalss   \\\\s   \\"s   \\`s   \$\w+s	   \$\{.*?\}s   #popt   .s'   \b(public|protected|private|internal)\bt   protectionKeywordss,   \b(abstract|final|const|native|facet|enum)\bt   typeKeywordss8   \b(abstract|native|once|override|static|virtual|final)\bt   methodKeywordssB   \b(abstract|const|final|native|override|static|virtual|readonly)\bt   fieldKeywordst   tryt   catcht   throwt   finallyt   fort   ift   elset   whilet   ast   ist   isnott   switcht   caseR   t   continuet   breakt   dot   returnt   gett   sett   prefixs   \bt   suffixs   \b(it|this|super)\bt   otherKeywordss4   \+\+|\-\-|\+|\-|\*|/|\|\||&&|<=>|<=|<|>=|>|=|!|\[|\]t	   operatorss   [\[\]|\->:?]s   $ids   using\bR   s   @\w+t   facets   (class|mixin)(\s+)(\w+)t   inheritances   ($type)([ \t]+)($id)(\s*)(:=)s   ($id)(\s*)(:=)s   (\.|(?:\->))($id)(\s*)(\()t   insideParens   (\.|(?:\->))($id)s   (new)(\s+)(make\w*)(\s*)(\()t   insideMethodDeclArgss   ($type)([ \t]+)($id)(\s*)(\()s   ($type)(\s+)($id)(\s*)(,)s+   ($type)(\s+)($id)(\s*)(\->)(\s*)($type)(\|)s   ($type)(\s+)($id)(\s*)(\|)s   ($type)([ \t]+)($id)s   \(s   \{t   insideBracet   roots   \)s   ($type)(\s+)($id)(\s*)(\))s   \}s   \s+s   :|,s   (?:(\w+)(::))?(\w+)s   [ \t]+s   (\[)(\w+)(\])s   (\")?([\w.]+)(\")?s   ::t
   usingClasss   (as)(\s+)(\w+)s   #pop:2s   [\w$]+t   facetFieldss   (\s*)(\w+)(\s*)(=)(   R)   R*   R+   R,   R-   R.   R/   R0   R1   R2   R3   R4   R5   R   R6   R7   R8   R9   R:   R;   (+   t   __name__t
   __module__t   __doc__t   namet   aliasest	   filenamest	   mimetypesR   R	   t	   Multilinet   Singlet   SpecialR   t   Floatt   Hext   IntegerR   t   CharR   R   t   ConstantR   R   t	   Namespacet   Classt   FunctionR   R   R   t   Escapet   Interpolt   BacktickR   t   Builtint   PseudoR
   R   R   t	   DecoratorR   t   Variablet   Declarationt   tokens(    (    (    s5   lib/python2.7/site-packages/pygments/lexers/fantom.pyR      s  										"  																													N(   RJ   t   stringR    t   pygments.lexerR   R   R   R   R   R   R   t   pygments.tokenR   R	   R
   R   R   R   R   R   R   t   __all__R   (    (    (    s5   lib/python2.7/site-packages/pygments/lexers/fantom.pyt   <module>
   s
   4@	