From 797425e905a9d26bb21f18d234a34ed211bcf92c Mon Sep 17 00:00:00 2001 From: Irene Schena Date: Fri, 19 Apr 2002 15:38:22 +0000 Subject: [PATCH] Added Files: 1) grammar.txt: grammar of the Mathematical Query Language --- helm/mathql/grammar.txt | 95 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 95 insertions(+) create mode 100644 helm/mathql/grammar.txt diff --git a/helm/mathql/grammar.txt b/helm/mathql/grammar.txt new file mode 100644 index 000000000..03f6a2c66 --- /dev/null +++ b/helm/mathql/grammar.txt @@ -0,0 +1,95 @@ +GRAMMATICA PER QUERY SU DOCUMENTI MATEMATICI- VERSIONE 2002-04-19 #1Irene +MATHEMATICAL QUERY LANGUAGE (MathQL) + + := (* clausola iniziale *) + + := ( ) (* parentesizazione *) + | UNION (* unione *) + | INTERSECT (* intersezione *) + | DIFF (* differenza *) + | SORTEDBY + | SELECT IN WHERE (* selezione *) + | EXISTS IN WHERE (* esistenziale *) + | USE POSITION (* unione lista backward *) + | USEDBY POSITION (* unione lista forward *) + | CONTRUCTORS + | PATTERN (* espansione del pattern *) + | INTHEORY ITEMTYPE (* unione oggetti lista teorie *) + | THEORYREFTO (* unione teorie che fanno + riferimento a lista oggetti *) + + := ( ) (* parentesizazione *) + | AND (* congiunzione *) + | OR (* disgiunzione *) + | NOT (* negazione *) + | TRUE (* vero *) + | FALSE (* falso *) + | IS (* case sensitive matching *) + + := (* pattern costante *) + + := (* costante letterale *) + | CONCLUSION | HYPOTHESIS | BODY (* costanti simboliche *) + | MAINCONCLUSION | MAINHYPOTHESIS + | (* variabile *) + | (* variabile *) + | (* applicazione di funzione *) + + := NAME (* pvar -> nome_oggetto *) + | TITLE (* URI -> valore_Prop_DC *) + | CONTRIBUTOR + | CREATOR + | PUBLISHER + | SUBJECT + | DESCRIPTION + | DATE + | TYPE + | FORMAT + | IDENTIFIER + | LANGUAGE + | RELATION + | SOURCE + | COVERAGE + | RIGHTS + | INSTITUTION + | CONTACT + | FIRSTVERSION + | MODIFIED + | + + := SUB (* sub-property of *) + | SUPER (* super-property of *) + + := THEORY (* ordinamento alfabetico in + base a teorie e default per + gli oggetti *) + | ASC (* ordinamento crescente *) + | DESC (* ordinamento decrescente *) + | KEY (* ordinamento in base a parole + chiave o soggetto *) + + := (* variabile per pattern *) + := $ (* variabile per stringhe *) + +- le stringhe sono "case sensitive" +- la funzione non definita sull'argomento restituisce la stringa nulla +- le si presuppongono essere istanziate come URI complete o + URI#xpointer_expression +- ogni binding lega una variabile libera (nuova) +- Precedenza operatori: + NOT (+) DIFF + AND INTERSECT + OR (-) UNION +- Possibili tipi di RELATION e DEPENDENCE sono rappresentati dalle loro + subproperties +- FUTURO: thesauri di parole e sinonimi per ricerche testuali, ordinamenti sui + risultati, caratteri jolly. Una volta reperito l'oggetto si possono + visualizzare le info associate. +- FUTURO: in output numeri ad esempio a fini statistici, aggiungendo anche + operatori aritmetici e di confronto (< = >). Es. Quante proofs di un certo + teorema ci sono? +- L'ordinamento di default e' quello alfabetico crescente in base al nome + delle pvar + + + -- 2.39.2