HOME


Mini Shell 1.0
DIR: /snap/certbot/current/lib64/python3.12/site-packages/pycparser/ply/__pycache__/
Upload File :
Current File : //snap/certbot/current/lib64/python3.12/site-packages/pycparser/ply/__pycache__/lex.cpython-312.pyc
�

N�g���
��dZdZddlZddlZddlZddlZddlZddlZ	ejejfZ
ejd�ZGd�de�ZGd�de�ZGd�d	e�ZGd
�de�ZGd�d
�Zd�Zd�Zd�Zd�Zd�Zd�ZGd�de�Zdddddeej>�ddddf
d�Z dd�Z!d�Z"e"Z#y#e$ree
fZ
Y��wxYw)z3.10�Nz^[a-zA-Z0-9_]+$c��eZdZd�Zy)�LexErrorc�"�|f|_||_y�N)�args�text)�self�message�ss   ��/build/snapcraft-certbot-2c33630aaf29c47357e5a1683f659d3d/parts/certbot/install/lib/python3.12/site-packages/pycparser/ply/lex.py�__init__zLexError.__init__:s���J��	���	�N)�__name__�
__module__�__qualname__r
�rrrr9s��rrc��eZdZd�Zd�Zy)�LexTokenc�d�d|j|j|j|jfzS)NzLexToken(%s,%r,%d,%d))�type�value�lineno�lexpos�r	s r�__str__zLexToken.__str__As&��&�$�)�)�T�Z�Z����d�k�k�)Z�Z�Zrc��t|�Sr)�strrs r�__repr__zLexToken.__repr__Ds���4�y�rN)rrrrrrrrrr@s
��[�rrc�,�eZdZd�Zd�Zd�Zd�ZeZeZy)�	PlyLoggerc��||_yr)�f)r	r"s  rr
zPlyLogger.__init__Ls	����rc�F�|jj||zdz�y)N�
�r"�write�r	�msgr�kwargss    r�criticalzPlyLogger.criticalOs�������c�D�j�D�(�)rc�L�|jjd||zzdz�y)Nz	WARNING: r$r%r's    r�warningzPlyLogger.warningRs �������[�C�$�J�/�$�6�7rc�L�|jjd||zzdz�y)NzERROR: r$r%r's    r�errorzPlyLogger.errorUs �������Y�#��*�-��4�5rN)	rrrr
r*r,r.�info�debugrrrr r Ks"���*�8�6��D��Err c��eZdZd�Zd�Zy)�
NullLoggerc��|Srr)r	�names  r�__getattribute__zNullLogger.__getattribute__^����rc��|Srr)r	rr)s   r�__call__zNullLogger.__call__ar6rN)rrrr5r8rrrr2r2]s���rr2c�b�eZdZd�Zdd�Zdd�Zd�Zd�Zd�Zd�Z	d	�Z
d
�Zd�Zd�Z
d
�Zd�ZeZy)�Lexerc�F�d|_d|_i|_i|_i|_d|_g|_d|_i|_i|_	i|_
d|_d|_d|_
d|_d|_d|_d|_d|_d|_d|_d|_d|_y)N�INITIALr��F)�lexre�	lexretext�
lexstatere�lexstateretext�lexstaterenames�lexstate�
lexstatestack�lexstateinfo�lexstateignore�lexstateerrorf�lexstateeoff�
lexreflags�lexdatar�lexlen�	lexerrorf�lexeoff�	lextokens�	lexignore�lexliterals�	lexmoduler�lexoptimizers rr
zLexer.__init__ts�����
������� ���!���!��
���� ��� ��� ��������������������������������������� ��rNc
��tj|�}|r�i}|jj�D]x\}}g}|D]T\}}g}	|D]H}
|
r|
ds|	j|
��|	jt	||
dj
�|
df��J�V|j	f�|||<�z||_i|_|jj�D](\}}t	||j
�|j|<�*||_|S�Nrr>)�copyrA�items�append�getattrrrHrR)r	�object�c�newtab�key�ritem�newre�cre�findex�	newfindexr"�efs            r�clonezLexer.clone�s!���I�I�d�O����F�"�o�o�3�3�5�

$�
��U���#(�Q�K�C�� "�I�#�Q�� ��!��%�,�,�Q�/�$�!�(�(�'�&�!�A�$�-�-�*H�!�A�$�)O�P�	Q�Q����c�9�-�.�#��s��

