]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/www/lambdadelta/osn.html
helena: warning removed and modifications for λΥP exportation
[helm.git] / helm / www / lambdadelta / osn.html
index 26b1014dc8f11da40dae59c9ce36f5e506f408d1..8348a7506bb64a0f9e7589acfc2eb30cd7aacf79 100644 (file)
@@ -1,12 +1,39 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xmlns:ld="http://lambdadelta.info/" dir="ltr" lang="en-us"><head><meta http-equiv="Content-Language" content="en-us"/><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/><meta http-equiv="Content-Style-Type" content="text/css"/><meta name="author" content="Ferruccio Guidi"/><meta name="description" content="\lambda\delta home page: Open Symbolic Notation"/><title>\lambda\delta home page: Open Symbolic Notation</title><link rel="stylesheet" type="text/css" href="http://lambdadelta.info/css/ld_web.css"/><link rel="stylesheet" type="text/css" href="http://lambdadelta.info/css/lddl.css"/><link rel="stylesheet" type="text/css" href="http://lambdadelta.info/css/xhtbl.css"/><link rel="shortcut icon" href="http://lambdadelta.info/images/crux_16.ico"/></head><body lang="en-US"><div class="spacer"><a href="http://lambdadelta.info/osn/"><img class="w3c" alt="[Open Symbolic Notation logo]" title="OSN: Open Symbolic Notation" src="http://lambdadelta.info/images/osn_label.png"/></a></div><div class="head1">Open Symbolic Notation</div><div class="spacer"><img class="rule" alt="[Spacer]" title="\lambda\delta rainbow rule" src="http://lambdadelta.info/images/rainbow.png"/></div><div class="text">
+<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="en-us">
+  <head>
+    <meta http-equiv="Content-Language" content="en-us" />
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+    <meta http-equiv="Content-Style-Type" content="text/css" />
+    <meta name="author" content="Ferruccio Guidi" />
+    <meta name="description" content="\lambda\delta home page: Open Symbolic Notation" />
+    <title>\lambda\delta home page: Open Symbolic Notation</title>
+    <link rel="stylesheet" type="text/css" href="http://lambdadelta.info/css/ld_web.css" />
+    <link rel="stylesheet" type="text/css" href="http://lambdadelta.info/css/lddl.css" />
+    <link rel="stylesheet" type="text/css" href="http://lambdadelta.info/css/xhtbl.css" />
+    <link rel="shortcut icon" href="http://lambdadelta.info/images/crux_16.ico" />
+  </head>
+  <body lang="en-US">
+    <div class="spacer">
+      <a href="http://lambdadelta.info/osn/">
+        <img class="w3c" alt="[Open Symbolic Notation logo]" title="OSN: Open Symbolic Notation" src="http://lambdadelta.info/images/osn_label.png" />
+      </a>
+    </div>
+    <div class="head1">Open Symbolic Notation</div>
+    <div class="spacer">
+      <img class="rule" alt="[Spacer]" title="\lambda\delta rainbow rule" src="http://lambdadelta.info/images/rainbow.png" />
+    </div>
+    <div xmlns:ld="http://lambdadelta.info/" class="text">
       Open Symbolic Notation, abbreviated OSN,
       is an easy and flexible data-interchange text format
       intended for the lightweight representation of
       generic abstract syntax trees in the domain of formal languages.
       In order to meet these design goals, OSN pursues the following features.
-   </div><ul><li class="red-mark"><span class="alpha"><a href="https://en.wikipedia.org/wiki/S-expression">Symbolic expressions</a>
+   </div>
+    <ul xmlns:ld="http://lambdadelta.info/">
+      <li class="red-mark">
+        <span class="alpha">
+          <a href="https://en.wikipedia.org/wiki/S-expression">Symbolic expressions</a>
       based on widely accepted syntactical conventions
       provide for a <span class="emph ">lightweight</span> and <span class="emph ">generic</span> grammar,
       which is both <span class="emph ">easy for machines to process</span>,
       as well as the support for canonicalization.
       Apparently, these features fall outside the scope of OSN,
       which targets the data structures of <span class="emph ">formal languages</span>. 
