Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

Ideja za problem nalazenja identifikatora u fajlu

  • 1 odgovor
  • 2.162 pregleda

Najnovija ↓

Ideja za problem nalazenja identifikatora u fajlu 14.06.2007. u 23:13 · pre 235 meseci #1
Pozdrav svima!

Evo, mucim se sa jednim problemom, pa reko da okusam srecu na forumu.

Dakle, imamo text fajl i treba da ispisemo sortirani niz identifikatora (sortiran nerastuce po broju pojavljivanja), zajedno sa redovima na kojima se pojavljuju. Identifikator je niz slova, cifara i donjih crta koji ne pocinje cifrom. Svi ostali znakovi se smatraju znacima za razdvajanje identifikatora

Na primer, za fajl

Code:

Nesto Niz[10]
Klasa Instanca;
Instanca.Metoda(Najvazniji_Parametar_5);
// ============================
Bla
Bla
Bla 


treba ispisati


Code:

Bla 4 5 6
Instanca 2 3
Klasa 2
Nesto 1
Niz 1
Metoda 2
Najvazniji_Parametar_5 3


Priznajem, jos nemam dovoljno rutine, pa sve kao kroz maglu pretpostavljam da se koristi povezana lista, ciji su clanovi nesto tipa

Code:

struct abc {
     char * identifikator;
     int red[];
     int brojac;
};


pa da onda postepeno izdvajamo reci iz fajla i trazimo da li su vec u listi...itd...

Dobro bi mi dosla mala pomoc za ovo izdvajanje identifikatora iz fajla, a samo bih voleo da mi, ako je slucajno neko vec radio nesto slicno, kaze da li je to prava ideja, ili postoji neki drugi, laksi nacin.

P.S. Cisto informativno, da li se isplati uputiti se u STL, i da li znate neki dobar sajt ili knjigu za to?

Unapred hvala svima!

Pozz
Re: Ideja za problem nalazenja identifikatora u fajlu 17.06.2007. u 09:48 · pre 235 meseci #2
Treba da napravis leksicki analizator teksta. To je deo svih kompajlera. On uzima fajl, skenira ga i vraca listu "tokena". Tokeni su ovo sto ti zelis da prebrojavas. Pogledaj Lex, on se koristi da opises sta zelis da ti leks. analizator radi, pomocu skript jezika, a zatim ti on generise funkciju koja obavlja tu leksicku analizu. Vise imas na sajtu: http://dinosaur.compilertools.net/ , http://dinosaur.compilertools.net/lex/index.html.

Odavde mozes skinuti alat za kreiranje analizatora koji se zove flex i predstavlja implementaciju lex-a: http://www.simtel.net/pub/pd/51482.html .
Potpis
http://www.linkedin.com/in/radegm
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme