File: //opt/saltstack/salt/lib/python3.10/site-packages/pygments/lexers/__pycache__/asm.cpython-310.pyc
o
;j� � @ sp d Z ddlZddlmZmZmZmZmZmZm Z ddl
mZmZ ddl
mZ ddlmZmZmZmZmZmZmZmZmZmZ g d�ZG dd � d e�Zd
d� ZG dd
� d
e�ZG dd� de�ZG dd� de�ZG dd� de�Z G dd� de�Z!G dd� de�Z"G dd� de�Z#G dd� de�Z$G dd� de�Z%G dd� de�Z&G d d!� d!e�Z'G d"d#� d#e�Z(G d$d%� d%e�Z)dS )&z�
pygments.lexers.asm
~~~~~~~~~~~~~~~~~~~
Lexers for assembly languages.
:copyright: Copyright 2006-present by the Pygments team, see AUTHORS.
:license: BSD, see LICENSE for details.
� N)�
RegexLexer�include�bygroups�using�words�DelegatingLexer�default)�CppLexer�CLexer)�DLexer)
�Text�Name�Number�String�Comment�Punctuation�Other�Keyword�Operator�
Whitespace)�GasLexer�ObjdumpLexer�
DObjdumpLexer�CppObjdumpLexer�
CObjdumpLexer�
HsailLexer� LlvmLexer�LlvmMirBodyLexer�LlvmMirLexer� NasmLexer�NasmObjdumpLexer� TasmLexer� Ca65Lexer�Dasm16Lexerc @ s� e Zd ZdZdZddgZddgZdgZdZd Z d
Z
dZde d
e d ZdZ
de d Zed�ed ejfde ejdfdejfeejdfdefgeejfe
efde ejfe
ejfeejfdedfdejdfdejfdejdfed�ed�gde d eejee eje �fde d! e
d eejee eje eje �feejfe
ejfeejfd"e
ejfd#ej!fdedfdejdfdejfdejdfed�ed�g
d$efd%efdejfd&ejfgd'e fgd(�Z"d)d*� Z#d+S ),r z'
For Gas (AT&T) assembly code.
ZGASZgas�asm�*.sz*.Sz
text/x-gas�%https://www.gnu.org/software/binutils� �
"(\\"|[^"])*"z[\w$.@-]�
(?:[a-zA-Z$_]�*|\.�+)z(?:0[xX][a-fA-F0-9]+|#?-?\d+)�%�\b�
whitespace�:�\.�directive-argszlock|rep(n?z)?|data\d+�instruction-args�[\r\n]+�@�#popz([;#]|//).*?\nz/[*].*?[*]/z/[*].*?\n[\w\W]*?[*]/�punctuationz([a-z0-9]+)( )(<)(z)(>)z)([-+])(�$z
$'(.|\\')'�\n�\s+z/[*][\w\W]*?[*]/z[-*,.()\[\]!:{}]+)�rootr1 r2 r. r6 c C s, t �d| t j�r
dS t �d| t j�rdS d S )Nz^\.(text|data|section)Tz^\.\w+g�������?)�re�search�M��text� r@ �G/opt/saltstack/salt/lib/python3.10/site-packages/pygments/lexers/asm.py�analyse_texth s
�zGasLexer.analyse_textN)$�__name__�
__module__�__qualname__�__doc__�name�aliases� filenames� mimetypes�url�
version_added�string�char�
identifier�number�registerr r
�LabelZ Attribute�Functionr �Constantr r �Integer�Variabler r �Single� Multiliner �Hexr �Char�tokensrB r@ r@ r@ rA r s~
�
�
����
����<r c C sp d}ddt tjttt�fdt ttjt�fd| d t tjtttj ttjt�fd| d t tjtttj t�fd| d | | d
t ttjttjtt
| ��fd| d t ttjtt
| ��fd| d | | d t ttjttjtt�fd| d | | d
t ttjttj�fdtfd| d | d t ttjttjttjttj�fd| d t ttjttjttj�fdt
fgiS )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+:)( *\t)([a-zA-Z].*?)$z )+)( *)(.*?)$z )+)$z \t\.\.\.$z (\t\t\t)(z +:)( )([^\t]+)(\t)(.*?)([-+])(0xz+)$z+:)( )([^\t]+)(\t)(.*?)$z[^\n]+\n)r r
rR r r r r rY r rS r ZPropertyrT r )Z asm_lexerZhex_rer@ r@ rA �_objdump_lexer_tokenso s` ��
��
����
����
��
����r] c @ �6 e Zd ZdZdZdgZdgZdgZdZdZ e
e�ZdS )r z,
For the output of ``objdump -dr``.
Zobjdumpz *.objdumpztext/x-objdumpr&