2014-05-03 22:27:38 +00:00
|
|
|
/*
|
2017-06-30 07:22:17 +00:00
|
|
|
* This file is part of the MicroPython project, http://micropython.org/
|
2014-05-03 22:27:38 +00:00
|
|
|
*
|
|
|
|
* The MIT License (MIT)
|
|
|
|
*
|
|
|
|
* Copyright (c) 2013, 2014 Damien P. George
|
|
|
|
*
|
|
|
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
|
|
* of this software and associated documentation files (the "Software"), to deal
|
|
|
|
* in the Software without restriction, including without limitation the rights
|
|
|
|
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
|
|
* copies of the Software, and to permit persons to whom the Software is
|
|
|
|
* furnished to do so, subject to the following conditions:
|
|
|
|
*
|
|
|
|
* The above copyright notice and this permission notice shall be included in
|
|
|
|
* all copies or substantial portions of the Software.
|
|
|
|
*
|
|
|
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
|
|
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
|
|
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
|
|
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
|
|
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
|
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
|
|
* THE SOFTWARE.
|
|
|
|
*/
|
|
|
|
|
2020-02-26 00:58:42 +00:00
|
|
|
// *FORMAT-OFF*
|
|
|
|
|
2015-01-01 20:27:54 +00:00
|
|
|
#include "py/mpconfig.h"
|
|
|
|
|
2014-01-04 15:57:35 +00:00
|
|
|
// All the qstr definitions in this file are available as constants.
|
2014-03-08 15:24:39 +00:00
|
|
|
// That is, they are in ROM and you can reference them simply as MP_QSTR_xxxx.
|
2014-01-04 15:57:35 +00:00
|
|
|
|
2015-01-11 17:52:45 +00:00
|
|
|
// qstr configuration passed to makeqstrdata.py of the form QCFG(key, value)
|
2015-01-11 22:27:30 +00:00
|
|
|
QCFG(BYTES_IN_LEN, MICROPY_QSTR_BYTES_IN_LEN)
|
2015-07-20 11:03:13 +00:00
|
|
|
QCFG(BYTES_IN_HASH, MICROPY_QSTR_BYTES_IN_HASH)
|
2015-01-11 17:52:45 +00:00
|
|
|
|
|
|
|
Q()
|
2014-04-27 18:23:46 +00:00
|
|
|
Q(*)
|
2015-10-12 20:49:03 +00:00
|
|
|
Q(_)
|
2017-01-27 04:10:09 +00:00
|
|
|
Q(/)
|
2018-09-16 04:23:53 +00:00
|
|
|
#if MICROPY_PY_BUILTINS_STR_OP_MODULO
|
2014-04-15 21:03:55 +00:00
|
|
|
Q(%#o)
|
py: Add rules for automated extraction of qstrs from sources.
- add template rule that converts a specified source file into a qstring file
- add special rule for generating a central header that contains all
extracted/autogenerated strings - defined by QSTR_DEFS_COLLECTED
variable. Each platform appends a list of sources that may contain
qstrings into a new build variable: SRC_QSTR. Any autogenerated
prerequisities are should be appened to SRC_QSTR_AUTO_DEPS variable.
- remove most qstrings from py/qstrdefs, keep only qstrings that
contain special characters - these cannot be easily detected in the
sources without additional annotations
- remove most manual qstrdefs, use qstrdef autogen for: py, cc3200,
stmhal, teensy, unix, windows, pic16bit:
- remove all micropython generic qstrdefs except for the special strings that contain special characters (e.g. /,+,<,> etc.)
- remove all port specific qstrdefs except for special strings
- append sources for qstr generation in platform makefiles (SRC_QSTR)
2016-03-10 09:22:41 +00:00
|
|
|
Q(%#x)
|
2018-09-16 04:23:53 +00:00
|
|
|
#else
|
|
|
|
Q({:#o})
|
|
|
|
Q({:#x})
|
|
|
|
#endif
|
py: Add rules for automated extraction of qstrs from sources.
- add template rule that converts a specified source file into a qstring file
- add special rule for generating a central header that contains all
extracted/autogenerated strings - defined by QSTR_DEFS_COLLECTED
variable. Each platform appends a list of sources that may contain
qstrings into a new build variable: SRC_QSTR. Any autogenerated
prerequisities are should be appened to SRC_QSTR_AUTO_DEPS variable.
- remove most qstrings from py/qstrdefs, keep only qstrings that
contain special characters - these cannot be easily detected in the
sources without additional annotations
- remove most manual qstrdefs, use qstrdef autogen for: py, cc3200,
stmhal, teensy, unix, windows, pic16bit:
- remove all micropython generic qstrdefs except for the special strings that contain special characters (e.g. /,+,<,> etc.)
- remove all port specific qstrdefs except for special strings
- append sources for qstr generation in platform makefiles (SRC_QSTR)
2016-03-10 09:22:41 +00:00
|
|
|
Q({:#b})
|
2017-12-05 01:14:57 +00:00
|
|
|
Q( )
|
2015-04-03 21:09:23 +00:00
|
|
|
Q(\n)
|
2015-02-15 19:34:31 +00:00
|
|
|
Q(maximum recursion depth exceeded)
|
2014-01-23 22:22:00 +00:00
|
|
|
Q(<module>)
|
|
|
|
Q(<lambda>)
|
|
|
|
Q(<listcomp>)
|
|
|
|
Q(<dictcomp>)
|
|
|
|
Q(<setcomp>)
|
|
|
|
Q(<genexpr>)
|
2014-01-25 13:51:19 +00:00
|
|
|
Q(<string>)
|
2014-01-23 22:22:00 +00:00
|
|
|
Q(<stdin>)
|
2014-04-13 02:28:46 +00:00
|
|
|
Q(utf-8)
|
2018-02-18 13:26:14 +00:00
|
|
|
|
|
|
|
#if MICROPY_ENABLE_PYSTACK
|
|
|
|
Q(pystack exhausted)
|
|
|
|
#endif
|