Forum by laureateci.it
[ Home | REGOLE FORUM | Tutti i blog | Profilo | Registrati | CHAT | Discussioni Attive | Discussioni Recenti | Segnalibro | Msg privati | Sondaggi Attivi | Utenti | Download Informatica | Download ICD | Download TPS | Download Magistrale | Download Specialistica | Giochi | Cerca nel web | cerca | faq | RSS ]
Nome Utente:
Password:
Salva Password
Password Dimenticata?

 Tutti i Forum
 INFORMATICA - Primo Anno
 Linguaggi di programmazione
 datemi addosso per l'ignoranza

Nota: Devi essere registrato per poter inserire un messaggio.
Per registrarti, clicca qui. La Registrazione è semplice e gratuita!

Larghezza finestra:
Nome Utente:
Password:
Modo:
Formato: GrassettoCorsivoSottolineatoBarrato Aggiungi Spoiler Allinea a  SinistraCentraAllinea a Destra Riga Orizzontale Inserisci linkInserisci EmailInserisci FlashInserisci Immagine Inserisci CodiceInserisci CitazioneInserisci Lista Inserisci Faccine
   
Icona Messaggio:              
             
Messaggio:

  * Il codice HTML è OFF
* Il Codice Forum è ON

Smilies
Approvazione [^] Arrabbiato [:(!] Bacio [:X] Bevuta [:273]
Caldo [8D] Compiaciuto [8)]    
compleanno [:269]
Davvero Felice [:D] Diavoletto [}:)] Disapprovazione [V] Domanda [?]
Felice [:)] Fumata [:29] Goloso [:P] Imbarazzato [:I]
Infelice [:(] Morte improvvisa da [:62]
Morto [xx(] Occhio Nero [B)] Occhiolino [;)] Palla 8 [8]
pc [:205]    
Riproduzione [:76]
Scioccato [:O]      

   Allega file
  Clicca qui per inserire la tua firma nel messaggio.
Clicca qui per sottoscrivere questa Discussione.
    

V I S U A L I Z Z A    D I S C U S S I O N E
krasta Inserito il - 09/04/2006 : 14:39:18
ragazzi quale potrebbe essere una funzione in C per determinare se una grammatica è dipendente da contesto (basta controllare se è monotona e basta?)...grazie
7   U L T I M E    R I S P O S T E    (in alto le più recenti)
Tak3z0 Inserito il - 12/06/2006 : 10:17:57
scusa ma e' un problema solo mio che non riesco a vedere tutta la codifica quando la si posta [vedi codifiche postate da fran]
credo manchi qualcosa tipo i controlli del while ad esempio ora non se e' un problema solo mio pls potreste uppere il file grazie assai ^^
ekkekkazz Inserito il - 14/04/2006 : 00:29:30
Citazione:
Messaggio inserito da peano

basta controllare la monotonia e stop..



ma non basta...
se io voglio distinguere una produzione lineare da una dipendente?
per esempio A->bC è monotona, però non è CS...
ok, vabene il teorema della gerarchia per cui L3 in L2 in L1, però qui non basta... la monotonia è una condizione necessaria ma non sufficiente.
peano Inserito il - 12/04/2006 : 09:57:03
basta controllare la monotonia e stop..
ekkekkazz Inserito il - 12/04/2006 : 01:50:01
ok, questa funzione funziona... praticamente estrae i contesti... ora per confrontarli avevo pensato a tipo due puntatori alla parte destra come nella palindrome (Caponetti, brrrr)



int find_context(Production *p, Symbol *y, Symbol *z)
{
int i,j,index[10],k=0;
index[0]=-1;



for (j=0;j<p->left.length;j++)
{ if (!exist_symbol(p->right,p->left.word[j]))
{

index[k++]=j;
}
}


int y_limit=min(index,k);
int z_limit=max(index,k);


if (index[0]==-1)
return 0;

for (j=0;j<y_limit;j++)
*(y++)=p->left.word[j];
*y='\0';



for (j=z_limit+1;j<p->right.length;j++)
*(z++)=p->left.word[j];
*z='\0';

return 1;

}

oh krasta auguri
ekkekkazz Inserito il - 10/04/2006 : 17:32:45
in effetti la soluzione che ho dato io la possiamo buttare... y,z sono in (XuV)*, perciò possono essere anche lambda oppure aF o una qualsiasi forma di frase... il problema è proprio il riconoscimento dei contesti, o più che altro il riconoscimento di A in yAz -> ywz...
prendiamo una produzione BCD->BCe... dobbiamo trovare un modo per determinare la D, e ottenere che tutto il resto della stringa che sta a sinistra è y, e tutto quello a destra è z...
Quindi con un'iterazione per tutti i simboli della parola BCe, cercarsi il corrispondente in BCD... ci rimarranno soltanto la D e la 'e'...
quindi tutto quello a sinistra della D è y, tutto quello a destra è z...
controlliamo che y e z sono uguali a quelli di destra rispetto alla 'e'...

vediamo se riesco a combinare qualcosa col compilatore... poi c'è il problema delle lambda produzione... una cosa alla volta però...
krasta Inserito il - 10/04/2006 : 13:58:22
si ma il contesto come lo controllo ?

yAz -> ywz

il contesto y-z come lo controllo ?
ekkekkazz Inserito il - 09/04/2006 : 18:08:17
una soluzione potrebbe essere questa:
oltre al controllo della monotonia, fare una iterazione per tutta la lunghezza della parte sinistra e verificare che esista un terminale; se questo esiste, controllare con un'altra iterazione annidata che esista lo stesso terminale anche nella parte destra, e quindi è context-sensitive... poi bisognerebbe fare un controllo per verificare che nella parte sinistra esista almeno un NT...

Forum by laureateci.it © 2002 - 2012 Laureateci Communications Torna all'inizio della Pagina
Il DB ha risposto in 0,06 secondi.

TargatoNA.it | SuperDeejay.Net | Antidoto.org | Brutto.it | Equiweb.it | Snitz Forum 2000