...
1<lexer>
2 <config>
3 <name>Python 2</name>
4 <alias>python2</alias>
5 <alias>py2</alias>
6 <mime_type>text/x-python2</mime_type>
7 <mime_type>application/x-python2</mime_type>
8 </config>
9 <rules>
10 <state name="tdqs">
11 <rule pattern=""""">
12 <token type="LiteralStringDouble"/>
13 <pop depth="1"/>
14 </rule>
15 <rule>
16 <include state="strings-double"/>
17 </rule>
18 <rule pattern="\n">
19 <token type="LiteralStringDouble"/>
20 </rule>
21 </state>
22 <state name="name">
23 <rule pattern="@[\w.]+">
24 <token type="NameDecorator"/>
25 </rule>
26 <rule pattern="[a-zA-Z_]\w*">
27 <token type="Name"/>
28 </rule>
29 </state>
30 <state name="magicfuncs">
31 <rule pattern="(__instancecheck__|__subclasscheck__|__getattribute__|__rfloordiv__|__ifloordiv__|__setslice__|__getslice__|__contains__|__reversed__|__floordiv__|__rtruediv__|__itruediv__|__delslice__|__rlshift__|__rrshift__|__delitem__|__rdivmod__|__nonzero__|__missing__|__delattr__|__setattr__|__irshift__|__complex__|__setitem__|__getitem__|__truediv__|__unicode__|__ilshift__|__getattr__|__delete__|__coerce__|__invert__|__lshift__|__divmod__|__rshift__|__enter__|__index__|__float__|__iadd__|__rsub__|__init__|__imul__|__rpow__|__repr__|__rmul__|__isub__|__iter__|__rmod__|__ixor__|__call__|__imod__|__long__|__hash__|__rxor__|__idiv__|__iand__|__rdiv__|__ipow__|__rcmp__|__rand__|__exit__|__radd__|__str__|__cmp__|__pos__|__pow__|__oct__|__new__|__neg__|__mul__|__mod__|__set__|__xor__|__sub__|__len__|__and__|__get__|__rop__|__add__|__ior__|__div__|__iop__|__int__|__abs__|__hex__|__ror__|__del__|__eq__|__or__|__ne__|__lt__|__le__|__ge__|__gt__|__op__)\b">
32 <token type="NameFunctionMagic"/>
33 </rule>
34 </state>
35 <state name="keywords">
36 <rule pattern="(yield from|continue|finally|lambda|assert|global|except|return|print|yield|while|break|raise|elif|pass|exec|else|with|try|for|del|as|if)\b">
37 <token type="Keyword"/>
38 </rule>
39 </state>
40 <state name="tsqs">
41 <rule pattern="'''">
42 <token type="LiteralStringSingle"/>
43 <pop depth="1"/>
44 </rule>
45 <rule>
46 <include state="strings-single"/>
47 </rule>
48 <rule pattern="\n">
49 <token type="LiteralStringSingle"/>
50 </rule>
51 </state>
52 <state name="stringescape">
53 <rule pattern="\\([\\abfnrtv"\']|\n|N\{.*?\}|u[a-fA-F0-9]{4}|U[a-fA-F0-9]{8}|x[a-fA-F0-9]{2}|[0-7]{1,3})">
54 <token type="LiteralStringEscape"/>
55 </rule>
56 </state>
57 <state name="numbers">
58 <rule pattern="(\d+\.\d*|\d*\.\d+)([eE][+-]?[0-9]+)?j?">
59 <token type="LiteralNumberFloat"/>
60 </rule>
61 <rule pattern="\d+[eE][+-]?[0-9]+j?">
62 <token type="LiteralNumberFloat"/>
63 </rule>
64 <rule pattern="0[0-7]+j?">
65 <token type="LiteralNumberOct"/>
66 </rule>
67 <rule pattern="0[bB][01]+">
68 <token type="LiteralNumberBin"/>
69 </rule>
70 <rule pattern="0[xX][a-fA-F0-9]+">
71 <token type="LiteralNumberHex"/>
72 </rule>
73 <rule pattern="\d+L">
74 <token type="LiteralNumberIntegerLong"/>
75 </rule>
76 <rule pattern="\d+j?">
77 <token type="LiteralNumberInteger"/>
78 </rule>
79 </state>
80 <state name="import">
81 <rule pattern="(?:[ \t]|\\\n)+">
82 <token type="Text"/>
83 </rule>
84 <rule pattern="as\b">
85 <token type="KeywordNamespace"/>
86 </rule>
87 <rule pattern=",">
88 <token type="Operator"/>
89 </rule>
90 <rule pattern="[a-zA-Z_][\w.]*">
91 <token type="NameNamespace"/>
92 </rule>
93 <rule>
94 <pop depth="1"/>
95 </rule>
96 </state>
97 <state name="magicvars">
98 <rule pattern="(__metaclass__|__defaults__|__globals__|__closure__|__weakref__|__module__|__slots__|__class__|__bases__|__file__|__func__|__dict__|__name__|__self__|__code__|__mro__|__doc__)\b">
99 <token type="NameVariableMagic"/>
100 </rule>
101 </state>
102 <state name="fromimport">
103 <rule pattern="(?:[ \t]|\\\n)+">
104 <token type="Text"/>
105 </rule>
106 <rule pattern="import\b">
107 <token type="KeywordNamespace"/>
108 <pop depth="1"/>
109 </rule>
110 <rule pattern="None\b">
111 <token type="NameBuiltinPseudo"/>
112 <pop depth="1"/>
113 </rule>
114 <rule pattern="[a-zA-Z_.][\w.]*">
115 <token type="NameNamespace"/>
116 </rule>
117 <rule>
118 <pop depth="1"/>
119 </rule>
120 </state>
121 <state name="strings-single">
122 <rule pattern="%(\(\w+\))?[-#0 +]*([0-9]+|[*])?(\.([0-9]+|[*]))?[hlL]?[E-GXc-giorsux%]">
123 <token type="LiteralStringInterpol"/>
124 </rule>
125 <rule pattern="[^\\\'"%\n]+">
126 <token type="LiteralStringSingle"/>
127 </rule>
128 <rule pattern="[\'"\\]">
129 <token type="LiteralStringSingle"/>
130 </rule>
131 <rule pattern="%">
132 <token type="LiteralStringSingle"/>
133 </rule>
134 </state>
135 <state name="funcname">
136 <rule>
137 <include state="magicfuncs"/>
138 </rule>
139 <rule pattern="[a-zA-Z_]\w*">
140 <token type="NameFunction"/>
141 <pop depth="1"/>
142 </rule>
143 <rule>
144 <pop depth="1"/>
145 </rule>
146 </state>
147 <state name="classname">
148 <rule pattern="[a-zA-Z_]\w*">
149 <token type="NameClass"/>
150 <pop depth="1"/>
151 </rule>
152 </state>
153 <state name="backtick">
154 <rule pattern="`.*?`">
155 <token type="LiteralStringBacktick"/>
156 </rule>
157 </state>
158 <state name="strings-double">
159 <rule pattern="%(\(\w+\))?[-#0 +]*([0-9]+|[*])?(\.([0-9]+|[*]))?[hlL]?[E-GXc-giorsux%]">
160 <token type="LiteralStringInterpol"/>
161 </rule>
162 <rule pattern="[^\\\'"%\n]+">
163 <token type="LiteralStringDouble"/>
164 </rule>
165 <rule pattern="[\'"\\]">
166 <token type="LiteralStringDouble"/>
167 </rule>
168 <rule pattern="%">
169 <token type="LiteralStringDouble"/>
170 </rule>
171 </state>
172 <state name="dqs">
173 <rule pattern=""">
174 <token type="LiteralStringDouble"/>
175 <pop depth="1"/>
176 </rule>
177 <rule pattern="\\\\|\\"|\\\n">
178 <token type="LiteralStringEscape"/>
179 </rule>
180 <rule>
181 <include state="strings-double"/>
182 </rule>
183 </state>
184 <state name="root">
185 <rule pattern="\n">
186 <token type="Text"/>
187 </rule>
188 <rule pattern="^(\s*)([rRuUbB]{,2})("""(?:.|\n)*?""")">
189 <bygroups>
190 <token type="Text"/>
191 <token type="LiteralStringAffix"/>
192 <token type="LiteralStringDoc"/>
193 </bygroups>
194 </rule>
195 <rule pattern="^(\s*)([rRuUbB]{,2})('''(?:.|\n)*?''')">
196 <bygroups>
197 <token type="Text"/>
198 <token type="LiteralStringAffix"/>
199 <token type="LiteralStringDoc"/>
200 </bygroups>
201 </rule>
202 <rule pattern="[^\S\n]+">
203 <token type="Text"/>
204 </rule>
205 <rule pattern="\A#!.+$">
206 <token type="CommentHashbang"/>
207 </rule>
208 <rule pattern="#.*$">
209 <token type="CommentSingle"/>
210 </rule>
211 <rule pattern="[]{}:(),;[]">
212 <token type="Punctuation"/>
213 </rule>
214 <rule pattern="\\\n">
215 <token type="Text"/>
216 </rule>
217 <rule pattern="\\">
218 <token type="Text"/>
219 </rule>
220 <rule pattern="(in|is|and|or|not)\b">
221 <token type="OperatorWord"/>
222 </rule>
223 <rule pattern="!=|==|<<|>>|[-~+/*%=<>&^|.]">
224 <token type="Operator"/>
225 </rule>
226 <rule>
227 <include state="keywords"/>
228 </rule>
229 <rule pattern="(def)((?:\s|\\\s)+)">
230 <bygroups>
231 <token type="Keyword"/>
232 <token type="Text"/>
233 </bygroups>
234 <push state="funcname"/>
235 </rule>
236 <rule pattern="(class)((?:\s|\\\s)+)">
237 <bygroups>
238 <token type="Keyword"/>
239 <token type="Text"/>
240 </bygroups>
241 <push state="classname"/>
242 </rule>
243 <rule pattern="(from)((?:\s|\\\s)+)">
244 <bygroups>
245 <token type="KeywordNamespace"/>
246 <token type="Text"/>
247 </bygroups>
248 <push state="fromimport"/>
249 </rule>
250 <rule pattern="(import)((?:\s|\\\s)+)">
251 <bygroups>
252 <token type="KeywordNamespace"/>
253 <token type="Text"/>
254 </bygroups>
255 <push state="import"/>
256 </rule>
257 <rule>
258 <include state="builtins"/>
259 </rule>
260 <rule>
261 <include state="magicfuncs"/>
262 </rule>
263 <rule>
264 <include state="magicvars"/>
265 </rule>
266 <rule>
267 <include state="backtick"/>
268 </rule>
269 <rule pattern="([rR]|[uUbB][rR]|[rR][uUbB])(""")">
270 <bygroups>
271 <token type="LiteralStringAffix"/>
272 <token type="LiteralStringDouble"/>
273 </bygroups>
274 <push state="tdqs"/>
275 </rule>
276 <rule pattern="([rR]|[uUbB][rR]|[rR][uUbB])(''')">
277 <bygroups>
278 <token type="LiteralStringAffix"/>
279 <token type="LiteralStringSingle"/>
280 </bygroups>
281 <push state="tsqs"/>
282 </rule>
283 <rule pattern="([rR]|[uUbB][rR]|[rR][uUbB])(")">
284 <bygroups>
285 <token type="LiteralStringAffix"/>
286 <token type="LiteralStringDouble"/>
287 </bygroups>
288 <push state="dqs"/>
289 </rule>
290 <rule pattern="([rR]|[uUbB][rR]|[rR][uUbB])(')">
291 <bygroups>
292 <token type="LiteralStringAffix"/>
293 <token type="LiteralStringSingle"/>
294 </bygroups>
295 <push state="sqs"/>
296 </rule>
297 <rule pattern="([uUbB]?)(""")">
298 <bygroups>
299 <token type="LiteralStringAffix"/>
300 <token type="LiteralStringDouble"/>
301 </bygroups>
302 <combined state="stringescape" state="tdqs"/>
303 </rule>
304 <rule pattern="([uUbB]?)(''')">
305 <bygroups>
306 <token type="LiteralStringAffix"/>
307 <token type="LiteralStringSingle"/>
308 </bygroups>
309 <combined state="stringescape" state="tsqs"/>
310 </rule>
311 <rule pattern="([uUbB]?)(")">
312 <bygroups>
313 <token type="LiteralStringAffix"/>
314 <token type="LiteralStringDouble"/>
315 </bygroups>
316 <combined state="stringescape" state="dqs"/>
317 </rule>
318 <rule pattern="([uUbB]?)(')">
319 <bygroups>
320 <token type="LiteralStringAffix"/>
321 <token type="LiteralStringSingle"/>
322 </bygroups>
323 <combined state="stringescape" state="sqs"/>
324 </rule>
325 <rule>
326 <include state="name"/>
327 </rule>
328 <rule>
329 <include state="numbers"/>
330 </rule>
331 </state>
332 <state name="sqs">
333 <rule pattern="'">
334 <token type="LiteralStringSingle"/>
335 <pop depth="1"/>
336 </rule>
337 <rule pattern="\\\\|\\'|\\\n">
338 <token type="LiteralStringEscape"/>
339 </rule>
340 <rule>
341 <include state="strings-single"/>
342 </rule>
343 </state>
344 <state name="builtins">
345 <rule pattern="(?<!\.)(staticmethod|classmethod|__import__|isinstance|basestring|issubclass|frozenset|raw_input|bytearray|enumerate|property|callable|reversed|execfile|hasattr|setattr|compile|complex|delattr|unicode|globals|getattr|unichr|reduce|xrange|buffer|intern|filter|locals|divmod|coerce|sorted|reload|object|slice|round|float|super|input|bytes|apply|tuple|range|iter|dict|long|type|hash|vars|next|file|exit|open|repr|eval|bool|list|bin|pow|zip|ord|oct|min|set|any|max|map|all|len|sum|int|dir|hex|chr|abs|cmp|str|id)\b">
346 <token type="NameBuiltin"/>
347 </rule>
348 <rule pattern="(?<!\.)(self|None|Ellipsis|NotImplemented|False|True|cls)\b">
349 <token type="NameBuiltinPseudo"/>
350 </rule>
351 <rule pattern="(?<!\.)(PendingDeprecationWarning|UnicodeTranslateError|NotImplementedError|UnicodeDecodeError|DeprecationWarning|UnicodeEncodeError|FloatingPointError|ZeroDivisionError|UnboundLocalError|KeyboardInterrupt|EnvironmentError|IndentationError|OverflowWarning|ArithmeticError|ReferenceError|AttributeError|AssertionError|RuntimeWarning|UnicodeWarning|GeneratorExit|SyntaxWarning|StandardError|BaseException|OverflowError|FutureWarning|ImportWarning|StopIteration|UnicodeError|WindowsError|RuntimeError|ImportError|UserWarning|LookupError|SyntaxError|SystemError|MemoryError|SystemExit|ValueError|IndexError|NameError|Exception|TypeError|EOFError|KeyError|VMSError|TabError|IOError|Warning|OSError)\b">
352 <token type="NameException"/>
353 </rule>
354 </state>
355 </rules>
356</lexer>
View as plain text