U
    YSh                     @   s   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 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foreachZdefmZdefsetZdefvarfieldifinr   ZletZ
multiclassZthen)falsetrue)bitbitsdagintliststring)2addandcastconZcondr    divemptyeqexistsfilterfindZfoldlr   geZ	getdagargZ
getdagnameZgetdagopgtheadr   Z
interleaveZisaleZ
listconcatZ
listremoveZ	listsplatZlogtwoltmulnenotorrangereprZ	setdagargZ
setdagnameZsetdagopZshlsizeZsraZsrlZ	strconcatsubZsubstsubstrtailtolowerZtoupperxorc                   @   s,  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defeeddejfeeddejfeed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
    ZTableGenz+https://llvm.org/docs/TableGen/ProgRef.htmlZ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\!)prefixrA   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@   rF   rD   rE   N)&__name__
__module____qualname____doc__nameurlaliases	filenamesversion_addedr   r   	MultilineZ
SingleLinePreprocr
   BinHexr   KEYWORDSr   KEYWORDS_CONSTConstantKEYWORDS_TYPETypeBANG_OPERATORSr   r   r	   VariableIntegerr   r   r   Escaper   r   r   tokens r_   r_   K/root/rtd-docs/venv/lib/python3.8/site-packages/pygments/lexers/tablegen.pyr   h   sN   
'


N)rK   Zpygments.lexerr   r   r   r   Zpygments.lexers.c_cppr   Zpygments.tokenr   r   r	   r
   r   r   r   r   r   r   __all__rU   rV   rX   rZ   r   r_   r_   r_   r`   <module>   s   
0	5