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
 Da Monotona a Contestuale

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
silent Inserito il - 07/07/2006 : 19:13:49


Allegato: Gram.rar
2,41 KB

questo è quello che ho fatto io
da una produzione BC>CB arriva produrre 4 produzioni:
BC>CB(non sono riuscito a eliminarla, se qualcuno mi dice come si fa gliene sarei grato)
BC>XC
XC>XB
XB>CB.

Purtroppo riesce a fare solo produzioni del tipo BC>CB (e non altre del tipo AB>CDEF).

io c'ho provato e questo è il mio lavoro non è granchè ma almeno abbiamo un punto d'inizio
3   U L T I M E    R I S P O S T E    (in alto le più recenti)
ekkekkazz Inserito il - 07/07/2006 : 21:49:45
Citazione:
Messaggio inserito da silent

si ma la grammatica di tipo 1 non ingloba anche grammatiche di tipo 2 e 3 ??
quindi un linguaggio di tipo 2 può essere generato da una grammatica di tipo 1 (con l'esclusione di una prod. del tipo A>lambda)


però resta il fatto che non ha senso convertire una produzione libera, lineare o gia contestuale...


Citazione:
Messaggio inserito da silent
potreati darmi una dimostrazione tramite un pezzo di codice


int is_MonGrammar (Grammar* g)
{
int i;

for (i=0; i < g->numprod; i++)
if (is_MonProduction(&g->productions[i]))
{ converti(&g->productions[i]));
rimuovi(g,i); // che rimuove la produzione di indice i dalla grammatica g
}
return 1;
}

così non solo converte veramente tutte le produzioni monotone presenti nella grammatica, ma hai anche la possibilità di passare alla funzione rimuovi() l'indice... rimuovi la devi implementare...
(io la funzione converti l'ho fatta con una Production come parametro, cioè la produzione monotona, mentre non so come si può fare se passi tutta la grammatica)
silent Inserito il - 07/07/2006 : 20:41:11
si ma la grammatica di tipo 1 non ingloba anche grammatiche di tipo 2 e 3 ??
quindi un linguaggio di tipo 2 può essere generato da una grammatica di tipo 1 (con l'esclusione di una prod. del tipo A>lambda)

Citazione:


non appena incontri una produzione monotona, nella
int is_MonGrammar (Grammar* g)),
potresti lanciare la funzione di conversione, e subito dopo rimuovi la produzione in base ad i. Mi sembra il modo più semplice, anche perchè se devi convertire una grammatica monotona, dovresti convertire tutte le produzioni di quel tipo.




potreati darmi una dimostrazione tramite un pezzo di codice
ekkekkazz Inserito il - 07/07/2006 : 19:56:43
Citazione:
Messaggio inserito da silent


BC>CB(non sono riuscito a eliminarla, se qualcuno mi dice come si fa gliene sarei grato)


potresti fare così...
non appena incontri una produzione monotona, nella
int is_MonGrammar (Grammar* g)),
potresti lanciare la funzione di conversione, e subito dopo rimuovi la produzione in base ad i. Mi sembra il modo più semplice, anche perchè se devi convertire una grammatica monotona, dovresti convertire tutte le produzioni di quel tipo.
(voglio dire un'altra cosa: che succede se diamo in pasto al programma una grammatica CF che ha le parti sinistre minori di quelle destre? ecco perchè come dicevo nell'altro topic, non basta controllare che sia <= ).

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

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