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
 Ogni maledetta domenica
 Nuova Discussione  Nuovo Sondaggio Nuovo Sondaggio
 Rispondi
 Versione Stampabile Bookmark this Topic Aggiungi Segnalibro
I seguenti utenti stanno leggendo questo Forum Qui c'è:
Autore Discussione Precedente Discussione Discussione Successiva  

JediKnight
Maestro Jedi

obi2


Regione: Puglia
Prov.: ba


Inserito il - 01/02/2004 : 16:05:51  Mostra Profilo  Visita l'Homepage di JediKnight Invia a JediKnight un Messaggio Privato  Rispondi Quotando
Allora,come detto nell'altro 3d, l'analisi sintattica mi funziona, ho problemi nell'analisi lessicale, e in particolare nell'uso del lookahead per non dover lasciare uno spazio tra i caratteri tipo (a+b) e non ( a + b )....Non so se l'idea sia giusta, ma il modello di uno scanner è pressochè uno,una serie di controlli if then e cicli,e cmq ho già detto che l'analisi funziona perfettamente lasciando almeno uno spazio tra i token ,quindi il probl è sicuramente nel gestire il lookahead ad ogni chiamata della gettoken..

Ciò che vorrei fare, è semplice:

Poichè la gettoken è chiamata dalle funzioni del parser, dovrebbe passarsi ogni volta la variabile globale "lookahead" in modo che ad ogni esame, si "ricordi" se ha letto un carattere in più, e se è così (lk!=0) mettere lk a 0 e non fare la getc.

In tal modo, dovrebbe servire al parser anche espressioni di tipo (a+b)
e non solo ( a + b )

ho provato perciò a mettere una variabile globale lk:

int lk=0; dichiarazioni

a dichiarare la gettoken con

void gettoken (FILE *src,struct token *tok,int *lk,int max)

e in tale procedura:

void gettoken (FILE *src,struct token *tok,int *lk,int max)
{
...........

if (trovato) {
lk=1; istr in gettoken che crea l'errore
................
}


Nella compilazione, ad lk=1 mi viene segnalato l'errore:

Cannot convert 'int' to 'int *' errore compilatore

-"La Paura è la via per il Lato Oscuro: essa conduce all'ira, l'ira all'odio, l'odio porta alla sofferenza..."

"Impara a distaccarti, da ciò che temi di perdere"

"Più buio si fa, la tempesta forza prende...temo, che nell'oscura nube dei Sith tutti, avvolti saremo!"

Antonio
Utente medio



Regione: Puglia
Prov.: Bari


Inserito il - 01/02/2004 : 16:24:15  Mostra Profilo  Visita l'Homepage di Antonio Invia a Antonio un Messaggio Privato  Rispondi Quotando
Ti da' errore perchè "lk" lo hai dichiarato "puntatore ad intero"; per questo motivo dovresti fare "*lk=1" e non "lk=1".
Torna all'inizio della Pagina
  Discussione Precedente Discussione Discussione Successiva  
 Nuova Discussione  Nuovo Sondaggio Nuovo Sondaggio
 Rispondi
 Versione Stampabile Bookmark this Topic Aggiungi Segnalibro
Vai a:
Forum by laureateci.it © 2002 - 2012 Laureateci Communications Torna all'inizio della Pagina
Il DB ha risposto in 0,18 secondi.

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