
    Mh                         d Z ddlmZmZmZmZ ddl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gZdZdZdZd	Z G d
 de          ZdS )z
    pygments.lexers.tablegen
    ~~~~~~~~~~~~~~~~~~~~~~~~

    Lexer for LLVM's TableGen DSL.

    :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
    )
RegexLexerincludewordsusing)CppLexer)
CommentKeywordNameNumberOperatorPunctuationStringText
WhitespaceErrorTableGenLexer)assertclasscodedefdumpelseforeachdefmdefsetdefvarfieldifinr   let
multiclassthen)falsetrue)bitbitsdagintliststring)2addandcastconcondr'   divemptyeqexistsfilterfindfoldlr   ge	getdagarg
getdagnamegetdagopgtheadr   
interleaveisale
listconcat
listremove	listsplatlogtwoltmulnenotorrangerepr	setdagarg
setdagnamesetdagopshlsizesrasrl	strconcatsubsubstsubstrtailtolowertoupperxorc                      e Zd ZdZdZdZddgZdgZdZde	fd	e
j        d
fde
j        fde
j        fdej        fdej        f eed          ef eed          ej        f eed          ej        f eedd          efdefdefdej        fdej        fdedfdedfde fgde
j        fd	e
j        dfde
j        dfd e
j        fgd!ej!        fd"efgdedf e"d#          gd$edfd% e#e$          fgd&Z%d'S )(r   z
    Lexer for TableGen
    TableGenz+https://llvm.org/docs/TableGen/ProgRef.htmltablegentdz*.tdz2.19z\s+z/\*commentz//.*?$z!#(define|ifdef|ifndef|else|endif)z0b[10]+z0x[0-9a-fA-F]+z\b)suffixz\!)prefixr_   z
![a-zA-Z]+z[0-9]*[a-zA-Z_][a-zA-Z_0-9]*z\$[a-zA-Z_][a-zA-Z_0-9]*z[-\+]?[0-9]+"dqsz\[\{	codeblockz[-+\[\]{}()<>\.,;:=?#]+z[^*/]+z#pushz\*/z#popz[*/]z\\[\\\'"tn]z[^\\"]+stringsz\}\]z([^}]+|\}[^]])*)rootr^   rd   rb   rc   N)&__name__
__module____qualname____doc__nameurlaliases	filenamesversion_addedr   r   	Multiline
SingleLinePreprocr   BinHexr   KEYWORDSr	   KEYWORDS_CONSTConstantKEYWORDS_TYPETypeBANG_OPERATORSr   r   r
   VariableIntegerr   r   r   Escaper   r   r   tokens     X/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/pygments/lexers/tablegen.pyr   r   h   s         D
7C4 GIM Z W&	2*+17?C $
+ U8E***G4U>%000'2BCU=///> U>%>>>IE" -d3($-8
 fn- 65!dK( (5I%
N )*W&0W&/g'(	
 V]+ 
 66"GI
 dF#x1
s= =FFFr   N)ri   pygments.lexerr   r   r   r   pygments.lexers.c_cppr   pygments.tokenr   r	   r
   r   r   r   r   r   r   r   __all__rt   ru   rw   ry   r   r~   r   r   <module>r      s$    = < < < < < < < < < < < * * * * * *1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 
(3jI I I I IJ I I I I Ir   