]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/www/lambdadelta/web/home/implementation.ldw.xml
EBNF definition of OSN begins ...
[helm.git] / helm / www / lambdadelta / web / home / implementation.ldw.xml
index 6d0237d98ee59cb6b686a070d0aa5248b3895572..229c5e88b45471517ff70ea0dcaf9f847e68fe34 100644 (file)
       and contains the next tokens:
    </body>
    <list><item>
-      &lt;symbol&gt; 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 
+      <ebnf>
+         <prod of="symbol"/> <def/> 
+            <prod of="symbol_char"/> <prod of="symbol_char"/> <star/>
+         <stop/> <newline/>
+         <prod of="symbol_char"/> <def/>
+            <chr of="+"/> <or/> <chr of="-"/> <or/> <chr of="."/> <or/>
+            <chr of="0"/> <or/> <etc/> <or/> <chr of="9"/> <or/>
+            <chr of="A"/> <or/> <etc/> <or/> <chr of="Z"/> <or/>
+            <chr of="_"/> <or/> <chr of="a"/> <or/> <etc/> <or/> <chr of="z"/>
+         <stop/>
+      </ebnf> <newline/>
+      this token can represent the identifiers and the numerical constants of most programming languages;
    </item><item>
-      &lt;string&gt; a sequence of characters wrapped with the delimiter " <newline/>
+      <ebnf>
+         <prod of="string"/> <def/>
+            <chr of="&quot;"/> <open/>
+            <prod of="string_char"/> <or/>
+            <chr of="\"/> <prod of="escape"/>
+            <close/> <star/> <chr of="&quot;"/>
+         <stop/>
+      </ebnf> <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 &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
    </item><item>
-      &lt;qualifier&gt; the character :
+      <ebnf>
+         <prod of="qualifier"/> <def/> <chr of=":"/> <stop/>
+      </ebnf>
    </item><item>
-      &lt;left&gt; each of the characters ( &lt; [ { <newline/>
-      this token starts a compound symbolic expression
+      <ebnf>
+         <prod of="left"/> <def/>
+            <chr of="("/> <or/> <chr of="&lt;"/> <or/> <chr of="["/> <or/> <chr of="{"/>
+         <stop/>
+      </ebnf> <newline/>
+      this token starts a compound symbolic expression;
    </item><item>
-      &lt;right&gt; each of the characters ) &gt; ] } <newline/>
-      this token ends a compound symbolic expression
+      <ebnf>
+         <prod of="right"/> <def/>
+            <chr of=")"/> <or/> <chr of="&gt;"/> <or/> <chr of="]"/> <or/> <chr of="}"/>
+         <stop/>
+      </ebnf> <newline/>
+      this token ends a compound symbolic expression;
    </item><item>
       &lt;ignored&gt; each of the characters U+0009..U+000D U+0020 , ; = <newline/>
       these characters are ignored and separate the other tokens