<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to Syntax-Declarations</title><link>https://sourceforge.net/p/mortal/wiki/Syntax-Declarations/</link><description>Recent changes to Syntax-Declarations</description><atom:link href="https://sourceforge.net/p/mortal/wiki/Syntax-Declarations/feed" rel="self"/><language>en</language><lastBuildDate>Wed, 05 Mar 2014 12:40:18 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/mortal/wiki/Syntax-Declarations/feed" rel="self" type="application/rss+xml"/><item><title>Syntax-Declarations modified by Ove Kåven</title><link>https://sourceforge.net/p/mortal/wiki/Syntax-Declarations/</link><description>&lt;div class="markdown_content"&gt;&lt;div class="toc"&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#type-qualifiers"&gt;Type qualifiers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#variable-qualifiers"&gt;Variable qualifiers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#class-qualifiers"&gt;Class qualifiers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#function-qualifiers"&gt;Function qualifiers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#parameter-qualifiers"&gt;Parameter qualifiers&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;h2 id="type-qualifiers"&gt;Type qualifiers&lt;/h2&gt;
&lt;p&gt;When assigning types to objects, the following qualifiers can be used.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Qualifier&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;owned&lt;/td&gt;
&lt;td&gt;Owned reference&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;unowned&lt;/td&gt;
&lt;td&gt;Unowned reference&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;const&lt;/td&gt;
&lt;td&gt;Const reference&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="variable-qualifiers"&gt;Variable qualifiers&lt;/h2&gt;
&lt;p&gt;When defining variables and fields, the following qualifiers can be used.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Qualifier&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;static&lt;/td&gt;
&lt;td&gt;Permanent (not destroyed before program exit)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;public&lt;/td&gt;
&lt;td&gt;Public access (available from anywhere)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;private&lt;/td&gt;
&lt;td&gt;Private access (available only in enclosing module or class)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;protected&lt;/td&gt;
&lt;td&gt;Protected access (available to subclasses of enclosing class)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;extern&lt;/td&gt;
&lt;td&gt;Defined by a module written in another language&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;__super&lt;/td&gt;
&lt;td&gt;Custom reference to superclass instance&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;__vtable&lt;/td&gt;
&lt;td&gt;Custom reference to vtable&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="class-qualifiers"&gt;Class qualifiers&lt;/h2&gt;
&lt;p&gt;When defining classes and structs, the following qualifiers can be used.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Qualifier&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;transparent&lt;/td&gt;
&lt;td&gt;Transparent class/struct&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;static&lt;/td&gt;
&lt;td&gt;Inner class is independent of outer class&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;abstract&lt;/td&gt;
&lt;td&gt;Class can not be instantiated (must be subclassed)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;final&lt;/td&gt;
&lt;td&gt;Class can not be subclassed&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;sealed&lt;/td&gt;
&lt;td&gt;Class can not be subclassed by any other module&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;public&lt;/td&gt;
&lt;td&gt;Public access (available from anywhere)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;private&lt;/td&gt;
&lt;td&gt;Private access (available only in enclosing module or class)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;protected&lt;/td&gt;
&lt;td&gt;Protected access (available to subclasses of enclosing class)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;__rtinit&lt;/td&gt;
&lt;td&gt;Custom vtable to be allocated at runtime&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="function-qualifiers"&gt;Function qualifiers&lt;/h2&gt;
&lt;p&gt;When defining functions and methods, the following qualifiers can be used.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Qualifier&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;transparent&lt;/td&gt;
&lt;td&gt;Transparent function/method&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;static&lt;/td&gt;
&lt;td&gt;Method is independent of class instance&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;virtual&lt;/td&gt;
&lt;td&gt;Method is polymorphic&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;abstract&lt;/td&gt;
&lt;td&gt;Method must be overridden by subclasses&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;final&lt;/td&gt;
&lt;td&gt;Method can not be overridden&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;override&lt;/td&gt;
&lt;td&gt;Method is an override&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;public&lt;/td&gt;
&lt;td&gt;Public access (available from anywhere)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;private&lt;/td&gt;
&lt;td&gt;Private access (available only in enclosing module or class)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;protected&lt;/td&gt;
&lt;td&gt;Protected access (available to subclasses of enclosing class)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;extern&lt;/td&gt;
&lt;td&gt;Defined by a module written in another language&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;meta&lt;/td&gt;
&lt;td&gt;Metamethod&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="parameter-qualifiers"&gt;Parameter qualifiers&lt;/h2&gt;
&lt;p&gt;When declaring function parameters, the following qualifiers can be used.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Qualifier&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;ref&lt;/td&gt;
&lt;td&gt;In/out-parameter (pass by reference)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;out&lt;/td&gt;
&lt;td&gt;Out-parameter (pass by reference)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;implicit&lt;/td&gt;
&lt;td&gt;Implicit parameter&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;__c_printf&lt;/td&gt;
&lt;td&gt;C printf-style format&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;__c_throw_arg&lt;/td&gt;
&lt;td&gt;Implicit parameter for exception passing&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ove Kåven</dc:creator><pubDate>Wed, 05 Mar 2014 12:40:18 -0000</pubDate><guid>https://sourceforge.netdc5fd67bce5f5d1e5a57d5f189fa7e1104cf7168</guid></item></channel></rss>