Domande sul Modulo 4 (miniquery)

In questa pagina potete porre domande sul Modulo 4 del progetto 2006/2007.

Vi prego di inserire un titolo che chiarisca che tipo di domanda state ponendo. Potete rispondere alle domande anche tra di voi.



Benvenuti

Questo è il primo messaggio sulla pagina delle domande riguardanti il modulo 4 del progetto. Per favore, leggete bene le specifiche e le domande degli altri prima di fare domande ovvie.

-- RobertoNavigli - 2 Jun 2007

valore= NULL

Salve avrei il seguente problema....nelle specifiche del modulo 4 c'è scritto che se nella stringa della query passata alla funzione parse_query è specificato solo l'attributo di un nodo devo impostare il campo valore corrispondente a NULL...ora io nel modulo due all'ingresso della funzione set_attributo ho fatto un controllo in modo tale che gli argomenti passati siano diversi da NULL e comunque anche togliendo questo controllo la funzione mi genera errore passandogli il valore NULL...volevo sapere se era possibile anzichè passare il valore a NULL passarlo come stringa vuota....questo eviterebbe di dover rimettere completamente le mani sulla funzione set_attributo del modulo 2...

-- LauraMinicucci - 03 Jun 2007

include

salve prof!!!! Nel .h del 4 modulo non andrebbe incluso anche i .h dei primi 3 moduli? perchè ad esempio il tipo list non è riconosciuto

-- AlessandroMastropietro - 03 Jun 2007

controllo token nella stringa

Salve professore, i token presi dalla stringa di input vanno controllati anche lessicalmente e va dato errore (come il primo modulo) oppure va creata la lista comunque ??

grazie. .


-- GabrieleIoannucci - 03 Jun 2007

Re: valore= NULL

Laura, ho incontrato il tuo stesso problema ed ho risolto semplicemente evitanto di chiamare la set_attributo quando il valore è NULL. Crei il nodo manualmente e poi lo attacchi agli altri con una add_last

-- FedericoScacco - 03 Jun 2007

Spazi ammessi?

nella sintassi della query sono ammessi gli spazi? /utente / utenti corretto? /utente[@ id = "2"] corretto?


-- GabrieleTarantino - 03 Jun 2007

Re: include

Sì, oppure si possono includere nel file .c che usa il file .h

-- RobertoNavigli - 04 Jun 2007

Re: valore= NULL

Dovete industriarvi: la stringa vuota non è la stessa cosa che null. Potreste usare una particolare stringa, come "(null)".

-- RobertoNavigli - 04 Jun 2007

Re: controllo token nella stringa

Bisogna dare errore se ci la stringa della query non è ben formata, ad esempio:
/root/[]

-- RobertoNavigli - 04 Jun 2007

Re: Spazi ammessi?

Gli spazi sono ammessi solo all'interno delle parentesi quadre ma nono tra la chiocciola e il nome dell'attributo (ad es., sono validi [@id =5], [@id = 4], [@id=2], ma non è valido [@ id=5] e nemmeno / root /doc

-- RobertoNavigli - 04 Jun 2007

stringa

Io non ho capito molto bene cosa viene passato nella variabile char *str! Quello che ho in mente è che mi viene passato per esempio "1", ma non so se è giusto.E se è giusto lo devo scomporre tipo come facevo nel modulo 1?
1) /radice/document
-- DanieleR - 04 Jun 2007

Re: Re: controllo token nella stringa
Prof. continuo a non capire ma anche i nomi devono essere ben formati cio' ad esempio e' ammesso : 1nome oppure -altronome oppure un nome del genere ?1234 ??? Epoi comunque ci puo spiegare altri casi di errore ad esempio : nella stringa del valore attributo e' ammessa ] opp.[ o e' errore??


-- GabrieleIoannucci - 04 Jun 2007

Re: stringa

Sì, percorsi di quel tipo. Devo scomporli in una lista di nodi ("radice", "document").

-- RobertoNavigli - 04 Jun 2007

Re: Re: Re: controllo token nella stringa

Sì, un nome (essendo sempre il nome di un nodo xsML) è ben formato secondo quanto detto nel modulo 1.

-- RobertoNavigli - 04 Jun 2007

fine della query

1- è giusto dire che la query finisce quando incontriamo il carattere "\0" ?? o ci possono essere altre possibilità? 2- possiamo dare per scontato che nella query non ci siano andate a capo "\n" ?

-- JacopoSciarra - 05 Jun 2007

ricapitolando SINTASSI

i percorsi si specificano con / i nomi devono essere validi, non possono esserci spazi. Per gli attributi la sintassi corrisponde a quella del primo modulo: NAME deve essere legale, "value" può contenere qualsiasi carattere e deve essere racchiuso tra apici singoli o doppi.

@ deve essere attaccato al NAME. gli spazi (anche i newline?) vanno ignorati tra le parentesi quadre.

1) /...[@name = "£123as'd" , @asd ] corretto!
2) /...[ @name = "ew" ] corretto!
3) /...[@name = 'qwe' , @d,@c    ,@tre=  "zxc"] corretto!
4) /...[@name = "value" ,]  <-- corretto???
5) /...[@name = 
"value"] <-- corretto???
-- GabrieleTarantino - 05 Jun 2007

Re: fine della query

Sì a tutte e due le domande.

-- RobertoNavigli - 06 Jun 2007

Re: ricapitolando SINTASSI

