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

    Pygments lexers for Dalvik VM-related languages.

    :copyright: Copyright 2006-2014 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
iÿÿÿÿN(   t
   RegexLexert   includet   bygroups(   t   Keywordt   Textt   Commentt   Namet   Stringt   Numbert   Punctuationt
   SmaliLexerc           B   s
  e  Z d  Z d Z d g Z d g Z d g Z i e d ƒ e d ƒ e d ƒ e d ƒ e d	 ƒ e d
 ƒ e d ƒ e d ƒ e d ƒ e d ƒ e d ƒ e d ƒ g d 6d e f d e f d e f g d
 6d e f g d 6d e	 f d e	 f g d 6d e
 j f d e	 f g d 6d e f d e j f d e j f d e j f g d 6d e e e
 j e ƒ f g d 6d e
 j f d  e e e
 j e ƒ f g d 6d! e
 j f g d 6d" e e j e	 e
 j e	 ƒ f g d	 6d# e f d$ e f g d 6d% e j f g d 6d& e f g d 6Z d' „  Z RS((   sw   
    For `Smali <http://code.google.com/p/smali/>`_ (Android/Dalvik) assembly
    code.

    .. versionadded:: 1.6
    t   Smalit   smalis   *.smalis
   text/smalit   commentt   labelt   fieldt   methodt   classt	   directives   access-modifiert   instructiont   literalt   punctuationt   typet
   whitespacet   rootsÁ   ^[ \t]*\.(class|super|implements|field|subannotation|annotation|enum|method|registers|locals|array-data|packed-switch|sparse-switch|catchall|catch|line|parameter|local|prologue|epilogue|source)sk   ^[ \t]*\.end (field|subannotation|annotation|method|array-data|packed-switch|sparse-switch|parameter|local)s   ^[ \t]*\.restart localsµ   (public|private|protected|static|final|synchronized|bridge|varargs|native|abstract|strictfp|synthetic|constructor|declared-synchronized|interface|enum|annotation|volatile|transient)s   \ns   \s+s   \b[vp]\d+\bs   \b[a-z][A-Za-z0-9/-]+\s+s   ".*"s   0x[0-9A-Fa-f]+t?s    [0-9]*\.[0-9]+([eE][0-9]+)?[fd]?s   [0-9]+L?s   (\$?\b)([\w$]*)(:)s   <(?:cl)?init>s   (\$?\b)([\w$]*)(\()s   :\w+s   (L)((?:[\w$]+/)*)([\w$]+)(;)s   ->s   [{},():=.-]s   [ZBSCIJFDV\[]+s   #.*?\nc         C   sy   d } t  j d |  t  j ƒ rP | d 7} t  j d |  t  j ƒ rP | d 7} qP n  t  j d |  t  j ƒ ru | d 7} n  | S(   Ni    s   ^\s*\.class\sg      à?s­   \b((check-cast|instance-of|throw-verification-error)\b|(-to|add|[ais]get|[ais]put|and|cmpl|const|div|if|invoke|move|mul|neg|not|or|rem|return|rsub|shl|shr|sub|ushr)[-/])|{|}g333333Ó?s>  (\.(catchall|epilogue|restart local|prologue)|\b(array-data|class-change-error|declared-synchronized|(field|inline|vtable)@0x[0-9a-fA-F]|generic-error|illegal-class-access|illegal-field-access|illegal-method-access|instantiation-error|no-error|no-such-class|no-such-field|no-such-method|packed-switch|sparse-switch))\bg333333ã?(   t   ret   searcht	   MULTILINE(   t   textt   score(    (    s:   /usr/lib/python2.7/dist-packages/pygments/lexers/dalvik.pyt   analyse_textl   s    
		(   t   __name__t
   __module__t   __doc__t   namet   aliasest	   filenamest	   mimetypesR   R   R   R   t   BuiltinR   R   t   Hext   Floatt   IntegerR   R	   t   Variablet   Functiont   Labelt   Typet   ClassR   t   tokensR   (    (    (    s:   /usr/lib/python2.7/dist-packages/pygments/lexers/dalvik.pyR
      s\   																"	(   R!   R   t   pygments.lexerR    R   R   t   pygments.tokenR   R   R   R   R   R   R	   t   __all__R
   (    (    (    s:   /usr/lib/python2.7/dist-packages/pygments/lexers/dalvik.pyt   <module>
   s
   4	