
    ^h	              	          S SK r S SKJrJr  S SKJr  S SKJrJrJ	r	J
r
  S SKJr  S SKrS SKJrJr   S SKJr  Sr\" S	S
S9r/ SQrSS/r\R1                  SSSS SS9  \R1                  SSS/ S9  \R1                  SSSSS9  \R1                  SS\" SS S!9\ R2                  S"S#9  \R1                  S$\" S%S S!9S&S'9  \ H~  r\" \\5      (       a3  \R;                  \S(   5        \R1                  S)\S    -   S*\S(   -   S+S,9  MD  \" \\5      (       a&  \R;                  \5        \R1                  S*\-   S+S,9  Mx  \" S-5      e   S. r S1S/ jr!S0 r"g! \ a    S	r GNf = f)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                    [         R                  " [        [        [        [
        4[        U R                  S5         5        [        (       a)  [        R                  " [         R                  " 5       5        [        U R                  5      S:X  a  U R                  R                  S5        [         Vs0 s H  o[        X5      _M     nn[!        U R"                  4SS0UD6U R$                  4$ s  snf )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      M/home/james-whalen/.local/lib/python3.13/site-packages/lark/tools/__init__.py
build_lalrr:   -   s    
OOUD$.s93D3Da/HIJ##F$<$<$>?
9??q w'0781&&F8	&&@v@@)--OO 9s   2C-c                     [         R                  " XX#U5      n[        US5      nUc  [        R                  nUc  g  UR                  U5        g ! [         a     g f = f)Nz# )warningsformatwarningr   sysstderrwriteOSError)messagecategoryfilenamelinenofilelinetexts          r9   showwarning_as_commentrI   7   s[    !!'XtLD$D|zz<

4 s   A 
AAc                  "    [         [        l        g )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D$tAw##C$q'M4$q'>,#W	D#		t##D4K#E!"XYY P2s  Os   E EE