I newline possiamo supporre che non ci siano oppure semplicemente scartarli come fossero spazi. Il caso 4 è a vostra scelta (anche in C è possibile terminare un elenco con la virgola, perche' questo rende comodo specificare ulteriori valori in seguito).

-- RobertoNavigli - 06 Jun 2007

Spazi ammessi? 2

e se ho salva "doc ciao" o da errore?
1) /radice / doc ciao /
-- DanieleR - 06 Jun 2007

Caratteri ammessi

sono ammessi i caratteri @ = e " come nell'esempio?
/radice/do@"="cumento/
-- DanieleR - 06 Jun 2007

valore degli attributi

se il valore dell'attributo è vuoto come nell'esempio lo metto a NULL o a \0?
@document=""
-- DanieleR - 06 Jun 2007

spazi bianchi all'inizio

abbiamo detto che non è valida la query "/ root/doc" perche c'è spazio tra / e il nome del nodo. ma se lo spazio c'è prima dello slash (1) o non c'è lo slash davanti al primo nodo ma c'è uno spazio bianco(2), è errore o è valido?

(1): " /root"
(2): " root"
-- JacopoSciarra - 06 Jun 2007

Re: spazi bianchi all'inizio

lo spazio bianco come primo carattere della query, io l'ho considerato errore.. vorrei sapere se è giusto..

-- JacopoSciarra - 06 Jun 2007

Sintassi dei valori degli attributi

Salve,volevo sapere se i valori degli attributi devono essere tra inclusi " ",o anche tra ' ',o anche senza apici.

-- AntonioMiranda - 07 Jun 2007

Re: Sintassi dei valori degli attributi

Ti rispondo io smile : si possono essere sia tra "" che tra '', praticamente la tokenizzazione della query deve rispettare le specifiche del modulo 1.

-- DanieleR - 07 Jun 2007

sintassi

/root[@id, @num='34'] /figlio

è valida? (nota: lo spazio fra la parentesi quadra e lo slash)


-- JacopoSciarra - 07 Jun 2007

Valore degli attributi

In un esempio ha scritto che è valido [@id=5].

è quindi possibile scrivere attributi anche senza delimitatori di stringa? Ovvero [@id=5], [@id='5'] e [@id="5"] sono tutti e tre validi?

Grazie


-- OliverTran - 08 Jun 2007

Re: spazi ecc.

Le regole le ho già scritte in una mia precedente risposta (leggetevi tutto!!!). I nomi di nodi e attributi devono essere conformi alle regole specificate nel modulo 1.

-- RobertoNavigli - 08 Jun 2007

lista restituita dalla funzione query

Salve....se ho una query come quella seguente ed un documento xsml come quello seguente nella lista risultato aggiungo solo i primi nodi che soddisfano la query ed esco dalla funzione oppure devo aggiungere tutti i nodi che soddisfano la query? quindi è giusta la 1 o la 2?
/xsml/libro

<xsML>
   <libro titolo= "uno">
   </libro>
   <libro titolo= "due">
   </libro>
</xsML>

risultato 1) xsml--> libro(titolo="uno") --> NULL
risultato 2) xsml-->libro(titolo="uno")-->libro(titolo="due")-->NULL 
-- LauraMinicucci - 08 Jun 2007

Re: lista restituita dalla funzione query

Buongiorno Prof. Le volevo chiedere come dobiamo comportarci nel caso si abbia una query ed un testo xsML come i seguenti: Si deve ritornare l'ipotesi 1, la 2 o la 3?

Grazie mille.

Testo xsML

<utenti>
   <utente id="1">
      <utente sub = "1.1">Andrea</utente>
   </utente>
   <utente id="2">
      <utente sub = "2.1">Giovanni</utente>
   </utente>
</utenti>


Query: utente

1) utente->utente(id="1")
   utente->utente(id="2")

oppure

2) utente->utente(id="1")
   utente->utente(id="2")
   utente->utente(sub="1.1")Andrea
   utente->utente(sub="2.1")Giovannni

oppure

3) utente->utente(id="1")->utente(sub="1.1")Andrea
   utente->utente(id="2")->utente(sub="2.1")Giovannni
-- AndreaMencaroni - 09 Jun 2007

Re: Re: lista restituita dalla funzione query
la query xsml/libro deve restituire tutti e soli i libri che hanno come padre xsml. Ma xsml non deve comparire! result: libro titolo= "uno"-->libro titolo= "due"--> NULL

la query utente deve restituire tutti gli utenti. result: utente id="1"-->utente sub = "1.1"-->utente id="2"-->utente sub="2.1"-->NULL


-- GabrieleTarantino - 09 Jun 2007

Nodi di tipo String nella query

Salve prof,è lecito che l'interrogazione della query richieda un tag di tipo stringa? ad esempio:

/xsML/libro/autore/George Orwell

è lecito?


-- AntonioMiranda - 09 Jun 2007

Re: lista restituita dalla funzione query

Tutti i nodi che soddisfano la query

-- RobertoNavigli - 10 Jun 2007

Re: Re: Re: lista restituita dalla funzione query

Esattamente.

-- RobertoNavigli - 10 Jun 2007

Re: Nodi di tipo String nella query

Non ho capito la domanda: nella query specifichiamo nomi di nodi, quindi i nomi devono essere conformi alla naming policy dei nodi (niente spazi).

-- RobertoNavigli - 10 Jun 2007

errore nel xsml_query.h

