]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/mathql/grammar.txt
ocaml 3.09 transition
[helm.git] / helm / mathql / grammar.txt
index 0416f01875a40890f9c7349ed4096c6279047b2b..5622761a3381db959570f04bbd778f456bc1d31f 100644 (file)
@@ -18,7 +18,7 @@ MATHEMATICAL QUERY LANGUAGE (MathQL)
                                                   contesto *)
        |  LET <vvar> BE <string-set> IN <set>  (* assegnamento a value-var
                                                  in contesto*)
-       |  RELATION <refine_op> <quoted-constant-string> <set> ATTR <vvar-list>
+       |  RELATION <refine_op> <quoted-constant-string-path> <set> ATTR <vvar-list>
                                                       (* unione insieme risorse in
                                                  relazione specificata con le
                                                  risorse in set, ognuna con 
@@ -27,17 +27,17 @@ MATHEMATICAL QUERY LANGUAGE (MathQL)
        |  <set> INTERSECT <set>                (* intersezione *)
        |  <set> DIFF <set>                     (* differenza *)
 
-<refine_op> := <quoted-constant-string-set>    (* relazione (proprieta') 
-                                                 strutturata *)
+<refine_op> := ""                             (* relazione (proprieta') *)
            |  SUB                             (* proprieta' e 
                                                  sotto-proprieta' *)
            |  SUPER                           (* proprieta' e 
                                                  super-proprieta' *)
 
-<quoted-constant-string-set> := ""
-                            |  <quoted-constant-string>
-                            |  <quoted-constant-string> <quoted-constant-string-set>
-                                               (* insieme di stringhe *)
+<quoted-constant-string-path> := <quoted-constant-string> 
+                                              (* relazione (proprieta') *)
+                             |  <quoted-constant-string> "/" <quoted-constant-string-path>
+                                              (* insieme di stringhe:
+                                                 proprieta' strutturata *)
 
 <vvar-list> := <vvar>
             |  <vvar> , <vvar-list>
@@ -57,7 +57,8 @@ MATHEMATICAL QUERY LANGUAGE (MathQL)
                                                  insiemi stringhe *)
        |  EX <bool>                           (* existential on attributes
                                                  of references *)
-<string-set> := {}                                (* insieme vuoto*)
+<string-set> := ( <string-set> )               (* parentesizzazione *)
+             |  {}                            (* insieme vuoto*)
             |  <quoted-constant-string>       (* stringa singoletto *)
              |  {<quoted-constant-string-list>}(* insieme stringhe *)
              |  REFOF <set>                   (* insieme riferimenti *)