El corazón de cualquier idioma es el engarce y compilador, el compilador que convierte el código fuente en intermediario, muy cerca del código de máquina, código. A partir de este punto, los enlazadores se utilizan para adjuntarlo a otros binarios, como bibliotecas, etc. Una vez que los binarios están vinculados a todas las piezas lógicas, se convierten en un archivo ejecutable en código máquina (o código intermediario traducible como lo es con .NET/Java)
Lo que más se traduce del inglés "humano" ocurre en el compilador, y hay excelentes artículos sobre cómo se hace esto ... pero a la mayoría de esto es en el ámbito de lo sobrenatural, como las habilidades organizativas requeridas para escribir un compilador de trabajo son inmensos.
Puede ver los tipos de traducciones de nivel superficial y ver de cerca cómo funcionan los compiladores mirando las definiciones de lenguaje ("The C++ Programming Language" de Bjarne Stroustrup, "The C# Programming Language" de Microsoft Press), donde tanto los apéndices y salpicados son piezas léxicas, o reglas que el compilador utilizará para traducir sus palabras en código máquina de una manera muy lógica.
Le recomiendo leer la definición de idioma de su lenguaje de programación favorito si desea comprender más, también el artículo de wikipedia sobre compiladores le dará una comprensión más amplia.
Gracias a todos por tales respuestas rápidas. Un curso de diseño de compiladores es lo que necesito, supongo. Pero, me preguntaba/curré cómo pueden responder tan rápido, me refiero a uno o dos minutos, lo cual es muy sorprendente. –
Todos estamos muriendo por puntos de reputación. ¡Vámonos, por favor! :-) –
@Norman: Soy nuevo en SO y no sé mucho sobre reputaciones. Tengo que revisar todo eso cuando sea libre. Supongo que estás feliz ahora. :) –