hyb
2025-11-10 e0a856b5072c5a09f3f6de6da85abf90e00ee704
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
Ë
Iñúh ãó`—ddlZGd„de«ZGd„de«ZGd„de«Zd„Zd    „Zd
„Zy) éNcó"—eZdZdZdZdd„Zd„Zy)ÚCoordzž Coordinates of a syntactic element. Consists of:
            - File name
            - Line number
            - (optional) column number, for the Lexer
    )ÚfileÚlineÚcolumnÚ __weakref__Ncó.—||_||_||_y©N©rrr)Úselfrrrs    úFH:\Change_password\venv_build\Lib\site-packages\pycparser/plyparser.pyÚ__init__zCoord.__init__s€ØˆŒ    ØˆŒ    Øˆ ócóx—|j›d|j›}|jr|d|jzz }|S)Nú:z:%sr )r Ústrs  r Ú__str__z Coord.__str__s2€ØŸ› D§I¢IÐ.ˆØ ;Š;˜˜u t§{¡{Ñ2Ñ2˜Øˆ
rr
)Ú__name__Ú
__module__Ú __qualname__Ú__doc__Ú    __slots__rr©rr rr s„ñð
:€Ióó
rrcó —eZdZy)Ú
ParseErrorN)rrrrrr rrs…rrcó&—eZdZd„Zdd„Zd„Zd„Zy)Ú    PLYParsercó‚—|dz}d„}|›d|›|_d|z|_t|j|j|«y)zŽ Given a rule name, creates an optional ply.yacc rule
            for it. The name of the optional rule is
            <rulename>_opt
        Ú_optcó—|d|d<y)Nérr)r Úps  r Úoptrulez+PLYParser._create_opt_rule.<locals>.optrule*s€ØQ‘4ˆAˆaŠDrz  : empty
| zp_%sN)rrÚsetattrÚ    __class__)r ÚrulenameÚoptnamer#s    r Ú_create_opt_rulezPLYParser._create_opt_rule#sD€ð
˜VÑ#ˆò    ò18¹ÐBˆŒØ! GÑ+ˆÔܐ—‘ × 0Ñ 0°'Õ:rNcóF—t|jj||¬«S)Nr )rÚclexÚfilename)r Úlinenors   r Ú_coordzPLYParser._coord1s"€ÜØ—Y‘Y×'Ñ'ØØôð    rcóú—|jjjjdd|j|««}|dkrd}|j|«|z
}|j    |j |«|«S)z× Returns the coordinates for the YaccProduction object 'p' indexed
            with 'token_idx'. The coordinate includes the 'lineno' and
            'column'. Both follow the lex semantic, starting from 1.
        ú
réÿÿÿÿ)ÚlexerÚlexdataÚrfindÚlexposr-r,)r r"Ú    token_idxÚlast_crrs     r Ú _token_coordzPLYParser._token_coord7sh€ð
—'‘'—-‘-×'Ñ'×-Ñ-¨d°A°q·x±xÀ    Ó7JÓKˆØ QŠ;؈GØ—(‘(˜9Ó%¨Ñ1ˆØ{‰{˜1Ÿ8™8 IÓ.°Ó7Ð7rcó"—t|›d|›«‚)Nz: )r)r ÚmsgÚcoords   r Ú _parse_errorzPLYParser._parse_errorBs€Ü¢U©CÐ0Ó1Ð1rr
)rrrr(r-r7r;rrr rr"s„ò ;óò     8ó2rrcó‡—ˆfd„}|S)aÞ Decorator to create parameterized rules.
 
    Parameterized rule methods must be named starting with 'p_' and contain
    'xxx', and their docstrings may contain 'xxx' and 'yyy'. These will be
    replaced by the given parameter tuples. For example, ``p_xxx_rule()`` with
    docstring 'xxx_rule  : yyy' when decorated with
    ``@parameterized(('id', 'ID'))`` produces ``p_id_rule()`` with the docstring
    'id_rule  : ID'. Using multiple tuples produces multiple rules.
    có•—‰|_|Sr
)Ú_params)Ú    rule_funcÚparamss €r Údecoratezparameterized.<locals>.decoratePsø€Ø"ˆ    ÔØÐrr)r@rAs` r Ú parameterizedrBFsø€ôð €Orcó —d}t|«D]s}|jd«sŒt||«}t|d«sŒ.t    ||«|j
 t ||«ŒS|rŒVtjdtd¬«d}Œu|S)z Class decorator to generate rules from parameterized rule templates.
 
    See `parameterized` for more information on parameterized rules.
    FÚp_r>z@parsing methods must have __doc__ for pycparser to work properlyé)Ú
stacklevelT)
ÚdirÚ
startswithÚgetattrÚhasattrÚdelattrrÚ_create_param_rulesÚwarningsÚwarnÚRuntimeWarning)ÚclsÚissued_nodoc_warningÚ    attr_nameÚmethods    r ÚtemplaterTVsˆ€ð
!Ðܘ“Xò0ˆ    Ø × Ñ  Õ %ܘS )Ó,ˆFܐv˜yÕ)䘘YÔ'ð—>‘>Ð-Ü'¨¨VÕ4Ú-Ü—M‘MØZÜ&Ø#$õ&ð,0Ñ(ð)0ð* €Jrcó
‡—‰jD]s\}}ˆfd„}‰jjd|«jd|«|_‰jjd|«|_t    ||j|«Œuy)a Create ply.yacc rules based on a parameterized rule function
 
    Generates new methods (one per each pair of parameters) based on the
    template rule function `func`, and attaches them to `cls`. The rule
    function's parameters must be accessible via its `_params` attribute.
    có•—‰||«yr
r)r r"Úfuncs  €r Ú
param_rulez'_create_param_rules.<locals>.param_rule}s ø€Ù qMrÚxxxÚyyyN)r>rÚreplacerr$)rPrWrYrZrXs `   r rLrLtsvø€ð—L‘Lò
6‰ˆˆSô    ð"Ÿ\™\×1Ñ1°%¸Ó=×EÑEÀeÈSÓQˆ
ÔØ"Ÿm™m×3Ñ3°E¸3Ó?ˆ
Ôô    Z×(Ñ(¨*Õ5ñ
6r)    rMÚobjectrÚ    ExceptionrrrBrTrLrrr ú<module>r^s<ðóôˆFôô$"Ô!ô!2ô!2òH ò ó<6r