PDA

Visualizza la versione completa : [C++] Creazione di un parser


emi81
13-11-2006, 12:29
ho bisogno di realizzare un parser in c++.
Ovviamente non so da dove partire, per questo ho un paio di domande :

1) come faccio ad accedere ad un file che gli passo come parametro al mio parser ?

2) come faccio a muovermi di riga in riga e parola per parola?

3) come faccio a trovare all'interno del file la parola che cerco?

4) come posso creare un file di output su cui scrivere le informazioni trovate?

5) come posso scrivere sul file di output?


Grazie a tutti per l'aiuto!

XWolverineX
13-11-2006, 19:05
Per la domanda 1 e 5, se usi il C++ puoi utilizzare le classi ifstream e ofstream, per scrivere e leggere da file (sia ad accesso causale e sequenziale).

altrimenti puoi comunque ricorrere alle solite funzioni fopen, fwrite, fread per aprire, leggere e scrivere su file.

Samuele_70
13-11-2006, 19:42
La complessitÓ nel realizzare un parser dipende dal tipo di file che devi parsare (o parserare)
E' abbastanza facile con un normale file di inizializzazione, i classici .INI dove
sulla stessa riga trovi la parola chiave ed il valore separati da un '=', linea
preceduta dall'identificativo del blocco fra le parentesi []
Esempio :


[connect default]
; Commento ...
Access=NoAccess
...

In ambiente Windows puoi anche utilizzare le apposite API (benchŔ ormai obsolete)

Abbastanza pi¨ complesso Ŕ parsare un file XML o thml etcc.., dove ci sono vari TAGS
(di apertura e di chiusura di un blocco, ma anche singoli), spesso profondamente annidati
fra loro.
Tu che tipo di file devi parsare ?

Loading