
    |e&                     d    d Z ddl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.func
    ~~~~~~~~~~~~~~~~~~~~

    Lexers for FunC.

    :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
    )
RegexLexerincludewords)	TextCommentOperatorKeywordNameStringNumber
WhitespacePunctuation	FuncLexerc                      e Zd ZdZdZddgZddgZdZdefd	ef e	d
       e	d       e	d       e	d       e	d       e	d       e	d       e	d      de
fg eddd      ef eddd      ef eddd      ej                  fgdedfg e	d      d	efdefdefdedfgd efgd!efgd"ej&                  fd#ej(                  d$fgd%ej(                  fd#ej(                  d&fd'ej(                  dfd(ej(                  fg ed)dd*      ej*                  f ed+dd      ej                  fgeej.                  fged,z   ej0                  fgd-Zy.)/r   z
    For FunC source code.
    FunCfuncfcz*.fcz*.funczJ(?!")(`([^`]+)`|((?=_)_|(?=\{)\{|(?=\})\}|(?![_`{}]))([^;,\[\]\(\)\s~.]+))z\nz\s+keywordsstrings
directivesnumericcommentsstorage	functions	variablesz[.;(),\[\]~{}])+z<=>z>=z<=z!=z==z^>>z~>>z>>z<<z/%z^%z~%z^/z~/z+=z-=z*=z/=z~/=z^/=z%=z^%=z<<=z>>=z~>>=z^>>=z&=z|=z^=^=~/%-*+><&|:?z(?<=\s)z(?=\s))prefixsuffix)ififnotelseelseif	elseifnotwhiledountilrepeatreturnimpure	method_idforallasminline
inline_refz\b)truefalsez#include|#pragma	directivezversion|not-versionz-(>=|<=|=|>|<|\^)?([0-9]+)(.[0-9]+)?(.[0-9]+)?;z#popz\"([^\n\"]+)\"[Hhcusa]?z?\b(-?(?!_)([\d_]+|0x[\d_a-fA-F]+)|0b[1_0]+)(?<!_)(?=[\s\)\],;])z
;;([^\n]*)z\{-commentz[^-}{]+z#pushz-\}z[-}{])varintslicetuplecellbuildercont_z(?=[\s\(\),\[\]]))globalconstz(?=[\(]))rootr   r   r>   r   r   r   r@   r   r   r   N)__name__
__module____qualname____doc__namealiases	filenames
identifierr   r   r   r   r   r	   Constantr   r   r   r   
Singleline	MultilineTyper
   VariableFunctiontokens     6/usr/lib/python3/dist-packages/pygments/lexers/func.pyr   r      s-    DtnG"I _J JZ JIL!IJIK K ,
   ) 2<IO   9
 BGuV  $U5A7CSCST!
& !';7
 IZ #W-=vF4 
 (0
 PQWX
 G../W&&	2

 **+W&&0W&&/w(()	
  0 %9; \\	
 &uUCWEUEUV
 '

 +%t}}5
OKFr\   N)rO   pygments.lexerr   r   r   pygments.tokenr   r   r   r	   r
   r   r   r   r   __all__r   r[   r\   r]   <module>ra      s8    6 5$ $ $ -Z
 Zr\   