
    &                     d    S r SSKJrJrJr  SSKJrJrJrJ	r	J
r
JrJrJrJr  S/r " S S\5      rg)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                   |   \ rS rSrSrSrSS/rSS/rSrS	\	4S
\	4\
" S5      \
" S5      \
" S5      \
" S5      \
" S5      \
" S5      \
" S5      \
" S5      S\4/\" SSSS9\4\" SSSS9\4\" SSSS9\R                  4/S\S4/\
" S5      S
\	4S\4S\4S\S 4/S!\4/S"\4/S#\R(                  4S$\R*                  S%4/S&\R*                  4S$\R*                  S'4S(\R*                  S 4S)\R*                  4/\" S*SS+S9\R,                  4\" S,SSS9\R                  4/\\R0                  4/\S--   \R2                  4/S..rS/rg0)1r      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   rA   r   r   r    N)__name__
__module____qualname____firstlineno____doc__namealiases	filenames
identifierr   r   r   r   r   r	   Constantr   r   r   r   
Singleline	MultilineTyper
   VariableFunctiontokens__static_attributes__rM       'lib/third_party/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)rR   pygments.lexerr   r   r   pygments.tokenr   r   r   r	   r
   r   r   r   r   __all__r   rM   r_   r`   <module>rd      s8    6 5$ $ $ -Z
 Zr_   