
    Xh	                        d dl Z d dlmZmZ d dlmZ d dlmZmZm	Z	m
Z
 d dlmZ d dlZd dlmZmZ 	 d dlmZ dZ ed	d
      Zg dZddgZej1                  dddd d       ej1                  dddg        ej1                  dddd       ej1                  dd edd !      e j2                  d"#       ej1                  d$ ed%d !      d&'       eD ]x  Z eee      r5ej;                  ed(          ej1                  d)ed    z   d*ed(   z   d+,       A eee      r(ej;                  e       ej1                  d*ez   d+,       r ed-       d. Z d1d/Z!d0 Z"y# e$ r d	ZY (w xY w)2    N)ArgumentParserFileType)indent)DEBUGINFOWARNERROR)Optional)Larklogger)r   TFz;Look at the Lark documentation for more info on the options)add_helpepilog))ddebugkeep_all_tokensregexpropagate_positionsmaybe_placeholders	use_bytesstartlexerz-vz	--verbosecountz/Increase Logger output level, up to three times)actiondefaulthelpz-sz--startappend)r   r   z-lz--lexer
contextual)basicr   )r   choicesz-oz--outwzutf-8)encodingz the output file (default=stdout))typer   r   grammar_filerzA valid .lark file)r"   r      -z--
store_true)r   z4flags must only contain strings or tuples of stringsc                    t        j                  t        t        t        t
        ft        | j                  d                t        r't        j                  t        j                                t        | j                        dk(  r| j                  j                  d       t        D ci c]  }|t        | |       }}t!        | j"                  fddi|| j$                  fS c c}w )N   r   r   parserlalr)r   setLevelr	   r   r   r   minverbosehas_interegularinteregular_loggergetEffectiveLevellenr   r   optionsgetattrr   r#   out)	namespacenkwargss      G/var/www/html/myenv/lib/python3.12/site-packages/lark/tools/__init__.py
build_lalrr:   -   s    
OOUD$.s93D3Da/HIJ##F$<$<$>?
9??q w'0781aA&&8F8	&&@v@@)--OO 9s   )C#c                     t        j                  | ||||      }t        |d      }|t        j                  }|y 	 |j                  |       y # t        $ r Y y w xY w)Nz# )warningsformatwarningr   sysstderrwriteOSError)messagecategoryfilenamelinenofilelinetexts          r9   showwarning_as_commentrI   7   s_    !!'8XvtLD$D|zz<

4 s   A 	AAc                  "    t         t        _        y )N)rI   r<   showwarning     r9   make_warnings_commentsrN   E   s
    1HrM   )NN)#r>   argparser   r   textwrapr   loggingr   r   r   r	   typingr
   r<   larkr   r   interegularr0   r/   ImportErrorlalr_argparserflagsr3   add_argumentstdoutflag
isinstancetupler   strNotImplementedErrorr:   rI   rN   rL   rM   r9   <module>r_      s   
 -  , ,   8O  7tu	 G
   D+gq  PA   B   D)Hb  I   D)\Kb  c   D'w0OY\YcYc  kM   N   N#1PWk  l ZD$tAw##C$q'M4$q'>,#W	D#	t##D4K#E!"XYYZP2s  Os   E E#"E#