compilando il mio programma, mi accorgo che il compilatore da un errore relativo al file fornito dal prof, xsml_query.h da il seguente errore: xsml_query.h:21: error: syntax error before 'list' xsml_query.h:42: error: syntax error before 'list'

ovvero le due righe dove sono i prototipi delle due funzioni da fare. l'errore viene segnalato sia usando i miei moduli che quelli forniti dai prof. come è possibile?


-- JacopoSciarra - 11 Jun 2007

Re: errore nel xsml_query.h

devi includere o nel .c o nel .h "xsml_syn.h" altrimenti non si sà cosa sia list

-- AlessandroMastropietro - 11 Jun 2007

terzo modulo online?

salve volevo chiedere se si puo mettere un terzo modulo funzionante online..visto che io non sono riuscito a farlo funzionare..e mi serve per il quarto.. grazie

-- JacopoSciarra - 16 Jun 2007

Creazione nodo e lista dei figli

Buonasera, avrei una domanda riguardo alla funzione parse_query: dalle specifiche leggo che "il campo della lista dei figli sarà indefinito per tutti i nodi". La funzione che sembra più naturale usare per creare un nodo è la new_tag_node, ma questa definisce la lista di figli vuota. Vorrei sapere se è possibile tralasciare questo dettaglio ed utilizzarla lo stesso. Grazie.

-- GloriaRomualdi - 17 Jun 2007

Valore dell' attributo

Ho letto le risposte ai quesiti posti precedentemente, ma non mi è chiaro se il valore dell'attributo può non avere singoli o doppi apici come delimitatori. Conformemente alle specifiche del modulo 1 dovrebbe sempre averne, ma chiedo conferma. Grazie

-- GloriaRomualdi - 17 Jun 2007

Re: Creazione nodo e lista dei figli

credo che intenda proprio che la lista dei figli deve essere vuota, daltronde, se nn sbaglio, nn ci servono i figli...

-- CleoniceMansillo - 18 Jun 2007

Re: terzo modulo online?

Il terzo modulo non serve per il quarto: per effettuare una ricerca, basta costruirsi un albero ad hoc, non serve leggere un file xsml per costruirne uno...

-- RobertoNavigli - 19 Jun 2007

Re: Creazione nodo e lista dei figli

Sì, si può usare quella funzione.

-- RobertoNavigli - 19 Jun 2007

Re: Valore dell' attributo

Come per il modulo 1: singoli o doppi.

-- RobertoNavigli - 19 Jun 2007

/ alla fine della stringa della query

Salve, vorrei sapere se nella funzione parse_query, nel caso in cui la stringa della query termini con il carattere '/' dobbiamo emettere errore. Grazie. Esempio:
/root/doc/
-- GloriaRomualdi - 19 Jun 2007

errore nel xsml_query.h

(x alessandro) ma se metto include "xsml_syn.h" nei file query.c o .h mi esce un casino tremendo. poi in quell'header non ci sono le definizioni di list ma c'è il prototipo della funzione get_xsml_doc e di iteratori.. nel mio caso, nel file parse_query.c includo il node.h che a sua volta include list.h quindi dovrebbe sapere cosa sia list, no?

-- JacopoSciarra - 20 Jun 2007

riga di comando per compilazione 4°modulo

posso gentilmente chiedere agli studenti che stanno facendo questo modulo, se possono postare un esempio di riga di comando per far funzionare il 4° modulo (allo scopo di vedere quali file compilate e come fate le inclusioni)? io faccio così: (mi da errore nel file xsml_query.h, errore sui list)
1) gcc xsml_parse_query.c xsml_query.c xsml_list.c xsml_node.c main.c -o query
 
-- JacopoSciarra - 20 Jun 2007

lista di nodi in uscita

Buongiorno, non mi sono chiare 2 cose: 1) volevo sapere se la lista di nodi trovati dal parser deve contenere i riferimenti ai nodi effettivi dell'albero, o una loro copia. 2) posso assumere che la lista di nodi trovati sia già una lista allocata. o bisogna fare new_list all'interno del del metodo query?

grazie


-- DanieleCesaroni - 20 Jun 2007

lista di nodi in output, i figli?

supponiamo che devo restituire nella lista risultato un certo nodo PROVA, e questo nodo prova ha un figlio. nella query risultato il figlio di PROVA va messo oppure no?

l'esempio sotto è giusto?

<doc>
  <prova><tit></tit></prova>
</doc>

query: prova

risultato: prova -> NULL
-- JacopoSciarra - 21 Jun 2007

creazione liste

salve prof, ho una domanda un pò banale.le funzioni parse_query e query restituiscono il risultato nelle liste puntate da qptr e risultato. mi chiedevo se la creazione delle liste, effettuata con l'ausilio della new_list, deve essere all'interno della funzione o prima di chiamarla, passando così come parametro una lista con memoria già allocata. grazie mille
1)
new_list(&parsed);
parse_query(str,&parsed,&rpt);

