U
    luf&                     @   s^   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 deZdS )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                   @   sZ  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defeddddefed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*dejfed+dddejfgeejfged, ejfgd-Zd.S )/r   z
    For FunC source code.
    ZFunCfuncZ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)ifZifnotelseZelseifZ	elseifnotwhileZdoZuntilrepeatreturnZimpureZ	method_idforallZasminlineZ
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cellZbuilderZcont_z(?=[\s\(\),\[\]]))globalconstz(?=[\(]))rootr   r   r1   r   r   r   r3   r   r   r   N)__name__
__module____qualname____doc__namealiases	filenames
identifierr   r   r   r   r   r   Constantr   r   r
   r   Z
SinglelineZ	MultilineTyper	   VariableZFunctiontokens rI   rI   8/tmp/pip-unpacked-wheel-7eq1ciah/pygments/lexers/func.pyr      s     


 	N)r@   Zpygments.lexerr   r   r   Zpygments.tokenr   r   r   r   r	   r
   r   r   r   __all__r   rI   rI   rI   rJ   <module>   s   
,