Language Standards¶
-
Language Standard
1¶ Tool Version: >=1.0This is the base language standard that was introduced with Coco 1.0.0.
-
Language Standard
1.1¶ Tool Version: >=1.3This is a small revision to
1in order to introduce some new features. This standard was introduced in Coco 1.3.0.The changes are:
compound awaitandsimple awaitwere introduced.- The builtin
Vectormodule was introduced. - The following additional keywords were reserved:
abstract,await,inherit,monitor,trace,verify. - Ports were prohibted from defining any members called:
ambiguous,call,connect,drainQueue,processQueue,send,timer, orunused.
To upgrade to
1.1, modify theCoco.tomlfile to setlanguage.standardto1.1. Following this, fix any name clashes identified by the tooling; these should all be clashes with the new reserved words mentioned above.
-
Language Standard
1.2¶ Tool Version: >=1.4See Migrating to Coco Standard 1.2 for further details on how to upgrade.
-
Language Standard
2024¶ Tool Version: >=1.5This is a small revision to
1.2. The changes are:- The
Displaytrait was introduced. - Format strings now default to format expressions using the
Displaytrait instead of theLogtrait. - Coco’s logging will by default log sends of signals if value logging is enabled. This can be disabled by setting the
logSendSignalsoption tofalse. - The C++ generator will generate functions marked with
@noSideEffectsasconst. - The C++ runtime will by default be split into header and source files. This can be disabled by setting the
generator.cpp.headerOnlyRuntimeoption tofalse.
- The