X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;ds=sidebyside;f=helm%2Fwww%2Flambdadelta%2Fosn.html;h=8348a7506bb64a0f9e7589acfc2eb30cd7aacf79;hb=8653dd54c57943e28e3ef60d2d0cbc1861a76a33;hp=b67c477a3fe2a96d019f1351390278ed654fbcfe;hpb=ed87c2c166f9f5db2729772e55154d7858dae4d6;p=helm.git
diff --git a/helm/www/lambdadelta/osn.html b/helm/www/lambdadelta/osn.html
index b67c477a3..8348a7506 100644
--- a/helm/www/lambdadelta/osn.html
+++ b/helm/www/lambdadelta/osn.html
@@ -15,7 +15,7 @@
@@ -31,10 +31,9 @@
In order to meet these design goals, OSN pursues the following features.
-
- -
-
- Symbolic expressions
+
-
+
+ Symbolic expressions
based on widely accepted syntactical conventions
provide for a lightweight and generic grammar,
which is both easy for machines to process,
@@ -49,12 +48,11 @@
Apparently, these features fall outside the scope of OSN,
which targets the data structures of formal languages.
-
-
-
-
- -
-
+
+
+
+ -
+
Optionally qualified symbolic expressions
allow OSN texts to mix data from different domains preserving their own semantics
because name conflicts can be avoided.
@@ -62,20 +60,18 @@
domain-specific OSN applications can work as expected even if
data from different domains is added to the text they process.
-
-
-
-
- -
-
+
+
+
+ -
+
The US-ASCII character set,
extended to UTF-8 in
free-form text strings for the convenience of human readers,
makes OSN documents easy to visualize and transport over communication media.
OSN design aims at supporting application-independent standard encodings.
-
-
+
Grammar
@@ -87,43 +83,49 @@
and are available for extensions of OSN.
- -
+
-
This token can represent the identifiers and the numerical constants of most programming languages:
symbol = 1 * symbol-char ;
symbol-char = '+' | '-' | '.' | '0' | ... | '9' | 'A' | ... | 'Z' | '_' | '`' | 'a' | ... | 'z' ;
-
- -
+
+
+ -
This token contains free-form text with commonly accepted escape sequences:
string = '"' , * ( string-char | "'" | '\' escape ) , '"' ;
string-char = ( #0 | ... | #10FFFF ) - ( #0 | ... | #1F | "'" | '\' | '"' | #7F ) ;
escape = 1 * space | '"' | "'" | '(' | ')' | '0' | '\' | 'a' | 'b' | 'e' | 'f' | 'n' | 'r' | 't' | ( 'u' , 4 * 4 hex ) | 'v' | ( 'x' , 2 * 2 hex ) ;
space = #9 | ... | #D | #20 ;
hex = '0' | ... | '9' | 'A' | ... | 'F' | 'a' | ... | 'f' ;
-
- -
+
+
+ -
This token is a widely used alternative of the former token:
string-alt = "'" , * ( string-char | '"' | '\' escape ) , "'" ;
-
- -
+
+
+ -
This token separates the qualifiers of a symbolic expression:
sep = ':' ;
-
- -
+
+
+ -
This token starts a compound symbolic expression:
open = '(' | '<' | '[' | '{' ;
-
- -
+
+
+ -
This token ends a compound symbolic expression:
close = ')' | '>' | ']' | '}' ;
-
- -
+
+
+ -
This token is ignored and separates the other tokens:
gap = space | ',' | ';' | '=' ;
@@ -134,19 +136,21 @@
Spaces of the form 1 * gap can appear between any pair of tokens.
- -
+
-
An OSN text:
text = * q-expr ;
-
- -
+
+
+ -
A qualified symbolic expression:
q-expr = * ( symbol , 1 * sep ) , expr ;
-
- -
+
+
+ -
An unqualified symbolic expression:
expr = symbol | string | string-alt | ( open , text , close ) ;
@@ -193,6 +197,6 @@
- Last update: Thu, 21 Jul 2016 16:50:49 +0200
+ Last update: Fri, 24 Nov 2017 21:00:00 +0100