</item></list>
</topitem>
+ <subsection name="osn"><osn-icon/>Open Symbolic Notation</subsection>
+ <body>
+ Open Symbolic Notation (OSN) is an easy data-interchange textual format
+ based on <link to="https://en.wikipedia.org/wiki/S-expression">symbolic expressions</link>.
+ OSN is completely language independent but uses widely accepted conventions.
+ These features make OSN ideal for storing and exchanging tree-like data structures
+ in a lightweight manner.
+ </body>
+ <body>
+ An OSN text uses the <link to="http://www.utf-8.com/">UTF-8</link> character set
+ and contains the next tokens:
+ </body>
+ <list><item>
+ <symbol> a non-empty sequence of the 66 characters + - . 0..9 A..Z _ a..z <newline/>
+ this sequence can represents the identifiers and the numerical constants of most programming languages
+ </item><item>
+ <string> a sequence of characters wrapped with the delimiter " <newline/>
+ every valid UTF-8 character whose code point is greater than U+001F is accepted eccept " \ <newline/>
+ the next commonly accepted escape sequences are recognized: \0 \a \b \t \n \v \f \r \e \" \\ <newline/>
+ morover, the escape sequences \x <two hexadecimal digits> and \u <four hexadecimal digits>
+ allow to specify a character by its code point <newline/>
+ finally the escape sequences \( for U+0002 and \) for U+0003 are available
+ </item><item>
+ <qualifier> the character :
+ </item><item>
+ <left> each of the characters ( < [ { <newline/>
+ this token starts a compound symbolic expression
+ </item><item>
+ <right> each of the characters ) > ] } <newline/>
+ this token ends a compound symbolic expression
+ </item><item>
+ <ignored> each of the characters U+0009..U+000D U+0020 , ; = <newline/>
+ these characters are ignored and separate the other tokens
+ </item><item>
+ <reserved> any character not starting any other token <newline/>
+ these characters are not allowed,
+ and those in the range U+0021..U+007E are
+ ! # $ % & ' * / ? @ \ ^ ` | ~
+ </item></list>
+
<footer/>
</page>
<div class="spacer">
<a href="{$baseurl}">
<img class="icon32"
- alt="[lambdadelta home]"
- title="lambdadelta home"
+ alt="[\lambda\delta home]"
+ title="\lambda\delta home"
src="{$baseurl}images/crux_32.png"
/>
</a>
<div class="spacer">
<img class="rule"
alt="[Spacer]"
- title="lambdadelta rainbow rule"
+ title="\lambda\delta rainbow rule"
src="{$baseurl}images/rainbow.png"
/>
</div>
<xsl:param name="name"/>
<img class="icon37"
alt="[spacer]"
- title="lambdadelta butterfly"
+ title="\lambda\delta butterfly"
src="{$baseurl}images/b{$name}.png"
/>
</xsl:template>
<xsl:template name="helena">
<a href="{$baseurl}implementation.html#helena">
<img class="w3c"
- alt="[Powered by Helena lambdadelta processor]"
- title="Powered by Helena lambdadelta processor"
+ alt="[Powered by Helena \lambda\delta processor]"
+ title="Powered by Helena \lambda\delta processor"
src="{$baseurl}images/helena_label.png"
/>
</a>
</a>
</xsl:template>
+<xsl:template match="ld:newline">
+ <br/>
+</xsl:template>
+
<xsl:template match="ld:list">
<ul><xsl:apply-templates/></ul>
</xsl:template>
<xsl:call-template name="sp"/>
</xsl:template>
+<xsl:template match="ld:osn-icon">
+ <img class="w3c"
+ alt="[Open Symbolic Notation logo]"
+ title="OSN: Open Symbolic Notation"
+ src="{$baseurl}images/osn_label.png"
+ />
+ <xsl:call-template name="sp"/>
+</xsl:template>
+
<xsl:template match="ld:footer">
<xsl:call-template name="rule"/>
<div class="spacer"><br/></div>