Your IP : 216.73.216.213
B
u��\G} �
@ s> d Z ddlZddlmZmZmZmZmZmZm Z ddl
mZmZm
Z
mZmZmZmZmZmZ ddlmZ dddd d
ddd
ddg
Ze�d�ZG dd� de�ZG dd� de�ZG dd� de�ZG dd � d e�ZG dd
� d
e�ZG dd� de�ZG dd� de�Z G dd� de�Z!G dd
� d
e�Z"G dd� de�Z#G dd� de�Z$dS )z�
pygments.lexers.haskell
~~~~~~~~~~~~~~~~~~~~~~~
Lexers for Haskell and related languages.
:copyright: Copyright 2006-2019 by the Pygments team, see AUTHORS.
:license: BSD, see LICENSE for details.
� N)�Lexer�
RegexLexer�bygroups�
do_insertions�default�include�inherit) �Text�Comment�Operator�Keyword�Name�String�Number�Punctuation�Generic)� unistring�HaskellLexer�
HspecLexer�
IdrisLexer� AgdaLexer�CryptolLexer�LiterateHaskellLexer�LiterateIdrisLexer�LiterateAgdaLexer�LiterateCryptolLexer� KokaLexerz.*?
c @ sF e Zd ZdZdZddgZdgZdgZej ej
B ZdZdZ
d efd
ejfdejdfd
ejdfdejdfdejfdd�e� ejfdejfdej d ejfdej d efdej d ejfdej d ejfdejfdejfdejfdejfdejfd efd!e j!fd"e j!fd#e j!fd$e j!fd%e j"fd&e j#fd'e j$fd(e j%fd)ejd*fd+ed,fd-ejfd.ej&fd/e'fgd efd+ed,fd0e'd1fd2efd3ej d4 ej d5 e(ej)eeee�d1fd3ej d6 e(ej)eeee'�d7fd3ej d8 e(ej)ee'�d7fd9ej)d1fgd efd3ej d8 e(ej)ee'�d7fd:ej d; ej)d1fgd efd:ej d< ejfd=ej d> ejfd
ejfdejdfd?e'fd efd@e'dAfd0e'dBfg dCejfdejdDfdEejd1fdFejfgdGejd1fdHej*dIfd)ejd1fgdJefdHej*dIfd+ed1fgdKej*d1fdLej dM ej*d1fd�e
�ej*d1fdNej*d1fdOej*d1fdPej*d1fdQej*d1fgdR�Z+dSS )Tr zk
A Haskell lexer based on the lexemes defined in the Haskell 98 Report.
.. versionadded:: 0.8
ZHaskellZhaskellZhsz*.hsztext/x-haskell)�case�class�datar Zderiving�do�else�family�if�inz
infix[lr]?�instance�let�newtype�of�then�type�where�_)�NUL�SOHz[SE]TX�EOT�ENQ�ACK�BEL�BS�HT�LF�VT�FF�CRzS[OI]�DLEzDC[1-4]�NAK�SYN�ETB�CAN�EM�SUB�ESCz[FGRU]S�SP�DELz\s+z!--(?![!#$%&*+./<=>?@^|_~:\\]).*?$z\{-�commentz
\bimport\b�importz
\bmodule\b�modulez \berror\bz\b(%s)(?!\')\b�|z'[^\\]'z^[_z][\w\']*z'?[_z][\w']*z('')?[z(')[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)*)?z0[bB]_*[01](_*[01])*z0[oO]_*[0-7](_*[0-7])*z 0[xX]_*[\da-fA-F](_*[\da-fA-F])*z \d(_*\d)*�'� character�"�stringz\[\]z\(\)z[][(),;`{}]z\)z#popzqualified\bz([z][\w.]*)(\s+)(as)(\s+)([z][\w.]*)z][\w.]*)(\s+)(hiding)(\s+)(\()�funclistz][\w.]*)(\s+)(\()z[\w.]+�[z][\w.]*z]\w*z(_[\w\']+|[z ][\w\']*)�,z\()rK rK z#pop:2z[^-{}]+z#pushz-\}z[-{}]z[^\\']'z\\�escapez[^\\"]+z[abfnrtv"\'&\\]z\^[][z@^_]zo[0-7]+zx[\da-fA-F]+z\d+z\s+\\)�rootrD rE rK rC rH rJ rN N),�__name__�
__module__�__qualname__�__doc__�name�aliases� filenames� mimetypes�re� MULTILINE�UNICODE�flags�reserved�asciir r
�Single� Multiliner �Reservedr
� Exception�joinr �Char�uniZLl�FunctionZLu�Typer �Wordr �Float�Bin�Oct�Hex�Integer�Builtinr r � Namespace�Escape�tokens� rq rq �H/opt/alt/python37/lib/python3.7/site-packages/pygments/lexers/haskell.pyr s�
c @ sV e Zd ZdZdZdgZg Zg Zddee e
j�fdee e
j�fdee e
j�fegiZ
dS ) r zY
A Haskell lexer with support for Hspec constructs.
.. versionadded:: 2.4.0
ZHspecZhspecrO z(it\s*)("[^"]*")z(describe\s*)("[^"]*")z(context\s*)("[^"]*")N)rP rQ rR rS rT rU rV rW r r r ZDocr rp rq rq rq rr r � s c @ s* e Zd ZdZdZddgZdgZdgZdZdZ d Z
d
d�e
� ee
ej�fdee
ej�fd
ee
ej�fdee
ej�dfdee
eje
eje
�fdd�e� ejfdeeje
�dfdejfde
fdejfdejfdejfdejfdejfdejfdejdfdedfd e
fd!e
fgd"e
fd#eeje
e�d$fd%ejd&fgd"e
fd'ejfd(ejfd)ejfd*ejdfd+efd,efd-ed.fd/ed0fg d1ejfd*ejd2fd3ejd&fd4ejfgd5ejfd6ej d7fdejd&fgd8efd6ej d7fded&fgd9ej d&fd:ej d&fd�e �ej d&fd;ej d&fd<ej d&fdej d&fd=ej d&fgd>�Z!d?S )@r z�
A lexer for the dependently typed programming language Idris.
Based on the Haskell and Agda Lexer.
.. versionadded:: 2.0
ZIdrisZidrisZidrz*.idrztext/x-idris).r r r r �usingr r! r# r$ z
infix[lr]?r% �rewrite�auto� namespace�codata�mutual�private�public�abstract�total�partialr&