bgI ddlTGddZGddZGddZGdd ZGd d eZGd d eZGddeZGddeZ GddZ GddZ dZ dS))*ceZdZdZdS) SpecObjectc||_dSN)modselfrs f/builddir/build/BUILD/cloudlinux-venv-1.0.7/venv/lib64/python3.11/site-packages/guppy/gsl/SpecNodes.py__init__zSpecObject.__init__(s N__name__ __module__ __qualname__r r r rr's#r rc&eZdZdZdZdZdZdS)SpecEnvc0||_g|_g|_dSr)r unknown_nodesfilesr s r r zSpecEnv.__init__2s r cdtd|j|j|dS)N add_unknown)printtagrappendr nodes r visit_defaultzSpecEnv.visit_default7s1 mTX&&& !!$'''''r cxtdt||}|j|dS)N visit_file)rFileEnvrr)r rfiles r r!zSpecEnv.visit_file;s; ltT"" $r c"t|fSr GuppyWorldr envs r get_predefined_subjectszSpecEnv.get_predefined_subjects@s3!!r N)rrrr rr!r)rr r rr1sP (((   """""r rc@eZdZdZdZdZd dZdZdZdZ d Z dS) r"c|j}||_|jx|_|_i|_||D]}||j|j<t |||j}||dSr)rargnamefilenamesubjectsr)Subjectchildren_accept)r r(rrsr#s r r zFileEnv.__init__Esg$(H, DM ,,T22 & &A$%DM!& ! !tT49-- T"""""r cj|j}|||}||dSr)r, find_subject add_aspectsr rr-subjects r visit_aspects_ofzFileEnv.visit_aspects_ofQs8x##D$//D!!!!!r c||jvrD||d|z||j|jd|zdS||j|<dS)NzRedefinition of %r.zPrevious definition of %r.)r/ error_noderr6s r def_subjectzFileEnv.def_subjectVsv 4= OOD"7$"> ? ? ? OODM$/484? A A A A A#*DM$   r Nc|j}|dz}t|jd|dtd||ztd|ztdS)N:z %r %s)indexrr.get_line)r rmsg exceptionr@linenos r r:zFileEnv.error_node^sm  $---0111 hu---... hn r cp|j|}|||d|z|S)NzNo such subject: %r.)r/getr:r6s r r4zFileEnv.find_subjectfs;-##D)) ? OOD"84"? @ @ @r c t|j5}t||}dddn #1swxYwYn#t $rd}YnwxYw|Sr)openr.list readlinesrstrip Exception)r r@ftexts r rAzFileEnv.get_linels dm$$ ;AKKMM**5188:: ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;   DDD  s4A(:A A(A  A(#A $A(( A76A7cr|j|}|t||x}|j|<|Sr)r/rFr0)r r-r7s r get_subjectzFileEnv.get_subjectts<-##D)) ?,3D$,?,? ?GdmD)r cP|jdz|jz}||S)Nz::)r-rrP)r r(rr-s r get_aspect_subjectzFileEnv.get_aspect_subjectzs(x}TX%%%%r r) rrrr r8r;r:r4rArPrRrr r r"r"Ds # # #""" ***  &&&&&r r"c eZdZdZdZdZdS)r0c>||_||_||_g|_dSr)r#rr-aspects)r r#rr-s r r zSubject.__init__s"    r c|jd}|j}|d}|r9|r|j|d|dd}|r2|j||}|||}n4t|j||}|r|j ||||j || |dS)N_ofr>zBoth 'of' and '::'.r=)rendswithr, startswithr#r:stripr4new_subject_ofr0r;rUrr1)r rofr-define ofsubjectr7s r rzSubject.visit_defaults  X  u % %x%%  $ B $$T+@AAA8>>##D  ; ..tT::I))$ ::GGdit44G ; %%dD'::: G$$$ W%%%%%r ct|j}|dkrt|j||St|j||S)N aspects_of)r AspectsOfr# SubjectOf)r rr\rs r r[zSubject.new_subject_ofs<h ,  TYb11 1TYb11 1r N)rrrr rr[rr r r0r0sA &&&&22222r r0ceZdZdZdZdS)rac0||_||_g|_dSrrr\rUr r#rr\s r r zAspectsOf.__init__  r c:|j|dSr)r\rrs r rzAspectsOf.visit_defaults d#####r N)rrrr rrr r raras2 $$$$$r raceZdZdZdS)rbc0||_||_g|_dSrrerfs r r zSubjectOf.__init__rgr Nrrr r rbrbs#r rbceZdZdZdS)r&c>||_d|_d|_g|_dS)Nz Guppy World)r#r-rrUr's r r zGuppyWorld.__init__s" !   r Nrrr r r&r&s#r r&ceZdZdZddZdZdZdd Zdd Zdd Z dd Z dd Z dZ dZ dZdZddZdZdZddZdS)SpecNode)rr,childrenr@srcrrNcf||_||_t||_||_||_dSr)rr,tupleror@rpr rr,ror@rps r r zSpecNode.__init__s/h  r cP|jjd|jd|jd|jdS)N(,)) __class__rrr,ror s r __repr__zSpecNode.__repr__s4 N # # #TXXXtxxxH Hr c |jjd|jd|jdddd|jDzdS)Nrurvz(%s)c,g|]}t|Sr)str).0cs r z$SpecNode.__str__..s>>>1A>>>r rw)rxrrr,joinrorys r __str__zSpecNode.__str__sW N # # #TXXXtxxx chh>> >>>?? @ @ @B Br visit_c|jr2td|jd|j}||||||dSNrNr)r,rnr@acceptr1)r visitorprefixrs r arg_acceptzSpecNode.arg_acceptsS 8 )FDHb$*==D KK ( ( ( Wf-----r c||j}||j}||j}||j}||j}||||||Sr)rr,ror@rprxrss r copyz SpecNode.copysY ;(C ;(C  }H =JE ;(C~~c3%===r cF|jD]}|||dSr)ror)r rrrs r r1zSpecNode.children_accepts4 & &A HHWf % % % % & &r ct|||jzd}|Dt||dzd}|.d|d|jd|}t|t|||dS)Ndefaultzaccept: unknown: z, z in )getattrrr ValueError)r rrmrBs r rzSpecNode.accepts} GfTXo 5 5 9&"2T::AyyFFDHHHgg/c  oo% $r cD||}|j||dSr)rperror)r rBrs r rzSpecNode.errors( <D sD!!!!!r cg}|jD]V}|jdkrI||j|jds|dWd|S)zI Get the total text of all text children, joined with and ended with ' ' rN )rorrr,rXr)r rNrs r get_textzSpecNode.get_textsp & &Au AE"""u~~d++&KK%%%wwt}}r c|j}|dr|dd}|S)Nr>r=)r,rZrY)r r,s r get_argzSpecNode.get_argsAhnn >>#   "abb'--//C r c|j}|dr |dd}d|dD}|dgkrg}|S)Nr>r=c6g|]}|Sr)rZ)r~xs r rz(SpecNode.get_arglist..s 333q333r rvr)r,rYsplit)r r,namess r get_arglistzSpecNode.get_arglists\h >>#   abb'C33CIIcNN333 RD==E r c|jr>td|jd|j|jg}||jn|j}|Sr)r,rnr@rpextendro)r ros r get_arg_childrenzSpecNode.get_arg_childrensM 8 % 2tz48LLMH OODM * * * *}Hr cN|j}|s|}||jfSr)r,rZro)r nostripr,s r get_arg_restzSpecNode.get_arg_rest&s+h ))++CDM!!r cf|jrtd|z|jS)z_ Get the arg as by self.arg, but make sure there are no more children. z&No children nodes expected in node: %s)ro SyntaxErrorr,rZrys r get_arg_norestzSpecNode.get_arg_norest,s5 = OFMNN Nx~~r ct|j}d|vsd|vsd|vrtd|z|S)z Get the argument in the form of a name It is the argument stripped. And not allowed to contain : or , or new line. rr>rvzInvalid name: %r)r,rZr)r r-s r get_nameargzSpecNode.get_namearg4sG x~~ 4<<3$;;#++04788 8 r Fc ||j}|ri fd}ng fd}g}|jD]}|jdkrq|jD]h}|jr|j}n|d||jr!|d|jd|jr||j||i~|jdddkr ||jdd|j|||t |t |jkr|}n(|||j||j|j}| fS) NcN|vr|d|zdS||<dS)NzDuplicate attribute: %s)rrattrrattrss r addattrz%SpecNode.split_attrs..addattrDs7%<<JJ84?@@@@@!%E#JJJr c6||fdSr)rrs r rz%SpecNode.split_attrs..addattrLs c4[)))))r withzBad attribute, no argument.z"Expected no children to attribute.r=) rror,rrlenrxr@rp) r rattrdictrrochoptr,rrs @r split_attrszSpecNode.split_attrs>s ;(C  *E & & & & & & E * * * * *- $ $Bv; 3 3CwG!g #@#FFF|S @#,q/SSSw3c222 3##ss RVR0000#### x==C .. . .DD>>TXxTX??DU{r rrN)r)NNNNNrr)NF)rrr __slots__r rzrrrr1rrrrrrrrrrrr r rnrns78IHHHBBB .... > > > >&&&&    """"  """"    &&&&&&r rnc*eZdZd dZdZd dZdZdS) SourceNr c||_||_||_||_||_g|_||_d|_d|_dS)Nr) r.linesstringrdebug error_reports max_errors num_warnings num_errors)r r-rrrrrs r r zSource.__init__hsG     $r cd}d}|pt|dr|j}|j}n|}|}||j}||}t |d|dzd|rt d|zdSdSdS)Nrzr@)r@r>r=r?)hasattrr@rpr.rAr)r contextlinetextr.r@rps r errmsg_contextzSource.errmsg_contextss#  w((  k<<td|jDS)Ncg|] \}}||f Srr)r~kvs r rz9_GLUECLAMP_._get_reverse_node_aliases..s ???1aV???r rrys r _get_reverse_node_aliasesz%_GLUECLAMP_._get_reverse_node_aliasess"??(>???@@@r cZ|jtdjS)Nzu"[\u0080-\uffff]")recompileevalsearchrys r _get_is_not_asciiz_GLUECLAMP_._get_is_not_asciis"wt$9::;;BBr c"t|fSrr%rys r r)z#_GLUECLAMP_.get_predefined_subjectss4  ""r rc t||}|j||}d}|}|j}||j|}|j} |||||| |S)N)r-rr#) r DottedTree parse_filerrZnodes_of_dforestror@ node_of_tatci) r r#rrpdtreerr,rNror@s r node_of_filez_GLUECLAMP_.node_of_files$000**455y  ((== !!#sD(E3GGGr c |j|}d}|}t|||}|j}|j} ||j|} ||||| | |S)Nr)r-rr) r parse_stringrrrZr@rror) r rr-rrrr,rprNr@ros r node_of_stringz_GLUECLAMP_.node_of_strings,,V44$vw???y   ((==!!#sD(E3GGGr cX|j}|d}|dkrt|}|dd|}|dd|}|dkrK|dks||kr?|d|dz||dzd}}nu|dkrFd|d|vs%|t|kr|}nt d|z|d|||dzd}}||jvr |j|}|dd }|d kr|js|}| |j |}| ||||j |S) Nrrrrr>r= z!No colon in spaced tag in node %s_rN) rfindrrZrKr node_aliasesreplacerrro node_of_tacir@) r rrprtextposequposcolonposr,ros r node_of_dtreez_GLUECLAMP_.node_of_dtreesi((4.. b==#hhG#q'**88CG,, R<.s)>>>$$$Q,,>>>r include)r)rrr,rZospathrdirnamer.rrrrorr)r dforestrponodesnodesrr.s` ` r rz_GLUECLAMP_.nodes_of_dforests>>>>>g>>> ( (Dx9$$ T"""x~~''Hw|(()=)=cl)K)K)133H$$Xs{$CCD LL ' ' ' 'U||r ctSr)rnrys r _get_node_of_taciz_GLUECLAMP_._get_node_of_taci"sr rNc|r1|dkr|r |dz|z}n |}n|d|d||f|z}||||||S)NrNrr)r)r rr,rNror@rps r rz_GLUECLAMP_.node_of_tatci%s{  ?f}}*t+CCCC --D"eS2246>?  c8UC@@@r c||}t|dkr|dS|dd|S)Nr=rblockr) nodes_of_textrr)r rNrs r node_of_textz_GLUECLAMP_.node_of_text1sG ""4(( u::??8O$$Wb%88 8r c Tg}||rg}|D]}t|}|dkr||-|r>||dd|g}||dt ||r<||dd|n)||d||S)NrNrchar) is_not_asciiordrrrr})r rNrcharsr(nos r r$z_GLUECLAMP_.nodes_of_text=s   T " " :E E EYY88LL&&&&# T%6%6vrwwu~~%N%NOOO "LL!2!263r77!C!CDDDD H T..vrwwu~~FFGGG LL**6488 9 9 9 r c|j}|jj|jj|jjt d}|jj|d}|jj|std|zdS| |}| |}| |dS)Nz ../../specszdocexample.gslz %s does not exist, skipping test) _rootrrrrrealpath__file__existsrrrr)r rootspecdir main_dt_namer(rs r mainz_GLUECLAMP_.mainQsz',## GL !6!6x!@!@ A A w|((2BCC w|""<00  4|C D D D Fll4    .. Cr c.|dSr) print_doc)r dts r r7z_GLUECLAMP_.print_docas r ch|}|r|dz|z}|r|dz|z}|j||}|S)Nz: r)r unparse_tag)r levelrr,rNheads r unparse_headz_GLUECLAMP_.unparse_headdsO  %$;$D  &$;%Do))%66 r r)rrr)rrr _chgable_ _imports_rrrrr)rr rrr rr%r$r5r7r=rr r rrs-%II ,,,AAACCC ###HHHHHHHHGGG<    A A A A 9 9 9( r rclddlm}|}|jjjdS)Nr)Root)guppyrAgsl SpecNodesr5)rAr2s r test_mainrEns> 466DJN!!#####r N) guppy.gsl.Exceptionsrrr"r0rarbr&objectrnrrrErr r rHsH#"""""""""""&8&8&8&8&8&8&8&8&v22222222D$$$$$$$$0ZZZZZvZZZzF!F!F!F!F!F!F!F!R{{{{{{{{|$$$$$r