zmc
2023-10-12 ed135d79df12a2466b52dae1a82326941211dcc9
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
U
L±d¦§ã
@s<dZdZddlZddlZddlZddlZddlZddlZzejej    fZ
Wne k
rde e fZ
YnXe d¡ZGdd„deƒZGdd„deƒZGdd    „d    eƒZGd
d „d eƒZGd d „d ƒZdd„Zdd„Zdd„Zdd„Zdd„Zdd„ZGdd„deƒZdddddeejƒddddf
dd„Z d$d d!„Z!d"d#„Z"e"Z#dS)%z3.10éNz^[a-zA-Z0-9_]+$c@seZdZdd„ZdS)ÚLexErrorcCs|f|_||_dS©N)ÚargsÚtext)ÚselfÚmessageÚs©r    úHd:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pycparser/ply/lex.pyÚ__init__:szLexError.__init__N)Ú__name__Ú
__module__Ú __qualname__r r    r    r    r
r9src@seZdZdd„Zdd„ZdS)ÚLexTokencCsd|j|j|j|jfS)NzLexToken(%s,%r,%d,%d))ÚtypeÚvalueÚlinenoÚlexpos©rr    r    r
Ú__str__AszLexToken.__str__cCst|ƒSr)Ústrrr    r    r
Ú__repr__DszLexToken.__repr__N)r r rrrr    r    r    r
r@src@s4eZdZdd„Zdd„Zdd„Zdd„ZeZeZd    S)
Ú    PlyLoggercCs
||_dSr©Úf)rrr    r    r
r LszPlyLogger.__init__cOs|j ||d¡dS)NÚ
©rÚwrite©rÚmsgrÚkwargsr    r    r
ÚcriticalOszPlyLogger.criticalcOs|j d||d¡dS)Nz    WARNING: rrrr    r    r
ÚwarningRszPlyLogger.warningcOs|j d||d¡dS)NzERROR: rrrr    r    r
ÚerrorUszPlyLogger.errorN)    r r rr r!r"r#ÚinfoÚdebugr    r    r    r
rKs rc@seZdZdd„Zdd„ZdS)Ú
NullLoggercCs|Srr    )rÚnamer    r    r
Ú__getattribute__^szNullLogger.__getattribute__cOs|Srr    )rrr r    r    r
Ú__call__aszNullLogger.__call__N)r r rr(r)r    r    r    r
r&]sr&c@s|eZdZdd„Zddd„Zddd„Zd    d
„Zd d „Zd d„Zdd„Z    dd„Z
dd„Z dd„Z dd„Z dd„Zdd„ZeZdS)ÚLexercCsŽd|_d|_i|_i|_i|_d|_g|_d|_i|_i|_    i|_
d|_ d|_ d|_ d|_d|_d|_d|_d|_d|_d|_d|_d|_dS)NÚINITIALrÚéF)ÚlexreÚ    lexretextÚ
lexstatereÚlexstateretextÚlexstaterenamesÚlexstateÚ lexstatestackÚ lexstateinfoÚlexstateignoreÚlexstateerrorfÚ lexstateeoffÚ
lexreflagsÚlexdatarÚlexlenÚ    lexerrorfÚlexeoffÚ    lextokensÚ    lexignoreÚ lexliteralsÚ    lexmodulerÚ lexoptimizerr    r    r
r ts.zLexer.__init__Nc     CsÎt |¡}|rÊi}|j ¡D]t\}}g}|D]L\}}g}    |D]:}
|
rL|
dsX|     |
¡q<|     t||
djƒ|
df¡q<q,| ||    f¡|||<q||_i|_|j ¡D]\}} t|| jƒ|j|<q¨||_|S©Nrr-)Úcopyr0ÚitemsÚappendÚgetattrr r7rA) rÚobjectÚcZnewtabÚkeyZritemZnewreZcreZfindexZ    newfindexrÚefr    r    r
Úclones(
 
"
z Lexer.cloner,c    CsÎt|tjƒrtdƒ‚| d¡d}tj ||¡d}t|dƒ„}|     d|t
f¡|     dt t ƒ¡|     dt t |jƒƒ¡|     d    t |jƒ¡|     d
t |jƒ¡|     d t |jƒ¡i}|j ¡D]P\}}g}    t||j||j|ƒD]"\\}
} } } |     | t| | ƒf¡qì|    ||<qÈ|     d t |ƒ¡|     d t |jƒ¡i}|j ¡D]\}}|rb|jnd||<qN|     dt |ƒ¡i}|j ¡D]\}}|r¢|jnd||<qŽ|     dt |ƒ¡W5QRXdS)Nz&Won't overwrite existing lextab moduleÚ.éÿÿÿÿz.pyÚwzJ# %s.py. This file automatically created by PLY (version %s). Don't edit!
z_tabversion   = %s
z_lextokens    = set(%s)
z_lexreflags   = %s
z_lexliterals  = %s
z_lexstateinfo = %s
z_lexstatere   = %s
z_lexstateignore = %s
z_lexstateerrorf = %s
z_lexstateeoff = %s
)Ú
isinstanceÚtypesÚ
ModuleTypeÚIOErrorÚsplitÚosÚpathÚjoinÚopenrÚ __version__ÚreprÚ__tabversion__Útupler>r9r@r5r0rEÚzipr1r2rFÚ_funcs_to_namesr6r7r r8)rÚlextabÚ    outputdirZ basetabmoduleÚfilenameÚtfZtabreÚ    statenameÚlreÚtitemÚpatÚfuncZretextÚrenamesZtaberrrKZtabeofr    r    r
Úwritetab®s6 &
zLexer.writetabc CsBt|tjƒr|}ntd|ƒtj|}t|ddƒtkr@tdƒ‚|j    |_
|j |_ |j |_|j
t|jƒB|_|j|_|j|_i|_i|_|j ¡D]P\}}g}g}|D]&\}}    | t ||j ¡t|    |ƒf¡q¤||j|<||j|<qi|_|j ¡D]\}}
||
|j|<qòi|_|j  ¡D]\}}
||
|j|<q| !d¡dS)Nú    import %sZ _tabversionz0.0zInconsistent PLY versionr+)"rPrQrRÚexecÚsysÚmodulesrGr[Ú ImportErrorZ
_lextokensr>Z _lexreflagsr9Z _lexliteralsr@ÚsetÚ lextokens_allZ _lexstateinfor5Z_lexstateignorer6r0r1Z _lexstatererErFÚreÚcompileÚ_names_to_funcsr7Z_lexstateerrorfr8Z _lexstateeoffÚbegin) rZtabfileÚfdictr_rcrdreZtxtitemrfÚ    func_namerKr    r    r
ÚreadtabÓs8  
  
 z Lexer.readtabcCs8|dd…}t|tƒstdƒ‚||_d|_t|ƒ|_dS)Nr-zExpected a stringr)rPÚ StringTypesÚ
ValueErrorr:rÚlenr;)rrrIr    r    r
Úinputûs  
z Lexer.inputcCsd||jkrtdƒ‚|j||_|j||_|j |d¡|_|j |d¡|_    |j
 |d¡|_ ||_ dS)NzUndefined stater,) r0ryr.r1r/r6Úgetr?r7r<r8r=r3©rÚstater    r    r
rts
  z Lexer.begincCs|j |j¡| |¡dSr)r4rFr3rtr}r    r    r
Ú
push_stateszLexer.push_statecCs| |j ¡¡dSr)rtr4Úpoprr    r    r
Ú    pop_stateszLexer.pop_statecCs|jSr)r3rr    r    r
Ú current_state!szLexer.current_statecCs|j|7_dSr)r)rÚnr    r    r
Úskip'sz
Lexer.skipc Cs~|j}|j}|j}|j}||kr|||kr8|d7}q|jD]ð\}}| ||¡}|sXq>tƒ}| ¡|_|j    |_    ||_|j
}    ||    \}
|_ |
s²|j r¦|  ¡|_|S|  ¡}q|  ¡}||_ ||_||_|
|ƒ} | sè|j}|j}q|js(| j |jkr(td|
jj|
jj|
j| j f||d…ƒ‚| S|||jkrttƒ}|||_|j    |_    |j|_ ||_|d|_|S|jrôtƒ}|j|d…|_|j    |_    d|_ ||_ ||_||_| |¡} ||jkrâtd||||d…ƒ‚|j}| sðq| S||_td|||f||d…ƒ‚q|jr\tƒ}d|_ d|_|j    |_    ||_||_ ||_| |¡} | S|d|_|jdkrztdƒ‚dS)    Nr-z4%s:%d: Rule '%s' returned an unknown token type '%s'r#z&Scanning error. Illegal character '%s'z"Illegal character '%s' at index %dÚeofr,z"No input string given with input())rr;r?r:r.ÚmatchrÚgrouprrÚ    lastindexrÚendÚlexerZlexmatchrBrprÚ__code__Ú co_filenameÚco_firstlinenor r@r<r=Ú RuntimeError) rrr;r?r:r.Ú lexindexfuncÚmÚtokÚirgZnewtokr    r    r
Útoken1s¦
 
 
þ
þ
 
 
  
 
 z Lexer.tokencCs|Srr    rr    r    r
