File: //opt/alt/python37/lib/python3.7/site-packages/babel/messages/__pycache__/jslexer.cpython-37.pyc
B
�`� � , @ s� d Z ddlmZ ddlZddlmZ eddddd d
ddd
ddddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/g+ed0d1�Zd2d3d4d5d6d7�Z e�
d8ej�Ze�
d9ej�Z
e�
d:�Ze�
d;ej�Ze�
d<�Ze�
d=ej �Ze�
d>�Zed?d@�Zde�
dAej�fde�
dB�fdCe�
dD�fdEe�
dFejejB �fdGe
fdHefdIe�
dJej�fdKe�
dLej�fdMe�
dNd�eeje�� �fdOe�
dPej�fdQe�
dRejejB �fgZdSdT� ZdUdV� ZdWdX� Zd[dYdZ�ZdS )\z�
babel.messages.jslexer
~~~~~~~~~~~~~~~~~~~~~~
A simple JavaScript 1.5 lexer which is used for the JavaScript
extractor.
:copyright: (c) 2013-2021 by the Babel Team.
:license: BSD, see LICENSE for more details.
� )�
namedtupleN)�unichr�+�-�*�%z!=z==�<�>z<=z>=�=z+=z-=z*=z%=z<<z>>z>>>z<<=z>>=z>>>=�&z&=�|z|=z&&z||�^z^=�(�)�[�]�{�}�!z--z++�~�,�;�.�:T)�key�reverse���
�
� )�b�f�n�r�tz[\w$_][\w\d$_]*z[\w$_][\w\d$_.]*[\w\d$_.]z/=?z%/(?:[^/\\]*(?:\\.[^/\\]*)*)/[a-zA-Z]*z(\r\n|\n|\r)z\\z[a-fA-F0-9]{1,4}�Tokenztype value linenoz\s+z<!--.*Zlinecommentz//.*Zmultilinecommentz /\*.*?\*/�dotted_name�name�numberzb(
(?:0|[1-9]\d*)
(\.\d+)?
([eE][-+]?\d+)? |
(0x[a-fA-F0-9]+)
)Zjsx_tagz(?:</?[^>\s]+|/>)�operatorz(%s)�template_stringz`(?:[^`\\]*(?:\\.[^`\\]*)*)`�stringzT(
'(?:[^'\\]*(?:\\.[^'\\]*)*)' |
"(?:[^"\\]*(?:\\.[^"\\]*)*)"
)c C sZ g }xPt D ]H\}}| s$|r$d|kr$q
|s2|dkr2q
|dkrD|s@q
d}|�||f� q
W |S )ze
Get a tokenization rule list given the passed syntax options.
Internal to this module.
�jsxr+ r'