
    IR-e	                         d dl Z d dlZd dlmZ d dlZd dlmZ d Zej        	                    ej
         d          d             ZdS )    N)dedent)_TAB_HEADERc                      dS )z,Docstring that's here just to check for -OO.N r       @lib/python3.11/site-packages/astropy/utils/tests/test_parsing.py_docstring_canaryr	      s      r   zTest cannot be run with -OO)reasonc           	      *   t          j        d          }| d| dz  }|                    t          d| d| d                     | d| dz  }|                    t          d| d	| d                     |                    |            t          j        d|           }|                                }t          j        d|           }|                                }|	                    d
|          }	|	dk    sJ | d| dz  
                                }
|
                    t          j        d|                     sJ | d| dz  
                                }|                    t          j        d|                     sJ d S )N   test_parsing_lexer_z.pya/  
        from astropy.utils.parsing import lex

        def make_lexer():
            tokens = ('NUMBER', 'PLUS')
            t_PLUS = r'\+'

            def t_NUMBER(t):
                r'\d+'
                t.value = int(t.value)
                return t

            return lex('test_parsing_lextab_z', 'test_parsing_lexer_z')
        test_parsing_parser_a  
        from astropy.utils.parsing import yacc

        def make_parser():
            tokens = ('NUMBER', 'PLUS')

            def p_expression_number(p):
                'expression : NUMBER'
                p[0] = p[1]

            def p_expression_plus(p):
                'expression : expression PLUS NUMBER'
                p[0] = p[1] + p[3]

            return yacc('test_parsing_parsetab_z', 'test_parsing_parser_z1+2+3)lexer   test_parsing_lextab_)packagetest_parsing_parsetab_)secrets	token_hex
write_textr   syspath_prepend	importlibimport_module
make_lexermake_parserparse	read_text
startswithr   format)tmp_pathmonkeypatchsuffix
lexer_fileparser_file	lexer_modr   
parser_modparserresultlextabparsetabs               r   test_generate_parserr+      s'    r""F=&====J .4  MS  	
 	
  $ ?F????K 17  QW  	
 	
  * )))'(Ff(F(FGGI  ""E()H)H)HIIJ##%%F\\'\//FQ;;;;;;;;;FFHHF[/8Vf8V8VWWWXXXXX?F????JJLLH#B&#B#BCCC      r   )r   r   textwrapr   pytestastropy.utils.parsingr   r	   markskipif__doc__r+   r   r   r   <module>r2      s                - - - - - -7 7 7 )11:WXX= = YX= = =r   