File: //lib/python3/dist-packages/pygments/lexers/__pycache__/func.cpython-311.pyc
�
�E�c& � �l � d Z ddlmZmZmZ ddlmZmZmZm Z m
Z
mZmZm
Z
mZ dgZ G d� de� � ZdS )z�
pygments.lexers.func
~~~~~~~~~~~~~~~~~~~~
Lexers for FunC.
:copyright: Copyright 2006-2022 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 �z � e Zd ZdZdZddgZddgZdZdefd ef e d
� � e d� � e d� � e d
� � e d� � e d� � e d� � e d� � de
fg eddd�� � ef eddd�� � e
f eddd�� � e
j fgde
dfg e d� � d efde
fdefdedfgd efgd!efgd"ej fd#ej d$fgd%ej fd#ej d&fd'ej dfd(ej fg ed)dd*�� � e
j f ed+dd�� � e
j fgeej fged,z ej fgd-�Zd.S )/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� directivezversion|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>