Quiero saber cómo se convierte un lenguaje de alto nivel en lenguaje de máquina.
Es posible que desee comprobar esto:
¿Cómo convierte un compilador los lenguajes de programación de alto nivel en ensamblador? ¿Cómo se traducen los idiomas y se optimiza el código?
Si lo realiza un compilador, ¿en qué idioma está escrito el compilador?
Deberías leer sobre Bootstrapping.
Bootstrapping un idioma
¿Cómo funciona bootstrapping para gcc?
http://en.wikipedia.org/wiki/Boo…
Básicamente, digamos que desea escribir un compilador para un nuevo idioma llamado Zampa, y desea arrancarlo, es decir, usar un compilador escrito en Zampa para ejecutar programas de Zampa.
Entonces, para poder ejecutar el compilador de Zampa, también necesita escribir un compilador para él. Este compilador está escrito en una abstracción de bajo nivel, principalmente en lenguaje C o ensamblador. Una vez que tenga este compilador de bajo nivel, puede construir un compilador en Zampa. Este compilador de Zampa a su vez compilará sus programas de Zampa. ¡Así compilamos programas de Zampa usando un compilador escrito en Zampa! Increíble, ¿no es así?
Considere el compilador Java creado para ejecutar programas Java
1. Escriba un compilador en C para ejecutar el compilador de Java.
2. Utilice el compilador escrito en C para compilar y ejecutar el compilador de Java.
3. Ejecute programas Java utilizando el compilador Java.
- Mi cachorro se emociona demasiado cada vez que yo o alguien llega a casa. Y ella está orinando por todo el lugar. ¿Cómo puedo controlar eso?
- He escuchado que incluso los italianos no obtienen buenos paquetes. ¿Es verdad?
- Fui atacado por un perro. ¿Tiene razón mi novio al llamarme irracional ahora que le tengo miedo a los perros?
- Me pagan en efectivo. ¿Eso invalida mi experiencia laboral para el programa Express Entry?
- Mi gato está hackeando muy fuerte pero no sale nada, ¿podrían ser bolas de pelo? ¿Cuál es una buena fórmula para las bolas de pelo?
Mira esto:
¿Cómo funciona el bootstrapping en el desarrollo del compilador?
Lea también sobre el proceso de arranque de sistemas operativos
Gracias a Jan Christian Meyer.