python-on-a-chip online compiler

Dependencies:   mbed TSI

Embed: (wiki syntax)

« Back to documentation index

pmFeatureDependencies.h File Reference

pmFeatureDependencies.h File Reference

Platform feature descriptions and dependency checks. More...

Go to the source code of this file.


Detailed Description

Platform feature descriptions and dependency checks.

This file explains the purpose of all of the HAVE_* features and provides logical checks for features that depend on other features.

A platform defines the features it wants in src/platform/<plat>/pmfeatures.py A tool generates C HAVE_* definitions in pmfeatures.h from pmfeatures.py.

HAVE_PRINT ----------

When defined, bytecodes PRINT_ITEM and PRINT_NEWLINE are supported. Along with these, helper routines in the object type are compiled in that allow printing of the object. REQUIRES stdio.h to have snprintf()

HAVE_GC -------

When defined, the code to perform mark-sweep garbage collection is included in the build and automatic GC is enabled. When undefined the allocator will distribute memory until none is left, after which a memory exception will occur.

HAVE_FLOAT ----------

When defined, the code to support floating point objects is included in the build. Issue #148 Create configurable float datatype

HAVE_DEL --------

When defined, the code to support the keyword del is included in the build. This involves the bytecodes: DELETE_SUBSCR, DELETE_NAME, DELETE_ATTR, DELETE_GLOBAL and DELETE_FAST.

HAVE_IMPORTS ------------

When defined, the code to support the IMPORT_FROM and IMPORT_STAR styles is included in the build.

HAVE_DEFAULTARGS ----------------

When defined, the code to support default arguments to functions is included in the build. Issue #157 Support default args

HAVE_REPLICATION ----------------

When defined, the code to support sequence (list, tuple, string) replcation is included in the build. This feature is required by the builtin function __bi.map(). #160 Add support for string and tuple replication

HAVE_CLASSES ------------

When defined, the code to support classes, instances, methods, etc. is included in the build. Issue #202 Implement classes in the vm

HAVE_ASSERT -----------

When defined, the code to support the assert statement is included in the build.

HAVE_GENERATORS ---------------

When defined, the code to support the yield keyword's use for generator-iterators is included in the build. Issue #207 Add support for the yield keyword

HAVE_BACKTICK -------------

When defined, the code to support the backtick operation (`x`) is included in the build. REQUIRES stdio.h to have snprintf() Issue #244 Add support for the backtick operation (UNARY_CONVERT)

HAVE_STRING_FORMAT ------------------

When defined, the code to perform string formatting using the binary modulo operator is included in the build. REQUIRES stdio.h to have snprintf() Issue #205 Add support for string format operation

HAVE_CLOSURES -------------

When defined, the code to support function closures is included in the build. Issue #256 Add support for closures

HAVE_BYTEARRAY --------------

When defined, the code to support the bytearray type is included in the build. NOTE: If this is defined, the bytearray class in src/lib/__bi.py must also be uncommented. Issue #289 Create bytearray datatype

HAVE_DEBUG_INFO ---------------

When defined, the code to support debug information in exception reports is included in the build. Issue #103 Add debug info to exception reports

HAVE_SNPRINTF_FORMAT --------------------

When defined, the string format operation is performed using C's snprintf(). The snprintf() function and all its helper functions can take up program memory, so some people may choose to do without this. You should define this when you need precise control over numeric formatting such as when you supply numbers between the '' and the type specifier, like so::

printf "Number = %4d" % someNumber pirntf "PI approx = %1.2" % 3.1415

Definition in file pmFeatureDependencies.h.