o �J�hN#�@s dZddlmZGdd�de�Zeddddd�Zd ZejZeZd Zdd l Tdd l Tdd l Tdd l m Z mZdd lTdd l Tdd l mZdd lTdd lmZddlmZmZmZddlmZddlmZmZde�vrleZde�vrseZde�vrzeZeee7Zgd�ZdS)a pyparsing module - Classes and methods to define and execute parsing grammars ============================================================================= The pyparsing module is an alternative approach to creating and executing simple grammars, vs. the traditional lex/yacc approach, or the use of regular expressions. With pyparsing, you don't need to learn a new syntax for defining grammars or matching expressions - the parsing module provides a library of classes that you use to construct the grammar directly in Python. Here is a program to parse "Hello, World!" (or any greeting of the form ``"<salutation>, <addressee>!"``), built up using :class:`Word`, :class:`Literal`, and :class:`And` elements (the :meth:`'+'<ParserElement.__add__>` operators create :class:`And` expressions, and the strings are auto-converted to :class:`Literal` expressions):: from pyparsing import Word, alphas # define grammar of a greeting greet = Word(alphas) + "," + Word(alphas) + "!" hello = "Hello, World!" print(hello, "->", greet.parse_string(hello)) The program outputs the following:: Hello, World! -> ['Hello', ',', 'World', '!'] The Python representation of the grammar is quite readable, owing to the self-explanatory class names, and the use of :class:`'+'<And>`, :class:`'|'<MatchFirst>`, :class:`'^'<Or>` and :class:`'&'<Each>` operators. The :class:`ParseResults` object returned from :class:`ParserElement.parse_string` can be accessed as a nested list, a dictionary, or an object with named attributes. The pyparsing module handles some of the problems that are typically vexing when writing text parsers: - extra or missing whitespace (the above program will also handle "Hello,World!", "Hello , World !", etc.) - quoted strings - embedded comments Getting Started - ----------------- Visit the classes :class:`ParserElement` and :class:`ParseResults` to see the base classes that most other pyparsing classes inherit from. Use the docstrings for examples of how to: - construct literal match expressions from :class:`Literal` and :class:`CaselessLiteral` classes - construct character word-group expressions using the :class:`Word` class - see how to create repetitive expressions using :class:`ZeroOrMore` and :class:`OneOrMore` classes - use :class:`'+'<And>`, :class:`'|'<MatchFirst>`, :class:`'^'<Or>`, and :class:`'&'<Each>` operators to combine simple expressions into more complex ones - associate names with your parsed results using :class:`ParserElement.set_results_name` - access the parsed data, which is returned as a :class:`ParseResults` object - find some helpful expression short-cuts like :class:`DelimitedList` and :class:`one_of` - find more useful common expressions in the :class:`pyparsing_common` namespace class �)� NamedTuplec@sReZdZUeed<eed<eed<eed<eed<edd��Zdd �Zd d �Z d S) � version_info�major�minor�micro� releaselevel�serialcCsR|j�d|j�d|j��|jddkrdnd�|jd�|j��df|jdkS)N�.r�c�r��final)rrrrr��self�r�PC:\pinokio\api\whisper-webui.git\app\env\lib\site-packages\pyparsing\__init__.py� __version__js(����zversion_info.__version__cCst�d|j�dt��S)N� z / )�__name__r�__version_time__rrrr�__str__tszversion_info.__str__c Cs4t�dt|�j�dd�dd�t|j|�D���d�S)Nr �(z, css�|]}dj|�VqdS)z{}={!r}N)�format)�.0�nvrrr� <genexpr>xs�z(version_info.__repr__.<locals>.<genexpr>�))r�type�join�zip�_fieldsrrrr�__repr__ws4zversion_info.__repr__N) r� __module__� __qualname__�int�__annotations__�str�propertyrrr!rrrrrcs   r��r �z25 Mar 2025 01:38 UTCz+Paul McGuire <ptmcg.gm+pyparsing@gmail.com>)�*)�__diag__� __compat__)�_builtin_exprs)� unicode_set�UnicodeRangeList�pyparsing_unicode)�pyparsing_test)�pyparsing_commonr.r1r3r2)�rr� __author__r-r,�And� AtLineStart� AtStringStart�CaselessKeyword�CaselessLiteral� CharsNotIn� CloseMatch�CombineZ DelimitedList�Dict�Each�Empty� FollowedBy�Forward� GoToColumn�Group� IndentedBlock�Keyword�LineEnd� LineStart�Literal�Located� PrecededBy� MatchFirst�NoMatch�NotAny� OneOrMore�OnlyOnce�OpAssoc�Opt�Optional�Or�ParseBaseException�ParseElementEnhance�ParseException�ParseExpression�ParseFatalException� ParseResults�ParseSyntaxException� ParserElement� PositionToken� QuotedString�RecursiveGrammarException�Regex�SkipTo� StringEnd� StringStart�Suppress�Tag�Token�TokenConverter�White�Word�WordEnd� WordStart� ZeroOrMore�Char� alphanums�alphas� alphas8bit� any_close_tag� any_open_tag�autoname_elements�c_style_comment�col�common_html_entity�condition_as_parse_action� counted_array�cpp_style_comment�dbl_quoted_string�dbl_slash_comment�delimited_list�dict_of�empty�hexnums� html_comment� identchars�identbodychars�infix_notation�java_style_comment�line�line_end� line_start�lineno�make_html_tags� make_xml_tags�match_only_at_col�match_previous_expr�match_previous_literal� nested_expr�null_debug_action�nums�one_of�original_text_for� printables�punc8bitr3r2r1�python_style_comment� quoted_string� remove_quotes� replace_with�replace_html_entity� rest_of_line�sgl_quoted_string�srange� string_end� string_start� token_map�trace_parse_action�ungroupr/�unicode_string�with_attribute� with_class�__versionTime__� anyCloseTag� anyOpenTag� cStyleComment�commonHTMLEntity�conditionAsParseAction� countedArray�cppStyleComment�dblQuotedString�dblSlashComment� delimitedList�dictOf� htmlComment� indentedBlock� infixNotation�javaStyleComment�lineEnd� lineStart� locatedExpr� makeHTMLTags� makeXMLTags�matchOnlyAtCol�matchPreviousExpr�matchPreviousLiteral� nestedExpr�nullDebugAction�oneOf�opAssoc�originalTextFor�pythonStyleComment� quotedString� removeQuotes�replaceHTMLEntity� replaceWith� restOfLine�sglQuotedString� stringEnd� stringStart�tokenMap�traceParseAction� unicodeString� withAttribute� withClass�common�unicode�testingN)�__doc__�typingrr�__version_info__rrr�r4�util� exceptions�actions�corer,r-�resultsr.�core_builtin_exprs�helpers�helper_builtin_exprsr�r/r0r1r�r2r�r3�common_builtin_exprs�globals�__all__rrrr�<module>s8 G        
Memory