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
 Automa riconoscitore

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
danandr Inserito il - 10/06/2004 : 09:10:41
Qualcuno ha svolto questo esercizio?

Costruire l'automa che riconosce identificatori che iniziano per lettera e siano seguiti da un numero qualunque di gruppi composti in maniera alternata da 2 cifre e 1 lettera

Se qualcuno l'ha svolto può scrivermi il frammento di linguaggio C?ho alcuni dubbi.
Grazie
20   U L T I M E    R I S P O S T E    (in alto le più recenti)
nicux Inserito il - 12/06/2004 : 16:30:54
Citazione:
Messaggio inserito da danandr

scusste,ho apero i file di nicux ma...come si leggono i file .igx ????



igx è un estensione proprietaria di iGraphics Pro, ma non ti serve perchè di ogni sorgente c'è la copia in pdf
danandr Inserito il - 12/06/2004 : 15:14:18
scusste,ho apero i file di nicux ma...come si leggono i file .igx ????
nicux Inserito il - 12/06/2004 : 12:52:00
gabri... ancora con sti
if if if if if ...
Gabri Inserito il - 12/06/2004 : 12:38:53
Riconosce lettere seguite da un gruppo qualcsiasi di 2 cifre e una lettera.

While (car!= EOF)
{ if (!lookahead) car=getc();
else lookahead =0;
if (isalpha (car) {word[i]=car;I++;car=getc();}
do{
if(isdigit(car){ word[i]=car;I++;car=getc();
if(isdigit(car){ word[i]=car;I++;car=getc();
if(isalpha(car) {word[i]=car;I++;car=getc();}
else printf(‘errore-richiesta lettera’);}
else printf(‘errore-richiesta cifra’);}
else {word[i]=’\0’;
lookahead=1;}
} while (!lookahead)}
nicux Inserito il - 12/06/2004 : 11:40:52
Citazione:
Messaggio inserito da fabbattista
Non sono cattivo come cathalle non volevo dire di non rompere. Solo di spostarci nell'altra discussione piu' attinente. Ma sei permaloso!

Una domanda sull'allegato. Forse mi sono perso qualcosa, ma l'automa non doveva riconoscere stringhe che iniziao con una lettera ed eventualmente sono seguite da gruppi ditre (lettere e cifre)? Nel tuo codice ho visto che si transita da Q1 a Q2 legendo il carattere di sottolineautura. Errore tuo o m sono perso qualche messaggio?

Invece quello che si trova nella sezione download è uno spettacolo. La documentazione che chiunque vorrebbe ricevere, un codice commentato e ben fatto. Dove lo hai trovato?



- no, non sono permaloso, ho uno humor un po' ermetico

- ops... con tutte queste discussioni sugli automi forse ho fatto confusione, cmq vale l'ultima cosa cioè la tecnica con cui disbrigare la pratica tiny-analisi lessicale...

- dove l'ho trovata????
però grazie dell'approvazione, è nella sez. download da un sacco di tempo, l'ho ceduta nella speranza che qualcuno la completasse (manca tutta la semantica, e la tabella dei simboli), ma da quello che vedo il dib sta via via ridimensionando le sue pretese... sigh
fabbattista Inserito il - 12/06/2004 : 10:18:52
Citazione:

per farmi perdonare da fabba (che in modo estremamente elegante mi ha esortato a non rompere...), voglio dare un mio modesto contributo alla causa:




Non sono cattivo come cathalle non volevo dire di non rompere. Solo di spostarci nell'altra discussione piu' attinente. Ma sei permaloso!

Una domanda sull'allegato. Forse mi sono perso qualcosa, ma l'automa non doveva riconoscere stringhe che iniziao con una lettera ed eventualmente sono seguite da gruppi ditre (lettere e cifre)? Nel tuo codice ho visto che si transita da Q1 a Q2 legendo il carattere di sottolineautura. Errore tuo o m sono perso qualche messaggio?

Invece quello che si trova nella sezione download è uno spettacolo. La documentazione che chiunque vorrebbe ricevere, un codice commentato e ben fatto. Dove lo hai trovato?
Cathàll Inserito il - 12/06/2004 : 01:56:31
Citazione:
Messaggio inserito da nicux
ciaux



Nicux, hai rotto.
nicux Inserito il - 12/06/2004 : 00:35:31
Citazione:
Messaggio inserito da fabbattista

Il tu dovreste darmelo tutti. In genere nei forum, nelle chat e simili si usa il tu.

In ogni caso, per non disturbare questa discussione che riguarda gli automi, nella discussione che ho attivato io, ma solo per poco tempo (poi spero ci siano domande inerenti il corso) possiamo chiacchierare del piu' e del meno.



per farmi perdonare da fabba (che in modo estremamente elegante mi ha esortato a non rompere...), voglio dare un mio modesto contributo alla causa:

Allegato: funz_automa.txt
2,41 KB

frammento di programma che implementa l'automa di cui sopra (fatto da me oggi per una amica a cui voglio bene), non ho provato a compilarlo quindi potrebbero esserci errori sintattici, ma quello che volevo evidenziare era la tecnica implementativa...

se invece volete fare i fighi e tentare di stupire i vostri esaminatori (non è facile riuscirci, però) potete scaricarvi lo zippone che trovate a questo indirizzo:
http://www.laureateci.it/forum/filelibrary.asp
alla voce "compilatore", autore "nicux" (sempre lui, quello che rompe!)

lì dentro trovate:
1)un FSA guidato da tabella (in cui ovviamente implemento la tabella guida, l'automa è simpatico perchè riconosce i numeri binari divisibili per tre)

2)un automa a pila (implementato pari pari) che data una stringa stampa tutte le produzioni a partire dall'assioma (simpatico e soprattutto atipico)

3)un bello scanner+parser(ricorsivo discendente) con gestione degli errori sintattici che analizza codice tiny html+ script tinyphp

4)documentazione di tutti i punti da 1 a 3

5)allegato in cui si mostra l'algoritmo per convertire un FSA in espressione regolare prendendo ad esempio l'FSA di cui sopra.