2)
int parse_query(char *str, list *qptr, int *rptr) {
new_list(qptr);
---
-- GiuseppeCoppola - 21 Jun 2007

Re: lista nodi in uscita

la funzione parse deve creare nuovi nodi, e non far riferimento all'albero creato cn get_xsml_doc. la seconda domanda l'ho posta anche io, ma credo che per rimanere in sintonia con l'implementazioni degli altri moduli bisogna utilizzare new_list all'interno della funzione. attendo conferma dal professore

-- GiuseppeCoppola - 21 Jun 2007

Re: Re: lista nodi in uscita
l'ha detto il prof che bisogna far riferimento a una copia? se deve far riferimento a una copia, bisogna copiare tutto il sotto albero o i children del nodo copiato invece puntano ai nodi dell'albero creato con get_xsml_doc? Gli attributi immagino vadano copiati.

ciao


-- DanieleCesaroni - 21 Jun 2007

Re: Re: Re: lista nodi in uscita
no, non va creata una copia, ma un nuovo nodo indipendente da quelli dell'albero.immagina di dover creare un nodo anche se non esiste all'interno dell'albero, di cosa ne crei la copia?

-- GiuseppeCoppola - 21 Jun 2007

Re: Re: Re: lista nodi in uscita
no, non va creata una copia, ma un nuovo nodo indipendente da quelli dell'albero.immagina di dover creare un nodo anche se non esiste all'interno dell'albero, di cosa ne crei la copia?

-- GiuseppeCoppola - 21 Jun 2007

Re: Re: Re: lista nodi in uscita
aspetto conferma dal prof, perchè così mi sembra una cosa inutile... da che mondo è mondo quando si fanno le query su un dom si deve poter continuare a navigare l'albero. cmq grazie wink ma quindi tu che hai fatto ti sei ricreato un nodo dove hai impostato solo il nome e con gli attributes e children NULL?

-- DanieleCesaroni - 21 Jun 2007

problemi con new_list

salve. mi sono bloccato con il 4° modulo al punto dove creo la lista dei nodi che il parser identifica. la lista la creo e la inizializzo con la funzione new_list del 2° modulo. il probblema compare dopo la prima chiamata a new_tag_node; dopo la chiamata a questa funzione l'indirizzo della lista viuene sovrascritto dall'indirizzo del nodo creato. qualcuno sa dirmi dove possibile che ho sbagliato?

-- VladLupascu - 21 Jun 2007

Re: problemi con new_list

se ho capito bene il tuo problema... il nodo creato con new_tag_node lo devi aggiungere alla lista con add_first o add_last

-- DanieleCesaroni - 21 Jun 2007

Consegna

Buongiorno Professore. Quando sarà possibile consegnare? Il link per la consegna non è ancora attivo. Grazie.

-- AndreaMencaroni - 22 Jun 2007

Re: problemi con new_list

vlad, la parse_query prende un List * qptr, ma nel main non devi creare un List * q devi creare un List q e poi chiamare parse con &q.


-- GabrieleTarantino - 22 Jun 2007

QUERY_OK e QUERY_FAIL

Buonasera prof., vorrei maggiori delucidazioni riguardo ai codici di errori restituiti. Dalle specifiche: "QUERY_OK -> Almeno un nodo soddisfa l'interrograzione."

Questo significa che se ho l'esempio sotto riportato, la funzione deve resituire QUERY_OK perché almeno "root" soddisfa linterrogazione, o come più probabile, resituisco QUERY_FAIL, in quanto "doc3" non è presente? In generale: devo resituire QUERY_FAIL ogni qualvolta non riesco a completare tutta la query, o anche se solo "parzialmente corretta" restituisco QUERY_OK?

Grazie.


query = /root/doc3

e documento:
<root>
 <doc1> testo </doc1>
</root>

-- GloriaRomualdi - 22 Jun 2007

Re: QUERY_OK e QUERY_FAIL

in quel caso bisogna restituire QUERY_FAIL e non QUERY_OK,perchè non esiste nessun nodo doc3 figlio del nodo root.

-- GiuseppeCoppola - 24 Jun 2007

aiuto accedere ai figli del nodo root nella funzione query

ragazzi non è che c'è qualche anima gentile che mi direbbe come cavolo accedere correttametne ai nodi figli del nodo root nella funzione query. cioe come scandire la lista root->children? con l'iteratore normale non funge perche giustamente in questa funzione abbiamo il puntatore a root, e quindi di conseguenza abbiamo anche un puntatore a root->children.. insomma ho provato in tutti i modi ma non riesco!! aiuto!! mancano solo pochi giorni!

-- JacopoSciarra - 25 Jun 2007

Re: Re: Re: Re: lista nodi in uscita

Attenzione: la lista dei nodi che rispondono alla query deve contenere i puntatori ai nodi dell'albero e non copie...

-- RobertoNavigli - 25 Jun 2007

Re: Consegna

Modulo di consegna online.

-- RobertoNavigli - 25 Jun 2007

Eventuale valore NULL degli attributi

Salve a tutti. Come è stato gia detto, nel caso riportato sotto, non essendo specificato il valore dell'attributo, esso sarà messo a NULL nel nodo "utente" della query. Per farlo, poichè passare il valore NULL alla funzione set attributo genera errore, ho utilizzato la stringa suggerita dal prof "(null)". Volevo chiedere conferma di questo comportamento e sapere se qualcuno ha risolto in altri modi o va bene questo. Grazie.
/utente [ @attributo ]
-- ElenaAgostini - 25 Jun 2007

attributi ed iteratori su attributi

mi sembra di capire che quando stiamo scandendo gli attributi di un nodo non possiamo fare accesso diretto ai campi interni della struttura attributo (che ognuno puo aver fatto diversamente). suppongo che quindi si debbano usare gli iteratori sulle liste di attributi fatti nel terzo modulo. questo presuppone che quando si va a compilare, si metta anche il file che conteneva questi iteratori (xsml_syn..) ma qui sorge un problema. quelli che come me purtroppo non hanno consegnato il terzo modulo, per usare gli iteratori sulla lista di attributi, non avendo i file del 3 mod, li devono mettere ad esempio nel file xsml_query.c o .h pero poi quando il professore andrà a corregere compilerà anche il file del 3° modulo, e troverà dei duplicati delle strutture degli iteratori.. quindi come si deve procedere?

-- JacopoSciarra - 26 Jun 2007

Re: attributi ed iteratori su attributi

anche io ho lo stesso problema, creo gli iteratori sulla lista dei figli ma non posso accedere al campo name dei nodi...come faccio a confrontarli con quelli parsati che ho nella lista se non riesco a leggerli??

printf("-%s-",(char*)(((node) ( next( lista )) ) ->name)) ;

//non stampa il nome del nodo puntato dall'iteratore lista e ritornato dalla funzione next()
-- AlainBindele - 26 Jun 2007

Re: attributi ed iteratori su attributi

Implementate le funzioni oppure accedete direttamente ai campi

-- RobertoNavigli - 26 Jun 2007

Re: Eventuale valore NULL degli attributi

va bene.

-- RobertoNavigli - 26 Jun 2007

Re: slash finale

va bene non considerare lo slash finale (es. utente/). scartatelo, ma se invece restituite errore va bene lo stesso, visto che non abbiamo detto nulla nelle specifiche.

-- RobertoNavigli - 26 Jun 2007

query "vuota"

nel caso in cui la stringa che rappresenta la query sia vuota, parse_query() ritorna PARSE_QUERY_OK o un errore? e nel secondo caso quale errore?
char *query_str = "";
...
parse_query(query_str, &qptr, &rptr); /*chiamata dal main*/
...
-- CleoniceMansillo - 26 Jun 2007

Può essere distrutta la stringa della query

grazie

-- AlbertoRivelli - 26 Jun 2007

stringa della query -- part2

salve professore, ricontrollando oggi il parser della stringa, mi e' sorto un piccolo dubbio; nel caso in cui abbia la seguente query(1), devo generare un errore o e' considerata valida???? Il fatto che ci siano le parentesi quadre subito dopo nome e al suo interno non trovo nessun attributo, mi fa pensare al carattere * in una ricerca. In questo caso dovrei restituire tutto o generare un errore??

grazie in anticipo

(1)  -->   /utente/utenti/nome[]
-- MarcoRotiroti - 26 Jun 2007

Re: query "vuota"

io faccio restituire un errore di tipo PARSE_QUERY_SYNTAX_ERROR; penso che non abbia molto senso eseguire una ricerca su un albero con una stringa vuota...

-- MarcoRotiroti - 26 Jun 2007

[@attributo=""]

una query con valore presente ma vuoto è sbagliata? o è la stessa cosa di [@attributo] ?
tag1/tag2[@attributo=""]
-- CleoniceMansillo - 27 Jun 2007

ricerca di un nodo su albero n-ario

nel caso che la query non sia radicata ("primo/secondo.."), bisogna cercare il primo nodo della lista query all'interno dell'albero.. voi avete usato una funzione di ricerca (ricorsiva) per gli alberi n-ari o avete usato un'altra tecnica? grazie.

-- JacopoSciarra - 27 Jun 2007

Errore xsml_node.c in new_tag_node()

Forse a qualcuno è sfuggito che nelle soluzioni del prof. c'è un errore abbastanza importante.

(*n)->name=malloc(sizeof(char)*strlen(name)+1);
strcpy((*n)->name, name);

al posto di

(*n)->name = name;
   
-- AlainBindele - 27 Jun 2007

X Vlad & co. ecco perchè avete problemi cn la new_tag_node etc

C'è un errore nella new_tag_node sostituite come sopra e spariranno Lui sovrascrive ogni volta il name del buffer che usi per immagazzinare il nome del nodo e che passi alla funzione...in pratica la funzione viola lo spazio di memoria della funzione chiamante facendo puntare OGNI NODO nel campo name al tuo bufferino...morale della favola? ogni volta il buffer cambia e tutti i nodi che crei hanno lo stesso valore nel campo name

-- AlainBindele - 27 Jun 2007

< e > all'interno del valore di un attributo

Data una stringa che rappresenti una query, si puo' assumere che sia imposssibile trovare i caratteri < e >, o devo trattarlo come un caso di errore sintattico? Es. /tag[nome="cla<udia"]

-- ClaudiaRapuano - 27 Jun 2007

Re: < e > all'interno del valore di un attributo

Mi associo alla domanda, tra apici può esserci qualsiasi carattere o ce ne possono essere alcuni che costituiscono errore? Io avevo fatto che il valore dell'attributo inizia con un apice e lo leggevo e copiavo tutto finchè non incontravo l'apice corrispondente al primo (a meno che non incontravo \0!)... ma la domanda sopra mi fa pensare che ho saltato qulacosa... prof?

-- CleoniceMansillo - 27 Jun 2007

Re: Re: < e > all'interno del valore di un attributo
questo caso viene gia' trattato sulle specifiche del modulo....

In XML, e quindi anche in xsML, è esplicitamente specificato che il simbolo < può apparire solo come apertura di uno start-tag. In particolare, < non può occorrere direttamente in nessuna stringa, né nel valore di un attributo, né nel contenuto di un elemento (del resto in questo caso verrebbe interpretato immediatamente come inizio di un tag). Per poter inserire < all’interno di una tag occorre utilizzare una cosiddetta entità, ovvero, un nome preceduto dal carattere & e seguito da ;. In particolare, per < occorre scrivere <. Analogo discorso vale per >, per il quale occorre usare l’entità >. Nella nostra analisi noi non riserveremo alcun trattamento particolare alle entità, ma le tratteremo come tutte le altre stringhe. Rimane comunque il vincolo sull’uso di < e >.

penso sia spiegato tutto qui...


-- MarcoRotiroti - 27 Jun 2007

valutazione del 4° modulo

mi appresto a consegnare il quarto modulo. volevo chiedere una cosa al professore. Il mio quarto modulo dovrebbere essere OK per quanto riguarda la funzione parse, mentre nella funzione query, in alcuni casi non funziona. Ho provato fino alla fine a farlo correttamente al 100% ma non ci sono riuscito. Volevo solo chiedere se il fatto che con alcuni tipi di query il modulo non funziona se porta a un risultato zero. Viste le decine di ore dedicate a questo progetto, con conseguente rinuncia allo studio di altri esami, sarebbe un po frustrante..

-- JacopoSciarra - 28 Jun 2007

errori vecche funzioni

Salve prof, se scopro di avere un errore nelle funzioni dei moduli vecchi, come mi devo comportare? Posso modificarle e riconsegnarle?

-- ClaudiaRapuano - 28 Jun 2007

Attributi esatti

Salve, Questa è la mia domanda: Se nella query specifichiamo degli attributi per un nodo (indipendentemente dalla presenza o meno del valore), tale nodo deve avere tutti e soli quegli attributi o magari pur avendone altri in più non richiesti va considerato buono lo stesso?

grazie


-- FedericoScacco - 28 Jun 2007

patch 2

Salve professore, volevo chiederle quando è possibile consegnarle il patch 2.

-- NadiaDiSchino - 29 Jun 2007

patch!

salve professore vorrei sapere se sarà possibile consegnare delle patch anche per i moduli 2 e 3. Grazie

-- GiuseppeTreppiedi - 29 Jun 2007

Re: Errore xsml_node.c in new_tag_node()

Come ho già detto, non è un errore: è una scelta di implementazione che richiede al chiamante di allocare lo spazio (infatti se guardate l'implementazione del primo modulo, ogni volta le stringhe vengono allocate in nuove zone di memoria - riallocare due volte, peraltro senza deallocare, è inutile).

-- RobertoNavigli - 01 Jul 2007

Re: valutazione del 4° modulo

Cercheremo di valutare il vostro lavoro nel miglior modo possibile...

-- RobertoNavigli - 01 Jul 2007

Re: patch!

Sì, in settimana metteremo online i risultati dei moduli 2 e 3.

-- RobertoNavigli - 01 Jul 2007

forse interessa un pò tutti

prof, tra tempi per le correzioni e poi per consegnare le patch, pensa che si concluderà tutto entro luglio? Perchè se è così cerco di risolvere i miei errori per le patch in breve tempo. Se invece ho più tempo per farlo mi dedico un pò di più a qualche altro esame che sto preparando in modo da darlo nei prossimi giorni invece di rimandarlo di un appello.

-- CleoniceMansillo - 04 Jul 2007

ma quando escono i risultati?

Salve, vorrei sapere quando usciranno i risultati dei moduli precedenti, vorrei ricordare che il temine per il primo modulo era il 20 aprile e che ancora devono uscire i risultati della white box, mentre per il secondo modulo il termine era l' 11 maggio e quindi, dopo più di un mese e mezzo ancora non escono i risultati relativi alla black box del secondo modulo. Prego il professor Guerrini e il professor Navigli di far presente di quanto scritto sopra. Grazie.

-- LauraRossi - 05 Jul 2007

implemenatzioni moduli 3 e 4

qualcuno sa se verranno pubblicate le implementazioni dei moduli 3 e 4 del prof anche se abbiamo terminato il progetto? ....nessuno ha curiosita di vederle?!

-- CleoniceMansillo - 06 Jul 2007

Re: forse interessa un pò tutti

meglio dedicarsi all'esame. Per le patch daremo un po' più di tempo, visto che c'è l'estate che incombe. Comunque dovremmo dare i risultati degli altri 3 moduli a breve.

-- RobertoNavigli - 06 Jul 2007

Correzione modulo 4

Premetto che i miei moduli dovrebbero essere funzionanti... pero' c'e' un particolare differente da quelli forniti da voi cioe' nel primo modulo è inversa la considerazione di TEXT_CONTENT E TAG_CONTENT... i nostri moduli verranno corretti utilizzando i vostri moduli precedenti o i nostri moduli precedenti?

-- LucaGiardina - 08 Jul 2007

Re: Correzione modulo 4

Ho già risposto di persona, ma per gli altri: se la vostra implementazione non è consistente con le specifiche, potrete sottomettere come patch una nuova versione (lievemente, ma non sostanzialmente) modificata.

-- RobertoNavigli - 10 Jul 2007

...ma i risultati non dovevano uscire la settimana scorsa???

Salve, vedo che a differenza di ciò che è stato scritto il 1° luglio in "RE:patch!" i risultati ancora non sono usciti...capisco che le belle giornate fanno passare la voglia di mettersi a correggere compiti... ma con un piccolo sforzo ce la possiamo fare prima di settembre??? Mi scuso in anticipo per il tono ma dopo due mesi si inizia a pensare che questo ritardo sulle correzioni sia una mancanza di rispetto nei nostri confronti.


-- LauraRossi - 13 Jul 2007

patch 2

Mi scusi professore ma se non ha messo in linea la patch 2 come può correggere il modulo 3? Per esempio io ho fatto degli errori nelle direttive del preprocessore nei file sorgenti del modulo 2 e senza poterli correggere il mio modulo 3 non partirebbe proprio e non potrebbe testarlo!Inoltre la mia implementazione è diversa da quella proposta da lei.

-- NadiaDiSchino - 15 Jul 2007

e i risultati???

Salve prof, parlo a nome di tutti coloro che hanno svolto questo esame non avendo una linea di internet a casa. è stato molto difficile, almeno per me, aggiornarsi ogni volta, porre domande e ricevere delle risposte...cosa succederà ora, che la facoltà chiude?io già da domani non potrò più venire a roma a connettermi in facoltà per verificare se ci sono novità riguardo i risultati o varie patch. la prego di dare una risposta a questa domanda, se la leggera mai...

-- VladLupascu - 16 Jul 2007

Re: e i risultati???

Ragazzi, non è questione di belle giornate, qui si lavora (io per esempio lavoro anche ad agosto)! Siamo in 3 e dobbiamo coordinarci. Non posso decidere per tutti. Riguardo alle patch, metterò oggi stesso online i moduli per l'invio di tutte e tre le patch dei moduli rimanenti. Non l'avevo fatto perché, in fondo, se uno non ha visto la correzione del secondo modulo non può inviarne la relativa patch.

Per chi non ha accesso a Internet da casa durante la chiusura dei laboratori, non posso che consigliare l'ovvio: andare da un amico/a oppure in un internet point, come faccio sempre io quando vado in vacanza in qualsiasi posto del mondo...


-- RobertoNavigli - 16 Jul 2007

Patch 1

Salve, volevo chiedere se era possibile riaprire la consegna delle patch anche per il modulo 1, visto che per il primo abbiamo avuto poco tempo se confrontato con i quasi due mesi messi a disposizione per le altre.

-- FedericoScacco - 17 Jul 2007

Verifica della correttezza dei moduli 3 e 4

Buonasera, vorrei sapere se sarà possibile verificare la correttezza dei moduli 3 e 4, in maniera simile al modulo 1, con un main di prova unico per tutti, e dei test di input e output, rendendo il procedimento di verifica e l'eventuale realizzazione di patches decisamente più semplici anche per i moduli successivi al secondo. Grazie.

-- GloriaRomualdi - 17 Jul 2007

Re: Patch 1

Va bene, però ne terremo conto in fase di valutazione.

-- RobertoNavigli - 18 Jul 2007

Re: Verifica della correttezza dei moduli 3 e 4

Certamente.

-- RobertoNavigli - 18 Jul 2007

Compilazione moduli 3 e 4

Buongiorno professore, immagino sia un problema comune perciò scrivo qui i tanti dubbi che ho: da me i moduli 3 4 vengono compilati correttamente. Ho usato sia winlcc che gcc 3.2.4 per windows con flag -Wall, anche con -ansi non ho avuto i problemi riportati nel log. 1)CHe tipo di compilatore usa lei e con quali flag? Io ho utilizzato i .h che erano sul sito, ho letto che eventualmente potevano essere modificati. 2) lei che .h ha usato?gli originiali o con altri #include ? Il file di prova mainxx.c causano un errore, tra l'altro, su get_attributo (anche la sua versione del mod2) poichè passa un char** non inizializzato e (non un &(char*) per esempio).In get_attributo si fa una malloc su un puntatore non inizializzato e va in errore. 3) Non comprendo io o sono finiti online dei sorgenti non corretti?

