OwlCyberSecurity - MANAGER
Edit File: c_lexer.cpython-311.pyc
� �������hC�����������������������B�����d�dl�Z�ddlmZ�ddlmZ��G�d��de������������ZdS�)�����N����)�lex)�TOKENc��������������������(����e�Zd�ZdZd��Zd��Zd��Zd��Zd��Zd��Z d��Z d ��Zd ZdZ i�ZeD�]Zeee�����������������������������������<����e D�]>Zeeedd ���������������������������������������������ed d���������������������������������������������z���<����?ee z���dz���ZdZdZdZdZdZdZdez���dz���ez���dz���Zdez���Zeez���ez���Zeez���ez���ZdZdZdZdZ dZ!dez���dz���ez���dz���e z���d z���Z"d!Z#d"e"z���dz���Z$d#e$z���d#z���Z%d$e%z���Z&d%e%z���Z'd&e%z���Z(d'e%z���Z)d#e$z���d(z���Z*d)e$z���d*z���e$z���d+z���Z+d)e$z���d,z���e!z���d-z���Z,d.e#z���dz���Z-d/e-z���d0z���Z.d$e.z���Z/d%e.z���Z0d&e.z���Z1d'e.z���Z2d/e-z���d1z���e!z���e-z���d0z���Z3d2Z4d3Z5d4e5z���dz���e4z���d5z���e4z���d6z���Z6d7Z7d8ez���d9z���ez���d:z���ez���d;z���Z8d<ez���d<z���ez���dz���e8z���dz���e7z���d=z���Z9d>Z:d?��Z;�e<e.������������d@����������������Z=�e<e������������dA����������������Z>dB��Z?dC��Z@dDZAdE��ZBdF��ZCdG��ZDdDZEdH��ZFdI��ZGdDZHdJ��ZIdKZJdLZKdMZLdNZMdOZNdPZOdQZPdRZQdSZRdTZSdUZTdVZUdWZVdXZWdYZXdZZYd[ZZd\Z[d]Z\d^Z]d_Z^d`Z_daZ`dbZadcZbddZcdeZddfZedgZfdhZgdiZhdjZidkZjdlZkdmZldnZmdoZndpZodqZpdrZqdsZrdtZsduZtdvZu�e<dw������������dx����������������Zv�e<dy������������dz����������������Zwe.Zx�e<e6������������d{����������������Zy�e<e9������������d|����������������Zz�e<e������������d}����������������Z{�e<e������������d~����������������Z|�e<e������������d����������������Z}�e<e������������d�����������������Z~�e<e������������d�����������������Z�e<e*������������d�����������������Z��e<e%������������d�����������������Z��e<e&������������d�����������������Z��e<e'������������d�����������������Z��e<e(������������d�����������������Z��e<e)������������d�����������������Z��e<e+������������d�����������������Z��e<e,������������d�����������������Z��e<e/������������d�����������������Z��e<e0������������d�����������������Z��e<e1������������d�����������������Z��e<e2������������d�����������������Z��e<e3������������d�����������������Z��e<e������������d�����������������Z�d���Z�dS�)��CLexera�� A lexer for the C language. After building it, set the input text with input(), and call token() to get new tokens. The public attribute filename can be set to an initial filename, but the lexer will update it upon #line directives. c�����������������������||�_���������||�_��������||�_��������||�_��������d|�_��������d|�_��������t ����������j��������d������������|�_��������t ����������j��������d������������|�_ ��������dS�)ab�� Create a new Lexer. error_func: An error function. Will be called with an error message, line and column as arguments, in case of an error during lexing. on_lbrace_func, on_rbrace_func: Called when an LBRACE or RBRACE is encountered (likely to push/pop type_lookup_func's scope) type_lookup_func: A type lookup function. Given a string, it must return True IFF this string is a name of a type that was defined with a typedef earlier. ��Nz([ \t]*line\W)|([ \t]*\d+)z[ \t]*pragma\W) � error_func�on_lbrace_func�on_rbrace_func�type_lookup_func�filename� last_token�re�compile�line_pattern�pragma_pattern)�selfr ���r���r���r ���s��� �q/builddir/build/BUILD/imunify360-venv-2.5.2/opt/imunify360/venv/lib/python3.11/site-packages/pycparser/c_lexer.py�__init__zCLexer.__init__���sa������$�%���,���,��� 0����� ����� ��J�'D�E�E��� �j�):�;�;���������c������������������6�����t����������j���������dd|�i|��|�_��������dS�)z� Builds the lexer from the specification. Must be called after the lexer object is created. This method exists separately, because the PLY manual warns against calling lex.lex inside __init__ �objectN��)r����lexer)r����kwargss��� r����buildzCLexer.build9���s$��������W�3�3�D�3�F�3�3�� � � r���c�����������������������d|�j���������_��������dS�)z? Resets the internal line number counter of the lexer. r���N)r����lineno�r���s��� r����reset_linenozCLexer.reset_linenoC���s��������� ���r���c������������������:�����|�j������������������������������|�������������d�S��N)r����input)r����texts��� r���r$���zCLexer.inputH���s������� ��������r���c������������������L�����|�j��������������������������������������������|�_��������|�j��������S�r#���)r����tokenr���r ���s��� r���r'���zCLexer.tokenK���s�������*�*�*�,�,�����r���c������������������b�����|�j���������j�����������������������������dd|j��������������������}|j��������|z ��S�)z3 Find the column of the token in its line. � r���)r����lexdata�rfind�lexpos)r���r'����last_crs��� r����find_tok_columnzCLexer.find_tok_columnO���s/��������*�$�*�*�4��E�L�A�A���|�g�%�%r���c�����������������������|�����������������������|������������}|����������������������||d���������|d����������������������|�j�����������������������������d�������������d�S�)Nr���r���)�_make_tok_locationr ���r����skip)r����msgr'����locations��� r����_errorz CLexer._errorZ���sM�������*�*�5�1�1������X�a�[�(�1�+�6�6�6�� ��������r���c������������������:�����|j���������|����������������������|������������fS�r#���)r���r.���)r���r'���s��� r���r0���zCLexer._make_tok_location_���s��������d�2�2�5�9�9�:�:r���)$�AUTO�BREAK�CASE�CHAR�CONST�CONTINUE�DEFAULT�DO�DOUBLE�ELSE�ENUM�EXTERN�FLOAT�FOR�GOTO�IF�INLINE�INT�LONG�REGISTER�OFFSETOF�RESTRICT�RETURN�SHORT�SIGNED�SIZEOF�STATIC�STRUCT�SWITCH�TYPEDEF�UNION�UNSIGNED�VOID�VOLATILE�WHILE�__INT128)�_BOOL�_COMPLEX� _NORETURN� _THREAD_LOCAL�_STATIC_ASSERT�_ATOMIC�_ALIGNOF�_ALIGNASN����)D�ID�TYPEID� INT_CONST_DEC� INT_CONST_OCT� INT_CONST_HEX� INT_CONST_BIN�INT_CONST_CHAR�FLOAT_CONST�HEX_FLOAT_CONST� CHAR_CONST�WCHAR_CONST�U8CHAR_CONST� U16CHAR_CONST� U32CHAR_CONST�STRING_LITERAL�WSTRING_LITERAL�U8STRING_LITERAL�U16STRING_LITERAL�U32STRING_LITERAL�PLUS�MINUS�TIMES�DIVIDE�MOD�OR�AND�NOT�XOR�LSHIFT�RSHIFT�LOR�LAND�LNOT�LT�LE�GT�GE�EQ�NE�EQUALS� TIMESEQUAL�DIVEQUAL�MODEQUAL� PLUSEQUAL� MINUSEQUAL�LSHIFTEQUAL�RSHIFTEQUAL�ANDEQUAL�XOREQUAL�OREQUAL�PLUSPLUS� MINUSMINUS�ARROW�CONDOP�LPAREN�RPAREN�LBRACKET�RBRACKET�LBRACE�RBRACE�COMMA�PERIOD�SEMI�COLON�ELLIPSIS�PPHASH�PPPRAGMA�PPPRAGMASTRz[a-zA-Z_$][0-9a-zA-Z_$]*z0[xX]z[0-9a-fA-F]+z0[bB]z[01]+zD(([uU]ll)|([uU]LL)|(ll[uU]?)|(LL[uU]?)|([uU][lL])|([lL][uU]?)|[uU])?z(0z)|([1-9][0-9]*�)z0[0-7]*z0[0-7]*[89]z,([a-wyzA-Z._~!=&\^\-\\?'"]|x(?![0-9a-fA-F]))z(\d+)(?!\d)z(x[0-9a-fA-F]+)(?![0-9a-fA-F])z#([\\][^a-zA-Z._~^!=&\^\-\\?'"x0-9])z(\\(�|z))z(\\[0-9a-zA-Z._~!=&\^\-\\?'"])z ([^'\\\n]|�'�L�u8�u�Uz{2,4}'z('z*\n)|('z*$)z[^' ]+')|('')|('z [^'\n]*')z ([^"\\\n]|�"z*"�*z([eE][-+]?[0-9]+)z([0-9]*\.[0-9]+)|([0-9]+\.)z((((z ?)|([0-9]+z ))[FfLl]?)z([pP][+-]?[0-9]+)z(((z)?\.z)|(z\.))�(z[FfLl]?)))�ppline� exclusive)�pppragmar����c������������������`����|�j������������������������������|j��������j��������|j��������j���������������������r*|j�����������������������������d�������������dx|�_��������|�_��������dS�|�j�����������������������������|j��������j��������|j��������j���������������������r|j�����������������������������d�������������dS�d|_ ��������|S�)z[ \t]*\#)�posr����Nr����r����) r����matchr���r*���r,����begin�pp_line�pp_filenamer����type�r����ts��� r����t_PPHASHzCLexer.t_PPHASH!��s���������"�"�1�7�?����"�G�G�� � �G�M�M�(�#�#�#�.2�2�D�L�4�+�+�+� � � &� &�q�w��A�G�N� &� K� K�� � �G�M�M�*�%�%�%�%�%��A�F��Hr���c�����������������������|�j����������|����������������������d|�������������d�S�|j�����������������������������d���������������������������������d������������|�_��������d�S�)Nz$filename before line number in #liner����)r����r4����value�lstrip�rstripr����r����s��� r����t_ppline_FILENAMEzCLexer.t_ppline_FILENAME/��sO�������<���K�K�>��B�B�B�B�B� �w�~�~�c�2�2�9�9�#�>�>�D���r���c������������������0�����|�j����������|j��������|�_���������d�S�d�S�r#���)r����r����r����s��� r����t_ppline_LINE_NUMBERzCLexer.t_ppline_LINE_NUMBER6��s�������<���7�D�L�L�L�� �Dr���c������������������������|�j����������|����������������������d|�������������n1t����������|�j���������������������|�j��������_��������|�j���������|�j��������|�_��������|j�����������������������������d�������������dS�)�\nNzline number missing in #line�INITIAL)r����r4����intr���r���r����r���r����r����s��� r����t_ppline_NEWLINEzCLexer.t_ppline_NEWLINE?��sc�������<���K�K�6��:�:�:�:� #�D�L� 1� 1�D�J����+� $� 0�� � �� � �i� � � � � r���c�����������������������dS�)�lineNr���r����s��� r����t_ppline_PPLINEzCLexer.t_ppline_PPLINEK��s�������r���z c������������������2�����|�����������������������d|�������������d�S�)Nzinvalid #line directive�r4���r����s��� r����t_ppline_errorzCLexer.t_ppline_errorQ��s���������-�q�1�1�1�1�1r���c������������������d�����|j���������xj��������dz ��c_��������|j������������������������������d�������������dS�)r����r���r����N)r���r���r����r����s��� r����t_pppragma_NEWLINEzCLexer.t_pppragma_NEWLINEW��s.������ ����!���� �� � �i� � � � � r���c�����������������������|S�)�pragmar���r����s��� r����t_pppragma_PPPRAGMAzCLexer.t_pppragma_PPPRAGMA\����������r���c�����������������������d|_���������|S�)z.+r����)r����r����s��� r����t_pppragma_STRzCLexer.t_pppragma_STRb��s����������r���c������������������2�����|�����������������������d|�������������d�S�)Nzinvalid #pragma directiver����r����s��� r����t_pppragma_errorzCLexer.t_pppragma_errorg��s���������/��3�3�3�3�3r���c������������������`�����|j���������xj��������|j�����������������������������d������������z ��c_��������dS�)z\n+r)���N)r���r���r�����countr����s��� r���� t_NEWLINEzCLexer.t_NEWLINEp��s&������ ����!�'�-�-��-�-�-����r���z\+�-z\*�/�%z\|�&�~z\^z<<z>>z\|\|z&&�!�<�>z<=z>=z==z!=�=z\*=z/=z%=z\+=z-=z<<=z>>=z&=z\|=z\^=z\+\+z--z->z\?z\(z\)z\[z\]�,z\.�;�:z\.\.\.z\{c������������������.�����|��������������������������������������|S�r#���)r���r����s��� r����t_LBRACEzCLexer.t_LBRACE�����������������r���z\}c������������������.�����|��������������������������������������|S�r#���)r���r����s��� r����t_RBRACEzCLexer.t_RBRACE���r����r���c�����������������������|S�r#���r���r����s��� r���� t_FLOAT_CONSTzCLexer.t_FLOAT_CONST���r����r���c�����������������������|S�r#���r���r����s��� r����t_HEX_FLOAT_CONSTzCLexer.t_HEX_FLOAT_CONST���r����r���c�����������������������|S�r#���r���r����s��� r����t_INT_CONST_HEXzCLexer.t_INT_CONST_HEX���r����r���c�����������������������|S�r#���r���r����s��� r����t_INT_CONST_BINzCLexer.t_INT_CONST_BIN���r����r���c������������������6�����d}|�����������������������||�������������d�S�)NzInvalid octal constantr�����r���r����r2���s��� r����t_BAD_CONST_OCTzCLexer.t_BAD_CONST_OCT���s!������&�����C������r���c�����������������������|S�r#���r���r����s��� r����t_INT_CONST_OCTzCLexer.t_INT_CONST_OCT���r����r���c�����������������������|S�r#���r���r����s��� r����t_INT_CONST_DECzCLexer.t_INT_CONST_DEC���r����r���c�����������������������|S�r#���r���r����s��� r����t_INT_CONST_CHARzCLexer.t_INT_CONST_CHAR���r����r���c�����������������������|S�r#���r���r����s��� r����t_CHAR_CONSTzCLexer.t_CHAR_CONST���r����r���c�����������������������|S�r#���r���r����s��� r���� t_WCHAR_CONSTzCLexer.t_WCHAR_CONST���r����r���c�����������������������|S�r#���r���r����s��� r����t_U8CHAR_CONSTzCLexer.t_U8CHAR_CONST���r����r���c�����������������������|S�r#���r���r����s��� r����t_U16CHAR_CONSTzCLexer.t_U16CHAR_CONST���r����r���c�����������������������|S�r#���r���r����s��� r����t_U32CHAR_CONSTzCLexer.t_U32CHAR_CONST���r����r���c������������������6�����d}|�����������������������||�������������d�S�)NzUnmatched 'r����r����s��� r����t_UNMATCHED_QUOTEzCLexer.t_UNMATCHED_QUOTE���s!�����������C������r���c������������������F�����d|j���������z��}|����������������������||�������������d�S�)NzInvalid char constant %s)r����r4���r����s��� r����t_BAD_CHAR_CONSTzCLexer.t_BAD_CHAR_CONST��s(������(�1�7�2�����C������r���c�����������������������|S�r#���r���r����s��� r����t_WSTRING_LITERALzCLexer.t_WSTRING_LITERAL ��r����r���c�����������������������|S�r#���r���r����s��� r����t_U8STRING_LITERALzCLexer.t_U8STRING_LITERAL��r����r���c�����������������������|S�r#���r���r����s��� r����t_U16STRING_LITERALzCLexer.t_U16STRING_LITERAL��r����r���c�����������������������|S�r#���r���r����s��� r����t_U32STRING_LITERALzCLexer.t_U32STRING_LITERAL��r����r���c������������������6�����d}|�����������������������||�������������d�S�)Nz#String contains invalid escape coder����r����s��� r����t_BAD_STRING_LITERALzCLexer.t_BAD_STRING_LITERAL��s!������3�����C������r���c�����������������������|�j������������������������������|j��������d������������|_��������|j��������dk����r!|����������������������|j��������������������rd|_��������|S�)Nrc���rd���)�keyword_map�getr����r����r ���r����s��� r����t_IDzCLexer.t_ID!��sI�������!�%�%�a�g�t�4�4����6�T�>�>�d�3�3�A�G�<�<�>��A�F��r���c������������������l�����dt����������|j��������d���������������������z��}|����������������������||�������������d�S�)NzIllegal character %sr���)�reprr����r4���r����s��� r����t_errorzCLexer.t_error(��s4������$�t�A�G�A�J�'7�'7�7�����C������r���)��__name__� __module__�__qualname__�__doc__r���r���r!���r$���r'���r.���r4���r0����keywords�keywords_newr���keyword�lower�upper�tokens� identifier� hex_prefix� hex_digits� bin_prefix� bin_digits�integer_suffix_opt�decimal_constant�octal_constant�hex_constant�bin_constant�bad_octal_constant� simple_escape�decimal_escape� hex_escape� bad_escape�escape_sequence�escape_sequence_start_in_string�cconst_char� char_const�wchar_const�u8char_const� u16char_const� u32char_const�multicharacter_constant�unmatched_quote�bad_char_const�string_char�string_literal�wstring_literal�u8string_literal�u16string_literal�u32string_literal�bad_string_literal� exponent_part�fractional_constant�floating_constant�binary_exponent_part�hex_fractional_constant�hex_floating_constant�statesr����r���r����r����r����r�����t_ppline_ignorer����r����r�����t_pppragma_ignorer����r�����t_ignorer�����t_PLUS�t_MINUS�t_TIMES�t_DIVIDE�t_MOD�t_OR�t_AND�t_NOT�t_XOR�t_LSHIFT�t_RSHIFT�t_LOR�t_LAND�t_LNOT�t_LT�t_GT�t_LE�t_GE�t_EQ�t_NE�t_EQUALS�t_TIMESEQUAL� t_DIVEQUAL� t_MODEQUAL�t_PLUSEQUAL�t_MINUSEQUAL� t_LSHIFTEQUAL� t_RSHIFTEQUAL� t_ANDEQUAL� t_OREQUAL� t_XOREQUAL� t_PLUSPLUS�t_MINUSMINUS�t_ARROW�t_CONDOP�t_LPAREN�t_RPAREN� t_LBRACKET� t_RBRACKET�t_COMMA�t_PERIOD�t_SEMI�t_COLON� t_ELLIPSISr����r�����t_STRING_LITERALr����r����r����r����r����r����r����r����r���r��r��r��r��r ��r��r��r��r��r��r��r��r��r���r���r���r���r������s�����������������<��<��<�B4��4��4������ ����������&��&��&������ ;��;��;��H� �L���K���/��/��'.��G�M�M�O�O�$�$���I��I��AH��G�B�Q�B�K�%�%�'�'�'�!�"�"�+�*;�*;�*=�*=�=�>�>� ��� $��;(��;�F�F�-�J��J��J��J��J��a���.�.�/?�?�@R�R�SV�V���1�1�N��j�(�);�;�L��j�(�);�;�L�&��8�H�M�'�N�6�J�;�J�!�-�/��3�N�B�3�F�z�Q�RV�V�O� �'L�#�#�O�3�C�7�K��[���$�J��j�.�K�� �?�L�� �N�M�� �N�M�!�+�o�h�6���;�&�z�1�+�=�e�C�O��{�*�+B�B�:�M�N^�^�N��$�$C�C�C�G�K���_�T�)�N��.�(�O��N�*���N�*���N�*���[���,�Z�7��C�D�H���-�M�<���2�2�3�6�}�D�\�Q�R_�_�`l�l��3��#�J�.�{�:�:�E�e�K�J�V�Wb�b��� �N�3�.�z�9�#�=�>U�U�VY�Y�Zn�n�oy�y�� �F� �� �� ���U�>���?��?����?���U����������� !�� !�� !� �� �� ���O�2��2��2�!��!��!� ������������� 4��4��4���H�.��.��.� � �F��G��G��H��E��D��E��E��E��H��H�!�E��F��F��D��D��D��D��D��D���H� �L��J��J� �K��L� �M� �M��J� �I� �J��"�J��L�� �G�� �H�� �H��H��J��J��G��H��F��G�#�J���U�5�\�\������\����U�5�\�\������\���&����U�������������U� �!�!�����"�!����U�<������������U�<������������U�������������U�>������������U�������������U�"�#�#�����$�#����U�:������������U�;������������U�<������������U�=������������U�=������������U�?������������U�>������������U�?������������U�������������U�������������U����������� ��U�������������U�:������������������r���r���)r����plyr����ply.lexr���r���r���r���r���r����<module>r������sr������ � � � �������������������������[��[��[��[��[�V��[��[��[��[��[r���