3 ��XD � @ s^ d Z ddlZddlmZmZmZ ddlmZmZm Z m Z mZmZm Z dgZG dd� de�ZdS )z� pygments.lexers.dalvik ~~~~~~~~~~~~~~~~~~~~~~ Pygments lexers for Dalvik VM-related languages. :copyright: Copyright 2006-2017 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. � N)� RegexLexer�include�bygroups)�Keyword�Text�Comment�Name�String�Number�Punctuation� SmaliLexerc @ sD e Zd ZdZdZdgZdgZdgZed�ed�ed�ed �ed �ed�ed�ed �ed�ed�ed�ed�gde fde fde fgde fgde fde fgdejfde fgde fdejfdejfdejfgdeeeje�fgdejfd eeeje�fgd!ejfgd"ee je eje �fgd#efd$efgd%e jfgd&efgd'� Zd(d)� Zd*S )+r zw For `Smali <http://code.google.com/p/smali/>`_ (Android/Dalvik) assembly code. .. versionadded:: 1.6 ZSmaliZsmaliz*.smaliz text/smali�comment�label�field�method�class� directivezaccess-modifier�instruction�literal�punctuation�type� whitespacez�^[ \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)zk^[ \t]*\.end (field|subannotation|annotation|method|array-data|packed-switch|sparse-switch|parameter|local)z^[ \t]*\.restart localz�(public|private|protected|static|final|synchronized|bridge|varargs|native|abstract|strictfp|synthetic|constructor|declared-synchronized|interface|enum|annotation|volatile|transient)z\nz\s+z\b[vp]\d+\bz\b[a-z][A-Za-z0-9/-]+\s+z".*"z0x[0-9A-Fa-f]+t?z [0-9]*\.[0-9]+([eE][0-9]+)?[fd]?z[0-9]+L?z(\$?\b)([\w$]*)(:)z <(?:cl)?init>z(\$?\b)([\w$]*)(\()z:\w+z(L)((?:[\w$]+/)*)([\w$]+)(;)z->z[{},():=.-]z[ZBSCIJFDV\[]+z#.*?\n) �rootr zaccess-modifierr r r r r r r r r r c C sP d}t jd| t j�r4|d7 }t jd| t j�r4|d7 }t jd| t j�rL|d7 }|S )Nr z ^\s*\.class\sg �?z�\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�?a> (\.(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�?)�re�search� MULTILINE)�textZscore� r �/usr/lib/python3.6/dalvik.py�analyse_textl s zSmaliLexer.analyse_textN)�__name__� __module__�__qualname__�__doc__�name�aliases� filenamesZ mimetypesr r r r ZBuiltinr r ZHexZFloatZIntegerr r ZVariableZFunctionZLabelZTypeZClassr �tokensr r r r r r sZ )r# r Zpygments.lexerr r r Zpygments.tokenr r r r r r r �__all__r r r r r �<module> s $