Ú__iter__ŸszLexer.__iter__cCs| ¡}|dkrt‚|Sr)r“Ú StopIteration)rÚtr    r    r
Únext¢sz
Lexer.next)N)r,)r r rr rLrirwr{rtrrr‚r„r“r”r—Ú__next__r    r    r    r
r*ss
 
%(  
nr*cCst|d|jƒS)NÚregex)rGÚ__doc__)rgr    r    r
Ú
_get_regex·sr›cCs0t |¡}|j ¡}|j|jkr,| |j¡|Sr)rlÚ    _getframeÚ    f_globalsrDÚf_localsÚupdate)ÚlevelsrÚldictr    r    r
Úget_caller_module_dictÁs
 
 
  r¢cCsFg}t||ƒD]2\}}|r6|dr6| ||df¡q| |¡q|SrC)r]rF)ZfunclistÚnamelistÚresultrr'r    r    r
r^Îs   r^cCsDg}|D]6}|r4|dr4| ||d|df¡q| |¡q|SrC)rF)r£rur¤rƒr    r    r
rsÝs   rscCsf|sgSd |¡}zÌt ||¡}dgt|j ¡ƒd}|dd…}|j ¡D]z\}}    | |d¡}
t|
ƒt    j
t    j fkr|
||f||    <|||    <qN|
dk    rN|||    <|  d¡dkr¸d||    <qNd||f||    <qN||fg|g|gfWSt k
r`tt|ƒdƒ} | dkrd} t|d| …|||ƒ\} } }t|| d…|||ƒ\}}}| || |||fYSXdS)Nú|r-Úignore_r)NNé)rWrqrrÚmaxÚ
groupindexÚvaluesrEr|rrQÚ FunctionTypeÚ
MethodTypeÚfindÚ    ExceptionÚintrzÚ_form_master_re)ZrelistÚreflagsr¡Útoknamesr™r.rZ lexindexnamesrr’ÚhandlerÚllistrdZlnamesZrlistZrreZrnamesr    r    r
r°ís2
 
 
 
r°cCs†d}| d¡}t|dd…dƒD]\}}||kr |dkr q>q |dkrXt|d|…ƒ}nd}d|krlt|ƒ}d ||d…¡}||fS)Nr-Ú_ÚANY)r+)rTÚ    enumerater\rW)rÚnamesZnonstateÚpartsr’ÚpartÚstatesZ    tokennamer    r    r
Ú _statetokens
r¼c@sfeZdZddd„Zdd„Zdd„Zd    d
„Zd d „Zd d„Zdd„Z    dd„Z
dd„Z dd„Z dd„Z dS)Ú LexerReflectNrcCsL||_d|_g|_||_ddi|_tƒ|_d|_|dkrBtt    j
ƒn||_ dS)Nr+Ú    inclusiveF) r¡Z
error_funcÚtokensr±Ú    stateinforormr#rrlÚstderrÚlog)rr¡rÂr±r    r    r
r /s
zLexerReflect.__init__cCs$| ¡| ¡| ¡| ¡dSr)Ú
get_tokensÚ get_literalsÚ
get_statesÚ    get_rulesrr    r    r
Úget_all:szLexerReflect.get_allcCs| ¡| ¡| ¡|jSr)Úvalidate_tokensÚvalidate_literalsÚvalidate_rulesr#rr    r    r
Ú validate_allAszLexerReflect.validate_allcCsp|j dd¡}|s(|j d¡d|_dSt|ttfƒsL|j d¡d|_dS|sf|j d¡d|_dS||_dS)Nr¿zNo token list is definedTztokens must be a list or tupleztokens is empty)r¡r|rÂr#rPÚlistr\r¿)rr¿r    r    r
rÃHs   zLexerReflect.get_tokenscCsPi}|jD]@}t |¡s,|j d|¡d|_||krB|j d|¡d||<q
dS)NzBad token name '%s'TzToken '%s' multiply definedr-)r¿Ú_is_identifierr†rÂr#r")rZ    terminalsrƒr    r    r
rÈ\s
 
zLexerReflect.validate_tokenscCs |j dd¡|_|jsd|_dS)NÚliteralsr,)r¡r|rÎrr    r    r
rÄgszLexerReflect.get_literalscCsjz>|jD]2}t|tƒr"t|ƒdkr|j dt|ƒ¡d|_qWn&tk
rd|j d¡d|_YnXdS)Nr-z.Invalid literal %s. Must be a single characterTzIInvalid literals specification. literals must be a sequence of characters)rÎrPrxrzrÂr#rZÚ    TypeError)rrIr    r    r
rÉms
  zLexerReflect.validate_literalscCsö|j dd¡|_|jròt|jttfƒs:|j d¡d|_n¸|jD]°}t|tƒrZt|ƒdkrt|j dt    |ƒ¡d|_q@|\}}t|t
ƒs |j dt    |ƒ¡d|_q@|dksÆ|dksÆ|j d    |¡d|_q@||j kræ|j d
|¡d|_q@||j |<q@dS) Nr»z)states must be defined as a tuple or listTr§zMInvalid state specifier %s. Must be a tuple (statename,'exclusive|inclusive')zState name %s must be a stringr¾Ú    exclusivez:State type for state %s must be 'inclusive' or 'exclusive'zState '%s' already defined) r¡r|r»rPr\rÌrÂr#rzrZrxrÀ)rrr'Z    statetyper    r    r
rÅxs0 
 
 
zLexerReflect.get_statesc    Cs,dd„|jDƒ}i|_i|_i|_i|_i|_i|_|jD]}g|j|<g|j|<q:t|ƒdkrv|j     
d¡d|_
dS|D]d}|j|}t ||jƒ\}}||j|<t |dƒrD|dkrÎ|D]}||j|<q¼nt|dkrì|D]}||j|<qÚnV|d    kr"|j j}|j j}|j     
d
|||j¡d|_
n |D]}|j| ||f¡q&qzt|tƒrÌ|d    krŠ|D]}||j|<q^d |krÊ|j     d |¡n@|dkrª|j     
d |¡d|_
n |D]}|j| ||f¡q®qz|j     
d|¡d|_
qz|j ¡D]}|jdd„dqì|j ¡D]}|jdd„ddqdS)NcSs g|]}|dd…dkr|‘qS)Nr§Zt_r    )Ú.0rr    r    r
Ú
<listcomp>˜sz*LexerReflect.get_rules.<locals>.<listcomp>rz+No rules of the form t_rulename are definedTr)r#r…Úignorez,%s:%d: Rule '%s' must be defined as a stringú\z#%s contains a literal backslash '\'ú'Rule '%s' must be defined as a functionz&%s not defined as a function or stringcSs |djjS©Nr-)r‹r©Úxr    r    r
Ú<lambda>Òóz(LexerReflect.get_rules.<locals>.<lambda>)rJcSs t|dƒSrÖ)rzr×r    r    r
rÙÖrÚ)rJÚreverse)r¡r²ÚfuncsymÚstrsymrÓÚerrorfÚeoffrÀrzrÂr#r¼Úhasattrr‹rrŒr rFrPrxr"rªÚsort)    rZtsymbolsrrr–r»ÚtoknameÚlineÚfiler    r    r
rƗsb
 
 
 
 
 
 
 
 
zLexerReflect.get_rulesc Csz|jD]T}|j|D]l\}}|jj}|jj}t |¡}|j |¡|j    |}t
|t j ƒrbd}nd}|jj }    |    |kr’|j d|||j¡d|_q|    |kr¶|j d|||j¡d|_qt|ƒsÚ|j d|||j¡d|_qzDt d|t|ƒf|j¡}
|
 d¡r|j d    |||j¡d|_Wqtjk
r‚} zB|j d
|||j| ¡d t|ƒkrl|j d |||j¡d|_W5d} ~ XYqXq|j|D]ü\} } |j    | }|d krÄ|j d| ¡d|_q||jkrú| d¡dkrú|j d| |¡d|_qz:t d| | f|j¡}
|
 d¡r2|j d| ¡d|_WnTtjk
rˆ} z2|j d| | ¡d | krr|j d| ¡d|_W5d} ~ XYnXq|j|sº|j|sº|j d|¡d|_|j |d¡}|r|}|jj}|jj}t |¡}|j |¡t
|t j ƒr
d}nd}|jj }    |    |kr:|j d|||j¡d|_|    |kr|j d|||j¡d|_q|jD]}| |¡qddS)Nr§r-z'%s:%d: Rule '%s' has too many argumentsTz%%s:%d: Rule '%s' requires an argumentz2%s:%d: No regular expression defined for rule '%s'ú
(?P<%s>%s)r,z<%s:%d: Regular expression for rule '%s' matches empty stringz3%s:%d: Invalid regular expression for rule '%s'. %sú#z6%s:%d. Make sure '#' in rule '%s' is escaped with '\#'r#rÕr¦rz-Rule '%s' defined for an unspecified token %sz5Regular expression for rule '%s' matches empty stringz,Invalid regular expression for rule '%s'. %sz/Make sure '#' in rule '%s' is escaped with '\#'zNo rules defined for state '%s')rÀrÜr‹rrŒÚinspectÚ    getmodulermÚaddr²rPrQr¬Ú co_argcountrÂr#r r›rqrrr±r†rÝr¿r­rÞr|Úvalidate_module)rr~ÚfnamerrãräÚmodulerâZreqargsÚnargsrIÚer'ÚrZefuncr    r    r
rÊÙs– 
 
 
 
 
 
 
 
 
 
zLexerReflect.validate_rulesc CsÂzt |¡\}}Wntk
r(YdSXt d¡}t d¡}i}|d7}|D]n}| |¡}|sj| |¡}|r´| d¡}    | |    ¡}
|
s|||    <n$t |¡} |j     
d| ||    |
¡d|_
|d7}qNdS)Nz\s*def\s+(t_[a-zA-Z_0-9]*)\(z\s*(t_[a-zA-Z_0-9]*)\s*=r-z7%s:%d: Rule %s redefined. Previously defined on line %dT) rçÚgetsourcelinesrSrqrrr†r‡r|Ú getsourcefilerÂr#) rríÚlinesZlinenZfreZsreZ    counthashrãrr'Úprevrar    r    r
rë@s*
 
 
 
 
 
 
 
zLexerReflect.validate_module)Nr)r r rr rÇrËrÃrÈrÄrÉrÅrÆrÊrër    r    r    r
r½.s
  Bgr½Fr_c
%
sr|dkr d}d}
ddi} tƒ} || _|    dkr6ttjƒ}    |rL|dkrLttjƒ}|rT|‰ˆr”‡fdd„tˆƒDƒ} t| ƒ}
d|
krœtj|
dj|
d<nt    dƒ}
|
 
d    ¡}|rÈt |t ƒrÈd
|krÈ|d
|}t |
|    |d }| ¡|sò| ¡ròtd ƒ‚|r8|r8z"|  ||
¡| ja| ja| a| WStk
r6YnX|rh| d |j¡| d|j¡| d|j¡tƒ| _|jD]}| j |¡qvt |jttfƒr¸t|jdƒƒ  |j¡| _!n|j| _!| jt| j!ƒB| _"|j} i}| D]¦}g}|j#|D]J\}}|j$j%}|j$j&}| 'd|t(|ƒf¡|rò| d|t(|ƒ|¡qò|j)|D]2\}}| 'd||f¡|rH| d|||¡qH|||<qà|r˜| d¡|D]h}t*||||
|j+ƒ\}}}|| j,|<|| j-|<|| j.|<|rœt/|ƒD]\}}| d|||¡qæqœ|  0¡D]`\}}|dkr|dkr| j,| 1| j,d¡| j-| 1| j-d¡| j.| 1| j.d¡q| | _2| j,d| _3| j-d| _4|| _5|j6| _7| j7 
dd¡| _8|j9| _:|j9 
dd¡| _;| j;sÖ|     <d¡|j=| _>|j= 
dd¡| _?|  0¡D]˜\} }|dkrB| |j9kr |     <d| ¡| |j6krŒ| j8rŒ|     <d| ¡nJ|dkrö| |j9krl|j9 
dd¡|j9| <| |j6krö|j6 
dd¡|j6| <qö| ja| ja| a|rn|rn|dkr&t |t@jAƒrÌ|j}!nNd
|krà|
d}!n:| Bd
¡}"d
  |"dd…¡}#tCd|#ƒtDtj|#ddƒ}!tEjF G|!¡}z|  H||¡Wn6tIk
