+
    iCb                       a  R t[0 t ^ RIt^ RIHt ^ RIHt ^ RIHtHtH	t	H
t
Ht ]! RR7       ! R R4      4       t ! R	 R
4      tRt] ^ k / t] ^k ] F  t]P#                  R4      '       dc   ]! ]4      ^8  dV   ]^,          P'                  4       '       d9   ]]]R,          P)                  4       ]R,          P+                  4       ,           &   K|  ]]]P+                  4       &   K  	  RtRtRtRtRtRtR],           R,           ],           R,           tR],           t]],           ],           t]],           ],           tRt Rt!Rt"Rt#Rt$Rt%Rt&R]#,           R ,           ]$,           R ,           ]%,           R!,           t'R"t(R#]',           R,           t)R$]),           R$,           t*R%]*,           t+R&]*,           t,R']*,           t-R(]*,           t.R$]),           R),           t/R*]),           R+,           ]),           R,,           t0R*]),           R-,           ]&,           R.,           t1R/](,           R,           t2R0]2,           R1,           t3R%]3,           t4R&]3,           t5R']3,           t6R(]3,           t7R0]2,           R2,           ]&,           ]2,           R1,           t8R3t9R4t:R5]:,           R,           ]9,           R6,           ]9,           R7,           t;R8t<R9],           R:,           ],           R;,           ],           R<,           t=R=],           R=,           ],           R ,           ]=,           R,           ]<,           R>,           t> ! R? R@]4      t?]! RRA7       ! RB RC4      4       t@]@! RD]!]?P                  RE4      ]@! RF]"]?P                  RE4      ]@! RG]8]?P                  RH4      ]@! RI]4]?P                  R4      ]@! RJ]5]?P                  R4      ]@! RK]6]?P                  R4      ]@! RL]7]?P                  R4      ]@! RM]3]?P                  R4      ]@! RN]>]?P                  R4      ]@! RO];]?P                  R4      ]@! RP]]?P                  R4      ]@! RQ]]?P                  R4      ]@! RR] ]?P                  RS4      ]@! RT]]?P                  R4      ]@! RU]]?P                  R4      ]@! RV]/]?P                  R4      ]@! RW]*]?P                  R4      ]@! RX]+]?P                  R4      ]@! RY],]?P                  R4      ]@! RZ]-]?P                  R4      ]@! R[].]?P                  R4      ]@! R\]0]?P                  R]4      ]@! R^]1]?P                  R4      ]@! R_]]?P                  R4      .tD] ^k / tE] ^k . tF] ^k ]D FT  tG]GP                  ]GP                  3]E]GP                  &   ]FP                  R`]GP                   Ra]GP                   R24       KV  	  ]P                  ! R P                  ]F4      4      tO] ^k ]! RRA7       ! Rb Rc4      4       tP. ]P! RdRe4      N]P! RfRg4      N]P! RhRi4      N]P! RjRk4      N]P! RlRm4      N]P! RnRo4      N]P! RpRq4      N]P! RrRs4      N]P! RtRu4      N]P! RvRw4      N]P! RxRy4      N]P! RzR{4      N]P! R|R}4      N]P! R~R4      N]P! RR4      N]P! RR4      N]P! RR4      N]P! RR4      N]P! RR4      N]P! RR4      N]P! RR4      N]P! RR4      N]P! RR4      N]P! RR4      N]P! RR4      N]P! RR24      N]P! RR4      N]P! RR4      N]P! RR 4      N]P! RR4      N]P! RR4      N]P! RR4      N]P! RR4      N]P! RR4      N]P! RRa4      N]P! RR4      N]P! RR=4      N]P! RR4      N]P! RR4      N]P! RR4      N]P! RR4      N]P! RR4      N]P! RR4      N]P! RR4      N]P! RR4      N]P! RR4      NtQ] ^k / tR] ^k ]Q F5  tS]RP                  ]SP                  ^ ,          . 4      P                  ]S4       K7  	  ]RP                  4        F  tW]WP                  R RR7       K  	  ]P                  ! R4      tY] ^k ]P                  ! R4      tZ] ^	k R# )    N)	dataclass)Enum)CallableDictListOptionalTupleT)slotsc                   ,   a  ] tR t^t o V 3R ltRtV tR# )_Tokenc                J   < V ^8  d   Qh/ S[ ;R&   S[ ;R&   S[;R&   S[;R&   # )   typevaluelinenocolumnstrint)format__classdict__s   "X/home/wkmabra/.openclaw/workspace/venv/lib/python3.14/site-packages/pycparser/c_lexer.py__annotate___Token.__annotate__   s3     
I  J  K	 
 K      N__name__
