File: //usr/lib/python3/dist-packages/pygments/lexers/__pycache__/asm.cpython-38.pyc
U
G�
\c � @ sJ d Z ddlZddlmZmZmZmZmZmZ ddl m
Z
mZ ddlm
Z
ddlmZmZmZmZmZmZmZmZmZ ddd d
ddd
ddddgZG dd� de�Zdd� ZG dd� de�ZG dd � d e�ZG dd
� d
e�ZG dd� de�ZG dd� de�ZG dd
� d
e�Z G dd� de�Z!G dd� de�Z"G dd� de�Z#G dd� de�Z$dS )z�
pygments.lexers.asm
~~~~~~~~~~~~~~~~~~~
Lexers for assembly languages.
:copyright: Copyright 2006-2017 by the Pygments team, see AUTHORS.
:license: BSD, see LICENSE for details.
� N)�
RegexLexer�include�bygroups�using�words�DelegatingLexer)�CppLexer�CLexer)�DLexer) �Text�Name�Number�String�Comment�Punctuation�Other�Keyword�Operator�GasLexer�ObjdumpLexer�
DObjdumpLexer�CppObjdumpLexer�
CObjdumpLexer�
HsailLexer� LlvmLexer� NasmLexer�NasmObjdumpLexer� TasmLexer� Ca65Lexerc @ s� e Zd ZdZdZddgZddgZdgZdZd Z d
e d e d Z
d
Zed�e
d e
jfde
e
jdfde
jfe
e
jdfdefge
e
jfeefde
e
jfeejfdedfdedfed�ed�gde
d eejeee
je�fde
d e d eejeee
jeeje�fe
e
jfeejfde
e
jfde ejfdejfdedfdedfed�ed�gdefd efdefgd!efgd"�Zd#d$� Zd%S )&r z'
For Gas (AT&T) assembly code.
ZGASZgas�asm�*.sz*.Sz
text/x-gasz
"(\\"|[^"])*"z[\w$.@-]z
(?:[a-zA-Z$_]z*|\.z+)z(?:0[xX][a-zA-Z0-9]+|\d+)�
whitespace�:z\.�directive-argszlock|rep(n?z)?|data\d+�instruction-args�[\r\n]+�@�#popz [;#].*?\n�punctuationz([a-z0-9]+)( )(<)(z)(>)z)([-+])(�%�$z
$'(.|\\')'�\n�\s+z[-*,.()\[\]!:]+)�rootr# r$ r! r( c C s, t �d| t j�rdS t �d| t j�r(dS d S )Nz^\.(text|data|section)Tz^\.\w+g�������?)�re�match�M)�text� r2 �5/usr/lib/python3/dist-packages/pygments/lexers/asm.py�analyse_text_ s zGasLexer.analyse_textN)�__name__�
__module__�__qualname__�__doc__�name�aliases� filenames� mimetypes�string�char�
identifierZnumberr r �LabelZ Attribute�Functionr �Constantr r
�Integerr r �Hexr �Variable�Char�tokensr4 r2 r2 r2 r3 r sn
� �
�� ������6c C sR d}ddt tjttt�fdt ttjt�fd| d t tjtttjttjt�fd| d t tjtttjt�fd| d | | d
t ttjttjtt | ��fd| d | | d t ttjttjtt�fd| d | | d t ttjttj�fd
tfd| d | d t ttjttj
ttjttj�fd| d t ttjttj
ttj�fdtfgiS )z;
Common objdump lexer tokens to wrap an ASM lexer.
z[0-9A-Za-z]r- z(.*?)(:)( +file format )(.*?)$z"(Disassembly of section )(.*?)(:)$�(z++)( )(<)(.*?)([-+])(0[xX][A-Za-z0-9]+)(>:)$z+)( )(<)(.*?)(>:)$z( *)(z+:)(\t)((?:z )+)( * )([a-zA-Z].*?)$z )+)( *)(.*?)$z )+)$z \t\.\.\.$z (\t\t\t)(z +:)( )([^\t]+)(\t)(.*?)([-+])(0xz+)$z+:)( )([^\t]+)(\t)(.*?)$z[^\n]+\n)
r r r@ r r r r
rD rA r ZPropertyrB r )Z asm_lexerZhex_rer2 r2 r3 �_objdump_lexer_tokensf s^ ��
��
������ ��
����rI c @ s. e Zd ZdZdZdgZdgZdgZee �Z
dS )r z)
For the output of 'objdump -dr'
Zobjdumpz *.objdumpztext/x-objdumpN)r5 r6 r7 r8 r9 r: r; r<