
k[Tc           @   s   d  Z  d d l Z d d l 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 m Z d d g Z d e f d     YZ d e f d     YZ d S(	   s   
    pygments.lexers.haxe
    ~~~~~~~~~~~~~~~~~~~~

    Lexers for Haxe and related stuff.

    :copyright: Copyright 2006-2014 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
iN(   t   ExtendedRegexLexert
   RegexLexert   includet   bygroupst   default(
   t   Textt   Commentt   Operatort   Keywordt   Namet   Stringt   Numbert   Punctuationt   Generict
   Whitespacet	   HaxeLexert	   HxmlLexerc        (   B   s  e  Z d  Z d Z d d d g Z d d g Z d d d	 g Z d
 Z d Z d e d Z	 d Z
 d e d e	 Z e j e j BZ g  Z d   Z ii e d  e d  d e j d f d e j d f d e j d f d e j f d e j d f d e j d f d  e j d! f d" e j d# f d$ e d% f g d& 6d' e f d( e j f d) e j f d* e f g d 6d+ e j d f d. e j f d/ e	 d e j d0 f e d1  g d2 6d3 e j d4 f d5 e j f d6 e j f g d1 6d7 e j d4 f d5 e j f d6 e j f g d8 6d9 e	 e j f d: e j d4 f g d, 6e d  e	 e j f d; e d< f e  d4  g d 6e d  e	 e j f d= e f d; e d< f d> e j d0 f e  d4  g d 6e d  d= e d4 f e	 e j d4 f g d< 6e d  e	 e j f d; e d< f e  d4  g d 6d' e j! f d3 e j d f d7 e j d f e  d4  g d? 6d' e j! f d@ e j! f dA e j! d f e	 e j! d4 f dC e" j# f dD e" j# f dE e" j# f dF e" j# f dG e	 dH e" j# f dI e" j$ f dJ e" j% f d3 e j d f d7 e j d f g dK 6d' e j! f dL e j! d4 f e  dM  g dB 6d' e j! f e
 e j! d f e  d4  g dN 6d' e j! f d@ e j! f dA e j! d f e	 e j! d f dC e" j# d f dD e" j# d f dE e" j# d f dF e" j# d f dG e	 dH e" j# d f dI e" j$ d f dJ e" j% d f d3 e j d f d7 e j d f g dM 6e d  e  d  g d 6e d  dT e d f g dO 6e d  dA e d f e  d4  g dQ 6e d  dX e j dW f dY e f e  d4  g dP 6e d  dZ e j& d f g d 6e d  d^ e j& d4 f e  d4  g d] 6e d  e	 e j& d4 f g d\ 6e d  dA e j& d f e  d4  g d[ 6e d  dL e j& d4 f e  d  g d_ 6e d  dL e j& d4 f dY e d f g d` 6e d  e  d  g d# 6e d  db e' d f g da 6e d  e  d  g d! 6e d  e d  d: e d4 f e e d f g dd 6e d  dA e d f e  d  g df 6e d  e  d  g d 6e d  dj e j dW f dY e f e  d4  g di 6e d  dT e d4 f g de 6e d  d: e d4 f g dk 6e d  e d  d: e d4 f dl e j f e  dm  g dU 6e d  dn e j d f dp e j d f g dm 6e d  e e j( d f e  d  g dt 6e d  e d-  e  d4  g dr 6e d  e	 e j( d f g dq 6e d  dL e d4 f du e f e e d f g dh 6e d  dL e d4 f dY e d f g dv 6e d  dA e d f e  d4  g dz 6e d  d{ e d4 f e e d4 f g dx 6e d  e  d  g d% 6e d  dZ e j& d f d| e' f dA e d f d e j f d e j d f dT e df d e j) df d e df d e df d e df d e j df d e df d e df d e d	f d e d
f d e df d e df d e f d e df d e df d e d4 f d e	 d e df e e df dC e" j# df dD e" j# df dE e" j# df dF e" j# df dG e	 dH e" j# df dI e" j$ df dJ e" j% df d3 e j df d7 e j df d e j* df d e df g# d- 6e d  d e' f e
 e' df d e df du e' df d e d e+ e e  f d e d f dA e d f e  d4  g	 d} 6e d  e d  d^ e df d e j f d e j d f d e j d!f d  e j d"f d" e j d#f e  d$ g	 d 6dT e d%f e d  g d 6e d  dA e d&f e  d' g d 6e d  dY e d(f e  d4  g d 6e d  d e d)f e  d4  g d 6e d  e  d* g d 6e d  d e d+f g d 6e d  dA e d,f g d 6e d  dA e d-f g d 6e d  dA e d.f g d 6e d  d e d/f e  d4  g d 6e d  e  d0 g d 6e d  d e d1f d: e d4 f g d 6e d  d^ e d4 f e  d2 g d 6e d  d^ e d4 f dY e d3f g d 6e d  d e d4f e  d4  g d 6e d  d e d% f e  d4  g d 6e d  e  d5 g d 6e d  d e d4 f e  d6 g d 6e d  d e d4 f dY e d7f g d 6e d  e  d8 g d 6e d  d e d4 f g d 6e d  dY e d4 f g dy 6e d  d^ e d4 f g d 6e d  d e d4 f g d 6e d  d e d4 f e  d4  g dc 6e d  e	 e d4 f g d0 6e d  dT e d9f e  d: g d 6e d  e e d4 f g dS 6e d  d; e d0 f e  d4  g d 6e d  du e f e	 e d;f dT e d<f dA e d=f g dW 6e d  e  d> g d 6e d  d e d?f d e d f e  d4  g d 6e d  d: e d4 f du e f d e d@f e e dAf e dU  g d 6e d  d: e d4 f dY e dBf g d 6dC e" j# d4 f dD e" j# d4 f dE e" j# d4 f dF e" j# d4 f dG e	 dH e" j# d4 f dI e" j$ d4 f dJ e" j% d4 f d3 e j dCf d7 e j dDf d e j* d4 f d e' dEf e dW  g d 6e d  e  dF g d 6e d  d e d4 f dY e dGf g d 6e d  d e dHf e  d4  g dR 6e d  d e d4 f dY e dIf g d 6e d  d^ e dJf e  d4  g d 6e d  dA e dKf e  dL g d 6e d  dL e d4 f dY e dW f g d 6e d  e  dM g d~ 6e d  dA e d4 f g ds 6e d  dL e d4 f g dV 6e d  e e dNf g do 6e d  dY e dOf e  d4  g d 6e d  db e' dPf e  d4  g dw 6e d  d^ e dQf e  d4  g dg 6e d  d^ e' d4 f g d 6e d  dL e d4 f e  dR g d 6e d  dL e d4 f dY e dSf g d 6e d  d e	 d e e dTf d3 e j dUf d7 e j dVf e  dW g d 6e d  d^ e dXf e  dY g d 6e d  d: e d4 f e  d%  g d 6e d  d: e d4 f e  dZ g d 6e d  e e d4 f d3 e j d[f d7 e j d\f g d 6e d  d: e d4 f dY e d]f g d 6Z, d   Z- RS(^  sM   
    For Haxe source code (http://haxe.org/).

    .. versionadded:: 1.3
    t   Haxet   hxt   haxet   hxsls   *.hxs   *.hxsls	   text/haxes   text/x-haxes	   text/x-hxs  (?:function|class|static|var|if|else|while|do|for|break|return|continue|extends|implements|import|switch|case|default|public|private|try|untyped|catch|new|this|throw|extern|enum|in|interface|cast|override|dynamic|typedef|package|inline|using|null|true|false|abstract)\bs
   _*[A-Z]\w*s   (?:_*[a-z]\w*|_+[0-9]\w*|s
   |_+|\$\w+)s   (?:%=|&=|\|=|\^=|\+=|\-=|\*=|/=|<<=|>\s*>\s*=|>\s*>\s*>\s*=|==|!=|<=|>\s*=|&&|\|\||<<|>>>|>\s*>|\.\.\.|<|>|%|&|\||\^|\+|\*|/|\-|=>|=)s   (?!t   )c         c   s   | j  d  } | d k r2 |  j j | j  nT | d k r^ |  j r |  j d | _ q n( | d k r |  j r |  j j   q n  | d k r | j j d  n  | d k r | j j d	  n  | j   t j d
 | f V| j   | _	 d  S(   Ni   t   ift   elset   elseifit   ends   preproc-exprt   errors   preproc-errort   #(   s   elseR   (   R   R   (   s   error(
   t   groupt   preproc_stackt   appendt   stackt   popt   startR   t   PreprocR   t   pos(   t   selft   matcht   ctxt   proc(    (    s8   /usr/lib/python2.7/dist-packages/pygments/lexers/haxe.pyt   preproc_callback;   s    		t   spacest   metas   (?:package)\bt	   semicolont   packages   (?:import)\bt   imports   (?:using)\bt   usings   (?:extern|private)\bs   (?:abstract)\bt   abstracts   (?:class|interface)\bt   classs
   (?:enum)\bt   enums   (?:typedef)\bt   typedefs   (?=.)s   expr-statementt   roots   \s+s
   //[^\n\r]*s	   /\*.*?\*/s   (#)(if|elseif|else|end|error)\bs   \$\{s   string-interpol-closet   exprs   \$\$s   \$(?=t   idents   string-singles   string-single-interpolt   's   #pops   \\.t   .t   "s   string-doubles   \$s   \}s   \.s   import-idents   \*t   ins   preproc-errors   \!s   \(s   preproc-parenthesiss   \.[0-9]+s   [0-9]+[eE][+\-]?[0-9]+s   [0-9]+\.[0-9]*[eE][+\-]?[0-9]+s   [0-9]+\.[0-9]+s   [0-9]+\.(?!s   |\.\.)s   0x[0-9a-fA-F]+s   [0-9]+s   preproc-exprs   \)s   preproc-expr-in-parenthesiss   preproc-expr-chains   abstract-bodys   abstract-relations   abstract-opaques   type-param-constraints	   type-names   \{s
   class-bodys   parenthesis-closet   types   (?:to|from)t   ,t   @s	   meta-bodys
   meta-idents
   meta-colont   :s	   meta-calls   meta-call-seps   typedef-bodyt   =s   optional-semicolons	   enum-bodys   bracket-opens   enum-membert   flags   function-paramt   extendss   (?:extends|implements)\bs   bracket-closes9   (?:static|public|private|override|dynamic|inline|macro)\bs   class-members   (var)\bt   vars   (function)\bs   class-methods   optional-exprs   parenthesis-opens   function-locals   \?s   function-param-sept   assigns   prop-get-set-optt   commas   prop-get-sets(   (?:default|null|never|dynamic|get|set)\bs   (?:\+\+|\-\-|~(?!/)|!|\-)s
   expr-chaint   parenthesiss3   (?:static|public|private|override|dynamic|inline)\bs   (?:function)\bt   brackets   (?:true|false|null)\bs
   (?:this)\bs
   (?:cast)\bt   casts	   (?:try)\bt   catchs	   (?:var)\bs	   (?:new)\bt   news   (?:switch)\bt   switchs   (?:if)\bR   s   (?:do)\bt   dos   (?:while)\bt   whiles	   (?:for)\bt   fors   (?:untyped|throw)\bs   (?:return)\bs   (?:macro)\bt   macros   (?:continue|break)\bs   (?:\$\s*[a-z]\b|\$(?!s   ))t   dollars   ~/(\\\\|\\/|[^/\n])*/[gimsu]*s   \[s
   array-decls   (?:\+\+|\-\-)s   (?:in)\bt   ternarys   (\.)(s   array-accesst   calls   macro-classs	   cast-types   (?:catch)\bs   do-whileR   s
   (?:else)\bs   switch-bodys   (?:case|default)\bs
   case-blockt   cases   case-seps
   case-guards   (?!(?:case|default)\b|\})s   \]s   array-decl-seps   array-access-closet   colont   ;s   type-full-names
   type-checks   type-structs   type-parenthesiss   ->s   <(?!=)s
   type-paramt   >s   type-struct-seps   ~/(\\\\|\\/|[^/\n])*/[gim]*s   type-param-types   type-param-seps   type-param-constraint-seps   type-param-constraint-flags   type-param-constraint-flag-types#   type-param-constraint-flag-type-seps   var-seps   call-seps   (?!(?:\$\s*[a-z]\b|\$(?!s   )))s   bracket-checkt   blocks
   object-seps   ident-or-stringt   objectc         C   s   t  j d |   r d Sd  S(   Ns   \w+\s*:\s*\wg333333?(   t   reR%   (   t   text(    (    s8   /usr/lib/python2.7/dist-packages/pygments/lexers/haxe.pyt   analyse_text}  s    (   R+   s   package(   R+   R-   (   R+   R.   (   s   string-interpol-closeR4   (   s   #pops   string-single(   s   #pops   string-double(   s   #pops   preproc-parenthesis(   s   #pops   string-single(   s   #pops   string-double(   s   #pops   preproc-expr-in-parenthesis(   s   #pops   preproc-expr-chains   preproc-parenthesis(   s   #pops   preproc-expr-chain(   s   #pops   preproc-expr-chain(   s   #pops   preproc-expr-chain(   s   #pops   preproc-expr-chain(   s   #pops   preproc-expr-chain(   s   #pops   preproc-expr-chain(   s   #pops   preproc-expr-chain(   s   #pops   preproc-expr-chain(   s   #pops   preproc-expr-chains   string-single(   s   #pops   preproc-expr-chains   string-double(   s   #pops   abstract-bodys   abstract-relations   abstract-opaques   type-param-constraints	   type-name(   s   #pops
   class-body(   s   #pops   parenthesis-closes   type(   s	   meta-bodys
   meta-idents
   meta-colon(   s   #pops	   meta-call(   s   #pops   meta-call-sepR4   (   s   #pops	   meta-call(   s   #pops   typedef-bodys   type-param-constraints	   type-name(   s   #pops   optional-semicolons   type(   s   #pops	   enum-bodys   bracket-opens   type-param-constraints	   type-name(   s   enum-members   type-param-constraint(   s   #popR+   R?   s   function-param(   s   #popR+   R?   (   s   #pops
   class-bodys   bracket-openR@   s   type-param-constraints	   type-name(   s   #pops   optional-semicolons   var(   s   #pops   optional-semicolons   class-method(   s   #pops   optional-exprR?   s   function-params   parenthesis-opens   type-param-constraint(   s   #pops   optional-exprR?   s   function-params   parenthesis-opens   type-param-constraint(   s   #pops   optional-exprR?   s   function-params   parenthesis-opens   type-param-constraint(   s   #pops   function-param-sepRB   R?   (   s   #pops   function-param(   s   #pops   parenthesis-closes   prop-get-set-optRC   s   prop-get-set-opt(   s   #pops   optional-semicolonR4   (   s   #pops   optional-exprs	   meta-bodys
   meta-idents
   meta-colon(   s   #pops
   expr-chainRD   (   s   #pops
   expr-chains   function-local(   s   #pops
   expr-chainRE   (   s   #pops
   expr-chain(   s   #pops
   expr-chain(   s   #pops
   expr-chainRF   (   s   #popRG   R4   (   s   #pops   var(   s   #pops
   expr-chains   new(   s   #popRI   (   s   #pops   if(   s   #popRJ   (   s   #popRK   (   s   #popRL   (   s   #pops   optional-expr(   s   #popRM   (   s   #popRN   (   s   #pops
   expr-chain(   s   #pops
   expr-chain(   s   #pops
   expr-chain(   s   #pops
   expr-chain(   s   #pops
   expr-chain(   s   #pops
   expr-chain(   s   #pops
   expr-chain(   s   #pops
   expr-chain(   s   #pops
   expr-chains   string-single-interpol(   s   #pops
   expr-chains   string-double(   s   #pops
   expr-chain(   s   #pops
   expr-chains
   array-decl(   s   #popR4   (   s   #popR4   (   s   #popR4   RO   R4   (   s   #pops   type(   s   #pops   optional-semicolonR/   (   s   #pops   optional-semicolons   macro-class(   s   #pops   optional-semicolonR1   (   s   #pops   optional-semicolonR2   (   s   #popR4   (   s   #pops
   class-body(   s   #pops   parenthesis-closes	   cast-typeR4   (   s   #popR4   (   s   #pops   type(   R4   s   function-params   parenthesis-open(   s   #pops   do-whileR4   (   s   #popRD   s   parenthesis-open(   s   #popR4   RD   (   s   #popR4   RD   (   s   #pops   elses   optional-semicolonR4   RD   (   s   #popR4   (   s   #pops   switch-bodys   bracket-openR4   (   s
   case-blockRQ   (   s   #pops   case-seps
   case-guardR4   (   s   #popRQ   (   s   #popRD   s   parenthesis-open(   s   #pops   calls   parenthesis-opens   type(   s   #pops   array-decl-sepR4   (   s   #pops
   array-decl(   s   #pops   array-access-closeR4   (   s   #pops
   expr-chains   bracket-closeR4   (   s   #pops
   expr-chain(   s   #pops
   type-checks   type-full-name(   s   #pops
   type-checks   type-struct(   s   #pops
   type-checks   type-parenthesis(   s   #pops   parenthesis-closes   type(   s   #pops   type(   RC   s   type(   s   #pops   type-struct-seps   typeRR   (   s   #pops   type-struct(   s   #pops   string-single(   s   #pops   string-double(   s   #pops
   array-decl(   s   #pops   type-param-seps   type-param-type(   s   #pops
   type-param(   s   #pops   type-param-constraint-seps   type-param-constraint-flags	   type-name(   s   #pops   type-param-constraint-seps   type-param-constraint-flags	   type-name(   s   #pops   type-param-constraint-flag-type(   s   #pops#   type-param-constraint-flag-type-seps   type(   s   #pops   type(   s   #pops   parenthesis-closeR?   R4   (   s   #pops   var-sepRB   R?   s   prop-get-set(   s   #pops   var(   s   #popR4   (   s   #pops   type(   s   #pops   call-sepR4   (   s   #pops   call(   s   #pops   bracket-check(   s   #pops   bracket-checks   string-single(   s   #pops   bracket-checks   string-double(   s   #pops   block(   s   #pops
   object-sepR4   (   s   #pops   blocks   optional-semicolons
   expr-chain(   s   #pops
   object-sepR4   RR   s   ident-or-string(   s   #pops   string-single(   s   #pops   string-double(   s   #pops   object(.   t   __name__t
   __module__t   __doc__t   namet   aliasest	   filenamest	   mimetypest   keywordt   typeidR5   t   binopt   ident_no_keywordRW   t   DOTALLt	   MULTILINEt   flagsR   R(   R   R   t	   Namespacet   DeclarationR   R   t   Singlet	   MultilineR
   t   Interpolt   Escapet   DoubleR	   R   R   R"   R   t   Floatt   Hext   Integert	   DecoratorR   t   Functiont   Constantt   RegexR   t   tokensRY   (    (    (    s8   /usr/lib/python2.7/dist-packages/pygments/lexers/haxe.pyR      sX  																																										 				 																																																																										c           B   s   e  Z d  Z d Z d d g Z d g Z i d e e e j	  f d e e e
 j
  f d e e e
  f d e e e
 e e  f d	 e e e
 e j  f d
 e e e
 e e j e e j e e j e e j 
 f d e e e
 e e  f d e j f g d 6Z RS(   sb   
    Lexer for `haXe build <http://haxe.org/doc/compiler>`_ files.

    .. versionadded:: 1.6
    t   Hxmlt   haxemlt   hxmls   *.hxmls
   (--)(next)s   (-)(prompt|debug|v)sY   (--)(neko-source|flash-strict|flash-use-stage|no-opt|no-traces|no-inline|times|no-output)sO   (-)(cpp|js|neko|x|as3|swf9?|swf-lib|php|xml|main|lib|D|resource|cp|cmd)( +)(.+)s   (-)(swf-version)( +)(\d+)s;   (-)(swf-header)( +)(\d+)(:)(\d+)(:)(\d+)(:)([A-Fa-f0-9]{6})sA   (--)(js-namespace|php-front|php-lib|remap|gen-hx-classes)( +)(.+)s   #.*R3   (   RZ   R[   R\   R]   R^   R_   R   R   R   t   HeadingR   R   R
   R   Rq   Rp   R   Rj   Rv   (    (    (    s8   /usr/lib/python2.7/dist-packages/pygments/lexers/haxe.pyR     s(   	(   R\   RW   t   pygments.lexerR    R   R   R   R   t   pygments.tokenR   R   R   R   R	   R
   R   R   R   R   t   __all__R   R   (    (    (    s8   /usr/lib/python2.7/dist-packages/pygments/lexers/haxe.pyt   <module>
   s   (F   o