Domanda

Vorrei sapere come è il modo migliore per creare l'albero di sintassi.

È stato utile?

Soluzione 2

La risorsa standard Stack Overflow per imparare a scrivere compilatori e interpreti è Learning href="https://stackoverflow.com/questions/1669/learning-to-write-a-compiler">

Altri suggerimenti

Ecco spiegazione su sintassi alberi astratti (AST) dal progetto LLVM .

Teaser:

  

L'AST per un programma cattura il suo comportamento in modo che sia facile per le fasi successive del compilatore (ad esempio la generazione di codice) per interpretare. Noi fondamentalmente vogliamo un oggetto per ogni costrutto nella lingua, e l'AST dovremmo strettamente modellare la lingua.

Non è diverso da qualsiasi altro linguaggio, davvero. La differenza tra linguaggi interpretati e compilati è soprattutto nel backend, non il frontend. lingue specifiche possono avere esigenze di analisi specifiche, ma non è possibile effettuare un confronto significativo in analisi di tecnologie tra le due classi di linguaggi.

Non elencare un requisito lingua per il parser, quindi se C o C ++ è una possibilità, si dovrebbe iniziare cercando in yacc: http://en.wikipedia.org/wiki/Yacc

Yacc genera un parser C per la sintassi specifica. Iniziare con che potrebbe essere un po 'di lavoro in più, ma una volta che si ottiene la cosa e di laminazione, dovrebbe essere più facile da mantenere.

. Disclaimer: Ho solo usato yacc in un progetto ed è stato 10+ anni fa, così il vostro chilometraggio può variare

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top