__module____qualname____firstlineno____annotate_func____static_attributes____classdictcell__r   s   @r   r   r            r   r   c                      a  ] tR t^t o RtV 3R lR ltRV 3R lR lltV 3R lR lt]V 3R lR	 l4       t	V 3R
 lR lt
V 3R lR ltV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR ltRtV tR# )CLexera_  A standalone lexer for C.

Parameters for construction:
    error_func:
        Called with (msg, line, column) on lexing errors.
    on_lbrace_func:
        Called when an LBRACE token is produced (used for scope tracking).
    on_rbrace_func:
        Called when an RBRACE token is produced (used for scope tracking).
    type_lookup_func:
        Called with an identifier name; expected to return True if it is
        a typedef name and should be tokenized as TYPEID.

Call input(text) to initialize lexing, and then keep calling token() to
get the next token, until it returns None (at end of input).
c          
         < V ^8  d   QhRS[ S[S[S[.R3,          RS[ . R3,          RS[ . R3,          RS[ S[.S[3,          RR/# )r   
error_funcNon_lbrace_funcon_rbrace_functype_lookup_funcreturn)r   r   r   bool)r   r   s   "r   r   CLexer.__annotate__)   sj      c3_d23 !T* !T*	
 #C5$;/ 
r   c                V    Wn         W n        W0n        W@n        V P	                  4        R # N)r*   r+   r,   r-   _init_state)selfr*   r+   r,   r-   s   &&&&&r   __init__CLexer.__init__)   s'     %,, 0r   c                *   < V ^8  d   QhRS[ RS[ RR/# )r   textfilenamer.   Nr   )r   r   s   "r   r   r0   6   s"     " "# " "d "r   c                >    V P                  4        Wn        W n        R# )zInitialize the lexer to the given input text.

filename is an optional name identifying the file from which the input
comes. The lexer can modify it if #line directives are encountered.
N)r3   _lexdata	_filename)r4   r8   r9   s   &&&r   inputCLexer.input6   s     	!r   c                   < V ^8  d   QhRR/# r   r.   Nr   )r   r   s   "r   r   r0   @   s      T r   c                Z    R V n         R V n        ^ V n        ^ V n        RV n        ^V n        R# ) N)r<   r=   _pos_line_start_pending_tok_linenor4   s   &r   r3   CLexer._init_state@   s.    	.2r   c                    < V ^8  d   QhRS[ /# r   r.   r:   )r   r   s   "r   r   r0   I   s      # r   c                    V P                   # r2   )r=   rH   s   &r   r9   CLexer.filenameH   s    ~~r   c                0   < V ^8  d   QhRS[ S[,          /# rK   r   r   )r   r   s   "r   r   r0   L   s     ?! ?!x' ?!r   c                @   V P                   p\        V4      pV P                  e   V P                  pR V n        V# V P                  V8  Ed   WP                  ,          ;;R8X  d   M
;R8X  d   M M  V ;P                  ^,          un        KS  ;R8X  dG    V ;P                  ^,          un        V ;P                  ^,          un        V P                  V n        K  R8X  Ed   \        P                  WP                  ^,           4      '       d,   V ;P                  ^,          un        V P                  4        K  \        P                  WP                  ^,           4      '       dd   V ;P                  ^,          un        V P                  4       p\        V4      ^8  d   V^,          V n        \        V4      ^ 8  d
   V^ ,          # EK  V P                  RRV P                  4      pV ;P                  ^,          un        V#  V P                  4       ;p'       d   V# EK  R # )N 	
#PPHASH)r<   lenrF   rD   rG   rE   _line_patternmatch_handle_ppline_pragma_pattern_handle_pppragma_make_token_match_token)r4   r8   ntoktokss   &    r   tokenCLexer.tokenL   sv   6 }}I(##C $DJii!myy/S4ZIINILLA%LIINI'+yyD$$**4Q??		Q	++- &,,T99q=AA		Q	#446t9q=04QD-t9q=#'7N **8S$))DCIINIJ"//11s1"
 9 r   c                0   < V ^8  d   QhRS[ S[,          /# rK   rO   )r   r   s   "r   r   r0      s     K Khv. Kr   c                   V P                   pV P                  pRp\        P                  W4      ;p'       dC   VP                  pVf   Q hVP                  V4      p\        V4      p\        V,          w  rWuWhV	3p\        P                  W,          4      ;p
'       d}   V
 Fv  pVP                  VP                  V4      '       g   K'  \        VP                  4      pVe   Ws^ ,          8  d*   VVP                  VP                  \        P                  R3p M	  VfA   R\        W,          4       2p	V P!                  W4       V ;P                  ^,          un        R# Vw  rurhp	V\        P"                  8X  dI   VR8X  d   RV 2p	V	f   Q hV P!                  W4       V ;P                  \%        ^V4      ,          un        R# V\        P&                  8X  d7   \(        P                  VR4      pVR8X  d   V P+                  V4      '       d   RpV P-                  WVV4      pV ;P                  V,          un        VP.                  R8X  d   V P1                  4        V# VP.                  R8X  d   V P3                  4        V# )	zMatch one token at the current position.

Returns a Token on success, or None if no token could be matched and
an error was reported. This method always advances _pos by the matched
length, or by 1 on error/no-match.
NzIllegal character BAD_CHAR_CONSTzInvalid char constant IDTYPEIDLBRACERBRACE)r<   rD   _regex_masterrX   	lastgroupgrouprV   _regex_actions_fixed_tokens_by_firstget
startswithliteraltok_type_RegexActionTOKENrepr_errorERRORmaxrf   _keyword_mapr-   r\   r   r+   r,   )r4   r8   posbestmrr   r   lengthactionmsgbucketentryr_   s   &            r   r]   CLexer._match_token   s    }}ii ##D..1.{{H'''GGH%EZF(2KFeS9D+//	::6:??5==#66 /F|vQ'7"!NN!MM(..      <&tDI&78CKK!IINI/3,%\'''++.ug6?"?KK!IIQ'I\__$#''t4H4D$9$9%$@$@#x4		V	88x! 
 XX!!
r   c                2   < V ^8  d   QhRS[ RS[ RS[RS[/# )r   rr   r   rz   r.   )r   r   r   )r   r   s   "r   r   r0      s)     	 	C 	 	# 	& 	r   c                f    W0P                   ,
          ^,           p\        WV P                  V4      pV# )a  Create a Token at an absolute input position.

Expects tok_type/value and the absolute byte offset pos in the current
input. Does not advance lexer state; callers manage _pos themselves.
Returns a Token with lineno/column computed from current line tracking.
)rE   r   rG   )r4   rr   r   rz   r   r_   s   &&&&  r   r\   CLexer._make_token   s.     '''!+XdllF;
r   c                *   < V ^8  d   QhRS[ RS[RR/# )r   r   rz   r.   Nr   )r   r   s   "r   r   r0      s"     3 3# 3C 3D 3r   c                p    W P                   ,
          ^,           pV P                  WP                  V4       R#    N)rE   r*   rG   )r4   r   rz   r   s   &&& r   rv   CLexer._error   s'    '''!+\\62r   c                   < V ^8  d   QhRR/# rA   r   )r   r   s   "r   r   r0      s     `& `& `&r   c                  a a	a
aa S P                   p\        V4      pVP                  R S P                  4      o
S
R8X  d   Vo
VS P                  S
 o	^ o\        S	4      oR V	VV3R llpV! 4        S	P	                  RS4      '       d
   S^,          oR V
VV 3R llpR V
V 3R llpV! 4        SS8  d   V! RR4       R# S	S,          R	8X  d   V! R
S4       R# \
        P                  ! \        S	SR 4      pV'       g   V! RS4       R# VP                  ^ 4      pS\        V4      ,          oV! 4        SS8  d   V! VR4       R# S	S,          R	8w  d   V! RS4       R# \
        P                  ! \        S	SR 4      pV'       g   V! RS4       R# VP                  ^ 4      P                  R	4      P                  R	4      pS\        VP                  ^ 4      4      ,          o V! 4        SS8  d   MT\
        P                  ! \        S	SR 4      pV'       g   V! RS4       R# S\        VP                  ^ 4      4      ,          oKd  V! Wx4       R# )rS   c                    V ^8  d   QhRR/# rA   r   )r   s   "r   r   +CLexer._handle_ppline.<locals>.__annotate__  s     	 	 	r   c                  L   < SS8  d   S S,          R 9   d   S^,          oK   R# R# ) 	Nr   )lineline_lenrz   s   r   skip_ws&CLexer._handle_ppline.<locals>.skip_ws  s%    .T#Y%%7q &8.r   r   c                `    V ^8  d   QhR\         \        ,          R\         \        ,          RR/# )r   pp_linepp_filenamer.   N)r   r   )r   s   "r   r   r     s)     	) 	)Xc] 	)# 	)4 	)r   c                    < V f%   SP                  RSP                  S,           4       M\        V 4      Sn        Ve   VSn        S^,           Sn        SP                  Sn        R # )Nzline number missing in #line)rv   rD   r   rG   r=   rE   )r   r   line_endr   r4   s   &&r   success&CLexer._handle_ppline.<locals>.success  sO    :DII<PQ"7|*%0DN 1DI#yyDr   c                4    V ^8  d   QhR\         R\        RR/# )r   r   offsetr.   Nr   )r   s   "r   r   r     s!     	) 	)c 	)3 	)4 	)r   c                    < SP                  V SP                  V,           4       S^,           Sn        SP                  Sn        R# r   )rv   rD   rE   )r   r   r   r4   s   &&r   fail#CLexer._handle_ppline.<locals>.fail  s1    KKTYY/0 1DI#yyDr   N"z$filename before line number in #linezinvalid #line directive)r<   rV   findrD   rp   rerX   _decimal_constantrl   _string_literallstriprstrip)r4   r8   r^   r   r   r   r|   r   r   r   r   r   rz   s   f        @@@@r   rY   CLexer._handle_ppline   s   ( }}I99T499-r>HDII)t9	 	
 		??63''1HC	) 	)	) 	)
 		(?D$97=HH&ST
3*C0''!*s7|	(?GT"9*C0HH_d34j1*C0ggaj'',33C8s1771: Ih*DJ7A.43qwwqz?"C%r   c                0   < V ^8  d   QhRS[ S[,          /# rK   )r   r   )r   r   s   "r   r   r0   K  s     * *$v, *r   c                   V P                   p\        V4      pV P                  pW28  d   W,          R 9   d   V^,          pK  W28  d	   W0n        . # VP                  RV4      '       g#   V P	                  RV4       V^,           V n        . # TpV\        R4      ,          pV P                  RRV4      .pW28  d   W,          R 9   d   V^,          pK  TpW28  d   W,          R8w  d   V^,          pK  W68  d%   VP                  V P                  RWV V4      4       W28  d6   W,          R8X  d)   V ;P                  ^,          un        V^,          pW0n        W0n        V# )r   pragmazinvalid #pragma directivePPPRAGMArS   PPPRAGMASTR)	r<   rV   rD   rp   rv   r\   appendrG   rE   )r4   r8   r^   rz   
pragma_posr`   starts   &      r   r[   CLexer._handle_pppragmaK  s+    }}Iiig$)u,1HC8IIx--KK3S9aDII
s8}  XzBCg$)u,1HCg$)t+1HC;KK((3OP7tyD(LLAL1HC"	r   )
r=   r<   rE   rG   rF   rD   r*   r+   r,   r-   N)rC   )r   r   r    r!   __doc__r5   r>   r3   propertyr9   ra   r]   r\   rv   rY   r[   r#   r$   r%   s   @r   r(   r(      s     " " "   ?! ?!BK KZ	 	3 3`& `&D* *r   r(   _:Nr   N:r   NNz[a-zA-Z_$][0-9a-zA-Z_$]*z0[xX]z[0-9a-fA-F]+z0[bB]z[01]+zD(([uU]ll)|([uU]LL)|(ll[uU]?)|(LL[uU]?)|([uU][lL])|([lL][uU]?)|[uU])?z(0z)|([1-9][0-9]*)z0[0-7]*z0[0-7]*[89]z\/\*z\/\/z,([a-wyzA-Z._~!=&\^\-\\?'"]|x(?![0-9a-fA-F]))z(\d+)(?!\d)z(x[0-9a-fA-F]+)(?![0-9a-fA-F])z#([\\][^a-zA-Z._~^!=&\^\-\\?'"x0-9])z(\\(|z))z(\\[0-9a-zA-Z._~!=&\^\-\\?'"])z
([^'\\\n]|'Lu8uUz{2,4}'z('z*\n)|('z*$)z[^'
]+')|('')|('z	[^'\n]*')z
([^"\\\n]|r   z*"*z([eE][-+]?[0-9]+)z([0-9]*\.[0-9]+)|([0-9]+\.)z((((z
?)|([0-9]+z
))[FfLl]?)z([pP][+-]?[0-9]+)z(((z)?\.z)|(z\.))(z[FfLl]?)c                   "    ] tR tRt^ t^t^tRtR# )rs   i2  r   N)r   r   r    r!   rt   rf   rw   r#   r   r   r   rs   rs   2  s    E	
BEr   rs   )frozenc                   ,   a  ] tR tRt o V 3R ltRtV tR# )
_RegexRulei8  c                Z   < V ^8  d   Qh/ S[ ;R&   S[ ;R&   S[;R&   S[S[ ,          ;R&   # )r   rr   regex_patternr~   error_message)r   rs   r   )r   r   s   "r   r   _RegexRule.__annotate__8  s<      M      C=  r   r   Nr   r%   s   @r   r   r   8  r&   r   r   UNSUPPORTED_C_STYLE_COMMENTzKComments are not supported, see https://github.com/eliben/pycparser#3using.UNSUPPORTED_CXX_STYLE_COMMENTBAD_STRING_LITERALz#String contains invalid escape codeWSTRING_LITERALU8STRING_LITERALU16STRING_LITERALU32STRING_LITERALSTRING_LITERALHEX_FLOAT_CONSTFLOAT_CONSTINT_CONST_HEXINT_CONST_BINBAD_CONST_OCTzInvalid octal constantINT_CONST_OCTINT_CONST_DECINT_CONST_CHAR
CHAR_CONSTWCHAR_CONSTU8CHAR_CONSTU16CHAR_CONSTU32CHAR_CONSTUNMATCHED_QUOTEzUnmatched 're   rf   z(?P<>c                   ,   a  ] tR tRt o V 3R ltRtV tR# )_FixedTokeni  c                2   < V ^8  d   Qh/ S[ ;R&   S[ ;R&   # )r   rr   rq   r:   )r   r   s   "r   r   _FixedToken.__annotate__  s     M  L r   r   Nr   r%   s   @r   r   r     r&   r   r   ELLIPSISz...LSHIFTEQUALz<<=RSHIFTEQUALz>>=PLUSPLUSz++
MINUSMINUSz--ARROWz->LANDz&&LORz||LSHIFTz<<RSHIFTz>>LEz<=GEz>=EQz==NEz!=
TIMESEQUALz*=DIVEQUALz/=MODEQUALz%=	PLUSEQUALz+=
MINUSEQUALz-=ANDEQUALz&=OREQUALz|=XOREQUALz^=EQUALS=PLUS+MINUS-TIMESDIVIDE/MOD%ORAND&NOT~XOR^LNOT!LT<GTCONDOP?LPARENRPARENLBRACKET[RBRACKET]rh   {ri   }COMMA,PERIOD.SEMI;COLON:c                 ,    \        V P                  4      # r2   )rV   rq   )items   &r   <lambda>r#    s    #dll"3r   )keyreversez([ \t]*line\W)|([ \t]*\d+)z[ \t]*pragma\Wc                6   V ^8  d   Qh/ ^ \         9   d   \        \        R3,          ;R&   ^\         9   d   \        \        \        3,          ;R&   ^\         9   d   \        \
        ,          ;R&   ^\         9   d7   \        \        \        \        \        \        ,          3,          3,          ;R&   ^\         9   d   \        \        ,          ;R&   ^\         9   d   \        P                  \        ,          ;R&   ^\         9   d   \        \        ,          ;R&   ^\         9   d&   \        \        \        \        ,          3,          ;R	&   ^\         9   d   \        P                  \        ,          ;R
&   ^	\         9   d   \        P                  \        ,          ;R&   # )r   .	_keywordsry   _regex_rulesrm   _regex_pattern_partsrj   _fixed_tokensrn   rW   rZ   )__conditional_annotations__r	   r   r   r   r   rs   r   r   Patternr   )r   s   "r   r   r   	   s;   		d. .5c? .e 
D " !d38n !E 
v- -d: -w 
T C BS%hsm ;<<= BU 
V % $d3i $W 
f L Krzz# Kg 
x/ /tK  /y 
d : 9S${"334 9e 
p K Jrzz# Jq 
r A @C @s 
r   )-AUTOBREAKCASECHARCONSTCONTINUEDEFAULTDODOUBLEELSEENUMEXTERNFLOATFORGOTOIFINLINEINTLONGREGISTEROFFSETOFRESTRICTRETURNSHORTSIGNEDSIZEOFSTATICSTRUCTSWITCHTYPEDEFUNIONUNSIGNEDVOIDVOLATILEWHILE__INT128_BOOL_COMPLEX	_NORETURN_THREAD_LOCAL_STATIC_ASSERT_ATOMIC_ALIGNOF_ALIGNAS_PRAGMA)\r+  r   dataclassesr   enumr   typingr   r   r   r   r	   r   r(   r'  ry   keywordrp   rV   isalphaupperlower_identifier_hex_prefix_hex_digits_bin_prefix_bin_digits_integer_suffix_optr   _octal_constant_hex_constant_bin_constant_bad_octal_constant_unsupported_c_style_comment_unsupported_cxx_style_comment_simple_escape_decimal_escape_hex_escape_bad_escape_escape_sequence _escape_sequence_start_in_string_cconst_char_char_const_wchar_const_u8char_const_u16char_const_u32char_const_multicharacter_constant_unmatched_quote_bad_char_const_string_charr   _wstring_literal_u8string_literal_u16string_literal_u32string_literal_bad_string_literal_exponent_part_fractional_constant_floating_constant_binary_exponent_part_hex_fractional_constant_hex_floating_constantrs   r   rw   rt   rf   r(  rm   r)  _ruler~   r   rr   r   r   compilejoinrj   r   r*  rn   _entry
setdefaultrq   values_bucketsortrW   rZ   r   )r+  s   @r   <module>r     s
   
	 !  8 8   ^ ^H.	 .`  " !G#3w<!#3
8J8J8L8LBIWR[&&(72;+<+<+>>?(/W]]_%  * L  	!114GG#M  11k),??k),??#   ' !( B E$38 . 3&83>LtS  $I   #33c9L 3&[ {"{"{"-8 ,&3lBUJ 66DGWW 
 !#CCcI$t+( ?* ?* ?* L(3.<|KdR  *9 
	
  	
    1 	K+%3e;kIKW  	
  
	

  

   4  $! ! ! %$U	 '&U	 -	  "2L4F4FM!#4l6H6H$O"$68J8JDQ"$68J8JDQ,2D2DdK "8,:L:LdS}0,2D2DdK|/A/A4H|/A/A4H 	 1C1CTJ 1<3E3EtL!9<;M;MtT|[,*<*<dC}lL,>,>E~}l.@.@$G0B0BDI0B0BDI "2L4F4FV,2D2DdKt[,//48Y-" -^ AC B"$  $E&+llE4G4G%HN5>>"$u~~&6a8K8K7LA NO  "$CHH5I,J!K K $  
/$
E"/$u%/$ u%/$ 
D!	/$
 d#/$ /$ /$ t/$ $/$ $/$ d/$ d/$ d/$ d/$ d#/$  
D!!/$" 
D!#/$$ T"%/$& d#'/$( 
D!)/$* 	4 +/$, 
D!-/$. #//$0 1/$2 3/$4 5/$6 #7/$8 s9/$: c;/$< s=/$> s?/$@ sA/$B C/$D cE/$F cG/$H #I/$J #K/$L #M/$N 
C O/$P 
C Q/$R #S/$T #U/$V W/$X #Y/$Z [/$\ ]/$ /l 8:  9F%%fnnQ&7<CCFK %,,.GLL3TLB / "$,I!J J#%::.?#@ @r   