$�"�A�L�!�A���.�.�4�4�6�
E���R�(/�����(D�� � ��%�
E� �A�K��rc��t|tj�rtd��|j	d�d}t
jj||�dz}t|d�5}|jd|�dt�d��|jd	tt�z�|jd
ttt|j���z�|jdt|j �z�|jdt|j"�z�|jd
t|j$�z�i}|j&j)�D]\\}}g}	t+||j,||j.|�D]&\\}
}}}
|	j1|t3||
�f��(|	||<�^|jdt|�z�|jdt|j4�z�i}|j6j)�D]\}}|r|j8nd||<�|jdt|�z�i}|j:j)�D]\}}|r|j8nd||<�|jdt|�z�ddd�y#1swYyxYw)Nz&Won't overwrite existing lextab module�.���z.py�wz# z5.py. This file automatically created by PLY (version z). Don't edit!
z_tabversion   = %s
z_lextokens    = set(%s)
z_lexreflags   = %s
z_lexliterals  = %s
z_lexstateinfo = %s
z_lexstatere   = %s
z_lexstateignore = %s
z_lexstateerrorf = %s
z_lexstateeoff = %s
)�
isinstance�types�
ModuleType�IOError�split�os�path�join�openr&�__version__�repr�__tabversion__�tuple�sortedrOrJrQrFrArW�ziprBrCrX�_funcs_to_namesrGrHrrI)r	�lextab�	outputdir�
basetabmodule�filename�tf�tabre�	statename�lre�titem�pat�func�retext�renames�taberrrc�tabeofs                 r�writetabzLexer.writetab�s|���f�e�.�.�/��B�C�C����S�)�"�-�
��7�7�<�<�	�=�9�E�A��
�(�C�
 �	<�B��H�H�gt�wB�C�
D��H�H�+�d�>�.B�B�C��H�H�0�4��f�T�^�^�>T�8U�3V�V�W��H�H�+�d�4�?�?�.C�C�D��H�H�+�d�4�3C�3C�.D�D�E��H�H�+�d�4�3D�3D�.E�E�F��E�"&�/�/�"7�"7�"9�
)��	�3���47��T�=P�=P�QZ�=[�]a�]q�]q�r{�]|�4}�K�0�K�S�$����L�L�&�/�$��*H�!I�J�K�#(��i� �	
)�
�H�H�+�d�5�k�9�:��H�H�-��T�5H�5H�0I�I�J��F�!%�!4�!4�!:�!:�!<�
@�
�	�2�35�B�K�K�4��y�!�
@��H�H�-��V��<�=��F�!%�!2�!2�!8�!8�!:�
@�
�	�2�35�B�K�K�4��y�!�
@��H�H�+�d�6�l�:�;�7	<�	<�	<�s
�)IK�Kc	���t|tj�r|}n!td|z�tj
|}t
|dd�tk7rtd��|j|_
|j|_|j|_|jt|j�z|_|j"|_|j&|_i|_i|_|j.j1�D]l\}}g}g}|D]@\}}	|j3t5j6||j�t9|	|�f��B||j*|<||j,|<�ni|_|j<j1�D]\}}
||
|j:|<�i|_|j@j1�D]\}}
||
|j>|<�|jCd�y)N�	import %s�_tabversionz0.0zInconsistent PLY versionr<)"rirjrk�exec�sys�modulesrYrt�ImportError�
_lextokensrO�_lexreflagsrJ�_lexliteralsrQ�set�
lextokens_all�
_lexstateinforF�_lexstateignorerGrArB�_lexstatererWrX�re�compile�_names_to_funcsrH�_lexstateerrorfrI�
_lexstateeoff�begin)r	�tabfile�fdictryrr�r��txtitemr��	func_namercs           r�readtabz
Lexer.readtab�s����g�u�/�/�0��F���w�&�'��[�[��)�F��6�=�%�0�N�B��8�9�9�$�/�/���$�0�0���$�1�1���"�n�n�s�4�3C�3C�/D�D���$�2�2���$�4�4��� ��� ���$�0�0�6�6�8�	5�N�I�s��E��G�"%�
g���Y����b�j�j��f�.@�.@�A�?�S\�^c�Cd�e�f�
g�*/�D�O�O�I�&�-4�D���	�*�	5�!���#�3�3�9�9�;�	7�M�I�r�-2�2�Y�D���	�*�	7����#�1�1�7�7�9�	5�M�I�r�+0��9�D���i�(�	5�	
�
�
�9�rc��|dd}t|t�std��||_d|_t|�|_y)Nr>zExpected a stringr)ri�StringTypes�
ValueErrorrKr�lenrL)r	rr[s   r�inputzLexer.input�s<��
�b�q�E���!�[�)��0�1�1��������!�f��rc�Z�||jvrtd��|j||_|j||_|j
j
|d�|_|jj
|d�|_	|jj
|d�|_||_y)NzUndefined stater=)
rAr�r?rBr@rG�getrPrHrMrIrNrD�r	�states  rr�zLexer.begins�������'��.�/�/��_�_�U�+��
��,�,�U�3����,�,�0�0���;����,�,�0�0���=����(�(�,�,�U�D�9�����
rc�p�|jj|j�|j|�yr)rErXrDr�r�s  r�
push_statezLexer.push_states&�����!�!�$�-�-�0��
�
�5�rc�V�|j|jj��yr)r�rE�poprs r�	pop_statezLexer.pop_states���
�
�4�%�%�)�)�+�,rc��|jSr)rDrs r�
current_statezLexer.current_state!s���}�}�rc�.�|xj|z
c_yr)r)r	�ns  r�skipz
Lexer.skip's�����q��rc��|j}|j}|j}|j}||k�r�|||vr|dz
}�|jD�]g\}}|j||�}|s�t
�}|j�|_|j|_	||_|j}	||	\}
|_|
s8|jr|j�|_|cS|j�}�n�|j�}||_
||_||_|
|�}|s|j}|j}�n�|jsj|j|j vrRt#d|
j$j&|
j$j(|
j*|jfz||d��|cS|||j,vrIt
�}|||_|j|_	|j|_||_|dz|_|S|j.r�t
�}|j|d|_|j|_	d|_||_
||_||_|j/|�}||jk(rt#d||z||d��|j}|s���|S||_t#d|||fz||d��||kr���|j0rQt
�}d|_d|_|j|_	||_||_
||_|j1|�}|S|dz|_|j�t3d��y)	Nr>z4%s:%d: Rule '%s' returned an unknown token type '%s'r.z&Scanning error. Illegal character '%s'z"Illegal character '%s' at index %d�eofr=z"No input string given with input())rrLrPrKr?�matchr�grouprr�	lastindexr�end�lexer�lexmatchrSr�r�__code__�co_filename�co_firstlinenorrQrMrN�RuntimeError)r	rrLrPrKr?�lexindexfunc�m�tok�ir��newtoks            r�tokenzLexer.token1s7���K�K���K�K���N�N�	��L�L���v�o��v��)�+��!����(,�z�z�M
s�#��|��K�K���0�����j���G�G�I��	�!�[�[��
�#��
��K�K��!-�a����c�h���x�x�&'�e�e�g���"�
�!"�����������!��	� !��
�$����c���� $���F� $���I���'�'��{�{�$�*<�*<�<�&�']� �M�M�5�5�t�}�}�7S�7S� �M�M�6�;�;�a8�(8�9@���9I�K�K��
�]M
s�b�6�?�d�&6�&6�6�"�*�C� '���C�I�!%���C�J�"�y�y�C�H�!'�C�J�"(�1�*�D�K��J��>�>�"�*�C� $���V�W� 5�C�I�!%���C�J�&�C�H� $�C�I�!'�C�J�"(�D�K�!�^�^�C�0�F�����,�&�'O�SZ�[a�Sb�'c�el�ms�mt�eu�v�v�!�[�[�F�!� �!�M�$����C�w�v��X^�F_�_�ah�io�ip�aq�r�r�i�v�o�l�<�<��*�C��C�H��C�I����C�J��C�J��C�I� �D�K��\�\�#�&�F��M��q�j����<�<���C�D�D�rc��|Srrrs r�__iter__zLexer.__iter__�r6rc�6�|j�}|�t�|Sr)r��
StopIteration)r	�ts  r�nextz
Lexer.next�s���J�J�L���9����rr)r=)rrrr
rdr�r�r�r�r�r�r�r�r�r�r��__next__rrrr:r:ssN��!�8�< <�J#�P���-���k�\���Hrr:c�0�t|d|j�S)N�regex)rY�__doc__)r�s r�
_get_regexr��s���4��$�,�,�/�/rc���tj|�}|jj�}|j|jk7r|j|j�|Sr)r��	_getframe�	f_globalsrV�f_locals�update)�levelsr"�ldicts   r�get_caller_module_dictr��sG���
�
�f��A�
�K�K����E��{�{�a�j�j� �
���Q�Z�Z� ��Lrc��g}t||�D]4\}}|r|dr|j||df��$|j|��6|SrU)rwrX)�funclist�namelist�resultr"r4s     rrxrx�sQ��
�F��x��*����4���1���M�M�4��1��,�'��M�M�!��	�
�Mrc��g}|D]7}|r"|dr|j||d|df��'|j|��9|SrU)rX)r�r�r�r�s    rr�r��sO��
�F�
�����1���M�M�5��1��;��!��-�.��M�M�!��	�
�Mrc���|sgSdj|�}	tj||�}dgt|jj��dzz}|dd}|jj
�D]~\}}	|j|d�}
t|
�tjtjfvr|
||f||	<|||	<�S|
��V|||	<|jd�dkDrd||	<�ud||f||	<��||fg|g|gfS#t$rYtt|�dz�}|dk(rd}t!|d||||�\}}
}t!||d|||�\}}}||z|
|z||zfcYSwxYw)N�|r>�ignore_r�NN�)rpr�r��max�
groupindex�valuesrWr�rrj�FunctionType�
MethodType�find�	Exception�intr��_form_master_re)�relist�reflagsr��toknamesr�r?r��
lexindexnamesr"r��handler��llistr��lnames�rlist�rre�rnamess                  rr�r��s�����	��H�H�V��E�9��
�
�5�'�*���v��U�%5�%5�%<�%<�%>�!?�!�!C�D��$�Q��
��$�$�*�*�,�
	:�D�A�q��Y�Y�q�$�'�F��F�|�� 2� 2�E�4D�4D�E�E�#)�8�A�;�"7��Q��#$�
