Files
ServerSync/lib/pycparser/__pycache__/c_parser.cpython-314.pyc

396 lines
116 KiB
Plaintext
Raw Normal View History

2026-02-12 02:28:23 +02:00
+
t<10>i<EFBFBD>^<00><00>^<00>^RIHt^RIHtHtHtHtHtHtH t H
t
H t ^RI H t ^RIHtHt^RIHtHt]!RR44t!RR ]4t!R
R 4t0R*mt/R ^bR ^bR^bR^bR^bR^bR^bR^bR^bR^bR^bR^bR^bR^bR^bR^ bR^ bR^ /Ct0R+mtRR0t0R,mt0R-mt]],],],0R.m,t0R/mt0R0mt R R!0t!0R1mt"R"0t#0R2mt$]] ,]!,]",]#,]$,t%0R3mt&!R#R$4t'!R%R&]
4t(]R4,t)!R'R(]
4t*R)#)5<>)<01> dataclass) <09>Any<6E>Dict<63>List<73>Literal<61>NoReturn<72>Optional<61>Tuple<6C> TypedDict<63>cast)<01>c_ast)<02>CLexer<65>_Token)<02>fix_switch_cases<65>fix_atomic_specifiersc<00>Fa<00>]tRt^toRtRtV3RlRltV3RltRtVt R#)<07>Coordz[Coordinates of a syntactic element. Consists of:
- File name
- Line number
- Column number
Nc<00> <<01>V^8<>dQhRS[/#<00><02><00>return)<01>str)<02>format<61> __classdict__s"<22><>9/tmp/pip-target-zhdecbcm/lib/python/pycparser/c_parser.py<70> __annotate__<5F>Coord.__annotate__'s<00><><00><14><14><13><14>c<08><><00>VP RVP 2pVP'dVRVP 2, pV#)<01>:<3A><03>file<6C>line<6E>column)<02>self<6C>texts& r<00>__str__<5F> Coord.__str__'s=<00><00><16>)<29>)<29><1B>A<EFBFBD>d<EFBFBD>i<EFBFBD>i<EFBFBD>[<5B>)<29><04> <0F>;<3B>;<3B>;<3B> <10>a<EFBFBD><04> <0B> <0B>}<7D>%<25> %<25>D<EFBFBD><13> rc<00>N<<01>V^8<>dQh/S[;R&S[;R&S[S[,;R&#)rr"r#r$)r<00>intr )rrs"<22>rrrs.<00><><00><00> <0E>I<EFBFBD><01> <0E>I<EFBFBD><01> <15>S<EFBFBD>M<EFBFBD> <20>r<00>)
<EFBFBD>__name__<5F>
__module__<EFBFBD> __qualname__<5F>__firstlineno__<5F>__doc__r$r'<00>__annotate_func__<5F>__static_attributes__<5F>__classdictcell__<5F>rs@rrrs"<00><><00><00><08>!<21>F<EFBFBD><14><14><01>rrc<00><00>]tRt^.tRtR#)<03>
ParseErrorr+N)r,r-r.r/r2r+rrr6r6.s<00><00>rr6c<00><>a<00>]tRt^2toRtR]RRRRR3V3RlRlltR<>V3R lR
lltR<>V3R lR lltV3RlRlt V3RlRlt
V3RlRlt V3RlRlt V3RlRlt V3RlRltV3RlRltV3RlRltV3RlRltV3R lR!ltV3R"lR#ltV3R$lR%ltR<>V3R&lR'lltR<>V3R(lR)lltV3R*lR+ltV3R,lR-ltR<>V3R.lR/lltR<>V3R0lR1lltV3R2lR3ltV3R4lR5ltV3R6lR7ltV3R8lR9ltV3R:lR;ltV3R<lR=lt R<>V3R>lR?llt!R<>V3R@lRAllt"V3RBlRClt#R<>V3RDlREllt$V3RFlRGlt%R<>V3RHlRIllt&V3RJlRKlt'V3RLlRMlt(V3RNlROlt)V3RPlRQlt*V3RRlRSlt+V3RTlRUlt,V3RVlRWlt-V3RXlRYlt.V3RZlR[lt/V3R\lR]lt0V3R^lR_lt1R<31>V3R`lRallt2V3RblRclt3V3RdlRelt4V3RflRglt5V3RhlRilt6R<36>V3RjlRkllt7R<37>V3RllRmllt8V3RnlRolt9V3RplRqlt:V3RrlRslt;V3RtlRult<V3RvlRwlt=V3RxlRylt>V3RzlR{lt?V3R|lR}lt@V3R~lRltAV3R<>lR<>ltBV3R<>lR<>ltCV3R<>lR<>ltDV3R<>lR<>ltER<45>V3R<>lR<>lltFV3R<>lR<>ltGV3R<>lR<>ltHR<48>V3R<>lR<>lltIV3R<>lR<>ltJV3R<>lR<>ltKV3R<>lR<>ltLV3R<>lR<>ltMV3R<>lR<>ltNV3R<>lR<>ltOV3R<>lR<>ltPV3R<>lR<>ltQV3R<>lR<>ltRV3R<>lR<>ltSV3R<>lR<>ltTV3R<>lR<>ltUV3R<>lR<>ltVV3R<>lR<>ltWV3R<>lR<>ltXV3R<>lR<>ltYV3R<>lR<>ltZV3R<>lR<>lt[V3R<>lR<>lt\V3R<>lR<>lt]V3R<>lR<>lt^V3R<>lR<>lt_V3R<>lR<>lt`V3R<>lR<>ltaV3R<>lR<>ltbV3R<>lR<>ltcV3R<>lR<>ltdR<64>V3R<>lR<>llteV3R<>lR<>ltfV3R<>lR<>ltgV3R<>lR<>lthV3R<>lR<>ltiV3R<>lR<>ltjV3R<>lR<>ltkV3R<>lR<>ltlV3R<>lR<>ltmV3R<>lR<>ltnV3R<>lR<>ltoV3R<>lR<>ltpV3R<>lR<>ltqV3R<>lR<>ltrV3R<>lR<>ltsV3R<>lR<>lttV3R<>lR<>ltuV3R<>lR<>ltvV3R<>lR<>ltwV3R<>lR<>ltxV3R<>lR<>ltyV3R<>lR<>ltzV3R<>lR<>lt{R<>t|Vt}R #)<29><>CParsera*Recursive-descent C parser.
Usage:
parser = CParser()
ast = parser.parse(text, filename)
The `lexer` parameter lets you inject a lexer class (defaults to CLexer).
The parameters after `lexer` are accepted for backward compatibility with
the old PLY-based parser and are otherwise unused.
Tzpycparser.lextabzpycparser.yacctabF<62>c<00>X<<01>V^8<>dQhRS[RS[S[,RS[RS[RS[RS[RS[RR /#)
r<00> lex_optimize<7A>lexer<65>lextab<61> yacc_optimize<7A>yacctab<61>
yacc_debug<EFBFBD> taboutputdirrN)<04>bool<6F>typerr)rrs"<22>rr<00>CParser.__annotate__>s_<00><><00>=<3D>=<3D><1A>=<3D><14>F<EFBFBD>|<7C>=<3D><14> =<3D>
<1C> =<3D> <15> =<3D><19>=<3D><1A>=<3D>
<0E>=rc<08><><00>V!VPVPVPVPR7Vn\ 4.Vn\VP4VnR#))<04>
error_func<EFBFBD>on_lbrace_func<6E>on_rbrace_func<6E>type_lookup_funcN) <09>_lex_error_func<6E>_lex_on_lbrace_func<6E>_lex_on_rbrace_func<6E>_lex_type_lookup_func<6E>clex<65>dict<63> _scope_stack<63> _TokenStream<61>_tokens)r%r;r<r=r>r?r@rAs&&&&&&&&r<00>__init__<5F>CParser.__init__>sR<00><00>"<22><1B>+<2B>+<2B><1F>3<>3<><1F>3<>3<>!<21>7<>7<> 
<EFBFBD><04> <09>59<35>F<EFBFBD>8<EFBFBD><04><19>%1<>$<24>)<29>)<29>%<<3C><04> rc<00>F<<01>V^8<>dQhRS[RS[RS[RS[P/#)rr&<00>filename<6D>debugr)rrBr <00>FileAST)rrs"<22>rrrDZs1<00><><00><13><13><17><13>#&<26><13>48<34><13> <0E><1D><1D>rc <0C>4<00>\4.VnVPPW4\ VP4VnVP 4pVP4pVe/VPRVP 2VPV44V#)z<>Parses C code and returns an AST.
text:
A string containing the C source code
filename:
Name of the file being parsed (for meaningful
error messages)
debug:
Deprecated debug flag (unused); for backwards compatibility.
<EFBFBD>before: ) rOrPrN<00>inputrQrR<00> _parse_translation_unit_or_empty<74>_peek<65> _parse_error<6F>value<75>
_tok_coord)r%r&rVrW<00>ast<73>toks&&&& r<00>parse<73> CParser.parseZsw<00><00>"<22>V<EFBFBD>H<EFBFBD><04><19> <0C> <09> <09><0F><0F><04>'<27>#<23>D<EFBFBD>I<EFBFBD>I<EFBFBD>.<2E><04> <0C><12>3<>3<>5<><03><12>j<EFBFBD>j<EFBFBD>l<EFBFBD><03> <0E>?<3F> <10> <1D> <1D><08><13><19><19> <0B>4<>d<EFBFBD>o<EFBFBD>o<EFBFBD>c<EFBFBD>6J<36> K<><12>
rNc<00><<<01>V^8<>dQhRS[RS[S[,RS[/#)r<00>linenor$r)r*r r)rrs"<22>rrrDvs+<00><><00>J<01>J<01>S<EFBFBD>J<01>(<28>3<EFBFBD>-<2D>J<01>5<EFBFBD>Jrc<08>D<00>\VPPWR7#)r!)rrNrV)r%rfr$s&&&r<00>_coord<72>CParser._coordvs<00><00><14>$<24>)<29>)<29>,<2C>,<2C>6<EFBFBD>I<>Irc<00>J<<01>V^8<>dQhRS[RS[S[,R,RS[/#)r<00>msg<73>coordNr)rrr)rrs"<22>rrrDys+<00><><00>,<2C>,<2C><03>,<2C>E<EFBFBD>C<EFBFBD>K<EFBFBD>$<24>,><3E>,<2C>8<EFBFBD>,rc<08>"<00>\V RV 24h)z: )r6)r%rkrls&&&rr^<00>CParser._parse_errorys<00><00><18>E<EFBFBD>7<EFBFBD>"<22>S<EFBFBD>E<EFBFBD>*<2A>+<2B>+rc<00><<01>V^8<>dQhRR/#<00>rrNr+)rrs"<22>rrrD|s<00><><00>)<29>)<29>T<EFBFBD>)rc<08>L<00>VPP\44R#<00>N)rP<00>appendrO<00>r%s&r<00> _push_scope<70>CParser._push_scope|s<00><00> <0C><19><19> <20> <20><14><16>(rc<00><<01>V^8<>dQhRR/#rpr+)rrs"<22>rrrDs<00><><00> <20> <20>D<EFBFBD> rc<08>r<00>\VP4^8<>gQhVPP4R#)<02>N)<03>lenrP<00>poprts&r<00>
_pop_scope<EFBFBD>CParser._pop_scopes-<00><00><12>4<EFBFBD>$<24>$<24>%<25><01>)<29>)<29>)<29> <0C><19><19><1D><1D>rc<00>:<<01>V^8<>dQhRS[RS[S[,RR/#<00>r<00>namerlrN<>rr r)rrs"<22>rrrD<00>s&<00><><00>+<2B>+<2B>c<EFBFBD>+<2B>(<28>5<EFBFBD>/<2F>+<2B>d<EFBFBD>+rc <0C><><00>VPR,PVR4'gVPRV: R2V4RVPR,V&R#)z9Add a new typedef name (ie a TYPEID) to the current scopeTzTypedef z1 previously declared as non-typedef in this scopeN<65><4E><EFBFBD><EFBFBD><EFBFBD><EFBFBD>rP<00>getr^<00>r%r<>rls&&&r<00>_add_typedef_name<6D>CParser._add_typedef_name<6D>sU<00><00><13> <20> <20><12>$<24>(<28>(<28><14>t<EFBFBD>4<>4<> <10> <1D> <1D><1A>4<EFBFBD>(<28>"S<>T<><15> <0E>'+<2B><04><19><19>"<22><1D>d<EFBFBD>#rc<00>:<<01>V^8<>dQhRS[RS[S[,RR/#rr<>)rrs"<22>rrrD<00>s&<00><><00> ,<2C> ,<2C>C<EFBFBD> ,<2C><08><15><0F> ,<2C>D<EFBFBD> ,rc <0C><><00>VPR,PVR4'dVPRV: R2V4RVPR,V&R#)zPAdd a new object, function, or enum member name (ie an ID) to the
current scope
Fz Non-typedef z- previously declared as typedef in this scopeNr<4E>r<>r<>s&&&r<00>_add_identifier<65>CParser._add_identifier<65>sW<00><00> <10> <1C> <1C>R<EFBFBD> <20> $<24> $<24>T<EFBFBD>5<EFBFBD> 1<> 1<> <10> <1D> <1D><1E>t<EFBFBD>h<EFBFBD>&S<>T<><15> <0E>',<2C><04><19><19>"<22><1D>d<EFBFBD>#rc<00>&<<01>V^8<>dQhRS[RS[/#<00>rr<>r<00>rrB)rrs"<22>rrrD<00>s<00><><00><15><15>c<EFBFBD><15>d<EFBFBD>rc <0C>p<00>\VP4FpVPV4pVfKVu# R#)z.Is *name* a typedef-name in the current scope?F)<03>reversedrPr<>)r%r<><00>scope<70>in_scopes&& r<00>_is_type_in_scope<70>CParser._is_type_in_scope<70>s6<00><00><1D>d<EFBFBD>/<2F>/<2F>0<>E<EFBFBD><1D>y<EFBFBD>y<EFBFBD><14><EFBFBD>H<EFBFBD><17>#<23><1F><0F> 1<> rc<00>0<<01>V^8<>dQhRS[RS[RS[RR/#)rrkr#r$rN)rr*)rrs"<22>rrrD<00>s)<00><><00>:<3A>:<3A>3<EFBFBD>:<3A>c<EFBFBD>:<3A>3<EFBFBD>:<3A>4<EFBFBD>:rc<08>F<00>VPWPW#44R#rr)r^rh)r%rkr#r$s&&&&rrJ<00>CParser._lex_error_func<6E>s<00><00> <0C><19><19>#<23>{<7B>{<7B>4<EFBFBD>8<>9rc<00><<01>V^8<>dQhRR/#rpr+)rrs"<22>rrrD<00>s<00><><00><1B><1B>T<EFBFBD>rc<08>&<00>VP4R#rr)rurts&rrK<00>CParser._lex_on_lbrace_func<6E>s<00><00> <0C><18><18>rc<00><<01>V^8<>dQhRR/#rpr+)rrs"<22>rrrD<00>s<00><><00><1A><1A>T<EFBFBD>rc<08>&<00>VP4R#rr)r|rts&rrL<00>CParser._lex_on_rbrace_func<6E>s <00><00> <0C><0F><0F>rc<00>&<<01>V^8<>dQhRS[RS[/#r<>r<>)rrs"<22>rrrD<00>s<00><><00>,<2C>,<2C>#<23>,<2C>$<24>,rc <0C>$<00>VPV4#)zzLooks up types that were previously defined with
typedef.
Passed to the lexer for recognizing identifiers that
are types.
)r<>)r%r<>s&&rrM<00>CParser._lex_type_lookup_func<6E>s<00><00> <14>%<25>%<25>d<EFBFBD>+<2B>+rc<00>@<<01>V^8<>dQhRS[RS[RS[P/#)r<00>decl<63>modifierr)rr <00>Node)rrs"<22>rrrD<00>s&<00><><00><18><18>c<EFBFBD><18>S<EFBFBD><18>U<EFBFBD>Z<EFBFBD>Z<EFBFBD>rc <0C>@<00>TpTpVP'dVPpK \V\P4'd WnV#Tp\VP\P4'gVPpK8VPVnW5nV#)zTacks a type modifier on a declarator, and returns
the modified declarator.
Note: the declarator and modifier may be modified
)rC<00>
isinstancer <00>TypeDecl)r%r<>r<><00> modifier_head<61> modifier_tail<69> decl_tails&&& r<00>_type_modify_decl<63>CParser._type_modify_decl<63>s<><00><00> !<21> <0A> <20> <0A><1C> <20> <20> <20>)<29>.<2E>.<2E>M<EFBFBD> <16>d<EFBFBD>E<EFBFBD>N<EFBFBD>N<EFBFBD> +<2B> +<2B>!%<25> <1E><1B>O<EFBFBD>
<1D>I<EFBFBD> <20><19><1E><1E><15><1E><1E>@<40>@<40>%<25>N<EFBFBD>N<EFBFBD> <09>!*<2A><1E><1E>M<EFBFBD> <1E>*<2A>N<EFBFBD><17>Krc<00><><<01>V^8<>dQhRS[PS[P,S[P,RS[S[,RS[PS[P,S[P,/#)rr<><00>typenamer)r <00>Decl<63>Typedef<65>Typenamerr)rrs"<22>rrrDsY<00><><00>&<14>&<14><13>j<EFBFBD>j<EFBFBD>5<EFBFBD>=<3D>=<3D>(<28>5<EFBFBD>><3E>><3E>9<>&<14><17>s<EFBFBD>)<29>&<14>
<0F><1A><1A>e<EFBFBD>m<EFBFBD>m<EFBFBD> #<23>e<EFBFBD>n<EFBFBD>n<EFBFBD> 4<> &rc <0C><00>Tp\V\P4'gVPpK.VPVnVP R,VnVF[p\V\P4'dK%\V4^8<>dVPRVP4KSWCnVu# V'gq\VP\P4'gVPRVP4\P!R.VPR7VnV#\P!VUUu.uFqUPFqfNK K uppV^,PR7VnV#uuppi)z#Fixes a declaration. Modifies decl.<2E>NNNz Invalid multiple types specified<65>Missing type in declarationr*<00>rl) r<>r r<>rC<00>declnamer<65><00>quals<6C>IdentifierTyperzr^rl<00>FuncDecl<63>names)r%r<>r<><00>typ<79>tn<74>idr<64>s&&& r<00>_fix_decl_name_type<70>CParser._fix_decl_name_types<00><00><13><03><1C>S<EFBFBD>%<25>.<2E>.<2E>1<>1<><15>(<28>(<28>C<EFBFBD><17>L<EFBFBD>L<EFBFBD><04> <09><18>J<EFBFBD>J<EFBFBD>q<EFBFBD>M<EFBFBD><03> <09><1B>B<EFBFBD><1D>b<EFBFBD>%<25>"6<>"6<>7<>7<><16>x<EFBFBD>=<3D>1<EFBFBD>$<24><18>%<25>%<25>&H<>"<22>(<28>(<28>S<>!<21>H<EFBFBD><1F>K<EFBFBD> <1B><18><1D>d<EFBFBD>i<EFBFBD>i<EFBFBD><15><1E><1E>8<>8<><14>!<21>!<21>"?<3F><14><1A><1A>L<><1C>+<2B>+<2B>U<EFBFBD>G<EFBFBD>4<EFBFBD>:<3A>:<3A>F<>C<EFBFBD>H<EFBFBD><14> <0B><1D>+<2B>+<2B> (<28>><3E><08>"<22>X<EFBFBD>X<EFBFBD>T<EFBFBD><14>X<EFBFBD><14><08>><3E>h<EFBFBD>q<EFBFBD>k<EFBFBD>FW<46>FW<46><0E>C<EFBFBD>H<EFBFBD><14> <0B><>?s<00>F
c
<00>B<<01>V^8<>dQhRS[R,RS[RRRS[RR/#)r<00>declspec<65> _DeclSpec<65>newspec<65>kind<6E> _DeclSpecKindrsr)r rrB)rrs"<22>rrrD(sB<00><><00><14><14><1A>;<3B>'<27><14><15><14><1E> <14>
<15> <14>
<15> rc <0C><><00>Vf\.....R7pMTpV'dWS,PV4V#WS,P^V4V#)z2See _DeclSpec for the specifier dictionary layout.<2E><05>qual<61>storagerC<00>function<6F> alignment)rOrs<00>insert)r%r<>r<>r<>rs<00>specs&&&&& r<00>_add_declaration_specifier<65>"CParser._add_declaration_specifier(sY<00><00> <14> <1B>"<22><17><12>"<22>r<EFBFBD>R<EFBFBD><0E>D<EFBFBD><1C>D<EFBFBD> <11> <10>J<EFBFBD> <1D> <1D>g<EFBFBD> &<26><14> <0B> <11>J<EFBFBD> <1D> <1D>a<EFBFBD><17> )<29><13> rc <00>b<<01>V^8<>dQhRRRS[R,RS[RS[S[P,/#)rr<>r<><00>decls<6C> _DeclInfo<66>typedef_namespacer)rrBr r<>)rrs"<22>rrrD>sG<00><><00>e<1C>e<1C><19>e<1C><14>K<EFBFBD> <20>e<1C> <20> e<1C>
<0E>e<EFBFBD>j<EFBFBD>j<EFBFBD> <19> erc  <0C>p<00>RVR,9p.pV^,PR4Ef!V^,R,Ef(\VR,4^8g_\VR,R,P4^8wg7VPVR,R,P^,4'gERpVR,F#p\ VR4'gKVP
pM VP R V4\P!VR,R,P^,RRVR
,VR,R,P
R 7V^,R&VR,RM<>\V^,R,\P\P\P\P34'g<>\\V^,R,4p\V\P4'gVP pK.VP"f1VR,R,P^,VnVR,RVEF<>p V R,fQhV'dC\P$!RVR ,VR,V R,V R,P
R 7p
Mq\P&!RVR ,VR
,VR,VR,V R,V PR4V PR4V R,P
R7 p
\V
P \P\P\P\P34'dT
p MVP)W<>R,4p V'dVV'd(VP+V P,V P
4M&VP/V P,V P
4\1\\P&\P$,V 44p VP3V 4EK<> V#)z<>Builds a list of declarations all sharing the given specifiers.
If typedef_namespace is true, each declared name is added
to the "typedef namespace", which also includes objects,
functions, and enum constants.
<EFBFBD>typedefr<66><00>bitsizeNr<4E>rC<00>?rl<00>Invalid declarationr<6E><00>r<>rCr<><00>alignrlr<>)r<>r<>r<>rCrlr<><00>init<69> r<>r<>r<>r<><00>funcspecrCr<>r<>rlr<>)r<>rzr<>r<><00>hasattrrlr^r r<>r<><00>Enum<75>Struct<63>Unionr<6E>r rrCr<>r<>r<>r<>r<>r<>r<>rrs) r%r<>r<>r<><00>
is_typedef<EFBFBD> declarationsrl<00>t<> decls_0_tailr<6C><00> declaration<6F>
fixed_decls &&&& r<00>_build_declarations<6E>CParser._build_declarations>sC<00><00><1F>$<24>y<EFBFBD>/<2F>1<>
<EFBFBD><19> <0C> <11><11>8<EFBFBD><<3C><<3C> <09> "<22> *<2A>
<15>Q<EFBFBD>x<EFBFBD><06><1F>'<27><17><04>V<EFBFBD> <0C>%<25><01>)<29><1A>4<EFBFBD><06><<3C><02>+<2B>1<>1<>2<>a<EFBFBD>7<><1F>1<>1<>$<24>v<EFBFBD>,<2C>r<EFBFBD>2B<32>2H<32>2H<32><11>2K<32>L<>L<><1F>E<EFBFBD>!<21>&<26>\<5C>\<5C><01>"<22>1<EFBFBD>g<EFBFBD>.<2E>.<2E>$%<25>G<EFBFBD>G<EFBFBD>E<EFBFBD>!<21>*<2A><19>%<25>%<25>&;<3B>U<EFBFBD>C<>$)<29>><3E>><3E>!<21>&<26>\<5C>"<22>-<2D>3<>3<>A<EFBFBD>6<><1D><1E><1E>{<7B>+<2B><1E>v<EFBFBD>,<2C>r<EFBFBD>*<2A>0<>0<> $<12><05>a<EFBFBD><08><16> <20><19><16>L<EFBFBD><12>$<24> <20><15>a<EFBFBD><08><16> <20><16><1A><1A>U<EFBFBD>\<5C>\<5C>5<EFBFBD>;<3B>;<3B><05>8L<38>8L<38>M<><0E><0E> $<24>C<EFBFBD><15>q<EFBFBD><18>&<26>)9<>:<3A> <0C>$<24>\<5C>5<EFBFBD>><3E>><3E>B<>B<>#/<2F>#4<>#4<>L<EFBFBD><1F>(<28>(<28>0<>,0<><16>L<EFBFBD><12>,<<3C>,B<>,B<>1<EFBFBD>,E<>L<EFBFBD>)<29><1C>V<EFBFBD> <0C>R<EFBFBD>(<28><19>D<EFBFBD><17><06><<3C>+<2B> +<2B>+<2B><19>#<23>m<EFBFBD>m<EFBFBD><1D><1E>v<EFBFBD>,<2C> <20><19>O<EFBFBD><1D>f<EFBFBD><1C><1E>v<EFBFBD>,<2C>,<2C>,<2C> <12> <0B>$<24>j<EFBFBD>j<EFBFBD><1D><1E>v<EFBFBD>,<2C><1E>{<7B>+<2B> <20><19>O<EFBFBD>!<21>*<2A>-<2D><1D>f<EFBFBD><1C><1D><18><18>&<26>)<29> <20>H<EFBFBD>H<EFBFBD>Y<EFBFBD>/<2F><1E>v<EFBFBD>,<2C>,<2C>,<2C>
<12> <0B><1A><1B> <20> <20><16><1A><1A>U<EFBFBD>\<5C>\<5C>5<EFBFBD>;<3B>;<3B><05>8L<38>8L<38>M<><0E><0E>)<29>
<EFBFBD>!<21>5<>5<>k<EFBFBD><06><<3C>P<>
<EFBFBD>!<21><1D><18>*<2A>*<2A>:<3A>?<3F>?<3F>J<EFBFBD><L<><L<>M<><18>(<28>(<28><1A><1F><1F>*<2A>:J<>:J<>K<>.<2E><14>U<EFBFBD>Z<EFBFBD>Z<EFBFBD>%<25>-<2D>-<2D>/<2F><1A><<3C><0E>J<EFBFBD> <19> <1F> <1F>
<EFBFBD> +<2B>U<1A>X<1C>rc
<00><><<01>V^8<>dQhRRRS[PRS[S[S[P,,RS[PRS[P/#)rr<>r<>r<><00> param_decls<6C>bodyr)r r<>r r)rrs"<22>rrrD<00>sW<00><><00>
<EFBFBD>
<EFBFBD><19>
<EFBFBD><14>j<EFBFBD>j<EFBFBD>
<EFBFBD><1E>d<EFBFBD>5<EFBFBD>:<3A>:<3A>.<2E>/<2F> 
<EFBFBD>
<14>j<EFBFBD>j<EFBFBD> 
<EFBFBD>
<0F><1A><1A> 
rc  <0C><><00>RVR,9dVPRVP4VPV\VRRR7.RR7^,p\P
!WSWBPR7#) zBuilds a function definition.r<>r<>zInvalid typedefN<66>r<>r<>r<>T<>r<>r<>r<>)r<>r<>r<>rl)r^rlr<>rOr <00>FuncDef)r%r<>r<>r<>r<>r<>s&&&&& r<00>_build_function_definition<6F>"CParser._build_function_definition<6F>su<00><00> <15><04>Y<EFBFBD><0F> '<27> <10> <1D> <1D>/<2F><14><1A><1A> <<3C><1A>.<2E>.<2E><15><17>T<EFBFBD><04>d<EFBFBD>;<3B><<3C>"<22>/<2F>
<EFBFBD> <0C>  <0A> <0B> <15>}<7D>}<7D><1C>D<EFBFBD>
<EFBFBD>
<EFBFBD>
<EFBFBD>
rc<00>&<<01>V^8<>dQhRS[RS[/#)r<00>tokenr)rrC)rrs"<22>rrrD<00>s<00><><00><1F><1F><03><1F><04>rc <0C>P<00>VR8Xd\P#\P#)zKGiven a token (either STRUCT or UNION), selects the
appropriate AST class.
<EFBFBD>struct)r r<>r<>)r%r<>s&&r<00>_select_struct_union_class<73>"CParser._select_struct_union_class<73>s <00><00> <11>H<EFBFBD> <1C><18><<3C><<3C> <1F><18>;<3B>;<3B> rc<00>6<<01>V^8<>dQhRS[RS[S[,/#<00>r<00>kr<00>r*r r)rrs"<22>rrrD<00>s <00><><00>$<24>$<24>s<EFBFBD>$<24>8<EFBFBD>F<EFBFBD>#3<>$rc <0C>8<00>VPPV4#)z:Return the k-th next token without consuming it (1-based).)rR<00>peek<65>r%r<>s&&rr]<00> CParser._peek<65>s<00><00><13>|<7C>|<7C> <20> <20><11>#<23>#rc<00>6<<01>V^8<>dQhRS[RS[S[,/#r<>)r*r r)rrs"<22>rrrD<00>s<00><><00>5<>5<>C<EFBFBD>5<><08><13> <0A>5rc <0C>H<00>VPV4pVe VP#R#)zDReturn the type of the k-th next token, or None if absent (1-based).N)r]rC)r%r<>rbs&& r<00>
_peek_type<EFBFBD>CParser._peek_type<70>s"<00><00><12>j<EFBFBD>j<EFBFBD><11>m<EFBFBD><03><1E>?<3F>s<EFBFBD>x<EFBFBD>x<EFBFBD>4<><04>4rc<00> <<01>V^8<>dQhRS[/#r)r)rrs"<22>rrrD<00>s<00><><00><17><17>&<26>rc<08><><00>VPP4pVf)VPRVPP4R#V#)NzAt end of input)rR<00>nextr^rNrV<00>r%rbs& r<00>_advance<63>CParser._advance<63>s9<00><00><12>l<EFBFBD>l<EFBFBD><1F><1F>!<21><03> <0E>;<3B> <10> <1D> <1D>/<2F><14><19><19>1C<31>1C<31> D<><16>Jrc<00>6<<01>V^8<>dQhRS[RS[S[,/#<00>r<00>
token_typer)rr r)rrs"<22>rrrD<00>s <00><><00> <14> <14>#<23> <14>(<28>6<EFBFBD>*:<3A> rc <0C>p<00>VP4pVe"VPV8XdVP4#R#)z<>Conditionally consume next token, only if it's of token_type.
If it is of the expected type, consume and return it.
Otherwise, leaves the token intact and returns None.
N)r]rCr
<00>r%rrbs&& r<00>_accept<70>CParser._accept<70>s.<00><00> <13>j<EFBFBD>j<EFBFBD>l<EFBFBD><03> <0E>?<3F>s<EFBFBD>x<EFBFBD>x<EFBFBD>:<3A>5<><17>=<3D>=<3D>?<3F> "<22>rc<00>&<<01>V^8<>dQhRS[RS[/#r )rr)rrs"<22>rrrD<00>s<00><><00><13><13>#<23><13>&<26>rc<08><><00>VP4pVPV8wd/VPRVP 2VP V44V#)rZ)r
rCr^r_r`rs&& r<00>_expect<63>CParser._expect<63>sB<00><00><12>m<EFBFBD>m<EFBFBD>o<EFBFBD><03> <0E>8<EFBFBD>8<EFBFBD>z<EFBFBD> !<21> <10> <1D> <1D><08><13><19><19> <0B>4<>d<EFBFBD>o<EFBFBD>o<EFBFBD>c<EFBFBD>6J<36> K<><12>
rc<00> <<01>V^8<>dQhRS[/#r<00>r*)rrs"<22>rrrD<00>s<00><><00>#<23>#<23>s<EFBFBD>#rc<08>6<00>VPP4#rr)rR<00>markrts&r<00>_mark<72> CParser._mark<72>s<00><00><13>|<7C>|<7C> <20> <20>"<22>"rc<00>$<<01>V^8<>dQhRS[RR/#<00>rrrNr)rrs"<22>rrrD<00>s<00><><00>!<21>!<21>3<EFBFBD>!<21>4<EFBFBD>!rc<08><<00>VPPV4R#rr)rR<00>reset<65>r%rs&&r<00>_reset<65>CParser._reset<65>s<00><00> <0C> <0C> <0C><1A><1A>4<EFBFBD> rc<00>&<<01>V^8<>dQhRS[RS[/#<00>rrbr)rr)rrs"<22>rrrD<00>s<00><><00>3<>3<>f<EFBFBD>3<><15>3rc<08>N<00>VPVPVP4#rr)rhrfr$r s&&rr`<00>CParser._tok_coord<72>s<00><00><13>{<7B>{<7B>3<EFBFBD>:<3A>:<3A>s<EFBFBD>z<EFBFBD>z<EFBFBD>2<>2rc<00>6<<01>V^8<>dQhRS[S[,RS[/#r%<00>r rrB)rrs"<22>rrrD<00>s <00><><00>'<27>'<27>x<EFBFBD><06>'7<>'<27>4<EFBFBD>'rc<08>h<00>T;'gVP4pVfR#VP\9#<00>NF)r]rC<00> _DECL_STARTr s&&r<00>_starts_declaration<6F>CParser._starts_declaration<6F>s,<00><00><11>!<21>!<21>T<EFBFBD>Z<EFBFBD>Z<EFBFBD>\<5C><03> <0E>;<3B><18><12>x<EFBFBD>x<EFBFBD>;<3B>&<26>&rc<00>6<<01>V^8<>dQhRS[S[,RS[/#r%r))rrs"<22>rrrD<00>s <00><><00>.<2E>.<2E>h<EFBFBD>v<EFBFBD>&6<>.<2E>$<24>.rc<08>h<00>T;'gVP4pVfR#VP\9#r+)r]rC<00>_STARTS_EXPRESSIONr s&&r<00>_starts_expression<6F>CParser._starts_expression<6F>s-<00><00><11>!<21>!<21>T<EFBFBD>Z<EFBFBD>Z<EFBFBD>\<5C><03> <0E>;<3B><18><12>x<EFBFBD>x<EFBFBD>-<2D>-<2D>-rc<00> <<01>V^8<>dQhRS[/#r<00>rB)rrs"<22>rrrD<00>s<00><><00>)<29>)<29>4<EFBFBD>)rc<08>h<00>VP4pVfR#V\9dR#VP4#)NFT)r<00>_STARTS_STATEMENTr2<00>r%<00>tok_types& r<00>_starts_statement<6E>CParser._starts_statement<6E>s2<00><00><17>?<3F>?<3F>$<24><08> <13> <1B><18> <13>(<28> (<28><17><13>&<26>&<26>(<28>(rc<00>&<<01>V^8<>dQhRS[RS[/#)r<00>id_onlyrr5)rrs"<22>rrrDs<00><><00>,<2C>,<2C>$<24>,<2C>4<EFBFBD>,rc<08>d<00>VP4pVfR#VR9dR#V'dVR8H#VR9#)NFT<46>ID><00>TIMES<45>LPAREN>r?<00>TYPEID<49>r)r%r=r9s&& r<00>_starts_declarator<6F>CParser._starts_declarators=<00><00><17>?<3F>?<3F>$<24><08> <13> <1B><18> <13>*<2A> *<2A><17> <12><1B>t<EFBFBD>#<23> #<23><17>+<2B>+<2B>+rc<00>F<<01>V^8<>dQhRS[S[S[,S[3,/#r<00>r
r rrB)rrs"<22>rrrDs"<00><><00>#<23>#<23>E<EFBFBD>(<28>3<EFBFBD>-<2D><14>2E<32>,F<>#rc<08>n<00>VP4pVP4wr#VPV4W#3#rr)r<00>_scan_declarator_name_infor")r%rr9<00> saw_parens& r<00>_peek_declarator_name_info<66>"CParser._peek_declarator_name_infos3<00><00><13>z<EFBFBD>z<EFBFBD>|<7C><04>"<22>=<3D>=<3D>?<3F><1B><08> <0C> <0B> <0B>D<EFBFBD><19><17>"<22>"rc<00>f<<01>V^8<>dQhRS[RS[RS[S[S[P,S[3,/#)r<00>allow_abstract<63>typeid_paren_as_abstractr)rBr
r r r<>)rrs"<22>rrrDs8<00><><00><1A><1A>"<22><1A>FJ<46><1A> <0E>x<EFBFBD><05>
<EFBFBD>
<EFBFBD>#<23>T<EFBFBD>)<29> *<2A>rc<08><><00>VP4wr4VeV'dyVR8XdrV'djV'gNVP4pVeVPV4MVPPpVP RV4VP 4pVR3#VR8Xd2V'dVP4pVR3#VP4pVR3#VP4pVR3#)NrBzInvalid declaratorFT)
rKr]r`rNrVr^<00>_parse_abstract_declarator_opt<70> _parse_typeid_noparen_declarator<6F>_parse_typeid_declarator<6F>_parse_id_declarator)r%rNrO<00> name_typerJrbrlr<>s&&& r<00>_parse_any_declarator<6F>CParser._parse_any_declarators<><00><00> $<24>><3E>><3E>@<40><1C> <09> <14> <1C> $<24><19>h<EFBFBD>)><3E>9<EFBFBD>!<21><1A>j<EFBFBD>j<EFBFBD>l<EFBFBD><03>03<30><0F><04><0F><0F><03>,<2C>T<EFBFBD>Y<EFBFBD>Y<EFBFBD>EW<45>EW<45><05><14>!<21>!<21>"6<><05>><3E><17>6<>6<>8<>D<EFBFBD><17><15>;<3B> <1E> <14><08> <20>'<27><1B><<3C><<3C>><3E><04>
<14>T<EFBFBD>z<EFBFBD><19><1C>4<>4<>6<><04><14>T<EFBFBD>z<EFBFBD><19><18>,<2C>,<2C>.<2E>D<EFBFBD><13>T<EFBFBD>z<EFBFBD>rc<00>F<<01>V^8<>dQhRS[S[S[,S[3,/#rrG)rrs"<22>rrrD/s"<00><><00>!<1F>!<1F>E<EFBFBD>(<28>3<EFBFBD>-<2D><14>2E<32>,F<>!rc<08><><00>RpVPR4'd.VP4\9gK2VP4K-VP 4pVfRV3#VP
R9dVP4VP
V3#VP
R8Xd<>RpVP4VP 4wr4V'dRp^pVP 4pVfRV3#VP
R8Xd V^, pM7VP
R8Xd'V^,pVP4V^8XdW13#KkVP4K}RV3#)Fr@NrAT<>RPAREN>r?rB)rr<00>_TYPE_QUALIFIERr
r]rCrI)r%rJrbr9<00> nested_paren<65>depths& rrI<00>"CParser._scan_declarator_name_info/s"<00><00><19> <09><12>l<EFBFBD>l<EFBFBD>7<EFBFBD>#<23>#<23><16>/<2F>/<2F>#<23><EFBFBD>6<><14> <0A> <0A><0F><12>j<EFBFBD>j<EFBFBD>l<EFBFBD><03> <0E>;<3B><17><19>?<3F> "<22> <0E>8<EFBFBD>8<EFBFBD>'<27> '<27> <10>M<EFBFBD>M<EFBFBD>O<EFBFBD><16>8<EFBFBD>8<EFBFBD>Y<EFBFBD>&<26> &<26> <0E>8<EFBFBD>8<EFBFBD>x<EFBFBD> <1F><1C>I<EFBFBD> <10>M<EFBFBD>M<EFBFBD>O<EFBFBD>%)<29>%D<>%D<>%F<> "<22>H<EFBFBD><1B> <20> <09><15>E<EFBFBD><16><1A>j<EFBFBD>j<EFBFBD>l<EFBFBD><03><16>;<3B><1F><19>?<3F>*<2A><16>8<EFBFBD>8<EFBFBD>x<EFBFBD>'<27><19>Q<EFBFBD>J<EFBFBD>E<EFBFBD><18>X<EFBFBD>X<EFBFBD><18>)<29><19>Q<EFBFBD>J<EFBFBD>E<EFBFBD><18>M<EFBFBD>M<EFBFBD>O<EFBFBD><1C><01>z<EFBFBD><1D><1C>&<26> &<26><1D><14> <0A> <0A><0F><13>Y<EFBFBD><EFBFBD>rc<00> <<01>V^8<>dQhRS[/#rr5)rrs"<22>rrrDRs<00><><00>;<3B>;<3B>D<EFBFBD>;rc<08>(<00>VP4R9#)rA>rA<00>LBRACKETrCrts&r<00>"_starts_direct_abstract_declarator<6F>*CParser._starts_direct_abstract_declaratorRs<00><00><13><EFBFBD><EFBFBD> <20>$:<3A>:<3A>:rc<00> <<01>V^8<>dQhRS[/#rr5)rrs"<22>rrrDUs<00><><00>?<3F>?<3F>4<EFBFBD>?rc<08>`<00>VP4pVRJ;'dVP\9#rr)r]rC<00>_ASSIGNMENT_OPSr s& r<00>_is_assignment_op<6F>CParser._is_assignment_opUs(<00><00><12>j<EFBFBD>j<EFBFBD>l<EFBFBD><03><12>$<24><EFBFBD>><3E>><3E>3<EFBFBD>8<EFBFBD>8<EFBFBD><EFBFBD>#><3E>>rc<00>^<<01>V^8<>dQhRS[S[S[PS[S[3,,/#r)r r
r r<>r*r)rrs"<22>rrrDYs*<00><><00>%<25>%<25> <11>%<25><05><0E><0E><03>V<EFBFBD>3<>4<> 5<>%rc <0C><00>VP4pVPR4pVfR#VP4'gVPV4R#VP 4pVPR4fVPV4R#W1V3#)a:Parse and return a parenthesized type name if present.
Returns (typ, mark, lparen_tok) when the next tokens look like
'(' type_name ')', where typ is the parsed type name, mark is the
token-stream position before parsing, and lparen_tok is the LPAREN
token. Returns None if no parenthesized type name is present.
rANrZ)rrr-r"<00>_parse_type_name)r%r<00>
lparen_tokr<EFBFBD>s& r<00>_try_parse_paren_type_name<6D>"CParser._try_parse_paren_type_nameYs{<00><00><14>z<EFBFBD>z<EFBFBD>|<7C><04><19>\<5C>\<5C>(<28>+<2B>
<EFBFBD> <15> <1D><17><13>'<27>'<27>)<29>)<29> <10>K<EFBFBD>K<EFBFBD><04> <1D><17><12>#<23>#<23>%<25><03> <0F><<3C><<3C><08> !<21> )<29> <10>K<EFBFBD>K<EFBFBD><04> <1D><17><12>*<2A>$<24>$rc<00>4<<01>V^8<>dQhRS[P/#r)r rX)rrs"<22>rrrDts<00><><00>=<3D>=<3D>%<25>-<2D>-<2D>=rc<08><><00>VP4f\P!.4#\P!VP44#rr)r]r rX<00>_parse_translation_unitrts&rr\<00>(CParser._parse_translation_unit_or_emptyts5<00><00> <0F>:<3A>:<3A><<3C> <1F><18>=<3D>=<3D><12>$<24> $<24><14>}<7D>}<7D>T<EFBFBD>9<>9<>;<3B><<3C><rc<00>D<<01>V^8<>dQhRS[S[P,/#r<00>rr r<>)rrs"<22>rrrDzs<00><><00><13><13><14>e<EFBFBD>j<EFBFBD>j<EFBFBD>)9<>rc<08>p<00>.pVP4e"VPVP44K3V#rr)r]<00>extend<6E>_parse_external_declaration)r%<00>exts& rrq<00>CParser._parse_translation_unitzs-<00><00><10><03><12>j<EFBFBD>j<EFBFBD>l<EFBFBD>&<26> <0F>J<EFBFBD>J<EFBFBD>t<EFBFBD>7<>7<>9<> :<3A><12>
rc<00>D<<01>V^8<>dQhRS[S[P,/#rrt)rrs"<22>rrrD<00>s <00><><00>M<15>M<15>T<EFBFBD>%<25>*<2A>*<2A>-=<3D>Mrc
<08><><00>VP4pVf.#VPR8XdVP4.#VPR9dVP4.#VP R4'd.#VPR8XdVP 4#VP V4'g<>VP4pRpVP4R8wdVPRVP4\...\P!R.VPR7..R7pVPVVVVP4R 7pV.#VP!R
R 7wrFpVP#4wr<>VR 8wd%VP%WF4p
VP'R4V
#VP4pVP4R8XgVP 4'd<>RpVP 4'dVP)4pVP4R8wdVPRVP4VR ,'g\P!R.VR7.VR &VPVVVVP4R 7pV.#\VRRR7p VP R4'dVP+4V R&VP-V R7p
VP/WJR
R7p
VP'R4V
#)N<>PPHASH<53>SEMI<4D>_STATIC_ASSERT<52>LBRACEzInvalid function definitionr*r<>)r<>r<>r<>rCr<>)r<>r<>r<>r<>T<><01> allow_no_typer?rCr<><00>EQUALSr<53>)<01>firstr<74><00><00>_PRAGMA<4D>PPPRAGMA)r]rC<00>_parse_pp_directive<76>_parse_pppragma_directiver<00>_parse_static_assertr-rTrr^rlrOr r<>r<><00>_parse_compound_statement<6E>_parse_declaration_specifiersrK<00>_parse_decl_body_with_specr<00>_parse_declaration_list<73>_parse_initializer<65>_parse_init_declarator_listr<74>) r%rbr<>r<>r<><00>func<6E>saw_type<70>
spec_coordrU<00>_r<5F><00> decl_dicts & rrw<00>#CParser._parse_external_declaration<6F>s<><00><00><12>j<EFBFBD>j<EFBFBD>l<EFBFBD><03> <0E>;<3B><15>I<EFBFBD> <0E>8<EFBFBD>8<EFBFBD>x<EFBFBD> <1F> <10> $<24> $<24> &<26><15>I<EFBFBD> <0E>8<EFBFBD>8<EFBFBD>.<2E> .<2E><18>2<>2<>4<>5<> 5<> <0F><<3C><<3C><06> <1F> <1F><15>I<EFBFBD> <0E>8<EFBFBD>8<EFBFBD>'<27> '<27><17>,<2C>,<2C>.<2E> .<2E><13>'<27>'<27><03>,<2C>,<2C><18>,<2C>,<2C>.<2E>D<EFBFBD><1E>K<EFBFBD><13><EFBFBD><EFBFBD> <20>H<EFBFBD>,<2C><14>!<21>!<21>"?<3F><14><1A><1A>L<>"<22><17><1C><1A><1B>*<2A>*<2A>E<EFBFBD>7<EFBFBD>$<24>*<2A>*<2A>E<>F<><1B> <0E>D<EFBFBD><18>2<>2<><19><19>'<27><19>3<>3<>5<> 3<><0E>D<EFBFBD> <19>6<EFBFBD>M<EFBFBD>&*<2A>%G<>%G<><1E>&H<01>&
<EFBFBD>"<22><04>
<EFBFBD><1C>6<>6<>8<> <0C> <09> <14><04> <1C><18>3<>3<>D<EFBFBD>C<>E<EFBFBD> <10>L<EFBFBD>L<EFBFBD><16> <20><18>L<EFBFBD><13>(<28>(<28>*<2A><04> <0F>?<3F>?<3F> <1C><08> (<28>D<EFBFBD>,D<>,D<>,F<>,F<><1E>K<EFBFBD><13>'<27>'<27>)<29>)<29>"<22>:<3A>:<3A><<3C> <0B><13><EFBFBD><EFBFBD> <20>H<EFBFBD>,<2C><14>!<21>!<21>"?<3F><14><1A><1A>L<><17><06><<3C><<3C> %<25> 4<> 4<>e<EFBFBD>W<EFBFBD>J<EFBFBD> O<>P<><04>V<EFBFBD> <0C><17>2<>2<><19><19>'<27><19>3<>3<>5<> 3<><0E>D<EFBFBD> <19>6<EFBFBD>M<EFBFBD>!%<25>4<EFBFBD>d<EFBFBD>D<EFBFBD>!I<> <09> <0F><<3C><<3C><08> !<21> !<21> $<24> 7<> 7<> 9<>I<EFBFBD>f<EFBFBD> <1D><14>0<>0<>y<EFBFBD>0<>A<><05><14>(<28>(<28>d<EFBFBD>SW<53>(<28>X<><05> <0C> <0C> <0C>V<EFBFBD><1C><14> rc<00>D<<01>V^8<>dQhRS[S[P,/#rrt)rrs"<22>rrrD<00>s<00><><00><15><15>D<EFBFBD><15><1A><1A>$4<>rc<08>H<00>VP4pVPR4V#<00>r})<02>_parse_decl_bodyr<00>r%r<>s& r<00>_parse_declaration<6F>CParser._parse_declaration<6F>s!<00><00><14>%<25>%<25>'<27><05> <0C> <0C> <0C>V<EFBFBD><1C><14> rc<00>D<<01>V^8<>dQhRS[S[P,/#rrt)rrs"<22>rrrD<00>s<00><><00>?<3F>?<3F>$<24>u<EFBFBD>z<EFBFBD>z<EFBFBD>"2<>?rc<08>N<00>VPRR7wrpVPW4#)Tr<54>)r<>r<>)r%r<>r<>r<>s& rr<><00>CParser._parse_decl_body<64>s+<00><00> <20>><3E>><3E>T<EFBFBD>><3E>R<><19><04><01><13>.<2E>.<2E>t<EFBFBD>><3E>>rc<00>N<<01>V^8<>dQhRRRS[RS[S[P,/#)rr<>r<>r<>r)rBrr r<>)rrs"<22>rrrD<00>s.<00><><00>'<15>'<15><1F>'<15>+/<2F>'<15> <0A>e<EFBFBD>j<EFBFBD>j<EFBFBD> <19>'rc <08><><00>RpV'd(VP4'dVP4pM*VPRR7'dVPRR7pVf<>VR,p\P\P\P
3p\ V4^8Xdp\V^,V4'dW\P!RVR,VR,VR,VR,V^,RRV^,PR7 .pV#VPV\RRRR 7.RR
7pV#VPWRR
7pV#) NT<4E>r=rCr<>r<>r<>r<>r<>r<>r<>) rDr<>r r<>r<>r<>rzr<>r<>rlr<>rO)r%r<>r<>r<><00>ty<74>s_u_or_es&&& rr<><00>"CParser._parse_decl_body_with_spec<65>s;<00><00><15><05> <13><13>&<26>&<26>(<28>(<28><1C>8<>8<>:<3A><05><><13>&<26>&<26>t<EFBFBD>&<26>4<>4<><1C>8<>8<><14>8<>F<><05> <10>=<3D><15>f<EFBFBD><1C>B<EFBFBD><1D> <0C> <0C>e<EFBFBD>k<EFBFBD>k<EFBFBD>5<EFBFBD>:<3A>:<3A>><3E>H<EFBFBD><12>2<EFBFBD>w<EFBFBD>!<21>|<7C>
<EFBFBD>2<EFBFBD>a<EFBFBD>5<EFBFBD>(<28> ;<3B> ;<3B><19>J<EFBFBD>J<EFBFBD>!<21>"<22>6<EFBFBD>l<EFBFBD>"<22>;<3B>/<2F> $<24>Y<EFBFBD><0F>!%<25>j<EFBFBD>!1<><1F><01>U<EFBFBD>!<21> $<24> <20><11>e<EFBFBD>k<EFBFBD>k<EFBFBD>
<16> <12><05>0<15> <0C><1D>0<>0<><1D><1F>T<EFBFBD><04>d<EFBFBD>C<>D<>&*<2A>1<><12><05><15> <0C> <19>,<2C>,<2C><19>$<24>-<2D><0E>E<EFBFBD><15> rc<00>D<<01>V^8<>dQhRS[S[P,/#rrt)rrs"<22>rrrDs<00><><00><15><15><14>e<EFBFBD>j<EFBFBD>j<EFBFBD>)9<>rc<08>x<00>.pVP4'd"VPVP44K7V#rr)r-rvr<>r<>s& rr<><00>CParser._parse_declaration_lists0<00><00><12><05><12>&<26>&<26>(<28>(<28> <11>L<EFBFBD>L<EFBFBD><14>0<>0<>2<> 3<><14> rc<00>N<<01>V^8<>dQhRS[RS[RS[S[S[,3,/#)rr<>rr<>)rBr
r r)rrs"<22>rrrDs1<00><><00>v+<2B>v+<2B>!<21>v+<2B> <0E>{<7B>D<EFBFBD>(<28>5<EFBFBD>/<2F>1<> 2<>v+rc  <0C><><00>RpRpRpVP4pVfEM`VPR8Xd:VfVPV4pVPW P 4RRR7pKaVPR8XdRVP ^4R8Xd<VfVPV4pVPW P 4R RR7pRpK<>VP\9dEVfVPV4pVPW P4PR
RR7pEKVP\9dEVfVPV4pVPW P4PR RR7pEKuVP\9dEVfVPV4pVPW P4PR RR7pEK<>VP\9dpVfVPV4pVP4pVPV\P!VP.VPV4R 7R RR7pRpEKRVPR8XdzV'dEM
VfVPV4pVP4pVPV\P!VP.VPV4R 7R RR7pRpEK<>VPR9d=VfVPV4pVPW P4R RR7pRpEK)VPR8Xd=VfVPV4pVPW P!4R RR7pRpEKvVf'VP#RVP$P&4V'gV'gVP#RV4W#V3#)avParse declaration-specifier sequence.
allow_no_type:
If True, allow a missing type specifier without error.
Returns:
(spec, saw_type, first_coord) where spec is a dict with
qual/storage/type/function/alignment entries, saw_type is True
if a type specifier was consumed, and first_coord is the coord
of the first specifier token (used for diagnostics).
NFT<EFBFBD>_ALIGNASr<53><00>rs<00>_ATOMICrArCr<>r<>r<>r<>rB<00>ENUMr<4D>r<><00><00>UNION<4F>STRUCT)r]rCr`r<><00>_parse_alignment_specifierr<00>_parse_atomic_specifierr[r
r_<00>_STORAGE_CLASS<53>_FUNCTION_SPEC<45>_TYPE_SPEC_SIMPLEr r<><00> _parse_struct_or_union_specifier<65>_parse_enum_specifierr^rNrV)r%r<>r<>r<><00> first_coordrbs&& rr<><00>%CParser._parse_declaration_specifierss<><00><00><14><04><18><08><1A> <0B><12><16>*<2A>*<2A>,<2C>C<EFBFBD><12>{<7B><15><12>x<EFBFBD>x<EFBFBD>:<3A>%<25><1E>&<26>"&<26>/<2F>/<2F>#<23>"6<>K<EFBFBD><1B>6<>6<><18>9<>9<>;<3B>[<5B>QU<51>7<><12><04><19><12>x<EFBFBD>x<EFBFBD>9<EFBFBD>$<24><14><1F><1F><11>);<3B>x<EFBFBD>)G<><1E>&<26>"&<26>/<2F>/<2F>#<23>"6<>K<EFBFBD><1B>6<>6<><18>6<>6<>8<>&<26><14>7<><12><04> <20><08><18><12>x<EFBFBD>x<EFBFBD>?<3F>*<2A><1E>&<26>"&<26>/<2F>/<2F>#<23>"6<>K<EFBFBD><1B>6<>6<><18>-<2D>-<2D>/<2F>/<2F>/<2F><16><04>7<><12><04><19><12>x<EFBFBD>x<EFBFBD>><3E>)<29><1E>&<26>"&<26>/<2F>/<2F>#<23>"6<>K<EFBFBD><1B>6<>6<><18>-<2D>-<2D>/<2F>/<2F>/<2F><19>4<EFBFBD>7<><12><04><19><12>x<EFBFBD>x<EFBFBD>><3E>)<29><1E>&<26>"&<26>/<2F>/<2F>#<23>"6<>K<EFBFBD><1B>6<>6<><18>-<2D>-<2D>/<2F>/<2F>/<2F><1A>D<EFBFBD>7<><12><04><19><12>x<EFBFBD>x<EFBFBD>,<2C>,<2C><1E>&<26>"&<26>/<2F>/<2F>#<23>"6<>K<EFBFBD><1A>m<EFBFBD>m<EFBFBD>o<EFBFBD><03><1B>6<>6<><18><19>(<28>(<28>#<23>)<29>)<29><1B>D<EFBFBD>O<EFBFBD>O<EFBFBD>C<EFBFBD><P<>Q<><1A><1F> 7<><12><04>  <20><08><18><12>x<EFBFBD>x<EFBFBD>8<EFBFBD>#<23><1B><19><1E>&<26>"&<26>/<2F>/<2F>#<23>"6<>K<EFBFBD><1A>m<EFBFBD>m<EFBFBD>o<EFBFBD><03><1B>6<>6<><18><19>(<28>(<28>#<23>)<29>)<29><1B>D<EFBFBD>O<EFBFBD>O<EFBFBD>C<EFBFBD><P<>Q<><1A><1F> 7<><12><04>  <20><08><18><12>x<EFBFBD>x<EFBFBD>.<2E>.<2E><1E>&<26>"&<26>/<2F>/<2F>#<23>"6<>K<EFBFBD><1B>6<>6<><18>?<3F>?<3F>A<>6<EFBFBD>RV<52>7<><12><04> <20><08><18><12>x<EFBFBD>x<EFBFBD>6<EFBFBD>!<21><1E>&<26>"&<26>/<2F>/<2F>#<23>"6<>K<EFBFBD><1B>6<>6<><18>4<>4<>6<><06>t<EFBFBD>7<><12><04> <20><08><18> <11> <0F><<3C> <10> <1D> <1D>3<>T<EFBFBD>Y<EFBFBD>Y<EFBFBD>5G<35>5G<35> H<><17> <0A> <10> <1D> <1D>;<3B>[<5B> I<><13>{<7B>*<2A>*rc<00><<01>V^8<>dQhRR/#)rrr<>r+)rrs"<22>rrrD<00>s<00><><00>`<14>`<14><1B>`rc <08><><00>RpRpRpRpVP4pVfEM<>VPR8Xd<VfVPV4pVPWP 4RRR7pRpKcVPR8XdRVP ^4R8Xd<VfVPV4pVPWP 4RRR7pRpK<>VP\9dEVfVPV4pVPWP4PR RR7pEKVP\9dpVfVPV4pVP4pVPV\P!VP.VPV4R
7RRR7pRpEK<>VPR 8XdzV'dEM
VfVPV4pVP4pVPV\P!VP.VPV4R
7RRR7pRpEK,VPR9d=VfVPV4pVPWP4RRR7pRpEKyVPR 8Xd=VfVPV4pVPWP4RRR7pRpEK<>Vf'VPR VP P"4V'gV'gVPRV4VP%R4f.VR&VP%R4f.VR&V#)NFTr<54>r<>r<>r<>rArCr<>r<>rBr<>zInvalid specifier listr<74>r<>r<>r<>)r]rCr`r<>r<>rr<>r[r
r_r<>r r<>r<>r<>r^rNrVr<>)r%r<>r<><00> saw_alignmentr<74>rbs& r<00>_parse_specifier_qualifier_list<73>'CParser._parse_specifier_qualifier_list<73>s"<00><00><13><04><18><08><1D> <0A><1A> <0B><12><16>*<2A>*<2A>,<2C>C<EFBFBD><12>{<7B><15><12>x<EFBFBD>x<EFBFBD>:<3A>%<25><1E>&<26>"&<26>/<2F>/<2F>#<23>"6<>K<EFBFBD><1B>6<>6<><18>9<>9<>;<3B>[<5B>QU<51>7<><12><04>!%<25> <0A><18><12>x<EFBFBD>x<EFBFBD>9<EFBFBD>$<24><14><1F><1F><11>);<3B>x<EFBFBD>)G<><1E>&<26>"&<26>/<2F>/<2F>#<23>"6<>K<EFBFBD><1B>6<>6<><18>6<>6<>8<>&<26><14>7<><12><04> <20><08><18><12>x<EFBFBD>x<EFBFBD>?<3F>*<2A><1E>&<26>"&<26>/<2F>/<2F>#<23>"6<>K<EFBFBD><1B>6<>6<><18>-<2D>-<2D>/<2F>/<2F>/<2F><16><04>7<><12><04><19><12>x<EFBFBD>x<EFBFBD>,<2C>,<2C><1E>&<26>"&<26>/<2F>/<2F>#<23>"6<>K<EFBFBD><1A>m<EFBFBD>m<EFBFBD>o<EFBFBD><03><1B>6<>6<><18><19>(<28>(<28>#<23>)<29>)<29><1B>D<EFBFBD>O<EFBFBD>O<EFBFBD>C<EFBFBD><P<>Q<><1A><1F> 7<><12><04>  <20><08><18><12>x<EFBFBD>x<EFBFBD>8<EFBFBD>#<23><1B><19><1E>&<26>"&<26>/<2F>/<2F>#<23>"6<>K<EFBFBD><1A>m<EFBFBD>m<EFBFBD>o<EFBFBD><03><1B>6<>6<><18><19>(<28>(<28>#<23>)<29>)<29><1B>D<EFBFBD>O<EFBFBD>O<EFBFBD>C<EFBFBD><P<>Q<><1A><1F> 7<><12><04>  <20><08><18><12>x<EFBFBD>x<EFBFBD>.<2E>.<2E><1E>&<26>"&<26>/<2F>/<2F>#<23>"6<>K<EFBFBD><1B>6<>6<><18>?<3F>?<3F>A<>6<EFBFBD>RV<52>7<><12><04> <20><08><18><12>x<EFBFBD>x<EFBFBD>6<EFBFBD>!<21><1E>&<26>"&<26>/<2F>/<2F>#<23>"6<>K<EFBFBD><1B>6<>6<><18>4<>4<>6<><06>t<EFBFBD>7<><12><04> <20><08><18> <11> <0F><<3C> <10> <1D> <1D>6<><04> <09> <09>8J<38>8J<38> K<><17> <0A> <10> <1D> <1D>;<3B>[<5B> I<> <0F>8<EFBFBD>8<EFBFBD>I<EFBFBD> <1E> &<26> <20>D<EFBFBD><19>O<EFBFBD> <0F>8<EFBFBD>8<EFBFBD>J<EFBFBD> <1F> '<27>!<21>D<EFBFBD><1A> <1C><13> rc<00>0<<01>V^8<>dQhRS[S[,/#r)rr)rrs"<22>rrrD<00>s<00><><00><15><15>D<EFBFBD><13>I<EFBFBD>rc<08><><00>.pVP4\9d,VPVP4P4KDV#rr)rr[rsr
r_)r%r<>s& r<00>_parse_type_qualifier_list<73>"CParser._parse_type_qualifier_list<73>s3<00><00><12><05><12>o<EFBFBD>o<EFBFBD><1F>?<3F>2<> <11>L<EFBFBD>L<EFBFBD><14><1D><1D><1F>.<2E>.<2E> /<2F><14> rc<00>4<<01>V^8<>dQhRS[P/#r<00>r r<>)rrs"<22>rrrDs<00><><00> 9<> 9<>E<EFBFBD>J<EFBFBD>J<EFBFBD> 9rc<08><><00>VPR4pVPR4VP4'dGVP4pVPR4\P!W P V44#VP 4pVPR4\P!W0P V44#)r<>rArZ)rr-rkr <00>Alignasr`<00>_parse_constant_expression)r%rbr<><00>exprs& rr<><00>"CParser._parse_alignment_specifiers<><00><00><12>l<EFBFBD>l<EFBFBD>:<3A>&<26><03> <0C> <0C> <0C>X<EFBFBD><1E> <0F> #<23> #<23> %<25> %<25><16>'<27>'<27>)<29>C<EFBFBD> <10>L<EFBFBD>L<EFBFBD><18> "<22><18>=<3D>=<3D><13>o<EFBFBD>o<EFBFBD>c<EFBFBD>&:<3A>;<3B> ;<3B><13>.<2E>.<2E>0<><04> <0C> <0C> <0C>X<EFBFBD><1E><14>}<7D>}<7D>T<EFBFBD>?<3F>?<3F>3<EFBFBD>#7<>8<>8rc<00>4<<01>V^8<>dQhRS[P/#rr<>)rrs"<22>rrrDs<00><><00><13><13><15><1A><1A>rc<08><><00>VPR4VPR4VP4pVPR4VPPR4V#)r<>rArZ<00>_Atomic)rrkr<>rs)r%r<>s& rr<><00>CParser._parse_atomic_specifiersK<00><00> <0C> <0C> <0C>Y<EFBFBD><1F> <0C> <0C> <0C>X<EFBFBD><1E><12>#<23>#<23>%<25><03> <0C> <0C> <0C>X<EFBFBD><1E> <0B> <09> <09><18><18><19>#<23><12>
rc<00>H<<01>V^8<>dQhRS[R,RS[RS[R,/#)rr<>r<>r=r)r rBr)rrs"<22>rrrDs/<00><><00> <15> <15><1D>k<EFBFBD>*<2A> <15><@<40> <15> <0A>k<EFBFBD> <1A> rc<08><><00>VeV.MVPVR7.pVPR4'd$VPVPVR74K:V#)Nr<4E><00>COMMA)<03>_parse_init_declaratorrrs)r%r<>r=r<>s&&& rr<><00>#CParser._parse_init_declarator_listsZ<00><00>
<15> <20><13>G<EFBFBD><16>-<2D>-<2D>g<EFBFBD>-<2D>><3E>?<3F> <0E> <13>l<EFBFBD>l<EFBFBD>7<EFBFBD>#<23>#<23> <11>L<EFBFBD>L<EFBFBD><14>4<>4<>W<EFBFBD>4<>E<> F<><14> rc<00>$<<01>V^8<>dQhRS[RR/#)rr=rr<>r5)rrs"<22>rrrD's<00><><00>8<>8<>d<EFBFBD>8<>{<7B>8rc<08><><00>V'dVP4MVP4pRpVPR4'dVP4p\ W#RR7#)Nr<4E>r<>)rT<00>_parse_declaratorrr<>rO)r%r=r<>r<>s&& rr<><00>CParser._parse_init_declarator'sL<00><00>.5<EFBFBD>t<EFBFBD>(<28>(<28>*<2A>4<EFBFBD>;Q<>;Q<>;S<><04><13><04> <0F><<3C><<3C><08> !<21> !<21><17>*<2A>*<2A>,<2C>D<EFBFBD><13><14>$<24>7<>7rc<00>4<<01>V^8<>dQhRS[P/#rr<>)rrs"<22>rrrD3s<00><><00>T<01>T<01>%<25>*<2A>*<2A>Trc<08><><00>VP4pVPVP4pVP4R9d<>VP4pVP4R8Xd<>VP4VP R4'd%V!VP.VP V4R7#VP 4pVPR4V!VPW@P V4R7#V!VPRVP V4R7#VP4R8Xd|VP4pVP R4'dV!R.VP V4R7#VP 4pVPR4V!RW@P V4R7#VPRVP V44R#)r?r<00>RBRACE)r<>r<>rlNz Invalid struct/union declaration>r?rB) r
r<>r_rrr`<00>_parse_struct_declaration_listrr^)r%rb<00>klass<73>name_tokr<6B><00> brace_toks& rr<><00>(CParser._parse_struct_or_union_specifier3so<00><00><12>m<EFBFBD>m<EFBFBD>o<EFBFBD><03><14>/<2F>/<2F><03> <09> <09>:<3A><05> <0F>?<3F>?<3F> <1C> 0<> 0<><1B>}<7D>}<7D><EFBFBD>H<EFBFBD><13><EFBFBD><EFBFBD> <20>H<EFBFBD>,<2C><14> <0A> <0A><0F><17><<3C><<3C><08>)<29>)<29> <20>%<25>^<5E>^<5E>2<EFBFBD>T<EFBFBD>_<EFBFBD>_<EFBFBD>X<EFBFBD>=V<><16><16><1D>;<3B>;<3B>=<3D><05><14> <0C> <0C>X<EFBFBD>&<26><1C>!<21><1E><1E>u<EFBFBD>O<EFBFBD>O<EFBFBD>H<EFBFBD><U<><12><12><19><1D>^<5E>^<5E>4<EFBFBD>t<EFBFBD><EFBFBD><EFBFBD>x<EFBFBD>7P<37><0E> <0E> <10>?<3F>?<3F> <1C><08> (<28><1C> <0A> <0A><0F>I<EFBFBD><13>|<7C>|<7C>H<EFBFBD>%<25>%<25><1C>$<24>b<EFBFBD><04><0F><0F> <09>8R<38>S<>S<><18>7<>7<>9<>E<EFBFBD> <10>L<EFBFBD>L<EFBFBD><18> "<22><18>d<EFBFBD>%<25><EFBFBD><EFBFBD>y<EFBFBD>7Q<37>R<> R<> <0C><19><19><<3C>d<EFBFBD>o<EFBFBD>o<EFBFBD>c<EFBFBD>>R<>Src<00>D<<01>V^8<>dQhRS[S[P,/#rrt)rrs"<22>rrrDTs<00><><00><15><15><04>U<EFBFBD>Z<EFBFBD>Z<EFBFBD>0@<40>rc<08><><00>.pVP4R9d*VP4pVfK+VPV4K>V#)N>Nr<4E>)r<00>_parse_struct_declarationrv)r%r<><00>itemss& rr<><00>&CParser._parse_struct_declaration_listTs><00><00><12><05><12>o<EFBFBD>o<EFBFBD><1F>'7<>7<><18>2<>2<>4<>E<EFBFBD><14>}<7D><18> <11>L<EFBFBD>L<EFBFBD><15> <1F><14> rc<00>T<<01>V^8<>dQhRS[S[S[P,,/#r)r rr r<>)rrs"<22>rrrD`s"<00><><00>
<EFBFBD>
<EFBFBD>8<EFBFBD>D<EFBFBD><15><1A><1A>4D<34>+E<>
rc <08>:<00>VP4R8XdVP4R#VP4R9dVP4.#VP4pRVP R.49gQhRpVP 4'gVP4R8XdVP 4pVe$VPR4VPWR7#\VR,4^8Xd{VR,^,p\V\P4'dTpM\P!V4pVPR4VPV\VRRR7.R7#VPR4VPV\RRRR7.R7#) r}Nr<4E>r<><00>COLON<4F>r<>r<>rCr<>r<>)rr
r<>r<>r<>rD<00>_parse_struct_declarator_listrr<>rzr<>r r<>r<>rO)r%r<>r<><00>node<64> decl_types& rr<><00>!CParser._parse_struct_declaration`sl<00><00> <0F>?<3F>?<3F> <1C><06> &<26> <10>M<EFBFBD>M<EFBFBD>O<EFBFBD><17> <0F>?<3F>?<3F> <1C> 7<> 7<><18>2<>2<>4<>5<> 5<><13>3<>3<>5<><04><18><04><08><08><19>B<EFBFBD> 7<>7<>7<>7<><14><05> <0F> "<22> "<22> $<24> $<24><04><0F><0F>(9<>W<EFBFBD>(D<><18>6<>6<>8<>E<EFBFBD> <10> <1C> <10>L<EFBFBD>L<EFBFBD><16> <20><17>+<2B>+<2B><14>+<2B>C<> C<> <0E>t<EFBFBD>F<EFBFBD>|<7C> <1C><01> !<21><17><06><<3C><01>?<3F>D<EFBFBD><19>$<24><05>
<EFBFBD>
<EFBFBD>+<2B>+<2B> <20> <09>!<21>0<>0<><14>6<> <09> <10>L<EFBFBD>L<EFBFBD><16> <20><17>+<2B>+<2B><19>$<24>I<EFBFBD>D<EFBFBD>$<24>"O<>!P<>,<2C><0E> <0E> <0A> <0C> <0C>V<EFBFBD><1C><13>'<27>'<27><15>d<EFBFBD><04>4<EFBFBD><14>F<>G<>(<28>
<EFBFBD>
rc<00>.<<01>V^8<>dQhRS[R,/#<00>rrr<>)r)rrs"<22>rrrD<00>s<00><><00><15><15>t<EFBFBD>K<EFBFBD>/@<40>rc<08><><00>VP4.pVPR4'd"VPVP44K8V#<00>r<>)<03>_parse_struct_declaratorrrsr<>s& rr<><00>%CParser._parse_struct_declarator_list<73>s<<00><00><15>.<2E>.<2E>0<>1<><05><12>l<EFBFBD>l<EFBFBD>7<EFBFBD>#<23>#<23> <11>L<EFBFBD>L<EFBFBD><14>6<>6<>8<> 9<><14> rc<00><<01>V^8<>dQhRR/#r<>r+)rrs"<22>rrrD<00>s<00><><00>=<3D>=<3D>+<2B>=rc<08><00>VPR4'd0VP4pR\P!RRRR4RRRV/#VP 4pVPR4'dVP4pRVRRRV/#RVRRRR/#)r<>r<>Nr<4E>r<>)rr<>r r<>r<>)r%r<>r<>s& rr<><00> CParser._parse_struct_declarator<6F>s<><00><00> <0F><<3C><<3C><07> <20> <20><1A>5<>5<>7<>G<EFBFBD><16><05><0E><0E>t<EFBFBD>T<EFBFBD>4<EFBFBD><14>><3E><16><04><19>7<EFBFBD><0E> <0E> <14>%<25>%<25>'<27><04> <0F><<3C><<3C><07> <20> <20><1A>5<>5<>7<>G<EFBFBD><1A>D<EFBFBD>&<26>$<24> <09>7<EFBFBD>C<> C<><16><04>f<EFBFBD>d<EFBFBD>I<EFBFBD>t<EFBFBD><<3C><rc<00>4<<01>V^8<>dQhRS[P/#rr<>)rrs"<22>rrrD<00>s<00><><00>=<3D>=<3D>u<EFBFBD>z<EFBFBD>z<EFBFBD>=rc<08>l<00>VPR4pVP4R9d<>VP4pVP4R8XdbVP4VP4pVPR4\P
!VP W0PV44#\P
!VP RVPV44#VPR4VP4pVPR4\P
!RW0PV44#)r<>rr<>N>r?rB)rrr
<00>_parse_enumerator_listr r<>r_r`)r%rbr<><00>enumss& rr<><00>CParser._parse_enum_specifier<65>s<><00><00><12>l<EFBFBD>l<EFBFBD>6<EFBFBD>"<22><03> <0F>?<3F>?<3F> <1C> 0<> 0<><1B>}<7D>}<7D><EFBFBD>H<EFBFBD><13><EFBFBD><EFBFBD> <20>H<EFBFBD>,<2C><14> <0A> <0A><0F><1C>3<>3<>5<><05><14> <0C> <0C>X<EFBFBD>&<26><1C>z<EFBFBD>z<EFBFBD>(<28>.<2E>.<2E>%<25><1F><1F><13>9M<39>N<>N<><18>:<3A>:<3A>h<EFBFBD>n<EFBFBD>n<EFBFBD>d<EFBFBD>D<EFBFBD>O<EFBFBD>O<EFBFBD>C<EFBFBD>4H<34>I<> I<> <0C> <0C> <0C>X<EFBFBD><1E><14>+<2B>+<2B>-<2D><05> <0C> <0C> <0C>X<EFBFBD><1E><14>z<EFBFBD>z<EFBFBD>$<24><05><EFBFBD><EFBFBD>s<EFBFBD>';<3B><<3C><rc<00>4<<01>V^8<>dQhRS[P/#rr<>)rrs"<22>rrrD<00>s<00><><00><19><19><05>
<EFBFBD>
<EFBFBD>rc<08>"<00>VP4p\P!V.VP4pVP R4'dFVP 4R8XdV#VP4pVP PV4K\V#<00>r<>r<>)<08>_parse_enumeratorr <00>EnumeratorListrlrr<00> enumeratorsrs)r%<00>enum<75> enum_lists& rr<><00>CParser._parse_enumerator_list<73>s{<00><00><13>%<25>%<25>'<27><04><19>(<28>(<28>$<24><16><14><1A><1A><<3C> <09><12>l<EFBFBD>l<EFBFBD>7<EFBFBD>#<23>#<23><13><EFBFBD><EFBFBD> <20>H<EFBFBD>,<2C><15><19><18><18>)<29>)<29>+<2B>D<EFBFBD> <15> !<21> !<21> (<28> (<28><14> .<2E><18>rc<00>4<<01>V^8<>dQhRS[P/#rr<>)rrs"<22>rrrD<00>s<00><><00><14><14>5<EFBFBD>:<3A>:<3A>rc<08>(<00>VPR4pVPR4'dVP4pMRp\P!VP
W P V44pVPVPVP4V#)r?r<>N)
rrr<>r <00>
Enumeratorr_r`r<>r<>rl)r%r<>r_rs& rr<><00>CParser._parse_enumerator<6F>sn<00><00><17><<3C><<3C><04>%<25><08> <0F><<3C><<3C><08> !<21> !<21><18>3<>3<>5<>E<EFBFBD><18>E<EFBFBD><14><1F><1F><08><0E><0E><05><EFBFBD><EFBFBD>x<EFBFBD>7P<37>Q<><04> <0C><1C><1C>T<EFBFBD>Y<EFBFBD>Y<EFBFBD><04>
<EFBFBD>
<EFBFBD>3<><13> rc<00>4<<01>V^8<>dQhRS[P/#rr<>)rrs"<22>rrrD<00>s<00><><00><14><14>5<EFBFBD>:<3A>:<3A>rc<08><<00>VPRRR7wrVfQhV#)F<>rNrO)rV)r%r<>r<>s& rr<><00>CParser._parse_declarator<6F>s1<00><00><16>,<2C>,<2C> <20>5<EFBFBD>-<2D>
<EFBFBD><07><04><14><1F><1F><1F><13> rc<00>4<<01>V^8<>dQhRS[P/#rr<>)rrs"<22>rrrD<00>s<00><><00>H<01>H<01>e<EFBFBD>j<EFBFBD>j<EFBFBD>Hrc<08>(<00>VPRRR7#)r<>T<>r<><00> allow_paren<65><01>_parse_declarator_kindrts&rrT<00>CParser._parse_id_declarator<6F>s<00><00><13>*<2A>*<2A><04>$<24>*<2A>G<>Grc<00>4<<01>V^8<>dQhRS[P/#rr<>)rrs"<22>rrrD<00>s<00><><00>L<01>L<01>%<25>*<2A>*<2A>Lrc<08>(<00>VPRRR7#)<03>typeidTrrrts&rrS<00> CParser._parse_typeid_declarator<6F>s<00><00><13>*<2A>*<2A><08>d<EFBFBD>*<2A>K<>Krc<00>4<<01>V^8<>dQhRS[P/#rr<>)rrs"<22>rrrD<00>s<00><><00>M<01>M<01>%<25>*<2A>*<2A>Mrc<08>(<00>VPRRR7#)rFrrrts&rrR<00>(CParser._parse_typeid_noparen_declarator<6F>s<00><00><13>*<2A>*<2A><08>e<EFBFBD>*<2A>L<>Lrc<00>@<<01>V^8<>dQhRS[RS[RS[P/#<00>rr<>rr<00>rrBr r<>)rrs"<22>rrrD<00>s&<00><><00><16><16>3<EFBFBD><16>T<EFBFBD><16>e<EFBFBD>j<EFBFBD>j<EFBFBD>rc<08><><00>RpVP4R8XdVP4pVPWR7pVeVPWC4#V#)Nr@<00>r)r<00>_parse_pointer<65>_parse_direct_declaratorr<72>)r%r<>r<00>ptr<74>directs&&& rr<00>CParser._parse_declarator_kind<6E>sR<00><00><12><03> <0F>?<3F>?<3F> <1C><07> '<27><16>%<25>%<25>'<27>C<EFBFBD><15>.<2E>.<2E>t<EFBFBD>.<2E>M<><06> <0E>?<3F><17>)<29>)<29>&<26>6<> 6<><15> rc<00>@<<01>V^8<>dQhRS[RS[RS[P/#rr)rrs"<22>rrrD<00>s)<00><><00>/<2F>/<2F><17>/<2F>&*<2A>/<2F> <0E><1A><1A>/rc <08>h<00>V'd=VPR4'd&VPVRR7pVPR4M^VR8XdVPR4pMVPR4p\P!VP
RRRVP V4R7pVPV4#) rATrrZr<>r?rBNr<4E>)rrrr r<>r_r`<00>_parse_decl_suffixes)r%r<>rr<>r<>s&&& rr <00> CParser._parse_direct_declarator<6F>s<><00><00> <17>4<EFBFBD><<3C><<3C><08>1<>1<><17>.<2E>.<2E>t<EFBFBD><14>.<2E>F<>D<EFBFBD> <10>L<EFBFBD>L<EFBFBD><18> "<22><13>t<EFBFBD>|<7C><1F><<3C><<3C><04>-<2D><08><1F><<3C><<3C><08>1<><08><18>><3E>><3E>!<21><1E><1E><19><1A><1A><1A>o<EFBFBD>o<EFBFBD>h<EFBFBD>/<2F> <0E>D<EFBFBD><14>(<28>(<28><14>.<2E>.rc<00>N<<01>V^8<>dQhRS[PRS[P/#)rr<>rr<>)rrs"<22>rrrD<00>s#<00><><00> <14> <14><15><1A><1A> <14><05>
<EFBFBD>
<EFBFBD> rc <0C><><00>VP4R8Xd#VPWPV44pK8VP4R8Xd%VPV4pVPW4pKqV#)zAParse a chain of array/function suffixes and attach them to decl.rarA)rr<><00>_parse_array_decl<63>_parse_function_decl)r%r<>r<>s&& rr&<00>CParser._parse_decl_suffixes<65>sl<00><00><12><13><EFBFBD><EFBFBD> <20>J<EFBFBD>.<2E><1B>-<2D>-<2D>d<EFBFBD>4J<34>4J<34>4<EFBFBD>4P<34>Q<><04><18><13><EFBFBD><EFBFBD> <20>H<EFBFBD>,<2C><1B>0<>0<><14>6<><04><1B>-<2D>-<2D>d<EFBFBD>9<><04><18> <11><13> rc<00>N<<01>V^8<>dQhRS[PRS[P/#<00>r<00> base_declrr<>)rrs"<22>rrrD s'<00><><00>T<01>T<01>5<EFBFBD>:<3A>:<3A>T<01>%<25>*<2A>*<2A>Trc<08><<00>VPRVPR7#<00>N)<02> base_typerl)<02>_parse_array_decl_commonrl)r%r/s&&rr*<00>CParser._parse_array_decl s<00><00><13>,<2C>,<2C>t<EFBFBD>9<EFBFBD>?<3F>?<3F>,<2C>S<>Src<00>t<<01>V^8<>dQhRS[S[P,RS[S[,RS[P/#)rr2rlr<00>r r r<>r)rrs"<22>rrrD s6<00><><00>7(<28>7(<28>!<21>%<25>*<2A>*<2A>-<2D>7(<28>6><3E>u<EFBFBD>o<EFBFBD>7(<28> <0E><1A><1A>7(rc <0C><>aa<02>VPR4pSfVPV4oVV3RlpVPR4'dLR.VP4;'g.,pVP 4pVPR4V!We4#VP 4\ 9EdVP4;'g.pVPR4'd4VR.,pVP 4pVPR4V!We4#VPR4pV'dJVPR4\P!VPVPV44pV!We4#RpVP4'dVP 4pVPR4V!We4#VPR4pV'dKVPR4\P!VPVPV44pV!V.4#RpVP4'dVP 4pVPR4V!V.4#)a Parse an array declarator suffix and return an ArrayDecl node.
base_type:
Base declarator node to attach (None for direct-declarator parsing,
TypeDecl for abstract declarators).
coord:
Coordinate to use for the ArrayDecl. If None, uses the '[' token.
raNc<00>6<<02>\P!SWSR7#))rC<00>dim<69> dim_qualsrl)r <00> ArrayDecl)r9r:r2rls&&<26><>r<00>make_array_decl<63>9CParser._parse_array_decl_common.<locals>.make_array_decls<00><><00><18>?<3F>?<3F><1E>C<EFBFBD>E<EFBFBD><0E> r<00>STATIC<49>static<69>RBRACKETr@) rr`rr<><00>_parse_assignment_expressionrr[r r?r_r2)r%r2rl<00>
lbrack_tokr<r:r9<00> times_toks&ff rr3<00> CParser._parse_array_decl_common s<><00><><00><1A>\<5C>\<5C>*<2A>-<2D>
<EFBFBD> <10>=<3D><18>O<EFBFBD>O<EFBFBD>J<EFBFBD>/<2F>E<EFBFBD> <0E>
<10><<3C><<3C><08> !<21> !<21>!<21>
<EFBFBD>d<EFBFBD>&E<>&E<>&G<>&M<>&M<>2<EFBFBD>N<>I<EFBFBD><16>3<>3<>5<>C<EFBFBD> <10>L<EFBFBD>L<EFBFBD><1A> $<24>"<22>3<EFBFBD>2<> 2<> <0F>?<3F>?<3F> <1C><0F> /<2F><1C>7<>7<>9<>?<3F>?<3F>R<EFBFBD>I<EFBFBD><13>|<7C>|<7C>H<EFBFBD>%<25>%<25>%<25><18>
<EFBFBD>2<> <09><1A>7<>7<>9<><03><14> <0C> <0C>Z<EFBFBD>(<28>&<26>s<EFBFBD>6<>6<><1C> <0C> <0C>W<EFBFBD>-<2D>I<EFBFBD><18><14> <0C> <0C>Z<EFBFBD>(<28><1B>h<EFBFBD>h<EFBFBD>y<EFBFBD><EFBFBD><EFBFBD><04><0F><0F> <09>0J<30>K<><03>&<26>s<EFBFBD>6<>6<><16>C<EFBFBD><13>&<26>&<26>(<28>(<28><1A>7<>7<>9<><03> <10>L<EFBFBD>L<EFBFBD><1A> $<24>"<22>3<EFBFBD>2<> 2<><18>L<EFBFBD>L<EFBFBD><17>)<29> <09> <14> <10>L<EFBFBD>L<EFBFBD><1A> $<24><17>(<28>(<28>9<EFBFBD>?<3F>?<3F>D<EFBFBD>O<EFBFBD>O<EFBFBD>I<EFBFBD>,F<>G<>C<EFBFBD>"<22>3<EFBFBD><02>+<2B> +<2B><12><03> <0F> "<22> "<22> $<24> $<24><16>3<>3<>5<>C<EFBFBD> <0C> <0C> <0C>Z<EFBFBD> <20><1E>s<EFBFBD>B<EFBFBD>'<27>'rc<00>N<<01>V^8<>dQhRS[PRS[P/#r.r<>)rrs"<22>rrrDFs#<00><><00><14><14>e<EFBFBD>j<EFBFBD>j<EFBFBD><14>U<EFBFBD>Z<EFBFBD>Z<EFBFBD>rc<08>Z<00>VPR4VPR4'dRpMGVP4'dVP4MVP 4pVPR4\
P !VRVPR7pVP4R8Xd<>VPesVPPFXp\V\
P4'dV#\VRR4pV'gK=VPWTP4KZ V#)rArZN<><03>argsrCrlrr<>)rrr-<00>_parse_parameter_type_list<73>_parse_identifier_list_optr r<>rlrrH<00>paramsr<73><00> EllipsisParam<61>getattrr<72>)r%r/rHr<><00>paramr<6D>s&& rr+<00>CParser._parse_function_declFs<><00><00> <0C> <0C> <0C>X<EFBFBD><1E> <0F><<3C><<3C><08> !<21> !<21><17>D<EFBFBD><18>+<2B>+<2B>-<2D>-<2D><15>/<2F>/<2F>1<><19>4<>4<>6<> <11>
<11>L<EFBFBD>L<EFBFBD><18> "<22><14>~<7E>~<7E>4<EFBFBD>d<EFBFBD>)<29>/<2F>/<2F>J<><04> <0F>?<3F>?<3F> <1C><08> (<28><13>y<EFBFBD>y<EFBFBD>$<24>!<21>Y<EFBFBD>Y<EFBFBD>-<2D>-<2D>E<EFBFBD>!<21>%<25><15>)<<3C>)<<3C>=<3D>=<3D><1D>
<14> <0B> #<23>5<EFBFBD>&<26>$<24>7<>D<EFBFBD><1B>t<EFBFBD><1C>,<2C>,<2C>T<EFBFBD>;<3B>;<3B>?<3F> .<2E><14> rc<00>D<<01>V^8<>dQhRS[S[P,/#r<00>r r r<>)rrs"<22>rrrD`s<00><><00><13><13><08><15><1A><1A> 4<>rc<08>6<00>.pVPR4pV'dOVP4;'g.pVPW0PV434VPR4pKVV'gR#RpVFwr5\P
!W4VR7pK V#)r@N)r<>rCrl)rr<>rsr`r <00>PtrDecl)r%<00>starsrCr<>r!rls& rr<00>CParser._parse_pointer`s<><00><00><12><05><18>L<EFBFBD>L<EFBFBD><17>)<29> <09><17><18>3<>3<>5<>;<3B>;<3B><12>E<EFBFBD> <11>L<EFBFBD>L<EFBFBD>%<25><1F><1F><19>!;<3B><<3C> =<3D><1C> <0C> <0C>W<EFBFBD>-<2D>I<EFBFBD><14><17><12><03>!<21>L<EFBFBD>E<EFBFBD><17>-<2D>-<2D>e<EFBFBD>U<EFBFBD>C<>C<EFBFBD>"<22><12>
rc<00>4<<01>V^8<>dQhRS[P/#r<00>r <00> ParamList)rrs"<22>rrrDqs<00><><00><16><16>E<EFBFBD>O<EFBFBD>O<EFBFBD>rc<08>8<00>VP4pVP4R8XduVP^4R8Xd_VP4VP4pVPP \
P !VPV444V#<00>r<><00>ELLIPSIS)<08>_parse_parameter_listrr
rKrsr rLr`)r%rK<00>ell_toks& rrI<00>"CParser._parse_parameter_type_listqsn<00><00><15>+<2B>+<2B>-<2D><06> <0F>?<3F>?<3F> <1C><07> '<27>D<EFBFBD>O<EFBFBD>O<EFBFBD>A<EFBFBD>,><3E>*<2A>,L<> <10>M<EFBFBD>M<EFBFBD>O<EFBFBD><1A>m<EFBFBD>m<EFBFBD>o<EFBFBD>G<EFBFBD> <12>M<EFBFBD>M<EFBFBD> <20> <20><15>!4<>!4<>T<EFBFBD>_<EFBFBD>_<EFBFBD>W<EFBFBD>5M<35>!N<> O<><15> rc<00>4<<01>V^8<>dQhRS[P/#rrW)rrs"<22>rrrDzs<00><><00><16><16>u<EFBFBD><EFBFBD><EFBFBD>rc<08>6<00>VP4p\P!V.VP4pVP 4R8XdRVP ^4R8wd<VP 4VP PVP44KfV#rZ)<08>_parse_parameter_declarationr rXrlrr
rKrs<00>r%r<>rKs& rr\<00>CParser._parse_parameter_listzsn<00><00><14>1<>1<>3<><05><16><1F><1F>%<25><17>%<25>+<2B>+<2B>6<><06><12>o<EFBFBD>o<EFBFBD><1F>7<EFBFBD>*<2A>t<EFBFBD><EFBFBD><EFBFBD>q<EFBFBD>/A<>Z<EFBFBD>/O<> <10>M<EFBFBD>M<EFBFBD>O<EFBFBD> <12>M<EFBFBD>M<EFBFBD> <20> <20><14>!B<>!B<>!D<> E<><15> rc<00>4<<01>V^8<>dQhRS[P/#rr<>)rrs"<22>rrrD<00>s<00><><00>I<01>I<01>e<EFBFBD>j<EFBFBD>j<EFBFBD>Irc <08><><00>VPRR7wrpVR,'g\P!R.VR7.VR&VP4'dWVP RRR7wrEV'd(VP V\ VRRR7.R7^,#VPWV4#VP4pVPWV4#) Tr<54>rCr*r<>r
Nr<4E>r<>) r<>r r<>rDrVr<>rO<00>_build_parameter_declarationrQ)r%r<>r<>r<>r<><00>is_nameds& rra<00>$CParser._parse_parameter_declaration<6F>s<><00><00>"<22>@<40>@<40>t<EFBFBD>@<40>T<><1B><04><1A><13>F<EFBFBD>|<7C>|<7C>!<21>0<>0<>%<25><17>
<EFBFBD>K<>L<>D<EFBFBD><16>L<EFBFBD> <0F> "<22> "<22> $<24> $<24>!<21>7<>7<>#<23>d<EFBFBD>8<><0E>N<EFBFBD>D<EFBFBD><18><1B>/<2F>/<2F><1D>d<EFBFBD><04>4<EFBFBD><14>&N<>%O<>0<><12><13><15><15><18>4<>4<>T<EFBFBD><1A>L<> L<><13>2<>2<>4<><04><13>0<>0<><14>Z<EFBFBD>H<>Hrc<00>x<<01>V^8<>dQhRRRS[S[P,RS[S[,RS[P/#)rr<>r<>r<>r<>rr6)rrs"<22>rrrD<00>s?<00><><00><<3C><<3C><1F><<3C>'/<2F><05>
<EFBFBD>
<EFBFBD>';<3B><<3C>IQ<49>RW<52><1F><<3C> <0E><1A><1A><rc <08><><00>\VR,4^8<>d<>\VR,R,P4^8Xd^VPVR,R,P^,4'd(VPV\ VRRR7.R7^,#\
P !RVR,RT;'g\
P!RRRR4VR7pVPW!R,4#)rCNr<4E>r<>r9r<><00>r<>r<>r<>rCrlr<>) rzr<>r<>r<>rOr r<>r<>r<>)r%r<>r<>r<>s&&&&rrf<00>$CParser._build_parameter_declaration<6F>s<><00><00> <10><04>V<EFBFBD> <0C> <1D><01> !<21><13>D<EFBFBD><16>L<EFBFBD><12>$<24>*<2A>*<2A>+<2B>q<EFBFBD>0<><14>&<26>&<26>t<EFBFBD>F<EFBFBD>|<7C>B<EFBFBD>'7<>'=<3D>'=<3D>a<EFBFBD>'@<40>A<>A<><17>+<2B>+<2B><19>$<24>D<EFBFBD>t<EFBFBD>T<EFBFBD>"J<>!K<>,<2C><0E><0F><11> <11><15>~<7E>~<7E><13><16>v<EFBFBD>,<2C><16><15>?<3F>?<3F><15><1E><1E><04>d<EFBFBD>D<EFBFBD>$<24>?<3F><1C> 
<EFBFBD><04><14>'<27>'<27><04>6<EFBFBD>l<EFBFBD>;<3B>;rc<00>D<<01>V^8<>dQhRS[S[P,/#rrQ)rrs"<22>rrrD<00>s<00><><00>-<2D>-<2D>H<EFBFBD>U<EFBFBD>Z<EFBFBD>Z<EFBFBD>,@<40>-rc<08>P<00>VP4R8XdR#VP4#<00>rZN)r<00>_parse_identifier_listrts&rrJ<00>"CParser._parse_identifier_list_opt<70>s#<00><00> <0F>?<3F>?<3F> <1C><08> (<28><17><13>*<2A>*<2A>,<2C>,rc<00>4<<01>V^8<>dQhRS[P/#rr<>)rrs"<22>rrrD<00>s<00><><00><16><16><05>
<EFBFBD>
<EFBFBD>rc<08><><00>VP4p\P!V.VP4pVP R4'd,VP
P VP44KBV#r<>)<07>_parse_identifierr rXrlrrKrsrbs& rrp<00>CParser._parse_identifier_list<73>sU<00><00><14>&<26>&<26>(<28><05><16><1F><1F>%<25><17>%<25>+<2B>+<2B>6<><06><12>l<EFBFBD>l<EFBFBD>7<EFBFBD>#<23>#<23> <12>M<EFBFBD>M<EFBFBD> <20> <20><14>!7<>!7<>!9<> :<3A><15> rc<00>4<<01>V^8<>dQhRS[P/#r)r r<>)rrs"<22>rrrD<00>s<00><><00>V<01>V<01>%<25>.<2E>.<2E>Vrc <08><><00>VP4pVP4pRpVeVPpM)VR,'dVR,^,Pp\P!RVR,R,RT;'g\P
!RRRR4VR7p\ \PVPWAR,44#)NrCr9r<>r<>rk)r<>rQrlr r<>r<>r r<>)r%r<>r<>rlr<>s& rrk<00>CParser._parse_type_name<6D>s<><00><00><13>3<>3<>5<><04><13>2<>2<>4<><04><14><05> <0F> <1B><18>J<EFBFBD>J<EFBFBD>E<EFBFBD> <11>&<26>\<5C>\<5C><18><16>L<EFBFBD><11>O<EFBFBD>)<29>)<29>E<EFBFBD><18>><3E>><3E><13><16>v<EFBFBD>,<2C>q<EFBFBD>/<2F><16><15>?<3F>?<3F><15><1E><1E><04>d<EFBFBD>D<EFBFBD>$<24>?<3F><17> 
<EFBFBD><08><14>E<EFBFBD>N<EFBFBD>N<EFBFBD>D<EFBFBD>$<<3C>$<<3C>X<EFBFBD>F<EFBFBD>|<7C>$T<>U<>Urc<00>D<<01>V^8<>dQhRS[S[P,/#rrQ)rrs"<22>rrrD<00>s<00><><00> <14> <14><08><15><1A><1A>0D<30> rc<08>J<00>VP4R8XdhVP4pVP4'dVP4pM\P
!RRRR4pVfQhVP W!4#VP4'dVP4#R#)r@N)rrrb<00>!_parse_direct_abstract_declaratorr r<>r<>)r%r!r<>s& rrQ<00>&CParser._parse_abstract_declarator_opt<70>s<><00><00> <0F>?<3F>?<3F> <1C><07> '<27><16>%<25>%<25>'<27>C<EFBFBD><13>6<>6<>8<>8<><1B>=<3D>=<3D>?<3F><04><1C>~<7E>~<7E>d<EFBFBD>D<EFBFBD>$<24><04>=<3D><04><16>?<3F> "<22>?<3F><17>)<29>)<29>$<24>4<> 4<> <0F> 2<> 2<> 4<> 4<><17>9<>9<>;<3B> ;<3B>rc<00>4<<01>V^8<>dQhRS[P/#rr<>)rrs"<22>rrrD<00>s<00><><00>/<2F>/<2F>5<EFBFBD>:<3A>:<3A>/rc <08>V<00>VPR4pV'd<>VP4'gVP4R8XdbVP4pVP R4\
P !V\
P!RRRR4VPV4R7pMtVP4pVP R4VfQhMLVP4R8XdVP4pM&VPRVPP4VPX4#)rArZNrGrazInvalid abstract declarator)rr-r<00>_parse_parameter_type_list_optrr r<>r<>r`rQ<00>_parse_abstract_array_baser^rNrVr&)r%rlrKr<>s& rr{<00>)CParser._parse_direct_abstract_declarator<6F>s<><00><00><19>\<5C>\<5C>(<28>+<2B>
<EFBFBD> <15><13>'<27>'<27>)<29>)<29>T<EFBFBD>_<EFBFBD>_<EFBFBD>-><3E>(<28>-J<><1D><<3C><<3C>><3E><06><14> <0C> <0C>X<EFBFBD>&<26><1C>~<7E>~<7E><1F><1E><1E><1E><04>d<EFBFBD>D<EFBFBD>$<24>?<3F><1E>/<2F>/<2F>*<2A>5<><12><04> <1C>:<3A>:<3A><<3C><04><14> <0C> <0C>X<EFBFBD>&<26><1B>'<27>'<27>'<27> <11>_<EFBFBD>_<EFBFBD> <1E>*<2A> ,<2C><17>2<>2<>4<>D<EFBFBD> <10> <1D> <1D>;<3B>T<EFBFBD>Y<EFBFBD>Y<EFBFBD>=O<>=O<> P<><13>(<28>(<28><14>.<2E>.rc<00>D<<01>V^8<>dQhRS[S[P,/#r)r r rX)rrs"<22>rrrD<00>s<00><><00>1<>1<><08><15><1F><1F>0I<30>1rc<08>P<00>VP4R8XdR#VP4#ro)rrIrts&rr<00>&CParser._parse_parameter_type_list_opt<70>s#<00><00> <0F>?<3F>?<3F> <1C><08> (<28><17><13>.<2E>.<2E>0<>0rc<00>4<<01>V^8<>dQhRS[P/#rr<>)rrs"<22>rrrDs<00><><00>
<EFBFBD>
<EFBFBD>E<EFBFBD>J<EFBFBD>J<EFBFBD>
rc<08>V<00>VP\P!RRRR4RR7#r1)r3r r<>rts&rr<><00>"CParser._parse_abstract_array_bases.<00><00><13>,<2C>,<2C><1B>n<EFBFBD>n<EFBFBD>T<EFBFBD>4<EFBFBD><14>t<EFBFBD><<3C>D<EFBFBD>-<2D>
<EFBFBD>
rc<00>h<<01>V^8<>dQhRS[PS[S[P,,/#r<00>r r<>r)rrs"<22>rrrD s&<00><><00>:<3A>:<3A>%<25>*<2A>*<2A>t<EFBFBD>E<EFBFBD>J<EFBFBD>J<EFBFBD>/?<3F>"?<3F>:rc<08><><00>VP4pT;;R8XdM
;R8XdMMVP4#;R8Xd(VP^4R8XdVP4#;R8XdVP4#;;R8XdM
;R8XdMMVP4#;;R8XdM;R8XdM
;R 8XdMMVP 4#;;R
8XdM;R 8XdM;R 8XdM
;R 8XdMMVP 4#;;R8XdM
;R8XdMMVP 4#R8XdVP4#VP4#)<11>CASE<53>DEFAULTr?r<>r<00>IF<49>SWITCH<43>WHILE<4C>DO<44>FOR<4F>GOTO<54>BREAK<41>CONTINUE<55>RETURNr<4E>r<>r~) r<00>_parse_labeled_statementr<74><00>_parse_selection_statement<6E>_parse_iteration_statement<6E>_parse_jump_statementr<74>r<><00>_parse_expression_statementr8s& r<00>_parse_statement<6E>CParser._parse_statement s<><00><00><17>?<3F>?<3F>$<24><08><16>#<23><16>)<29>#<23><1B>4<>4<>6<>6<><15><14><1F><1F><11>+<2B>w<EFBFBD>6<><1B>4<>4<>6<>6<><19><1B>5<>5<>7<>7<> <20><14><08><1F><1B>6<>6<>8<>8<>'<27><17>4<EFBFBD>%<25>'<27><1B>6<>6<>8<>8<>9<><16>'<27>J<EFBFBD><18>9<><1B>1<>1<>3<>3<>'<27><1A>i<EFBFBD>'<27><1B>5<>5<>7<>7<>!<21><1B>0<>0<>2<>2<><12><1B>7<>7<>9<>9rc<00>h<<01>V^8<>dQhRS[PS[S[P,,/#rr<>)rrs"<22>rrrD$s&<00><><00>'<27>'<27><05>
<EFBFBD>
<EFBFBD>T<EFBFBD>%<25>*<2A>*<2A>=M<>0M<30>'rc<08><><00>VP4R9dQVP4pVP4p\P!W.,V^,P
R7#VP4#)r<><00><02> block_itemsrlr<>)r<00>_parse_pppragma_directive_listr<74>r <00>Compoundrl)r%<00>pragmas<61>stmts& r<00>_parse_pragmacomp_or_statement<6E>&CParser._parse_pragmacomp_or_statement$s]<00><00> <0F>?<3F>?<3F> <1C> 7<> 7<><1A>9<>9<>;<3B>G<EFBFBD><17>(<28>(<28>*<2A>D<EFBFBD><18>><3E>><3E>g<EFBFBD><06>.><3E>g<EFBFBD>a<EFBFBD>j<EFBFBD>FV<46>FV<46>W<> W<><13>$<24>$<24>&<26>&rc<00>h<<01>V^8<>dQhRS[PS[S[P,,/#rr<>)rrs"<22>rrrD,s&<00><><00>'<27>'<27>5<EFBFBD>:<3A>:<3A><04>U<EFBFBD>Z<EFBFBD>Z<EFBFBD>0@<40>#@<40>'rc<08>n<00>VP4'dVP4#VP4#rr)r-r<>r<>rts&r<00>_parse_block_item<65>CParser._parse_block_item,s/<00><00> <0F> #<23> #<23> %<25> %<25><17>*<2A>*<2A>,<2C> ,<2C><13>$<24>$<24>&<26>&rc<00>D<<01>V^8<>dQhRS[S[P,/#rrt)rrs"<22>rrrD2s<00><><00>
<15>
<15><04>U<EFBFBD>Z<EFBFBD>Z<EFBFBD>(8<>
rc<08><><00>.pVP4R9dWVP4p\V\4'dVR.8XdKEVP V4KXVP V4KkV#)r<>N>Nr<4E>)rr<>r<><00>listrvrs)r%r<><00>items& r<00>_parse_block_item_list<73>CParser._parse_block_item_list2s[<00><00><12><05><12>o<EFBFBD>o<EFBFBD><1F>'7<>7<><17>)<29>)<29>+<2B>D<EFBFBD><19>$<24><04>%<25>%<25><17>D<EFBFBD>6<EFBFBD>><3E><1C><15> <0C> <0C>T<EFBFBD>"<22><15> <0C> <0C>T<EFBFBD>"<22><14> rc<00>4<<01>V^8<>dQhRS[P/#rr<>)rrs"<22>rrrD?s<00><><00>
<EFBFBD>
<EFBFBD>5<EFBFBD>:<3A>:<3A>
rc<08>.<00>VPR4pVPR4'd(\P!RVP V4R7#VP 4pVPR4\P!W P V4R7#)rr<>Nr<4E>)rrr r<>r`r<>)r%<00>
lbrace_tokr<EFBFBD>s& rr<><00>!CParser._parse_compound_statement?sp<00><00><19>\<5C>\<5C>(<28>+<2B>
<EFBFBD> <0F><<3C><<3C><08> !<21> !<21><18>><3E>><3E>d<EFBFBD>$<24>/<2F>/<2F>*<2A>:U<>V<> V<><1A>1<>1<>3<> <0B> <0C> <0C> <0C>X<EFBFBD><1E><14>~<7E>~<7E>#<23>?<3F>?<3F>:<3A>+F<>
<EFBFBD>
rc<00>4<<01>V^8<>dQhRS[P/#rr<>)rrs"<22>rrrDLs<00><><00>S<01>S<01>%<25>*<2A>*<2A>Src<08>L<00>VP4pT;R8Xd<>VP4pVPR4VP4'dVP 4pM%\
P !VPV44p\
P!VPW0PV44#;R8Xd<>VP4pVP4pVPR4VP4'dVP 4pM%\
P !VPV44p\
P!WS.VPV44#R8Xd<>VP4pVPR4VP4'dVP 4pM%\
P !VPV44p\
P!V.VPV44#VPRVPP4R#)r?r<>r<>r<>zInvalid labeled statementN)rr
rr:r<>r <00>EmptyStatementr`<00>Labelr_r<><00>Case<73>Defaultr^rNrV)r%r9r<>r<><00>case_tokr<6B><00>def_toks& rr<><00> CParser._parse_labeled_statementLs<><00><00><17>?<3F>?<3F>$<24><08><16><15><1F>=<3D>=<3D>?<3F><08><14> <0C> <0C>W<EFBFBD>%<25><17>)<29>)<29>+<2B>+<2B><1F>><3E>><3E>@<40>D<EFBFBD> <20>/<2F>/<2F><04><0F><0F><08>0I<30>J<>D<EFBFBD><1C>{<7B>{<7B>8<EFBFBD>><3E>><3E>4<EFBFBD><1F><1F><18>9R<39>S<>S<><17><1F>=<3D>=<3D>?<3F><08><1B>6<>6<>8<><04><14> <0C> <0C>W<EFBFBD>%<25><17>)<29>)<29>+<2B>+<2B><1F>><3E>><3E>@<40>D<EFBFBD> <20>/<2F>/<2F><04><0F><0F><08>0I<30>J<>D<EFBFBD><1C>z<EFBFBD>z<EFBFBD>$<24><06><04><0F><0F><08>0I<30>J<>J<><1A><1E>-<2D>-<2D>/<2F><07><14> <0C> <0C>W<EFBFBD>%<25><17>)<29>)<29>+<2B>+<2B><1F>><3E>><3E>@<40>D<EFBFBD> <20>/<2F>/<2F><04><0F><0F><07>0H<30>I<>D<EFBFBD><1C>}<7D>}<7D>d<EFBFBD>V<EFBFBD>T<EFBFBD>_<EFBFBD>_<EFBFBD>W<EFBFBD>-E<>F<>F<><12><14>!<21>!<21>"=<3D>t<EFBFBD>y<EFBFBD>y<EFBFBD>?Q<>?Q<>Rrc<00>4<<01>V^8<>dQhRS[P/#rr<>)rrs"<22>rrrDms<00><><00>W<01>W<01>E<EFBFBD>J<EFBFBD>J<EFBFBD>Wrc <08><><00>VP4pVP;R8Xd<>VPR4VP4pVPR4VP 4pVP R4'd7VP 4p\ P!W#W@PV44#\ P!W#RVPV44#R8XdrVPR4VP4pVPR4VP 4p\\ P!WVVPV444#VPRVPV44R#)r<>rArZ<00>ELSENr<4E>zInvalid selection statement) r
rCr<00>_parse_expressionr<6E>rr <00>Ifr`r<00>Switchr^)r%rb<00>cond<6E> then_stmt<6D> else_stmtr<74>r<>s& rr<><00>"CParser._parse_selection_statementms<00><00><12>m<EFBFBD>m<EFBFBD>o<EFBFBD><03><11>h<EFBFBD>h<EFBFBD><15><14> <0C> <0C>X<EFBFBD>&<26><1B>-<2D>-<2D>/<2F><04><14> <0C> <0C>X<EFBFBD>&<26> <20>?<3F>?<3F>A<> <09><17><<3C><<3C><06>'<27>'<27> $<24> C<> C<> E<>I<EFBFBD> <20>8<EFBFBD>8<EFBFBD>D<EFBFBD>Y<EFBFBD><0F><0F>PS<50>@T<>U<>U<><1C>x<EFBFBD>x<EFBFBD><04><14>t<EFBFBD><EFBFBD><EFBFBD>s<EFBFBD>7K<37>L<>L<><19><14> <0C> <0C>X<EFBFBD>&<26><1B>-<2D>-<2D>/<2F><04><14> <0C> <0C>X<EFBFBD>&<26><1B>:<3A>:<3A><<3C><04>'<27><05> <0C> <0C>T<EFBFBD><14><1F><1F>QT<51>AU<41>(V<>W<>W<><12><14>!<21>!<21>"?<3F><14><1F><1F>QT<51>AU<41>Vrc<00>4<<01>V^8<>dQhRS[P/#rr<>)rrs"<22>rrrD<00>s<00><><00>&W<01>&W<01>E<EFBFBD>J<EFBFBD>J<EFBFBD>&Wrc <08>p<00>VP4pVP;R8XdjVPR4VP4pVPR4VP 4p\
P !W#VPV44#;R8Xd<>VP 4pVPR4VPR4VP4pVPR4VPR4\
P!W#VPV44#R8XEdpVPR4VP4'd<>VP4p\
P!W@PV44pVP4pVPR4VP4pVPR4VP 4p\
P!WRWcVPV44#VP4pVPR4VP4pVPR4VP4pVPR4VP 4p\
P!WRWcVPV44#VPRVPV44R#)r<>rArZr<>r}r<>zInvalid iteration statementN)r
rCrr<>r<>r <00>Whiler`<00>DoWhiler-r<><00>DeclList<73>_parse_expression_opt<70>Forr^)r%rbr<>r<>r<>r<><00> next_exprs& rr<><00>"CParser._parse_iteration_statement<6E>s<00><00><12>m<EFBFBD>m<EFBFBD>o<EFBFBD><03><11>h<EFBFBD>h<EFBFBD><18><14> <0C> <0C>X<EFBFBD>&<26><1B>-<2D>-<2D>/<2F><04><14> <0C> <0C>X<EFBFBD>&<26><1B>:<3A>:<3A><<3C><04><1C>{<7B>{<7B>4<EFBFBD>t<EFBFBD><EFBFBD><EFBFBD>s<EFBFBD>/C<>D<>D<><15><1B>:<3A>:<3A><<3C><04><14> <0C> <0C>W<EFBFBD>%<25><14> <0C> <0C>X<EFBFBD>&<26><1B>-<2D>-<2D>/<2F><04><14> <0C> <0C>X<EFBFBD>&<26><14> <0C> <0C>V<EFBFBD>$<24><1C>}<7D>}<7D>T<EFBFBD><14><1F><1F><13>1E<31>F<>F<><16><14> <0C> <0C>X<EFBFBD>&<26><17>+<2B>+<2B>-<2D>-<2D> <20>3<>3<>5<>E<EFBFBD> <20>><3E>><3E>%<25><1F><1F><13>1E<31>F<>D<EFBFBD><1F>5<>5<>7<>D<EFBFBD><18>L<EFBFBD>L<EFBFBD><16>(<28> $<24> :<3A> :<3A> <<3C>I<EFBFBD><18>L<EFBFBD>L<EFBFBD><18>*<2A><1F>><3E>><3E>@<40>D<EFBFBD> <20>9<EFBFBD>9<EFBFBD>T<EFBFBD><19>$<24>/<2F>/<2F>RU<52>BV<42>W<>W<><1B>1<>1<>3<><04><14> <0C> <0C>V<EFBFBD>$<24><1B>1<>1<>3<><04><14> <0C> <0C>V<EFBFBD>$<24> <20>6<>6<>8<> <09><14> <0C> <0C>X<EFBFBD>&<26><1B>:<3A>:<3A><<3C><04><1C>y<EFBFBD>y<EFBFBD><14>Y<EFBFBD>d<EFBFBD>o<EFBFBD>o<EFBFBD>c<EFBFBD>>R<>S<>S<><12><14>!<21>!<21>"?<3F><14><1F><1F>QT<51>AU<41>Vrc<00>4<<01>V^8<>dQhRS[P/#rr<>)rrs"<22>rrrD<00>s<00><><00>R<01>R<01>u<EFBFBD>z<EFBFBD>z<EFBFBD>Rrc<08>><00>VP4pVP;R8XdTVPR4pVPR4\P!VP
VP V44#;R8Xd8VPR4\P!VP V44#;R8Xd8VPR4\P!VP V44#R8Xd<>VPR4'd'\P!RVP V44#VP4pVPR4\P!W0P V44#VPRVP V44R#)r<>r?r}r<>r<>r<>NzInvalid jump statement) r
rCrr <00>Gotor_r`<00>Break<61>Continuer<00>Returnr<6E>r^)r%rbr<>r<>s& rr<><00>CParser._parse_jump_statement<6E>s<00><00><12>m<EFBFBD>m<EFBFBD>o<EFBFBD><03><11>h<EFBFBD>h<EFBFBD><17><1F><<3C><<3C><04>-<2D><08><14> <0C> <0C>V<EFBFBD>$<24><1C>z<EFBFBD>z<EFBFBD>(<28>.<2E>.<2E>$<24>/<2F>/<2F>#<23>2F<32>G<>G<><18><14> <0C> <0C>V<EFBFBD>$<24><1C>{<7B>{<7B>4<EFBFBD>?<3F>?<3F>3<EFBFBD>#7<>8<>8<><1B><14> <0C> <0C>V<EFBFBD>$<24><1C>~<7E>~<7E>d<EFBFBD>o<EFBFBD>o<EFBFBD>c<EFBFBD>&:<3A>;<3B>;<3B><19><17><<3C><<3C><06>'<27>'<27> <20><<3C><<3C><04>d<EFBFBD>o<EFBFBD>o<EFBFBD>c<EFBFBD>.B<>C<>C<><1B>-<2D>-<2D>/<2F><04><14> <0C> <0C>V<EFBFBD>$<24><1C>|<7C>|<7C>D<EFBFBD>/<2F>/<2F>#<23>*><3E>?<3F>?<3F><12><14>!<21>!<21>":<3A>D<EFBFBD>O<EFBFBD>O<EFBFBD>C<EFBFBD><P<>Qrc<00>4<<01>V^8<>dQhRS[P/#rr<>)rrs"<22>rrrD<00>s<00><><00><14><14>U<EFBFBD>Z<EFBFBD>Z<EFBFBD>rc<08><><00>VP4pVPR4pVf&\P!VP V44#V#r<>)r<>rr r<>r`)r%r<><00>semi_toks& rr<><00>#CParser._parse_expression_statement<6E>sB<00><00><13>)<29>)<29>+<2B><04><17><<3C><<3C><06>'<27><08> <0F><<3C><18>'<27>'<27><04><0F><0F><08>(A<>B<> B<><13> rc<00>D<<01>V^8<>dQhRS[S[P,/#rrQ)rrs"<22>rrrD<00>s<00><><00><14><14>x<EFBFBD><05>
<EFBFBD>
<EFBFBD>';<3B>rc<08>R<00>VP4'dVP4#R#rr)r2r<>rts&rr<><00>CParser._parse_expression_opt<70>s#<00><00> <0F> "<22> "<22> $<24> $<24><17>)<29>)<29>+<2B> +<2B>rc<00>4<<01>V^8<>dQhRS[P/#rr<>)rrs"<22>rrrD<00>s<00><><00>1<>1<>5<EFBFBD>:<3A>:<3A>1rc<08>&<00>VP4pVPR4'gV#WP4.pVPR4'd"VPVP44K8\P!W!P
4#r<><00>rArrsr <00>ExprListrl<00>r%r<><00>exprss& rr<><00>CParser._parse_expression<6F>sl<00><00><13>0<>0<>2<><04><13>|<7C>|<7C>G<EFBFBD>$<24>$<24><17>K<EFBFBD><15>8<>8<>:<3A>;<3B><05><12>l<EFBFBD>l<EFBFBD>7<EFBFBD>#<23>#<23> <11>L<EFBFBD>L<EFBFBD><14>:<3A>:<3A><<3C> =<3D><14>~<7E>~<7E>e<EFBFBD>Z<EFBFBD>Z<EFBFBD>0<>0rc<00>4<<01>V^8<>dQhRS[P/#rr<>)rrs"<22>rrrD<00>s<00><><00> <14> <14>e<EFBFBD>j<EFBFBD>j<EFBFBD> rc<08><><00>VP4R8XdJVP^4R8Xd4VP4VP4pVPR4V#VP 4pVP 4'dLVP4P pVP4p\P!W2WBP4#V#)rArrZ) rr
r<>r<00>_parse_conditional_expressionrgr_rAr <00>
Assignmentrl)r%<00>compr<70><00>op<6F>rhss& rrA<00>$CParser._parse_assignment_expression<6F>s<><00><00> <0F>?<3F>?<3F> <1C><08> (<28>T<EFBFBD>_<EFBFBD>_<EFBFBD>Q<EFBFBD>-?<3F>8<EFBFBD>-K<> <10>M<EFBFBD>M<EFBFBD>O<EFBFBD><17>1<>1<>3<>D<EFBFBD> <10>L<EFBFBD>L<EFBFBD><18> "<22><17>K<EFBFBD><13>1<>1<>3<><04> <0F> !<21> !<21> #<23> #<23><15><1D><1D><1F>&<26>&<26>B<EFBFBD><16>3<>3<>5<>C<EFBFBD><18>#<23>#<23>B<EFBFBD>c<EFBFBD>:<3A>:<3A>><3E> ><3E><13> rc<00>4<<01>V^8<>dQhRS[P/#rr<>)rrs"<22>rrrD<00>s<00><><00><14><14>u<EFBFBD>z<EFBFBD>z<EFBFBD>rc<08><><00>VP4pVPR4'dSVP4pVPR4VP 4p\
P !WW1P4#V#)<02>CONDOPr<50>)<08>_parse_binary_expressionrr<>rr<>r <00> TernaryOprl)r%r<><00>iftrue<75>iffalses& rr<><00>%CParser._parse_conditional_expression<6F>sa<00><00><13>,<2C>,<2C>.<2E><04> <0F><<3C><<3C><08> !<21> !<21><19>+<2B>+<2B>-<2D>F<EFBFBD> <10>L<EFBFBD>L<EFBFBD><17> !<21><1A>8<>8<>:<3A>G<EFBFBD><18>?<3F>?<3F>4<EFBFBD><17>*<2A>*<2A>E<> E<><13> rc<00>d<<01>V^8<>dQhRS[RS[S[P,RS[P/#)r<00>min_prec<65>lhsr)r*r r r<>)rrs"<22>rrrD<00>s2<00><><00><13><13><1B><13>&.<2E>u<EFBFBD>z<EFBFBD>z<EFBFBD>&:<3A><13> <0E><1A><1A>rc<08><00>VfVP4pVP4pVeVP\9dV#\VP,pWA8dV#VPpVP 4VP4pVP4pVeVP\9dM1\VP,pW<>8<EFBFBD>dVP W<>4pK[\P!WRWbP4pK<>rr)
<EFBFBD>_parse_cast_expressionr]rC<00>_BINARY_PRECEDENCEr_r
r<>r <00>BinaryOprl) r%r<>r<>rb<00>precr<63>r<><00>next_tok<6F> next_precs &&& rr<><00> CParser._parse_binary_expression<6F>s<><00><00> <0F>;<3B><16>-<2D>-<2D>/<2F>C<EFBFBD><12><16>*<2A>*<2A>,<2C>C<EFBFBD><12>{<7B>c<EFBFBD>h<EFBFBD>h<EFBFBD>.@<40>@<40><15>*<13>
<EFBFBD>)&<26>c<EFBFBD>h<EFBFBD>h<EFBFBD>/<2F>D<EFBFBD><13><EFBFBD><15>$<13>
<EFBFBD>!<15><19><19>B<EFBFBD> <10>M<EFBFBD>M<EFBFBD>O<EFBFBD><16>-<2D>-<2D>/<2F>C<EFBFBD><16><1F>:<3A>:<3A><<3C><08><1B>#<23>x<EFBFBD>}<7D>}<7D><N<>'N<><19>.<2E>x<EFBFBD>}<7D>}<7D>=<3D> <09><1C>#<23><1E>7<>7<> <09>G<>C<EFBFBD><19><17>.<2E>.<2E><12>#<23>y<EFBFBD>y<EFBFBD>9<>Crc<00>4<<01>V^8<>dQhRS[P/#rr<>)rrs"<22>rrrDs<00><><00> .<2E> .<2E><05>
<EFBFBD>
<EFBFBD> .rc<08>,<00>VP4pVerVwr#pVP4R8Xd"VPV4VP4#VP4p\P
!W%VP V44#VP4#)Nr)rmrr"r<>r <00>Castr`<00>_parse_unary_expression)r%<00>resultr<74>rrlr<>s& rr<><00>CParser._parse_cast_expressions<><00><00><15>0<>0<>2<><06> <11> <1D>$*<2A> !<21>C<EFBFBD>z<EFBFBD><13><EFBFBD><EFBFBD> <20>H<EFBFBD>,<2C><15> <0B> <0B>D<EFBFBD>!<21><14>+<2B>+<2B>-<2D>-<2D><1C>2<>2<>4<><04><1C>z<EFBFBD>z<EFBFBD>#<23>T<EFBFBD>_<EFBFBD>_<EFBFBD>Z<EFBFBD>-H<>I<>I<><13>+<2B>+<2B>-<2D>-rc<00>4<<01>V^8<>dQhRS[P/#rr<>)rrs"<22>rrrD4s<00><><00>0<>0<><15><1A><1A>0rc<08><><00>VP4pVR9dLVP4pVP4p\P!VP
W3P 4#VR9dLVP4pVP4p\P!VP
W3P 4#VR8Xd<>VP4pVP4pVe7Vwpp\P!VP
WPPV44#VP4p\P!VP
W0PV44#VR8XdsVP4pVPR4VP4pVPR4\P!VP
WPPV44#VP4#)<07>PLUSPLUS<55>SIZEOF<4F>_ALIGNOFrArZ<00>r <00>
MINUSMINUS><00>AND<4E>NOT<4F>LNOT<4F>PLUS<55>MINUSr@) rr
rr <00>UnaryOpr_rlr<>rmr`rrk<00>_parse_postfix_expression)r%r9rbr<>rr<>r<>s& rr<00>CParser._parse_unary_expression4sf<00><00><17>?<3F>?<3F>$<24><08> <13>1<> 1<><16>-<2D>-<2D>/<2F>C<EFBFBD><17>/<2F>/<2F>1<>D<EFBFBD><18>=<3D>=<3D><13><19><19>D<EFBFBD>*<2A>*<2A>=<3D> =<3D> <13>G<> G<><16>-<2D>-<2D>/<2F>C<EFBFBD><17>.<2E>.<2E>0<>D<EFBFBD><18>=<3D>=<3D><13><19><19>D<EFBFBD>*<2A>*<2A>=<3D> =<3D> <13>x<EFBFBD> <1F><16>-<2D>-<2D>/<2F>C<EFBFBD><19>4<>4<>6<>F<EFBFBD><15>!<21>"<22> <09><03>Q<EFBFBD><01><1C>}<7D>}<7D>S<EFBFBD>Y<EFBFBD>Y<EFBFBD><03>_<EFBFBD>_<EFBFBD>S<EFBFBD>5I<35>J<>J<><17>/<2F>/<2F>1<>D<EFBFBD><18>=<3D>=<3D><13><19><19>D<EFBFBD>/<2F>/<2F>#<23>2F<32>G<> G<> <13>z<EFBFBD> !<21><16>-<2D>-<2D>/<2F>C<EFBFBD> <10>L<EFBFBD>L<EFBFBD><18> "<22><16>'<27>'<27>)<29>C<EFBFBD> <10>L<EFBFBD>L<EFBFBD><18> "<22><18>=<3D>=<3D><13><19><19>C<EFBFBD><1F><1F><13>1E<31>F<> F<><13>-<2D>-<2D>/<2F>/rc<00>4<<01>V^8<>dQhRS[P/#rr<>)rrs"<22>rrrDTs<00><><00>.<14>.<14>5<EFBFBD>:<3A>:<3A>.rc<08>6<00>VP4pVevVwr#pVPR4'dIVP4pVPR4VPR4\P
!W%4#VP V4VP4pVPR4'dEVP4pVPR4\P!WgVP4pK\VPR4'dmVP4R8XdVP4RpM!VP4pVPR4\P!WhVP4pK<>VP4R
9d<>VP4p VP4p
V
PR 9d"VP!RVP#V
44\P$!V
P&VP#V
44p \P(!WiP&W<>P4pEK<>VP4R 9dFVP4p \P*!R V P&,WfP4pEK<>V#) Nrr<>r<>rar@rArZzInvalid struct reference<63>p><00>ARROW<4F>PERIOD>r?rBr )rmr<00>_parse_initializer_listrr <00>CompoundLiteralr"<00>_parse_primary_expressionr<6E><00>ArrayRefrlrr
<00>_parse_argument_expression_list<73>FuncCallrCr^r`r?r_<00> StructRefr) r%rr<>rr<>r<>r<><00>subrH<00>op_tokr<6B><00>fieldrbs & rr<00>!CParser._parse_postfix_expressionTs<><00><00><15>0<>0<>2<><06> <11> <1D>!<21>L<EFBFBD>C<EFBFBD>q<EFBFBD><14>|<7C>|<7C>H<EFBFBD>%<25>%<25><1B>3<>3<>5<><04><14> <0C> <0C>W<EFBFBD>%<25><14> <0C> <0C>X<EFBFBD>&<26><1C>,<2C>,<2C>S<EFBFBD>7<>7<><14> <0B> <0B>D<EFBFBD>!<21><13>-<2D>-<2D>/<2F><04><12><13>|<7C>|<7C>J<EFBFBD>'<27>'<27><1A>,<2C>,<2C>.<2E><03><14> <0C> <0C>Z<EFBFBD>(<28><1C>~<7E>~<7E>d<EFBFBD><14><1A><1A><<3C><04><18><13>|<7C>|<7C>H<EFBFBD>%<25>%<25><17>?<3F>?<3F>$<24><08>0<><18>M<EFBFBD>M<EFBFBD>O<EFBFBD><1F>D<EFBFBD><1F>?<3F>?<3F>A<>D<EFBFBD><18>L<EFBFBD>L<EFBFBD><18>*<2A><1C>~<7E>~<7E>d<EFBFBD>$<24>*<2A>*<2A>=<3D><04><18><13><EFBFBD><EFBFBD> <20>$7<>7<><1D><1D><1D><1F><06><1F>=<3D>=<3D>?<3F><08><1B>=<3D>=<3D>(8<>8<><18>%<25>%<25>2<>D<EFBFBD>O<EFBFBD>O<EFBFBD>H<EFBFBD>4M<34><16><1E><08><08><18><1E><1E><14><1F><1F><18>1J<31>K<><05><1C><EFBFBD><EFBFBD>t<EFBFBD>\<5C>\<5C>5<EFBFBD>*<2A>*<2A>M<><04><18><13><EFBFBD><EFBFBD> <20>$><3E>><3E><1A>m<EFBFBD>m<EFBFBD>o<EFBFBD><03><1C>}<7D>}<7D>S<EFBFBD>3<EFBFBD>9<EFBFBD>9<EFBFBD>_<EFBFBD>d<EFBFBD>J<EFBFBD>J<EFBFBD>G<><04><18> <11><13> rc<00>4<<01>V^8<>dQhRS[P/#rr<>)rrs"<22>rrrD<00>s<00><><00>!D<01>!D<01>5<EFBFBD>:<3A>:<3A>!Drc<08>r<00>VP4pVR8XdVP4#V\9gV\9g V\9dVP 4#V\ 9dVP4#V\9dVP4#VR8Xd4VP4VP4pVPR4V#VR8Xd<>VP4pVPR4VP4pVPR4VP4pVPR4VPV4p\ P"!\ P$!VP&V4\ P(!WE.V4V4#VP+RVP,P.4R#)r?rArZ<00>OFFSETOFr<46>zInvalid expressionN)rrt<00>
_INT_CONST<EFBFBD> _FLOAT_CONST<53> _CHAR_CONST<53>_parse_constant<6E>_STRING_LITERAL<41>_parse_unified_string_literal<61> _WSTR_LITERAL<41>_parse_unified_wstring_literalr
r<>rrk<00>!_parse_offsetof_member_designatorr`r r r?r_r<>r^rNrV)r%r9r<><00>off_tokr<6B><00>
designatorrls& rr<00>!CParser._parse_primary_expression<6F>s_<00><00><17>?<3F>?<3F>$<24><08> <13>t<EFBFBD> <1B><17>)<29>)<29>+<2B> +<2B> <14>
<EFBFBD> "<22><17><<3C>'<27><17>;<3B>&<26><17>'<27>'<27>)<29> )<29> <13><EFBFBD> &<26><17>5<>5<>7<> 7<> <13>}<7D> $<24><17>6<>6<>8<> 8<> <13>x<EFBFBD> <1F> <10>M<EFBFBD>M<EFBFBD>O<EFBFBD><17>)<29>)<29>+<2B>D<EFBFBD> <10>L<EFBFBD>L<EFBFBD><18> "<22><17>K<EFBFBD> <13>z<EFBFBD> !<21><1A>m<EFBFBD>m<EFBFBD>o<EFBFBD>G<EFBFBD> <10>L<EFBFBD>L<EFBFBD><18> "<22><16>'<27>'<27>)<29>C<EFBFBD> <10>L<EFBFBD>L<EFBFBD><17> !<21><1D>?<3F>?<3F>A<>J<EFBFBD> <10>L<EFBFBD>L<EFBFBD><18> "<22><18>O<EFBFBD>O<EFBFBD>G<EFBFBD>,<2C>E<EFBFBD><18>><3E>><3E><15><08><08><17><1D><1D><05>.<2E><15><0E><0E><03>0<>%<25>8<><15><0E> <0E> <0A><19><19>.<2E><04> <09> <09>0B<30>0B<30>Crc<00>4<<01>V^8<>dQhRS[P/#rr<>)rrs"<22>rrrD<00>s<00><><00> <14> <14>5<EFBFBD>:<3A>:<3A> rc<08>v<00>VP4pVPR4'd5VP4p\P!VRW!P4pKLVPR4'dEVP 4pVP R4\P!WVP4pK<>V#)Tr<00>.rar@)<08>_parse_identifier_or_typeidrr r!rlr<>rr)r%r<>r$r<>s& rr1<00>)CParser._parse_offsetof_member_designator<6F>s<><00><00><13>/<2F>/<2F>1<><04><12><13>|<7C>|<7C>H<EFBFBD>%<25>%<25><1C>8<>8<>:<3A><05><1C><EFBFBD><EFBFBD>t<EFBFBD>S<EFBFBD>%<25><1A><1A>D<><04><18><13>|<7C>|<7C>J<EFBFBD>'<27>'<27><1B>-<2D>-<2D>/<2F><04><14> <0C> <0C>Z<EFBFBD>(<28><1C>~<7E>~<7E>d<EFBFBD>$<24>*<2A>*<2A>=<3D><04><18> <11><13> rc<00>4<<01>V^8<>dQhRS[P/#rr<>)rrs"<22>rrrD<00>s<00><><00>1<>1<><15><1A><1A>1rc<08><><00>VP4pV.pVPR4'd"VPVP44K8\P!W!P
4#r<>r<>r<>s& rr<00>'CParser._parse_argument_expression_list<73>sN<00><00><13>0<>0<>2<><04><15><06><05><12>l<EFBFBD>l<EFBFBD>7<EFBFBD>#<23>#<23> <11>L<EFBFBD>L<EFBFBD><14>:<3A>:<3A><<3C> =<3D><14>~<7E>~<7E>e<EFBFBD>Z<EFBFBD>Z<EFBFBD>0<>0rc<00>4<<01>V^8<>dQhRS[P/#rr<>)rrs"<22>rrrD<00>s<00><><00>4<>4<>E<EFBFBD>J<EFBFBD>J<EFBFBD>4rc<08>"<00>VP4#rr)r<>rts&rr<><00>"CParser._parse_constant_expression<6F>s<00><00><13>1<>1<>3<>3rc<00>4<<01>V^8<>dQhRS[P/#rr<>)rrs"<22>rrrD<00>s<00><><00>9<>9<>5<EFBFBD>:<3A>:<3A>9rc<08><><00>VPR4p\P!VPVP V44#)r?)rr r?r_r`r s& rrt<00>CParser._parse_identifier<65>s.<00><00><12>l<EFBFBD>l<EFBFBD>4<EFBFBD> <20><03><14>x<EFBFBD>x<EFBFBD><03> <09> <09>4<EFBFBD>?<3F>?<3F>3<EFBFBD>#7<>8<>8rc<00>4<<01>V^8<>dQhRS[P/#rr<>)rrs"<22>rrrD<00>s<00><><00>9<>9<>U<EFBFBD>Z<EFBFBD>Z<EFBFBD>9rc<08><><00>VP4pVPR9d"VPRVPV44\P
!VP VPV44#)r?zExpected identifier>r?rB)r
rCr^r`r r?r_r s& rr8<00>#CParser._parse_identifier_or_typeid<69>sR<00><00><12>m<EFBFBD>m<EFBFBD>o<EFBFBD><03> <0E>8<EFBFBD>8<EFBFBD>+<2B> +<2B> <10> <1D> <1D>3<>T<EFBFBD>_<EFBFBD>_<EFBFBD>S<EFBFBD>5I<35> J<><14>x<EFBFBD>x<EFBFBD><03> <09> <09>4<EFBFBD>?<3F>?<3F>3<EFBFBD>#7<>8<>8rc<00>4<<01>V^8<>dQhRS[P/#rr<>)rrs"<22>rrrD<00>s<00><><00>D<01>D<01><15><1A><1A>Drc<08>z<00>VP4pVP\9d<>^p^pVPR RF'pVR 9d V^, pKVR9gKV^, pK) V^8<>d \ R4hV^8<>d \ R4hRV,RV,,p\
P !VR,VPVPV44#VP\9diVPR,R9dRpMVPR,R 9dRpMR p\
P !WaPVPV44#VP\9d2\
P !R
VPVPV44#VPR VPV44R#)rNz.Constant cannot have more than one u/U suffix.z.Constant cannot have more than two l/L suffix.z unsigned zlong r*<00>floatz long double<6C>double<6C>charzInvalid constant<6E><74><EFBFBD><EFBFBD><EFBFBD>)<02>l<>L)<02>u<>Ur<55>)<02>f<>F) r
rCr)r_<00>
ValueErrorr <00>Constantr`r*r+r^)r%rb<00>u_count<6E>l_count<6E>ch<63>prefixr<78>s& rr,<00>CParser._parse_constant<6E>sX<00><00><12>m<EFBFBD>m<EFBFBD>o<EFBFBD><03> <0E>8<EFBFBD>8<EFBFBD>z<EFBFBD> !<21><17>G<EFBFBD><17>G<EFBFBD><19>i<EFBFBD>i<EFBFBD><02><03>n<EFBFBD><02><15><1A>#<23><1B>q<EFBFBD>L<EFBFBD>G<EFBFBD><17>:<3A>%<25><1B>q<EFBFBD>L<EFBFBD>G<EFBFBD> %<25>
<17><11>{<7B> <20>!Q<>R<>R<><16><11>{<7B> <20>!Q<>R<>R<> <20>7<EFBFBD>*<2A>W<EFBFBD>w<EFBFBD>-><3E>><3E>F<EFBFBD><18>><3E>><3E>&<26>5<EFBFBD>.<2E>#<23>)<29>)<29>T<EFBFBD>_<EFBFBD>_<EFBFBD>S<EFBFBD>=Q<>R<> R<> <0E>8<EFBFBD>8<EFBFBD>|<7C> #<23><12>y<EFBFBD>y<EFBFBD><12>}<7D>
<EFBFBD>*<2A><1B><01><14><19><19>2<EFBFBD><1D>*<2A>,<2C>!<21><01><1C><01><18>><3E>><3E>!<21>Y<EFBFBD>Y<EFBFBD><04><0F><0F><03>0D<30>E<> E<> <0E>8<EFBFBD>8<EFBFBD>{<7B> "<22><18>><3E>><3E>&<26>#<23>)<29>)<29>T<EFBFBD>_<EFBFBD>_<EFBFBD>S<EFBFBD>5I<35>J<> J<> <0C><19><19>,<2C>d<EFBFBD>o<EFBFBD>o<EFBFBD>c<EFBFBD>.B<>Crc<00>4<<01>V^8<>dQhRS[P/#rr<>)rrs"<22>rrrD<00>s<00><><00><14><14>u<EFBFBD>z<EFBFBD>z<EFBFBD>rc<08>0<00>VPR4p\P!RVPVP V44pVP 4R8Xd?VP 4pVPRRVPR,,VnKSV#)<05>STRING_LITERAL<41>stringN:ryNNr<4E>)rr rSr_r`rr
<00>r%rbr<><00>tok2s& rr.<00>%CParser._parse_unified_string_literal<61>sn<00><00><12>l<EFBFBD>l<EFBFBD>+<2B>,<2C><03><14>~<7E>~<7E>h<EFBFBD><03> <09> <09>4<EFBFBD>?<3F>?<3F>3<EFBFBD>3G<33>H<><04><12>o<EFBFBD>o<EFBFBD><1F>#3<>3<><17>=<3D>=<3D>?<3F>D<EFBFBD><1D><1A><1A>C<EFBFBD>R<EFBFBD><1F>4<EFBFBD>:<3A>:<3A>b<EFBFBD>><3E>9<>D<EFBFBD>J<EFBFBD><13> rc<00>4<<01>V^8<>dQhRS[P/#rr<>)rrs"<22>rrrD<00>s<00><><00><14><14><05>
<EFBFBD>
<EFBFBD>rc<08><><00>VP4pVP\9d"VPRVP V44\
P !RVPVP V44pVP4\9dMVP4pVPP4RRVPR,,VnKeV#)zInvalid string literalr\N:rNNr<4E>)
r
rCr/r^r`r rSr_r<00>rstripr]s& rr0<00>&CParser._parse_unified_wstring_literal<61>s<><00><00><12>m<EFBFBD>m<EFBFBD>o<EFBFBD><03> <0E>8<EFBFBD>8<EFBFBD>=<3D> (<28> <10> <1D> <1D>6<><04><0F><0F><03>8L<38> M<><14>~<7E>~<7E>h<EFBFBD><03> <09> <09>4<EFBFBD>?<3F>?<3F>3<EFBFBD>3G<33>H<><04><12>o<EFBFBD>o<EFBFBD><1F>=<3D>0<><17>=<3D>=<3D>?<3F>D<EFBFBD><1D><1A><1A>*<2A>*<2A>,<2C>S<EFBFBD>b<EFBFBD>1<>D<EFBFBD>J<EFBFBD>J<EFBFBD>r<EFBFBD>N<EFBFBD>B<>D<EFBFBD>J<EFBFBD><13> rc<00>4<<01>V^8<>dQhRS[P/#rr<>)rrs"<22>rrrDs<00><><00>
3<>
3<>E<EFBFBD>J<EFBFBD>J<EFBFBD>
3rc<08>6<00>VPR4pV'drVPR4'd'\P!.VPV44#VP 4pVPR4VP R4V#VP 4#)rr<>r<>)rr <00>InitListr`rrrA)r%r<><00> init_lists& rr<><00>CParser._parse_initializersw<00><00><19>\<5C>\<5C>(<28>+<2B>
<EFBFBD> <15><13>|<7C>|<7C>H<EFBFBD>%<25>%<25><1C>~<7E>~<7E>b<EFBFBD>$<24>/<2F>/<2F>*<2A>*E<>F<>F<><1C>4<>4<>6<>I<EFBFBD> <10>L<EFBFBD>L<EFBFBD><17> !<21> <10>L<EFBFBD>L<EFBFBD><18> "<22><1C> <1C><13>0<>0<>2<>2rc<00>4<<01>V^8<>dQhRS[P/#rr<>)rrs"<22>rrrDs<00><><00>5<>5<><15><1A><1A>5rc<08><00>VP4.pVPR4'd8VP4R8XdM!VPVP44KN\P
!W^,P 4#r<>)<07>_parse_initializer_itemrrrsr rfrl)r%r<>s& rr<00>CParser._parse_initializer_lists`<00><00><15>-<2D>-<2D>/<2F>0<><05><12>l<EFBFBD>l<EFBFBD>7<EFBFBD>#<23>#<23><13><EFBFBD><EFBFBD> <20>H<EFBFBD>,<2C><15> <11>L<EFBFBD>L<EFBFBD><14>5<>5<>7<> 8<><14>~<7E>~<7E>e<EFBFBD>1<EFBFBD>X<EFBFBD>^<5E>^<5E>4<>4rc<00>4<<01>V^8<>dQhRS[P/#rr<>)rrs"<22>rrrD%s<00><><00><14><14><15><1A><1A>rc<08><><00>RpVP4R9dVP4pVP4pVe\P!W4#V#)N<>rra)r<00>_parse_designationr<6E>r <00>NamedInitializer)r%<00> designationr<6E>s& rrk<00>CParser._parse_initializer_item%sO<00><00><1A> <0B> <0F>?<3F>?<3F> <1C> 6<> 6<><1E>1<>1<>3<>K<EFBFBD><13>&<26>&<26>(<28><04> <16> "<22><18>)<29>)<29>+<2B><<3C> <<3C><13> rc<00>D<<01>V^8<>dQhRS[S[P,/#rrt)rrs"<22>rrrD/s<00><><00><1B><1B>D<EFBFBD><15><1A><1A>$4<>rc<08>H<00>VP4pVPR4V#)r<>)<02>_parse_designator_listr<00>r%<00> designatorss& rrp<00>CParser._parse_designation/s"<00><00><1A>1<>1<>3<> <0B> <0C> <0C> <0C>X<EFBFBD><1E><1A>rc<00>D<<01>V^8<>dQhRS[S[P,/#rrt)rrs"<22>rrrD5s<00><><00><1B><1B><04>U<EFBFBD>Z<EFBFBD>Z<EFBFBD>(8<>rc<08>v<00>.pVP4R9d"VPVP44K6V#)raro)rrs<00>_parse_designatorrws& rrv<00>CParser._parse_designator_list5s4<00><00><18> <0B><12>o<EFBFBD>o<EFBFBD><1F>#9<>9<> <17> <1E> <1E>t<EFBFBD>5<>5<>7<> 8<><1A>rc<00>4<<01>V^8<>dQhRS[P/#rr<>)rrs"<22>rrrD=s<00><><00>D<01>D<01>5<EFBFBD>:<3A>:<3A>Drc<08><00>VPR4'd$VP4pVPR4V#VPR4'dVP4#VP RVP
P 4R#)rar@rzInvalid designatorN)rr<>rr8r^rNrV)r%r<>s& rr|<00>CParser._parse_designator=si<00><00> <0F><<3C><<3C>
<EFBFBD> #<23> #<23><17>2<>2<>4<>D<EFBFBD> <10>L<EFBFBD>L<EFBFBD><1A> $<24><17>K<EFBFBD> <0F><<3C><<3C><08> !<21> !<21><17>3<>3<>5<> 5<> <0C><19><19>.<2E><04> <09> <09>0B<30>0B<30>Crc<00> <<01>V^8<>dQhRS[/#r)r)rrs"<22>rrrDJs<00><><00>P<01>P<01>X<EFBFBD>Prc<08>j<00>VPR4pVPRVPV44R#)r|zDirectives not supported yetN)rr^r`r s& rr<><00>CParser._parse_pp_directiveJs*<00><00><12>l<EFBFBD>l<EFBFBD>8<EFBFBD>$<24><03> <0C><19><19>8<>$<24>/<2F>/<2F>#<23>:N<>Orc<00>4<<01>V^8<>dQhRS[P/#rr<>)rrs"<22>rrrDPs<00><><00>@<01>@<01>5<EFBFBD>:<3A>:<3A>@rc<08><><00>VP4R8Xd<>VP4pVP4R8XdAVP4p\P!VPVP V44#\P!RVP V44#VP4R8XdhVP4pVP R4pVP4pVP R4\P!W@P V44#VPRVPP4R#)r<><00> PPPRAGMASTRr9r<>rArZzInvalid pragmaN) rr
r <00>Pragmar_r`rr.r^rNrV)r%rb<00>str_tok<6F>lparen<65>literals& rr<><00>!CParser._parse_pppragma_directivePs<><00><00> <0F>?<3F>?<3F> <1C>
<EFBFBD> *<2A><16>-<2D>-<2D>/<2F>C<EFBFBD><13><EFBFBD><EFBFBD> <20>M<EFBFBD>1<><1E>-<2D>-<2D>/<2F><07><1C>|<7C>|<7C>G<EFBFBD>M<EFBFBD>M<EFBFBD>4<EFBFBD>?<3F>?<3F>7<EFBFBD>3K<33>L<>L<><18><<3C><<3C><02>D<EFBFBD>O<EFBFBD>O<EFBFBD>C<EFBFBD>$8<>9<> 9<> <0F>?<3F>?<3F> <1C> <09> )<29><16>-<2D>-<2D>/<2F>C<EFBFBD><19>\<5C>\<5C>(<28>+<2B>F<EFBFBD><1A>8<>8<>:<3A>G<EFBFBD> <10>L<EFBFBD>L<EFBFBD><18> "<22><18><<3C><<3C><07><1F><1F><16>)@<40>A<> A<> <0C><19><19>*<2A>D<EFBFBD>I<EFBFBD>I<EFBFBD>,><3E>,><3E>?rc<00>D<<01>V^8<>dQhRS[S[P,/#rrt)rrs"<22>rrrDbs<00><><00><17><17><04>U<EFBFBD>Z<EFBFBD>Z<EFBFBD>0@<40>rc<08>v<00>.pVP4R9d"VPVP44K6V#)r<>r<>)rrsr<>)r%r<>s& rr<><00>&CParser._parse_pppragma_directive_listbs1<00><00><14><07><12>o<EFBFBD>o<EFBFBD><1F>#:<3A>:<3A> <13>N<EFBFBD>N<EFBFBD>4<EFBFBD>9<>9<>;<3B> <<3C><16>rc<00>D<<01>V^8<>dQhRS[S[P,/#rrt)rrs"<22>rrrDis <00><><00>E<01>E<01>d<EFBFBD>5<EFBFBD>:<3A>:<3A>&6<>Erc<08>(<00>VPR4pVPR4VP4pRpVPR4'dVP4pVPR4\P
!W#VP V44.#)r~rANr<4E>rZ)rr<>rr.r <00> StaticAssertr`)r%rbr<>rks& rr<><00>CParser._parse_static_assertisx<00><00><12>l<EFBFBD>l<EFBFBD>+<2B>,<2C><03> <0C> <0C> <0C>X<EFBFBD><1E><13>.<2E>.<2E>0<><04><12><03> <0F><<3C><<3C><07> <20> <20><16>4<>4<>6<>C<EFBFBD> <0C> <0C> <0C>X<EFBFBD><1E><15>"<22>"<22>4<EFBFBD>d<EFBFBD>o<EFBFBD>o<EFBFBD>c<EFBFBD>.B<>C<>D<>Dr)rPrRrN)r9Frr)F<>ry)FFr+)T<>rN)~r,r-r.r/r0rrSrcrhr^rur|r<>r<>r<>rJrKrLrMr<>r<>r<>r<>r<>r<>r]rr
rrrr"r`r-r2r:rDrKrVrIrbrgrmr\rqrwr<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>rTrSrRrr r&r*r3r+rrIr\rarfrJrprkrQr{rr<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>rAr<>r<>r<>rrrr1rr<>rtr8r,r.r0r<>rrkrprvr|r<>r<>r<>r<>r2r3r4s@rr8r82s<><00><><00><00> <08>"<22>$<24>(<28>"<22>*<2A> <20><1E>=<3D>=<3D>8<13><13>8J<01>J<01>,<2C>,<2C>)<29>)<29> <20> <20>+<2B>+<2B> ,<2C> ,<2C><15><15>:<3A>:<3A><1B><1B><1A><1A>,<2C>,<2C>T<18><18>X&<14>&<14>P<14><14>,e<1C>e<1C>N
<EFBFBD>
<EFBFBD>*<1F><1F>$<24>$<24>5<>5<>
<17><17> <14> <14><13><13> #<23>#<23>!<21>!<21>3<>3<>'<27>'<27> .<2E>.<2E> )<29>)<29>,<2C>,<2C>#<23>#<23> <1A><1A>6!<1F>!<1F>F;<3B>;<3B>?<3F>?<3F>%<25>%<25>6=<3D>=<3D> <13><13>M<15>M<15>l<15><15> ?<3F>?<3F> '<15>'<15>T<15><15>v+<2B>v+<2B>v`<14>`<14>F<15><15> 9<> 9<><13><13> <15> <15>8<>8<>T<01>T<01>B<15><15>
<EFBFBD>
<EFBFBD>D<15><15>=<3D>=<3D>$=<3D>=<3D>"<19><19><14><14><14><14>H<01>H<01>L<01>L<01>M<01>M<01><16><16>/<2F>/<2F>* <14> <14>T<01>T<01>7(<28>7(<28>t<14><14>4<13><13>"<16><16><16><16>I<01>I<01>&<<3C><<3C>,-<2D>-<2D> <16><16>V<01>V<01>( <14> <14>$/<2F>/<2F>.1<>1<> 
<EFBFBD>
<EFBFBD>:<3A>:<3A>.'<27>'<27>'<27>'<27>
<15>
<15>
<EFBFBD>
<EFBFBD>S<01>S<01>BW<01>W<01>2&W<01>&W<01>TR<01>R<01>.<14><14><14><14> 1<>1<> <14> <14> <14><14><13><13>D .<2E> .<2E>*0<>0<>@.<14>.<14>d!D<01>!D<01>J <14> <14> 1<>1<>4<>4<>9<>9<>
9<>9<>D<01>D<01>@<14><14><14><14>
3<>
3<>5<>5<><14><14><1B><1B> <1B><1B>D<01>D<01>P<01>P<01> @<01>@<01>$<17><17>E<01>Err8<00>LOR<4F>LAND<4E>OR<4F>XORr<00>EQ<45>NE<4E>GT<47>GE<47>LT<4C>LE<4C>RSHIFT<46>LSHIFTrrr@<00>DIVIDE<44>MOD<4F>INLINE<4E> _NORETURN<52> FLOAT_CONST<53>HEX_FLOAT_CONSTr[c<00><>a<00>]tRtRtoRtV3RlRltRV3RlRlltV3RlRltV3R lR
ltV3R lR lt V3R lRlt
Rt Vt R#)rQi<>z<>Wraps a lexer to provide convenient, buffered access to the underlying
token stream. The lexer is expected to be initialized with the input
string already.
c<00>$<<01>V^8<>dQhRS[RR/#)rr<rN)r)rrs"<22>rr<00>_TokenStream.__annotate__ s<00><><00><18><18>f<EFBFBD><18><14>rc<08>.<00>Wn.Vn^VnR#r<>)<03>_lexer<65>_buffer<65>_index)r%r<s&&rrS<00>_TokenStream.__init__ s<00><00><1B> <0B>/1<><04> <0C><17><04> rc<00>6<<01>V^8<>dQhRS[RS[S[,/#r<>r<>)rrs"<22>rrr<>
s <00><><00>
1<>
1<>c<EFBFBD>
1<>(<28>6<EFBFBD>"2<>
1rc <0C><><00>V^8:dR#VPV4VPVPV,^,
,#)z<>Peek at the k-th next token in the stream, without consuming it.
Examples:
k=1 returns the immediate next token.
k=2 returns the token after that.
N<EFBFBD><03>_fillr<6C>r<>rs&&rr<><00>_TokenStream.peek
s5<00><00> <0A><01>6<EFBFBD><17> <0C>
<EFBFBD>
<EFBFBD>1<EFBFBD> <0A><13>|<7C>|<7C>D<EFBFBD>K<EFBFBD>K<EFBFBD>!<21>O<EFBFBD>a<EFBFBD>/<2F>0<>0rc<00>0<<01>V^8<>dQhRS[S[,/#r)r r)rrs"<22>rrr<> s<00><><00><13><13>h<EFBFBD>v<EFBFBD>&<26>rc <0C><><00>VP^4VPVP,pV;P^, unV#)z%Consume a single token and return it.r<>r s& rr<00>_TokenStream.next s2<00><00> <0C>
<EFBFBD>
<EFBFBD>1<EFBFBD> <0A><12>l<EFBFBD>l<EFBFBD>4<EFBFBD>;<3B>;<3B>'<27><03> <0C> <0B> <0B>q<EFBFBD><18> <0B><12>
rc<00> <<01>V^8<>dQhRS[/#rr)rrs"<22>rrr<>" s<00><><00><1B><1B>c<EFBFBD>rc<08><00>VP#rr<00>r<>rts&rr<00>_TokenStream.mark" s <00><00><13>{<7B>{<7B>rc<00>$<<01>V^8<>dQhRS[RR/#rr)rrs"<22>rrr<>% s<00><><00><1B><1B>#<23><1B>$<24>rc<08><00>WnR#rrr<>r!s&&rr <00>_TokenStream.reset% s<00><00><1A> rc<00>$<<01>V^8<>dQhRS[RR/#)r<00>nrNr)rrs"<22>rrr<>( s<00><><00><16><16>s<EFBFBD><16>t<EFBFBD>rc<08><><00>\VP4VPV,8d>VPP 4pVPP V4VeKfR#R#rr)rzr<>r<>r<>r<>rs)r%r<>rbs&& rr<><00>_TokenStream._fill( sL<00><00><11>$<24>,<2C>,<2C><1F>$<24>+<2B>+<2B><01>/<2F>1<><16>+<2B>+<2B>#<23>#<23>%<25>C<EFBFBD> <10>L<EFBFBD>L<EFBFBD> <1F> <1F><03> $<24><12>{<7B><15> 2r)r<>r<>r<>Nr<4E>) r,r-r.r/r0rSr<>rrr r<>r2r3r4s@rrQrQ<00>sF<00><><00><00><08>
<18><18>
1<>
1<><13><13><1B><1B><1B><1B><16>rrQc<00>,a<00>]tRtRtoV3RltRtVtR#)r<>i6 c<00><><<01>V^8<>dQh/S[S[,;R&S[S[,;R&S[S[,;R&S[S[,;R&S[S[,;R&#)rr<>r<>rCr<>r<>)rr)rrs"<22>rr<00>_DeclSpec.__annotate__6 sT<00><><00><00>
<0E>s<EFBFBD>)<29>O<EFBFBD><01> <11>#<23>Y<EFBFBD><16><01> <0F>s<EFBFBD>)<29>O<EFBFBD><01><13>3<EFBFBD>i<EFBFBD><17> <01>
<14>C<EFBFBD>y<EFBFBD><18> rr+N<>r,r-r.r/r1r2r3r4s@rr<>r<>6 <00><00><><00><00>rr<>c<00>,a<00>]tRtRtoV3RltRtVtR#)r<>iA c<00><><<01>V^8<>dQh/S[S[P,;R&S[S[P,;R&S[S[P,;R&#)rr<>r<>r<>rQ)rrs"<22>rr<00>_DeclInfo.__annotate__A sG<00><><00><00>
<13>5<EFBFBD>:<3A>:<3A>
<1E><1E> <01> <13>5<EFBFBD>:<3A>:<3A>
<1E><1E> <01><16>e<EFBFBD>j<EFBFBD>j<EFBFBD> !<21>!<21>rr+Nr<4E>r4s@rr<>r<>A r<>rr<>N> r<><00>OREQUAL<41>ANDEQUAL<41>DIVEQUAL<41>MODEQUAL<41>XOREQUAL<41> PLUSEQUAL<41>
MINUSEQUAL<EFBFBD>
TIMESEQUAL<EFBFBD> LSHIFTEQUAL<41> RSHIFTEQUAL><00>AUTO<54>EXTERNr><00>TYPEDEF<45>REGISTER<45> _THREAD_LOCAL><00>CONSTr<54><00>RESTRICT<43>VOLATILE> <00>INT<4E>CHAR<41>LONG<4E>VOID<49>FLOAT<41>SHORT<52>_BOOL<4F>DOUBLE<4C>SIGNED<45>UNSIGNED<45>_COMPLEX<45>__INT128>r<>r<>r<>rBr<>r<>> r?rrrrrr@rAr
r(r r r ><00> INT_CONST_BIN<49> INT_CONST_DEC<45> INT_CONST_HEX<45> INT_CONST_OCT<43>INT_CONST_CHAR><00>
CHAR_CONST<EFBFBD> WCHAR_CONST<53> U8CHAR_CONST<53> U16CHAR_CONST<53> U32CHAR_CONST><00>WSTRING_LITERAL<41>U8STRING_LITERAL<41>U16STRING_LITERAL<41>U32STRING_LITERAL>r<>r<>r<>r<>r<>r}r<>r<>rr<>r<>r<>r<>r<>r<>r~r<>)+<2B> dataclassesr<00>typingrrrrrr r
r r r9r <00>c_lexerrr<00>ast_transformsrrr<00> Exceptionr6r8rfr<>r<>r<>r[r<>r,<00> _EXPR_STARTr)r*r+r-r/r1r7rQr<>r<>r<>r+rr<00><module>r<>s.<00><01>"<22>
<02>
<02>
<02><14>#<23>C<> <0B><14><14> <0B><14>$ <09><19> <09> E<01> E<01>DB <02><0F>"<02> <09>1<EFBFBD><02>
<EFBFBD>A<EFBFBD><02> <09>!<21><02>
<EFBFBD>1<EFBFBD> <02>

<EFBFBD>1<EFBFBD> <02>  <09>!<21> <02> <09>!<21><02> <09>!<21><02> <09>!<21><02> <09>!<21><02> <09>!<21><02> <0A>a<EFBFBD><02> <0A>a<EFBFBD><02> <0B>A<EFBFBD><02> <0C>Q<EFBFBD><02>  <0C>Q<EFBFBD>!<02>" <0A>a<EFBFBD>#<02>$
<EFBFBD>1<EFBFBD>%<02><12>*V<01><0E><1A>K<EFBFBD>(<28><0E>><3E><0F> <02><11> <13><14><15><15><16><18><18>C<01> C<01> <0C><02> <0B> <02>
<EFBFBD><1E>0<>1<> <0C><02> <0B>$<24>$<24><0F><02> <0A><10><10><11><12><13><12><12><16> <16>
<14> <14><13><02><11>(.<16>.<16>n<19> <09><19><18>J<>K<> <0A>"<22> <09>"r