Quale sarebbe il modo più semplice per creare un compilatore C per una CPU personalizzata, presumendo che io abbia già un assemblatore per questo?Come creare un compilatore C per CPU personalizzata?
Poiché un compilatore C genera un assembly, esiste un modo per definire solo bit e pezzi standard di codice assembly per i vari idiomi C, ricostruire il compilatore e quindi ottenere un cross-compilatore per l'hardware di destinazione?
Preferibilmente il compilatore stesso verrebbe scritto in C e creato come eseguibile nativo per Linux o Windows.
Si prega di notare: Sono non chiedendo come scrivere il compilatore stesso. Ho frequentato quel corso all'università, so di compilatori-compilatori generali, ecc. In questa situazione, mi piacerebbe solo configurare un quadro esistente se possibile. Non voglio modificare la lingua, voglio solo essere in grado di indirizzare un'architettura arbitraria. Se la risposta risulta essere "non funziona in questo modo", che le informazioni saranno utili a me stesso ea chiunque altro possa fare ipotesi simili.
Non esiste un requisito * fondamentale * che il compilatore produca assemblatore: è solo una pratica comune e conveniente. – dmckee
@dmckee - supponiamo che sia un requisito in questo caso. So che ci sono quelli in questa comunità che avrebbero una risposta per questo. Si prega di notare, la risposta per quello che sto chiedendo è * non * "andare a prendere un corso di scrittura del compilatore". – JustJeff
PS: Supponendo che tu abbia questa CPU personalizzata che è così nuova di zecca non hai nemmeno un compilatore per questo. Dov'è il * OS * che verrà da ??? Cosa intendi per "eseguibile nativo"? Nativo a * COSA *?!? – paulsm4