X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fmathql%2Fgrammar.txt;h=5622761a3381db959570f04bbd778f456bc1d31f;hb=97c2d258a5c524eb5c4b85208899d80751a2c82f;hp=979b4c549cd2f21fb0437ea10f4e18086769cd64;hpb=06953c5200dff3d105d3e4e6e8af47c51474286c;p=helm.git diff --git a/helm/mathql/grammar.txt b/helm/mathql/grammar.txt index 979b4c549..5622761a3 100644 --- a/helm/mathql/grammar.txt +++ b/helm/mathql/grammar.txt @@ -16,8 +16,10 @@ MATHEMATICAL QUERY LANGUAGE (MathQL) | SELECT IN WHERE (* selezione *) | LET BE IN (* assegnazione a set-var in contesto *) - | ATTR - (* unione insieme risorse in + | LET BE IN (* assegnamento a value-var + in contesto*) + | RELATION ATTR + (* unione insieme risorse in relazione specificata con le risorse in set, ognuna con attributi (ATTR) *) @@ -25,12 +27,18 @@ MATHEMATICAL QUERY LANGUAGE (MathQL) | INTERSECT (* intersezione *) | DIFF (* differenza *) - := RELATION (* relazione (proprieta') *) - | SUBRELATION (* proprieta' e + := "" (* relazione (proprieta') *) + | SUB (* proprieta' e sotto-proprieta' *) - | SUPERRELATION (* proprieta' e + | SUPER (* proprieta' e super-proprieta' *) + := + (* relazione (proprieta') *) + | "/" + (* insieme di stringhe: + proprieta' strutturata *) + := | , @@ -49,17 +57,19 @@ MATHEMATICAL QUERY LANGUAGE (MathQL) insiemi stringhe *) | EX (* existential on attributes of references *) - := {} (* insieme vuoto*) - | (* stringa singoletto *) - | {} (* insieme stringhe *) - | REFOF (* insieme riferimenti *) - | . (* variabile per insieme - stringhe, relativa a - riferimento *) + := ( ) (* parentesizzazione *) + | {} (* insieme vuoto*) + | (* stringa singoletto *) + | {}(* insieme stringhe *) + | REFOF (* insieme riferimenti *) + | . (* variabile per insieme + stringhe, relativa a + riferimento *) | - (* applicazione di funzione - specificata a riferimento - o insiemi di rif. o var*) + (* applicazione di funzione + specificata a riferimento + o insiemi di rif. o var*) + | (* vvar introduced by LET *) := | , @@ -68,12 +78,11 @@ MATHEMATICAL QUERY LANGUAGE (MathQL) := FUN (* funzione generale *) | - := ATTRIBUTE (* funzione proprieta': restituisce - suoi valori*) - | SUBATTR (* restituisce valori proprieta' e - sotto-proprieta' di *) - | SUPERATTR (* restituisce valori proprieta' e - super-proprieta' di *) + := ATTRIBUTE (* funzione proprieta': restituisce + suoi valori (anche strutturati) + (e delle sotto-proprieta' o + super-proprieta' *) + := @ (* variabile per riferimento *) := $ (* variabile per insiemi @@ -99,7 +108,7 @@ MATHEMATICAL QUERY LANGUAGE (MathQL) - REF aumenta performance perche' NON accede al data base (costoso). - l'argomento di PATTERN ha sintassi di una espressione regolare POSIX 1003.2-1992 -- Possibile (): +- Possibile FUN (): NAME (* URIREF -> nome_oggetto *) - MEET aumenta performance nel caso si verifichi (a in S) oppure (b in S) = ({a,b} meet S) perche' valuta S una volta sola