�a� ��#�#$�
�a� ��6�6�)�$�q�(�&2�L��O�'+�X�a�[�&9�L��O�
	:���%�&���-��@�@���9���F��A�
�����6��A�,�V�B�Q�Z��%��R���s�F�,�V�A�B�Z��%��R���s�F��e��s�3�w�&��-�8�8�
9�s�B4D�4D�AE#�"E#c���d}|jd�}t|ddd�D]\}}||vs�|dk7s�ndkDrt|d|�}nd}d|vrt|�}dj||d�}||fS)Nr>�_�ANY)r<)rm�	enumeraterurp)r�names�nonstate�partsr��part�states�	tokennames        r�_statetokenrs����H�
�G�G�C�L�E��U�1�2�Y��*����4��u�������	�1�u��u�Q�q�z�"��������u�������q�r��#�I��I��rc�P�eZdZd
d�Zd�Zd�Zd�Zd�Zd�Zd�Z	d	�Z
d
�Zd�Zd�Z
y)�LexerReflectNc���||_d|_g|_||_ddi|_t�|_d|_|�ttj�|_y||_y)Nr<�	inclusiveF)r��
error_func�tokensr��	stateinfor�r�r.r r��stderr�log)r	r�rr�s    rr
zLexerReflect.__init__/sT����
�������!���$�k�2����%�����
�36�;�)�C�J�J�/���C��rc��|j�|j�|j�|j�yr)�
get_tokens�get_literals�
get_states�	get_rulesrs r�get_allzLexerReflect.get_all:s,�����������������rc�z�|j�|j�|j�|jSr)�validate_tokens�validate_literals�validate_rulesr.rs r�validate_allzLexerReflect.validate_allAs0��������� ������z�z�rc�P�|jjdd�}|s#|jjd�d|_yt	|t
tf�s#|jjd�d|_y|s#|jjd�d|_y||_y)NrzNo token list is definedTztokens must be a list or tupleztokens is empty)r�r�rr.ri�listrur)r	rs  rr
zLexerReflect.get_tokensHs���������$�/����H�H�N�N�5�6��D�J���&�4��-�0��H�H�N�N�;�<��D�J����H�H�N�N�,�-��D�J����rc���i}|jD]_}tj|�s#|jj	d|�d|_||vr|jjd|�d||<�ay)NzBad token name '%s'TzToken '%s' multiply definedr>)r�_is_identifierr�rr.r,)r	�	terminalsr�s   rrzLexerReflect.validate_tokens\sg���	����	�A�!�'�'��*������4�a�8�!��
��I�~���� � �!>��B��I�a�L�
	rc�n�|jjdd�|_|jsd|_yy)N�literalsr=)r�r�rrs rrzLexerReflect.get_literalsgs+���
�
���z�2�6��
��}�}��D�M�rc� �	|jD]M}t|t�rt|�dkDs�"|jjdt
|��d|_�Oy#t$r%|jjd�d|_YywxYw)Nr>z.Invalid literal %s. Must be a single characterTzIInvalid literals specification. literals must be a sequence of characters)rrir�r�rr.rs�	TypeError)r	r[s  rrzLexerReflect.validate_literalsmsx��	��]�]�
&��!�!�[�1�S��V�a�Z��H�H�N�N�#S�UY�Z[�U\�]�!%�D�J�
&��
�	��H�H�N�N�f�g��D�J�	�s�-A�.A�+B
�B
c��|jjdd�|_|j�rRt|jtt
f�s#|jjd�d|_y|jD]�}t|t�rt|�dk7r-|jjdt|��d|_�N|\}}t|t�s-|jjdt|��d|_��|dk(s)|dk(s$|jjd	|�d|_��||jvr$|jjd
|�d|_��||j|<��yy)Nrz)states must be defined as a tuple or listTr�zMInvalid state specifier %s. Must be a tuple (statename,'exclusive|inclusive')zState name %s must be a stringr�	exclusivez:State type for state %s must be 'inclusive' or 'exclusive'zState '%s' already defined)r�r�rrirurrr.r�rsr�r	)r	rr4�	statetypes    rrzLexerReflect.get_statesxs4���j�j�n�n�X�t�4����;�;��d�k�k�E�4�=�9������J�K�!��
����5�A�%�a��/�3�q�6�Q�;������'v�x|�}~�x�A�%)��
� �&'�O�D�)�%�d�K�8������'G��d��T�%)��
� �%��4�	�[�8P������'c�ei�j�%)��
� ��t�~�~�-������'C�T�J�%)��
� �+4�D�N�N�4�(�%5�rc���|jD�cgc]
}|dddk(s�|��}}i|_i|_i|_i|_i|_i|_|jD] }g|j|<g|j|<�"t|�dk(r#|jjd�d|_
y|D�]�}|j|}t||j�\}}||j|<t|d�r�|dk(r|D]}||j
|<��c|dk(r|D]}||j|<��|d	k(r\|jj}|jj}|jjd
|||j �d|_
��|D]"}|j|j#||f��$��	t%|t&�r�|d	k(r:|D]}||j|<�d|vs��:|jj)d|���X|dk(r%|jjd
|�d|_
���|D]"}|j|j#||f��$���|jjd|�d|_
���|jj+�D]}|j-d����|jj+�D]}|j-d�d���ycc}w)Nr��t_rz+No rules of the form t_rulename are definedTr8r.r��ignorez,%s:%d: Rule '%s' must be defined as a string�\z#%s contains a literal backslash '\'�'Rule '%s' must be defined as a functionz&%s not defined as a function or stringc�4�|djjS�Nr>)r�r���xs r�<lambda>z(LexerReflect.get_rules.<locals>.<lambda>�s���1����!=�!=�r)r]c��t|d�Sr))r�r*s rr,z(LexerReflect.get_rules.<locals>.<lambda>�s���Q�q�T��r)r]�reverse)r�r��funcsym�strsymr%�errorf�eoffr	r�rr.r�hasattrr�r�r�rrXrir�r,r��sort)	r	r"�tsymbolsrr�r�tokname�line�files	         rrzLexerReflect.get_rules�s���#�z�z�;�!�Q�r��U�d�]�A�;��;���
���������������	����	 �A� �D�L�L��O��D�K�K��N�	 ��x�=�A���H�H�N�N�H�I��D�J���#	"�A��
�
�1�
�A�)�!�T�^�^�<�O�F�G�&�D�M�M�!���q�*�%��g�%�#�+��)*����A��+���%�#�)��'(��	�	�!��)���(��:�:�4�4�D��:�:�1�1�D��H�H�N�N�#Q�SW�Y]�_`�_i�_i�j�!%�D�J�#�7�����Q��.�.��1�v�6�7��A�{�+��h�&�#�+��)*����A��+��q�y����(�(�)O�QR�S���'��H�H�N�N�#L�a�P�!%�D�J�#�6�����A��-�-�q�!�f�5�6������G��K�!��
�G#	"�L���$�$�&�	?�A�
�F�F�=�F�>�	?����#�#�%�	:�A�
�F�F�*�D�F�9�	:��{<s
�
K&�K&c
�
�|jD�]$}|j|D�]�\}}|jj}|jj}tj|�}|jj|�|j|}t|tj�rd}nd}|jj}	|	|kDr0|jjd|||j �d|_��|	|kr1|jjd|||j �d|_��t#|�s1|jjd|||j �d|_��N	t%j&d|�dt#|��d	�|j(�}
|
j+d
�r/|jjd|||j �d|_���|j,|D]�\}}
|j|}|dk(r$|jjd|�d|_�>||j.vr9|j1d�dkr%|jjd||�d|_��	t%j&d|�d|
�d	�|j(�}
|
j+d
�r#|jjd|�d|_��|j|s2|j,|s#|jjd|�d|_|j2j5|d�}|s��(|}|jj}|jj}tj|�}|jj|�t|tj�rd}nd}|jj}	|	|kDr/|jjd|||j �d|_|	|ks���|jjd|||j �d|_��'|jD]}|j7|��y#t$j$rp}|jjd|||j |�d
t#|�vr(|jjd|||j �d|_Yd}~���d}~wwxYw#t$j$rO}|jjd||�d
|
vr|jjd|�d|_Yd}~��Jd}~wwxYw)Nr�r>z'%s:%d: Rule '%s' has too many argumentsTz%%s:%d: Rule '%s' requires an argumentz2%s:%d: No regular expression defined for rule '%s'�(?P<�>�)r=z<%s:%d: Regular expression for rule '%s' matches empty stringz3%s:%d: Invalid regular expression for rule '%s'. %s�#z6%s:%d. Make sure '#' in rule '%s' is escaped with '\#'r.r'r�rz-Rule '%s' defined for an unspecified token %sz5Regular expression for rule '%s' matches empty stringz,Invalid regular expression for rule '%s'. %sz/Make sure '#' in rule '%s' is escaped with '\#'zNo rules defined for state '%s')r	r/r�r�r��inspect�	getmoduler��addr�rirjr��co_argcountrr.rr�r�r�r�r�r0rr�r1r��validate_module)r	r��fnamer"r7r8�moduler6�reqargs�nargsr[�er4�r�efuncs               rrzLexerReflect.validate_rules�s^���^�^�Y	&�E�!�L�L��/�$
&���q��z�z�0�0���z�z�-�-�� �*�*�1�-����� � ��(��-�-��.���a��!1�!1�2��G��G��
�
�.�.���7�?��H�H�N�N�#L�d�TX�Z[�Zd�Zd�e�!%�D�J���7�?��H�H�N�N�#J�D�RV�XY�Xb�Xb�c�!%�D�J��!�!�}��H�H�N�N�#W�Y]�_c�ef�eo�eo�p�!%�D�J��	&��
�
�5�*�Q�-�#H�$�,�,�W�A��w�w�r�{������'e�gk�mq�st�s}�s}�~�%)��
��?$
&�N �;�;�u�-�
&���a��-�-��-���g�%��H�H�N�N�#L�d�S�!%�D�J���$�+�+�-�'�,�,�y�2I�A�2M��H�H�N�N�#R�TX�Za�b�!%�D�J��	&��
�
�4��#;�T�\�\�J�A�����������'^�`d�e�%)��
��!
&�.�<�<��&�t�{�{�5�/A������@�%�H�!��
��K�K�O�O�E�4�0�E�����z�z�0�0���z�z�-�-�� �*�*�1�-����� � ��(��a��!1�!1�2��G��G��
�
�.�.���7�?��H�H�N�N�#L�d�TX�Z[�Zd�Zd�e�!%�D�J��7�?��H�H�N�N�#J�D�RV�XY�Xb�Xb�c�!%�D�J�sY	&�v�l�l�	)�F�� � ��(�	)��q�x�x�&��H�H�N�N�#X�Z^�`d�fg�fp�fp�rs�t��j��m�+������'`�bf�hl�no�nx�nx�y�!%�D�J�J��	&��0�x�x�&��H�H�N�N�#Q�SW�YZ�[��a�x������'Y�[_�`�!%�D�J�J��	&�s4�/A0Q�7AS�S�+A%S�S�U�1AT;�;Uc���	tj|�\}}tjd�}tjd�}i}|dz
}|D]�}|j|�}|s|j|�}|re|j
d�}	|j|	�}
|
s|||	<n;tj|�}|jjd|||	|
�d|_
|dz
}��y#t$rYywxYw)Nz\s*def\s+(t_[a-zA-Z_0-9]*)\(z\s*(t_[a-zA-Z_0-9]*)\s*=r>z7%s:%d: Rule %s redefined. Previously defined on line %dT)r>�getsourcelinesrlr�r�r�r�r��
getsourcefilerr.)r	rD�lines�linen�fre�sre�	counthashr7r�r4�prevr|s            rrBzLexerReflect.validate_module@s���	�"�1�1�&�9�L�E�5��j�j�8�9���j�j�4�5���	�
��
���
	�D��	�	�$��A���I�I�d�O����w�w�q�z�� �}�}�T�*���&+�I�d�O�&�4�4�V�<�H��H�H�N�N�#\�^f�hm�os�uy�z�!%�D�J��Q�J�E�
	���	��	�s�C#�#	C/�.C/)Nr)rrrr