spero di essere stato utile e di aver pagato i proverbiali cocci.


ciaux


fabbattista Inserito il - 11/06/2004 : 21:32:29
Il tu dovreste darmelo tutti. In genere nei forum, nelle chat e simili si usa il tu.

In ogni caso, per non disturbare questa discussione che riguarda gli automi, nella discussione che ho attivato io, ma solo per poco tempo (poi spero ci siano domande inerenti il corso) possiamo chiacchierare del piu' e del meno.
nicux Inserito il - 11/06/2004 : 18:56:00
il risentimento non è nel mio vocabolario,
il tu era una metafora

ma pure io posso darti del tu?
fabbattista Inserito il - 11/06/2004 : 18:51:47
Ti chiedo scusa per la spinta, ma giuro che non è stata volontaria.

Anche se abbiamo perso, comunque non ci siamo ancora arresi.

Un piacere, almeno sul sito e in campo dammi del tu (meglio sempre comunque), se no poi Nicux si risente
nicux Inserito il - 11/06/2004 : 18:44:04
come sei diplomatico chila,
se ti avessi spinto io non mi avresti dato del lei .
Chilavert Inserito il - 11/06/2004 : 16:35:21
Citazione:
Messaggio inserito da fabbattista

Se vi interessano le tracce degli appelli precedenti, provate al sito http://valis.di.uniba.it

a sinistra seguite il link linguaggi di programmazione. Trovate gli appelli, le tracce e in futuro le dispense.



Grazie per le dritte...
...però prof, (ammesso che sia lei, anche se sembrerebbe così) me la pagherà per avermi spinto vicino alla rete durante l'ultima partita!
scherzo, però devo dire che non è niente male come calciatore!
fabbattista Inserito il - 11/06/2004 : 16:26:09
Se vi interessano le tracce degli appelli precedenti, provate al sito http://valis.di.uniba.it