4)Per queste prove di compilazione del modulo 3 sono stati usati i file originali da noi postati o sono state prese le versione patch che potevamo sottomettere a luglio? Se sono state prese le patch... in che data sono state prese? grazie


-- DanieleCesaroni - 02 Aug 2007

Re: Compilazione moduli 3 e 4

Per quanto riguarda la compilazione e quali file utilizziamo per compilare ogni modulo, riferitevi alla pagina di valutazione, dove trovare informazioni dettagliate.

-- RobertoNavigli - 12 Aug 2007

modulo 4 e file xsml

salve,

vorrei sapere se e' possibile avere, in file xsml, l'albero che viene costruito in ognuno dei main (nelle 6 versioni).

mi spiego: in ogni main*.c e' riportata la serie di new_tag_node e new_text_node che costruiscono l'albero del documento xsml che verra' poi analizzato dalla funzione query (...).

ho provato, su carta, a "ricostruire" il documento ma alcune cose non mi tornano. durante i test del mio modulo 4, costruivo sempre un file di prova .xsml e lo portavo in input al codice per vedere il risultato.

vorrei sapere se e' possibile avere una cosa del genere con i 6 main forniti da voi, per testare meglio (e avere un riscontro immediato) i nostri sorgenti.

grazie smile


-- ManuelMinopoli - 02 Aug 2007

