PDA

Visualizza la versione completa : [C]Parser


Luc@s
14-11-2003, 17:49
Quali sono le basi da sapere x costruire un parser di files???
Intendo tipo che se ho:


intero i;
se i 0
fai
questo
seno
quello


Il parser(in linea di comando) me lo trasformi in :


int i;
if (i == 0)
{
// questo
}else{
// quello
}


insomma un parser x linguaggi di scripting.




Tnk 20000000000

alexmaz
14-11-2003, 23:39
Le basi per costruire un parser sono:

Automi a stato finiti deterministici e non deterministici, espressioni regolari per l'analizzatore lessicale (legge il testo, lo divide in token e passa i token al parser)

Grammatiche libere dal contesto, linguaggi liberi da contesto e PDA (pushdown automaton) e algoritmi di parsing ( LL e LR ) per l'analizzatore sintattico, il parser vero e proprio.

Se hai la grammatica adatta, puoi usare Yacc/Bison per crerare automaticamente il parser, anche perch un parser LALR(1) (i pi usati al momento) non fattibile a mano :fagiano:


detto questo, l'esempio che hai fatto, pi che un parser un non chiaro tipo di traduttore :confused:

Loading