
    Mh                     t    d Z ddlmZmZmZmZmZ ddlmZm	Z	m
Z
mZmZmZmZmZmZ dgZ G d de          ZdS )z
    pygments.lexers.devicetree
    ~~~~~~~~~~~~~~~~~~~~~~~~~~

    Lexers for Devicetree language.

    :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
    )
RegexLexerbygroupsincludedefaultwords)	CommentKeywordNameNumberOperatorPunctuationStringText
WhitespaceDevicetreeLexerc                      e Zd ZdZdZdZddgZddgZdgZd	Z	d
Z
de
z   dz    eej        ej        ej                  fde
z   dz    eej        ej        ej                  fde
z   dz    eej        ej        ej                  fde
z   dz    eej        ej        ej        e          fgdefdefdefdej        fdej        fdej        fgd eej        e          dfdej        fdej        fd eej        ee          df edd          ej        fd efd!efd"e
z   d#z   efd$ej        fg	 e d%           e d&          d'e
z   d(z    eej!        eej        ej        e          d)f e"d*          g e d%           e d+          d,edfg e d%           e d&          d'e
z   d(z    eej!        eej        ej        e          d-f e d+          d.edfd,efgd/edfd0ej#        fd1efdefd2efgd3Z$d4S )5r   z%
    Lexer for Devicetree files.
    
Devicetreezhttps://www.devicetree.org/
devicetreedtsz*.dtsz*.dtsiztext/x-cz2.7z\s*(?:/[*][^*/]*?[*]/\s*)*z(#include)(z	)([^\n]+)z
(#define)(z(/[^*/{]+/)(z)("[^\n{]+")z)([^\n;{]*)([;]?)z\nz\s+z\\\nz//(\n|[\w\W]*?[^\\]\n)z/(\\\n)?[*][\w\W]*?[*](\\\n)?/z/(\\\n)?[*][\w\W]*z(L?)(")stringz0x[0-9a-fA-F]+z\d+z([^\s{}/*]*)(\s*)(:)z#pop)
compatiblemodelphandlestatusz#address-cellsz#size-cellsregzvirtual-regrangesz
dma-rangesdevice_typenamez\b)suffixz([~!%^&*+=|?:<>/#-])z[()\[\]{},.]z/[a-zA-Z_][\w-]*(?=(?:\s*,\s*[a-zA-Z_][\w-]*|(?:z))*\s*[=;])z[a-zA-Z_]\w*
whitespacemacroz)([^/*@\s&]+|/)(@?)((?:0x)?[0-9a-fA-F,]*)(z)(\{)node	statement
statements;z#pushz\};"zO\\([\\abfnrtv"\']|x[a-fA-F0-9]{2,4}|u[a-fA-F0-9]{4}|U[a-fA-F0-9]{8}|[0-7]{1,3})z	[^\\"\n]+z\\)r!   r    r$   rootr#   r"   r   N)%__name__
__module____qualname____doc__r   urlaliases	filenames	mimetypesversion_added_wsr   r   Preproc	MultilinePreprocFiler   r   r   Singler   Affixr   HexIntegerr
   Labelr   r	   Reservedr   	Attributer   Functionr   Escapetokens     Z/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/pygments/lexers/devicetree.pyr   r      s@         D
'CU#G(#IIM (C
 c!L0Xgow'8':MNNP S </Xgow'8'/JJL s"_4Xgow'8':MNNP s"%99Xgow'8'/;WWY
 JZ dO&7.0AB"G$56
 &,77B
+V^$$hhtz4&M&MvVU +38: : :;B;KM %h/k*?#EVdn-
 GL!!GG :C?(JXdmXv~'6 67=? GK  

 GL!!GL!!+v&
 GL!!GG9C?(JXdmXv~'6 67>@ GL!![&)+
 66"<=C]L6"fFO
GK KFFFr@   N)r+   pygments.lexerr   r   r   r   r   pygments.tokenr   r	   r
   r   r   r   r   r   r   __all__r   r?   r@   rA   <module>rE      s     I H H H H H H H H H H H H H* * * * * * * * * * * * * * * * * * * * * * 
Z Z Z Z Zj Z Z Z Z Zr@   