a sinistra seguite il link linguaggi di programmazione. Trovate gli appelli, le tracce e in futuro le dispense.
Cathàll Inserito il - 11/06/2004 : 00:17:42
Citazione:
Messaggio inserito da danandr



Allora. La traccia non è proprio quella all'inizio, ti ho scritto che è molto simile. In genere variano i gruppetti di lettere e il modo in cui questi sono composti.

Per quanto riguarda il terminatore, fa sempre parte di tutte quelle cose che devi premettere tu, per semplificarti il compito di realizzazione. Scrivi qualcosa tipo "Aggiungiamo all'alfabeto di input anche il carattere #, che andrà ad indicare la fine dell'identificatore"

Infine, le variabili: Il fatto di farlo scritto invece che al laboratorio semplifica molto la cosa. Al massimo parla discorsivamente della "struct token" e scrivi come funziona la getchar() e dichiara soltanto le varabili strettamente necessarie (tipo CHAR).
Cathàll Inserito il - 11/06/2004 : 00:13:33
Citazione:
Messaggio inserito da danandr

ragazzi mi sapete dire se questo frammento di codice per il riconoscimento dei commeni sta bene?sto impazzendo per riuscire a trovarlo:



Senti, io modificherei la parte del ciclo
Dopo aver trovato /* io farei

[lo scrivo in pseudolinguaggio]

while (finecommento==0)
getchar
if char = "*"
getchar
if char = "/"
lookahead = 1 (ma non è indispensabile)
finecommento=1
R

Perchè finecommento funziona da sentinella. Inizia il ciclo in cui lui prende tutto ciò che c'è dentro, facendo attenzione solo alla combinazione */

Ma non ci metto la mano sul fuoco (Non mi va di andare a ricontrollare il mio codice )
danandr Inserito il - 10/06/2004 : 20:20:53
ve lo allego,forse ci capirete qualcosa di+

Allegato: Commenti.txt
1,06 KB
danandr Inserito il - 10/06/2004 : 20:18:29
ragazzi mi sapete dire se questo frammento di codice per il riconoscimento dei commeni sta bene?sto impazzendo per riuscire a trovarlo:
-------------------------------------------------------------------------------------
FineCommento=0; //Variabile che risulta vero se si arriva a fine commento,falsa
//altrimenti

if (car=='/')
{ if ((car=getc(FileSorgente))=='*')
{
while (!FineCommento)
{
while ((car=getc(FileSorgente))!='*');
while ((car=getc(FileSorgente))=='*');
if (car=='/')
{ lookahead=0; FineCommento=1; return; }
}
} else { printf("Errore: dopo '/' deve esserci '*' "); return 0; }
}
-----------------------------------------------------------------
Gabri Inserito il - 10/06/2004 : 17:22:09


io ho provato a fare questo esercizio secondo voi è giusto come l'ho svolto??????????sia il codice ma anche per quanto riguarda il"progetto" che non so come cavolo si fa....

fatemi sapere al piu presto se trovate degli errori perpiacere
Allegato: Nuovo Archivio WinRAR.rar
6,04 KB
danandr Inserito il - 10/06/2004 : 16:11:32
Cathall ti ringrazio molto per la tua disponibilità,sei stato molto kiaro.Usufruisco ancora un po' della tua disponibilità.
praticamente,da quanto mi fai capire,la tua traccia è quella che ho riportato all'inizio di questa discussione,nn te ne sei accorto?Ma se è quella,perchè hai parlato di termiantore (#) ?
Cmq,nel caso nn siano previsti terminatori nella traccia,puoi imporne tu uno?e quindi inserirlo nell'alfabeto di ingresso?
Dubbio:se nel mio alfabeto della traccia sopra pongo solo lettere e cifre,l'identificatore che deve finire con una lettera cosa deve trovare dopo?nn può trovare uno spazio perchè nn l'ho previsto nell'alfabeto?
Quando parli di sentinella,intendi per esempio l'espressione contenuta nella condizione del ciclo while?
Ultima domanda:hia dichiarato le variabili che hai utilizzato?per esempio car, lookahead, i, word ecc. ?
ti ringrazio ancora

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

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