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
 dubbi su automa in c

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
falco_85 Inserito il - 09/06/2005 : 22:38:00
ho un pò di dubbi su questo automa,soprattutto per quanto riguarda la voce "cifre esadecimali"
Vorrei sapere se qualcuno di voi ha risolto questo esercizio e se mi potrebbe inviare il file.
Ecco qui la traccia:


Allegato: Prova di laboratorio del 11 gennaio 2005.rar
7,4 KB
20   U L T I M E    R I S P O S T E    (in alto le più recenti)
Kevin82 Inserito il - 21/06/2005 : 18:29:33
Citazione:
Messaggio inserito da falco_85

ho un pò di dubbi su questo automa,soprattutto per quanto riguarda la voce "cifre esadecimali"
Vorrei sapere se qualcuno di voi ha risolto questo esercizio e se mi potrebbe inviare il file.
Ecco qui la traccia:




ti posso dire che puoi tagliare la testa al toro inserendo la libreria (macro) ctype nell'intestazione del programma ed usare

if (isxdigit(s[i])) current_state=ec,,,,
isxdigit e tutte le altre sono riportate su la magior parte dei manuali

ciauz,.,.,.,.,.,.,.,.c injection


gym83s Inserito il - 21/06/2005 : 15:18:12
si infatti, mi ero confuso ehe he he
grazie cmq ciao
rel Inserito il - 19/06/2005 : 12:08:39
Il tuo errore era qui:

case F3:
current_state == POZZA;
break;

