bg  Z ddlmZddlTGddZGddZGddZGd d eZGd d eZGd deZGddeZ GddeZ GddeZ GddeZ GddeZ GddeZGddZGddeZGdd eZGd!d"eZGd#d$eZGd%d&eZGd'd(eZGd)d*eZGd+d,eZGd-d.eZGd/d0eZGd1d2eZGd3d4eZGd5d6eZGd7d8ZGd9d:ZGd;deZ Gd?d@eZ!GdAdBeZ"GdCdDeZ#GdEdFe#Z$GdGdHe#Z%GdIdJeZ&GdKdLeZ'GdMdNeZ(GdOdPe(Z)GdQdRe(Z*GdSdTZ+GdUdVeZ,GdWdXeZ-GdYdZeZ.Gd[d\eZ/Gd]d^eZ0Gd_d`Z1Gdadbe0Z2GdcddeZ3GdedfeZ4GdgdheZ5GdidjeZ6GdkdleZ7GdmdneZ8doZ9GdpdqZ:Gdrdse:Z;Gdtdue:Z<Gdvdwe:Z=Gdxdye:Z>Gdzd{e>Z?Gd|d}e>Z@Gd~dwe>Z=Gdde>ZAdZBdZCdZDdZEide:de:de:de:de:de:de:de:de:de:de:de:de:de:de:de:de:ide?de@de:de>de>de>de>de:de:de=de>de>de>de:deDdeDdeDideDdeDdeDdeDdeDdeDde:de:deAdeAdeAdeAdeAdeAdeAde:de:e:e:e:e:e:e:e:e:e:d ZFdZGGddZHGddZIGddeIZJGddeIZKGd„dæZLGdĄdeIZMGdƄdeIZNGdȄdeIZOGdʄd˦ZPdS))property_nondata*cXeZdZdZdZdeddfdZdZdZd Z d Z dd Z ddZ dS)SpecEnvcZ||_i|_i|_g|_d|_d|_dSNr)modimported_packagesimporting_packages error_reports num_errors num_warnings)selfr s a/builddir/build/BUILD/cloudlinux-venv-1.0.7/venv/lib64/python3.11/site-packages/guppy/gsl/Main.py__init__zSpecEnv.__init__s6!#"$cd}d}|b|}|jdz}|j}|"|j}||j}t |d|d|rt d|zdSdSdS)Nz)index:z %r)rsrcfilenameget_lineprint)rcontextlinetextrnodelinenors rerrmsg_contextzSpecEnv.errmsg_contexts#  DZ!^F(C<< 9 9A MM!,,t77 8 8 8 8 rc|j|}|||jvr=|dt |j|d|j|<|d|jjj j dz}| ||}| |}||j|<|j|=|S)Nz)Invalid mutual import involving packages r..gsl) r getr r0listkeysreplacer IOpathseppackage_of_filename mkPackage)rnamerpacrips rimport_packagezSpecEnv.import_package?s$((.. ;t... 05577888;>vEH))(D99B..$$C+.D "4 ('- rc  i i fd |D]! } |"t D]p\}}t|dkrXt d|z|D]4\ }t d d|jdz5t dqg}t D]\}}| vri}|D]#\ }d| <d|_$t|}| d |}| |d | |d \}}|D]-\ } |urd |_d |_|j f|j z|_ .|r8| t d |D]} t d| dSdS)Nc||j}|dkrE|j}|g|fnS|dkrE|j}|g|fn|dkrdS|jD] }|dS)Nlink_todefineto_tester_only)tagargstrip setdefaultr$children)rtrEchr8defineslinkswalks rrWz$SpecEnv.link_documents..walkRsAI~~x~~''  r**111d)<<<<hx~~''""4,,33QI>>>>&&&m  R  rrz,Duplicate definition of name %r, defined in:z z line zWill use the first one.link_to_unresolved, z used in r link_to_locallink_to_externzUnresolved links:z ) get_resultr=itemslenr get_doc_namerrNr>sortjoinr$ doc_name_noderR)rr6rrEdsnodefsuseddefddefnodendr8rUrVrWs @@@@rlink_documentszSpecEnv.link_documentsMso          A<<>>D DJJJJW]]__-- 1 1HD"2ww{{DtKLLL!#OOIQEann.>.>.>.> 1 MNNNN/000U[[]]++ L LHD"7""!#44IQ-.D))*3DHHDIIKK(( yy tt<==== ' a 0 g!#LLIQDyy#2#3)-);(=dm(K L  KKMMM % & & &  dB     rcht|||}|j|_||Sr2)PackageDescriptionr5 resolve_all)rsubrFs rrDzSpecEnv.mkPackages1 sC00  rrc|j}|G|dr |dd}n|}||jjjd}|jr&|jj|j|}n|jj|}||}n|j |}| }| d| dz| d| dz| | d| }||jvr |j|S|j|||} |j} t%d|zt'||| ||} | |jkr | |j|<| S) Nr;r:s.filename: %s zutf-8s.packname: : %s )nostripzMaking package subject %r)r endswithr?r@rArB input_dirraabspath read_filemd5updateencodedigest package_cache SpecNodesnode_of_stringrrPackageSubject) rrpacknamerp input_stringr datarurxrnumerrpackages rrCzSpecEnv.package_of_filenamesh    (( $#CRC=#'' ==H > 5v{''AAHHv{**844H  #DD6##H--Dggii %(@(@@AAA '(//'*B*BBCCC 4;;w''((( S& & &$V, ,}++D(G+LL )H4555 dD(HEE T_ $ $(/C f %rFc | |jj}||_|d}||_||_| |jj}||_ ||||} | } | s|ddd|j r|r$td| | |j r|r| | } d} n#t$rd} YnwxYw|j sm| D]j} |jj| }td d t#|j|k|jr*td |jd d|jdkfz|j r2@@ A A A ? H B%9do&9%9!:IFGG H H H H&'FGGG  H H H HsB#C$$ C32C3)NrN)NNFNFFN) __name__ __module__ __qualname__rr! ReportedErrorr0r4rHrirDrCrr"rrrrs + + +&*]VW    :   5 5 5 n @_cCH"&+H+H+H+H+H+Hrrc,eZdZdZdZdZdZdZdS)UntypedDescriptionc`||_|j|_|j|_||_||_dSr2envrFr tgtrrrrrs rrzUntypedDescription.__init__s-77rc:|j|dSr2)combined_subjectsr$rsubjects rcombine_with_subjectz'UntypedDescription.combine_with_subjects %%g.....rcV||dSr2)resolve_primaryresolve_lookupedrs rrlzUntypedDescription.resolve_alls,  rcV||dSr2) resolve_type resolve_tgtrs rrz"UntypedDescription.resolve_primarys,  rcT|jj}t|ds|jj|_|jj|jjz|_|jj |_ |jj |_ |jj |_ |jj|_|jj |_||_dS)Nd_tag)rdescription_classhasattrrNrr tgt_prefixfullname tgtfullnamertgtnodelastname tgtlastnamesrcnoder srcfullname srclastname __class__)rdcs rrzUntypedDescription.resolve_types X 'r7## &DJ8.tx/@@x} 8,x} 8,8,rN)rrrrrrlrrr"rrrrs_///        rrceZdZdZdZdZdZdZdZdZ dZ dZ dZ d*dZ defd Zd Zd Zd+d ZdZdZdZdZdZd*dZdZd,dZdZdZdZdZdZdZ dZ!dZ"dZ#dZ$d Z%d!Z&d"Z'd-d#Z(d$Z)d%Z*d&Z+d'Z,d(Z-d)Z.dS). DescriptionNr"otherrFc.|D]} |jj}|rU|j|}|r/||ur3|d|d|jjt ||j|<|j|j g}|j }|@t|dz|kr*|d||j fz|jj| ||j |#t$rYwxYwdS)NzDuplicate aspect z (may be correct in future).rzMore than %d %r aspects.)rdefiname localviewr<r0rDuplicateErroraspects_by_tagrQr d_max_occurr^r$aspectsr)ras_aspkwbnocs raspects_extendzDescription.aspects_extendsN  C G$ ,**1--A388% XYXYXY#[#$5:#1333),DN1%(33CIrBB_>2ww{R'' #= A+$+,/GL::: # ##C((((     /  s.DC D DDc|D]N} t|||}|||f?#t$rYKwxYwdSr2)rrrr)rsubjectsvrs raspects_extend_by_subjectsz&Description.aspects_extend_by_subjectss|  A (q!44##%%%##SF++++        s;A AAc||} |j}|j|vr(|d|jz|jj|||j<dS#t $r|j|YdSwxYw)NzDuplicate definition of %r)tgtviewrr0rrAttributeErrorrdeftgt)rformers rrzDescription.deftgt's =E /lG G++ 7 ,-.3in>>>).GE% & & &  # # # HOOE " " " " " " #sA $A21A2c 6|jjj|||fi|Sr2)rFrr0rr.rr+kwdss rr0zDescription.error5s%!tx|!#tY??$???rcN|jsd|_|dSdSNr) is_lookupedresolve_aspectsrs rrzDescription.resolve_lookuped8s7 # D   " " " " " # #rc.|dSr2)rrs rrzDescription.resolve_tgt=s rrcg}|dd}|dvrn|jD]+}|||,|dkr5|jD]+}|||,|S|f|z}|jD]4}|j|vr)|||5|S)N _)rrOr)r?argsrr$rr)rrNtagsalas r find_aspectszDescription.find_aspects@s kk#s## ,  Y  ""$$$ ! czz!!A&&(((IIaLLLL v}  Aw$""$$$ !  rcg}|jD]+}|||,|jD]4}|jdvr)|||5|S)N) rOseqrepeataltr optionalskey_argdrawno_arg)rrr$rr)rrrs rfind_arg_aspectszDescription.find_arg_aspectsSs   A   IIaLLLL  Aw---""$$$ !  rcxg}|dD]!}|jdvr||!"|S)Nr) attributemappingkindeitherkind_of superkind superkind_of)rrr$)rkasrs rfind_kind_aspectszDescription.find_kind_aspects_sQ$$S))  Cy--- 3 rc|Sr2r")rdescrss r merge_policyzDescription.merge_policyis rcV|js!|j|j|S|Sr2)rthe_less_specific_descrget_descr_for_aspect)raspects rrz Description.get_descr_for_aspectls1| M < H/DDVLL L rc0|d}g}|D]{}|jdvr$|t||/|jdvrC||ur?t||}|D]}|||z||SNr) rrroperatorinplace_operatorreverse_operatorfunction_operatordelitemgetitemsetitem)rr subkind_of)rrr$beamget_atom_beams)rraksrrbs rrzDescription.get_atom_beamsqs##C(( & &Cy 4c??++++???CtOOsOO++--&&AJJq1u%%%% rc||d}g}|D]U}|jdvr||!|jdvr+||ur'||V|Sr)rrr$r3get_atom_kinds)rrrrs rget_aspects_kindzDescription.get_aspects_kinds ?'',,G 1 1Cy 3???CtOO 3--//000 rcZ||g|dzS)Nr)r rrs rr zDescription.get_atom_kindss+$$dVd.?.?.D.D%DEEErcg}|d}|D])}||*|SNexample)rr3 get_examples)rget_allexamplesexsexs rrzDescription.get_examplessM ** / /B OOBOO-- . . . .rc$|dr\fdD}|s&djjt jjj|Sjj S)NrcNg|]!}jj|"Sr")r RESingle).0xrs r z&Description.get_re..s+HHHqTX[''**HHHrz+Test coverage error: no examples specified.) r<rr0rr CoverageErrorr rUnionr)roptexress` rget_rezDescription.get_res 77> " " ,HHHHD4E4E4G4GHHHE * H8=(***%48;$e, ,8;%%d++ +rcg}|D]Gfd|D}|D]}|urn-|rn |H|S)Nc>g|]}||Sr")is_more_specific_than)rrr8s rrz8Description.get_most_specific_descrs..s,DDD)@)@)C)CD1DDDr)r#r$)rrndsrr8s @rget_most_specific_descrsz$Description.get_most_specific_descrss  ADDDDcDDDC  66E**1--E 1  rc|jSr2)rFrs r get_packagezDescription.get_packages xrcJ|j}||up|duo||Sr2)rr#)rr8rs rr#z!Description.is_more_specific_thans0  (AvG!4-FA,C,CA,F,FGrc$fd|S)Nc|d}|r>t|dksJ|djjjS|jdkr|jSdS)Nrrrr)rr^rrrOrPrr)esafinds rr.z'Description.get_self_name..findsn''B 22ww!||||!uy~)//111w)##tAE{{"4rr")rr.s @r get_self_namezDescription.get_self_names,     tDzzrc|d}|s|d|jzdS|D]}||dS)N descriptionz)rgen_textrgen_doc)routrcr8s rgen_description_doczDescription.gen_description_docsh   } - -  LL1D4DD E E E E E   #  rc|jSr2rrs r get_id_namezDescription.get_id_name rc|jSr2r7rs r get_link_namezDescription.get_link_namer9rc|jSr2rrs rget_local_namezDescription.get_local_namer9rc|jSr2r7rs r get_test_namezDescription.get_test_namer9rc|jSr2r7rs rget_namezDescription.get_namer9rc|d}|s|j}n#|jjj}|S)NrE)rrrrrOrP)rnrEs rget_NamezDescription.get_NamesC   f % % *#DD5:>''))D rc6|j|Sr2)rFget_descr_by_subjectrs rrGz Description.get_descr_by_subjectsx,,W555rcvi|_g|_i|_|s!||jjdSdSr2)rrrrr)r only_varss rinit_localviewzDescription.init_localviewsI   >  + +DH,< = = = = = > >rcjjrfdjjD_dS)NcDg|]}j|Sr")rrG)rrOrs rrz/Description.resolve_aspects..s>///66///r)rJrrresolve_specialrs`rrzDescription.resolve_aspectssg  8= ///// $ ///DI rcdSr2r"rs rrMzDescription.resolve_specials rcx|jjj}|jrd|jjz|S)NzNo children expected for %r)rrrOrPrrNrrOs rget_the_one_argumentz Description.get_the_one_arguments8hm%%'' < : )DIM 9 9 rc*gfdt|dkr|djdkr|dS|D] }|}t}d|_||_ddd|Dz|_d|_|S)Nc|jdkr$|D] }|dS|dS)Nr)rrr$)rk1flattenkss rrUz/Description.make_and_test_kind..flattensYw&  --//  BGBKKKK   ! rrrr(%s)&cg|] }|j Sr"r7rrs rrz2Description.make_and_test_kind..+I+I+IaAM+I+I+Ir)r^rKindrrarr)rkindsrrUrVs @@rmake_and_test_kindzDescription.make_and_test_kinds        JJ!OOa& 8 88O  A GAJJJJ FF #((+I+I5+I+I+I"J"JK  rct|dkr|djdvr|dSt}d|_||_ddd|Dz|_d|_d|_|S) NrrrrrrWrXcg|] }|j Sr"r7rZs rrz-Description.make_and_kind..r[rT)r^rr\rrarr is_syntheticrr]rs r make_and_kindzDescription.make_and_kinds| JJ!OOa1D D D8O FF #((+I+I5+I+I+I"J"JK  rct|dkr|dSt}d|_||_ddd|Dz|_d|_d|_|S)NrrrrW|cg|] }|j Sr"r7rZs rrz,Description.make_or_kind..)s/M/M/M! /M/M/MrT)r^ Superkindrrrarrrbrcs r make_or_kindzDescription.make_or_kind"sk u::??8O AAGAI"chh/M/Mu/M/M/M&N&NOAM AM!ANHrr2rFr)/rrrrd_subd_typed_is_defrrbrrrrrrr0rrrrrrrrr r rr r%r'r#r/r5r8r;r>r@rBrErGrJrrMrQr^rdrir"rrrrsyK E FHKL" D6 / / / /#m@@@@### &          FFF , , ,   HHH                  666>>>>    .        rrceZdZdZdZdZdS) Definitionr definitionc|j|_|jdkr |j|_n|j|jkrtd||jdS)NimportzDifferent description tag)rr ImportErrorrrrrs rexport_aspectszDefinition.export_aspects3s_ 9  CIIyDJ&&""=>>> 4<(((((rN)rrrrnrmrvr"rrrprp/s-H F ) ) ) ) )rrpceZdZdZdZdZdS)DescriptionDescription)textr1c:|j|dSr2)r arg_accept)rr4s rr3zDescriptionDescription.gen_docCs $$$$$rN)rrrrlrr3r"rrrxrx?s- E E%%%%%rrxceZdZdZdS)Defaultc|jjd}|d}d|dd}|d|d|d|d|||||d|||j|||ddS) N rrdldtstrongz Default: dd) rrOrPsplitraopenr2closechildren_accept)rr4arglinesdefaultrests rr3zDefault.gen_docHs <#))++11$771+yy!""&&    [!!!  W   T $$S)))  $rNrrrr3r"rrr}r}Gs#rr}ceZdZdZdS)DescriptionWithHeaderc|jjd}|d}d|dd}|d|||d|||j|| | dS)Nrrrrr) rrOrPrrar gen_outer_dtr2rr)rr4rheaderrs rr3zDescriptionWithHeader.gen_doc[s<#))++11$77!yy!""&&       T $$S)))  rNrr"rrrrZs#     rrceZdZdZdS)CommentcommentN)rrrrr"rrrris EDrrc$eZdZdZdZdZdZdS)Either with_argsc"t|gSr2rrs rrzEither.get_atom_beamsqsT |rc|gSr2r"rs rr zEither.get_atom_kindst v rc*|Sr2)rrs r get_alt_kindszEither.get_alt_kindsws%%'''rN)rrrrmrr rr"rrrrnsF F(((((rrceZdZdZdZdZdS)Import)from resolve_byusingr conditionr1r constructorrmethodrrrrrrrrrcd_jjjjjjjjf\jj}fdjjD}t|dkr |d}n3t|td|Djj }|j _ j j j jz_|_d|jjdS)Nrctg|]4\}}j||5Sr")rFrHget_descr_by_name)r from_name from_noder using_name using_nodes rrz&Import.resolve_tgt..sU@@@(9ih%%i;; J77@@@rrcg|] }|j Sr")rrZs rrz&Import.resolve_tgt..s1D1D1DA!%1D1D1Dr)rI)rr imp_using_mapr<rr imp_fromsr^ProductProductSubjectimp_resolve_moderr rrrrrJrvrrr)r import_nodercr8rrs` @@rrzImport.resolve_tgts^!%!7!;!; H  148=A"C"C Jhm @@@@@@,0H,>@@@ r77a<<1AAb.1D1D1D1D1D"E"E133A58.tx/@@'($ a(((  ''(8999 rcdSr2r"rs rrzImport.resolve_aspects rN)rrrrlrrr"rrrr{s9 E0     rrc eZdZdZdZdZdS)rc ||_|j|_||_||_|j|_|dj}|ddD]r}|j|urg|dd|jjd|jjd|djjd|djjd zdz|jjs||_||_ dS) Nrrz4Import error when importing from multiple packages: z Can not make a product of z (tgt = z) with z) z because of different targets.) rr rmoderFrr0rrrc)rrrcrrrr8s rrzProduct.__init__s7 7eiABB ' 'AuC RR u~~~qu~~~r!uy?Q?Q?QSUVWSXS\SeSeSegg==5: ''' rcD|jD]}||dSr2)rcrv)rrr8s rrvzProduct.export_aspectss4 " "A  S ! ! ! ! " "rcR|jD]}||us||rdSdS)NTF)rcr#)rr8rs rr#zProduct.is_more_specific_thans?  AAvv0033vtturN)rrrrrvr#r"rrrrsA&"""rrceZdZdZdS)rkcV||_||_|j|_||_||_dSr2rrs rrzPackageDescription.__init__s+7rNrrrrr"rrrkrks#rrkceZdZdZdZdZdS)ErrorDescriptionr0c||_dSr2)rrrs rrzErrorDescription.__init__s rcdS)Nz.r"rs rr8zErrorDescription.get_id_names  rN)rrrrrr8r"rrrrs7 E!!!!!rrcReZdZdZdZd dZdZd dZdZdZ d Z d Z d Z d Z dS)Package)andrrdocumentrsrmacrorc6t|jdi}|jg}t|jD]S}|}|D]:}t||vr'd|t|<||;T|Sr)idrr=r values get_tgtdictsr$)rseentgtdictspsdssds rrzPackage.get_tgtdictss4<  !$L>d,335566 ( (A..""C ( (b66%%#$DBLOOB''' (rNc ||jjr|||S|}|d}|D]t} |j|}nO#t $rB|sJ|jd|d| d|tYnwxYw| u|S)Nr:z Undefined:  in r+) startswithr rget_descr_by_tgt_namerrKeyErrorrr0r8UndefinedErrorr)rrErr,partsparts rrzPackage.get_descr_by_names ??48. / / =--dG<< <  3 ! !D .K% . . .w.2ddAMMOOOODg,..... .    s A  A B,+B,c |j}||jdzr2|t|jdzd}n|d|z|j|||jS)Nr:rz Undefined: %r)rrrr^rPr0rrrrrEs rrGzPackage.get_descr_by_subjects ??4+C/ 0 0 =D,--a/0017799DD JJ-w| < < <%%dGL999rc|}g}|D]L}||vrF||}||d}||M|s|d|z|t ||}t|dkrT||}t|dkr,|d|dd|D|t|dS)NrzNo definition of tgt %rrzConflicting descriptions of rc&g|]}|jjSr")rr)rr8s rrz1Package.get_descr_by_tgt_name.. s:::a15>:::rr) rrrr$r0rr%r^rr)rrErrrtgtdictr8s rrzPackage.get_descr_by_tgt_names-$$&& ! !GwDM""$$$**3// a    6 JJ0$n 6 6 6..v66 v;;??&&v..F6{{Q DD::6::::<"$$$ ayrc|jjSr2)rrrs r get_filenamezPackage.get_filenames x  rc|Sr2r"rs rr'zPackage.get_packages rci|_dSr2)rrs rrzPackage.resolve_tgts  rc<i|_|dSr2)r rJrs rrzPackage.resolve_aspectss"!# rc|j|}|%|j||}||j|<|Sr2)r r<rrH)rrErrFs rrHzPackage.import_package sF$((.. ;())$88C+.D "4 ( rcg}|jjD]>}|j}|jj||}||?|Sr2)rr6rr Documentrr$)rr6docrs rrzPackage.get_documents'sY 8% " "C8D(#,,T488C   S ! ! ! !rr2)rrrrlrrrGrrr'rrrHrr"rrrrs E   ":::.!!!rrcHeZdZdZdZdZdZdZdZdZ dZ d Z d Z d S) Attribute) rrr1description_with_headerrrrrrcR|j|_||jdSr2)rrrrus rrvzAttribute.export_aspects5s'  4<(((((rc|jSr2rrs r get_attr_namezAttribute.get_attr_name9r9rc|jSr2rrs rrBzAttribute.get_name<r9rcT|}||Sr2)rrdrrs rget_kindzAttribute.get_kind?s'$$&&!!#&&&rc|}|jdkrB|}t|dkr |d}nt d|z|jS)Nrrrz$Don't know how to name this kind, %r)rrrr^ ValueErrorr)rrrs r get_kind_namezAttribute.get_kind_nameCsc MMOO 7i  %%''C3xx1}}F !G$!NOOO}rc||jjd|jj}|SNr:)rGrparentr;r)rrs rr;zAttribute.get_link_nameMsG00 HO*]__--.2h.?.? ArcT|}||Sr2)rr^rs r get_test_kindzAttribute.get_test_kindSs'$$&&&&s+++rcX|do|d S)Nrrrrs r is_methodzAttribute.is_methodWs1!!),,1%%i000 2rc*|Sr2)rrs r get_op_namezAttribute.get_op_name[s!!###rN) rrrrlrvrrBrrr;rrrr"rrrr1s ?E)))      ''' ,,,222$$$$$rrceZdZdZdZdS)KindOfrr"Nrrrrmrlr"rrrr_s F EEErrceZdZdZdZdS) SubkindOfr)r1Nrr"rrrrds F EEErrceZdZdZdZdZdS)r\)rrr1rrrrrrrrrrrrrrc,|dS)Nrrrs rget_attributeszKind.get_attributesss  ---rc,|dS)Nrrrs r get_mappingszKind.get_mappingsvs  +++rN)rrrrlrrr"rrr\r\is9 E...,,,,,rr\ceZdZdZdZdS)rh)rr1rrc|jSr2r=rs rr>zSuperkind.get_local_name}r9rN)rrrrlr>r"rrrhrhzs( AE     rrhceZdZdZddZdS) SuperkindOfrrc 4t||}t||kri|D]T}||ur|||t|z t||krnU|Sr2)rrr^rr3)renoughrkas rrzSuperkindOf.get_exampless++D&99 x==6 ! !,,..  ::s8}}0D E EFFFx==F**E+rN)r)rrrrmrr"rrr r s- F      rr c<eZdZdZddddddZdZdd Zd Zd Zd S)Examplerr1 in_context'''""")]})rr([{c|jjSr2)rex_textrs r get_ex_textzExample.get_ex_texts xrFc|gSr2r")rrs rrzExample.get_examplesrrc|d}|sdS|djjjS)Nrrr)rrrrOrP)rrs r get_ctx_textzExample.get_ctx_texts? -- 21vz"((***rc|Sr2r"rrs r get_use_textzExample.get_use_textsrNrj) rrrrlpartabrrr!r$r"rrrrsu 4E F   +++rrceZdZdZdS) InContextrNrrrrr"rrr'r'KKKrr'ceZdZdZdZdS)Definesrc@d|dDS)Ncg|] }|j Sr"r7rZs rrz1Defines.get_defined_tgt_names..s@@@! @@@rrOrrs rget_defined_tgt_nameszDefines.get_defined_tgt_namess$@@t'8'8'?'?@@@@rN)rrrrmr.r"rrr+r+s- FAAAAArr+ceZdZdZdZdS)Macroc6|j|_|j|_dSr2)rrrus rrvzMacro.export_aspectss l rcn|jjdd|jj|jjS)Nblockr)r rz node_of_tacirrRr)roptionss rusez Macro.uses5x!.. R. 0BDD DrN)rrrrvr6r"rrr0r0s7###DDDDDrr0ceZdZdZdS)SelfrNr(r"rrr8r8r)rr8cFeZdZdZdZdZdZdZdZdZ dZ d Z d Z d S) Mappingr)rrOrrr1requationrrr precondition postconditionrreturnsrrc |i}|}|D]+} |_||krYt||krF|d|j|d|dkdt|fz|jjn|Yt||krF|d|j|d|dkdt|fz|jjnZ|Xt||krE|d|j|d|dkdt|fz|jj#t$rY)wxYwdS)Nz,%s requires %d argument%s specified, got %d.rrz5%s requires at least %d argument%s specified, got %d.z4%s can take at most %d argument%s specified, got %d.) get_args_resequnir^r0rrrr)rminmaxrexsrs r chk_num_argszMapping.chk_num_argss   b ! ! YY[[  A ?sczzc!ffmmJJF JS^SVVJEE '''' _Q#JJO JS^SVVSEE '''' _Q#JJN JS^SVVREE '''!    '  sDE EEcg}|dD])}|t|j*|S)Nr)rr3r=r)rakrs r get_arg_kindszMapping.get_arg_kindssF ""6** $ $A IId16ll # # # # rc ddi}|}d} |}nl#jjj$rUt djzt d|z||}|}YnwxYwfd|D}|S#t$rgcYSwxYw)NrTrz#Infinitely long args example for %sz;Limiting by expanding each Cleene closure 0 up to %d times.cNg|]!}tt|"Sr") ArgsExampletuple)rrmapnamertop_kinds rrz-Mapping.get_args_examples..sI444+,$D%++X''444r) r@rAr r InfiniteErrorrrlimitedr)rrNrOrrDcoveragerErs``` rget_args_exampleszMapping.get_args_exampless !4(C!!#&&BH !YY[[8;, ! ! !;d>NNOOOQT\\^^^ZZ))YY[[  ! 44444402444H O   III s2B46B4A&BB4BB44 CCcg}|D]}|j}|dkr|}||vr|||}nK|}|s-|d|jjz|jj |d}| |Jt|t||j |jS)NrOziTest coverage error: Can not create precondition for %r -- no examples specified for the argument above.r)rrrB get_arg_valuerr0rrrrr$rLrMrNrO) rrmatcharglistrrSrErrs rget_args_for_argszMapping.get_args_for_argss&&((  AAEzzzz||5==**5;77AA))B ILPLXLddEJ1Aq!!!!q4wt}MMMrc|jjj}|D]}|||z }|Sr2r rEpsilonrr rrrDrs rr@zMapping.get_args_reD X[ &&((  A !((3-- BB rc*|Sr2rrs r get_argumentszMapping.get_arguments%s$$&&&rcf|d|dDS)Nc6g|]}|Sr")rrZs rrz+Mapping.get_return_kind..*s "V"V"VA1::<<"V"V"Vrr>)rdrrs rget_return_kindzMapping.get_return_kind)s3!!"V"V9J9J99U9U"V"V"VWWWrcf|d|dDS)Nc6g|]}|Sr")rrZs rrz0Mapping.get_return_test_kind..-s"'`'`'`a(9(9'`'`'`rr>)r^rrs rget_return_test_kindzMapping.get_return_test_kind,s4&&'`'`4CTCTU^C_C_'`'`'`aaarN) rrrrmrlrFrIrSrXr@r`rcrfr"rrr:r:s F E2 0NNN0 '''XXXbbbbbrr:c>eZdZdZdZdZdZdZdZdZ dZ d S) rLcf||_||_|_||_fd|D|_dS)Nc&g|] }|Sr"r")rrrNs rrz(ArgsExample.__init__..6s!---AWWQZZ---r)regsrNrOnegs)rrrjrNrOs ` rrzArgsExample.__init__1s>    ------- rc6d|jS)NrY)rarkrs r__str__zArgsExample.__str__8syy###rcd}|jD]N}|j}|dkr(||kr|j|cSnt d|z|dz }OdS)NrrOzNo argument matches: %rr)rrrrBrjConditionError)rrEirrSs rrUzArgsExample.get_arg_value;s ..00  AAEzz::<<4''8A;&&&(%%>%EFFF FAA  rc6|jdSNr<rrrs rget_preconditionszArgsExample.get_preconditionsFs|((888rc6|jdSNr=rsrs rget_postconditionszArgsExample.get_postconditionsIs|((999rc|}|sgS|j}|j}|d}|r|dD]}|dD]}|d}|r||d}|=|||}t ||gccSdSgS)Nr<rrr=)rtrOrrmatch_torXSetUpr) rpresrmaprmmprerVrs rget_setups_for_preconditionsz(ArgsExample.get_setups_for_preconditionsLs%%'' I}l//  &&{33   22  A>>.99D!  MM!..*I*IJJE( 224?? %aoo&7&7 > >??????) t rcdSr2r")rrs r match_to_kindzArgsExample.match_to_kindirrcRi}|D]}|D]}|j|jkrot|jt|jkr=i}t |j|jD]\}}||vrn|||<||ndSd|vsJ|S)N,)rtcond_idr^ arg_namesziprv)rpostsrVpreposupdrrs rryzArgsExample.match_tols))++  C  ;#+--3=))S-?-??? C #CM3= A A1::!E!"A S)))tt% rN) rrrrrmrUrtrwrrryr"rrrLrL0s...$$$   999::::   rrLc eZdZdZdZdZdS)rzc"||_||_dSr2)rEr)rrErs rrzSetUp.__init__s  rc|jSr2rErs rrBzSetUp.get_name yrc|jSr2)rrs rget_argszSetUp.get_argsrrN)rrrrrBrr"rrrzrzsArrzc&eZdZdZdZdZdZdZdS)Operatorrr) rOrr1rr;r=r<rr>cH|jjjSr2rrrOrPrs rrzOperator.get_op_namex} &&(((rc2|dddSrrFrs rrMzOperator.resolve_special !QrN)rrrrnrmrlrrMr"rrrrsCH F "E )))     rrceZdZdS)ReverseOperatorNrrrr"rrrrDrrceZdZdZdS)FunctionOperatorc2|dddSr rrs rrMz FunctionOperator.resolve_specialrrNrrrrMr"rrrrs#     rrceZdZdS)InplaceOperatorNrr"rrrrrrrc"eZdZdZdZdZdZdS)SetItemr)rOrr1rr;r=r<rcdS)Nz[]r"rs rrzSetItem.get_op_nametrc2|dddSNrrs rrMzSetItem.resolve_special !T"""""rN)rrrrmrlrrMr"rrrrs> F E #####rrceZdZdZdS)DelItemc2|dddSrrrs rrMzDelItem.resolve_specialrrNrr"rrrr######rrc(eZdZejdzZdZdS)GetItem)r>c2|dddSrrrs rrMzGetItem.resolve_specialrrN)rrrrrlrMr"rrrrs/ MM )E#####rrc8eZdZdZdZdZdZeeZdS) Conditionr)rrOrr1 python_codecg}|dD]A}|jdvr6||jjjB|S)NrrP)rrr$rrrOrP)ranrs r get_arg_nameszCondition.get_arg_namess[ ""3'' 2 2Aw/)) !%*...00111 rc|jj}|Sr2)rr)rdns r get_def_namezCondition.get_def_names X  rN) rrrrnrlrrpropertydef_namer"rrrrsGH DEx %%HHHrrceZdZdZdS) PythonCoderNrrrrlr"rrrrs 4EEErrc@eZdZdZdZdZeeZdZdZ dS) ConditionRefrr1cf |jS#t$rt|cYSwxYwr2) cond_exprrr__repr__rs rrzConditionRef.__repr__sD .> ! . . .''-- - - - .s  $00cD|jj}|jrd|z}||_|S)Nnot )cond_definitionris_notr)rrs r get_cond_idzConditionRef.get_cond_ids-&2 ; 'w&G rc|jSr2)rrs rget_definitionzConditionRef.get_definitions ##rc(|jj}|j||_|jjdz|jz|_|jjj |_ |jj |_ |jj |_ dSr) rrrrGrr cond_doc_namerrOrPrrr)rcond_defs rrMzConditionRef.resolve_specialss8+#x<OO*0022+ho rN) rrrrlrrrrrrMr"rrrrsg 'E... {++G$$$&&&&&rrceZdZdZdS) PreconditionNrrrdoc_namer"rrrrsHHHrrceZdZdZdS) PostconditionNrr"rrrrsHHHrrceZdZdZdS) PostcondCasec6|t_|t_dSr2)rpostcond variables)rrs rrzPostcondCase.__init__s  "rNrr"rrrrs######rrceZdZdZdZdS) ConstructorrrNrr"rrrrs F 'EEErrceZdZdZdS)Equation)rr1r<r=Nrr"rrrr s GEEErrceZdZdZdZdZdS)Argsr)rr1rc|jjj}|D]}|||z }|Sr2rZr\s rr z Args.get_rer]rN)rrrrmrlr r"rrrrs- F 5ErrceZdZdZdS)NoArgc$|jjjSr2)r rr[)rrs rr z NoArg.get_resx{""rN)rrrr r"rrrrrrrc,eZdZdZdZdZdZddZdS) Arg)rrr1rrEcP||Sr2)rirrs rrz Arg.get_kind$s"  !7!7!9!9:::rcN |S#t$rYdSwxYwN?) get_arg_namerrs rrBz Arg.get_name's; $$&& &   33 s  $$c|jjSr2)rspecified_namers rrzArg.get_arg_name-s x&&rFc g}|d}|D])}||*|r|r;|}|||Sr)rr3rr)rrrrrrs rrzArg.get_examples0s ** / /B OOBOO-- . . . . .g . A OOANN,, - - -rNrj)rrrrlrrBrrr"rrrr!sZ KE;;; '''rrc&eZdZdZdZdZdZdS)KeyArgEGc"||_||_dSr2)rEeg)rrErs rrzKeyArgEG.__init__<s rc4|jSr2)rrrs rrzKeyArgEG.get_ex_text@sw""$$$rc4|jSr2)rr!rs rr!zKeyArgEG.get_ctx_textCsw##%%%rc|jd|S)N=rr#s rr$zKeyArgEG.get_use_textFs)))QQ''rN)rrrrrr!r$r"rrrr;sP%%%&&&(((((rrceZdZddZdS)KeyArgFcz|fdt||DS)Nc0g|]}t|Sr")r)rrrEs rrz'KeyArg.get_examples..Qs#MMMrr""MMMr)rrr)rrrEs @rrzKeyArg.get_examplesOs>  ""MMMMS-=-=dG-L-LMMMMrNrj)rrrrr"rrrrJs. NNNNNNrrceZdZdZdZdS)Draw)rr1rrc|jjj}|D]#}|||dz }$|SrrZr\s rr z Draw.get_reWsN X[ &&(( % %A -!((3--$$ $BB rN)rrrrlr r"rrrrTs( :ErrceZdZdZdZdZdS) Optionals)rOrrrrrcPfdS)Nc|sjjjS|d|ddzdS)Nrrr)r rr[r )rropt_rars rrz Optionals.get_re..opt_racsQ +x{**@GAJ%%c**VVGABBK-@-@@#FF Frr_)rrrs``@rr zOptionals.get_rebsM G G G G G G Gvd++--...rNrrrrlrmr r"rrrr^s- :E F/////rrceZdZdZdZdZdS)Repeat)rrOrrr1cH|jjjSr2rrs rget_argzRepeat.get_argmrrc2|}|s |d|jj|d|}|ddD]}|||z }|}d}||vr||}t|dkr#|d|z|jjd|D\}} t|}n0#t$r#|d|jjYnwxYw| d krA t| } nt#t$r#|d |jjYnHwxYwnC t|}n0#t$r#|d |jjYnwxYw|} |dks | d kr&| dkr |d |jj| d kr#|d } t|D]} || z} n| |kr |d |jj|j j j }t|D]} ||z }|j j j } t|| D]} || zd} || z} | S)NzNo argument aspects.rrz..rzMore than one %r in argument.c6g|]}|Sr"rPrZs rrz!Repeat.get_re..s ...Aaggii...rzExpected int in lower bound.rz!Expected int or * in upper bound.z-Expected int, int..int or int..* in argument.z'Expected non-negative repetition count.z$Expected upper bound >= lower bound.r)rr0rrr rrr^intrranger rr[) rrrrDrrOrBrlohiresrprs rr z Repeat.get_reps##%% > JJ-tx} = = = V]]3  QRR  A !((3-- BBllnn #::99S>>D4yyA~~ : $ ///.....FB JWW J J J 948=IIIII JSyy.RBB!...JJB#x}...... TXX T T T CTX]TTTTT TB 66bCiiBFF JJ@x} & & & 99"S''C2YY  3h Bww A8=*** #A2YY  R #A2r]] " "R!VSMMa%C s6,C<<*D)(D)3E*E0/E05F*F21F2N)rrrrlrr r"rrrrjs7 >#&&'''' JrceZdZdZdZdS)BeamcV|d|_|d|_||_||_dS)Nr)rrk_tagobjects)rr$r%s rrz Beam.__init__s*1:2;  rc"t||Sr2)compose)rrs r__add__z Beam.__add__stU###rN)rrrrr(r"rrr!r!s2 $$$$$rr!ceZdZdS)KindBeamNrr"rrr*r*rrr*ceZdZdS) AtomKindBeamNrr"rrr,r,rrr,ceZdZdS)KindMappingBeamNrr"rrr.r.rrr.cReZdZdZdZdZdZdZdZdZ dZ dZ d Z d Z d Zd S) KindOpBeamrcFt|dS)Nr;r get_op_seqrs rfind_equationszKindOpBeam.find_equationss!$//"3"3Z@@@rcFt|dSrvr2rs rfind_postconditionszKindOpBeam.find_postconditionss!$//"3"3_EEErcFt|dSrrr2rs rfind_preconditionszKindOpBeam.find_preconditionss!$//"3"3^DDDrcl|jd}|||Sr )r% get_the_oprS)rrNrOs rrSzKindOpBeam.get_args_exampless-<?  227HEEErcJ|j|jSr2)r% op_name_indexr8rs rget_op_id_namezKindOpBeam.get_op_id_name|D./;;===rcJ|j|jSr2)r%r<rrs rrzKindOpBeam.get_op_namer>rc*|j|jdSr2r%op_indexrs rr3zKindOpBeam.get_op_seq s|DMNN++rcN|Sr2)r:r/rs rr/zKindOpBeam.get_self_name s  ..000rc&|j|jSr2rArs rr:zKindOpBeam.get_the_ops|DM**rcN|Sr2)r:rfrs rrfzKindOpBeam.get_return_test_kinds  55777rN)rrrrBr<r4r6r8rSr=rr3r/r:rfr"rrr0r0sHMAAAFFFEEEFFF>>>>>>,,,111+++88888rr0ceZdZdZdS)KindAttributeBeamcJr2r"rs rr:zKindAttributeBeam.get_the_opsqrN)rrrr:r"rrrGrGs#rrGceZdZdZdS)KindAttributeMappingBeamrN)rrrrBr"rrrJrJsHHHrrJceZdZdZdS)r.cdS)Nz()r"rs rrzKindMappingBeam.get_op_name!rrN)rrrrr"rrr.r. s#rceZdZdZdZdS) KOKOpBeamrN)rrrrBr<r"rrrNrN%sHMMMrrNc$t|ddSrr)r%s rsubkind_of_kindrP*  rc|j|jurd|jd|j|j|jddz}t|S)NzComposition error, tgt z is not src r)rrr%r)rrr%s rr'r'.sIuAE;<555!%%HHi!)ABB-'G >rc8t|dg|ddRS)Nrrr$r%s r remove_1_2rV6s$  )WQRR[ ) ) ))rc$t|ddSrrrUs rremove_0rX:rQr)rr)rr)rr)rrrr)rrrr)rrrr)rrrr)rrrr)rrrr)rrrr)rrrr)rrrr)rr)r)rr)rrr)rr)rrrrr)rrr)rr)rr)rr)rr)rrr`)rrrr)rr)rr)rr)rr)rr)rrrr)rrrr)rrrr)rrrr)rrrr)rrrr)rrrr)rrrr)rrrr)rr)rrr)rrr)rrr)rrr)rrr)rrr)rrr)rrr)rrr)rr) )rrr)rrr)rrr)rrr)rrr)rrr)rrr)rrr)rrrc`td|D}t|}||g|RS)Ncg|] }|j Sr")rrZs rrzbeam..s,,,q17,,,r)rM beam_table)r%r$Cs rrrs@ ,,G,,, - -E5A 1U W   rceZdZdZdS)rcb||_ddd|Dz|_dS)NrWrcg|] }|j Sr"rrZs rrz+ProductSubject.__init__..s*H*H*H!1:*H*H*Hr)rrar)rrs rrzProductSubject.__init__s4  *H*Hx*H*H*H!I!II rNrr"rrrrs(JJJJJrrc eZdZdZdZdZdZdZdZdZ dZ d+d Z d Z d Z d+d Zd ZdefdZdZd,dZd,dZdZdZdZdZd+dZdZdZdZdZd-dZdZdZ d Z!d!Z"d"Z#d#Z$d$Z%d%Z&d&Z'd'Z(d(Z)d)Z*d*Z+dS).Subjectr"Nc||_|j|_|jj|_||_|jj|_||_g|_i|_d|_|j |_ |j |j |_ d|_ |j|ur&|j |j|_dS|j|_dSr )rrFr rrrrr node_indexrNget_description_classr aspect_modemake_child_namer)rrrrs rrzSubject.__init__s :8< )     8!%!?!?!I!I ;d " " K77 FFDMMM MDMMMrcj||d}|D]}|||dS)NrrB get_arglistadd_new_subjectrrnamesrEs r_visit_type_definitionzSubject._visit_type_definitionsL  1 -- - -D  t , , , , - -rc|jjj|j}||d}|D]}|d|}||| dS)Nrrir)r rzreverse_node_aliasesrNrkrl)rrshtagrnrEs r_visit_type_operatorzSubject._visit_type_operatorsp"7A  1 -- - -D#eeTT*D  t , , , , - -rc0||dSr2)rlrrs r_visit_type_otherzSubject._visit_type_other T"""""rc}fd|D}}|r ||_dSdS)Nc<g|]}|Sr" find_subjectrrErrs rrz1Subject._visit_type_with_args..)@@@$!!$--@@@rrkrlrrrrnrrs`` r_visit_type_with_argszSubject._visit_type_with_argssc  &&@@@@@%@@@&&t,,  GLLL  rcd}fd|D}}|r ||_dSdS)Nrric<g|]}|Sr"rzr|s rrz5Subject._visit_type_with_opt_args..r}rr~rs`` r_visit_type_with_opt_argsz!Subject._visit_type_with_opt_argssh  1 --@@@@@%@@@&&t,,  GLLL  rc\|||}|||Sr2) new_subject add_subjectrrrrs rrlzSubject.add_new_subject0""422 !!!rcX||||Sr2) def_subject add_top_noders rrzSubject.add_subjects- !!!rc>|j}||dSr2)r_visit_childrenrus rrzSubject.add_top_nodes#y T"""""rc\|||}|||Sr2)rrrs rdef_new_subjectzSubject.def_new_subjectrrc|jjrZ|j}||jvr8|d|z|jd|z|j|jfgdS||_||j|<nd|_|j|dS)NzRedefinition of %r.zPrevious definition of %r.)r,) rrnrrr0rrrr$rs rrzSubject.def_subjects  $ - $#Dt}$$ 047;dB#}T27"9!: #G ")DM$  #G  G$$$$$rc ,|jj|||fi|Sr2)rFr0rs rr0z Subject.errors"tx~c4;;d;;;rc:|j|||Sr2)rFr{)rrErs rr{zSubject.find_subjectsx$$T4666rrc|}|D]}|s|jds,|jdrd}nd}|||dd|D}nt ||kr|d||fz||S)Nrz9Arg list to definition can not start or end with a comma.zMissing argument to definition.rcg|]}||Sr"r"rZs rrz'Subject.get_arglist..s33331333rz4Not enough arguments, minimum %d expected to node %s)rkrOrPrrqr0r^)rrrBrWrOr}s rrkzSubject.get_arglists""$$##%%  C 8>>##..s33:tx~~7G7G7P7PQT7U7U:SAA9A 1dd 33333g333  w<<#   JJFJ   rc\|||}|||Sr2)rk no_children)rrrBrs rget_arglist_onlyzSubject.get_arglist_onlys0   dC ( (  rc t|j5}t||}dddn #1swxYwYn#t $rd}YnwxYw|Sr2)rrr= readlinesrstrip Exception)rrrrys rrzSubject.get_lines dm$$ ;AKKMM**5188:: ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;   DDD  s4A(:A A(A  A(#A $A(( A76A7c|j||_n,|j|kr!|d|d|j|||dS)NzInconsistent aspect mode: z, was: )rfr0r)rrrs r _visit_aspectzSubject._visit_aspectsj   ##D  4'' dddDL\L\]!!! T"""""rc |jD]} |j|jjvr3|d|jd|jd|jj||jj-d|jj|ji|j<||n#t$rYnwxYw|xj dz c_ dS)NzInvalid tag: z in: z . Allowed = r) rRrNrrlr0r cover_checkrQacceptrrd)rrrTs rrzSubject._visit_childrens- ! !B 6!7!===JJJ$*@*F*F HIMOOO8'3LMDH(33DHbAA"&I $      OOq OOO ! !sBB  B-,B-c|jd|Srr`)rchild_lastnames rrgzSubject.make_child_names---88rc|j|jj}||duksJ| d|jz}|j}|dkrt |||S|dkrt |||St|||S)Nz<%d>rr)r rerNrnrd MacroSubjectDocumentSubjectrb)rrrEis_defrNs rrzSubject.new_subject!s//99B$d*++++ <DO+Dh '>>dD11 1 J  "4t44 44t,, ,rcZ|jj|d|j|jS)Nr)r rzr4rRr)rrNrs r new_tag_nodezSubject.new_tag_node.s%x!..sB tzRRRrcX|jr"|d|jz|ddSdS)Nz)No children expected for node with tag %rr)rRr0rNrus rrzSubject.no_children1sK = ' JJBTXM!%  ' ' ' ' ' ' 'rc||dD].}|||}||d/dS)Nrrirrkr{rrrrE ofsubjects r visit_andzSubject.visit_and7s\$$Tq$11 1 1D))$55I  # #D% 0 0 0 0 1 1rc||dD].}|||}||d/dS)Nrrirrrs rvisit_aspects_ofzSubject.visit_aspects_of<s\$$Tq$11 4 4D))$55I  # #D( 3 3 3 3 4 4rFc|j}d}d}|rpd|vrj|d}t|dkr|d|d|D\}}|r|||}|r|}n|}||} |r|| _|| |r| j|d|| |g| _ dSdS)NrrzMore than 1 colon in argument.c6g|]}|Sr"r rZs rrz%Subject.visit_arg..Js "9"9"917799"9"9"9rzNo argument name specified.) rOrPrr^r0r{rrrr) rrmust_have_namerOarg_namernkrE kind_namers r visit_argzSubject.visit_argAs!hnn  czzYYs^^r77Q;;JJ?FFF"9"9b"9"9"9i>,,Y==D$#H ""4((  .%-G " !!!  > GFQ;dhF JJsDDJ 1 1 1B&):)AABB4HHHHHrc0||dSr2)rrus rvisit_descriptionzSubject.visit_descriptionurwrc0||dSr2)rrus rvisit_description_with_headerz%Subject.visit_description_with_headerxs t$$$$$rcp||}|jj}|j}d|vrp||dd|ddksB||dd|ddks|d|ddd|z}||_dS) Nrrr#rTz=Multi-line expression should be in parentheses (for clarity).rrW)rlrr%rOrPr<r0r)rrrr%rs r visit_examplezSubject.visit_example{s&&t,,*1 X^^   2::JJr"1"v&&"RSS'11JJr"1"v&&"RSS'11 Z\`%)A777"BrcP||d}d}d}g}|jD]}|j}|dkr0||D]}|||f?|dkrX|r|d|jde|j}|dvr|d|dd }|d kr4|g}||D]}|||f|d |di} |t|t|krJttt|krd } nd } |d| ztdt||D] \} } | | | < t|dkr|d|t|dkr|s|d|dd }|D]-}| ||} || _| | _|| _.dS)NrrirrzMore than 1 'resolve' clause.r)rorzResolve by: and / or expected.rrzUnexpected clause in importfewmanyz=Too %s 'using' names, should match number of names in .importrzNo 'from' clausez;Importing from multiple packages but no 'resolve by' clause)rkrRrNrr$r0rrOrPr^ using_namesrrrrrr)rrmy_names resolve_modeusingsfromsrTrSrE using_mapmanyfewr}urs r visit_importzSubject.visit_imports##Da#00 - N NBAF{{ 11"55--DLL$,,,,-l"" -JJ>!w$8888$&6<<>>L'=88 #C#%-1#333(- g>F 11"55..DMM4*----. 8" MMMM  6{{c(mm++{##c(mm33#GG$G SV]]"$$$Hf-- ! !1 ! u::?? JJ)4 0 0 0 u::>> % X4111$  & &D**466G'3G $$-G ! %G    & &rc4||ddS)NT)r)rrus r visit_key_argzSubject.visit_key_args tD11111rc ,|j}|ds|d||jd||jdd|jf|dS)Nrz)Tag 'method' is a definition, requires ::rrr)rOrPrr0r r4rRr)rrrOs r visit_methodzSubject.visit_methodshnn~~c"" J JJBD I I I k3#x44YDMRRT V VV\V\]aVbVbVbVbVbrc|j|d||j}|s|d|||_dS)NzDuplicate name specification.zNo name specification.)rr0rOrP)rrrEs r visit_namezSubject.visit_names\   * JJ6 = = =x~~ 7 JJ/ 6 6 6"rc||dD].}|||}||d/dS)Nrrirrrs rvisit_orzSubject.visit_ors\$$Tq$11 0 0D))$55I  # #D$ / / / / 0 0rc|j}d|vr|d||d}|d}||kr|d|||dz|}d|vr d|dD}n|g}|}|d|}|s|d|d }|d r|d d}d}|d } | d ds#d| d z| d <d | }|||} | |} | | _ || _ || _ || _ dS)NrzNo left parenthesisrz#None or misplaced right parenthesisrrc6g|]}|Sr"r rZs rrz/Subject.visit_postcondition..s 111q111rzNo condition namerrr:r#zcond:)rOrPr0rr.rrrar{rlr cond_namerr) rrrOlparrparrDrrrrrrs rvisit_postconditionzSubject.visit_postconditionshnnczz JJ,d 3 3 3yy~~xx}} $;; JJ   999 I I I###%%%   :&:&:&x222ccc###000 " " " H'''''rrbceZdZdS) ErrorSubjectNrr"rrrrrrrc(eZdZdZdefdZddZdS)r|ch||_||_||_||_|}t|||||dd|_d|_t|_ g|_ |j D]}||}||j |j<|||`dS)Nr:r#r)r specenvrFrrbrrrrNrrr6predefined_subjectsrrr)rr rrrErrs rrzPackageSubject.__init__ s   ttT4000 3+ !(( * *A$A()DM!* % % T""" LLLrNc ,|jj|||fi|Sr2)rr0rs rr0zPackageSubject.errors#!t|!#tY??$???rc|s|d|z|d|dD}|ds|d}|dd}nd}|dkr|}n~|dkr\|}|.$s 444q444rr:rrrmyfilemykind)rrrsz%mykind tag without such a context: %rz Invalid tag rrszNo such subject: z in ) r0rrrNr enumeraterr<SubImportSubject) rrErrrrNr kind_tagssnamerprDnss rr{zPackageSubject.find_subject s @ JJ1D8$ ? ? ?44DJJsOO444Qx (C!""IEEC (??AA H__A}5 h$&&15 +A+AAh$&&15 +A+A5 ))Ay B !%''' JJJdd;T B B B e$$  DAq""Bz5H$$JJJ !555 *+/111'4qrr;;;;;CK!OEAArr2)rrrrrr0r{r"rrr|r|sV(#m@@@@%%%%%%rr|ceZdZdZdS)rc||_||_||_d|jg|z|_|d|_dS)Nr:r#)rrrnpartsrarr)rrrrs rrzSubImportSubject.__init__IsC   &/!27!:;;   rNrr"rrrrHs#$$$$$rrceZdZdZdS)rcdSr2r"rs rrzMacroSubject.add_top_nodeRrrNrrrrr"rrrrQs#     rrceZdZdZdS)rcD|jj|dSr2)rr6r$rs rrzDocumentSubject.add_top_nodeWs! $$T*****rNrr"rrrrVs#+++++rrceZdZdZdS) GuppyWorldcr||_dx|_|_d|_d|_g|_t |_dS)N Guppy_Worldz )rFrrrrNrrrrs rrzGuppyWorld.__init__\s:(55   ! !,rNrr"rrrr[s#-----rrc 4eZdZdZdZidedededede de d e d e d e d ed ededededededeidedededededededededede de!d e"d!e#d"e$d#e%d$e&e'e(e)e*e+e,e-e.d%Z/d&Z0d'Z1d'Z2d(Z3d)Z4d*Z5d+Z6d,Z7d-Z8d.Z9d'S)/ _GLUECLAMP_) z_parent:Documentz_parent:FileIOz_parent.FileIO:IOz _parent:Filerz _parent:Htmlz _parent:Latexz_parent:SpecNodesz_parent.SpecNodes:node_of_taciz_parent:Testerz_root.hashlib:md5z_root.guppy.etc:iterpermutez_root.guppy.etc:RE)rio_dirr(rrOrrrrrrrUrr1rr;rrrrrrsrrrrrrrrrr=r<rrrr)rr>rrrrrrz.tgt.N cB|j|tSr2)description_classesr<r)rrNs rrez!_GLUECLAMP_.get_description_classs'++C===rctfSr2)rrs r_get_predefined_subjectsz$_GLUECLAMP_._get_predefined_subjectss }rciSr2r"rs r_get_package_cachez_GLUECLAMP_._get_package_caches rc @t|}|j|fi|dSr2)rr)rrrses rmainz_GLUECLAMP_.mains- T]]))D)))))rcdSr2r"rs r _test_main_z_GLUECLAMP_._test_main_rrcR|jj|}||_dSr2)r@rArsrr)rdirs r set_input_dirz_GLUECLAMP_.set_input_dirs$gl""3''r):rrr _imports_ _chgable_rrrrrrrr}r+rrxrrrrrrrrr'rrr\rr0r:rrrrrrrrrrr8rrrrhr rrrrr(rerr r rrr"rrrresm I8I+ s+ s+ + Y + 7 + Y + {+ 7+ 7+ 7+ -+ "#8+ H+ 7+ &+ !+" -#++$ 7%+& &'+( i)+* O++, 6-+. /+0 61+2 3+4 75+6 %7+8 H9+: ;+<  =+> z?+@ OA+B YC+D 7E++F#U+++ZJK FJ>>>***   rrN)Qguppy.etc.Descriptorrguppy.gsl.Exceptionsrrrrprxr}rrrrrrkrrrrrr\rhr rr'r+r0r8r:rLrzrrrrrrrrrrrrrrrrrrrrrrrrrrrr!r*r,r.r0rGrJrNrPr'rVrXr[rrrbrr|rrrrrr"rrrs111111""""PHPHPHPHPHPHPHPHfBssssssssl ) ) ) ) ) ) ) ) %%%%%[%%%$&     2        $   ( ( ( ( ([ ( ( (# # # # # Z# # # Lk>+!!!!!!!![[[[[k[[[|+$+$+$+$+$ +$+$+$\[   ,,,,,:,,,"             +   k4 AAAAAkAAADDDDDJDDD;jbjbjbjbjbkjbjbjbZNNNNNNNNb              w         h        x        h    # # # # #g # # ######g### #####g###&&&&& &&&$55555555&&&&&;&&&<< L ########(((((+((( HHHHH{HHH;#####K### +4 ( ( ( ( ( ( ( (NNNNNSNNN; / / / / / / / />>>>>[>>>B     +        +    A A A A Ak A A A$$$$$$$$     t        4        d   !8!8!8!8!8!8!8!8H  zj   ***>>T>d>24 > :4 > 9$ >0>1$>9$>0>0>0>d>$>> $T!>"4#>>$89J%>&%&>'>()>*":+>,->./>0!*1>23>4-d5>67>8*9>:!*;><=>>D?>@0A>B8C>D.zE>>>F.zG>H7 I>J.zK>L/ M>N7 O>P.zQ>RS>T%dU>V-iW>X#IY>Z#I[>\,Y]>^$Y_>`,Ya>b#Ic>d#De>fDg>>h*.15'+'+04'+(,04'+y>>> B JJJJJJJJ v'v'v'v'v'v'v'v'r      7   =====W===@$$$$$$$$     7   +++++g+++ --------WWWWWWWWWWr