rl}$z|     <d||$f¡W5d}$~$XYnX| S)Nr_r+r¾csg|]}|tˆ|ƒf‘qSr    )rG)rÑÚk©rír    r
rÒzszlex.<locals>.<listcomp>Ú__file__r r§Ú __package__rM)rÂr±zCan't build lexerzlex: tokens   = %rzlex: literals = %rzlex: states   = %rrråz(lex: Adding rule %s -> '%s' (state '%s')z#lex: ==== MASTER REGEXS FOLLOW ====z"lex: state '%s' : regex[%d] = '%s'r,zNo t_error rule is definedrÐz1No error rule is defined for exclusive state '%s'z2No ignore rule is defined for exclusive state '%s'rNrjz#Couldn't write lextab module %r. %s)Jr*rBrrlrÁÚdirÚdictrmr÷r¢r|rPrr½rÇrËÚ SyntaxErrorrwr“r{rŠrnr$r¿rÎrÀror>rérÌr\rrWr@rprÜr‹rrŒrFr›rÝr°r²r0r1r2r·rEÚextendr5r.r/r9rÓr6r?rÞr7r<r"rßr8r=rQrRrTrkrGrUrVÚdirnamerirS)%rírHr%Úoptimizer_r±Znowarnr`ZdebuglogZerrorlogr¡rÀZlexobjZ_itemsÚpkgZlinforƒZregexsr~Z
regex_listrìrrãrär'rðr.Zre_textZre_namesr’rÚstyperÚsrcfiler¹Úpkgnamerïr    rör
Úlex_sð
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  $rcCs°|sVz&tjd}t|ƒ}| ¡}| ¡Wn*tk
rTtj d¡tj ¡}YnX|rb|j    }nt    }||ƒ|rz|j
}nt
}|ƒ}|sŠq¬tj d|j |j |j |jf¡q~dS)Nr-z/Reading from standard input (type EOF to end):
z(%s,%r,%d,%d)
)rlÚargvrXÚreadÚcloseÚ
IndexErrorÚstdoutrÚstdinr{r“rrrr)rŠÚdatararÚ_inputÚ_tokenr‘r    r    r
Úrunmains(
  r cs‡fdd„}|S)Ncs tˆdƒrtˆƒ|_nˆ|_|S)Nr))ràr›r™r©rðr    r
Ú    set_regexBs
 zTOKEN.<locals>.set_regexr    )rðrr    rr
ÚTOKENAs r)NN)$rYr[rqrlrQrDrUrçZ
StringTypeZ UnicodeTyperxÚAttributeErrorrÚbytesrrrÍr®rrHrrr&r*r›r¢r^rsr°r¼r½r¯ÚVERBOSErr rÚTokenr    r    r    r
Ú<module>"sN
 F
 (3
ÿ
A
"