ovviamente non va == ma solo = perchè non è un confronto ma un'assegnazione. Ti sarà sfuggito.
In ogni caso questo è il codice corretto (avevi anche fatto un paio di altri errori, in quanto, se la traccia era questa:

Progettare il frammento di analizzatore lessicale (automa) responsabile del riconoscimento degli identificatori che iniziano per lettera, eventualmente continuano con misture qualunque di lettere e cifre, e terminano con un carattere di sottolineatura seguito da al più 2 cifre.

..dicendo eventualmente vuol dire che può anche non esserci, quindi q1 è già stato finale [e quindi stringhe del tipo 'a2s23sd' o 'aaaaa' sono anch'esse riconosciute])!
Cmq ti allego il file corretto [indentato un po' altrimenti era illegibile] e tra l'altro nel main ti ho sistemato il discorso dei parametri [se il file di input lo dichiari già tu non ha senso usare argc e argv[] ]
ciao


Allegato: 11.zip
1,07 KB
gym83s Inserito il - 18/06/2005 : 16:49:21
scusa reload ho problemi con questo automa per quanto riguarda la questione delle altre cose scritte dopo la stringa valida:

questo automa accetta stringhe del tipo:
lettera,alfanum,_
oppure
lettera,alfanum,_cifra
oppure
lettera,alfanum,_cifra,cifra

questo automa ha tre stati finali ed io all'ultimo ho messo come hai detto tu "current_state = POZZA" ma non mi funziona perchè me lo riconoce lo stesso se scrivo una cosa del tipo :

A5a5b_43aa

puoi vederlo tu? te lo posto tutto completo anke con il file txt ok?
grazie..

Allegato: 11032003_.rar
1,2 KB


rel Inserito il - 18/06/2005 : 00:49:13
Vai sul sito di mencar trovi tutto [gr x cs non potrà uscire all'esame perchè è un po' più complessa da implementare]
gym83s Inserito il - 17/06/2005 : 20:08:08
anche per quanto riguarda l'implementazione della funzione per stabilire se la grammatica è dipendente da contesto, se qualcuno le ha queste che ho elencato, le posti sul forum per favore...
thanks
gym83s Inserito il - 17/06/2005 : 11:44:59
ok ok ho fatto....
thanks

sapete se per caso nel grammar reader, c'è la possibilità che esca oltre cercare il simbolo iniziale,stabilire se libera o dipendente da contesto e lineare destra, qualcosa riguardo alle produzioni monotone o trasformazioni di produzioni monotone in contestuali o operazioni di concatenazione unione ecc???

se nel caso qualcuno sa come si fanno??


gym83s Inserito il - 17/06/2005 : 11:26:12
come faccio a saperlo con precisione???
dove sta scritto???
rel Inserito il - 16/06/2005 : 23:16:49
Qualcosa del genere:

int is_initsym(Grammar* g)
{
int i=0;

if (g->productions[0].left.word[0] == 'S')
return 1;
else
return 0;
}
gym83s Inserito il - 16/06/2005 : 20:41:24
ragà scusate anke se non è questo il posto giusto, nel grammar reader come faccio a poter controllare che il simbolo iniziale sia "S"??
scusate se lo chiedo qui ma non mi risponde nessuno nell'apposito spazio...siate magnanimi qui....

gym83s Inserito il - 16/06/2005 : 20:34:20
mmm in effetti....hai ragione....grazie tante!!!
rel Inserito il - 16/06/2005 : 17:27:46
ragazzi scusate, ho saputo che il prof. boccia all'esame se si verifica il fatto che, posto un'automa che riconosce stringhe ad esempio del tipo " /*ciao*/ "la stringa
" /*ciaociao*/sss " viene considerata valida.
Come faccio a fare in modo che l'analizzatore consideri come non validi e caratteri posti dopo la stringa valida?? penso di essermi spiegato bene e spero che qualcuno lo sappia fare....
ciao e grazie!


Ciao gym! Se leggevi un po' le discussioni del gruppo di linguaggi avresti già risolto.

ho risolto mrluglio, basta mettere nello stato finale
if (s[i] == '\0') current_state = F;


Non è necessario mettere if (s[i] == '\0')! Semplicemente [ammettendo che lo stato q3 ad esempio sia quello finale] fai:

case q3:
current_state = ERROR;

in modo che, qualsiasi simbolo viene letto oltre */, la stringa non è considerata valida!
Saluti
gym83s Inserito il - 16/06/2005 : 16:30:48
ok


Allegato: prove di automi 16 luglio 2004 e 11 gennaio 2005.rar
6,58 KB
mrluglio Inserito il - 16/06/2005 : 15:29:42
postami di nuovo la traccia....ce ne sono un pò sopra e nn so a quale ti riferisci.
gym83s Inserito il - 16/06/2005 : 14:03:02
ad esempio nella traccia dell' 11012005 l'automa va bene così com'è?
te lo posto (la traccia è già postata sopra) così mi dici se va bene così oppure no


Allegato: 11012005_.rar
1,32 KB
mrluglio Inserito il - 16/06/2005 : 12:24:05
Citazione:
Messaggio inserito da gym83s

ho risolto mrluglio, basta mettere nello stato finale
if (s[i] == '\0') current_state = F;
cmq il problema dei blank non l'ho ancora capito...come mi devo comportare???



allora:
la cosa dello stato finale = '\0' non mi è troppo chiara...
secondo me dovresti rifare il programma seguendo passo passo quell'automa... cmq se ti funziona...meglio così.
per il blank: se quello è l'automa riconoscitore del commento allora lo spazio va trattato come un normale carattere...
poi...dipende dalla traccia.... se nella traccia dice che i possibili caratteri sono alfanumerici allora gli spazi nn sono ammessi...
se posti la traccia posso darti conferma.
ciao.
gym83s Inserito il - 16/06/2005 : 11:22:32
ho risolto mrluglio, basta mettere nello stato finale
if (s[i] == '\0') current_state = F;
cmq il problema dei blank non l'ho ancora capito...come mi devo comportare???
gym83s Inserito il - 16/06/2005 : 10:55:51
capisco ma allora, il vettore che ho postato precedentemente... quello 23072002, come va modificato?(parlo del codice).
potresti dargli un'occhiata??
please...

e poi...un'altra cosa,come ci si comporta nei confronti dei blank? bisogna considerarli validi o no?
ad esempio:
/*cia o*/ è valido o no??
grazie
mrluglio Inserito il - 16/06/2005 : 10:25:51
Citazione:
Messaggio inserito da gym83s

mrluglio forse non ho spiegato bene io il problema, io volevo sapere se c'è un comando o un ciclo particolare che mi faccia considerare come non valide le stringhe che hanno la parte valida dell'automa più altre lettere aggiunte; non penso che si debba in quei casi ridisegnare l'automa o altro...poi non so....
fammi sapere.CIAO




Nessun comando!
Per considerare come non valide le stringhe in più alla parte valida devi imporre il giusto stato finale. Punto.
L'automa che ti ho disegnato fa esattamente questo.
legge tutto fino a */. Ciò che viene dopo è errato.
Se nn ti ho risposto...allora non ho capito cosa cerchi!
gym83s Inserito il - 16/06/2005 : 09:53:52
mrluglio forse non ho spiegato bene io il problema, io volevo sapere se c'è un comando o un ciclo particolare che mi faccia considerare come non valide le stringhe che hanno la parte valida dell'automa più altre lettere aggiunte; non penso che si debba in quei casi ridisegnare l'automa o altro...poi non so....
fammi sapere.CIAO

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

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