]> matita.cs.unibo.it Git - helm.git/blob - helm/searchEngine/html/grammar.html
snapshot:
[helm.git] / helm / searchEngine / html / grammar.html
1 <HTML>
2 <HEAD>
3 </HEAD>
4 <BODY>
5 <A NAME="string">
6 <P><B>&lt;string&gt;</B>::= '"' [ "\" . | '^ " \' ] * '"'</A>
7 <A NAME="path">
8 <P><B>&lt;path&gt;</B>::= &lt;<A HREF="#string">string</A>&gt; [ "/" &lt;<A HREF="#string">string</A>&gt; ] *</A>
9 <A NAME="string_list">
10 <P><B>&lt;string_list&gt;</B>::= &lt;<A HREF="#string">string</A>&gt; [ "," &lt;<A HREF="#string">string</A>&gt; ] *</A>
11 <A NAME="alpha">
12 <P><B>&lt;alpha&gt;</B>::= [ 'A - Z' | 'a - z' |' :_' ] + </A>
13 <A NAME="number">
14 <P><B>&lt;number&gt;</B>::= [ '0 - 9' ] + </A>
15 <A NAME="id">
16 <P><B>&lt;id&gt;</B>::= &lt;<A HREF="#alpha">alpha</A>&gt; [ &lt;<A HREF="#alpha">alpha</A>&gt; | &lt;<A HREF="#number">number</A>&gt; ] * </A>
17 <A NAME="rvar">
18 <P><B>&lt;rvar&gt;</B>::= "@" &lt;<A HREF="#id">id</A>&gt; </A>
19 <A NAME="svar">
20 <P><B>&lt;svar&gt;</B>::= "%" &lt;<A HREF="#id">id</A>&gt; </A>
21 <A NAME="vvar">
22 <P><B>&lt;vvar&gt;</B>::= "$" &lt;<A HREF="#id">id</A>&gt; </A>
23 <A NAME="refine">
24 <P><B>&lt;refine&gt;</B>::= [ "sub" | "super" ] ? </A>
25 <A NAME="qualifier">
26 <P><B>&lt;qualifier&gt;</B>::= [ "inverse" ] ? &lt;<A HREF="#refine">refine</A>&gt; &lt;<A HREF="#path">path</A>&gt; </A>
27 <A NAME="assign">
28 <P><B>&lt;assign&gt;</B>::= &lt;<A HREF="#vvar">vvar</A>&gt; "&lt;-" &lt;<A HREF="#path">path</A>&gt; </A>
29 <A NAME="attr_list">
30 <P><B>&lt;attr_list&gt;</B>::= [ "attr" &lt;<A HREF="#assign">assign</A>&gt; [ "," &lt;<A HREF="#assign">assign</A>&gt;] * ] ? </A>
31 <A NAME="set">
32 <P><B>&lt;set&gt;</B>::= "ref" &lt;<A HREF="#val">val</A>&gt; </A><BR>
33 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
34 | "pattern" &lt;<A HREF="#val">val</A>&gt;<BR>
35 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
36 | &lt;<A HREF="#svar">svar</A>&gt;<BR>
37 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
38 | &lt;<A HREF="#rvar">rvar</A>&gt;<BR>
39 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
40 | "(" &lt;<A HREF="#set">set</A>&gt; ")"<BR>
41 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
42 | "relation" &lt;<A HREF="#qualifier">qualifier</A>&gt; &lt;<A HREF="#val">val</A>&gt; &lt;<A HREF="#attr_list">attr_list</A>&gt;<BR>
43 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
44 | "select" &lt;<A HREF="#rvar">rvar</A>&gt; "in" &lt;<A HREF="#set">set</A>&gt; "where" &lt;<A HREF="#boole">boole</A>&gt;<BR>
45 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
46 | &lt;<A HREF="#set">set</A>&gt; [ "union" | "intersect" | "diff" ] &lt;<A HREF="#set">set</A>&gt;<BR>
47 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
48 | "let" &lt;<A HREF="#svar">svar</A>&gt; "be" &lt;<A HREF="#set">set</A>&gt; "in" &lt;<A HREF="#set">set</A>&gt; <BR>
49 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
50 | "let" &lt;<A HREF="#vvar">vvar</A>&gt; "be" &lt;<A HREF="#val">val</A>&gt; "in" &lt;<A HREF="#set">set</A>&gt; <BR> </A>
51 <A NAME="boole">
52 <P><B>&lt;boole&gt;</B>::= [ "false" | "true" ] </A><BR>
53 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
54 | "(" &lt;<A HREF="#boole">boole</A>&gt; ")"<BR>
55 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
56 | [ "not" | "ex" ] &lt;<A HREF="#boole">boole</A>&gt; <BR>
57 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
58 | &lt;<A HREF="#boole">boole</A>&gt; [ "and" | "or" ] &lt;<A HREF="#boole">boole</A>&gt; <BR>
59 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
60 | &lt;<A HREF="#val">val</A>&gt; [ "sub" | "meet" | "eq" ] &lt;<A HREF="#val">val</A>&gt; <BR> </A>
61 <A NAME="val">
62 <P><B>&lt;val&gt;</B>::= "{" [ &lt;<A HREF="#string_list">string_list</A>&gt; ] ? "}" </A><BR>
63 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
64 | &lt;<A HREF="#string">string</A>&gt;<BR>
65 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
66 | "refof" &lt;<A HREF="#set">set</A>&gt;<BR>
67 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
68 | &lt;<A HREF="#rvar">rvar</A>&gt; "." &lt;<A HREF="#vvar">vvar</A>&gt;<BR>
69 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
70 | &lt;<A HREF="#vvar">vvar</A>&gt;<BR>
71 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
72 | "(" &lt;<A HREF="#val">val</A>&gt; ")"<BR>
73 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
74 | "property" &lt;<A HREF="#qualifier">qualifier</A>&gt; &lt;<A HREF="#val">val</A>&gt;</A>
75 </BODY>
76 </HTML>