blob: a3b68832c61d84d46e980b1a601c9ce21febff40 [file] [log] [blame]
Damien George04b91472014-05-03 23:27:38 +01001/*
2 * This file is part of the Micro Python project, http://micropython.org/
3 *
4 * The MIT License (MIT)
5 *
6 * Copyright (c) 2013, 2014 Damien P. George
7 *
8 * Permission is hereby granted, free of charge, to any person obtaining a copy
9 * of this software and associated documentation files (the "Software"), to deal
10 * in the Software without restriction, including without limitation the rights
11 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12 * copies of the Software, and to permit persons to whom the Software is
13 * furnished to do so, subject to the following conditions:
14 *
15 * The above copyright notice and this permission notice shall be included in
16 * all copies or substantial portions of the Software.
17 *
18 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24 * THE SOFTWARE.
25 */
26
Damien George51dfcb42015-01-01 20:27:54 +000027#include "py/mpconfig.h"
28
Damien Georgeeb7bfcb2014-01-04 15:57:35 +000029// All the qstr definitions in this file are available as constants.
Damien George0c36da02014-03-08 15:24:39 +000030// That is, they are in ROM and you can reference them simply as MP_QSTR_xxxx.
Damien Georgeeb7bfcb2014-01-04 15:57:35 +000031
Damien George6942f802015-01-11 17:52:45 +000032// qstr configuration passed to makeqstrdata.py of the form QCFG(key, value)
Damien George95836f82015-01-11 22:27:30 +000033QCFG(BYTES_IN_LEN, MICROPY_QSTR_BYTES_IN_LEN)
Damien Georgec3bd9412015-07-20 11:03:13 +000034QCFG(BYTES_IN_HASH, MICROPY_QSTR_BYTES_IN_HASH)
Damien George6942f802015-01-11 17:52:45 +000035
36Q()
Damien George708c0732014-04-27 19:23:46 +010037Q(*)
Damien George035a0a22015-10-12 21:49:03 +010038Q(_)
Damien Georgeeb7bfcb2014-01-04 15:57:35 +000039Q(__build_class__)
40Q(__class__)
41Q(__doc__)
Paul Sokolovsky1d938c92014-02-04 00:46:17 +020042Q(__import__)
Damien Georgeeb7bfcb2014-01-04 15:57:35 +000043Q(__init__)
Paul Sokolovsky13684fd2014-05-18 20:37:18 +030044Q(__new__)
Damien Georgeeb7bfcb2014-01-04 15:57:35 +000045Q(__locals__)
46Q(__main__)
47Q(__module__)
48Q(__name__)
stijn3c014a62014-12-23 14:06:55 +010049Q(__dict__)
stijne00eeaf2014-11-12 14:57:34 +010050Q(__hash__)
Damien Georgeeb7bfcb2014-01-04 15:57:35 +000051Q(__next__)
52Q(__qualname__)
Paul Sokolovsky13d52df2014-04-11 23:25:35 +030053Q(__path__)
Damien Georgeeb7bfcb2014-01-04 15:57:35 +000054Q(__repl_print__)
Paul Sokolovskyd0f5e612014-07-25 11:00:15 +030055#if MICROPY_PY___FILE__
56Q(__file__)
57#endif
Damien Georgeeb7bfcb2014-01-04 15:57:35 +000058
Damien George09a0c642014-01-30 10:05:33 +000059Q(__bool__)
Paul Sokolovsky036ad762014-04-13 10:39:25 +030060Q(__contains__)
Paul Sokolovsky44307d52014-03-29 04:10:11 +020061Q(__enter__)
62Q(__exit__)
Damien George09a0c642014-01-30 10:05:33 +000063Q(__len__)
Damien George9e6e9352014-03-26 18:37:06 +000064Q(__iter__)
Damien George7c9c6672014-01-25 00:17:36 +000065Q(__getitem__)
Damien George7d0bfbe2014-02-08 19:01:47 +000066Q(__setitem__)
Paul Sokolovsky14de1142014-04-13 23:55:59 +030067Q(__delitem__)
Damien George7c9c6672014-01-25 00:17:36 +000068Q(__add__)
69Q(__sub__)
Paul Sokolovsky51bbf6a2014-03-16 15:16:54 +020070Q(__repr__)
71Q(__str__)
stijn28fa84b2015-02-14 18:43:54 +010072#if MICROPY_PY_DESCRIPTORS
73Q(__get__)
74Q(__set__)
Damien George56606f32015-04-04 20:15:31 +010075Q(__delete__)
stijn28fa84b2015-02-14 18:43:54 +010076#endif
Damien Georgee44d26a2014-03-31 22:57:56 +010077Q(__getattr__)
muxcc849f72014-04-05 15:49:03 +020078Q(__del__)
Paul Sokolovsky755565d2014-04-25 21:15:16 +030079Q(__call__)
Paul Sokolovsky5473f742014-06-08 00:01:46 +030080Q(__lt__)
Damien George779794a2014-08-26 09:31:26 +010081Q(__gt__)
82Q(__eq__)
83Q(__le__)
84Q(__ge__)
Damien George962a5d52015-01-21 00:19:42 +000085Q(__reversed__)
Paul Sokolovsky98c4bc32015-01-30 01:42:49 +020086#if MICROPY_PY_ALL_SPECIAL_METHODS
Paul Sokolovskye06cf892015-02-21 19:35:09 +020087Q(__mul__)
88Q(__truediv__)
89Q(__floordiv__)
Paul Sokolovsky98c4bc32015-01-30 01:42:49 +020090Q(__iadd__)
Paul Sokolovskye06cf892015-02-21 19:35:09 +020091Q(__isub__)
Paul Sokolovsky1bc53422015-03-30 02:29:59 +030092Q(__invert__)
93Q(__neg__)
94Q(__pos__)
Paul Sokolovsky98c4bc32015-01-30 01:42:49 +020095#endif
Damien George7c9c6672014-01-25 00:17:36 +000096
pohmelie81ebba72016-01-27 23:23:11 +030097#if MICROPY_PY_ASYNC_AWAIT
98Q(__aiter__)
99Q(__anext__)
100Q(__aenter__)
101Q(__aexit__)
102Q(StopAsyncIteration)
103#endif
104
Damien Georgeeb7bfcb2014-01-04 15:57:35 +0000105Q(micropython)
Damien George3417bc22014-05-10 10:36:38 +0100106Q(bytecode)
Damien George2ac4af62014-08-15 16:45:41 +0100107Q(const)
108
Damien Georgec90f59e2014-09-06 23:06:36 +0100109#if MICROPY_EMIT_NATIVE
Damien Georgeeb7bfcb2014-01-04 15:57:35 +0000110Q(native)
111Q(viper)
Damien George2ac4af62014-08-15 16:45:41 +0100112Q(uint)
Damien Georgee9dac3b2014-09-29 22:10:41 +0100113Q(ptr)
114Q(ptr8)
115Q(ptr16)
Damien Georgeb8f9ac52015-10-13 00:50:17 +0100116Q(ptr32)
Damien George2ac4af62014-08-15 16:45:41 +0100117#endif
Damien Georgee5f8a772014-04-21 13:33:15 +0100118
119#if MICROPY_EMIT_INLINE_THUMB
Damien Georgeeb7bfcb2014-01-04 15:57:35 +0000120Q(asm_thumb)
Damien Georgee5f8a772014-04-21 13:33:15 +0100121Q(label)
122Q(align)
123Q(data)
Damien George8f54c082016-01-15 15:20:43 +0000124Q(uint)
Damien George28adab32016-02-23 15:20:39 +0000125Q(nop)
126Q(mov)
127Q(and_)
128Q(cmp)
129Q(add)
130Q(sub)
131Q(lsl)
132Q(lsr)
133Q(asr)
134Q(ldr)
135Q(ldrb)
136Q(ldrh)
137Q(str)
138Q(strb)
139Q(strh)
140Q(b)
141Q(bl)
142Q(bx)
143Q(push)
144Q(pop)
145Q(cpsid)
146Q(cpsie)
147Q(wfi)
148Q(clz)
149Q(rbit)
150Q(movw)
151Q(movt)
152Q(movwt)
153Q(mrs)
154Q(sdiv)
155Q(udiv)
156Q(ldrex)
157Q(strex)
158#if MICROPY_EMIT_INLINE_THUMB_FLOAT
159Q(vcmp)
160Q(vneg)
161Q(vcvt_f32_s32)
162Q(vcvt_s32_f32)
163Q(vsqrt)
164Q(vmov)
165Q(vmrs)
166Q(vldr)
167Q(vstr)
168#endif
Damien Georgee5f8a772014-04-21 13:33:15 +0100169#endif
Damien Georgeeb7bfcb2014-01-04 15:57:35 +0000170
Damien George3d615282014-09-17 23:17:26 +0100171Q(builtins)
172
Damien Georgee9906ac2014-01-04 18:44:46 +0000173Q(Ellipsis)
Damien Georgeeb7bfcb2014-01-04 15:57:35 +0000174Q(StopIteration)
Paul Sokolovsky5ab5ac52015-05-04 19:45:53 +0300175#if MICROPY_PY_BUILTINS_NOTIMPLEMENTED
176Q(NotImplemented)
177#endif
Damien Georgeeb7bfcb2014-01-04 15:57:35 +0000178
Damien Georgec5966122014-02-15 16:10:44 +0000179Q(BaseException)
Rachel Dowdall721c55d2014-03-22 15:28:16 +0000180Q(ArithmeticError)
Damien George71c51812014-01-04 20:21:15 +0000181Q(AssertionError)
Damien Georgeeb7bfcb2014-01-04 15:57:35 +0000182Q(AttributeError)
Rachel Dowdall721c55d2014-03-22 15:28:16 +0000183Q(BufferError)
Rachel Dowdall721c55d2014-03-22 15:28:16 +0000184Q(EOFError)
Rachel Dowdall721c55d2014-03-22 15:28:16 +0000185Q(Exception)
186Q(FileExistsError)
187Q(FileNotFoundError)
188Q(FloatingPointError)
Rachel Dowdall721c55d2014-03-22 15:28:16 +0000189Q(GeneratorExit)
Paul Sokolovsky7cd54d72014-02-04 03:33:55 +0200190Q(ImportError)
Damien George9528cd62014-01-15 21:23:31 +0000191Q(IndentationError)
Damien Georgeeb7bfcb2014-01-04 15:57:35 +0000192Q(IndexError)
Damien George124df6f2014-10-25 18:19:55 +0100193Q(KeyboardInterrupt)
Damien Georgeeb7bfcb2014-01-04 15:57:35 +0000194Q(KeyError)
Rachel Dowdall721c55d2014-03-22 15:28:16 +0000195Q(LookupError)
196Q(MemoryError)
Damien Georgeeb7bfcb2014-01-04 15:57:35 +0000197Q(NameError)
Paul Sokolovsky76f06de2014-02-09 13:17:36 +0200198Q(NotImplementedError)
Damien George9528cd62014-01-15 21:23:31 +0000199Q(OSError)
Daniel Campora077812b2015-06-29 22:45:39 +0200200#if MICROPY_PY_BUILTINS_TIMEOUTERROR
201Q(TimeoutError)
202#endif
Paul Sokolovsky166bb402014-01-18 12:46:43 +0200203Q(OverflowError)
Rachel Dowdall721c55d2014-03-22 15:28:16 +0000204Q(RuntimeError)
Rachel Dowdall721c55d2014-03-22 15:28:16 +0000205Q(SyntaxError)
Damien George7a4ddd22014-05-24 23:32:19 +0100206Q(SystemExit)
Rachel Dowdall721c55d2014-03-22 15:28:16 +0000207Q(TypeError)
208Q(UnboundLocalError)
Rachel Dowdall721c55d2014-03-22 15:28:16 +0000209Q(ValueError)
Damien Georgec8b60f02015-04-20 13:29:31 +0000210#if MICROPY_EMIT_NATIVE
211Q(ViperTypeError)
212#endif
Rachel Dowdall300c8bd2014-03-20 22:40:38 +0000213Q(ZeroDivisionError)
Paul Sokolovsky71ebd4b2015-02-23 23:18:36 +0200214#if MICROPY_PY_BUILTINS_STR_UNICODE
215Q(UnicodeError)
216#endif
Damien Georgeeb7bfcb2014-01-04 15:57:35 +0000217
Damien George3ec0a1a2014-03-22 21:31:28 +0000218Q(None)
219Q(False)
220Q(True)
221Q(object)
Rachel Dowdall721c55d2014-03-22 15:28:16 +0000222
Damien Georgea71c83a2014-02-15 11:34:50 +0000223Q(NoneType)
224
Paul Sokolovsky0ef01d02015-03-18 01:25:04 +0200225#if MICROPY_PY_COLLECTIONS_ORDEREDDICT
226Q(OrderedDict)
227#endif
228
Damien Georgeeb7bfcb2014-01-04 15:57:35 +0000229Q(abs)
230Q(all)
231Q(any)
Paul Sokolovsky9512e9e2014-03-25 01:29:09 +0200232Q(args)
Damien Georgedd4f4532014-10-23 13:34:35 +0100233#if MICROPY_PY_ARRAY
Paul Sokolovsky427905c2014-01-18 19:24:47 +0200234Q(array)
Damien Georgedd4f4532014-10-23 13:34:35 +0100235#endif
Damien George897fe0c2014-04-15 22:03:55 +0100236Q(bin)
237Q({:#b})
Damien Georgeeb7bfcb2014-01-04 15:57:35 +0000238Q(bool)
Damien Georgedd4f4532014-10-23 13:34:35 +0100239#if MICROPY_PY_BUILTINS_BYTEARRAY
Paul Sokolovsky427905c2014-01-18 19:24:47 +0200240Q(bytearray)
Damien Georgedd4f4532014-10-23 13:34:35 +0100241#endif
242#if MICROPY_PY_BUILTINS_MEMORYVIEW
243Q(memoryview)
244#endif
Paul Sokolovskya80ff042014-01-20 20:32:50 +0200245Q(bytes)
Damien Georgeeb7bfcb2014-01-04 15:57:35 +0000246Q(callable)
247Q(chr)
Damien George64131f32014-02-06 20:31:44 +0000248Q(classmethod)
Paul Sokolovsky48fdaad2014-04-13 10:17:04 +0300249Q(_collections)
Damien Georgef20375e2014-08-12 19:57:52 +0100250#if MICROPY_PY_BUILTINS_COMPLEX
Damien Georgeeb7bfcb2014-01-04 15:57:35 +0000251Q(complex)
Damien Georgef20375e2014-08-12 19:57:52 +0100252Q(real)
253Q(imag)
254#endif
Damien Georgeeb7bfcb2014-01-04 15:57:35 +0000255Q(dict)
Damien George4acb2452014-02-02 22:07:44 +0000256Q(dir)
Damien Georgeeb7bfcb2014-01-04 15:57:35 +0000257Q(divmod)
Paul Sokolovsky8bf00082015-09-03 19:34:38 +0300258#if MICROPY_PY_BUILTINS_ENUMERATE
John R. Lenton9daa7892014-01-14 23:55:01 +0000259Q(enumerate)
Paul Sokolovsky8bf00082015-09-03 19:34:38 +0300260#endif
Damien Georged02c6d82014-01-15 22:14:03 +0000261Q(eval)
Damien Georgeca476792014-02-03 22:44:10 +0000262Q(exec)
Damien George2a3e2b92014-12-19 13:36:17 +0000263#if MICROPY_PY_BUILTINS_EXECFILE
264Q(execfile)
265#endif
Paul Sokolovsky22ff3972015-08-20 01:01:56 +0300266#if MICROPY_PY_BUILTINS_FILTER
John R. Lentonfca456b2014-01-15 01:37:08 +0000267Q(filter)
Paul Sokolovsky22ff3972015-08-20 01:01:56 +0300268#endif
Damien George75ec22b2014-08-12 20:16:03 +0100269#if MICROPY_PY_BUILTINS_FLOAT
Damien Georgeeb7bfcb2014-01-04 15:57:35 +0000270Q(float)
Damien George75ec22b2014-08-12 20:16:03 +0100271#endif
Paul Sokolovskya985b452014-04-09 00:40:58 +0300272Q(from_bytes)
Paul Sokolovskye9137b92014-03-26 23:35:13 +0200273Q(getattr)
stijnc1832fd2015-02-14 17:36:59 +0100274Q(setattr)
Paul Sokolovskycc0af3d2014-04-06 01:00:46 +0300275Q(globals)
Paul Sokolovskyff306662014-05-11 19:05:42 +0300276Q(hasattr)
Damien Georgeeb7bfcb2014-01-04 15:57:35 +0000277Q(hash)
Damien George58051112014-04-15 12:42:52 +0100278Q(hex)
Damien Georgeb013aea2014-04-15 12:50:21 +0100279Q(%#x)
xbe0ebf8532014-02-01 19:00:41 -0800280Q(id)
Damien Georgeeb7bfcb2014-01-04 15:57:35 +0000281Q(int)
Damien George004cdce2014-01-09 21:43:51 +0000282Q(isinstance)
283Q(issubclass)
Damien Georgeeb7bfcb2014-01-04 15:57:35 +0000284Q(iter)
285Q(len)
286Q(list)
Paul Sokolovskycc0af3d2014-04-06 01:00:46 +0300287Q(locals)
John R. Lenton39b174e2014-01-15 01:10:09 +0000288Q(map)
pohmelie354e6882015-12-07 15:35:48 +0300289#if MICROPY_PY_BUILTINS_MIN_MAX
Damien Georgeeb7bfcb2014-01-04 15:57:35 +0000290Q(max)
291Q(min)
pohmeliec6ee2732015-12-07 15:45:43 +0300292Q(default)
pohmelie354e6882015-12-07 15:35:48 +0300293#endif
Paul Sokolovskyd08fd682014-02-27 22:22:04 +0200294Q(namedtuple)
Damien Georgeeb7bfcb2014-01-04 15:57:35 +0000295Q(next)
Damien George897fe0c2014-04-15 22:03:55 +0100296Q(oct)
297Q(%#o)
Damien George27e735f2014-04-05 23:02:23 +0100298Q(open)
Damien Georgeeb7bfcb2014-01-04 15:57:35 +0000299Q(ord)
Paul Sokolovskye11b17c2014-02-05 00:47:06 +0200300Q(path)
Damien Georgeeb7bfcb2014-01-04 15:57:35 +0000301Q(pow)
302Q(print)
303Q(range)
Paul Sokolovsky27f5bdd2014-04-26 21:15:56 +0300304Q(read)
Damien Georgee2fb2ba2014-01-15 21:40:48 +0000305Q(repr)
Damien George4c03b3a2014-08-12 18:33:40 +0100306Q(reversed)
Damien George1559a972014-10-31 11:28:50 +0000307Q(round)
John R. Lenton5c768392014-01-13 05:12:50 +0000308Q(sorted)
Damien George64131f32014-02-06 20:31:44 +0000309Q(staticmethod)
Damien Georgeeb7bfcb2014-01-04 15:57:35 +0000310Q(sum)
Damien George35e2a4e2014-02-05 00:51:47 +0000311Q(super)
Paul Sokolovsky36c44992014-01-13 19:20:46 +0200312Q(str)
Paul Sokolovsky0c59db12014-02-04 07:55:10 +0200313Q(sys)
Paul Sokolovskya985b452014-04-09 00:40:58 +0300314Q(to_bytes)
Damien George71c51812014-01-04 20:21:15 +0000315Q(tuple)
Damien Georgeeb7bfcb2014-01-04 15:57:35 +0000316Q(type)
Paul Sokolovsky9512e9e2014-03-25 01:29:09 +0200317Q(value)
Paul Sokolovsky27f5bdd2014-04-26 21:15:56 +0300318Q(write)
John R. Lenton07205ec2014-01-13 02:31:00 +0000319Q(zip)
Damien Georgeeb7bfcb2014-01-04 15:57:35 +0000320
Damien Georgec9fc6202014-10-25 21:59:14 +0100321#if MICROPY_PY_BUILTINS_COMPILE
322Q(compile)
323Q(code)
324Q(single)
325#endif
326
Damien George48815662014-04-02 10:34:44 +0100327Q(sep)
328Q(end)
329
Peter D. Grayb2a237d2015-03-06 14:48:14 -0500330#if MICROPY_PY_BUILTINS_RANGE_ATTRS
331Q(step)
332Q(stop)
333#endif
334
Damien Georgec12b2212014-03-26 20:15:40 +0000335Q(clear)
336Q(copy)
337Q(fromkeys)
338Q(get)
339Q(items)
340Q(keys)
341Q(pop)
342Q(popitem)
343Q(setdefault)
344Q(update)
345Q(values)
Damien Georgeeb7bfcb2014-01-04 15:57:35 +0000346Q(append)
Damien Georgec12b2212014-03-26 20:15:40 +0000347Q(close)
348Q(send)
349Q(throw)
350Q(count)
351Q(extend)
352Q(index)
353Q(remove)
354Q(insert)
Damien Georgeeb7bfcb2014-01-04 15:57:35 +0000355Q(pop)
356Q(sort)
357Q(join)
xbe7b0f39f2014-01-08 14:23:45 -0800358Q(strip)
Paul Sokolovsky88107842014-04-26 06:20:08 +0300359Q(lstrip)
360Q(rstrip)
Damien Georgeeb7bfcb2014-01-04 15:57:35 +0000361Q(format)
Damien George7d0bfbe2014-02-08 19:01:47 +0000362Q(key)
363Q(reverse)
Damien Georgec12b2212014-03-26 20:15:40 +0000364Q(add)
365Q(clear)
366Q(copy)
Damien Georgec12b2212014-03-26 20:15:40 +0000367Q(pop)
368Q(remove)
Damien Georgec12b2212014-03-26 20:15:40 +0000369Q(find)
370Q(rfind)
xbe3d9a39e2014-04-08 11:42:19 -0700371Q(rindex)
Damien Georgec12b2212014-03-26 20:15:40 +0000372Q(split)
Paul Sokolovskyac2f7a72015-04-04 00:09:23 +0300373#if MICROPY_PY_BUILTINS_STR_SPLITLINES
374Q(splitlines)
375Q(keepends)
376Q(\n)
377#endif
Paul Sokolovsky2a273652014-05-13 08:07:08 +0300378Q(rsplit)
Damien Georgec12b2212014-03-26 20:15:40 +0000379Q(startswith)
Paul Sokolovskyd098c6b2014-05-24 22:46:51 +0300380Q(endswith)
Damien Georgec12b2212014-03-26 20:15:40 +0000381Q(replace)
382Q(partition)
383Q(rpartition)
Paul Sokolovsky69135212014-05-10 19:47:41 +0300384Q(lower)
385Q(upper)
Kim Bautersa3f4b832014-05-31 07:30:03 +0100386Q(isspace)
387Q(isalpha)
388Q(isdigit)
389Q(isupper)
390Q(islower)
Damien George491cbd62014-05-06 16:38:54 +0000391Q(iterable)
392Q(start)
Paul Sokolovskyab5d0822014-01-24 00:22:00 +0200393
Damien Georgea71c83a2014-02-15 11:34:50 +0000394Q(bound_method)
395Q(closure)
396Q(dict_view)
397Q(function)
398Q(generator)
399Q(iterator)
400Q(module)
401Q(slice)
402
Damien George75ec22b2014-08-12 20:16:03 +0100403#if MICROPY_PY_BUILTINS_SET
404Q(discard)
405Q(difference)
406Q(difference_update)
407Q(intersection)
408Q(intersection_update)
409Q(isdisjoint)
410Q(issubset)
411Q(issuperset)
412Q(set)
413Q(symmetric_difference)
414Q(symmetric_difference_update)
415Q(union)
416Q(update)
417#endif
418
Damien Georgefb510b32014-06-01 13:32:54 +0100419#if MICROPY_PY_BUILTINS_FROZENSET
Paul Sokolovskyb181b582014-05-10 16:02:17 +0300420Q(frozenset)
421#endif
422
Damien Georgeee3fd462014-05-24 23:03:12 +0100423#if MICROPY_PY_MATH || MICROPY_PY_CMATH
Damien George0c36da02014-03-08 15:24:39 +0000424Q(math)
Damien Georgea9256392014-03-20 16:39:22 +0000425Q(e)
Damien George0c36da02014-03-08 15:24:39 +0000426Q(pi)
427Q(sqrt)
428Q(pow)
429Q(exp)
Damien Georgea24eafa2015-11-17 14:10:13 +0000430#if MICROPY_PY_MATH_SPECIAL_FUNCTIONS
Damien George8854e1f2014-03-12 21:31:41 +0000431Q(expm1)
Damien Georgea24eafa2015-11-17 14:10:13 +0000432#endif
Damien George0c36da02014-03-08 15:24:39 +0000433Q(log)
Damien Georgea24eafa2015-11-17 14:10:13 +0000434#if MICROPY_PY_MATH_SPECIAL_FUNCTIONS
Damien George0c36da02014-03-08 15:24:39 +0000435Q(log2)
436Q(log10)
437Q(cosh)
438Q(sinh)
439Q(tanh)
440Q(acosh)
441Q(asinh)
442Q(atanh)
Damien Georgea24eafa2015-11-17 14:10:13 +0000443#endif
Damien George0c36da02014-03-08 15:24:39 +0000444Q(cos)
445Q(sin)
446Q(tan)
447Q(acos)
448Q(asin)
449Q(atan)
450Q(atan2)
Rachel Dowdall5a14a1d2014-03-20 21:26:51 +0000451Q(ceil)
452Q(copysign)
453Q(fabs)
Rachel Dowdall5a14a1d2014-03-20 21:26:51 +0000454Q(fmod)
Rachel Dowdall249b9c72014-03-22 14:39:33 +0000455Q(floor)
Rachel Dowdall5a14a1d2014-03-20 21:26:51 +0000456Q(isfinite)
457Q(isinf)
458Q(isnan)
459Q(trunc)
Rachel Dowdall249b9c72014-03-22 14:39:33 +0000460Q(modf)
461Q(frexp)
462Q(ldexp)
463Q(degrees)
464Q(radians)
Damien George5cbeace2015-02-22 14:48:18 +0000465#if MICROPY_PY_MATH_SPECIAL_FUNCTIONS
Rachel Dowdall249b9c72014-03-22 14:39:33 +0000466Q(erf)
467Q(erfc)
468Q(gamma)
469Q(lgamma)
Damien Georgedbdfee12014-04-17 17:11:03 +0100470#endif
Damien George5cbeace2015-02-22 14:48:18 +0000471#endif
Damien Georgedbdfee12014-04-17 17:11:03 +0100472
Damien Georgeee3fd462014-05-24 23:03:12 +0100473#if MICROPY_PY_CMATH
Damien Georgedbdfee12014-04-17 17:11:03 +0100474Q(cmath)
475Q(phase)
476Q(polar)
477Q(rect)
478#endif
Damien George0c36da02014-03-08 15:24:39 +0000479
Damien George89deec02015-01-09 20:12:54 +0000480#if MICROPY_PY_MICROPYTHON_MEM_INFO
Damien George75ec22b2014-08-12 20:16:03 +0100481#if MICROPY_MEM_STATS
Damien George0c36da02014-03-08 15:24:39 +0000482Q(mem_total)
483Q(mem_current)
484Q(mem_peak)
Damien George89deec02015-01-09 20:12:54 +0000485#endif
Paul Sokolovsky6e8ff9c2014-12-01 20:41:56 +0200486Q(mem_info)
487Q(qstr_info)
Damien Georgedf4ce932016-01-22 16:16:38 +0000488#if MICROPY_STACK_CHECK
489Q(stack_use)
490#endif
491#endif
492#if MICROPY_ENABLE_GC
493Q(heap_lock)
494Q(heap_unlock)
Damien George75ec22b2014-08-12 20:16:03 +0100495#endif
Damien George0c36da02014-03-08 15:24:39 +0000496
Dave Hylands5b7fd202014-07-01 23:46:53 -0700497#if MICROPY_ENABLE_EMERGENCY_EXCEPTION_BUF && (MICROPY_EMERGENCY_EXCEPTION_BUF_SIZE == 0)
498Q(alloc_emergency_exception_buf)
499#endif
Paul Sokolovskye8432b32015-02-15 22:34:31 +0300500Q(maximum recursion depth exceeded)
Dave Hylands5b7fd202014-07-01 23:46:53 -0700501
Paul Sokolovskyab5d0822014-01-24 00:22:00 +0200502Q(<module>)
503Q(<lambda>)
504Q(<listcomp>)
505Q(<dictcomp>)
506Q(<setcomp>)
507Q(<genexpr>)
Damien Georgeb829b5c2014-01-25 13:51:19 +0000508Q(<string>)
Paul Sokolovskyab5d0822014-01-24 00:22:00 +0200509Q(<stdin>)
Paul Sokolovsky73b70272014-04-13 05:28:46 +0300510
511#if MICROPY_CPYTHON_COMPAT
512Q(encode)
513Q(decode)
514Q(utf-8)
515#endif
Paul Sokolovskya3e50ea2014-04-13 06:55:24 +0300516
Damien Georgeee3fd462014-05-24 23:03:12 +0100517#if MICROPY_PY_SYS
Paul Sokolovskya3e50ea2014-04-13 06:55:24 +0300518Q(argv)
Paul Sokolovsky978d2c02014-04-13 09:53:52 +0300519Q(byteorder)
520Q(big)
Paul Sokolovskyd99e9082014-05-10 16:50:45 +0300521Q(exit)
Paul Sokolovsky978d2c02014-04-13 09:53:52 +0300522Q(little)
Paul Sokolovskyb9b93542014-06-07 23:40:04 +0300523#ifdef MICROPY_PY_SYS_PLATFORM
524Q(platform)
525#endif
Paul Sokolovskya3e50ea2014-04-13 06:55:24 +0300526Q(stdin)
527Q(stdout)
528Q(stderr)
Damien George3c4b5d42015-05-13 23:49:21 +0100529#if MICROPY_PY_SYS_STDIO_BUFFER
530Q(buffer)
531#endif
Paul Sokolovskybbae42d2014-04-14 01:46:45 +0300532Q(version)
Paul Sokolovskybaaaf652014-04-13 09:46:58 +0300533Q(version_info)
Damien Georgec3184ae2015-04-21 14:45:04 +0000534#if MICROPY_PY_ATTRTUPLE
535Q(name)
536#endif
537Q(implementation)
Paul Sokolovsky4e0eeeb2014-07-03 16:50:11 +0300538#if MICROPY_PY_SYS_MAXSIZE
539Q(maxsize)
540#endif
Paul Sokolovsky1a1d11f2015-12-05 00:09:10 +0200541#if MICROPY_PY_SYS_MODULES
542Q(modules)
543#endif
Paul Sokolovsky8b85d142015-04-25 03:17:41 +0300544#if MICROPY_PY_SYS_EXC_INFO
545Q(exc_info)
546#endif
Paul Sokolovsky46c3ab22014-12-06 14:29:09 +0200547Q(print_exception)
Paul Sokolovskya3e50ea2014-04-13 06:55:24 +0300548#endif
Damien George777b0f32014-04-13 18:59:45 +0100549
Damien Georgeee3fd462014-05-24 23:03:12 +0100550#if MICROPY_PY_STRUCT
Dave Hylands0dce9a22015-12-27 13:41:12 -0800551Q(struct)
Paul Sokolovsky3d3ef362015-05-04 16:35:40 +0300552Q(ustruct)
Paul Sokolovsky62044602014-04-19 03:13:15 +0300553Q(pack)
Dave Hylandsa17755e2015-12-23 19:11:27 -0800554Q(pack_into)
Paul Sokolovsky62044602014-04-19 03:13:15 +0300555Q(unpack)
Dave Hylandsa17755e2015-12-23 19:11:27 -0800556Q(unpack_from)
Paul Sokolovsky1829d862015-05-04 15:50:05 +0300557Q(calcsize)
Paul Sokolovsky62044602014-04-19 03:13:15 +0300558#endif
559
Paul Sokolovsky82158472014-06-28 03:03:47 +0300560#if MICROPY_PY_UCTYPES
561Q(uctypes)
Paul Sokolovsky3d3ef362015-05-04 16:35:40 +0300562Q(struct)
Paul Sokolovsky82158472014-06-28 03:03:47 +0300563Q(sizeof)
564Q(addressof)
565Q(bytes_at)
566Q(bytearray_at)
567
568Q(NATIVE)
569Q(LITTLE_ENDIAN)
570Q(BIG_ENDIAN)
571
572Q(VOID)
573
574Q(UINT8)
575Q(INT8)
576Q(UINT16)
577Q(INT16)
578Q(UINT32)
579Q(INT32)
580Q(UINT64)
581Q(INT64)
582
583Q(BFUINT8)
584Q(BFINT8)
585Q(BFUINT16)
586Q(BFINT16)
587Q(BFUINT32)
588Q(BFINT32)
589
590Q(FLOAT32)
591Q(FLOAT64)
592
593Q(ARRAY)
594Q(PTR)
595//Q(BITFIELD)
Paul Sokolovsky2097c8b2014-07-11 00:06:36 +0300596
597Q(BF_POS)
598Q(BF_LEN)
Paul Sokolovsky82158472014-06-28 03:03:47 +0300599#endif
600
Damien Georgeee3fd462014-05-24 23:03:12 +0100601#if MICROPY_PY_IO
Paul Sokolovskyfbdf2f12014-06-12 01:22:25 +0300602Q(_io)
Paul Sokolovsky27f5bdd2014-04-26 21:15:56 +0300603Q(readall)
Paul Sokolovsky1a55b6a2014-10-18 22:44:07 +0300604Q(readinto)
Paul Sokolovsky27f5bdd2014-04-26 21:15:56 +0300605Q(readline)
Damien Georged5f5b2f2014-05-03 22:01:32 +0100606Q(readlines)
Paul Sokolovsky838eb1f2014-11-17 00:16:14 +0200607Q(seek)
blmorrisbdd78c32015-08-04 19:45:30 -0400608Q(tell)
Paul Sokolovsky9e296662014-05-19 20:59:13 +0300609Q(FileIO)
610Q(TextIOWrapper)
Paul Sokolovskycb9dc082014-04-26 20:26:14 +0300611Q(StringIO)
612Q(BytesIO)
613Q(getvalue)
Paul Sokolovskycb66f412014-07-13 23:07:42 +0300614Q(file)
stijn2fe4cf72014-10-04 08:51:33 +0200615Q(mode)
616Q(r)
617Q(encoding)
Paul Sokolovsky5d93dfb2016-03-25 01:10:49 +0200618#if MICROPY_PY_IO_BUFFEREDWRITER
619Q(BufferedWriter)
620#endif
Paul Sokolovskycb9dc082014-04-26 20:26:14 +0300621#endif
622
Damien Georgeee3fd462014-05-24 23:03:12 +0100623#if MICROPY_PY_GC
Paul Sokolovskyf9e54e02014-05-06 02:16:43 +0300624Q(gc)
625Q(collect)
Damien George8c1c7482014-05-08 23:04:49 +0100626Q(disable)
627Q(enable)
Damien George109c1de2014-10-31 21:30:46 +0000628Q(isenabled)
Paul Sokolovsky5aa740c2014-06-24 21:23:40 +0300629Q(mem_free)
630Q(mem_alloc)
Paul Sokolovskyf9e54e02014-05-06 02:16:43 +0300631#endif
632
Damien Georgefb510b32014-06-01 13:32:54 +0100633#if MICROPY_PY_BUILTINS_PROPERTY
Damien George777b0f32014-04-13 18:59:45 +0100634Q(property)
635Q(getter)
636Q(setter)
637Q(deleter)
chrysnf8ba2ec2016-01-13 12:29:17 +0100638Q(doc)
Damien George777b0f32014-04-13 18:59:45 +0100639#endif
Paul Sokolovsky510296f2014-08-08 22:51:40 +0300640
Paul Sokolovsky34162872014-10-12 08:16:34 -0700641#if MICROPY_PY_UZLIB
642Q(uzlib)
643Q(decompress)
644#endif
645
Damien George612045f2014-09-17 22:56:34 +0100646#if MICROPY_PY_UJSON
647Q(ujson)
648Q(dumps)
Damien George89e46572014-09-21 11:40:01 +0100649Q(loads)
Damien George612045f2014-09-17 22:56:34 +0100650#endif
Paul Sokolovskyc71e0452014-09-12 18:48:07 +0300651
652#if MICROPY_PY_URE
653Q(ure)
654Q(compile)
655Q(match)
656Q(search)
657Q(group)
658Q(DEBUG)
659#endif
Damien Georgef5d69792014-10-22 17:37:18 +0000660
661#if MICROPY_PY_UHEAPQ
662Q(uheapq)
663Q(heappush)
664Q(heappop)
665Q(heapify)
666#endif
Paul Sokolovskyf4b19c82014-11-22 01:19:13 +0200667
668#if MICROPY_PY_UHASHLIB
669Q(uhashlib)
670Q(update)
671Q(digest)
Paul Sokolovskyf4b19c82014-11-22 01:19:13 +0200672Q(sha256)
Paul Sokolovskyee1656e2016-01-24 20:52:54 +0200673Q(sha1)
Paul Sokolovskyf4b19c82014-11-22 01:19:13 +0200674#endif
Paul Sokolovskybfdc2052014-11-29 06:19:30 +0200675
676#if MICROPY_PY_UBINASCII
677Q(ubinascii)
678Q(hexlify)
Dave Hylands3ad94d62015-05-18 14:41:25 -0700679Q(unhexlify)
Galen Hazelwood616986a2015-07-01 22:15:06 -0700680Q(a2b_base64)
681Q(b2a_base64)
Paul Sokolovskybfdc2052014-11-29 06:19:30 +0200682#endif
Paul Sokolovsky01162182015-05-03 20:25:40 +0300683
684#if MICROPY_PY_MACHINE
Paul Sokolovsky2eb844e2015-12-18 02:35:33 +0200685Q(umachine)
Paul Sokolovsky01162182015-05-03 20:25:40 +0300686Q(mem)
687Q(mem8)
688Q(mem16)
689Q(mem32)
690#endif
Paul Sokolovskyaaa88672015-10-06 18:10:00 +0300691
Damien Georged0837122016-04-12 13:42:35 +0100692#if MICROPY_PY_MACHINE_I2C
693Q(I2C)
694Q(init)
695Q(scl)
696Q(sda)
697Q(freq)
698Q(scan)
699Q(start)
700Q(stop)
701Q(read)
702Q(readinto)
703Q(write)
704Q(readfrom)
705Q(readfrom_into)
706Q(writeto)
707Q(readfrom_mem)
708Q(readfrom_mem_into)
709Q(writeto_mem)
Damien Georgeeec8a942016-04-12 15:52:17 +0100710Q(addr)
711Q(memaddr)
712Q(n)
713Q(buf)
Damien Georged0837122016-04-12 13:42:35 +0100714#endif
715
Paul Sokolovskyaaa88672015-10-06 18:10:00 +0300716#if MICROPY_PY_USSL
717Q(ussl)
718Q(wrap_socket)
719#endif
Paul Sokolovskye0d77402015-10-27 00:04:33 +0300720
721#if MICROPY_PY_LWIP
722// for lwip module
723Q(lwip)
724Q(reset)
725Q(callback)
726Q(socket)
727Q(AF_INET)
728Q(AF_INET6)
729Q(SOCK_STREAM)
730Q(SOCK_DGRAM)
731Q(SOCK_RAW)
Paul Sokolovsky8f1854a2016-03-25 15:06:12 +0200732Q(SOL_SOCKET)
733Q(SO_REUSEADDR)
Paul Sokolovskye0d77402015-10-27 00:04:33 +0300734// for lwip.socket
735Q(close)
736Q(bind)
737Q(listen)
738Q(accept)
739Q(connect)
740Q(send)
741Q(recv)
742Q(sendto)
743Q(recvfrom)
744Q(settimeout)
Paul Sokolovskyed593782015-12-31 22:54:28 +0200745Q(setsockopt)
Paul Sokolovskyf1919b72016-01-01 07:31:16 +0200746Q(makefile)
Paul Sokolovskye0d77402015-10-27 00:04:33 +0300747#if MICROPY_PY_LWIP_SLIP
748// for lwip.slip
749Q(slip)
750Q(status)
751#endif
752#endif
Paul Sokolovskyb4c65c22015-12-25 19:11:37 +0200753
754#if MICROPY_FSUSERMOUNT
755// for user-mountable block devices
756Q(mount)
Damien George0e0ce472016-02-10 16:28:02 +0000757Q(umount)
Paul Sokolovskyb4c65c22015-12-25 19:11:37 +0200758Q(readonly)
759Q(mkfs)
Paul Sokolovskycd6d1892016-02-28 17:17:24 +0200760Q(listdir)
Damien George4f72aa82016-02-29 10:54:00 +0000761Q(mkdir)
762Q(remove)
Paul Sokolovskye0821832016-02-29 01:22:38 +0200763Q(rename)
Paul Sokolovskyb4c65c22015-12-25 19:11:37 +0200764Q(readblocks)
765Q(writeblocks)
Damien Georgec33ad602016-02-09 14:28:50 +0000766Q(ioctl)
Paul Sokolovskyb4c65c22015-12-25 19:11:37 +0200767Q(sync)
768Q(count)
769#endif
Paul Sokolovsky00ee84e2016-01-01 14:19:26 +0200770
771#if MICROPY_PY_OS_DUPTERM
772Q(dupterm)
773#endif
Paul Sokolovskya58a91e2016-01-17 12:10:28 +0200774
775#if MICROPY_PY_URANDOM
776Q(urandom)
777Q(getrandbits)
778Q(seed)
Damien Georgea53af6c2016-01-22 16:19:32 +0000779#if MICROPY_PY_URANDOM_EXTRA_FUNCS
780Q(randrange)
781Q(randint)
782Q(choice)
783Q(random)
784Q(uniform)
785#endif
Paul Sokolovskya58a91e2016-01-17 12:10:28 +0200786#endif
Paul Sokolovsky6cee8692016-02-15 12:48:51 +0200787
788#if MICROPY_VFS_FAT
789Q(VfsFat)
790Q(flush)
791#endif
Paul Sokolovsky24342dd2016-03-24 19:14:12 +0200792
793#if MICROPY_PY_WEBSOCKET
794Q(websocket)
795#endif
Damien George53ad6812016-04-08 11:08:37 +0100796
797#if MICROPY_PY_FRAMEBUF
798Q(framebuf)
799Q(FrameBuffer1)
800Q(fill)
801Q(pixel)
802Q(scroll)
803Q(text)
804#endif