
    h                        S SK Jr  S SKJrJr  S SKJr  S SKJrJ	r	J
r
JrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJr  S SKrS SK r S SK!r!S SK"r"S SK"J#r#  S SK$J%r%  S SK&J'r'  S S	K(J)r)  S SK*r*S S
K+J,r,J-r-J.r.  S SK/J0r0  S SK1J2r2  \#Rf                  " \45      r5\#Rl                  " \5\#Rn                  5      r8/ SQr9S r:S r;S\Rx                  S4S jr=S r>\?S:X  a  \>" 5         gg)    )deepcopy)ABCabstractmethod)
ModuleType)TypeVarGenericTypeTupleListDictIterator
CollectionCallableOptional	FrozenSetAnyUnionIterableIOTYPE_CHECKINGoverloadSequencePatternClassVarSetMappingN)path)defaultdict)partial)ArgumentParser)lalr_argparser
build_lalrmake_warnings_comments)Rule)TerminalDef)ztools/standalone.pyzexceptions.pyzutils.pyztree.pyzvisitors.pyz
grammar.pyzlexer.pyz	common.pyzparse_tree_builder.pyzparsers/lalr_analysis.pyzparsers/lalr_parser_state.pyzparsers/lalr_parser.pyz"parsers/lalr_interactive_parser.pyzparser_frontends.pyzlark.pyzindenter.pyc                    S n/ n[        [        5      nU  Hw  nUR                  S5      (       aD  US   S:X  a  USS  R                  5       nM7  US   S:X  a  X1==   U-  ss'   S n/ nMR  [	        U5      eU(       d  Mf  UR                  U5        My     UR                  5        VVs0 s H  u  pRUSR                  U5      _M     snn$ s  snnf )Nz###   {   } )r   list
startswithstrip
ValueErrorappenditemsjoin)linessectiontextsectionslinenames         hC:\Users\julio\OneDrive\Documentos\Trabajo\Ideas Frescas\venv\Lib\site-packages\lark/tools/standalone.pyextract_sectionsr:   K   s    GD4 H??5!!Aw#~qr(..*aC!T)! &&WKK  3;..2BC2BJDD"''$-2BCCCs   $Cc                    / n[         R                  nSnSn[        R                  " U 5      nU H  u  pgu  pu  pnX:  a  SnX:  a  UR	                  SX-
  -  5        U[         R
                  :X  a&  U[         R                  :X  a  UR	                  S5        O7U[        R                  :X  a  UR	                  S5        OUR	                  U5        UnUnU
nM     SR                  U5      $ )zStrip comments and docstrings from a file.
Based on code from: https://stackoverflow.com/questions/1769332/script-to-remove-python-comments-docstrings
r    z#--z##
r+   )tokenINDENTtokenizegenerate_tokensr0   STRINGCOMMENTr2   )line_genresprev_toktypelast_linenolast_coltokgentoktypettextslinenoscolelinenoecolltexts                r9   strip_docstringsrQ   _   s     C<<LKH%%h/FCI?'% H?JJsdo./ell"|u||'CJJu(((JJvJJu DJ" 773<    Fc                   ^^^^ Tc  [        [        US9mSS KmSS KmSS KmUUUU4S jnU4S jnT" S[
        R                  -  5        T" S[
        R                  -  5        T" 5         [        [        5       H  u  pg[        [        R                  R                  [        U5      5       n[        U5      S   n	U(       a1  [        [        [         [#        U	R%                  S5      5      5      5      n	T" U	5        S S S 5        M     U R'                  [(        [*        /5      u  pT" S	5        U(       aA  T" S
5        U" U
5        T" S5        U" S5        T" S5        U" U5        T" S5        U" S5        O0T" S
5        T" U
5        T" S5        T" S5        T" U5        T" S5        T" S5        T" S5        T" S5        T" S5        g ! , (       d  f       GM[  = f)N)filer   c                    > TR                  U TR                  5      nTR                  U5      nT" [        TR	                  U5      5      5        g )N)dumpsHIGHEST_PROTOCOLcompressrepr	b64encode)objscbase64outputpicklezlibs      r9   compressed_output)gen_standalone.<locals>.compressed_output   s?    LLf556MM!tF$$Q'()rR   c                 ,   > T" S[        5       -  5        g )NzD%(name)s = pickle.loads(zlib.decompress(base64.b64decode(%(name)s))))locals)r8   r_   s    r9   output_decompress)gen_standalone.<locals>.output_decompress   s    UX^X``arR   z2# The file was automatically generated by Lark v%sz__version__ = "%s"
standaloneTzimport pickle, zlib, base64zDATA = ()DATAzMEMO = (MEMOz	Shift = 0z
Reduce = 1zdef Lark_StandAlone(**kwargs):z3  return Lark._load_from_dict(DATA, MEMO, **kwargs))r   printr`   ra   r^   lark__version__	enumerateEXTRACT_STANDALONE_FILESopenosr   r2   _larkdirr:   rQ   nextiter
splitlinesmemo_serializer%   r$   )	lark_instr_   outrX   rb   rf   ipyfilefcodedatamr^   r`   ra   s    `          @@@r9   gen_standaloner   ~   s   ~S)* *
b ?$BRBRRS
$"2"223
H78	"'',,x01Q#A&|4D'd4??4;P6Q(RS4L	 21 9 &&T':;GD
()z$s&!z!s&!ztszq	s ;
<
+,
@A; 21s   +AG
G	c                     [        5         [        SS[        /SS9n U R                  SSSSS	S
9  [	        [
        R                  5      S:X  a5  U R                  [
        R                  5        [
        R                  " S5        U R                  5       n[        U5      u  p#[        X#UR                  S9  UR                  R                  5         UR                   R                  5         g )Nz&prog='python -m lark.tools.standalone'zLark Stand-alone Generator Toolz;Look at the Lark documentation for more info on the options)progdescriptionparentsepilogz-cz
--compress
store_truer   zEnable compression)actiondefaulthelp   )ry   rX   )r#   r    r!   add_argumentlensysargv
print_helpstderrexit
parse_argsr"   r   rX   ry   closegrammar_file)parsernsrx   ry   s       r9   mainr      s    !IWx%3$4=z|F
l<Qef
388}#**%				B^NI9<FFLLNOOrR   __main__)@copyr   abcr   r   typesr   typingr   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   	REPatternr   r   r   r   r>   r@   rr   r   collectionsr   	functoolsr   argparser    rm   
lark.toolsr!   r"   r#   lark.grammarr$   
lark.lexerr%   dirname__file___dirr2   pardirrs   rp   r:   rQ   stdoutr   r   __name__ rR   r9   <module>r      s   6  #         	  #  #  I I  "||H99T4;;' &D(> &*szzE /Bh" zF rR   