Mi interessa scrivere un compilatore molto minimalista.Programmazione del compilatore: quali sono gli ingredienti più fondamentali?
Voglio scrivere un piccolo pezzo di software (in C/C++) che soddisfa i seguenti criteri:
- output in formato ELF (* nix)
- ingresso è un singolo file di testo
- C-come grammatica e la sintassi
- non linker
- senza preprocessore
- molto piccola (max. 1-2 KLOC)
caratteristiche dell'abbonamento lingua:
- nativi tipi di dati: char, int e galleggia
- array (per tutti i tipi di dati nativi)
- variabili
- strutture di controllo (if-else)
- funzioni
- loop (sarebbe bello)
- algebra semplice (div, aggiungere, sub, mul, espressioni booleane, bit-turno, etc.)
- asm inline (per le chiamate di sistema)
Qualcuno può dirmi come iniziare? Non so in che cosa consista un compilatore (almeno non nel senso che potrei iniziare direttamente dallo scaffale) e come programmarli. Grazie per le tue idee.
possibile duplicato di [Imparare a scrivere un compilatore] (http://stackoverflow.com/questions/1669/learning-to-write-a-compiler) – nawfal