Re: modulo 4 e file xsml

Il problema è che fornire un file xsml rende la valutazione del modulo 4 dipendente dal modulo 3, cosa che noi non vogliamo (la cosa vi facilita). Ricavare il file xsml, comunque, è piuttosto banale e, se non erro, la struttura è la stessa per tutti e 6 i test.

-- RobertoNavigli - 12 Aug 2007

Valutazioni black-box moduli 3 e 4

Salve, nel testare il main da voi fornito per il 3° modulo ho riscontrato un problema nell'allocazione di memoria per una stringa. Eseguendo - nel mio main - delle chiamate analoghe a quelle nel vostro main alla stessa funzione in cui ho riscontrato il problema va tutto liscio. Per quando sarà possibile avere i risultati black box degli ultimi due moduli e relativi file di prova?

-- OliverTran - 03 Aug 2007

Re: Valutazioni black-box moduli 3 e 4

Grazie per la segnalazione. Abbiamo aggiornato il main il 4 agosto: scaricatelo di nuovo.

-- RobertoNavigli - 12 Aug 2007

patch1 e compilazione 3e4

quando usciranno i risultati del modulo 1 con la 1patch che scadeva il 18 giu ?? non saranno mica quelli gia pubblicati?? perchè in tal caso il mio modulo non compila nemmeno con la 1a patch...

