MpjddlmZddlmZmZddlmZddlmZm Z m Z m Z m Z m Z mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZddlZddl Z ddl!Z!ddl"Z"ddl"m#Z#ddl$m%Z%ddl&m'Z'dd l(m)Z)ddl*Z*dd l+m,Z,m-Z-m.Z.dd l/m0Z0dd l1m2Z2e#jfe4Z5e#jle5e#jnZ8gd Z9dZ:dZ;dejxdfdZ=dZ>e?dk(re>yy))deepcopy)ABCabstractmethod) ModuleType)TypeVarGenericTypeTupleListDictIterator CollectionCallableOptional FrozenSetAnyUnionIterableIO TYPE_CHECKINGoverloadSequencePatternClassVarSetMappingN)path) defaultdict)partial)ArgumentParser)lalr_argparser build_lalrmake_warnings_comments)Rule) TerminalDef)ztools/standalone.pyz exceptions.pyzutils.pyztree.pyz visitors.pyz grammar.pyzlexer.pyz common.pyzparse_tree_builder.pyzparsers/lalr_analysis.pyzparsers/lalr_parser_state.pyzparsers/lalr_parser.pyz"parsers/lalr_interactive_parser.pyzparser_frontends.pyzlark.pyz indenter.pyctd}g}tt}|D]h}|jdrA|ddk(r|ddj}0|ddk(r||xx|z cc<d}g}Jt ||sX|j |j|j Dcic]\}}|dj|c}}Scc}}w)Nz###{})rlist startswithstrip ValueErrorappenditemsjoin)linessectiontextsectionslinenames c/mnt/ssd/data/Dropbox/adrian/scripts/msg_venv/lib/python3.12/site-packages/lark/tools/standalone.pyextract_sectionsr:KsG D4 H  ??5 !Aw#~qr(..*aC!T)! &&  KK  3;..2B CJD$D"''$-  CC CsB4cg}tj}d}d}tj|}|D]\}}\}} \} } } ||kDrd}| |kDr|j d| |z z|tj k(r%|tjk(r|j dn6|tj k(r|j dn|j ||}| }| }dj|S)z Strip 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+)tokenINDENTtokenizegenerate_tokensr0STRINGCOMMENTr2) line_genres prev_toktype last_linenolast_coltokgentoktypettextslinenoscolelinenoecolltexts r9strip_docstringsrQ_s C<.compressed_outputs? LLf55 6 MM! tF$$Q'()rRc,dtzy)NzD%(name)s = pickle.loads(zlib.decompress(base64.b64decode(%(name)s))))locals)r8r_s r9output_decompressz)gen_standalone..output_decompresssUX^X``arRz2# The file was automatically generated by Lark v%sz__version__ = "%s" standaloneTzimport pickle, zlib, base64zDATA = ()DATAzMEMO = (MEMOz Shift = 0z Reduce = 1zdef Lark_StandAlone(**kwargs):z3 return Lark._load_from_dict(DATA, MEMO, **kwargs))rprintr`rar^lark __version__ enumerateEXTRACT_STANDALONE_FILESopenosrr2_larkdirr:rQnextiter splitlinesmemo_serializer%r$) lark_instr_outrXrbreipyfilefcodedatamr^r`ras ` @@@r9gen_standaloner~~s ~S)* b ?$BRBR RS $"2"2 23 H78 6 "'',,x0 1 Q#A&|4D'd4??4;P6Q(RS 4L   && T':;GD! ()z$s &!z!s &!zt s zq s  ; < +, @A;  s ,A F::G cttddtgd}|jddddd t t j d k(r4|jt jt jd |j}t|\}}t|||j |jj|j jy) Nz&prog='python -m lark.tools.standalone'zLark Stand-alone Generator Toolz;Look at the Lark documentation for more info on the options)prog descriptionparentsepilogz-cz --compress store_truerzEnable compression)actiondefaulthelp)rwrX)r#r r! add_argumentlensysargv print_helpstderrexit parse_argsr"r~rXrwclose grammar_file)parsernsrvrws r9mainrs !IWx%3$4=z|F l<Qef 388}#**%     B^NIs9# <FFLLNOOrR__main__)@copyrabcrrtypesrtypingrrr r r r r rrrrrrrrrrrr REPatternrrrrr>r@rpr collectionsr functoolsrargparser rk lark.toolsr!r"r# lark.grammarr$ lark.lexerr%dirname__file___dirr2pardirrqrnr:rQstdoutr~r__name__rRr9rs6#  ## II"t||H 499T4;; '&D(>&*szzE/Bh" zFrR