rrr
rrrrrrrBrrrrr.s=��H����(��	�5�>?:�D])�NrrFryc

��|�d}d}
ddi}t�}||_|	�ttj�}	|r|�ttj�}|r|}|rWt|�D�
cgc]}
|
t
||
�f��}}
t|�}
d|
vr/tj|
dj|
d<ntd�}
|
jd�}|rt|t�rd|vr|dz|z}t|
|	|�	�}|j�|s|j!�rt#d
��|r1|r/	|j%||
�|j&a|j(a|a|S|rT|j/d|j0�|j/d|j2�|j/d
|j4�t7�|_|j0D]}|j8j;|��t|j2t<t>f�r<tA|j2d��jC|j2�|_"n|j2|_"|j8t7|jD�z|_#|j4}i}|D]�}g}|jH|D]r\}}|jJjL}|jJjN}|jQd|�dtS|��d��|s�V|j/d|tS|�|��t|jT|D]4\}}|jQd|�d|�d��|s�!|j/d|||��6|||<��|r|j/d�|D]x}tW||||
|jX�\}}}||jZ|<||j\|<||j^|<|s�Rta|�D]\}}|j/d|||���z|jc�D]�\}} |dk7s�| dk(s�|jZ|je|jZd�|j\|je|j\d�|j^|je|j^d���||_3|jZd|_4|j\d|_5||_6|jn|_8|jpjdd�|_9|jt|_;|jtjdd�|_<|jxs|	j{d�|j||_?|j|jdd�|_@|jc�D]�\}!} | dk(rO|!|jtvr|	j{d|!�|!|jnvs�:|jrs�G|	j{d|!��Z| dk(s�`|!|jtvr)|jtjdd�|jt|!<|!|jnvs��|jnjdd�|jn|!<��|j&a|j(a|a|r�|r�|��t|t�j��r
|j}"n[d|vr|
d}"nQ|j�d�}#djC|#dd�}$t�d|$z�t
tj|$dd�}"t�j�j�|"�}	|j�||�|S|Scc}
w#t,$rY���wxYw#t�$r"}%|	j{d|�d|%���Yd}%~%|Sd}%~%wwxYw)Nryr<r�__file__rr��__package__rf)rr�zCan't build lexerzlex: tokens   = %rzlex: literals = %rzlex: states   = %rrr:r;r<z(lex: Adding rule %s -> '%s' (state '%s')z#lex: ==== MASTER REGEXS FOLLOW ====z"lex: state '%s' : regex[%d] = '%s'r=zNo t_error rule is definedr!z1No error rule is defined for exclusive state '%s'z2No ignore rule is defined for exclusive state '%s'rgr�zCouldn't write lextab module z. )Jr:rSr r�r
�dirrY�dictr�rTr�r�rirrrr�SyntaxErrorr�r�r�r�r�r/rrr	r�rOr@rrurrprQr�r/r�r�r�rXr�r0r�r�rArBrCr�rW�extendrFr?r@rJr%rGrPr1rHrMr,r2rIrNrjrkrmr�rnro�dirnamer�rl)&rDrZr0�optimizeryr��nowarnrz�debuglog�errorlogr�r	�lexobj�k�_items�pkg�linfor��regexsr��
regex_listrCr"r7r8r4rHr?�re_text�re_namesr�r�styper�srcfiler��pkgnamerGs&                                      r�lexrk_s���~���
�E��[�)�I�
�W�F�!�F�����S�Z�Z�(����� ����,�H�����36�v�;�?�a�1�g�f�a�(�)�?��?��V����U�"� #���E�,�,?� @� I� I�E�*��&�q�)���)�)�M�
"�C�
�z�&�#�&��f���3�Y��'�F�
��H�g�>�E�	�M�M�O�������1�2�2��F�	��N�N�6�5�)��L�L�E��L�L�E��E��M�
��
�
�*�E�L�L�9��
�
�*�E�N�N�;��
�
�*�E�O�O�<��u�F��
�\�\� �������Q�� ��%�.�.�4��-�0�4�T�%�.�.��"3�4�6�;�;�E�N�N�K���"�^�^���!�+�+�c�&�2D�2D�.E�E�F�����I�
�F��#���
��
�
�e�,�	g�H�E�1��:�:�,�,�D��:�:�)�)�D����e�Z��]�C�D���
�
�H�%�Q[�\]�Q^�`e�f�	g��|�|�E�*�	Z�G�D�!����d�A�6�7���
�
�H�$�PQ�SX�Y�	Z�
#��u�
�##�*
��
�
�;�<��T��#2�6�%�=�'�5�RW�R`�R`�#a� ��w��#(����%� �'.����e�$�(0����u�%��$�W�-�
T���4��
�
�B�E�1�d�S�
T�
T�"���)�T���u��I��%�;�"6����e�$�+�+�F�,=�,=�i�,H�I��!�!�%�(�/�/��0E�0E�i�0P�Q��"�"�5�)�0�0��1G�1G�	�1R�S�	T�$�F���$�$�Y�/�F�L��,�,�Y�7�F���F��"�L�L�F���,�,�0�0��B�?�F��"�L�L�F���|�|�'�'�	�4�8�F��������5�6� �*�*�F���Z�Z�^�^�I�t�4�F�N��O�O�%�
B���5��K������$�� � �!T�VW�X�����$��)9�)9�� � �!U�WX�Y�
�k�
!�����$�"'�,�,�"2�"2�9�d�"C����Q������$�"'�,�,�"2�"2�9�b�"A����Q��
B�
�L�L�E��L�L�E��E��(���
�&�%�"2�"2�3� �/�/���f�$�#�J�/�G�"�L�L��-�E�!�h�h�u�S�b�z�2�G���w�.�/�%�c�k�k�'�&:�J��K�G�������0�I�	R��O�O�F�I�.��M�6�M��{@��<�	��	��x�	R����f�a�P�Q�Q��M��	R�s0�'\;�+-]�%]�	]
�]
�	];�]6�6];c�4�|s?	tjd}t|�}|j�}|j	�|r
|j}nt}||�|r
|j}nt}	|�}|sytjjd|j|j|j|jfz��Y#t
$r@tjjd�tjj�}Y��wxYw)Nr>z/Reading from standard input (type EOF to end):
z(%s,%r,%d,%d)
)r��argvrq�read�close�
IndexError�stdoutr&�stdinr�r�rrrr)r��datar|r"�_input�_tokenr�s       r�runmainrvs����	$��x�x��{�H��X��A��6�6�8�D�
�G�G�I�

�������
�4�L��������
��h�����
�
���*�c�h�h��	�	�3�:�:�s�z�z�-Z�Z�[�	���	$��J�J���O�P��9�9�>�>�#�D�	$�s�>C�AD�Dc����fd�}|S)Nc�R��t�d�rt��|_|S�|_|S)Nr8)r3r�r�)r"rHs �r�	set_regexzTOKEN.<locals>.set_regexBs-����1�j�!� ��m�A�G����A�G��rr)rHrys` r�TOKENrzAs�����rr�)$rrrtr�r�rjrVrnr>�
StringType�UnicodeTyper��AttributeErrorr�bytesr�rr�rrZrr r2r:r�r�rxr�r�rrr��VERBOSErkrvrz�Tokenrrr�<module>r�s��D����	�
���	����#�#�U�%6�%6�7�K�����.�/���y���v�����$���,u�u�H
0���� 9�P�2j�6�j�b	�D���h��B�J�J�����W[�x�@\�D�	���w ����,�K��s�C�	C�C