Files
intellecton/venv/lib/python3.12/site-packages/pyparsing/__pycache__/util.cpython-312.pyc
T

182 lines
23 KiB
Plaintext
Raw Normal View History

Ë
vRj}>ã ó°—ddlZddlZddlmZmZddlZddlZddlZddlm Z m
Z
m Z m Z m
Z
mZddlZddlmZmZed«Ze de ¬«ZGd „d
«Zed ¬ «d
ededefd„«Zed ¬ «d
ededefd„«Zed ¬ «d
ededefd„«ZGd„d«ZGd„d«ZGd„d«ZGd„de«Zdedefd„Z Gd„d«Z!ee"fe#fd„Z$d edefd!„Z% d9de
ee efd#e&defd$„Z'd%e de(fd&„Z)dedefd'„Z* d:d"dd(œd)e ed*ed+e&d,edef
d-„Z+d.ed/edefd0„Z,ejZd1«fdedefd2„Z. d;d3d4œd5eeefd6ed7edefd8„Z/y)<éN)Ú lru_cacheÚwraps)ÚCallableÚUnionÚIterableÚTypeVarÚcastÚAnyé)ÚPyparsingDeprecationWarningÚPyparsingDiagnosticWarningé\ÚC)Úboundcór—eZdZUdZgZeeed<gZeeed<dZ e
d„«Z e
d„«Z e
d„«Z
y) Ú__config_flagsz=Internal class for defining compatibility and debugging flagsÚ
_all_namesÚ _fixed_namesÚ
configurationcóH—||jvr^tj|j›d|›d|j›dt t
||««j«›d�td¬«y||jvrt|||«ytd|j›d|›�«‚)Nú.ú z is z and cannot be overriddené©Ú
stacklevelzno such ) rÚwarningsÚwarnÚ__name__Ú
_type_descÚstrÚgetattrÚupperr
rÚsetattrÚ
ValueError)ÚclsÚdnameÚvalues úQ/home/antigravity/intellecton/venv/lib/python3.12/site-packages/pyparsing/util.pyÚ_setz__config_flags._setsš€à �C×$Ñ$Ñ $Ü �M‰MØ—<‘<�.  % ¨¨#¯.©.Ð)9¸¼cÄ'È#ÈuÓBUÓ>V×>\Ñ>\Ó>^Ð=_Ø+ð-ä*Øõ 
ð
Ø �C—N‘NÑ "Ü �C˜ Õ &ä˜x¨¯©Ð'7°q¸¸ ÐBÓCÐ Cócó&—|j|d«S)NT©r)©r%Únames r(ú<lambda>z__config_flags.<lambda>'s€¨3¯8©8°D¸$Ó+?€r*có&—|j|d«S)NFr,r-s r(r/z__config_flags.<lambda>(s€¨C¯H©H°T¸5Ó,A€r*N)rÚ
__module__Ú __qualname__Ú__doc__rÚlistr Ú__annotations__rrÚ classmethodr)ÚenableÚdisable©r*r(rrsR…ÙGà€J��S‘ ÓØ €L�$�s‘)Ó Ø €Jàñ Dóð DñÑ?Ó
@€FÙÑAÓB�Gr*ré€)ÚmaxsizeÚlocÚstrgÚreturncóz—|}d|cxkrt|«krnn
||dz
dk(rdS||jdd|«z
S)aþ
Returns current column within a string, counting newlines as line separators.
The first column is number 1.
Note: the default parsing behavior is to expand tabs in the input string
before starting the parsing process. See
:meth:`ParserElement.parse_string` for more
information on parsing strings containing ``<TAB>`` s, and suggested
methods to maintain a consistent view of the parsed string, the parse
location, and line and column positions within the parsed string.
rr ú
)ÚlenÚrfind)r<r=Úss r(ÚcolrD+sG€ð
€AØ�CÔ œ#˜a›&Õ  Q s¨Q¡w¡Z°4Ò%7ˆ1ÐX¸SÀ1Ç7Á7È4ÐQRÐTWÓCXÑ=XÐXr*có.—|jdd|«dzS)aùReturns current line number within a string, counting newlines as line separators.
The first line is number 1.
Note - the default parsing behavior is to expand tabs in the input string
before starting the parsing process. See :meth:`ParserElement.parse_string`
for more information on parsing strings containing ``<TAB>`` s, and
suggested methods to maintain a consistent view of the parsed string, the
parse location, and line and column positions within the parsed string.
r@rr )Úcount)r<r=s r(ÚlinenorG<s€ð �:‰:�d˜A˜sÓ # aÑ 'Ð'r*cóv—|jdd|«}|jd|«}|dk\r||dz|S||dzdS)zh
Returns the line of text containing loc within a string, counting newlines as line separators.
r@rr N)rBÚfind)r<r=Úlast_crÚnext_crs r(ÚlinerLJsM€ð
�j‰j˜˜q #Ó&€GØ�i‰i˜˜cÓ"€GØ*1°Qª,ˆ4�˜!‘ ˜gÐ &ÐO¸DÀÈ1ÁÀÐ<OÐOr*có—eZdZd„Zy)Ú_UnboundedCachec󇇇—iЉjŠt«x|_Šˆˆfd„}ˆfd„}ˆfd„}d|_t j
||«|_t j
||«|_t j
||«|_y)Ncó•—‰|‰«S©Nr9©Ú_ÚkeyÚ cache_getÚ not_in_caches €€r(Úgetz%_UnboundedCache.__init__.<locals>.getZóø€Ù˜S ,Ó/Ð /r*có•—|‰|<yrQr9)rSrTr'Úcaches €r(Úset_z&_UnboundedCache.__init__.<locals>.set_]s ø€ØˆE�#ŠJr*có&•—‰j«yrQ©Úclear©rSrZs €r(r^z'_UnboundedCache.__init__.<locals>.clear`ó ø€Ø �K‰K�Mr*)rWÚobjectrVÚsizeÚtypesÚ
MethodTypeÚsetr^)ÚselfrWr[r^rZrUrVs @@@r(Ú__init__z_UnboundedCache.__init__Ustú€ØˆØ—I‘Iˆ Ü+1«8Ð3ˆÔ˜Lõ 0ô ô ðˆŒ Ü×#Ñ# C¨Ó.ˆŒÜ×#Ñ# D¨$Ó/ˆŒÜ×%Ñ% e¨TÓ2ˆ�
r*N©rr1r2rgr9r*r(rNrNTs„ó3r*rNcó—eZdZd„Zy)Ú
_FifoCachecó8‡‡‡‡‡—iЉ|_t«x|_ЉjЉjŠˆˆfd„}ˆˆˆfd„}ˆfd„}t j ||«|_t j ||«|_t j ||«|_y)Ncó•—‰|‰«SrQr9rRs €€r(rWz _FifoCache.__init__.<locals>.getqrXr*c󀕗|‰|<t‰«‰kDr*‰tt‰«««t‰«‰kDrŒ)yyrQ)rAÚnextÚiter)rSrTr'rZÚ cache_poprbs €€€r(r[z!_FifoCache.__init__.<locals>.set_ts7ø€ØˆE�#‰JÜ�e“*˜tÒ#áœ$œt E›{Ó+Ô,ô�e“*˜tÕ#r*có&•—‰j«yrQr]r_s €r(r^z"_FifoCache.__init__.<locals>.clearzr`r*) rbrarVrWÚpoprcrdrer^) rfrbrWr[r^rZrUrprVs ` @@@@r(rgz_FifoCache.__init__js}ü€ØˆØˆŒ Ü+1«8Ð3ˆÔ˜LØ—I‘Iˆ Ø—I‘Iˆ õ 0ö -ô  ô×#Ñ# C¨Ó.ˆŒÜ×#Ñ# D¨$Ó/ˆŒÜ×%Ñ% e¨TÓ2ˆ�
r*Nrhr9r*r(rjrjis„ó3r*rjcó.—eZdZdZd„Zd„Zd„Zd„Zd„Zy)ÚLRUMemozÑ
A memoizing mapping that retains `capacity` deleted items
The memo tracks retained items by their access order; once `capacity` items
are retained, the least recently used item is discarded.
có.—||_i|_i|_yrQ)Ú _capacityÚ_activeÚ_memory)rfÚcapacitys r(rgzLRUMemo.__init__Šs€Ø!ˆŒØˆŒ ؈� r*có®— |j|S#t$r:|jj|«|j|<|j|cYSwxYwrQ)rwÚKeyErrorrxrr©rfrTs r(Ú __getitem__zLRUMemo.__getitem__�sQ€ð %Ø—<‘< Ñ$Ð $øÜò %Ø $§ ¡ × 0Ñ 0°Ó 5ˆD�L‰L˜Ñ Ø—<‘< Ñ$Ò $ð %ús‚‘AAÁAcóZ—|jj|d«||j|<yrQ)rxrrrw)rfrTr's r(Ú __setitem__zLRUMemo.__setitem__–s$€Ø � ‰ ×ј˜dÔ#Ø!ˆ� ‰ �SÒr*có— |jj|«}t|j«d|jdz }|D]}|jj|«Œ||j|<y#t
$rYywxYw©Nr )rwrrr4rxrvr{)rfrTr'Ú oldest_keysÚ
key_to_deletes r(Ú __delitem__zLRUMemo.__delitem__šs‚€ð &Ø—L‘L×$Ñ$ SÓ)ˆEô˜tŸ|™|Ó,Ð-D°·±À!Ñ1CÐ/DÐEˆKØ!,ò
0�
Ø— ‘ × Ñ  Õ/ð
0à %ˆD�L‰L˜Ò øô
ò Ù ð ús‚A5Á5 BÂBcól—|jj«|jj«yrQ)rwr^rx©rfs r(r^z
LRUMemo.clear¥s"€Ø � ‰ ×ÑÔØ � ‰ ×ÑÕr*N) rr1r2r3rgr}rr„r^r9r*r(rtrt‚s „ñòò
%ò"ò &ór*rtcó—eZdZdZd„Zy)Ú
UnboundedMemoz<
A memoizing mapping that retains all deleted items
có—yrQr9r|s r(r„zUnboundedMemo.__delitem__¯s€Ø r*N)rr1r2r3r„r9r*r(rˆrˆªs „ñó
r*rˆrCcó —dD]}|j|t|z«}Œ|jdd«}|jdd«}t|«S)Nz\^-[]r@z\nú z\t)ÚreplaceÚ_bslashr )rCÚcs r(Ú_escape_regex_range_charsr�³sN€à
ò&ˆØ
�I‰I�aœ 1™Ó %‰ð&à � ‰ �$˜Ó€AØ � ‰ �$˜Ó€AÜ ˆq‹6€Mr*có(—eZdZdZdd„Zdedefd„Zy)Ú_GroupConsecutiveaû
Used as a callable `key` for itertools.groupby to group
characters that are consecutive:
.. testcode::
from itertools import groupby
from pyparsing.util import _GroupConsecutive
grouped = groupby("abcdejkmpqrs", key=_GroupConsecutive())
for index, group in grouped:
print(tuple([index, list(group)]))
prints:
.. testoutput::
(0, ['a', 'b', 'c', 'd', 'e'])
(1, ['j', 'k'])
(2, ['m'])
(3, ['p', 'q', 'r', 's'])
r>NcóR—d|_tj«|_d|_y)Nréÿÿÿÿ)ÚprevÚ itertoolsrFÚcounterr'r†s r(rgz_GroupConsecutive.__init__Ôs€ØˆŒ Ü —‘Ó(ˆŒ ؈�
r*Úcharcóœ—t|«}||jc|_}||z
dkDrt|j«|_|jSr�)Úordr”rnr–r')rfr—Úc_intr”s r(Ú__call__z_GroupConsecutive.__call__ÙsB€Ü�D“ ˆØ §¡ˆˆŒ �4Ø �4‰<˜!Ò Ü˜dŸl™lÓ+ˆDŒJØ�z‰zÐr*)r>N)rr1r2r3rgr Úintr›r9r*r(r‘r‘¼s„ñó.ð
˜Sð Sôr*r‘cóL—t||«ry t|«y#|$rYywxYw)NFT)Ú
isinstancero)ÚobjÚ _str_typeÚ_iter_exceptions r(Ú _is_iterabler¢ás4€ä�#�yÔ!ØðÜ ˆSŒ ðøð òÙðús � ›#¢#rŽcó—|dvrd|›�S|S)Nz\^-][ú\r9)rŽs r(Ú_escape_re_range_charr¥îs€Ø˜H‘}ˆa�ˆsˆ8Ð+¨!Ð+r*TÚ re_escapecó~—|rt}nd„}g}tt|««}t|«dkDr×t j
|t
«¬«D]´\}}t|«x}}tjt«5|�^}}ddd«||k(r|j||««ŒW|tt|«dz«k(r"|j||«›||«›�«Œ“|j||«›d||«›�«Œ¶n|D� cgc]
} || «‘Œ }} dj|«S#1swYŒ­xYwcc} w)a(
Take a string or list of single-character strings, and return
a string of the consecutive characters in that string collapsed
into groups, as might be used in a regular expression '[a-z]'
character set::
'a' -> 'a' -> '[a]'
'bc' -> 'bc' -> '[bc]'
'defgh' -> 'd-h' -> '[d-h]'
'fdgeh' -> 'd-h' -> '[d-h]'
'jklnpqrtu' -> 'j-lnp-rtu' -> '[j-lnp-rtu]'
Duplicates get collapsed out::
'aaa' -> 'a' -> '[a]'
'bcbccb' -> 'bc' -> '[bc]'
'defghhgf' -> 'd-h' -> '[d-h]'
'jklnpqrjjjtu' -> 'j-lnp-rtu' -> '[j-lnp-rtu]'
Spaces are preserved::
'ab c' -> ' a-c' -> '[ a-c]'
Characters that are significant when defining regex ranges
get escaped::
'acde[]-' -> r'\-\[\]ac-e' -> r'[\-\[\]ac-e]'
có—|SrQr9)Ússs r(r/z,_collapse_string_to_ranges.<locals>.<lambda>s€¨"€r*é©rTNr ú-Ú)r¥ÚsortedrerAr•Úgroupbyr‘rnÚ
contextlibÚsuppressr$ÚappendÚchrr™Újoin)
rCr¦Úescape_re_range_charÚretÚs_charsrSÚcharsÚfirstÚlastrŽs
r(Ú_collapse_string_to_rangesr»òsB€ñPÜ4Ñá,Ðà
€Cô ¤ A£›€Gä
ˆ7ƒ|�aÒô"×)Ñ)¨'Ô7HÓ7JÔKò ‰HˆAˆuô  ›;Ð &ˆE�DÜ×$Ñ$¤ZÓ0ñ
!Ø ‘��D÷
!ð˜Š}à—
‘
Ñ/°Ó6Õ7àœœS ›Z¨!™^Ó,Ò,ð—
‘
Ñ2°5Ó9Ð:Ñ;OÐPTÓ;UÐ:VÐWÕXð
—
‘
Ù+¨EÓ2Ð3°1Ñ5IÈ$Ó5OÐ4PÐQõñ) ð<18Ö8¨1Ñ# AÕ&Ð8ˆÐ8à
�7‰7�3‹<Ð÷7
!ð
!üò29sÁ<D.Ä D:Ä.D7 ÚllcóÔ—g}|D]`}t|t«r|j|«Œ%t|t«r|j t |««ŒP|j|«Œb|SrQ)ržr r²rÚextendÚ_flatten)r¼r¶Úis r(r¿r¿JsY€Ø
€CØ
ò ˆô �aœÔ Ø �J‰J�q�MÜ
˜œ8Ô
$Ø �J‰J”x “{Õ #à �J‰J�q�Mð ð €Jr*cóÊ—|dk(ry|j«r#t|«dk(rtt|d««S|j d«rtt|ddd««S|S)NÚ0úré)ÚuÚxr é)ÚisdigitrAr³rœÚ
startswith©rCs r(Ú!_convert_escaped_numerics_to_charrËYsW€ØˆC‚xØØ‡y�y„{”s˜1“v ’{Ü”3�q˜!“9‹~ÐØ
�‰�jÔ !Ü”3�q˜˜�u˜b“>Ó"Ð"Ø €Hr*©Únon_capturing_groupsÚ_levelÚ word_listÚ max_levelrÍrÎc
ó˜—dttfd„}|dk(r|s td«‚d|vrtd«‚|sytij|««}|dk(rpt d„|D««rBd j t
|D�cgc]}tj|«‘Œc}td
¬ ««Sd dj d
„|D««›d�Sg}d}|rdnd}|t
|««D�]Ò\} }
|j|«d }tj| «} d} d|
vrd} |
jd«t|
«dkD�r td„|
D««r0|j| ›d dj d„|
D««›d| ›�«Œ™||kr7tt
|
«|||dz¬«} |j| ›d|›| ›d| ›�«ŒÕtd„|
D««r1|j| ›d dj d„|
D««›d| ›�«�Œ|
jtd
¬ «|j| ›d|›d j d„|
D««›d| ›�«�Œb|
r^tj|
d«}
t|
«dkDr| r|j| ›d|›|
›d| ›�«�Œ©|j| ›|
›| ›�«�ŒÂ|j| «�ŒÕdj |«Scc}w)zì
Create a regular expression string from a list of words, collapsing by common