€•¯pŒsphinx.addnodes”Œdocument”“”)”}”(Œ rawsource”Œ”Œchildren”]”(Œ translations”Œ LanguagesNode”“”)”}”(hhh]”(hŒ pending_xref”“”)”}”(hhh]”Œdocutils.nodes”ŒText”“”ŒChinese (Simplified)”…””}”Œparent”hsbaŒ attributes”}”(Œids”]”Œclasses”]”Œnames”]”Œdupnames”]”Œbackrefs”]”Œ refdomain”Œstd”Œreftype”Œdoc”Œ reftarget”Œ$/translations/zh_CN/tools/kabi_regex”Œmodname”NŒ classname”NŒ refexplicit”ˆuŒtagname”hhh ubh)”}”(hhh]”hŒChinese (Traditional)”…””}”hh2sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ$/translations/zh_TW/tools/kabi_regex”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒItalian”…””}”hhFsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ$/translations/it_IT/tools/kabi_regex”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒJapanese”…””}”hhZsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ$/translations/ja_JP/tools/kabi_regex”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒKorean”…””}”hhnsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ$/translations/ko_KR/tools/kabi_regex”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒPortuguese (Brazilian)”…””}”hh‚sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ$/translations/pt_BR/tools/kabi_regex”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒSpanish”…””}”hh–sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ$/translations/sp_SP/tools/kabi_regex”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubeh}”(h]”h ]”h"]”h$]”h&]”Œcurrent_language”ŒEnglish”uh1h hhŒ _document”hŒsource”NŒline”NubhŒcomment”“”)”}”(hŒ SPDX-License-Identifier: GPL-2.0”h]”hŒ SPDX-License-Identifier: GPL-2.0”…””}”hh·sbah}”(h]”h ]”h"]”h$]”h&]”Œ xml:space”Œpreserve”uh1hµhhh²hh³Œ>/var/lib/git/docbuild/linux/Documentation/tools/kabi_regex.rst”h´KubhŒsection”“”)”}”(hhh]”(hŒtitle”“”)”}”(hŒABI regex search symbol class”h]”hŒABI regex search symbol class”…””}”(hhÏh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhhÊh²hh³hÇh´KubhŒindex”“”)”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(Œpair”Œ module; lib.python.abi.abi_regex”Œmodule-lib.python.abi.abi_regex”hNt”auh1hÝhhÊh²hh³Œt/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/abi/abi_regex.py:docstring of lib.python.abi.abi_regex”h´NubhŒ paragraph”“”)”}”(hŒ)Convert ABI what into regular expressions”h]”hŒ)Convert ABI what into regular expressions”…””}”(hhñh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hïh³hîh´KhhÊh²hubhÞ)”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(Œsingle”Œ,AbiRegex (class in lib.python.abi.abi_regex)”Œ!lib.python.abi.abi_regex.AbiRegex”hNt”auh1hÝhhÊh²hh³Nh´NubhŒdesc”“”)”}”(hhh]”(hŒdesc_signature”“”)”}”(hŒAbiRegex(*args, **kwargs)”h]”(hŒdesc_annotation”“”)”}”(hŒ2[<#text: 'class'>, >]”h]”(hŒclass”…””}”(hjh²hh³Nh´NubhŒdesc_sig_space”“”)”}”(hŒ ”h]”hŒ ”…””}”(hj%h²hh³Nh´Nubah}”(h]”h ]”Œw”ah"]”h$]”h&]”uh1j#hjubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhjh²hh³Œ}/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/abi/abi_regex.py:docstring of lib.python.abi.abi_regex.AbiRegex”h´KubhŒ desc_addname”“”)”}”(hŒlib.python.abi.abi_regex.”h]”hŒlib.python.abi.abi_regex.”…””}”(hj=h²hh³Nh´Nubah}”(h]”h ]”(Œ sig-prename”Œ descclassname”eh"]”h$]”h&]”hÅhÆuh1j;hjh²hh³j:h´KubhŒ desc_name”“”)”}”(hŒAbiRegex”h]”hŒAbiRegex”…””}”(hjOh²hh³Nh´Nubah}”(h]”h ]”(Œsig-name”Œdescname”eh"]”h$]”h&]”hÅhÆuh1jMhjh²hh³j:h´KubhŒdesc_parameterlist”“”)”}”(hŒ*args, **kwargs”h]”(hŒdesc_parameter”“”)”}”(hŒ*args”h]”(hŒdesc_sig_operator”“”)”}”(hŒ*”h]”hŒ*”…””}”(hjmh²hh³Nh´Nubah}”(h]”h ]”Œo”ah"]”h$]”h&]”uh1jkhjgubhŒ desc_sig_name”“”)”}”(hŒargs”h]”hŒargs”…””}”(hj~h²hh³Nh´Nubah}”(h]”h ]”Œn”ah"]”h$]”h&]”uh1j|hjgubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jehjaubjf)”}”(hŒ**kwargs”h]”(jl)”}”(hŒ**”h]”hŒ**”…””}”(hj—h²hh³Nh´Nubah}”(h]”h ]”jxah"]”h$]”h&]”uh1jkhj“ubj})”}”(hŒkwargs”h]”hŒkwargs”…””}”(hj¥h²hh³Nh´Nubah}”(h]”h ]”j‰ah"]”h$]”h&]”uh1j|hj“ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jehjaubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j_hjh²hh³j:h´Kubeh}”(h]”j ah ]”(Œsig”Œ sig-object”eh"]”h$]”h&]”Œmodule”Œlib.python.abi.abi_regex”Œclass”hŒfullname”jQŒ _toc_parts”jÈjQ†”Œ _toc_name”jQuh1jh³j:h´Khjh²hubhŒ desc_content”“”)”}”(hhh]”(hð)”}”(hŒ,Bases: :py:class:`~abi.abi_parser.AbiParser`”h]”(hŒBases: ”…””}”(hjÓh²hh³Nh´Nubh)”}”(hŒ%:py:class:`~abi.abi_parser.AbiParser`”h]”hŒliteral”“”)”}”(hjÝh]”hŒ AbiParser”…””}”(hjáh²hh³Nh´Nubah}”(h]”h ]”(Œxref”Œpy”Œpy-class”eh"]”h$]”h&]”uh1jßhjÛubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”Œtools/kabi_regex”Œ refdomain”jìŒreftype”Œclass”Œ refexplicit”‰Œrefwarn”‰Œ py:module”jÈŒpy:class”jQŒ reftarget”Œabi.abi_parser.AbiParser”uh1hh³Œt/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/abi/abi_regex.py:docstring of lib.python.abi.abi_regex”h´KhjÓubeh}”(h]”h ]”h"]”h$]”h&]”uh1hïh³Œ}/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/abi/abi_regex.py:docstring of lib.python.abi.abi_regex.AbiRegex”h´KhjÐh²hubhð)”}”(hŒ?Extends AbiParser to search ABI nodes with regular expressions.”h]”hŒ?Extends AbiParser to search ABI nodes with regular expressions.”…””}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hïh³Œ}/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/abi/abi_regex.py:docstring of lib.python.abi.abi_regex.AbiRegex”h´KhjÐh²hubhð)”}”(hŒçThere some optimizations here to allow a quick symbol search: instead of trying to place all symbols altogether an doing linear search which is very time consuming, create a tree with one depth, grouping similar symbols altogether.”h]”hŒçThere some optimizations here to allow a quick symbol search: instead of trying to place all symbols altogether an doing linear search which is very time consuming, create a tree with one depth, grouping similar symbols altogether.”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hïh³jh´KhjÐh²hubhð)”}”(hŒ{Yet, sometimes a full search will be needed, so we have a special branch on such group tree where other symbols are placed.”h]”hŒ{Yet, sometimes a full search will be needed, so we have a special branch on such group tree where other symbols are placed.”…””}”(hj'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hïh³jh´KhjÐh²hubhÞ)”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ\\]]'), '(\\1|\\2)'), (re.compile('([^\\/])\\*'), '\\1\\\\w÷'), (re.compile('/\\*/'), '/.*/'), (re.compile('/\\xf6\\xf6\\xf6'), '/.*'), (re.compile('\\<[^\\>]+\\>'), '\\\\w÷'), (re.compile('\\{[^\\}]+\\}'), '\\\\w÷'), (re.compile('\\[[^\\]]+\\]'), '\\\\w÷'), (re.compile('XX+'), '\\\\w÷'), (re.compile('(?\\]]'), '(\\1|\\2)'), (re.compile('([^\\/])\\*'), '\\1\\\\w÷'), (re.compile('/\\*/'), '/.*/'), (re.compile('/\\xf6\\xf6\\xf6'), '/.*'), (re.compile('\\<[^\\>]+\\>'), '\\\\w÷'), (re.compile('\\{[^\\}]+\\}'), '\\\\w÷'), (re.compile('\\[[^\\]]+\\]'), '\\\\w÷'), (re.compile('XX+'), '\\\\w÷'), (re.compile('(?