Salve a tutti, da qualche tempo mi ronza in testa l'idea di scrivere un interprete per un linguaggio di programmazione. In realtà qualche anno fa ne feci uno ma era qualcosa di estremamente semplice (si trattava di una specie di linguaggio pseudo-compilato, in quanto il "compilatore" generava una sottospecie di linguaggio macchina che veniva interpretato da una macchina virtuale. erano quasi assenti controlli e annidamenti ). Adesso vorrei fare qualcosa di migliore, ma ho le idee davvero confuse:
1. per prima cosa mi serve un analizzatore lessicale per suddividere il codice in token (unica parte già fatta)
2. poi mi serve un analizzatore sintattico (parser) per capire se il codice rispetta la grammatica. e qui viene il problema: quali sono le idee di base per creare un parser? cercando un po' su internet vado sempre a finire in qualcosa di troppo teorico. per es. il parser deve creare l'albero sintattico, ma a cosa mi servirà realmente? per esempio perchè devo trasformare un'espressione aritmetica in un albero sintattico quando la potrei comodamente trasformare in notazione postfissa e poi valutarla?
queste erano solo alcune delle domande che ho. Qualcuno potrebbe indicarmi libri o qualsiasi altra cosa in italiano/inglese che potrebbe aiutarmi magari anche da un punto di vista più pratico che teorico?