From 4f195220f9e7ee0fcb0de4d78a3e5817b70ea803 Mon Sep 17 00:00:00 2001 From: Irene Schena Date: Fri, 20 Sep 2002 14:14:25 +0000 Subject: [PATCH] Modified Files: 1)grammar.txt xmathql.dtd: updated versions Removed Files: 1)core_grammar.txt: now all the grammar is implemented --- helm/mathql/core_grammar.txt | 113 ----------------------------------- helm/mathql/grammar.txt | 50 +++++++++------- helm/mathql/xmathql.dtd | 29 +++++---- 3 files changed, 47 insertions(+), 145 deletions(-) delete mode 100644 helm/mathql/core_grammar.txt diff --git a/helm/mathql/core_grammar.txt b/helm/mathql/core_grammar.txt deleted file mode 100644 index 2ef292c99..000000000 --- a/helm/mathql/core_grammar.txt +++ /dev/null @@ -1,113 +0,0 @@ -GRAMMATICA PER QUERY SU DOCUMENTI MATEMATICI - VERSIONE IMPLEMENTATA -MATHEMATICAL QUERY LANGUAGE (MathQL) - - := (* clausola iniziale *) - - := ( ) (* parentesizzazione *) - | (* var per insieme singoletto - di una risorsa *) - | (* var per insieme di risorse - (insieme di valori) *) - | REF (* oggetto/i referenziato/i da - URI esplicita/e *) - | PATTERN (* oggetto/i referenziato/i da - URI ottenute da espansione - del pattern *) - | SELECT IN WHERE (* selezione *) - | LET BE IN (* assegnazione a set-var in - contesto *) - | ATTR - (* unione insieme risorse in - relazione specificata con le - risorse in set, ognuna con - attributi (ATTR) *) - | UNION (* unione *) - | INTERSECT (* intersezione *) - - := RELATION (* relazione (proprieta') *) - | SUBRELATION (* proprieta' e - sotto-proprieta' *) - | SUPERRELATION (* proprieta' e - super-proprieta' *) - - := - | , - - := ( ) (* parentesizzazione *) - | TRUE (* vero *) - | FALSE (* falso *) - | NOT (* negazione *) - | AND (* congiunzione *) - | OR (* disgiunzione *) - | EQ (* uguaglianza tra insiemi - stringhe (case sensitive) *) - | SUB (* operazione di sottoinsieme - tra insiemi stringhe *) - | MEET (* operazione di meet tra - insiemi stringhe *) - | EX (* existential on attributes - of references *) - - := {} (* 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*) - - := - | , - (* lista di stringhe *) - - := FUN (* funzione generale *) - - := @ (* variabile per riferimento *) - := $ (* variabile per insiemi - stringhe *) - := % (* variabile per insiemi - riferimenti *) - - -- MEET e' definito come "esiste almeno un elemento che appartiene - all'interserzione tra due insiemi" -- Le stringhe sono "case sensitive" -- La funzione non definita sull'argomento restituisce la stringa nulla -- Le si presuppongono essere istanziate come URI references costituite - da un URI e da un fragment identifier opzionale complete; i riferimenti - identificano risorse -- Precedenza operatori: - NOT (+) DIFF - AND INTERSECT - OR (-) UNION -- L'ordinamento di default e' quello alfabetico crescente in base al nome - delle rvar -- REF aumenta performance perche' NON accede al data base (costoso). -- L'argomento di PATTERN ha sintassi di una espressione regolare - POSIX 1003.2-1992 -- Possibili 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 -- Record . serve per disambiguare nomi uguali di variabili -- Operatori (come EQ) hanno nomi abbreviati rispetto ai costrutti del - linguaggio -- EX verfica che la sua condizione sia vera per almeno un insieme di attributi - associato all'URI in rvar -- Possibili RELATION sono: - USE con attributo POSITION (riferimenti backward) e valori MAINHYPOTHESIS, - HYPOTHESIS, MAINCONCLUSION, CONCLUSION, BODY - USEBY con attributo POSITION (riferimenti forward) e valori MAINHYPOTHESIS, - HYPOTHESIS, MAINCONCLUSION, CONCLUSION, BODY - CONSTRUCTORS - INTHEORY con attributo ITEMTYPE (riferimenti oggetti contenuti in teorie) - THEORYREFTO con attributo ITEMTYPE (riferimenti teorie referenti a oggetti) -- invece di come argomento di poiche' la REF non - e' piu' restrittiva su argomento/i e quindi e' inutile imporne l'uso quando - si passano i riferimenti alle funzioni. Con l'utente e' libero - di passare direttamente le stringhe dei riferimenti. \ No newline at end of file diff --git a/helm/mathql/grammar.txt b/helm/mathql/grammar.txt index 979b4c549..0416f0187 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') + strutturata *) + | SUB (* proprieta' e sotto-proprieta' *) - | SUPERRELATION (* proprieta' e + | SUPER (* proprieta' e super-proprieta' *) + := "" + | + | + (* insieme di stringhe *) + := | , @@ -50,16 +58,17 @@ MATHEMATICAL QUERY LANGUAGE (MathQL) | EX (* existential on attributes of references *) := {} (* insieme vuoto*) - | (* stringa singoletto *) - | {} (* insieme stringhe *) - | REFOF (* insieme riferimenti *) - | . (* variabile per insieme - stringhe, relativa a - riferimento *) + | (* 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 +77,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 +107,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 diff --git a/helm/mathql/xmathql.dtd b/helm/mathql/xmathql.dtd index 63c014565..3cf73eba6 100644 --- a/helm/mathql/xmathql.dtd +++ b/helm/mathql/xmathql.dtd @@ -52,7 +52,7 @@ - @@ -63,8 +63,7 @@ - - + @@ -86,12 +85,13 @@ - + + + + name CDATA #REQUIRED> @@ -107,14 +107,20 @@ - - + + + + + + @@ -143,6 +149,8 @@ + + @@ -151,7 +159,6 @@ - + \ No newline at end of file + name CDATA #REQUIRED> -- 2.39.2