File: //usr/lib/python3/dist-packages/pygments/lexers/__pycache__/erlang.cpython-38.pyc
U
G�
\�I � @ s� d Z ddlZddlmZmZmZmZmZmZm Z ddl
mZmZm
Z
mZmZmZmZmZmZ ddddgZe�d �ZG d
d� de�ZG dd� de�Zdd
� Zddd�ZG dd� de�ZG dd� de�ZdS )z�
pygments.lexers.erlang
~~~~~~~~~~~~~~~~~~~~~~
Lexers for Erlang.
:copyright: Copyright 2006-2017 by the Pygments team, see AUTHORS.
:license: BSD, see LICENSE for details.
� N)�Lexer�
RegexLexer�bygroups�words�
do_insertions�include�default) �Text�Comment�Operator�Keyword�Name�String�Number�Punctuation�Generic�ErlangLexer�ErlangShellLexer�ElixirConsoleLexer�ElixirLexerz.*?
c @ sD e Zd ZdZdZdgZddddgZdgZd Zd
Z dZ
dZd
ZdZ
dZdZdZdZde d e d e d e d Zde
d e d ZdZdefdefeedd�efee dd�ejfeedd�ejfdedfe
efded fd!ejfd"ejfd#e d$ e ej!e�fd%e d& e ej"ee�fd'e d( e#j$fd)e#j$fd*e#j%fd+efe
ej&feefd,e ej'fd-e d. ej(fd/e d0 e d1 ejfd2ej)fd3ed4fgeej*fded5fd6ej+fd7efd8efgd9e d e ej,eeej'�d5fd:e d e ej,eeej�d5feej,d5fge-d;�d<ed=fd>ed=fd?ed5fge-d;�d@ed5fdAed5fgdB�Z.dCS )Dr z�
For the Erlang functional programming language.
Blame Jeremy Thurgood (http://jerith.za.net/).
.. versionadded:: 0.9
ZErlangZerlangz*.erlz*.hrlz*.esz *.escriptz
text/x-erlang)�afterZbegin�case�catch�cond�endZfun�ifZletZofZquery�receive�try�when){�absZappend_elementZapplyZatom_to_listZbinary_to_listZbitstring_to_listZbinary_to_termZbit_sizeZbump_reductionsZ byte_sizeZcancel_timerZcheck_process_codeZ
delete_moduleZ demonitorZdisconnect_nodeZdisplay�elementZerase�exit�floatZ
float_to_listZfun_infoZfun_to_listZfunction_exportedZgarbage_collect�getZget_keysZgroup_leader�hashZhdZinteger_to_listZiolist_to_binaryZiolist_sizeZis_atomZ is_binaryZis_bitstringZ
is_boolean�
is_builtinZis_floatZis_function�
is_integerZis_listZ is_numberZis_pidZis_portZis_process_aliveZ is_recordZis_referenceZis_tupleZlength�linkZlist_to_atomZlist_to_binaryZlist_to_bitstringZlist_to_existing_atomZ
list_to_floatZlist_to_integerZlist_to_pidZ
list_to_tuple�load_moduleZlocaltime_to_universaltimeZ
make_tupleZmd5Z md5_finalZ
md5_updateZmemoryZ
module_loadedZmonitorZmonitor_nodeZnodeZnodesZ open_portZphashZphash2Zpid_to_listZ
port_closeZport_commandZport_connectZport_controlZ port_callZ port_infoZport_to_listZprocess_displayZprocess_flagZprocess_infoZpurge_moduleZputZ
read_timerZref_to_list�registerZresume_process�round�sendZ
send_afterZsend_nosuspendZ
set_cookieZ
setelement�sizeZspawnZ
spawn_linkZ
spawn_monitorZ spawn_optZsplit_binaryZstart_timerZ
statisticsZsuspend_processZsystem_flagZsystem_infoZsystem_monitorZsystem_profileZterm_to_binaryZtlZtraceZtrace_deliveredZ
trace_infoZ
trace_patternZtruncZ
tuple_sizeZ
tuple_to_listZuniversaltime_to_localtime�unlinkZ
unregisterZwhereisz1(\+\+?|--?|\*|/|<|>|/=|=:=|=/=|=<|>=|==?|<-|!|\?))�andZandalsoZbandZbnotZborZbslZbsrZbxorZdiv�not�orZorelseZrem�xorz(?:[a-z]\w*|'[^\n']*[^\\]')z
(?:[A-Z_]\w*)z[bdefnrstv\'"\\]z[0-7][0-7]?[0-7]?z%(?:x[0-9a-fA-F]{2}|x\{[0-9a-fA-F]+\})z
\^[a-zA-Z]z(?:\\(?:�|z))z(?:�)z(?:[2-9]|[12][0-9]|3[0-6])�\s+z%.*\nz\b)�suffixz^-� directive�"�string�<<�>>�(z)(:)z
(?:^|(?<=:))(z
)(\s*)(\()z[+-]?z
#[0-9a-zA-Z]+z[+-]?\d+z[+-]?\d+.\d+z[]\[:_@\".{}()|;,]z\?z\$(?:z|\\[ %]|[^\\])�#z(:?\.z)?z\A#!.+\n�#\{�map_key�#popz~[0-9.*]*[~#+BPWXb-ginpswx]z[^"\\~]+�~z(define)(\s*)(\()(z(record)(\s*)(\()(�root�=>�map_valz:=�\}�,�(?=\}))rA r8 r6 r>