2015-01-28 07:39:08 +01:00
|
|
|
<?xml version="1.0"?>
|
|
|
|
<grammar xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
|
|
|
|
<start>
|
|
|
|
<element name="def">
|
|
|
|
<optional>
|
2015-01-29 07:28:40 +01:00
|
|
|
<attribute name="format">
|
2017-07-23 12:09:41 +02:00
|
|
|
<value>2</value>
|
2015-01-29 07:28:40 +01:00
|
|
|
</attribute>
|
2015-01-28 07:39:08 +01:00
|
|
|
</optional>
|
|
|
|
<zeroOrMore>
|
|
|
|
<choice>
|
|
|
|
<element name="define">
|
|
|
|
<attribute name="name"><text/></attribute>
|
|
|
|
<attribute name="value"><text/></attribute>
|
|
|
|
</element>
|
|
|
|
|
|
|
|
<element name="memory">
|
|
|
|
<zeroOrMore>
|
|
|
|
<choice>
|
2017-07-23 12:09:41 +02:00
|
|
|
<element name="dealloc">
|
|
|
|
<optional>
|
|
|
|
<attribute name="arg">
|
|
|
|
<ref name="ARGNO"/>
|
|
|
|
</attribute>
|
|
|
|
</optional>
|
|
|
|
<ref name="DATA-EXTNAME"/>
|
|
|
|
</element>
|
2015-01-28 07:39:08 +01:00
|
|
|
<element name="alloc">
|
|
|
|
<optional>
|
|
|
|
<attribute name="init"><ref name="DATA-BOOL"/></attribute>
|
|
|
|
</optional>
|
2017-07-23 12:09:41 +02:00
|
|
|
<optional>
|
|
|
|
<attribute name="arg"><ref name="ARGNO"/></attribute>
|
|
|
|
</optional>
|
2019-03-17 10:55:15 +01:00
|
|
|
<optional>
|
|
|
|
<attribute name="buffer-size"><ref name="DATA-BUFFER-SIZE"/></attribute>
|
|
|
|
</optional>
|
2020-05-30 17:41:44 +02:00
|
|
|
<ref name="DATA-EXTNAME-SINGLE"/>
|
2015-01-28 07:39:08 +01:00
|
|
|
</element>
|
2019-07-05 12:44:52 +02:00
|
|
|
<element name="realloc">
|
|
|
|
<optional>
|
|
|
|
<attribute name="init"><ref name="DATA-BOOL"/></attribute>
|
|
|
|
</optional>
|
|
|
|
<optional>
|
|
|
|
<attribute name="arg"><ref name="ARGNO"/></attribute>
|
|
|
|
</optional>
|
|
|
|
<optional>
|
|
|
|
<attribute name="buffer-size"><ref name="DATA-BUFFER-SIZE"/></attribute>
|
|
|
|
</optional>
|
|
|
|
<optional>
|
|
|
|
<attribute name="realloc-arg"><ref name="ARGNO"/></attribute>
|
|
|
|
</optional>
|
2020-05-30 17:41:44 +02:00
|
|
|
<ref name="DATA-EXTNAME-SINGLE"/>
|
2019-07-05 12:44:52 +02:00
|
|
|
</element>
|
2017-07-23 12:09:41 +02:00
|
|
|
<element name="use"><ref name="DATA-EXTNAME"/></element>
|
2015-01-28 07:39:08 +01:00
|
|
|
</choice>
|
|
|
|
</zeroOrMore>
|
|
|
|
</element>
|
|
|
|
|
|
|
|
<element name="resource">
|
|
|
|
<zeroOrMore>
|
|
|
|
<choice>
|
2017-07-23 12:09:41 +02:00
|
|
|
<element name="dealloc">
|
|
|
|
<optional>
|
|
|
|
<attribute name="arg">
|
|
|
|
<ref name="ARGNO"/>
|
|
|
|
</attribute>
|
|
|
|
</optional>
|
|
|
|
<ref name="DATA-EXTNAME"/>
|
|
|
|
</element>
|
2015-01-28 07:39:08 +01:00
|
|
|
<element name="alloc">
|
|
|
|
<optional>
|
|
|
|
<attribute name="init"><ref name="DATA-BOOL"/></attribute>
|
|
|
|
</optional>
|
2017-07-23 12:09:41 +02:00
|
|
|
<optional>
|
|
|
|
<attribute name="arg"><ref name="ARGNO"/></attribute>
|
|
|
|
</optional>
|
2020-05-30 17:41:44 +02:00
|
|
|
<ref name="DATA-EXTNAME-SINGLE"/>
|
2015-01-28 07:39:08 +01:00
|
|
|
</element>
|
2019-07-05 12:44:52 +02:00
|
|
|
<element name="realloc">
|
|
|
|
<optional>
|
|
|
|
<attribute name="init"><ref name="DATA-BOOL"/></attribute>
|
|
|
|
</optional>
|
|
|
|
<optional>
|
|
|
|
<attribute name="arg"><ref name="ARGNO"/></attribute>
|
|
|
|
</optional>
|
|
|
|
<optional>
|
|
|
|
<attribute name="realloc-arg"><ref name="ARGNO"/></attribute>
|
|
|
|
</optional>
|
2020-05-30 17:41:44 +02:00
|
|
|
<ref name="DATA-EXTNAME-SINGLE"/>
|
2019-07-05 12:44:52 +02:00
|
|
|
</element>
|
2017-07-23 12:09:41 +02:00
|
|
|
<element name="use"><ref name="DATA-EXTNAME"/></element>
|
2015-01-28 07:39:08 +01:00
|
|
|
</choice>
|
|
|
|
</zeroOrMore>
|
|
|
|
</element>
|
|
|
|
|
|
|
|
<element name="function">
|
|
|
|
<attribute name="name">
|
2017-07-23 12:09:41 +02:00
|
|
|
<ref name="DATA-EXTNAME"/>
|
2015-01-28 07:39:08 +01:00
|
|
|
</attribute>
|
|
|
|
|
2019-02-22 15:31:52 +01:00
|
|
|
<interleave>
|
|
|
|
<optional>
|
2020-12-28 19:59:51 +01:00
|
|
|
<element name="noreturn">
|
|
|
|
<choice>
|
|
|
|
<value>true</value>
|
|
|
|
<value>false</value>
|
|
|
|
<value>maybe</value>
|
|
|
|
</choice>
|
|
|
|
</element>
|
2019-02-22 15:31:52 +01:00
|
|
|
</optional>
|
|
|
|
<optional>
|
2015-01-28 07:39:08 +01:00
|
|
|
<element name="pure"><empty/></element>
|
2019-02-22 15:31:52 +01:00
|
|
|
</optional>
|
|
|
|
<optional>
|
2017-07-23 12:09:41 +02:00
|
|
|
<element name="const"><empty/></element>
|
2019-02-22 15:31:52 +01:00
|
|
|
</optional>
|
|
|
|
<optional>
|
2015-01-28 07:39:08 +01:00
|
|
|
<element name="ignorefunction"><ref name="DATA-BOOL"/></element>
|
2019-02-22 15:31:52 +01:00
|
|
|
</optional>
|
|
|
|
<optional>
|
2015-01-28 07:39:08 +01:00
|
|
|
<element name="leak-ignore"><empty/></element>
|
2019-02-22 15:31:52 +01:00
|
|
|
</optional>
|
|
|
|
<optional>
|
2020-11-06 09:40:44 +01:00
|
|
|
<element name="use-retval"><empty/>
|
|
|
|
<optional>
|
|
|
|
<attribute name="type">
|
|
|
|
<value>error-code</value>
|
|
|
|
</attribute>
|
|
|
|
</optional>
|
|
|
|
</element>
|
2019-02-22 15:31:52 +01:00
|
|
|
</optional>
|
|
|
|
<optional>
|
2017-07-23 12:09:41 +02:00
|
|
|
<element name="returnValue">
|
|
|
|
<optional>
|
|
|
|
<attribute name="type">
|
|
|
|
<data type="string">
|
2020-12-28 17:38:11 +01:00
|
|
|
<param name="pattern">([a-zA-Z_][a-zA-Z_0-9:]*[ ])*([a-zA-Z_][a-zA-Z_0-9]*::)*([a-zA-Z_][a-zA-Z_0-9]*([ ]?[*&])*)+</param>
|
2017-07-23 12:09:41 +02:00
|
|
|
</data>
|
|
|
|
</attribute>
|
|
|
|
</optional>
|
|
|
|
<optional>
|
|
|
|
<attribute name="container">
|
|
|
|
<data type="positiveInteger"/>
|
|
|
|
</attribute>
|
|
|
|
</optional>
|
2019-07-10 20:00:21 +02:00
|
|
|
<optional>
|
2019-07-11 16:05:34 +02:00
|
|
|
<attribute name="unknownValues">
|
2019-07-10 20:00:21 +02:00
|
|
|
<data type="string">
|
|
|
|
<param name="pattern">all|([0-9]*:[0-9]*)</param>
|
|
|
|
</data>
|
|
|
|
</attribute>
|
|
|
|
</optional>
|
2017-07-23 12:09:41 +02:00
|
|
|
<text/>
|
|
|
|
</element>
|
2019-02-22 15:31:52 +01:00
|
|
|
</optional>
|
|
|
|
<optional>
|
2015-01-28 07:39:08 +01:00
|
|
|
<element name="formatstr">
|
|
|
|
<optional>
|
|
|
|
<attribute name="scan"><ref name="DATA-BOOL"/></attribute>
|
|
|
|
</optional>
|
|
|
|
<optional>
|
|
|
|
<attribute name="secure"><ref name="DATA-BOOL"/></attribute>
|
|
|
|
</optional>
|
|
|
|
<empty/>
|
|
|
|
</element>
|
2019-02-22 15:31:52 +01:00
|
|
|
</optional>
|
2021-06-12 21:16:52 +02:00
|
|
|
<optional>
|
|
|
|
<element name="not-overlapping-data">
|
|
|
|
<optional>
|
|
|
|
<attribute name="ptr1-arg"><data type="positiveInteger"/></attribute>
|
|
|
|
</optional>
|
|
|
|
<optional>
|
|
|
|
<attribute name="ptr2-arg"><data type="positiveInteger"/></attribute>
|
|
|
|
</optional>
|
|
|
|
<optional>
|
|
|
|
<attribute name="size-arg"><data type="positiveInteger"/></attribute>
|
|
|
|
</optional>
|
2021-07-09 13:25:01 +02:00
|
|
|
<optional>
|
|
|
|
<attribute name="strlen-arg"><data type="positiveInteger"/></attribute>
|
|
|
|
</optional>
|
2021-06-12 21:16:52 +02:00
|
|
|
<empty/>
|
|
|
|
</element>
|
|
|
|
</optional>
|
2019-02-22 15:31:52 +01:00
|
|
|
<optional>
|
2017-07-23 12:09:41 +02:00
|
|
|
<element name="warn">
|
|
|
|
<attribute name="severity">
|
|
|
|
<choice>
|
|
|
|
<value>error</value>
|
|
|
|
<value>warning</value>
|
|
|
|
<value>style</value>
|
|
|
|
<value>performance</value>
|
|
|
|
<value>portability</value>
|
|
|
|
<value>information</value>
|
|
|
|
</choice>
|
|
|
|
</attribute>
|
|
|
|
<optional>
|
|
|
|
<attribute name="reason">
|
|
|
|
<choice>
|
|
|
|
<value>Obsolescent</value>
|
|
|
|
<value>Obsolete</value>
|
|
|
|
</choice>
|
|
|
|
</attribute>
|
|
|
|
</optional>
|
|
|
|
<optional>
|
|
|
|
<attribute name="alternatives">
|
|
|
|
<ref name="DATA-EXTNAME"/>
|
|
|
|
</attribute>
|
|
|
|
</optional>
|
|
|
|
<optional>
|
|
|
|
<attribute name="cstd">
|
|
|
|
<value>c99</value>
|
|
|
|
</attribute>
|
|
|
|
</optional>
|
|
|
|
<text/>
|
|
|
|
</element>
|
2019-02-22 15:31:52 +01:00
|
|
|
</optional>
|
|
|
|
<zeroOrMore>
|
2015-01-28 07:39:08 +01:00
|
|
|
<element name="arg">
|
|
|
|
<attribute name="nr">
|
|
|
|
<choice>
|
2015-01-31 08:08:39 +01:00
|
|
|
<ref name="ARGNO"/>
|
2015-01-28 07:39:08 +01:00
|
|
|
<value>any</value>
|
2017-07-23 12:09:41 +02:00
|
|
|
<value>variadic</value>
|
2015-01-28 07:39:08 +01:00
|
|
|
</choice>
|
|
|
|
</attribute>
|
2017-07-23 12:09:41 +02:00
|
|
|
<optional>
|
|
|
|
<attribute name="default">
|
|
|
|
<text/>
|
|
|
|
</attribute>
|
|
|
|
</optional>
|
2019-03-01 15:47:08 +01:00
|
|
|
<optional>
|
|
|
|
<attribute name="direction">
|
|
|
|
<ref name="ARG-DIRECTION"/>
|
|
|
|
</attribute>
|
|
|
|
</optional>
|
2019-02-26 14:00:54 +01:00
|
|
|
|
|
|
|
<interleave>
|
|
|
|
<optional>
|
2015-01-28 07:39:08 +01:00
|
|
|
<element name="formatstr"><empty/></element>
|
2019-02-26 14:00:54 +01:00
|
|
|
</optional>
|
|
|
|
<optional>
|
2015-01-28 07:39:08 +01:00
|
|
|
<element name="strz"><empty/></element>
|
2019-02-26 14:00:54 +01:00
|
|
|
</optional>
|
|
|
|
<optional>
|
2015-01-28 07:39:08 +01:00
|
|
|
<element name="not-bool"><empty/></element>
|
2019-02-26 14:00:54 +01:00
|
|
|
</optional>
|
|
|
|
<optional>
|
2015-01-28 07:39:08 +01:00
|
|
|
<element name="not-null"><empty/></element>
|
2019-02-26 14:00:54 +01:00
|
|
|
</optional>
|
|
|
|
<optional>
|
2019-11-13 12:46:54 +01:00
|
|
|
<element name="not-uninit">
|
|
|
|
<optional>
|
|
|
|
<attribute name="indirect"><ref name="INDIRECT"/></attribute>
|
|
|
|
</optional>
|
|
|
|
</element>
|
2019-02-26 14:00:54 +01:00
|
|
|
</optional>
|
|
|
|
<optional>
|
2015-01-29 07:28:40 +01:00
|
|
|
<element name="valid">
|
2020-06-12 08:51:33 +02:00
|
|
|
<data type="string"> <!-- regex test: https://regex101.com/r/LoRGVj/2/ -->
|
|
|
|
<param name="pattern">(-?[0-9]*(\.[0-9]+)?([eE][-+]?[0-9]+)?[,:])*([-]?[0-9]+(\.[0-9]+)?([eE][-+]?[0-9]+)?)?</param>
|
2015-01-29 07:28:40 +01:00
|
|
|
</data>
|
|
|
|
</element>
|
2019-02-26 14:00:54 +01:00
|
|
|
</optional>
|
|
|
|
<zeroOrMore>
|
2019-03-17 14:22:26 +01:00
|
|
|
<choice>
|
|
|
|
<element name="minsize">
|
|
|
|
<attribute name="type">
|
|
|
|
<choice>
|
|
|
|
<value>strlen</value>
|
|
|
|
<value>argvalue</value>
|
|
|
|
<value>sizeof</value>
|
|
|
|
<value>mul</value>
|
|
|
|
</choice>
|
|
|
|
</attribute>
|
|
|
|
<attribute name="arg">
|
2015-01-31 08:08:39 +01:00
|
|
|
<ref name="ARGNO"/>
|
|
|
|
</attribute>
|
2019-03-17 14:22:26 +01:00
|
|
|
<optional>
|
|
|
|
<attribute name="arg2">
|
|
|
|
<ref name="ARGNO"/>
|
|
|
|
</attribute>
|
|
|
|
</optional>
|
|
|
|
</element>
|
|
|
|
<element name="minsize">
|
|
|
|
<attribute name="type">
|
|
|
|
<choice>
|
|
|
|
<value>value</value>
|
|
|
|
</choice>
|
|
|
|
</attribute>
|
|
|
|
<attribute name="value">
|
|
|
|
<ref name="MINSIZE-VALUE"/>
|
|
|
|
</attribute>
|
|
|
|
</element>
|
|
|
|
</choice>
|
2019-02-26 14:00:54 +01:00
|
|
|
</zeroOrMore>
|
|
|
|
<optional>
|
2017-07-23 12:09:41 +02:00
|
|
|
<element name="iterator">
|
|
|
|
<attribute name="container">
|
|
|
|
<data type="positiveInteger"/>
|
|
|
|
</attribute>
|
|
|
|
<attribute name="type">
|
|
|
|
<choice>
|
|
|
|
<value>first</value>
|
|
|
|
<value>middle</value>
|
|
|
|
<value>last</value>
|
|
|
|
</choice>
|
|
|
|
</attribute>
|
|
|
|
</element>
|
2019-02-26 14:00:54 +01:00
|
|
|
</optional>
|
|
|
|
</interleave>
|
2015-01-28 07:39:08 +01:00
|
|
|
</element>
|
2019-02-22 15:31:52 +01:00
|
|
|
</zeroOrMore>
|
|
|
|
</interleave>
|
2015-01-28 07:39:08 +01:00
|
|
|
</element>
|
|
|
|
|
|
|
|
<element name="markup">
|
|
|
|
<attribute name="ext">
|
|
|
|
<data type="string">
|
|
|
|
<param name="pattern">[.][a-z]+</param>
|
|
|
|
</data>
|
|
|
|
</attribute>
|
|
|
|
<attribute name="aftercode"><ref name="DATA-BOOL"/></attribute>
|
|
|
|
<attribute name="reporterrors"><ref name="DATA-BOOL"/></attribute>
|
|
|
|
|
|
|
|
<optional>
|
|
|
|
<element name="keywords">
|
|
|
|
<zeroOrMore>
|
|
|
|
<element name="keyword">
|
|
|
|
<attribute name="name"><ref name="DATA-NAME"/></attribute>
|
|
|
|
</element>
|
|
|
|
</zeroOrMore>
|
|
|
|
</element>
|
|
|
|
</optional>
|
|
|
|
|
|
|
|
<zeroOrMore>
|
|
|
|
<element name="codeblocks">
|
|
|
|
<zeroOrMore>
|
|
|
|
<element name="block">
|
|
|
|
<attribute name="name"><ref name="DATA-NAME"/></attribute>
|
|
|
|
</element>
|
|
|
|
</zeroOrMore>
|
|
|
|
<optional>
|
|
|
|
<element name="structure">
|
|
|
|
<attribute name="offset"><data type="integer"/></attribute>
|
|
|
|
<attribute name="start"><text/></attribute>
|
|
|
|
<attribute name="end"><text/></attribute>
|
|
|
|
</element>
|
|
|
|
</optional>
|
|
|
|
</element>
|
|
|
|
</zeroOrMore>
|
|
|
|
|
|
|
|
<optional>
|
|
|
|
<element name="exported">
|
|
|
|
<zeroOrMore>
|
|
|
|
<element name="exporter">
|
|
|
|
<attribute name="prefix"><ref name="DATA-NAME"/></attribute>
|
|
|
|
<zeroOrMore>
|
|
|
|
<choice>
|
|
|
|
<element name="prefix"><ref name="DATA-NAME"/></element>
|
|
|
|
<element name="suffix"><ref name="DATA-NAME"/></element>
|
|
|
|
</choice>
|
|
|
|
</zeroOrMore>
|
|
|
|
</element>
|
|
|
|
</zeroOrMore>
|
|
|
|
</element>
|
|
|
|
</optional>
|
|
|
|
|
|
|
|
<optional>
|
|
|
|
<element name="imported">
|
|
|
|
<zeroOrMore>
|
|
|
|
<element name="importer"><ref name="DATA-NAME"/></element>
|
|
|
|
</zeroOrMore>
|
|
|
|
</element>
|
|
|
|
</optional>
|
|
|
|
</element>
|
|
|
|
|
|
|
|
<element name="reflection">
|
|
|
|
<zeroOrMore>
|
|
|
|
<element name="call">
|
2015-01-31 08:08:39 +01:00
|
|
|
<attribute name="arg"><ref name="ARGNO"/></attribute>
|
2015-01-28 07:39:08 +01:00
|
|
|
<ref name="DATA-NAME"/>
|
|
|
|
</element>
|
|
|
|
</zeroOrMore>
|
|
|
|
</element>
|
|
|
|
|
|
|
|
<element name="container">
|
|
|
|
<attribute name="id"><text/></attribute>
|
|
|
|
<optional>
|
|
|
|
<attribute name="endPattern"><text/></attribute>
|
|
|
|
</optional>
|
|
|
|
<optional>
|
|
|
|
<attribute name="startPattern"><text/></attribute>
|
|
|
|
</optional>
|
|
|
|
<optional>
|
|
|
|
<attribute name="inherits"><text/></attribute>
|
|
|
|
</optional>
|
2017-07-23 12:09:41 +02:00
|
|
|
<optional>
|
|
|
|
<attribute name="opLessAllowed"><ref name="DATA-BOOL"/></attribute>
|
|
|
|
</optional>
|
2019-11-17 03:22:04 +01:00
|
|
|
<optional>
|
|
|
|
<attribute name="hasInitializerListConstructor"><ref name="DATA-BOOL"/></attribute>
|
|
|
|
</optional>
|
2017-07-23 12:09:41 +02:00
|
|
|
<optional>
|
|
|
|
<attribute name="itEndPattern"><text/></attribute>
|
|
|
|
</optional>
|
2015-01-28 07:39:08 +01:00
|
|
|
<zeroOrMore>
|
|
|
|
<choice>
|
|
|
|
<element name="type">
|
2019-05-02 11:04:23 +02:00
|
|
|
<optional>
|
2015-01-31 08:08:39 +01:00
|
|
|
<attribute name="templateParameter"><data type="integer"/></attribute>
|
2019-05-02 11:04:23 +02:00
|
|
|
</optional>
|
|
|
|
<optional>
|
2015-01-31 08:08:39 +01:00
|
|
|
<attribute name="string">
|
|
|
|
<value>std-like</value>
|
|
|
|
</attribute>
|
2019-05-02 11:04:23 +02:00
|
|
|
</optional>
|
|
|
|
<optional>
|
|
|
|
<attribute name="associative">
|
|
|
|
<value>std-like</value>
|
|
|
|
</attribute>
|
|
|
|
</optional>
|
2020-04-03 13:16:57 +02:00
|
|
|
<optional>
|
|
|
|
<attribute name="unstable">
|
|
|
|
<list>
|
|
|
|
<oneOrMore>
|
|
|
|
<data type="string"/>
|
|
|
|
<choice>
|
|
|
|
<value>erase</value>
|
|
|
|
<value>insert</value>
|
|
|
|
</choice>
|
|
|
|
</oneOrMore>
|
|
|
|
</list>
|
|
|
|
</attribute>
|
|
|
|
</optional>
|
2015-01-28 07:39:08 +01:00
|
|
|
<empty/>
|
|
|
|
</element>
|
|
|
|
<element name="size">
|
|
|
|
<optional>
|
|
|
|
<attribute name="templateParameter"><data type="integer"/></attribute>
|
|
|
|
</optional>
|
|
|
|
<zeroOrMore>
|
|
|
|
<element name="function">
|
|
|
|
<attribute name="name"><ref name="DATA-NAME"/></attribute>
|
2019-05-02 11:04:23 +02:00
|
|
|
<optional>
|
2015-01-31 08:08:39 +01:00
|
|
|
<attribute name="action">
|
2017-07-23 12:09:41 +02:00
|
|
|
<ref name="CONTAINER-ACTION"/>
|
2015-01-31 08:08:39 +01:00
|
|
|
</attribute>
|
2019-05-02 11:04:23 +02:00
|
|
|
</optional>
|
|
|
|
<optional>
|
2015-01-31 08:08:39 +01:00
|
|
|
<attribute name="yields">
|
2017-07-23 12:09:41 +02:00
|
|
|
<ref name="CONTAINER-YIELDS"/>
|
2015-01-31 08:08:39 +01:00
|
|
|
</attribute>
|
2019-05-02 11:04:23 +02:00
|
|
|
</optional>
|
2015-01-28 07:39:08 +01:00
|
|
|
<empty/>
|
|
|
|
</element>
|
|
|
|
</zeroOrMore>
|
|
|
|
</element>
|
|
|
|
<element name="access">
|
|
|
|
<optional>
|
2015-01-31 08:08:39 +01:00
|
|
|
<attribute name="indexOperator">
|
|
|
|
<value>array-like</value>
|
|
|
|
</attribute>
|
2015-01-28 07:39:08 +01:00
|
|
|
</optional>
|
|
|
|
<zeroOrMore>
|
|
|
|
<element name="function">
|
2017-07-23 12:09:41 +02:00
|
|
|
<attribute name="name">
|
|
|
|
<ref name="DATA-EXTNAME"/>
|
|
|
|
</attribute>
|
|
|
|
<optional>
|
|
|
|
<attribute name="action">
|
|
|
|
<ref name="CONTAINER-ACTION"/>
|
|
|
|
</attribute>
|
|
|
|
</optional>
|
|
|
|
<optional>
|
|
|
|
<attribute name="yields">
|
|
|
|
<ref name="CONTAINER-YIELDS"/>
|
|
|
|
</attribute>
|
|
|
|
</optional>
|
2015-01-28 07:39:08 +01:00
|
|
|
<empty/>
|
|
|
|
</element>
|
|
|
|
</zeroOrMore>
|
|
|
|
</element>
|
|
|
|
</choice>
|
|
|
|
</zeroOrMore>
|
|
|
|
</element>
|
|
|
|
|
2019-04-24 13:06:58 +02:00
|
|
|
<element name="smart-pointer">
|
|
|
|
<attribute name="class-name"><ref name="DATA-EXTNAME"/></attribute>
|
|
|
|
</element>
|
|
|
|
|
2019-11-17 12:08:21 +01:00
|
|
|
<element name="type-checks">
|
|
|
|
<optional>
|
|
|
|
<element name="unusedvar">
|
|
|
|
<zeroOrMore>
|
|
|
|
<choice>
|
|
|
|
<element name="check">
|
|
|
|
<ref name="DATA-EXTNAME"/>
|
|
|
|
</element>
|
|
|
|
<element name="suppress">
|
|
|
|
<ref name="DATA-EXTNAME"/>
|
|
|
|
</element>
|
2019-11-17 15:41:04 +01:00
|
|
|
</choice>
|
2019-11-17 12:08:21 +01:00
|
|
|
</zeroOrMore>
|
|
|
|
</element>
|
|
|
|
</optional>
|
|
|
|
</element>
|
|
|
|
|
2015-01-28 07:39:08 +01:00
|
|
|
<element name="podtype">
|
2017-07-23 12:09:41 +02:00
|
|
|
<attribute name="name"><ref name="DATA-EXTNAME"/></attribute>
|
2019-09-29 16:48:25 +02:00
|
|
|
<optional>
|
|
|
|
<attribute name="stdtype">
|
|
|
|
<choice>
|
|
|
|
<value>bool</value>
|
|
|
|
<value>char</value>
|
|
|
|
<value>short</value>
|
|
|
|
<value>int</value>
|
|
|
|
<value>long</value>
|
|
|
|
<value>long long</value>
|
|
|
|
</choice>
|
|
|
|
</attribute>
|
|
|
|
</optional>
|
2015-01-28 07:39:08 +01:00
|
|
|
<optional>
|
2015-01-31 08:08:39 +01:00
|
|
|
<attribute name="size">
|
|
|
|
<choice>
|
|
|
|
<value>1</value>
|
|
|
|
<value>2</value>
|
|
|
|
<value>4</value>
|
|
|
|
<value>8</value>
|
|
|
|
</choice>
|
|
|
|
</attribute>
|
2015-01-28 07:39:08 +01:00
|
|
|
</optional>
|
|
|
|
<optional>
|
2015-01-31 08:08:39 +01:00
|
|
|
<attribute name="sign">
|
|
|
|
<choice>
|
|
|
|
<value>s</value>
|
|
|
|
<value>u</value>
|
|
|
|
</choice>
|
|
|
|
</attribute>
|
2015-01-28 07:39:08 +01:00
|
|
|
</optional>
|
|
|
|
<empty/>
|
|
|
|
</element>
|
|
|
|
|
|
|
|
<element name="platformtype">
|
2017-07-23 12:09:41 +02:00
|
|
|
<attribute name="name"><ref name="DATA-EXTNAME"/></attribute>
|
2015-01-28 07:39:08 +01:00
|
|
|
<attribute name="value"><ref name="DATA-NAME"/></attribute>
|
|
|
|
<oneOrMore>
|
|
|
|
<choice>
|
|
|
|
<element name="unsigned"><empty/></element>
|
|
|
|
<element name="long"><empty/></element>
|
|
|
|
<element name="pointer"><empty/></element>
|
|
|
|
<element name="const_ptr"><empty/></element>
|
|
|
|
<element name="ptr_ptr"><empty/></element>
|
|
|
|
<element name="platform">
|
|
|
|
<attribute name="type"><ref name="DATA-NAME"/></attribute>
|
|
|
|
<empty/>
|
|
|
|
</element>
|
|
|
|
</choice>
|
|
|
|
</oneOrMore>
|
|
|
|
</element>
|
|
|
|
|
|
|
|
</choice>
|
|
|
|
</zeroOrMore>
|
|
|
|
</element>
|
|
|
|
</start>
|
|
|
|
|
2015-01-31 08:08:39 +01:00
|
|
|
<define name="ARGNO">
|
|
|
|
<data type="integer">
|
|
|
|
<param name="minInclusive">1</param>
|
|
|
|
<param name="maxInclusive">20</param>
|
|
|
|
</data>
|
|
|
|
</define>
|
2019-11-13 12:46:54 +01:00
|
|
|
|
|
|
|
<define name="INDIRECT">
|
|
|
|
<data type="integer">
|
|
|
|
<param name="minInclusive">0</param>
|
|
|
|
<param name="maxInclusive">2</param>
|
|
|
|
</data>
|
|
|
|
</define>
|
2019-03-01 15:47:08 +01:00
|
|
|
|
|
|
|
<define name="ARG-DIRECTION">
|
|
|
|
<choice>
|
|
|
|
<value>in</value>
|
|
|
|
<value>out</value>
|
|
|
|
<value>inout</value>
|
|
|
|
</choice>
|
|
|
|
</define>
|
2015-01-31 08:08:39 +01:00
|
|
|
|
2015-01-28 07:39:08 +01:00
|
|
|
<define name="DATA-BOOL">
|
|
|
|
<choice>
|
|
|
|
<value>true</value>
|
|
|
|
<value>false</value>
|
|
|
|
</choice>
|
|
|
|
</define>
|
|
|
|
|
|
|
|
<define name="DATA-NAME">
|
|
|
|
<data type="string">
|
|
|
|
<param name="pattern">[a-zA-Z_][a-zA-Z_0-9]*</param>
|
|
|
|
</data>
|
|
|
|
</define>
|
2017-07-23 12:09:41 +02:00
|
|
|
|
2020-05-30 17:41:44 +02:00
|
|
|
<define name="DATA-EXTNAME-SINGLE">
|
|
|
|
<data type="string">
|
|
|
|
<param name="pattern">[a-zA-Z_][a-zA-Z_0-9:]*</param>
|
|
|
|
</data>
|
|
|
|
</define>
|
|
|
|
|
2017-07-23 12:09:41 +02:00
|
|
|
<define name="DATA-EXTNAME">
|
|
|
|
<data type="string">
|
|
|
|
<param name="pattern">[a-zA-Z_][a-zA-Z_0-9:,]*</param>
|
|
|
|
</data>
|
|
|
|
</define>
|
|
|
|
|
2019-03-17 10:55:15 +01:00
|
|
|
<define name="DATA-BUFFER-SIZE">
|
2019-03-20 19:26:57 +01:00
|
|
|
<data type="string">
|
|
|
|
<param name="pattern">malloc(:[1-5])?|calloc(:[1-5],[1-5])?|strdup(:[1-5])?</param>
|
|
|
|
</data>
|
2019-03-17 10:55:15 +01:00
|
|
|
</define>
|
|
|
|
|
2017-07-23 12:09:41 +02:00
|
|
|
<define name="CONTAINER-ACTION">
|
|
|
|
<choice>
|
|
|
|
<value>resize</value>
|
|
|
|
<value>clear</value>
|
|
|
|
<value>push</value>
|
|
|
|
<value>pop</value>
|
|
|
|
<value>find</value>
|
|
|
|
<value>insert</value>
|
|
|
|
<value>erase</value>
|
|
|
|
<value>change-content</value>
|
|
|
|
<value>change-internal</value>
|
|
|
|
<value>change</value>
|
|
|
|
</choice>
|
|
|
|
</define>
|
|
|
|
|
|
|
|
<define name="CONTAINER-YIELDS">
|
|
|
|
<choice>
|
|
|
|
<value>at_index</value>
|
|
|
|
<value>item</value>
|
|
|
|
<value>buffer</value>
|
|
|
|
<value>buffer-nt</value>
|
|
|
|
<value>start-iterator</value>
|
|
|
|
<value>end-iterator</value>
|
|
|
|
<value>iterator</value>
|
|
|
|
<value>size</value>
|
|
|
|
<value>empty</value>
|
|
|
|
</choice>
|
|
|
|
</define>
|
2019-03-17 14:22:26 +01:00
|
|
|
|
|
|
|
<define name="MINSIZE-VALUE">
|
|
|
|
<data type="unsignedLong">
|
|
|
|
<param name="minInclusive">1</param>
|
|
|
|
<param name="maxInclusive">9223372036854775807</param>
|
|
|
|
</data>
|
|
|
|
</define>
|
2015-01-28 07:39:08 +01:00
|
|
|
</grammar>
|