per la compilazione dei 3e4 ho visto che in molti abbiamo un problema di doppie inclusioni di librerie, non so cosa fare... come vanno incluse ste librerie? non è possibile da parte sua, aggiungere un controllo che eviti questo problema a tutti?


-- GabrieleTarantino - 09 Aug 2007

Re: patch1 e compilazione 3e4

A lezione abbiamo trattato questo problema ampiamente... inviate una patch per risolvere il problema.

-- RobertoNavigli - 12 Aug 2007

ancora librerie

i main del modulo 4 includono solo query.h, query.h non include nulla! dapprima avevo incluso tutto in query.h che però non va consegnato per cui ho spostato #include node.h, lex.h e syn.h in parse_query.c e query.c

ma i main continuano a non sapere chi è list... se non posso modificare il main e nemmeno query.h che cosa devo fare? qualcuno mi dia una risposta utile!


-- GabrieleTarantino - 13 Aug 2007

Re: ancora librerie

Gabriele, sta scritto tutto nella pagina di valutazione:

http://twiki.di.uniroma1.it/twiki/view/Labprog2/PaginaValutazione0607#mod4

Abbiamo modificato il file xsml_query.h e useremo quello disponibile da quella pagina.


-- RobertoNavigli - 15 Aug 2007

OT: discussione progetto

