python-funcparserlib-1.0.1-1.oe24090>    f : ;G|`u` 2 IX'aN~񤘷"5 K kpxCz MЏ<ѣ>">6C(\mPc$g@yT;DZCW{z,S]{Cр6HBHYhL#V^{x׎9o ; K6ǟ;RYjT^:1 5y bkޞ%8oIXJޥ p+C $WffݾdѠvb0bGHޒixMٿ^5g` e芙1*8$%TԃoY? ]yZeU9ݪanYR>^uL>y:حN;_(M3}fpM?WI097147109d31c6446729080123c6b13e408f024142f5c0cf6aac859885ecb19deb0d0e2642338e9b4d4a00025c7ddf6fe62b6947lIaj3!@>7}?md & h  %1Ly    " $,6@Hx(89:\AFGHIRXY\]^MdNeSfX\`fCpython-funcparserlib1.0.11.oe2409Recursive descent parsing library based on functional combinators*Parser combinators* are just higher-order functions that take parsers as their arguments and return them as result values. Parser combinators are: * First-class values * Extremely composable * Tend to make the code quite compact * Resemble the readable notation of xBNF grammars Parsers made with ``funcparserlib`` are pure-Python LL(*) parsers. It means that it's very easy to write them without thinking about look-aheads and all that hardcore parsing stuff. But the recursive descent parsing is a rather slow method compared to LL(k) or LR(k) algorithms. So the primary domain for ``funcparserlib`` is **parsing little languages** or **external DSLs** (domain specific languages). The library itself is very small. Its source code is only 0.5 KLOC, with lots of comments included. It features the longest parsed prefix error reporting, as well as a tiny lexer generator for token position tracking.f 7dc-64g.compass-ciVkMIThttp://openeuler.orgUnspecifiedfuncparserlib-1.0.1.tar.gzhttps://github.com/vlasovskikh/funcparserliblinuxnoarchCVf f a2c4a0d7942f7a0e7635c369d921066c8d4cae7f8b5bf7914466bec3c69837f473774381b44aae957fa600f278fc53997843cb22833cbe156397f8bf4d3349a2 rootrootrootrootpython3-funcparserlibpython-funcparserlib-help  python3-develpython3-setuptoolsrpmlib(CompressedFileNames)rpmlib(FileDigests)3.0.4-14.6.0-14.18.2cbjiangxinyu - 1.0.1-1huangtianhua - 1.0.0a0-1- Update package to version 1.0.1- Upgrade to 1.0.0a0 to fix obs build errornoarchdc-64g.compass-ci 17266852391.0.1-1.oe24091.0.1-1.oe2409funcparserlib-1.0.1.tar.gzpython-funcparserlib.speccpiogzip9utf-8b9529f3b4dbef94bb063c16c986186a0dc01aafac027615cf89e858c090e568462f8a2520bf26f8a71c51d4125cd5d0bc5e2487398f23e8eba88e71e1c1e1660 Name: python-funcparserlib Version: 1.0.1 Release: 1 Summary: Recursive descent parsing library based on functional combinators License: MIT URL: https://github.com/vlasovskikh/funcparserlib Source0: https://files.pythonhosted.org/packages/93/44/a21dfd9c45ad6909257e5186378a4fedaf41406824ce1ec06bc2a6c168e7/funcparserlib-1.0.1.tar.gz BuildArch: noarch %description *Parser combinators* are just higher-order functions that take parsers as their arguments and return them as result values. Parser combinators are: * First-class values * Extremely composable * Tend to make the code quite compact * Resemble the readable notation of xBNF grammars Parsers made with ``funcparserlib`` are pure-Python LL(*) parsers. It means that it's very easy to write them without thinking about look-aheads and all that hardcore parsing stuff. But the recursive descent parsing is a rather slow method compared to LL(k) or LR(k) algorithms. So the primary domain for ``funcparserlib`` is **parsing little languages** or **external DSLs** (domain specific languages). The library itself is very small. Its source code is only 0.5 KLOC, with lots of comments included. It features the longest parsed prefix error reporting, as well as a tiny lexer generator for token position tracking. %package -n python3-funcparserlib Summary: Recursive descent parsing library based on functional combinators Provides: python-funcparserlib = 1.0.1-1.oe2409 BuildRequires: python3-devel BuildRequires: python3-setuptools %description -n python3-funcparserlib *Parser combinators* are just higher-order functions that take parsers as their arguments and return them as result values. Parser combinators are: * First-class values * Extremely composable * Tend to make the code quite compact * Resemble the readable notation of xBNF grammars Parsers made with ``funcparserlib`` are pure-Python LL(*) parsers. It means that it's very easy to write them without thinking about look-aheads and all that hardcore parsing stuff. But the recursive descent parsing is a rather slow method compared to LL(k) or LR(k) algorithms. So the primary domain for ``funcparserlib`` is **parsing little languages** or **external DSLs** (domain specific languages). The library itself is very small. Its source code is only 0.5 KLOC, with lots of comments included. It features the longest parsed prefix error reporting, as well as a tiny lexer generator for token position tracking. %package help Summary: Development documents and examples for funcparserlib Provides: python3-funcparserlib-doc %description help *Parser combinators* are just higher-order functions that take parsers as their arguments and return them as result values. Parser combinators are: * First-class values * Extremely composable * Tend to make the code quite compact * Resemble the readable notation of xBNF grammars Parsers made with ``funcparserlib`` are pure-Python LL(*) parsers. It means that it's very easy to write them without thinking about look-aheads and all that hardcore parsing stuff. But the recursive descent parsing is a rather slow method compared to LL(k) or LR(k) algorithms. So the primary domain for ``funcparserlib`` is **parsing little languages** or **external DSLs** (domain specific languages). The library itself is very small. Its source code is only 0.5 KLOC, with lots of comments included. It features the longest parsed prefix error reporting, as well as a tiny lexer generator for token position tracking. %prep cd '/home/lkp/rpmbuild/BUILD' rm -rf 'funcparserlib-1.0.1' /usr/lib/rpm/rpmuncompress -x '/home/lkp/rpmbuild/SOURCES/funcparserlib-1.0.1.tar.gz' STATUS=$? if [ $STATUS -ne 0 ]; then exit $STATUS fi cd 'funcparserlib-1.0.1' /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . \ CFLAGS="${CFLAGS:-${RPM_OPT_FLAGS}}" LDFLAGS="${LDFLAGS:-${RPM_LD_FLAGS}}"\ /usr/bin/python3 setup.py build --executable="/usr/bin/python3 -s" sleep 1 %install \ CFLAGS="${CFLAGS:-${RPM_OPT_FLAGS}}" LDFLAGS="${LDFLAGS:-${RPM_LD_FLAGS}}"\ /usr/bin/python3 setup.py install -O1 --skip-build --root /home/lkp/rpmbuild/BUILDROOT/python-funcparserlib-1.0.1-1.oe2409.x86_64 install -d -m755 /home/lkp/rpmbuild/BUILDROOT/python-funcparserlib-1.0.1-1.oe2409.x86_64//usr/share/doc/python-funcparserlib if [ -d doc ]; then cp -arf doc /home/lkp/rpmbuild/BUILDROOT/python-funcparserlib-1.0.1-1.oe2409.x86_64//usr/share/doc/python-funcparserlib; fi if [ -d docs ]; then cp -arf docs /home/lkp/rpmbuild/BUILDROOT/python-funcparserlib-1.0.1-1.oe2409.x86_64//usr/share/doc/python-funcparserlib; fi if [ -d example ]; then cp -arf example /home/lkp/rpmbuild/BUILDROOT/python-funcparserlib-1.0.1-1.oe2409.x86_64//usr/share/doc/python-funcparserlib; fi if [ -d examples ]; then cp -arf examples /home/lkp/rpmbuild/BUILDROOT/python-funcparserlib-1.0.1-1.oe2409.x86_64//usr/share/doc/python-funcparserlib; fi pushd /home/lkp/rpmbuild/BUILDROOT/python-funcparserlib-1.0.1-1.oe2409.x86_64 if [ -d usr/lib ]; then find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/lib64 ]; then find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/bin ]; then find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/sbin ]; then find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst fi touch doclist.lst if [ -d usr/share/man ]; then find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst fi popd mv /home/lkp/rpmbuild/BUILDROOT/python-funcparserlib-1.0.1-1.oe2409.x86_64/filelist.lst . mv /home/lkp/rpmbuild/BUILDROOT/python-funcparserlib-1.0.1-1.oe2409.x86_64/doclist.lst . %files -n python3-funcparserlib -f filelist.lst %dir /usr/lib/python3.11/site-packages/* %files help -f doclist.lst /usr/share/doc/* %changelog * Thu Dec 08 2022 jiangxinyu - 1.0.1-1 - Update package to version 1.0.1 * Fri Feb 25 2022 huangtianhua - 1.0.0a0-1 - Upgrade to 1.0.0a0 to fix obs build error * Mon Nov 23 2020 Python_Bot - Package Spec generated ?S.ٶm۶mn۶mm۶ms9ܷYVYYcddbfl.fs&X9dn.v& L @a #cЭߵDk,e0HQm(ShE& 1 2# kϜhn$<C)CBzf8Guwê[xOGSٜgnζvG'<]tR5`0c/R`f1V._ۅK2vFFsݻn7/nNc-6O^ S ,Xt%Vy;;_& fs/>z w Ge4 0er:qG֋'?Փe 4;G #T"#ed)>s *.Vy5ičs?U;TpzW-e$o G0 T)u#ϧ jQwA^bouݖgq1/w4dŔJ$~\+SUW †|MƲfB.0;'՛C}$A 3Cn $sP5O*3л; ,4|%Az2QlKo;lZ_%(`A *ߗ8^/HlG7Mpw:v`fÅ^~|B3iTV*ݍɫǦ婢UIm(3<lJ;,5l~ 0' FTU+7JC$3AVi6ۅQ?xTΘp4fB{}"T #6*+!aAkB#qC¼A-7Zv,VB|҄XP0FFp=)uNy#ho# |bX~ݖ@7@Poa G%LGn&@$A` 'A/B]D 03jIXȜCcSd=bWߞ;wjN|q8{fV$۰UNIY0qDxr@YtUSn;b8rY7{h96+w!&q>Y 6csE6 7?ˠr$]~Sr4(Scj(]n1X$Mf'#C1H[$\%V]#+&w1j+J \Wə;5jY^UxZF4B@.QTA_`Ǝʃ^J3?兮 856@VW_ hltw ~ @_g 85g?K_ѸBWdglh>;ҕa] ow@2U8+K+$;OHrS^$ZyA(yAdNIt25Veί1_  1F 5:&k':,Ya vpڔyaD..K6t ayK4005EWHS?5.<] m JBFUP/y^d~uJ-ؠ@EFHx rvp4nyFk'7d%{dKOWlZEbBFL7,}oC㢥ɉFv#.:Svf>LAHu‚@O1[9BrTP*<(~A@,7QQ zDJ<Ub_TctdAْ2ͤ.Ћ\50~N:ZS"7z#nuo'{C'̼2&pd%cYY2Q׭MmQpmZeZc&;WJddW=<(VFNLѐ{$4emP%|+|@2c%tO ,urr`WBN{`_5JyP Xd8EWZyYUAy 8|N?c`bVG"ty5"{J6{ݟ~X0-Aa f-'ժϭ"HgMOmdN q˙W1Wqa' !$!I,\Q8bb@pqN'qi,t}cC[BP&V}U%@HL#d`[ɀF!$ē,G`4{`>$76\HF8(n,bh4&M@yS&'x:ׇ(~R\3i%R bfF XvU\8EP X;Ijh_s߸ u#xci,<.VyT>7|?oZ+ׯH א?˱֏ A_,>t| HI!FP>t.A| FՁF-&?~A cY X@RH:#8F- GA}cwn f*#YEoS.f4)n7шYXiʵfXF0uNfcنɤd,U`̜ͧA};j؟ƅqv rT]i8~hA@zv. .jzFN5;;߉T#;ϯ0|R`D _no"NR=kfkh6$)Vc< M37BIyd-k:_p}A3gk8VnfʱfH5adtas Y˖rX;a%jڍ$}58;`XљVq` MyOA_x[ ]/ IS5BhpU/% jNG6s&r]!tetܿ:!}MLBH7y;(7e/7ka֋:ar .f`3`,'N+3# A\QFyWx}MP5_Z-ys1A_7ՕLDdpd"!(.Y'-_>` T.m+B(!Dgw/m@5WѮlg5L_)mkK+&Ps%t4PoJ#^Z-c#t\O3" n&l|Q3EwybeiG g SɰS Jnj7( B/؈w@;m|RCn.jbolR P+0%9;>Wg/oX䧕= Rφ9Co G{ dF}7%]6pioVHI|< +z]€ů J~2#2#?RqȖg)|Z(ҫNd1{ݓށZj,PoPh>|]ڸӈ]/$!ġ:?=zQ>u")$@w#lk1:C0M[ί FH5g:J`s|nW=E |k %6,M$5{"iHQ"R=i9M^)e캎]XQ*~~Q Yym"*bWr[ŕ6m<~"W/=?%Txrq jiE9RN|12SML9 h0,6C /F@4vʇ"A$cigƎf1,0ܢX#ZD'ugV]gF16i8׏fYEWHa{(w¦ԣF%>\~ h'$&vyeSN]EN{EfqwMDy#cv*ֲ9I@$c[J/nJ3}a̵LQCk|orY6z&[ip[]bsf3-lȏ@U°L8ܸ񚾱h}]]~TE<< g D/ֺ#mE܊, 0k<+gqr܌lrg3s3vDbsKWZpw6iU5k%"_as~XwLɁ0D0tV7J?ϲߖ^Q7C+Om?=9T*2;TN 6̺6n: sc0U;ts9& lݮ]L#Uw2tǥVR\' urZK)XxtBג>_L&尕RGGCΖ~$9'+,ܘW <Ԩ V/"8դʔs-EȺ8ua?qz]}vrMW)E_Z-t +\>{gTnړ&ܚJ7Bd2k2ȉ D}Be<`u雌џYJ1ǫ#8% mWc*Y8*4?Ϊ_>e̲MusDh1*z/VQsߏ}<ܖt6l| d^y*Mzqs|(5AocV32K1Yƫ0pbadX5#y,1N6 Pš}_SE>?ŨR_hǺY# 9[?^j0vvF/fFm8)142UsFZ, Яf ?ƽ dJ P{}uI0xE{zK9 ]o,.l, /,y9H9>$S ^-9Ř f$I`tԖ_E~ͼ o$5T3niG5o&Hpfuԡ)zQ/ Tqܲ8qr=qLLzjYY=A>WL7Y3\n)['>U{l6Kg"޺uVgݏ<l ZtZLˤX!R.x΂2uYubpfA!+&® n QͦBla=W!;7rlT#벡\p%Ev T5/ R>Ǵj*< ^ E h >i2(G'OEtgAwyT-v:RhЃP@(WAX4-}* =hg:ڟ)8_d'E`gb*K:b&0}#7Dt]$ hRNm ^|(ꙥ٬rY7۶R@Vn6fƘɠuhl~|˙ k&(X{U:Eۄw[N/,Bt_?U8M6&1gcCJ '칲/Kt!T Vb?jPSyv-RT5MORY.YUEiJjU,شӅ})EqSbd$#c7+4anf |B(B<i맞N⛁.=M6 lD"202d@o2LS}so/8ׄɈk=}':Yi4%_m\቞^dF2{wk~|\Dz:[jzi{T 耠TJ:.,nES@iq"[mD:Ɲ Ns?4f:cI܆vB$IoXdXgmH(XA`,R8+Ods)+WeTӾ#xʞ_&_y,hjwÝQhIJ&M̴ċrz#BM-2q^֠)W!Y ո_./  ,*$!GrOqU?4r&Fi 𔫳lPLWՉ.yU~&mǧ*=7 bj66k*B?Y [?YEYO#plG]J<-8+w|@$6ocu[WF}X*M͚A^SMHoyP+Fe RFi 2դ4 .a`X'+8IMf%QٜK| ]į,H^j>\wmZ,R$arFE81׊-YeCg⛲'tYڅg\Ps4P!`J!.JmTH@uYKN-veRDA&dF>8OtHMfz)э~%qxe7YU+W P3@Um(O'yo%c8d䉂1 4ytrsd)it։0 t s:+*ɼO{ĊQY`mי3]k[G@5NB=5ł{~R!z[P&HmApI]o@q3SVqaL, zN'((0—iEtu&@nd:>< r?M@ ":т/ʌyUɿZ3z"AV\~;ʠIa삌 K5*5hj3-t`ʳ'GL5$!ݔdkv,q&|:hSAwn;^?y9$XG\3Ė _*R)٧s%b$a=\Sn/&,wbfTd9K$e\N&%1b{Żۇ"' Td6>ɰfV]5tv-]KwA/ߌtoEvWŗT=P1ӓ1YqO2? G&4$t D=,;NL񂃙X5oyҵܒO@@=Sӫh =q^LS%;g=Q5fگ\D TH.,'aa")EMedn tVts-kj u&hقqhU$lQ v9>Y-) \3clOs7wt*cZOȽzŶ]zPϒX41\.AYf2h?5 07f"n5qvT\uF )a.PuG_ONEg{XK]슷:(ؾSҰ~DR)<!?gxRC41w %JX!J'(N2)gO@i3_\DZ)dh0+'jRSQ؏&^1M 6' (2p"ΊߎNpnYɕd>q/:vpvӕa~RfYֶ]ã.eY-|eqSGY _[0̗҃qM-~3Yhn~^Kk)!fx".S9,bF0˿F8V]#_ U& ?]051XH7 t bؼT;wC>P߁LF¶+!=F= P&y6L>~V2u}Ѵh@\3 gqR~ 2ӌp~ .gUkxp/2"F6FD-v,7xv<9~R$o}G;V 0*pZ X9(ڱ!uLlީOCzDk]a6Xs(aZd?8_(vT#lDsVmtRJle_X4ք6:QsjBMHp\Шe {8*vTfI'F6GGB@%<`Cc'3? #x?8 /5_I_#^?@Co" _w`L@fV7q*: dۣV8 O|Om: f僮X5D!QUB-ۂSϊ].:g\J ΊxeRlC)h{)gNl!4vAbq&nL*ѧLx+:ZTRٰo*źl%_;(KZ׼:|xSIun<7Pttߞ[#19v>ӡ'a+iAoD?TI.T(}Zkd|w(9ۊx*C" &zhx7P>'Ċi%6ϥx\) Ƴ'O(O%^ٳ{: ("m5sϨNFvTD\\-WYE]9*ܳP_D~f֜\[FP)}Kb2oȧJL8zfʚ"9+ >lb- /X՚wS^I65rJӮDY\鄫zqCJCǼm%~U~Pv3o~yںjo[s/[h}-|jhsȗwꖕ, Y'nV]Y51 $Z^86)rs礓ep`N >B3ǽ|.|j[ GE'Gfʈ֝s޺YIϏ I Y7ԸWW.2,3=>s͈V~X^Uvfdٟ3MlZ\PK7b륆^Q-C9I%] ^}}-m<#gͬeE\Rb_zn߅WNMW cۇTc +_ȼf_Zzoj[|S$rrekF޶'e˩c]^6=2KC}ӆò=ctaߡN#>]pi[;wzh[81hҝs͞a̴cS | Y\;9Y98K̈́qeIxGw,ޙCMay-?/AV0|rrCE͞K+3 { aJs#jU*Ӑ:q[ a&$"0AH=͵o {0:z)ua4nUV "+{X{ߞ],E}WDMI7f7*T&}pLoPQuD{k<'<[\E`w X˚o}FVoBe`L8<.(#3B]ƊTpc;@S 9ps"{ T}=9P-xYh*`m!G Du8SM'rG= @.PAϻ_EDӋ;b~`WL11d,x4})e)XKre0Z+(:*辞D({SNbF'׾hs<_sˋfO+OIIag[cX