-   </span></li></ul><ul><li class="blue-mark"><span class="alpha">
+   </span>
+      </li>
+    </ul>
+    <ul xmlns:ld="http://lambdadelta.info/">
+      <li class="blue-mark">
+        <span class="alpha">
       Optionally <a href="https://en.wikipedia.org/wiki/Namespace">qualified</a> symbolic expressions 
       allow OSN texts to mix data from different domains preserving their own semantics
       because name conflicts can be avoided.
       As a consequence OSN documents are <span class="emph ">easy to extend</span> in that
       domain-specific OSN applications can work as expected even if
       data from different domains is added to the text they process.
-   </span></li></ul><ul><li class="green-mark"><span class="alpha">
+   </span>
+      </li>
+    </ul>
+    <ul xmlns:ld="http://lambdadelta.info/">
+      <li class="green-mark">
+        <span class="alpha">
       The <a href="https://en.wikipedia.org/wiki/ASCII">US-ASCII</a> character set,
       extended to <a href="http://www.utf-8.com/">UTF-8</a> in
       free-form text strings for the convenience of human readers,
       makes OSN documents <span class="emph ">easy to visualize and transport</span> over communication media.
       OSN design aims at supporting <span class="emph ">application-independent</span> standard encodings.
-   </span></li></ul><div class="head2dx" id="grammar">Grammar <img class="icon37" alt="[butterfly]" title="\lambda\delta butterfly" src="http://lambdadelta.info/images/b6.png"/></div><div class="text">
+   </span>
+      </li>
+    </ul>
+    <div xmlns:ld="http://lambdadelta.info/" class="head2dx" id="grammar">Grammar <img class="icon37" alt="[butterfly]" title="\lambda\delta butterfly" src="http://lambdadelta.info/images/b6.png" />
+    </div>
+    <div xmlns:ld="http://lambdadelta.info/" class="text">
       An OSN text uses the <a href="http://www.utf-8.com/">UTF-8</a> character set
       and contains the next seven tokens that we define in a very common EBNF variant.
       Characters not starting a token are not allowed.
       The ones in the range U+0021 ... U+007E are ! # $ % &amp; * / ? @ \ ^ | ~
       and are available for extensions of OSN.
-   </div><ul><li class="">
+   </div>
+    <ul xmlns:ld="http://lambdadelta.info/">
+      <li class="">
       This token can represent the identifiers and the numerical constants of most programming languages:
-      <br/><span class="emph ebnf">symbol = 1 * symbol-char ; <br/>symbol-char = '+' | '-' | '.' | '0' | ... | '9' | 'A' | ... | 'Z' | '_' | '`' | 'a' | ... | 'z' ; </span></li></ul><ul><li class="">
+      <br />
+        <span class="emph ebnf">symbol = 1 * symbol-char ; <br />symbol-char = '+' | '-' | '.' | '0' | ... | '9' | 'A' | ... | 'Z' | '_' | '`' | 'a' | ... | 'z' ; </span>
+      </li>
+    </ul>
+    <ul xmlns:ld="http://lambdadelta.info/">
+      <li class="">
       This token contains free-form text with commonly accepted escape sequences:
-      <br/><span class="emph ebnf">string = '"' , * ( string-char | "'" | '\' escape ) , '"' ; <br/>string-char = ( #0 | ... | #10FFFF ) - ( #0 | ... | #1F | "'" | '\' | '"' | #7F ) ; <br/>escape = 1 * space | '"' | "'" | '(' | ')' | '0' | '\' | 'a' | 'b' | 'e' | 'f' | 'n' | 'r' | 't' | ( 'u' , 4 * 4 hex ) | 'v' | ( 'x' , 2 * 2 hex ) ; <br/>space = #9 | ... | #D | #20 ; <br/>hex = '0' | ... | '9' | 'A' | ... | 'F' | 'a' | ... | 'f' ; </span></li></ul><ul><li class="">
+      <br />
+        <span class="emph ebnf">string = '"' , * ( string-char | "'" | '\' escape ) , '"' ; <br />string-char = ( #0 | ... | #10FFFF ) - ( #0 | ... | #1F | "'" | '\' | '"' | #7F ) ; <br />escape = 1 * space | '"' | "'" | '(' | ')' | '0' | '\' | 'a' | 'b' | 'e' | 'f' | 'n' | 'r' | 't' | ( 'u' , 4 * 4 hex ) | 'v' | ( 'x' , 2 * 2 hex ) ; <br />space = #9 | ... | #D | #20 ; <br />hex = '0' | ... | '9' | 'A' | ... | 'F' | 'a' | ... | 'f' ; </span>
+      </li>
+    </ul>
+    <ul xmlns:ld="http://lambdadelta.info/">
+      <li class="">
       This token is a widely used alternative of the former token:
-      <br/><span class="emph ebnf">string-alt = "'" , * ( string-char | '"' | '\' escape ) , "'" ; </span></li></ul><ul><li class="">
+      <br />
+        <span class="emph ebnf">string-alt = "'" , * ( string-char | '"' | '\' escape ) , "'" ; </span>
+      </li>
+    </ul>
+    <ul xmlns:ld="http://lambdadelta.info/">
+      <li class="">
       This token separates the qualifiers of a symbolic expression:
-      <br/><span class="emph ebnf">sep = ':' ; </span></li></ul><ul><li class="">
+      <br />
+        <span class="emph ebnf">sep = ':' ; </span>
+      </li>
+    </ul>
+    <ul xmlns:ld="http://lambdadelta.info/">
+      <li class="">
       This token starts a compound symbolic expression:
-      <br/><span class="emph ebnf">open = '(' | '&lt;' | '[' | '{' ; </span></li></ul><ul><li class="">
+      <br />
+        <span class="emph ebnf">open = '(' | '&lt;' | '[' | '{' ; </span>
+      </li>
+    </ul>
+    <ul xmlns:ld="http://lambdadelta.info/">
+      <li class="">
       This token ends a compound symbolic expression:
-      <br/><span class="emph ebnf">close = ')' | '&gt;' | ']' | '}' ; </span></li></ul><ul><li class="">
+      <br />
+        <span class="emph ebnf">close = ')' | '&gt;' | ']' | '}' ; </span>
+      </li>
+    </ul>
+    <ul xmlns:ld="http://lambdadelta.info/">
+      <li class="">
       This token is ignored and separates the other tokens:
-      <br/><span class="emph ebnf">gap = space | ',' | ';' | '=' ; </span></li></ul><div class="text">
+      <br />
+        <span class="emph ebnf">gap = space | ',' | ';' | '=' ; </span>
+      </li>
+    </ul>
+    <div xmlns:ld="http://lambdadelta.info/" class="text">
       The grammar of OSN is very liberal by design.
       Spaces of the form <span class="emph ebnf">1 * gap </span> can appear between any pair of tokens.
-   </div><ul><li class="">
+   </div>
+    <ul xmlns:ld="http://lambdadelta.info/">
+      <li class="">
       An OSN text:
-      <br/><span class="emph ebnf">text = * q-expr ; </span></li></ul><ul><li class="">
+      <br />
+        <span class="emph ebnf">text = * q-expr ; </span>
+      </li>
+    </ul>
+    <ul xmlns:ld="http://lambdadelta.info/">
+      <li class="">
       A qualified symbolic expression:
-      <br/><span class="emph ebnf">q-expr = * ( symbol , 1 * sep ) , expr ; </span></li></ul><ul><li class="">
+      <br />
+        <span class="emph ebnf">q-expr = * ( symbol , 1 * sep ) , expr ; </span>
+      </li>
+    </ul>
+    <ul xmlns:ld="http://lambdadelta.info/">
+      <li class="">
       An unqualified symbolic expression:
-      <br/><span class="emph ebnf">expr = symbol | string | string-alt | ( open , text , close ) ; </span></li></ul><div class="head2dx" id="semantics">Semantics <img class="icon37" alt="[butterfly]" title="\lambda\delta butterfly" src="http://lambdadelta.info/images/b1.png"/></div><div class="text">
+      <br />
+        <span class="emph ebnf">expr = symbol | string | string-alt | ( open , text , close ) ; </span>
+      </li>
+    </ul>
+    <div xmlns:ld="http://lambdadelta.info/" class="head2dx" id="semantics">Semantics <img class="icon37" alt="[butterfly]" title="\lambda\delta butterfly" src="http://lambdadelta.info/images/b1.png" />
+    </div>
+    <div xmlns:ld="http://lambdadelta.info/" class="text">
       Forthcoming ...
-   </div><!--
+   </div>
+    <!--
       morover, the escape sequences \x &lt;two hexadecimal digits&gt; and \u &lt;four hexadecimal digits&gt;
       allow to specify a character by its code point <newline/>
       finally the escape sequences \( for U+0002 and \) for U+0003 are available
---><div class="head2dx" id="implementation">Implementation <img class="icon37" alt="[butterfly]" title="\lambda\delta butterfly" src="http://lambdadelta.info/images/b5.png"/></div><div class="text">
+-->
+    <div xmlns:ld="http://lambdadelta.info/" class="head2dx" id="implementation">Implementation <img class="icon37" alt="[butterfly]" title="\lambda\delta butterfly" src="http://lambdadelta.info/images/b5.png" />
+    </div>
+    <div xmlns:ld="http://lambdadelta.info/" class="text">
       Forthcoming ...
-   </div><div class="spacer"><img class="rule" alt="[Spacer]" title="\lambda\delta rainbow rule" src="http://lambdadelta.info/images/rainbow.png"/></div><div class="spacer"><br/></div><div class="spacer"><a href="http://validator.w3.org/check?uri=referer"><img class="w3c" alt="[Valid XHTML 1.1]" title="Valid XHTML 1.1" src="http://www.w3.org/Icons/valid-xhtml11-blue"/></a><a href="http://jigsaw.w3.org/css-validator/check/referer"><img class="w3c" alt="[Valid CSS level 2]" title="Valid CSS level 2" src="http://www.w3.org/Icons/valid-css2-blue"/></a><a href="http://www.w3.org/XML/"><img class="w3c" alt="[Generated from XML via XSL]" title="Generated from XML via XSL" src="http://lambdadelta.info/images/xml_xsl2.png"/></a><a href="http://www.w3.org/Graphics/PNG/"><img class="w3c" alt="[PNG used here]" title="PNG used here" src="http://lambdadelta.info/images/PNGnow2.png"/></a><a href="http://www.anybrowser.org/campaign/"><img class="w3c" alt="[Viewable with any browser]" title="Viewable with any browser" src="http://www.anybrowser.org/campaign/bvgraphics/abtfile.png"/></a></div><div class="spacer"><br/></div><div class="spacer">Last update: Thu, 09 Mar 2017 13:38:16 +0100</div></body></html>
+   </div>
+    <div class="spacer">
+      <img class="rule" alt="[Spacer]" title="\lambda\delta rainbow rule" src="http://lambdadelta.info/images/rainbow.png" />
+    </div>
+    <div xmlns:ld="http://lambdadelta.info/" class="spacer">
+      <br />
+    </div>
+    <div xmlns:ld="http://lambdadelta.info/" class="spacer">
+      <a href="http://validator.w3.org/check?uri=referer">
+        <img class="w3c" alt="[Valid XHTML 1.1]" title="Valid XHTML 1.1" src="http://www.w3.org/Icons/valid-xhtml11-blue" />
+      </a>
+      <a href="http://jigsaw.w3.org/css-validator/check/referer">
+        <img class="w3c" alt="[Valid CSS level 2]" title="Valid CSS level 2" src="http://www.w3.org/Icons/valid-css2-blue" />
+      </a>
+      <a href="http://www.w3.org/XML/">
+        <img class="w3c" alt="[Generated from XML via XSL]" title="Generated from XML via XSL" src="http://lambdadelta.info/images/xml_xsl2.png" />
+      </a>
+      <a href="http://www.w3.org/Graphics/PNG/">
+        <img class="w3c" alt="[PNG used here]" title="PNG used here" src="http://lambdadelta.info/images/PNGnow2.png" />
+      </a>
+      <a href="http://www.anybrowser.org/campaign/">
+        <img class="w3c" alt="[Viewable with any browser]" title="Viewable with any browser" src="http://www.anybrowser.org/campaign/bvgraphics/abtfile.png" />
+      </a>
+    </div>
+    <div xmlns:ld="http://lambdadelta.info/" class="spacer">
+      <br />
+    </div>
+    <div xmlns:ld="http://lambdadelta.info/" class="spacer">Last update: Fri, 24 Nov 2017 21:00:00 +0100</div>
+  </body>
+</html>