In cosa consiste questa discussione? Immagino si debba ridare un'occhiata al proprio progetto, ma oltre questo c'è altro?

Grazie mille


-- OliverTran - 17 Aug 2007

Re: OT: discussione progetto

Oliver, si discutono eventuali errori, se ne valuta insieme l'eventuale gravità o meno, si discute della qualità del codice, ecc.

-- RobertoNavigli - 23 Aug 2007

DIFF

ho consegnato le patch senza il file diff. premesso che le modifiche che ho effettuato sono ASSOLUTAMENTE MINIME è proprio necessario che riconsegni tutte le patch con il file diff???? purtroppo ho modificato i files originali e non dispongo più delle "vecchie versioni" eventualmente potrebbe rimandarmi lei i moduli originali senza patch?
modulo1: una lettera maiuscola che su win non dava problemi
modulo2: ho semplicemente aggiunto #ifndef
modulo3: avevo dimenticato la funzione next_node() in iter.c
modulo4: non controllava che i nodi dell'albero fossero tutti TAG_NODE
-- GabrieleTarantino - 25 Aug 2007

Problema con main3

Salve,ho scaricato il main aggiornato al 4agosto ma continuo ad avere un problema: se lascio il puntatore *tree del main così com'è, il mio albero resta vuoto,se invece la dichiaro come **tree tutto funziona alla perfezione:è un problema mio o del main3?Grazie

-- AntonioMiranda - 01 Sep 2007

problemi invio patch, è un discorso lungo ma vi prego aiutatemi

è da venerdì scorso (21 settembre, 7 giorni prima dell'esame del 28) che non riesco ad inviare la patch al modulo 3. So di essermi ridotta all'ultimo momento, ma non ho potuto fare diversamente e, in fondo, c'erano dei termini che ho rispettato: venerdì sera cercavo di collegarmi per la consegna ma non è stato in alcun modo possibile. Non era dipeso dalla mia rete perchè era possibile navigare, solo twiki non era disponibile. Quella sera stessa, e poi anche ieri, ho scritto sia al prof. Guerrini che al dott. Navigli inviando la mia patch, ma continuo a ricevere e-mail di notifica di non avvenuta consegna. In fine, scoprendo oggi che l'esame è stato posticipato speravo di poter usare twiki per la consegna della patch, ma mi viene risposto che è scaduta. Spero di riuscire a comunicare con qualcuno tramite questa pagina e di ricevere una soluzione. Grazie. Se serve: cleonicemansillo@hotmail.com

-- CleoniceMansillo - 24 Sep 2007

Re: problemi invio patch, è un discorso lungo ma vi prego aiutatemi

risolto! smile

-- CleoniceMansillo - 25 Sep 2007
No such template def TMPL:DEF{PROMPT:thread}
  • Se usate dei titoli comprensibili ci capiamo tutti un po' meglio
  • Ricordatevi di chiudere i tag che inserite nei post.
  • Non partite con i flame, c'è una pagina apposta per gli OffTopic.

-- RobertoNavigli - 02 Jun 2007

Edit | Attach | Watch | Print version | History: r99 < r98 < r97 < r96 < r95 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r99 - 2007-09-25 - CleoniceMansillo






 
Questo sito usa cookies, usandolo ne accettate la presenza. (CookiePolicy)
Torna al Dipartimento di Informatica
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback