
                         h    S r SSKJrJr  SSKJrJrJrJrJ	r	J
r
JrJr  SSKJr  S/r " S S\5      rg)z
pygments.lexers.futhark
~~~~~~~~~~~~~~~~~~~~~~~

Lexer for the Futhark language

:copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
:license: BSD, see LICENSE for details.
    )
RegexLexerbygroups)CommentOperatorKeywordNameStringNumberPunctuation
Whitespace)	unistringFutharkLexerc                   ,   \ rS rSrSrSrSrS/rS/rS/r	Sr
S	rS
rSrSSR                  \
5      -  rSrS\R$                  4S\4S\4SSR                  \5      -  \R,                  4SSR                  \
\-   5      -  \R.                  4S\R0                  4S\< S\< 3\4S\4S\4S\4S\-   \R8                  4S\-   \R8                  4S\-   \R8                  4S\-   \R8                  4S\-   \R:                  4S\-   \R<                  4S\-   \R>                  4S \ RB                  S!4S"\ S#4S$\R.                  4S\RD                  4/S%\ RB                  S&4S\ RF                  S'4S \ RB                  S&4/S(\ 4S\ RF                  S'4S"\ S&4/S)\ RF                  S&4S*\$RJ                  -   S+-   \ RF                  S&4SR                  \5      \ RF                  S&4S,\ RF                  S&4S-\ RF                  S&4S.\ RF                  S&4S/\&" \\ RF                  5      S&4/S0.r'S1r(g2)3r      z(
A Futhark lexer

.. versionadded:: 2.8
Futharkzhttps://futhark-lang.org/futharkz*.futztext/x-futhark)
i8i16i32i64u8u16u32u64f32f64)bool)ifthenelsedefletloopinwithtypeztype~ztype^valentryforwhiledocasematchincludeimportmoduleopenlocalassert_)NULSOHz[SE]TXEOTENQACKBELBSHTLFVTFFCRzS[OI]DLEzDC[1-4]NAKSYNETBCANEMSUBESCz[FGRU]SSPDELz(%s)?|z[a-zA-Z_][a-zA-Z_0-9']*z--(.*?)$z\s+z\(\)z\b(%s)(?!\')\bz#\[([a-zA-Z_\(\) ]*)\]z[#!]?(z\.)*z\\z[-+/%=!><|&*^][-+/%=!><|&*^.]*z[][(),:;`{}?.\'~^]z40[xX]_*[\da-fA-F](_*[\da-fA-F])*_*[pP][+-]?\d(_*\d)*zR0[xX]_*[\da-fA-F](_*[\da-fA-F])*\.[\da-fA-F](_*[\da-fA-F])*(_*[pP][+-]?\d(_*\d)*)?z\d(_*\d)*_*[eE][+-]?\d(_*\d)*z+\d(_*\d)*\.\d(_*\d)*(_*[eE][+-]?\d(_*\d)*)?z0[bB]_*[01](_*[01])*z 0[xX]_*[\da-fA-F](_*[\da-fA-F])*z	\d(_*\d)*'	character"stringz\[[a-zA-Z_\d]*\]z[^\\']'z#popescapez[^\\"]+z[abfnrtv"\'&\\]z\^[][z@^_]zo[0-7]+zx[\da-fA-F]+z\d+z	(\s+)(\\))rootrM   rO   rP    N))__name__
__module____qualname____firstlineno____doc__nameurlaliases	filenames	mimetypes	num_typesother_typesreservedasciijoinnum_postfixidentifier_rer   Singler   r   r   ReservedTypePreprocr   r   r
   FloatBinHexIntegerr	   CharBuiltinEscapeuniLur   tokens__static_attributes__rR       *lib/third_party/pygments/lexers/futhark.pyr   r      s   
 D
%CkG	I!"ITIKOH
9E
 SXXi00K.M '..)Z k"(!33W5E5EF)k*A!BBGLLQ '8"/?FH.9"K0 E{R\\(*567=||E-;V\\J;kI6<<X${2FJJ?0;>

KK'8 6;;,68$ ',,/dll#? 
F f-FMM8,&++v&	
  FMM8,&&!
  7(&--@XXe_fmmV4/fmmV4V]]F+8J>G
]7Frs   N)rW   pygments.lexerr   r   pygments.tokenr   r   r   r   r	   r
   r   r   pygmentsr   ro   __all__r   rR   rs   rt   <module>ry      s7    0$ $ $ %
W: Wrs   