
    |e                     l    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y)z
    pygments.lexers.devicetree
    ~~~~~~~~~~~~~~~~~~~~~~~~~~

    Lexers for Devicetree language.

    :copyright: Copyright 2006-2023 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
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j2                  ee      df edd      ej8                  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d/ejD                  fd0efdefd1efgd2Z#y3)4r   z@
    Lexer for Devicetree files.

    .. versionadded:: 2.7
    
Devicetreezhttps://www.devicetree.org/
devicetreedtsz*.dtsz*.dtsiztext/x-cz\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_wsr   r   Preproc	MultilinePreprocFiler   r   r   Singler   Affixr   HexIntegerr
   Labelr   r	   Reservedr   	Attributer   Functionr   Escapetokens     </usr/lib/python3/dist-packages/pygments/lexers/devicetree.pyr   r      s    D
'CU#G(#II (C
 c!L0goow'8'8':M:MNP S </goow'8'8'//JL s"_4goow'8'8':M:MNP s"%99goow'8'8'//;WY
 JZ dO&7.0A0AB"G$5$56
 &,,7B

+V^^$$htzz4&MvV +38:;B;K;KM %h/k*?#EVdnn-
 L!G :C?(JdmmXv~~''67=? K 

 L!L!+v&
 L!G9C?(JdmmXv~~''67>@ L![&)+
 66"<=C]]L6"fFO
GKFr?   N)r+   pygments.lexerr   r   r   r   r   pygments.tokenr   r	   r
   r   r   r   r   r   r   __all__r   r>   r?   r@   <module>rD      s:    I H* * * 
[j [r?   